Nono Martinez Alonso: Hi everyone, the following is a conversation on the Getting Simple podcast with Andy Payne.
Nono Martinez Alonso: So as you can see, we're testing video this time as well.
Nono Martinez Alonso: And I hope that you enjoy it.
Nono Martinez Alonso: Hey, it's Nono, and this is the Getting Simple Podcast.
Nono Martinez Alonso: I've met Andy for many years now, but we hadn't seen each other in person too much.
Nono Martinez Alonso: So, digging a bit on you, I see that you're, as I am, like a licensed architect.
Nono Martinez Alonso: And you also specialized in computational design.
Andy Payne: Yeah.
Nono Martinez Alonso: And you've had, I mean, you were at Harvard, so your thesis there, and maybe we can learn a bit more about what exactly you did.
Nono Martinez Alonso: And then later you've passed through Autodesk with the acquisition of Monolith.
Andy Payne: That's right.
Nono Martinez Alonso: Tesla.
Andy Payne: A little bit.
Nono Martinez Alonso: Contracting a bit.
Andy Payne: Cup of coffee at Tesla.
Nono Martinez Alonso: Yeah.
Nono Martinez Alonso: Proving ground.
Nono Martinez Alonso: And now Andy's working at McNeel.
Andy Payne: That's right.
Nono Martinez Alonso: Who are the people who develop both Rhino and Grasshopper 3D.
Nono Martinez Alonso: So, I also saw you have this Lyft Architects, right?
Nono Martinez Alonso: Is that like an architecture studio?
Nono Martinez Alonso: Is that still going?
Andy Payne: It was always sort of an outlet for me for sort of creative research.
Andy Payne: Back in the early 2000s, when I started it, it was sort of an outpost for the research that I was doing just on the side.
Andy Payne: So, I was working as a day, I was working as an architect at SOM and some other places.
Andy Payne: But then at night and on weekends, I was sort of exploring different avenues of research that I was interested in.
Andy Payne: And I would post stuff, mainly I started as a blog, but post stuff on my website that I started as a Lyft architect.
Andy Payne: So, it's not really a traditional architecture firm.
Andy Payne: I'm not really doing or looking necessarily right now for a whole lot of like built projects, but it is a vehicle where I can, you know, as I teach and things like that, you know, the money I get from teaching and stuff goes into that stuff.
Nono Martinez Alonso: Yeah, I think we can talk about teaching afterwards as well.
Nono Martinez Alonso: So, the first question would be like, why do you do what you do?
Andy Payne: I enjoy it.
Andy Payne: Why does anybody do what they do?
Andy Payne: Well, hopefully most of the people that enjoy what they do, they do it because of the passion that they have for it.
Andy Payne: For me, it's always been about a curiosity of learning.
Andy Payne: You know, I've always sort of been attracted to the computer and what can it do.
Andy Payne: I remember even in undergraduate, it wasn't the most computationally driven program necessarily back in the day, but I was always trying to push the boundary a little bit.
Andy Payne: I was even, I think my first 3D program was called Form Z, if you remember that program.
Andy Payne: And the renderings were fine.
Andy Payne: I tried to do the best I could with it, but I would look in magazines and things like that from other schools and just wonder how they did those renderings because I knew what I could do in Form Z and it wasn't that, like I kind of pushed Form Z to its limit at the time, and I couldn't do what these renderings were doing.
Andy Payne: So I was always sort of attracted to what other people are looking at, what are they doing and how are they doing it?
Andy Payne: And so how can I sort of participate in that conversation?
Andy Payne: And so that sort of led me to Columbia, which was doing a lot of that cutting edge back in the late 90s or even early 90s and then 2000s.
Andy Payne: And so that's sort of where my joy of computational design sort of took off because I was able to start learning some of those techniques while I was at school.
Nono Martinez Alonso: When was that?
Nono Martinez Alonso: So what year?
Andy Payne: So I graduated from undergraduate in 2002 and then went straight to Columbia.
Andy Payne: So 2002 to 2005.
Nono Martinez Alonso: I've been looking a bit also at the evolution of Grasshopper.
Nono Martinez Alonso: We were talking the other day about Grasshopper 2.0, but can you tell us a bit how Grasshopper turned from record history to explicit history to Grasshopper 0.0 something?
Nono Martinez Alonso: And what has been the evolution?
Nono Martinez Alonso: Or how did this visual...
Nono Martinez Alonso: Well, maybe you can kind of go even a bit farther back.
Andy Payne: It's like you're reading my mind because I was even gonna take a step back further.
Andy Payne: And as I was saying, while I was at Columbia, the two programs that they were really pushing at that time were 3D Max and Maya.
Andy Payne: And I tended to be on the 3D Max side, but I was really, you know, as typical just trying to explore and push where I could.
Andy Payne: And so I was looking at IK systems and things like that, but then I was able to realize that you could sort of make these really not efficient, but make these sliders and tie a slider to a property in the 3D Max panel back in 2005.
Andy Payne: And that was kind of new.
Andy Payne: But so I made these like little interfaces where I could drive parametrically things in the 3D Max view.
Andy Payne: And I didn't even start Rhino.
Andy Payne: I think that in that same year is when I actually tried Rhino for the first time and really liked it.
Andy Payne: But then when I saw this example of explicit history come out in, what was it?
Andy Payne: 2007, 2006-ish, I think, it totally clicked for me because I had already tried doing this stuff with 3D Max.
Andy Payne: But, and now this was a much more intuitive way.
Andy Payne: But in my brain, it just sort of was like, this is what I've been trying to do.
Andy Payne: And now I can do it so much easier and quicker.
Andy Payne: And so for me, my intro into explicit history and then what ended up becoming Grasshopper, Grasshopper 1, was this avenue that I'd been exploring through 3D Max and then realized there was this much more intuitive interface.
Andy Payne: But now that I could do those same things in Rhino and in Grasshopper.
Andy Payne: And so that was sort of my, and the other thing for me was that in my day job, I was doing a lot of rendering.
Andy Payne: That was sort of my intro out of school.
Andy Payne: I had done a lot of that in graduate school.
Andy Payne: And so I got kind of pushed into rendering pretty hard at my first jobs.
Andy Payne: And while I enjoyed it for a little while, it wasn't necessarily something I really wanted to do full time, you know, not to knock that a lot of people kind of go down that career path, but I ended up trying to do whatever I could to not do rendering.
Andy Payne: And then one of the really neat things about Grasshopper and Rhino, at least at the time, was that it was the anti-renderer.
Andy Payne: It only had the semi-transparent red color for all of the objects.
Andy Payne: You could control a little bit of the display stuff, but you didn't render at all.
Andy Payne: It was not about rendering.
Andy Payne: And so that also was appealing to me to jump into a program and really push it and not have to focus on the visualization aspect and only doing that.
Andy Payne: So then I was working for an architecture firm.
Andy Payne: I will talk about that project that I was mentioning just a minute ago, how I ended up getting into Grasshopper, or at least Explicit History was, I had worked at an architecture firm where we did a project where they coupled an architect with a chef.
Andy Payne: It was for an event called Slow Food Nation back in 2007, 2008.
Andy Payne: And again, I think Grasshopper at this point was still called Explicit History.
Andy Payne: It had only been out probably six months or something.
Andy Payne: And for this design, the architect had to design some sort of pavilion or pavilion, tasting pavilion for the chef to display their food.
Andy Payne: And we got coupled with a chef who specialized in pickling and pickles and chutney.
Andy Payne: So we realized kind of early on in talking with her that throughout the world, they pickle food in mason jars.
Andy Payne: So we really wanted to use that as the vehicle for the design of the project.
Andy Payne: And so we ended up designing this sort of undulated ceiling out of mason jar lids.
Andy Payne: So we suspended mason jar lids, like I think 3,000 mason jar lids at different heights to form like a very fluid kind of surface.
Andy Payne: And in order to do that, I used explicit history to coordinate all of the data, give me the links, output everything to Excel so that I could print out everything on a spreadsheet, hand it to the people, because we would end up having these big, we call them pickle parties, where people would come and help us measure each of the links and cut it.
Andy Payne: And so really for me, explicit history became really critical in the process of that managing information of the design and then outputting for the fabrication, even though it was sort of a manual fabrication process.
Andy Payne: And so a colleague of mine at CCA had seen that project in San Francisco and asked if I would do a workshop for his class in like around January.
Andy Payne: And I realized if I'm gonna try to teach a workshop, I need to know what the software does.
Andy Payne: And so I really started creating an outline for the workshop, and that ballooned into like a 40-page document.
Andy Payne: And so I was like, you know, I'll just publish this online.
Andy Payne: This was sort of the first iteration, or maybe it was even 70 pages, I can't remember, but that ended up becoming the first version of the Grasshopper Primer, and I just released it online.
Andy Payne: And then I teamed up with Raja Issa from McNeel, and we sort of added even more documentation, and that became sort of the larger version that is available, I think, still today.
Nono Martinez Alonso: Yeah, so that is a PDF document.
Nono Martinez Alonso: That is how I got it.
Nono Martinez Alonso: Like, maybe you can also print it.
Nono Martinez Alonso: That talks through all of the basics of what Grasshopper is, the interface, like how you can drag and drop nodes and start connecting them to a program.
Nono Martinez Alonso: So there was this concept of a recording button on the interface that would record the steps that you did in Rhino.
Nono Martinez Alonso: You can still do it.
Nono Martinez Alonso: Oh, you can still do it?
Andy Payne: Yeah, it's still embedded in there.
Nono Martinez Alonso: Okay, and the concept was like, it was tracing what you were doing, but the parameters that you had chosen, you could change, right?
Nono Martinez Alonso: And then David Drutton decided to make it more explicit, and that's why it changed to explicit history.
Nono Martinez Alonso: And then I think sometime later became Grasshopper.
Andy Payne: Yeah, I don't remember the exact timing.
Andy Payne: We should set up an interview with David to really get the background.
Nono Martinez Alonso: You should hook me up.
Andy Payne: I will, I can.
Andy Payne: But it was probably six months, eight months, maybe even a year that it was called, I think, explicit history, and then it ended up sort of becoming a more full-fledged plug-in that he started calling Grasshopper.
Nono Martinez Alonso: Cool, so that initially came, you had to install it separately, now it's shipped with Rhino.
Andy Payne: Yep, it used to be a standalone, or its own plug-in that you would download, and there's probably several people, early adopters who remember the early days of Grasshopper 1 development.
Andy Payne: It was a really exciting time because everything changed so quickly.
Andy Payne: Those people who know David Redden, he's kind of a tour de force from a programming side, and it seemed like he was issuing new updates daily or weekly, and that was kind of the fun of it, right?
Andy Payne: Seeing what was new, what he was adding.
Andy Payne: It was frustrating at times.
Andy Payne: I remember teaching a workshop, a large workshop in San Francisco, and right, literally the day before the workshop started, he introduced the concept of data trees, which if anybody's used Grasshopper in the audience, data trees are pretty critical, but also takes a little bit of mental comprehension to try to understand what data trees do and how they work.
Andy Payne: And so we all scrambled.
Andy Payne: The other workshop instructors were all trying to figure out how these data trees work so that we could obviously teach the rest of the participants.
Andy Payne: But it was an exciting time then, and it still is, but it had a really frenetic energy at the early days that I think was really compelling.
Nono Martinez Alonso: And if I'm not wrong, that was a one-person project, right?
Nono Martinez Alonso: It was mainly David?
Andy Payne: Pretty much, especially early on.
Andy Payne: Obviously there's been some contributors here or there, but even today, it's still the majority of his work.
Andy Payne: I've been doing some stuff recently, some contributions here and there, and there are certainly been a number of things that have been added that he necessarily wasn't involved.
Andy Payne: He's kind of, over the last several years, taken a step and really focused on Grasshopper 2.
Andy Payne: So a lot of the Grasshopper 1 development is now sort of, not necessarily not handled by him, but he sort of handed off some of that responsibility to other developers in the house so that he could focus on Grasshopper 2 development.
Andy Payne: And for those who aren't aware, Grasshopper 2 has been released.
Andy Payne: It's been out for about six months, but it's a complete rewrite from the ground up.
Andy Payne: So it's taken him several years, but the results are pretty compelling because everything's multi-threaded now.
Andy Payne: He's kind of overhauled the entire interface.
Andy Payne: And so it's a complete rewrite, and it's pretty exciting.
Nono Martinez Alonso: Yeah, I guess also I wanted to refer to the idiosyncratic nature of some of the controls and things.
Nono Martinez Alonso: It seems like he had a lot of fun building some of those custom.
Nono Martinez Alonso: It's beautiful also, right?
Nono Martinez Alonso: Like it has some controls that maybe you don't see on other places or that have a really interesting way of working.
Andy Payne: Yeah, you think he enjoys what he does, but he obviously enjoys really the user experience.
Andy Payne: And he spends a lot of time and craft trying to make the user experience as joyful as he can, I think, for the users.
Andy Payne: And that's really, I think, how Grasshopper has spread so much is that people do tend to enjoy working in it.
Andy Payne: They find little features here and there that not necessarily Easter eggs, and he doesn't hide them necessarily, but there's little things that you end up finding like, oh, I didn't know I could do that.
Andy Payne: That's neat.
Andy Payne: Like he added this thing or he'll add little words or just the way he actually praises things and presents things to users is pretty interesting, and I think that really goes a long way of having a joyful experience when you're using the program.
Nono Martinez Alonso: So one thing I'm curious about, you have developed your own plugins, right?
Nono Martinez Alonso: I've seen Firefly or I don't remember.
Nono Martinez Alonso: What was the other?
Andy Payne: There was a Monolith plugin, there's Firefly.
Andy Payne: For a brief time, I worked on Lunchbox ML when I was at the proving ground, so there was an ML machine learning plugin that I was working on, and now I'm working on some native tools in Grasshopper 1, but it's basically kind of like a plugin, right?
Andy Payne: You're developing a series of components that do something.
Nono Martinez Alonso: So how does it feel to...
Nono Martinez Alonso: You were more or less like a third-party developer adding plugins that people could opt in, but now how does it feel to be like a developer?
Nono Martinez Alonso: What you're putting there, it's gonna be available for everyone.
Andy Payne: Well, first of all, I think my background into making those plugins accelerated my onboarding with McNeel.
Andy Payne: I felt kind of day one.
Andy Payne: I knew what I was doing.
Andy Payne: I knew sort of how the codebase worked.
Andy Payne: I knew how Grasshopper worked.
Andy Payne: And so I have worked at other places where we're working on different technology stacks that I'm not as fluent in.
Andy Payne: And the learning curve to kind of get up to speed can take a little while.
Andy Payne: And so it was kind of refreshing to just kind of step in when I got hired and sort of be able to start contributing kind of really quickly.
Andy Payne: And yeah, it's been great.
Andy Payne: A lot of the stuff that we're working on now for Grasshopper 1, for Rhino 8, is probably long overdue, but I think is going to really change or enhance the way people work with it.
Andy Payne: Do you want me to explain a little bit about some of the new tools that we're working on?
Nono Martinez Alonso: Yeah, go ahead.
Andy Payne: Well, the short elevator pitch board, I guess, or some of the new tools that we've just released like within the last week or two is new expanded data types for Grasshopper.
Andy Payne: So, you know, if anybody's used Grasshopper 1 over the last 10 years, they're familiar with all the data types that we currently have, points and lines and curves and surfaces and bereps and meshes.
Andy Payne: You know, we use most of those common ones.
Andy Payne: There are even some ones we don't use often, like date time and, you know, matrices and things like that.
Andy Payne: But it's never had a concept of, like, native Rhino layers or even native Rhino materials or line types or hatches or annotations or still a bunch of data types that are native to Rhino that Grasshopper has no idea about or how to consume those or create those.
Andy Payne: So one of the things that we've been adding to Grasshopper 1 are these expanded data types, these new data types that now allow you to not only query, say, a document for these types, like a layer, right?
Andy Payne: A query for a layer just gives you all the layers that are currently in the document, and look at all of its attributes, right?
Andy Payne: An attribute being just a property that makes up that type.
Andy Payne: So a layer has a name, a display color, its visibility, things like that, line type.
Andy Payne: And so you can bring those into Grasshopper now and look at all of those attributes, but you can also create those attributes and create a new layer, bake it basically the same way you would bake geometry into the document.
Andy Payne: Now you bake a layer and it adds it to the layer table.
Andy Payne: Same thing with materials and line types and hatches.
Andy Payne: And so we're pretty excited about how this will hopefully help users be able to modify their workflow.
Andy Payne: But also I think there's gonna be some really interesting new tools that will continue to add that just expands on those capabilities.
Nono Martinez Alonso: So you've also been working on writing a computer, right?
Nono Martinez Alonso: Can you tell us a bit of what that is and what the work that you've been doing is?
Andy Payne: So Rhino Compute in a basic form is we were able to take all of Rhino and compile it into a DLL that can be run as an executable.
Andy Payne: So what that means is it's essentially, for lack of a better term, Rhino without a user interface.
Andy Payne: And so we were able to create a little server that is running Rhino in the background, and you can send an HTTP request to perform some sort of calculation.
Andy Payne: So anything that Rhino can do from a geometry calculation, and you know, all of Grasshopper, or sorry, Grasshopper and Rhino's geometry kernel is now exposed through Rhino Compute.
Andy Payne: And you can do that through, you can send requests to perform those calculations.
Andy Payne: One of the things we realized kind of early on is that we need a client to be able to talk to that server.
Andy Payne: And so we developed a component for Grasshopper called hops.
Andy Payne: And what that lets you do is essentially bundle up a Grasshopper file and send through hops.
Andy Payne: It'll send that file that you point it to, send that file as an HTTP request to the Rhino Compute server.
Andy Payne: It will do the calculation and then return the results.
Andy Payne: So that's the basics of it.
Andy Payne: When you install hops, it will then also install Rhino Compute and run a local server.
Andy Payne: So you can run it on your computer and do some debugging or testing locally without incurring any kind of expense or anything like that, it's free.
Andy Payne: And then once you get your workflow set up, however you're using hops to send information back and forth, you can then deploy Rhino Compute on a remote server, right?
Andy Payne: Somewhere, a virtual machine somewhere in the cloud.
Andy Payne: And then you can point hops to send those requests there.
Andy Payne: And so in that way, you can really start setting up a production environment.
Andy Payne: You can, if you have a lower grade machine for users, but you wanna do some simulation or some really highly intensive computational task, you could have a virtual machine that has a lot of RAM, a lot of CPU processing power, and send those requests to that machine to do that and sort of speed things up.
Andy Payne: I think one of the interesting use cases too, is that because it takes HTTP requests, you can talk to it freely from any client that can send an HTTP request.
Andy Payne: So we're seeing lots of people create web interfaces or application, iOS apps and things like that, that send these requests to a backend server that's running Rhino.
Andy Payne: And then come back with the results and then show it on the display.
Andy Payne: So like web configurators and things like that for furniture, jewelry.
Andy Payne: We're seeing a lot of really interesting use cases that people who are interested in making a really simplified user interface, but something that you can give to, say, non-technical people or designers and still wanna be able to view, analysis some results or see the changes that they're making on their configurator, they can still see that result.
Andy Payne: And then, you know, export the geometry to some sort of fabrication or anything like that.
Andy Payne: So it opens up a lot of possibilities.
Nono Martinez Alonso: Because I know that much of the core of Rhino and Grasshopper is being ported to.NET.
Nono Martinez Alonso: I don't know if it's seven, right?
Nono Martinez Alonso: The new-
Nono Martinez Alonso: Six, okay.
Nono Martinez Alonso: Are there any plans in the future to maybe support other architectures that are not Windows in any of the capabilities?
Nono Martinez Alonso: Because that probably, you know, that would open doors in terms of maybe having a Linux instance that might be cheaper to run some things, or in terms of relying on Windows and having, because having a Windows instance on the cloud is, I guess, is more expensive, right, as well?
Andy Payne: I don't know.
Andy Payne: I haven't really tried to price out Linux VMs or anything like that.
Andy Payne: I don't know if it's more expensive or not.
Andy Payne: I can tell, well, that's probably a little bit above my pay grade in making those decisions.
Andy Payne: I don't think there's a whole lot of drive to make Rhino Compute necessarily run on a Linux machine.
Andy Payne: Rhino has historically, well, historically, it's only been a Windows program, but we've made a big push over the last five years to really make it cross-compatible with Mac OS.
Andy Payne: And so we do have a Mac version of Rhino, but from a Rhino Compute perspective at the moment, it's really focused on Windows-based machines.
Andy Payne: So usually running Windows Server or things like that.
Andy Payne: But in my experience in setting up these virtual machines through AWS or Azure, really anywhere, they can be fairly reasonable and you can always start small, right?
Andy Payne: One of the other things we've really tried to do with the way we've configured Rhino Compute is we've got sort of a two-layer architecture.
Andy Payne: And I think I was trying to explain this the other day to you.
Andy Payne: The way we, when you deploy it in a production environment, as I said, when you run it locally, it's free.
Andy Payne: You know, you pay for your license, but other than that, you know, you can run it and hit hops and then compute all day long.
Andy Payne: When you deploy it in a production environment, which is gonna be running Windows Server, we have a little bit different of a licensing model.
Andy Payne: It's what we call core hour billing.
Andy Payne: And it's essentially the number of cores on that machine times the number of hours that you're using.
Andy Payne: And so you can kind of start small.
Andy Payne: You know, you could configure a really small VM, see if your users, you know, are using it for testing, deployment.
Andy Payne: But if you start to have a lot more traffic and it's starting to slow down, you can always, you know, increase the number of cores or the machine configuration.
Andy Payne: But what we've tried with this two-layer architecture, we have a parent project sort of that we're calling random compute.
Andy Payne: And then that stays up when you're in a production environment.
Andy Payne: That stays up and listens all the time for incoming requests.
Andy Payne: When it receives a request, it then looks to see if there are any child processes that are running.
Andy Payne: The child processes, meaning it's called compute geometry, and that's the thing that's Rhino, essentially.
Andy Payne: That's the thing that's running Rhino and Grasshopper and does all the calculations.
Andy Payne: It isn't until those get spun up or created that your core hour billing actually starts to take effect.
Andy Payne: And if, let's say, for example, your users are using your web app or something like that, sending a request, and they then are done, and it doesn't get any requests for a significant amount of time, the parent application will start to shut all of those child processes down.
Andy Payne: So you're not getting billed over and over.
Andy Payne: So we have a timeout.
Andy Payne: Right now, the default is an hour, but you can kind of set it for whatever you want.
Andy Payne: And so it will start to shut those child processes down.
Andy Payne: You're not getting billed.
Andy Payne: And then six hours later, somebody sends another request.
Andy Payne: It checks to see and will handle all the spinning back up and getting the calculation done.
Andy Payne: And so we have tried to add a number of features to Rhino Compute to make it user-friendly, right?
Andy Payne: You're still going to have to pay Amazon or Azure for your virtual machine costs and things like that.
Andy Payne: And that's not something we can control.
Andy Payne: But from our side, we've really tried to make it reasonable for users.
Nono Martinez Alonso: That's really nice.
Nono Martinez Alonso: I mean, I don't have any use case at the moment, but I can imagine in the past, if I was building applications that you can build, that even right now, a React application maybe, and just not for free, but like get geometry operations that are really complex in any app in a few minutes, right?
Nono Martinez Alonso: That's something that will take you ages, or you have to get like a kernel or some other geometry feature that allows you to do that.
Nono Martinez Alonso: So maybe going back to Grasshopper and what we were talking about, I was curious that in 2011, you already had an intro to Grasshopper course or some videos online, right?
Nono Martinez Alonso: I haven't been able to trace it because the links are broken.
Nono Martinez Alonso: But I wanted to know what moved you to teaching?
Nono Martinez Alonso: Do you have a vocation for that?
Nono Martinez Alonso: An interest?
Nono Martinez Alonso: Are you still doing it?
Nono Martinez Alonso: What do you get out of it?
Andy Payne: Yeah, that's a good question.
Andy Payne: Yeah, I've always enjoyed teaching.
Andy Payne: And Grasshopper was really a nice avenue for me, especially early on, to explore that.
Andy Payne: As I mentioned, my first workshop was that one that I taught at CCA that was asking about, like, how did you use it for this one project?
Andy Payne: But also, like, what is it?
Andy Payne: And as I said, early days, there was a lot of energy, a lot of people that were getting really excited about Grasshopper and what it could do.
Andy Payne: And they were looking for people to come and teach them.
Andy Payne: There weren't a lot of classes that universities taught specifically at the time that were really looking at that.
Andy Payne: And so a lot of times, people would just hire me or others to come and teach a workshop, two day, one day, three day kind of thing, and teach their students about how to use the tools.
Andy Payne: And so for me, that actually, for several years, I did that quite often.
Andy Payne: And it was also a great way to kind of see the country in different universities, did some in Europe and even Canada and things like that.
Andy Payne: So it was a really great experience.
Andy Payne: I learned a lot, really enjoyed myself.
Andy Payne: And then I ended up going back to school and still continue to do that.
Andy Payne: As I've gotten older and have a family now, the traveling on that side gets a little bit more difficult, but also the request has sort of dropped down, I think, because A, it's a much more mature technology.
Andy Payne: People kind of understand it now.
Andy Payne: There's a lot more resources online.
Andy Payne: And also universities are teaching their own classes on it now.
Andy Payne: There's plenty of instructors now that know how to use it and can teach it.
Andy Payne: So some of that's gone down.
Andy Payne: But I'm still doing quite a bit.
Andy Payne: We're still doing a number of workshops.
Andy Payne: Now I do it through Mcneel, right?
Andy Payne: But we get a lot of requests for at conferences and things like that to teach a workshop on Rhino Compute and hops and how does that work?
Andy Payne: Because we're still developing things that are kind of new.
Andy Payne: And I think it's the new stuff that people are like, I don't understand how this works.
Andy Payne: And particularly with Rhino Compute, it's a little bit different of a model, right?
Andy Payne: You kind of have to have a little bit better understanding of like web technologies and HTTP requests and stuff like that and servers.
Andy Payne: So it's not your traditional architect or designer or things like that.
Andy Payne: That's where I'm coming from as an architect.
Andy Payne: Don't really have that kind of experiences, in my opinion.
Andy Payne: You know, all of the standard Grasshopper stuff, while it might be daunting at first, it's relatively straightforward in terms of learning.
Andy Payne: But some of this other stuff, it takes a little bit to actually understand.
Andy Payne: And so I still enjoy doing the teaching and I'm still getting an opportunity to do it a few times a year.
Nono Martinez Alonso: How do you think the visual programming environment or graphical user interface in Grasshopper and other visual programming environments helps students?
Nono Martinez Alonso: Because I come, it's kind of like an opinionated question.
Nono Martinez Alonso: I have seen a lot of debate on whether starting with visual programming might impede in some way people to think on traditional programming later.
Nono Martinez Alonso: Do you have any opinions there in whether it's better to...
Andy Payne: Well, I think it's an interesting question.
Andy Payne: If you ask different people, and I've seen David Rutten's response, because he's sort of the one responsible for a lot of the excitement in visual programming.
Andy Payne: Visual programming is programming to a degree, I think.
Andy Payne: Even though you're not writing text, you're not writing code and things like that, you're still having to figure out how to think about a problem, break it down, and just determine how you're going to actually solve the problem by breaking it down into a series of steps and an algorithm.
Andy Payne: And so to me, I still think visual programming is really important and is totally a valid way of thinking about programming.
Andy Payne: I also think it's a bit of a gateway drug, because as soon as you start doing it, you want to start to push its limits and see where things aren't there yet.
Andy Payne: At least that was the way for me.
Andy Payne: And that's how I ended up starting to write my own plugins, my own components.
Andy Payne: It was because there wasn't something that automatically already did the thing that I wanted it to do.
Andy Payne: And so in that way, it was sort of the inspiration to start to learn how to program, how to write text-based, serialized code.
Andy Payne: Because I was comfortable in Grasshopper, I could still develop in that sort of visual programming environment, but now I'm starting to get behind the scenes a little bit.
Andy Payne: And one of the things I think is kind of interesting in that question that I did with Firefly, but I think it could really be taken a little bit further for those listening.
Andy Payne: Firefly is a plugin that sort of connects external microcontrollers like an Arduino, its sensors and servos and actuators and things like that to Grasshopper and to Rhino eventually.
Andy Payne: So what that allows you to do is take real-time sensor information, for example, a light sensor and use that as an input to control your 3D model.
Andy Payne: And so you could be designing, let's say you're designing a louver system, right, for a facade that is reactive to changes in light.
Andy Payne: And you want to demo that for a client or something like that.
Andy Payne: You can now have a real-time sensor on the table or even mount it to a wall that is picking up the amount of light.
Andy Payne: And in real-time, you're seeing your 3D geometry, because it's coupled to Grasshopper, you get to see your 3D geometry changing in real-time.
Andy Payne: You can then take that even further and take those angles, right, if you're rotating a louver system, it's going to be changing angles and things like that, and send that out back to the microcontroller to control a servo motor.
Andy Payne: So you could have a little model of your louver system, for example, that's now rotating and changing as you change the light sensor, right, the light values.
Andy Payne: And so it's pretty interesting, I think.
Andy Payne: One of the things I really got excited about early on was this prototyping environment.
Andy Payne: I've always enjoyed working with my hands and building things, and it was a great way to sort of mix the physical world and the digital world.
Andy Payne: One of the downsides of the way Firefly works is that it's constantly sending serial data back and forth over the serial port.
Andy Payne: So that's how it reads the sensor data and sends it over to Grasshopper and does something.
Andy Payne: It gets that value for the angle for the louver and sends that back over the serial port for the motor.
Andy Payne: So it's sending stuff back and forth.
Andy Payne: But what that means is you're kind of always connected to your laptop and Grasshopper running.
Andy Payne: Let's say you use Firefly to prototype your thing.
Andy Payne: You've got it all dialed in.
Andy Payne: You're using some remapping and some smoothing and all those different components to get it really where you like it.
Andy Payne: But now you want it to run autonomously.
Andy Payne: And to do that, you have to essentially convert your Grasshopper definition into code that can be uploaded to the Arduino, right?
Andy Payne: Text-based code that then gets compiled and uploaded in machine language onto the Arduino.
Andy Payne: And that's been difficult for a lot of people.
Andy Payne: So while I was at the GSE working with Penn, we wrote a code generator that would essentially recursively look upstream in your Grasshopper definition and write Arduino compatible code from your Grasshopper definition.
Andy Payne: So it sort of takes your visual representation and serializes it back into a textual representation.
Andy Payne: And what I think is kind of interesting about that is it also lets you look under the hood a little bit, right?
Andy Payne: It doesn't do it for all components in Grasshopper.
Andy Payne: Obviously an Arduino doesn't know how to respond to a curve, but if you want to learn how smoothing works or remapping a number into a different number set, all of these things, you can now see how to write that code in real time.
Andy Payne: So it lets you look under the hood.
Andy Payne: Grasshopper is a bit of a black box.
Andy Payne: You just see the visual component, but you don't know how under the hood it's working.
Andy Payne: And so I think from a teaching perspective and learning how to program, it's kind of an interesting tool in that it also lets you kind of see how, if I have this visual programming, how can I actually convert that into a text-based representation and do that.
Nono Martinez Alonso: I think that as long as from the beginning the limitations of the environment are explained, for example, looping or like as you say in real time, thing or asynchronous calls or things that are really common nowadays in programming environments are harder in the visual programming language.
Nono Martinez Alonso: And many times we just try to force it there, but at some point you can say this is so much easier if you just get out for a bit of Grasshopper and do this in this other system.
Nono Martinez Alonso: But yeah, I just wanted to hear your thoughts, so that's really cool.
Nono Martinez Alonso: I would be interested on learning about your take on open source and releasing tools for free or closed source.
Andy Payne: I'm a big fan of giving away things for free, but I also haven't necessarily exposed a lot of my code as open source.
Andy Payne: Part of that is because a lot of the stuff that I did early on was really poorly coded, and I was kind of embarrassed to put it out there.
Andy Payne: You know, I actually started writing Firefly with Jason Kelly Johnson, who's another professor out in San Francisco.
Andy Payne: But I started writing it as a way to learn how to code.
Andy Payne: You know, I didn't really have a whole lot of programming background back when I was first doing this, but I was interested, and so I started in vb.net at the time.
Andy Payne: And so I started, I created this library of components, and then as I started developing more, I sort of made different projects and switched to C Sharp and other things.
Andy Payne: But in fact, I'm very embarrassed because now I look back at the code.
Andy Payne: I've been thinking about writing a second version of Firefly, a rewrite, and it would probably be a ground up because the existing code base is just a mess.
Andy Payne: Definitely of the opinion that I want to help the community as much as I can.
Andy Payne: And so, you know, the primer was always given away for free.
Andy Payne: Firefly is given away for free.
Andy Payne: Monolith was always a free application.
Andy Payne: And so, I also try to take the stance of how do you monetize this stuff.
Andy Payne: By doing it for free and giving it away, you sort of start to establish a, you know, a profile, a name, whatever you want to call it, for yourself.
Andy Payne: And then you start getting these more excitement and invitations to come teach a workshop.
Andy Payne: And from that, you know, those networking connections and things like that.
Andy Payne: And so, taking the long view for me has sort of helped sort of establish myself and make those connections where had I charged, I probably would have had a lot less connections to people.
Andy Payne: Really the only thing I've tried to monetize, and it's really, it was, I made a little hardware shield for Firefly, which just a shield for those, again, who aren't aware, it's a little thing that you can just plug in and it already has everything set up.
Andy Payne: So this little shield, you just plug it into the Arduino and it has a light sensor and a little joystick and some sliders and some buttons and some LEDs and it can control motors.
Andy Payne: So it's like a full-fledged sort of prototyping thing that you don't have to wire up your own circuit to do.
Andy Payne: You could just plug it in and start and go.
Andy Payne: And because of that's hardware, because I have to pay for, you know, all of those, you know, components, I do charge for that because that's a product.
Andy Payne: But that's a slightly different thing than, you know, the software and everything like that where I can control that.
Andy Payne: And it's really just time versus any kind of monetary expense from my end.
Nono Martinez Alonso: Yeah, I think I end up taking a similar approach.
Nono Martinez Alonso: Like I end up open sourcing a lot of the code, a lot of the things I do, also thinking like nobody's going to spend the time trying to understand it, right?
Nono Martinez Alonso: It ends up being like some people find certain things useful at some moments in time because they're working on similar things and they even sometimes comment that that's useful.
Nono Martinez Alonso: That's really rewarding for me.
Nono Martinez Alonso: I think also charging certain things, unless you have a super big audience that you know who you're aiming at, it reduces adoption and readership, let's say.
Nono Martinez Alonso: Or if I were to put all these podcast episodes that I'm trying to let people know that this exists and build an audience, I'll be like putting a barrier for a paywall that actually ends up being worse for me.
Nono Martinez Alonso: So I also think I play the long run game.
Nono Martinez Alonso: And I think that's why in most podcasts or most channels, the motto is advertisement, because it lets people watch it for free or listen for free.
Nono Martinez Alonso: But then there's another way of monetizing.
Andy Payne: We need to advertise it on code, on GitHub, get advertisers.
Nono Martinez Alonso: Yeah, that's right.
Nono Martinez Alonso: Like comments.
Nono Martinez Alonso: That's a great idea.
Nono Martinez Alonso: Like every open source...
Andy Payne: You get an advertise?
Nono Martinez Alonso: Yeah, or between every code comment you put, like, listen to Getting Simple podcast.
Nono Martinez Alonso: I mean, I never thought about that.
Nono Martinez Alonso: Actually, I have a content management system, and when you look for the code, you see the view, the source of the web page at the top says, like, Hi, it's Nono.
Nono Martinez Alonso: These are built with our real photos.
Nono Martinez Alonso: So at least for developers, it might be a tool for discoverability.
Andy Payne: But coming back to the question, the question I did want to point out that because I've been working on Rhino Compute, and again, this was sort of done, but the decision to open source compute was made long before I started.
Andy Payne: So I joined McNeel in October of last year, but it's an open source product.
Andy Payne: So anybody can download and look at the source.
Andy Payne: So I am contributing to that.
Andy Payne: But, you know, download, look at the source and even make, you know, commits and pull requests to make enhancements.
Andy Payne: And we've actually had some really...
Andy Payne: It's not often, but we've had a couple of users who have added some pull requests that really have been really well thought out and well documented pull requests.
Andy Payne: And so we've been able to include those changes in some of the code.
Nono Martinez Alonso: Yeah, I'm also curious because I see that the Grasshopper forum has been really active and you've also been an active user throughout the years.
Nono Martinez Alonso: How do you engage with users today?
Andy Payne: That's a good question.
Andy Payne: So early days, Grasshopper used to be a website that was hosted that McNeel hosted by Anning in ING.
Andy Payne: And that was an interesting forum at the time.
Andy Payne: It got a lot of traffic.
Andy Payne: It wasn't necessarily very well organized, but it was also kind of interesting how they presented images and videos and things like that.
Andy Payne: It was very easy to see new updates from people.
Andy Payne: If I did a new example where I did something with a new sensor or something like that, I could post a video there, and people could immediately see it and comment.
Andy Payne: Daniel Piker was a big hit.
Andy Payne: Obviously, he's the author of a physics plugin called Kangaroo, but he would always do these really compelling videos, and they would just immediately blow people's minds.
Andy Payne: But like I said, the actual answering questions on that platform was a little bit difficult.
Andy Payne: So the McNeel team decided to switch to discourse forum, and I know they've been really trying for the last several years to kind of build that community up.
Andy Payne: So the Ning one had a lot of traffic, but it wasn't necessarily a great forum to figure out how to ask questions.
Andy Payne: Discourse is much more like a stack overflow model.
Andy Payne: It's much easier to access and answer questions and things like that, find solutions.
Andy Payne: But I think still, to this day, we could do a better job at being able to showcase new people's work and videos and things like that.
Andy Payne: We're working on that.
Andy Payne: We're trying.
Andy Payne: But it is still a very active forum.
Andy Payne: I think it's getting better.
Andy Payne: So for us, when I joined the McNeel team, one of the things I realized and one of the, you know, that they kind of explain is that they don't traditionally have, they don't follow the same model that many software teams do where they have sales teams and things like that.
Andy Payne: They go out and try to sell licenses.
Andy Payne: We have almost no sales team, really.
Andy Payne: I hope the salespeople don't.
Andy Payne: We don't really have salespeople.
Andy Payne: We rely on customer service to, you know, generate enthusiasm and get people to eventually buy a license.
Andy Payne: So we're all encouraged, developers, technical support people, everybody in the company is encouraged to participate on the forum and talk to users and find out what they're lacking, what they need, what features, because that's how we determine what to develop.
Andy Payne: The interesting part, I think, too, having worked at Autodesk and at McNeel, is that there aren't really many product managers.
Andy Payne: We don't have any product managers.
Andy Payne: We don't have people that are above me that are saying, you got to work on this today and then work on this tomorrow, things like that.
Andy Payne: I have had that in the past, and you're probably more familiar with it than I am.
Andy Payne: For us, they hire people who are sort of self-motivated to find what their interest is in and continue to develop those.
Andy Payne: And so one way we do that is by interacting with our customers on the forum.
Andy Payne: And so really, it's kind of up to each user.
Andy Payne: We have individual projects that we're working on and so on and so forth, but we really try to prioritize customer service because that's our way in.
Andy Payne: It helps us know what to focus on, and it also helps spread the word, hopefully, that McNeel cares about its customers and has really good customer service and hopefully, that eventually filters out to people wanting to buy the software.
Nono Martinez Alonso: Do you have a Discord channel?
Andy Payne: I don't.
Nono Martinez Alonso: It seems like many new platforms, I myself, directly go into Discord and more real-time interaction instead of going for forums, even though I think the structure of a forum, it's like people are informally creating a post that is going to stay there and many other people are going to come through Google and search the same thing, whereas in Discord, I think, things just on the timeline get lost and there's no way to discover past things more than just searching and trying to reverse engineer a conversation, right?
Andy Payne: I think, too, there was a focus to try to really funnel people to this one source.
Andy Payne: I think if we created a Discord server, now we've got two different things.
Andy Payne: We've got a Discord server where we can interact and we've got a forum, but that's A, hard on us, because you've now got to monitor two different things, and two, you're splitting your audience into, are they going to go to the Discourse or are they going to go to the forum? And now you might only get half the number either way.
Andy Payne: And so I think we've really tried to focus, let's just try to get people to go to this one source of truth and really try to build that up.
Andy Payne: Also, I think when they did it, probably Discourse servers, I think they switched probably 2016, I could be rough on that, but somewhere around there, and I don't know the history of Discord servers and things like that, but I think they've kind of become more popular more recently.
Andy Payne: And so they probably made a decision early on to go to this discourse model.
Andy Payne: And then I think they've just kept going there.
Andy Payne: I think talking about videos too, we have really tried to start building up our learning content as well.
Andy Payne: I think that's another thing that we try to do pretty well.
Andy Payne: We haven't historically always done...
Andy Payne: We try to do well documentation, but we're finding more and more people tend to like these videos.
Andy Payne: And so we're really trying to build up our video content library so that we can sort of explain how to model, how to do Grasshopper things for new users.
Nono Martinez Alonso: OK, so maybe at this point, you can tell us where can people find these things online and also where can they find you online.
Andy Payne: I tend to be a little bit more hidden.
Andy Payne: You know, rhino3d.com and grasshopper3d.com, I forget the actual, we'll have to post the link to the Rhino Grasshopper forum because I don't have the URL exactly, but you know, I think rhino3d.com is a good place to start.
Andy Payne: And then from there, you can link, there's links to the forum and so on and so forth.
Andy Payne: And then we also have learning pages, right?
Andy Payne: So there's everything from the learning pages to just, you know, learning how to model and things.
Andy Payne: And then we also have our developer documentation, which is a little bit more focused on people who are wanting to develop, you know, programming and things like that.
Andy Payne: But there are guides that really help you figure out how to navigate the RhinoCommon API and things like that.
Andy Payne: And so we do try to, you know, obviously, it's a hard thing to manage.
Andy Payne: You've got a lot of content and we've generated a lot of content and it's kind of all over the place.
Andy Payne: And so we are trying to centralize and make our web experience a lot better and easier to understand for users.
Andy Payne: But that takes time.
Andy Payne: And we're always, you know, trying to improve it.
Andy Payne: So we try to look for feedback and say, this isn't working.
Andy Payne: Like, how do we, you know, get it to look better?
Andy Payne: Also, when you launch Rhino, every time you launch Rhino, there's a sort of list on the right that's like what's happening.
Andy Payne: They send out a lot of e-blasts and things like that.
Andy Payne: But we have like a running blog that sort of says, what are some of the new features and new things that are happening and, you know, workshops that are happening in different areas.
Andy Payne: And so every time you launch Rhino, you should have a list of links that, you know, you can click right there and it'll take you as well to some of these pages.
Andy Payne: For me personally, I don't do a whole lot of social media.
Andy Payne: I have sort of a private account on a couple things, but I don't really do Twitter or Instagram or really any of those things.
Andy Payne: So I'm a little bit more of a private person when it comes to that.
Andy Payne: I think early on I did well in positioning myself.
Andy Payne: I happened to be at the right place at the right time at a couple of things, right?
Andy Payne: Grasshopper being one of them, I sort of happened to be interested and available to sort of start when Grasshopper was really starting.
Andy Payne: And so I happened to just be at the right place at the right time.
Andy Payne: And then I did the primer.
Andy Payne: And so like I said, I was sort of the right place at the right time.
Andy Payne: And I did try to really build my name and get my name out there and so on and so forth.
Andy Payne: But as I've gotten a little bit older, I've kind of become less and less socially aware.
Andy Payne: I get nervous about the privacy and how much stuff is out there.
Andy Payne: And so for me, I tend to and to that end, I've kind of seen some of that stature kind of fall off.
Andy Payne: So there's a catch 22 or not catch 22, but I get a little bit nervous.
Andy Payne: But it also means that like, you know, had I kept pushing on some of the social media, you know, out there getting my name out there, Twitter and so on and so forth, I might be in a different position.
Andy Payne: But, you know, that's the choices we make, right?
Nono Martinez Alonso: Yeah, no, that's good.
Nono Martinez Alonso: I mean, you can always start if you change your mind, but I think it's good.
Andy Payne: But I can't say I'm always available, especially through email, for like technical questions.
Andy Payne: So, you know, the email address is andy.payne at mcneel.com.
Andy Payne: And so any of those things, like we do try to be very accessible.
Andy Payne: And so, you know, anyone and everyone can feel free to send me questions and things like that.
Andy Payne: And we do try to answer those as quickly as we can.
Nono Martinez Alonso: Can you tell us how you got started programming?
Andy Payne: That's a good question.
Andy Payne: I started by doing what I think a lot of people try to do, is they have an idea in their head and want to try to explore that in some way.
Andy Payne: I was always interested in electronics a bit.
Andy Payne: I didn't have any kind of experience with that growing up, but I had seen some projects done by other people.
Andy Payne: And so I decided to take a workshop, an Arduino workshop in San Francisco, just sort of a weekend thing.
Andy Payne: And that sort of gave me a little bit of an insight of how the electronic side worked.
Andy Payne: But the concept was, you know, how do I take this and link it to Grasshopper?
Andy Payne: So I think I did what most people do who don't know what they're doing, is they just start Googling and reaching out on forums and say, like, how do I do this?
Andy Payne: And I did get some help on forums early on about how to connect to the serial port and things like that.
Andy Payne: And eventually, I was able to cobble together, you know, a component that could, you know, read information in.
Andy Payne: And then the next step is how do you read it back out or send it back out?
Andy Payne: And so, you know, I think for me, it's really just about the curiosity.
Andy Payne: You know, you have something in your head that you really just want to do, and you just have to pursue that.
Andy Payne: And that's really how I started to program.
Andy Payne: You know, I didn't grow up writing code.
Andy Payne: I think I took maybe one class or things like that, and I have historically not taken a whole bunch of programming classes.
Andy Payne: It's sort of self-taught, and that's probably why the code that I wrote early on was so horrible.
Andy Payne: But, you know, you just start to explore, and credit to David and the rest of the McNeel team who made developing components or plug-ins relatively easy, right?
Andy Payne: It may not seem easy at first.
Andy Payne: It's a bit of a steep curve if you're very new to programming and things like that, but the more you do it, the more you realize it's a pretty accessible platform, particularly the C Sharp and VB and Python components that you can just develop directly in the application.
Andy Payne: But I think those are good ways to start to explore an idea.
Andy Payne: And then, like I said, there's lots of information online, and you just have to have a project and start it.
Andy Payne: And so for me, that was Firefly, but I think the same can be for a lot of people.
Nono Martinez Alonso: I want to comment on two things that you've mentioned.
Nono Martinez Alonso: One of them you just touched on.
Nono Martinez Alonso: Many people want to switch careers, right?
Nono Martinez Alonso: And they, for some reason, they say, yeah, I'm taking this Learn Python course or this JavaScript Initiation course.
Nono Martinez Alonso: And it's really easy to get bored.
Nono Martinez Alonso: I would mention this for people who are thinking that they want to improve coding, because if you don't have a goal and objective, like for example, you were thinking with a physical thing, like a microprocessor that might switch a light on or off, and it has some way of seeing the results and the rewards and what you can use that for.
Nono Martinez Alonso: But if you're just learning in the abstract, it's like you're studying English all your life without going to an English speaking country and practicing, right?
Andy Payne: Well, and I think, you know, I've done some of those videos, and you're right.
Andy Payne: It's kind of like homework, right?
Andy Payne: What I mean by that is like, I think you have to find something that you're passionate about and curious about.
Andy Payne: And so a project that you're sort of driving, that you have control over and are wanting to do, makes the development process, that learning process, so much more achievable or interesting, whereas if you're just sort of going through the motions following a series of tutorials that somebody else has written out, that's great, it's fun, and it can be good, and you can hopefully apply a lot of that down the road.
Andy Payne: But at the same time, while you're doing it, it can be boring.
Andy Payne: It can be a lot like homework, and you're just sort of going through the motions.
Nono Martinez Alonso: Yeah, many times.
Nono Martinez Alonso: I mean, when you get to be, you're already programming, it does make sense to go back and go to see videos that are more specific to learning a technique.
Nono Martinez Alonso: You're going to acquire a new skill that you say, okay, I can apply this later to manage lists or asynchronous processes or online communication.
Nono Martinez Alonso: But then you need to apply it just to test it.
Nono Martinez Alonso: You usually learn the thing and then test it for something.
Nono Martinez Alonso: And I mean, you can see on the YouTube channel, I can see that many people have a target in mind that they want to do, and that's why they get to your video.
Nono Martinez Alonso: It's like, I want to automate uploading, I don't know, like 20 or like 100 videos to YouTube.
Nono Martinez Alonso: So they get to your video because they search how to upload it.
Nono Martinez Alonso: Nobody's going to go and say, okay, I'm going to upload, I'm going to see how to upload a video to YouTube just in case some day.
Nono Martinez Alonso: And then the other thing that I think I relate to is coding skills evolution.
Nono Martinez Alonso: I see also my projects back in time and how I did things.
Nono Martinez Alonso: And I think it's great that you don't like the code in early Firefly because that means that now you have the possibility of looking from a perspective where you say, I've learned a lot or I can see that that's bad.
Nono Martinez Alonso: The worrisome thing would be if you didn't realize that that was not the best code that you can do now.
Nono Martinez Alonso: So that would be also an encouragement note to people who have things and they don't know if they should release because I've seen people that get really self-conscious about, ah, this is not ready, I don't have documentation, where I just put it out there, it depends what you're doing, but sometimes people might find it useful, they can learn from it.
Nono Martinez Alonso: And yeah, I don't know, I would encourage that as well.
Andy Payne: Yeah, sure.
Andy Payne: Yeah, you make totally valid points.
Andy Payne: And like I said, for me, I think it really just comes down to, you know, the individual curiosity of the person.
Andy Payne: And I think we all are curious people.
Andy Payne: I think a lot of us, you know, have these inklings in the back of our head of like, we want to visualize something.
Andy Payne: And I think that's sort of why, you know, sort of taking a left turn here.
Andy Payne: But I know you've probably been keeping up with all of the ML stuff with, you know, these image, text to image translators, Midjourney and Stable Diffusion and DALL-E.
Andy Payne: And I think that's an interesting thing that's happening now.
Andy Payne: You're starting to see these people that it's allowing them to sort of visualize their curiosity in different ways that they hadn't really begun to explore.
Andy Payne: I think it'll be interesting to see how people then take that, right?
Andy Payne: Are they just going to take it at face value and show it to the client?
Andy Payne: Or is it really like an ideation process, like a back and forth with this AI as a way to sort of augment your own process?
Nono Martinez Alonso: Yeah, I think what's really interesting about that is how it has exploded in every field.
Nono Martinez Alonso: Like you're seeing everyone trying to bring it home and trying to apply it to design, architecture, interface design, CGI, graphic design, anything.
Nono Martinez Alonso: And I'm not sure where it's going to go.
Nono Martinez Alonso: I know that it is transforming the way that we design and we do things.
Nono Martinez Alonso: There is also the concern that we're going to lose the human craft or we're going to be prompting text bar instead of actually thinking what we need to do.
Andy Payne: I think it's an interesting question that is going to be posed as these things become more and more popular, right?
Andy Payne: Obviously, a lot of the models are trained on thousands or millions of images from the internet.
Andy Payne: And so that means all of the stuff that's been published thus far by different artists are now part of this library, if you will, of images that it draws from.
Andy Payne: And so you can now, say, build a house in the style of X or give me a drawing in the style of this particular artist.
Andy Payne: And that artist obviously has spent a lot of time thinking and developing their own style, right?
Andy Payne: And I can certainly see how it's now being sort of co-opted and sort of degraded a bit, taking sort of and trivializing the work that they've done to a point where now you can do it in a matter of seconds.
Andy Payne: And I can see how that would be really difficult for a lot of people and a lot of artists.
Andy Payne: And then obviously, you're seeing other ethical questions about the AI stuff, about biases that are internal, some of the stuff that Shelby Doyle has talked about and things like that.
Nono Martinez Alonso: For me, I've played with Ali a bit since they opened the closed beta now.
Nono Martinez Alonso: I think it's completely public, so anyone can sign up and use 20 or 50 credits a month or something like that.
Nono Martinez Alonso: I've been playing a lot.
Nono Martinez Alonso: You get caught with the prompt types and the, let's say, modifiers that you use.
Nono Martinez Alonso: A modifier can be 4K resolution or fresh paint or hand drawing or bokeh photo.
Nono Martinez Alonso: Those are all modifiers that you can add to the description of what items you're seeing or what you're seeing on the picture.
Nono Martinez Alonso: I've used the one that I've got in love is Edward Hopper, by Edward Hopper.
Nono Martinez Alonso: Like if he had drawn that because the colors that his most famous paints or at least the ones I know have are like these light blue skies with high saturation and really green fields and happy people.
Andy Payne: Interesting, because the one I know of Edward Hopper is Nighthawks, right?
Andy Payne: The one at the diner.
Nono Martinez Alonso: It's kind of a darker mood.
Nono Martinez Alonso: Well, at least some of the things that I personally call my attention at museums that I like and say, I like this kind of old painting, but that looks really poppy or something, right?
Nono Martinez Alonso: So I use that modifier a lot to generate things.
Nono Martinez Alonso: And some of them I love that I usually put like blue sky, trees, birds and grass and whatever by Edward Hopper.
Nono Martinez Alonso: And what I was coming to is those have been really easy for me to generate.
Nono Martinez Alonso: I've been iterating, I generate variations, I change the description, and I've, let's say, created with this tool some images that look like or illustrations that look like Edward Hopper paintings.
Nono Martinez Alonso: And that makes me think if I had actually studied his artwork and I was trying to draw things from real life as he did, trying to mimic his style, that probably would have been hours and hours of work and a lot of dedication, and I would value those pieces a lot, right?
Nono Martinez Alonso: Each piece, it would have taken a lot of time to do.
Nono Martinez Alonso: And now these images that I've generated are not of so much value to me because even though the results are maybe even better of what I could have done, I'm undervaluing them because they were super easy.
Andy Payne: It took you a second to make.
Nono Martinez Alonso: So that's the part that I don't like.
Nono Martinez Alonso: It's like we are putting less value in the, not just the price that you would be willing to pay to buy some illustration or some drawing, but on the pieces that we can make as humans.
Andy Payne: The effort used to make it, sure.
Andy Payne: Same thing is true with probably anything that we make, but even digital content, right?
Andy Payne: Modeling, I'm going back to Rhino, McNeel, the stuff that I've done in the past.
Andy Payne: Because no one wants to spend days and days developing a model.
Andy Payne: In fact, our job as developers is to try to make it easy as possible.
Andy Payne: There is something about the craft, right?
Andy Payne: The time spent, the quality and time spent that you invest in developing your ideas into a 3D model or something like that.
Andy Payne: There is something about that investment that makes it worthwhile, and that's the design process.
Andy Payne: When you have an easy button where you can just press it and it generates your building for you, it does take the design process away from you, but it also trivializes it a bit, I think.
Nono Martinez Alonso: I think if I'm not wrong, I have a mini essay on the blog about the concept that we're talking about that is called, referred to as the IKEA effect.
Nono Martinez Alonso: So you have a really like a $5, $20 piece of furniture, but because maybe even you did it with friends or with your partner or something, there's this moment that you had to lay down all the pieces, look at the manual and spend maybe, I don't know, 45 minutes assembling this thing.
Nono Martinez Alonso: Then you mentally put more value into that item than it actually has, because you've put, as you said, a lot of effort.
Nono Martinez Alonso: So for you, it would be really easy to give away, let's say, a $10 table if you had bought it on Craigslist and now you're selling it, than if you actually bought it original and assembled it, and even more if there is a story behind it that you put that, oh, I built this with my kids or with my friends or whatever.
Nono Martinez Alonso: And so I think there is part of that.
Nono Martinez Alonso: It's like the effort of making something makes you less willing to give it away or want to charge more.
Nono Martinez Alonso: And if that happens to art and how we envision, because art at the end of the day, we're talking about illustrations as something you could sell, but I see also art as a self-expression medium, right?
Nono Martinez Alonso: And we're kind of like trying to do as few crafts as we can.
Andy Payne: So I bring up the question for you then.
Andy Payne: Who becomes the artist in DALL-E or Midjourney?
Andy Payne: Is it the person who writes the text prompt or is it the programmers who develop the model, the AI, right?
Andy Payne: As they're the ones who essentially built the model and explained how, you know, built the concepts of how it all goes together.
Andy Payne: I think it's an interesting question of how much authorship should be given to the person who actually generates the prompt, for example, and the person behind it.
Andy Payne: And the same could be, I guess, true for, to a degree, some of the tools that we all make, right?
Andy Payne: Me personally doing some of the stuff with Rhino and Grasshopper.
Andy Payne: Obviously, the authorship is more of a step back, right?
Andy Payne: Someone who's designing in Grasshopper, that's their design.
Andy Payne: But also, you do feel a bit, you know, I look at some of the videos that are posted online that use Firefly, right?
Andy Payne: That are using these sensors to drive something.
Andy Payne: And you do feel like you had a piece into that, even though it's their work.
Andy Payne: I'm not trying to claim any, you know, ownership or authorship or anything like that, but you do feel like you contributed some way into that work to a degree.
Andy Payne: And so, you know, they probably don't see it that way.
Andy Payne: And that's fine.
Andy Payne: I'm not, you know, it's a different model.
Andy Payne: But I do wonder where the programmer, the guy behind the scenes who writes the software or the stuff, where their fit is in that.
Nono Martinez Alonso: So I don't have the right answer for that.
Nono Martinez Alonso: But my thought is when you have a pencil or you have even Photoshop or Grasshopper or these tools, the canvas is sort of empty, right?
Nono Martinez Alonso: That you start with the tools that you're given and of course the medium and the tools are going to determine highly the things that you're going to do.
Nono Martinez Alonso: If you use a brush in Photoshop, it's going to determine the type of drawing you do.
Nono Martinez Alonso: If you go to AutoCAD or to Rhino and start with the Polyline tool, it's going to determine or constrain what you can do.
Nono Martinez Alonso: So the difference, I think, is that DALL-E is a program that is actually as if in Grasshopper, you were telling build a tower with three stories and blah, blah, blah for me.
Nono Martinez Alonso: And it was actually creating notes and doing the things for you.
Nono Martinez Alonso: So we're entering in that the program is actually taking the brush from you and painting.
Nono Martinez Alonso: Yeah, exactly.
Nono Martinez Alonso: So I think, yeah, I don't see...
Nono Martinez Alonso: It's complicated.
Nono Martinez Alonso: If you're just using...
Nono Martinez Alonso: You could say that if you're just putting a prompt and generating a thing, yeah, okay.
Nono Martinez Alonso: You put that prompt, you had, let's say, the idea, the originality is to write the prompt and get that image.
Nono Martinez Alonso: But there is people who go farther and maybe start getting an image and merging that with another or creating permutations.
Nono Martinez Alonso: So there's also an effort there in using this tool now to get to a good result.
Nono Martinez Alonso: But at the same time, even with just the silliest prompt, you can end up with an initial canvas that is already a finished piece.
Nono Martinez Alonso: We've also seen on the news that there have been a drawing contest owned by the AI and blah, blah, blah.
Nono Martinez Alonso: It made it to the New York Times and I think New Yorker.
Nono Martinez Alonso: So I don't have an answer.
Nono Martinez Alonso: I think we're putting...
Andy Payne: Yeah, I don't know that there is one.
Andy Payne: It's more of an open debate.
Nono Martinez Alonso: A philosophical debate.
Nono Martinez Alonso: All right, so I wanted to ask you as well, if there was one thing that AI could do for us today, maybe in our daily lives or in our work, what would you want it to be?
Andy Payne: That's a tough question.
Andy Payne: Because we're obviously drawn, or the things that come to mind, I think, unprepared for that question.
Andy Payne: Things that come to mind are obviously things that we're already starting to see.
Andy Payne: It's sort of always around us.
Andy Payne: The thing that scares me, I think, is a lot of the stuff that's being built into social media and things like that that influence our decisions and things like that without us really understanding or knowing that it's happening.
Andy Payne: And particularly when your phone hears conversations, right, that you're talking about, and now you have ads for something that, you know, is in your pocket.
Andy Payne: It wasn't even on and listening or something.
Andy Payne: Or it was listening, but we didn't know that it was listening, and now we have advertisements for products or something that we were just talking about.
Andy Payne: Or even here, I've noticed that like my children have something on the TV, like a cartoon or something, and now something on my phone shows up about that cartoon.
Andy Payne: And so that sort of stuff freaks me out a little bit.
Andy Payne: And particularly the biases that it sort of imposes on people without sort of their knowledge.
Andy Payne: But I think it's inevitable that it's start going to permeate really all aspects of our life.
Andy Payne: I think whether we know it or not, obviously the social media aspect is already there.
Andy Payne: We're seeing it in banking.
Andy Payne: We're seeing it in entertainment.
Andy Payne: We're starting to see it in design, right?
Andy Payne: I think the stuff you're seeing and a lot of stuff you're doing, right?
Andy Payne: You're working at a design software company, focusing on AI and machine learning.
Andy Payne: So the stuff that you're doing will have a direct impact, right?
Andy Payne: And so I think it will be interesting to see how that shapes our design process and whether that's good or bad.
Andy Payne: Our whole conversation that we've been having about DALL-E and Midjourney and so on and so forth, we seem to be kind of split on its benefits and the consequences of it.
Andy Payne: And so it'll be interesting to see how some of those things play out.
Nono Martinez Alonso: Yeah, and I also think that we don't refer as heuristics as something that is changing the world, but we do about AI and ML, but I think that more and more, especially, let's say, not traditional machine learning, but not general artificial intelligences, right?
Nono Martinez Alonso: Machine learning is, as you said, permitting in many different fields, and I think slowly we're going to stop talking about it with so much hype.
Nono Martinez Alonso: It's just going to be one more way of solving problems, right?
Nono Martinez Alonso: It's unlocking problems that were not possible to solve with heuristics by having huge datasets.
Nono Martinez Alonso: But in terms of, for example, at work or other utilities, we're just using machine learning for things that you can do in other ways, for example, like an energy simulation, but faster with a prediction that is not super accurate, but it's super fast.
Andy Payne: Yeah, no doubt there's benefits to it, right?
Andy Payne: I mean, obviously, there wouldn't be so much investment in it if it wasn't for good reasons, right?
Andy Payne: I think it's just the average person probably doesn't think about the consequences enough, because we don't necessarily...
Andy Payne: They're not always visible of what those consequences might be.
Andy Payne: But certainly the benefits are pretty profound.
Andy Payne: And so I think the big question moving forward is how much are you willing to give away or whatever those consequences are, do they outweigh the potential benefits?
Andy Payne: Because I think in a lot of ways that answer is yes.
Andy Payne: You're speeding up a process that would normally take many hours.
Andy Payne: Now you've got it in minutes.
Andy Payne: And so that has a huge time saving.
Nono Martinez Alonso: One thing I wanted to make sure that we talk about, even if briefly, we've had Panagiotis Michalatos before on this podcast.
Nono Martinez Alonso: You've referred to him as Pan some instances in this podcast because you work with him on a few projects, including Monolith.
Nono Martinez Alonso: So I wanted to know what your experience has been working with him, if you have any thoughts.
Andy Payne: Yeah, sure.
Andy Payne: I've been fortunate.
Andy Payne: I was very fortunate to have met Panagiotis.
Andy Payne: The same year I started at GSD was his first year.
Andy Payne: And he sort of recognized his genius kind of right away, even first class or first lecture, whatever it is.
Andy Payne: And so given the stuff that I was there to do, my research interests and things like that, I really gravitated towards wanting to just soak it all in, be around him as much as I could to sort of understand how he thought and see how he programs and stuff like that.
Andy Payne: And so I've been really fortunate to be able to work for several years, both at the GSD and then afterwards with Monolith and then at Autodesk.
Andy Payne: And the one word that comes to mind, like I said, is genius.
Andy Payne: Anybody who's sat down with him next to him while he's sort of helping you debug a problem, it's pretty evident really quickly how his brain sort of works in a slightly different way than, say, most of us.
Andy Payne: And I think it's kind of compelling and sort of in awe of the amount of knowledge that he has.
Andy Payne: Just from a mathematics standpoint, obviously machine learning, AI, but also structural engineering and things like that.
Andy Payne: He brings so much to the table that a lot of us can't really keep up.
Nono Martinez Alonso: Awesome.
Nono Martinez Alonso: Yeah.
Nono Martinez Alonso: No, I think and I also think that he engages, might be through student projects or other collaboration, he absorbs and tries to engage as if projects were his own.
Nono Martinez Alonso: So as if he was doing that, he has so many ideas that sometimes it's more like he's delegating other people to build them for, not for him, but for themselves, but throughout his way of understanding those ideas.
Andy Payne: He's also just relentless in his pursuit, particularly it was probably before you got to the GSD, but in his first year, again, he was new to teaching, so I don't think he really knew how to say no to students.
Andy Payne: And he was there 18 hours a day helping students.
Andy Payne: I mean, just relentless.
Andy Payne: People were just always there asking him questions, and he would always have time and sit down and help them figure out what they were doing or what they were doing wrong.
Andy Payne: And I think that's been always really incredible seeing that his willingness to help people, his willingness to sit down and explain concepts and things like that, is really just quite profound.
Nono Martinez Alonso: Would you have any advice for young people?
Andy Payne: Stay curious.
Andy Payne: That's kind of a cliché, probably.
Andy Payne: But it's really something that I try to explore, you know, every day.
Andy Payne: I think for me, it's what's kind of driven my whole process ever since I have been in school, was this idea of just kind of exploring these ideas that were sort of in the back of my head, and just this relentless pursuit of trying to figure it out.
Andy Payne: You're going to hit roadblocks.
Andy Payne: You're going to get stumped.
Andy Payne: It's going to be really frustrating.
Andy Payne: But to me, the aha moment, you figure out that problem, and you finally figure out how it works.
Andy Payne: To me, that's what you get that sort of endorphin boost that makes it all worthwhile, right?
Andy Payne: You get that one moment of clarity that you've now figured out how the problem should be solved, and that's what makes it worth it.
Andy Payne: And so, you know, just following the relentless curiosity is sort of, I think, important.
Nono Martinez Alonso: What's your definition of success?
Andy Payne: I think it depends on context, right?
Andy Payne: How do you mean success?
Andy Payne: Success in what context?
Nono Martinez Alonso: As I've seen in many previous interviews, success always comes as something that is super idiosyncratic, something that you have your own definition for it.
Nono Martinez Alonso: So I guess success in life for you to be content every day, right?
Nono Martinez Alonso: Not being at an ease with like, I'm not doing the right thing or...
Andy Payne: For me, it's important about family, right?
Andy Payne: I strongly believe, and fortunately, I work at a great company that also values the things that I tend to value.
Andy Payne: But work-life balance is really important.
Andy Payne: Family, friends, I strongly believe in supporting my family.
Andy Payne: I kind of pour as much as I can into them.
Andy Payne: And so success for me is being able to still explore the things that I'm passionate about from a work perspective and career perspective.
Andy Payne: But maintaining that balance that gives you the ability to be there for your family and friends.
Andy Payne: And so for me, success is essentially being able to juggle both of those.
Andy Payne: And that's not always the case for a lot of people, but I'm lucky to have found a spot that I can do that.
Nono Martinez Alonso: One last question.
Nono Martinez Alonso: This is a Latin ferris because this is a question that has been doing too many people.
Nono Martinez Alonso: What would be an item of $100 or less that you've bought recently that has improved your life in any way?
Andy Payne: So we've talked about work-life balance and my pursuit to sort of be able to juggle family.
Andy Payne: And one of the things that I really have enjoyed over the last several years is being able to take the skills that I've learned through design, fabrication, making things with my hands, woodworking, things like that, and applying them for things I can use for my kids.
Andy Payne: And so a thing that I've really enjoyed doing the last several years is making Halloween costumes.
Andy Payne: And they've increasingly gotten more sophisticated and complex, but it's also a learning process, right?
Andy Payne: I've definitely learned new techniques that I wish I had known when I was in school, because some of the things I'm doing now with stupid Halloween costumes could have been applied as architecture models and things like that.
Andy Payne: But really the stuff that I'm buying are supplies for Halloween costumes.
Andy Payne: And yet that brings a joy to me, and hopefully will bring a joy to them at some point when they get to actually wear it.
Andy Payne: But even though that's just my hobby, it's making things like out in my wood shop or making things like Halloween costumes.
Andy Payne: It's kind of silly.
Andy Payne: The stuff I'm buying is like EVA foam and contact cement and spray paint.
Andy Payne: But for me, that brings joy, is the hobbies I get to explore.
Andy Payne: Awesome.
Nono Martinez Alonso: So yeah, thanks so much for being with us today.
Nono Martinez Alonso: So it's been a pleasure.
Nono Martinez Alonso: I'm super happy that we could see each other physically because everything has been remote lately.
Andy Payne: It was great to catch up, and I'm really glad you invited me to come.
Nono Martinez Alonso: Yeah.
Nono Martinez Alonso: So as he said, Andy is not super present on social media.
Nono Martinez Alonso: I know that you're at least on LinkedIn, so by email or LinkedIn, you can reach out to him.
Nono Martinez Alonso: And I guess like mainly to ask technical questions or anything that you want to.
Andy Payne: Anything.
Nono Martinez Alonso: And I'll also remind everyone that we'll put detailed episode notes of these and any previous episodes at gettingsimple.com/podcast, and that you can submit questions to gettingsimple.com/ask.
Nono Martinez Alonso: So there is a form there.
Nono Martinez Alonso: You can record a voice note with your phone or your computer, or you can also upload a short video to YouTube that we can answer on the live stream or the podcast.
Nono Martinez Alonso: Thanks so much for watching, and we'll see you next time.