Thesis Presentation : Pt. 3: Stuff I Made, Next Steps
Given the rather diffuse nature of the previous presentation, I chose to do three small projects to explore and illustrate applications of data visualization and game interfaces in design environments. The first project was a fairly dry implementation of a common data visualization method -- treemapping -- to a common source of architectural data -- program documentation:
I blogged about this project previously so I won't go into too much detail. The project did help to explore the tension between having a tool that does not unnecessarily suggest formal solutions, and having a tool that is formal/spatial enough to be used in a design methodology. It was also a good way to come to terms with the nature of program diagrams, and the various competing concerns that exist in the initial program explorations - assumptions about the most important relationships within the program have enormous impact upon the underlying structure of a design project.
The next project presented has also been presented previously on this blog:
Due to its popularity in the last year, I felt I had to do at least a simple exploration of game-like interfaces using spring algorithms. The project brought with it some useful insights. The first and most simple is that interface strategies have associations - the side-scrolling 2d version of the applet was regarded by users as a toy while a 3d isometric version was treated as a serious tool, regardless of the fact that they had identical interfaces and functionality. The development of the applets also provided valuable experience in difficulty and payoff involved with live, additive interfaces. Both of these characteristics I feel are vital to promoting creative exploration, but require both strict attention to the runtime costs and also the development of a natural and quick interface, with no lengthy searches for commands or tools. Finally, research into developing a web-based multiuser version of the tool has convinced me (as it has some other folks) that WebGL, WebSockets, and the Canvas tools in HTML5 are going to be the new power tools in creative software development. Watch that space, people.
My final (main) software project attempted to take all of the ideas above, alongside some additional computational strategies, and make a usable tool. The base algorithm I chose to work with was tensor field streamline integration. This is a technique that has been used in MRIs, structural analysis, and wind flow simulation, but my plans for use are more similar to what has been done in computer modeling and graphics. The procedural generation of tensor fields is something that is now commonplace to remesh 3d surfaces or make painterly or sketchy effects on raster images (think photoshop filters). This method of pattern generation is simultaneously powerful, requiring a minimum of input to a maximum of effect, while remaining intuitive and predictable, even as it increases in complexity. It is also possible to maintain a real-time editing environment, which was vital. This algorithm has a myriad of possibilities in architecture, from surface discretization to street map generation, to pattern generation. I chose to make a Nolli Map generator, as it is entertaining and easily understood, and also gave me the chance to play with displacement mapping and pixel shaders. As can be seen from the image above, the project used a pipeline approach where user input is first used to generate a bidirectional tensor field. The input comes in the forms of lines and singularities, with the option to pick an extent of affect.
Further input can be provided in the form of a bitmap (also with a range of effect) which is then put into the quadrangles created by the initial tensor fields. Multiple bitmaps are combined in an additive fashion using a pixel shader if more than one is provided.
Finally, a three-dimensional view uses displacement mapping to show the spatial implications of the drawn black and white map.
The project included peer-to-peer functionality that allowed for multiple users to work simultaneously on the same map, with live updating -- this is a particularly interesting feature of environments that use implicit rules, as there is no need to "lock" individual elements to preserve relationships. There is also a notation function and the ability to export to dxf.
My takeoff from all of the above is twofold. First of all, I am convinced that we are about to see a revolution in lightweight, interactive digital design environments that incorporate rich feedback and the possibility of implicit algorithmic integration. I am likewise certain that the future of digital design will lie in the ability of designers to navigate between multiple tools and methods, which will make knowledge of the underlying mathematical and programming techniques all the more important. Architects must make good use of these new quantitative techniques, not only as a way to maintain agency and relevancy, but also because it will ground our nascent computational design culture and improve the status of the built world.
I've taken the last six weeks off to get a breather, move to the other side of the country, obtain a job, and secure a mortgage. I'm about 80% percent of the way there, and once those goals are complete I'm going to have to take a long hard look at where I want to take this research. First things first, I'm going to release some of the tensor field code -- I've got a grasshopper c# version that needs to be cleaned up and packaged for general consumption. I'll consider releasing the larger tensor fields project but honestly it's such a mess I'm afraid to do it (the important bits of code are in the appendix of my thesis document which you can find here.) After all of that is done, I'm kind of at a loss. Revit API work? Architectural data visualization? Mobile apps? It's a wide world out there. I'd better start taking some big steps.






June 27th, 2011 - 22:54
hi Ben,
This series is a really great and digestible summary of your thesis. I have to agree that we are about to see a “revolution in lightweight, interactive digital design environments” but one thing that makes me slightly pessimistic is data interoperability.
One benefit of the monolithic mega app is that it can guarantee certain assumptions about the data. Anytime I have stepped outside of these confines, by roundtripping a design between software, it inevitably degrades into a data management issue. So while the technology and libraries have advanced to the point where an individual can write on a whim what would have taken a software team a month of planning 15 years ago, I wonder how these apps will integrate into the larger eco-system… Do you have any feeling for how this will play out? how the smaller apps link together to become a workflow?
Best of luck for your new adventure, keep us posted with what you get up to,
Daniel
July 2nd, 2011 - 16:38
Daniel,
This is part of the reason I focused on schematic design environments – the early phases of design necessarily involve working and reworking, so losing information in translation between programs isn’t as much of an issue. I would rather see a design examined in 10 different environments than kept rigidly within a single one to keep a handle on versioning.
The two trends that I’m currently keeping an eye one are: 1. the acceptance and development of “fast-and-loose” digital sketching environments, such as the ones I’ve described above, and 2. The rapidly evolving status of digital parametric and geometric standards.
The second one seems to be the real issue. File standards for conceptual design could conceivably be handled as an agglomeration of the file types we already have (OpenNurbs+xml+tabular data), packaged with some kind of data management filetype that handles associations (not dissimilar to sidecar files you see embedded with image files). But parametric software of the type used in design development, coordination, and documentation is much more finicky, due to the somewhat fragile nature of tree structures. For this reason I can’t help but feel that the life span of the directed acyclical graph as the model for parametric design software is limited. I’m not sure what we could replace it with, and it would be a monumental ground-up project to come up with a new paradigm, but the benefits would be enormous.
Finally, I have to say that I am very suspicious of the practicality of any kind of direct design-fabrication link. I have yet to meet a fabricator who is willing to take a designer’s drawings and build using their geometry directly, even if it was produced in SolidWorks or CATIA. The best way to understand a design is to rebuild it from the ground up, and for a project to be well-considered a certain amount of rebuilding between phases is probably inevitable.