For a while now, we have been thinking about starting technology reviews on some open-source tools that we are exploring ourselves. So here is the first interesting conversations we had with Andrea Rossi – the creator of Wasp, plug-in for Grasshopper. We discussed Wasp, various topics related to computational design and the future of architecture. We hope you like it!
Tell us a bit about yourself, um, where you studied and a bit about your work experience and your hobbies and what are you doing with yourself these days?
I am trained as an architect, I studied architecture both in Italy, at Politecnico for my Bachelors. And then I moved to Germany for my Master and I did my master at the Dessau. So this is where I kind of really developed deep interest in computational design and let’s say leaning more and more towards software development. And right after graduating, I had this great experience of, getting, I think one of the most fun jobs I’ve ever had, which was being a robotic researcher at COOP HIMMELB(L)AU. So my job literally was – we had a small robot in the office and it was just figuring out what could be done with it. So then from there I moved, and I was for one year in Zurich at ETH, when I was working as a researcher for a large scale urban planning simulation software. And then from there I moved, and I started my PhD, which is almost finished at TU Darmstadt in Germany again, which is fundamentally based on Wasp. And let’s say the main product of the PhD is Wasp itself. And right now I am trying to finish my PhD still. And meanwhile, I’m a researcher at the university of Kassel where again, I am focused on robotic fabrication mostly, using timber and trying to develop sustainable construction methodologies, combining timber research, modular design, and robotic fabrication. And these days specifically, I’m kind of taking advantage of the very weird situation we found ourselves in. And so thanks to remote teaching, I’ve been leading design studios, both in Kassel and Innsbruck and as well as teaching small workshops and introductions in Berlin and in Darmstadt.
Well, we’re going to ask how you got into computational design and software development, but I think that pretty much covered it. So it’s a little robot that got you excited about this.
Yeah, so I think I already started in my bachelor. I think at my second year of my bachelor, I had a design studio with Professor Attilio Nebuloni who was like, I think the first person that introduced me to, um, let’s say computational design and also a whole wide range of architects and researchers like ranging from Zaha Hadid and so on. And so it was a very, let’s say strange experiment because we had a lot of ideas and very little tools and very little knowledge of tools. So I remember modeling double curved geometries in AutoCAD 2007. Was kind of fun, but also very weird. But then from there I started, getting more in depth into it. And so, my bachelor thesis was, let’s say theoretical exploration of what computational design is or where it comes from. And so then from there I moved on, I moved to Germany, because I felt I wanted to do a master, which would really focus on that.
Tell us a little bit, what’s it like to develop open-source software?
It’s a mess. It’s very exciting and, uh, let’s say the way in which it started. Let’s say I didn’t start with the idea of developing an open-source software in itself. I just started with my PhD and started developing some tools that would allow me to do the research I was interested on to do on modular systems. And then kind of realized that, well, there was nothing out there that was allowing to do that and, or there were a few tools, but they were not flexible. And so I released the first version of Wasp, which was like a really, really bad bunch of grasshopper components that were incredibly slow and really didn’t work so well, but then there was already interest for that. And so that kind of fueled me to work on it. And so I am very thankful to my PhD supervisor Oliver, who gave me like a lot of space and time to develop Wasp. Let’s say the core framework of Wasp. And right now, as I said, it’s a bit of a mess because I’m teaching in quite a few places. And most of the teaching I’m doing relies on Wasp, but in a very different way. So right now on my computer, there are I think, six or seven versions of Wasp. Each of them doing slight different things that have been added and I’m slowly bringing it back into the core Wasp.
Well, the software industry has long ago adopted the open-source mentality. They AEC field has a long way to go in that sense. What do you think about all this?
I think we really have a lot to learn and I think it’s going to be very hard for the architecture and the design professionals to adopt the same workflow, mostly because I think we still rely a lot on our mentality that if we talk about the tools that we use to do something, we are kind of taking something away from the artistry of doing these things. So to say. And so I think it’s, it’s very hard for the design professionals to adopt that workflow, but I think it’s the only way forward. I mean, I think that’s the perfect example is the field of robotics right now. So there are, I don’t know, many robotics plugins out there and it feels that everyone is reinventing the wheel every time, which is fundamentally a waste of energy for everyone. And we have so many challenges in the whole industry that we should really try to focus the energies on and try to share tools and reuse them as much as possible and grow as fast as we can, because it seems we don’t have time and energy to waste.
That’s a really good point. So tell us a bit about the history and the idea behind Wasp?
So wasp is, let’s say the whole concept behind wasp is borrowed from research that is done at the MIT center for bits and atoms by the team of Neil Gershenfeld, which works on this idea of what they call digital materials, which is the idea of materials that are composed of discreet building blocks that can be combined in a discreet number of ways. And so the idea really behind it is to bring the capability that we have to program a computer to the real world so that we will be able to program physical space by placing these discrete blocks. And so that was the idea, and that was also the idea where my PhD research started from. And so that’s really a little bit how WASP evolved. And so I was always saying before the first version was a very, really patched up together, a set of components that would allow to do few things, again, relying on the power and the possibilities given by open-source development. I was looking a lot into the structures that are used in the Ladybug plugin ecosystem. And then I was able to use a lot of their code templates and the workflow. I highly improved the components and make them much better and much more usable. And so right now Wasp has grown a lot and especially over the last six months since I’ve been using it a lot in teaching, I’ve been adding a lot of small functionalities that allow much more control over and the details on aggregation.
The way I see Wasp fundamentally, it’s providing a data structure to represent combinatorial models. And so the idea is that you could then use the data structure to attach anything you might want. And you can really carry this model around, across your whole workflow. And then as you go add information to it with this idea of having a much more parallel design process, so where you have multiple phases that could run in parallel, and then you could just change the modules and know that everything else along the way will adapt, which is a bit different than much more traditional architectural approaches, where if you change something in a later phase, you cannot go back and re update everything all the way.
It seems that you don’t advise evolutionary solvers much in conjunction with WASP. We were just wondering, are you planning on adding this sort of functionality to it as well?
Well, that’s kind of complicated as an approach. So the main reason, it’s not that I’m not recommending it. It’s just that I believe that let’s say for the current state of Wasp right now, everything that users can do is change their seed of a random stochastic aggregation in order to iterate through different results. The problem is that since it’s a purely random seed, there is no relationship between let’s say one number and the following one. And so what that means is that an evolutionary solver we’ll assume that if two, if the seed set at two provides a good result and the seeds set at four provides a good result, most likely the seed set a three will also provide a good result. And that’s actually not the case because it’s purely a stochastic process. So in order to be able to run an evolutionary solver consistently on Wasp, what the evolutionary solver should be able to do is to control the aggregation graph itself. So if you will have an aggregation of hundred parts, these hundred parts, and how they’ve been placed would become the genome that this solver would manipulate. And that’s quite difficult to implement because it’s probably quite different for different kinds of aggregations. So I’m also personally not an evolutionary optimization expert. And so I believe it’s not impossible, but it’s not easy in a way. So what I’m planning to do, I don’t know when, but, in the future is to make the API of wasp much more open and much more accessible so that, rather than just relying on the components themselves, users could use Wasp as a library in their own Python components. And that could probably then enable somebody that has more experience than me in evolutionary optimization to maybe write something that would run optimizations on the aggregation process itself. Like I’m not saying that it’s not possible to do that, or it’s not relevant. The only thing is for how it’s built right now, Wasp would be more efficient to just take the slide and put it in the seed input and just move it from zero to 1000 and record all the steps then sort them. So that would just be more efficient than having an evolutionary solver because since there is no logic underlying that…
I guess currently if you have one criteria, but if you have, let’s say three criteria and you’re trying to find the best solution between the three of them, what we’ve seen in our tests was that Wallacei was kind of useful in that sense.
Okay. Yeah. If you use Wallacei, of course then, because it’s more about categorizing the outputs rather than the solver itself and then yeah, that makes sense.
What are your plans and ambitions for Wasp? Is there a master plan?
No, there is no clear master plan. Uh, there is the will of continuing to bring it forward. And so that’s exactly something that I’m addressing right now. And, I’m going to pretty soon launch Patreon Page to support the development of Wasp because I see that right now, I’m very lucky that I’ve had the possibility of working with academic institutions that are willing to allow me to reserve part of my time to develop Wasp also because it’s involved in the research I’m doing, but I just don’t know if that’s always going to be the case. And so I would really like to find more of a way of sustaining Wasp as a project in itself. And so that’s a little bit the goal and in terms of long-term plans. So one, hopefully not too long term plan is to definitely rewrite all the internal engine, because right now it’s really struggling to cope with all the new functions. And it would really need a significant clean-up. And then as I mentioned already, the idea of making the API more open and accessible and better documented, and definitely the idea of starting to look at the possibility of bringing Wasp to other environments.
Yeah. I’m testing currently Wasp in Rhino.Inside Revit? I will let you know how this goes.
Yeah, that would be curious having the possibility of running Wasp, in Revit and Blender – Bledner as it would allow the project to be completely open-sourced.
You mentioned sort of how you started off on this quest. But now are you driving this project mostly on user requests and do you have any idea how many users are out there?
So I can’t really say how many active users are there. I know that there are around 6,000 users that download it on Food4Rhino, more or less 6,000 unique users. And I think there are around nearly 400 users currently in the discord community. So I guess the number of users sits somewhere in between those two numbers, one of the very interesting things that happened with Wasp was that there are two or three projects that emerged out of Wasp. And one of them is for example, the Wasp++ plugin, that has few features that were not available in Wasp, which was developed, by Blake Hageman. And I’ve never even met Blake. I never really talked to Blake and even had no idea that, I got somebody writing me – Hey, there’s a Wasp++ plugin. And I was like – nice. And for example, that’s one, another project is the Project DisCo VR environment, which is an environment developed by Jan Philipp Drude in Hanover, which is an environment for Wasp aggregating in virtual reality, which is also an entirely free and open-source to download and which we’d been working together on. And we are also going to run a workshop on that. And then as well as a project at the university of Applied Arts in Vienna, which is called conceptual joining, which was developed by two ex-colleagues of mine from COOP HIMMELB(L)AU, who also took Wasp and added few functionalities for a project that they were developing. And then from there we started collaborating. So, I do not see that, at least that is my hope, that I don’t necessarily see Wasp as entirely bound to me working on it. I really hope, and that is the big goal of improving documentation and the API, because that would really make it easier for somebody to pick it up and work on it.
Wasp must take a considerable amount of your time. Really great job and kudos from all the users of Wasp. In our own experiments, we’ve seen that there’s a huge potential to incorporate Wasp in modular studies. What’s your take on this?
Well, that was a little bit the goal, as I was saying before, it started more with this interest into very large aggregations, but right now I really see it more and more to getting closer to modular construction and allowing more and more to really to explore the possibility of building with modular systems in a way that is not as bound by conventional and predefined forms as let’s say conventional construction modular approaches allow. So this idea of trying through a software to push a different idea of what modular construction is, and also in a way push away the idea that modular construction is let’s say modernist concrete buildings, which have zero differentiation, but really look at the possibilities that modern construction has an incredible amount of advantages compared to one site construction. And so really try to see if we can marry those advantages with a high-quality design.
Could we expect Wasp for other software other than Grasshopper, somewhere down the pipeline?
Yeah. I mentioned it already. So these two environments I’m interested in is definitely – one is Blender and the other one is Revit. And Blender as the advantage of being Python based and so on should make it not too hard to move Wasp there. And then the other one is of course Revit. I’ve been involved as well with the team of Compas, which is the computational design framework developed at ETH Zurich by the block research group.
I think for me, the problem independently of the software – Revit, Archicad, Vectorworks or anything else is the fact that right now Wasp is thought as a pure geometry engine. And so I think the big question is to understand how can Wasp be implemented into the different BIM classes and how it would deal with those. So I think that’s for me the main question. So I think addressing that would be, let’s say the main challenge of how to organize a tool on top of a BIM framework.
Yes, I guess, that’s the main difference, like really how, how it’s been structured within the software in terms of categories and so on. But I guess now having Rhino.Inside, I imagine that would be a lot easier.
Yeah. It’s, it’s always a little bit of a question that is there for Wasp in like for how the backend the wasp is organized because right now the whole backend of Wasp relies on Rhino common heavily for all the geometry operations. And one of the ideas that I have is to build an intermediate layer that would be, let’s say a Wasp native geometry library that could then be configured to wasp, to work with different geometry kernels. So then let’s say the Wasp library would never change and would just deal with these Wasp types. And then this Wasp geometry types would have the task of interfacing with the Blender geometry types, the Rhino geometry types, the Revit geometry types…
Andrea, how do you feel about the blending of architecture and software engineering? Will these two industries merge at some point?
Ah, I don’t think it will merge, but I think it’s very much needed that as architects, we engage more with the software industry. So the reality is that right now, as architects and designers, we are mostly working with software that were not made for us. So we’re working with software that were made for something else and then just been repurposed for architecture. I mean, and so I really believe that as architects, we should really take the responsibility of engaging much more with the software industry. And what’s funny is that if you look at the history of the relationship between architecture and software in the very early stages, architects were driving software industry in a sense. So if you look at figures like Christopher Alexander or Richard Saul Wurman and so on, you can really see that they were pushing, they were architects that push the software industry to a whole new level. And what’s very interesting is that they’re much more recognized in the software industry than in architecture. So if we talk about Christopher Alexander, a lot of people will have problem with him when you’re talking about architecture. But if you talk about Alexander and the whole idea of pattern languages in computer science, it’s an acknowledged way of working and it was a revolutionary approach to how to deal with programming. So I think we have to go back to that approach where as architects, we push the software industry in that direction that we think it’s relevant for us, rather than always being fed with tools that don’t really work for what we want to do.
I very much agree with what you’re saying, but I think it’s even more so like this kind of proactive approach from architects should be happening. With all the robotization that is inevitably going to happen. For example in 3d printing, knowing the tool well, being able to even come up with design suggestions based on the tool, like any sort of craftsmanship is important. Imagine these huge 3d printers or robots, I’m not sure how they would look, but if the architect is controlling them in a way, then this becomes also part of your design. So it’s intentional, everything will be intentional, which eventually will hopefully lead to better design decisions and outcome.
Definitely. And also I think the more we engage and the more we can create things which are much more integrated with architecture… I think a fantastic example is that the mini builders project that was done at the Institute of Advanced Architecture in Barcelona a few years ago where the researchers and the students really questioned the idea of what is a robot that can print something in concrete. And so instead of using a gigantic robot arm, they made teeny tiny robots that could just go around and print on top of a concrete structure. And I think we need more of that. We need to challenge what is a robot, what is a software, what is CAD and really bring in the needs we have, but it’s hard.
Yeah, exactly. IAAC is exactly one of those places that certainly pushes the industry in that sort of new mentality as well. What do you think will be the place of the architect in the future landscape of AEC?
Well, I think it relates to the previous question. I think if we are engaged, if we will engage with software and with robotic tools and meet all the technology that drive architecture, I think architects will have a central role and should have a central role, but if we are not doing that, and I think that it’s, to some extent already happening today, we are risking more and more to be pushed to a corner. And so we are really risking to go back to the environment where engineers define everything and then call architects to put the decorations on their facade.
I mean, it’s a bit harsh maybe to say that, but I really think that technology is advancing at such a pace. And now also with the whole pressure driven by climate change, the AI adoption to technology speeding up so much that if as architects, we don’t engage with it, we are really risking to lose our capability of driving this process.
What’s your favorite computational design project?
As I was saying I believe that the golden age of computation and architecture is quite few years back. I really think that some of the best projects, computational design projects are not necessarily computational in the traditional sense, but as some of the work of Cedric Price, particularly something like the Fun palace or the Generator project. And I really liked those projects because they are projects where computation and artificial intelligence, if you want to call it, are not simply a tool to generate architecture, but are something that is deeply embedded into the structure of architecture. And so our software and digital processes become a material of architecture themselves. And so buildings were able to respond to the needs of the user. And if I would have to think about something built rather than just theoretical projects, I think something that comes closer to that is some of the installations from Philip Beesley. So the Hylozoic Ground installations, where as a user, you’re immersed in an environment that is at the same time physical and digital, and it’s able to interact with you. And I really think we need more of that.
Awesome. I think there is a lot more we can talk about but thank you so much for your time today and keep up the good work!
Great to talk to you and I’m so happy that you are taking and making the effort of promoting open source in architecture more because I think that’s really something that we need.