The Collective Design Challenge

Posted by on Feb 25, 2014 in architecture | No Comments

I met Darin Phare last fall at the Architectural Science Association conference in Hong Kong. His presented paper, A Semiotic Framework to Understand How Signs In a Collective Design Task Convey Information, was a fascinating description of a framework for crowd-sourced design intelligence. Two parts Christopher Alexander and 3 parts MIT’s Place Pulse, The Collective Design Challenge is now a live entity– and in need of contributors.

Sign up for the Collective Design Challenge by either checking out the website or their Facebook page.

Positioning .gpx Information in GH

Posted by on Feb 12, 2014 in data mapping, Grasshopper | 2 Comments

The GPS eXchange file format is a quick and easy way to get geo-located points out of a tracking software such as Strava or MapMyRide. I hadn’t realized that it was in an .xml format until reading Hjörtur Sigurðsson’s blog post on positioning Endomondo information in GH. Sigurðsson doesn’t go into detail about how to develop the script, so I thought I’d play around with it and see how to get .gpx info into the GH environment. This script uses components from gHowl and Elk, feel free to click on any of the images to enlarge.


The first step is to create a link between GH and the .gpx file path. Save the .gpx file you’d like to use somewhere on your machine or server, and then use the File Path module to link the information into GH.


Use gHowl’s Xml Parser module to parse and understand the .xml data.


The .xml data will likely have some metadata at the top of your point list, use the Split Tree module to create a branch without this info. The Split Tree’s splitting input is inclusive, so you want to list the last branch you’d like to remove for the split.


The formatting may change depending on your .gpx source. In this case, the point coordinates were listed as separate items within a branch, so use list items to separate the different coordinates and then merge them back together in a Construct Point module.


Once the points are formatted, follow the same sequence I described in my tutorial on using Elk to Create Maps in Grasshopper. This requires finding a .osm file and SRTM data of the same area that you are mapping. This isn’t an overly elegant solution at the moment, but will allow you to position .gpx information within GH. Good luck!

Parametric Urbanism Final Projects

NataliaCundari_bike accident
South Lake Union Bike Accidents by Natalia Cundari

In last summer’s Parametric Urbanism seminar we looked at how social media could be aggregated to better understand urban behavior. Using the South Lake Union neighborhood of Seattle, the students looked at everything from MapMyRun paths to Flickr hashtags. The information was gathered and positioned with Grasshopper plugins Elk, gHowl, Mosquito and Lunch Box and exported to Google Earth. Some of the projects are embedded below, please note that for many of them you will have to pan down to see the information.

**Please note: The GEarthHacks plugin seems to work best with Google Chrome. There may be loading issues with older browsers.

Urban Tribes / Hyper-Local By Sophie Brasfield
An investigation into local subcultures through searching for keywords on Google Maps reviews and proprietor websites, then mapping the aggregation of these keywords.
Hypothesis: Amazon will not kill small business, it will change it however. What’s left after the internet? Places that offer an experience.



South Lake Union Recreation by Dale Lusk
This file uses MapMyRun data to map the aggregation of running routes in South Lake Union. Highways are described as barriers, parks described as nodes, and paths mapped between them. The paths stack, growing wider, taller, and with more color information based off of how many people use them.

Flickr Moods by Zhu Zhu and Stevie Hartman
The lines are the collection of different moods. (the sad mood line is composed of sad mood points; the happy mood line is composed of happy mood points etc.)
Metaball are used to show the density of the mood points too.


happy, joyful, fun, interesting, beautiful, elegant, surprised …
Negative (blue):
sad, cry, tear, depressed, angry, suck, disgusting…..

Craigslist Flotsam by Catherine Harris
South Lake Union is a man shaped lake with filled in marsh land and extensive dredging mostly accomplished in the early 20th Century. I became interested in the idea of flotsam — those items that wash up on shore, as an index of human presence in South Lake Union.
I looked on craigslist and found all the items people were selling in a particular 24 hour period. I then filtered for items which included a google map. Then I took those items and found their geo coordinates and placed a marker in google earth. I also used those geo coordinates to generate a metaball geometry through gHowl and Grasshopper, which mapped centers of intensity, by creating a dome like structure reflecting the numbers of contiguous or nearby points.

I used a nearest point mapping module in Grasshopper to take a tracing of the two most near coastlines, the southern shore of South Lake Union and the nearest ocean front and from those two lines, generated a series of possible lines to form the shortest distances between the two shorelines. This mapping is only possible because of the early 20th Century removal of Denny Hill, which was leveled to create the current topography of South Lake Union. Thus the land can be seen as transiently in its current angle of repose.

The conjunction of these two forms, projected on a Google Earth mapping of South Lake Union, gives a reading of the marginalized material goods and their potential trajectories.

Grocery Situation in South Lake Union by Michael Salinas
An investigation into food accessibility in South Lake Union, articulated by geometric aggregations and separations in an attempt to define a range of grocery territory.

All Google Earth Embeds powered by Google Earth Hacks.

Webb, Harris and Dubois selected for HDTS 2013

Posted by on Sep 10, 2013 in architecture | No Comments

It’s a real honor to be selected this year’s High Desert Test Sites. For the first time, HDTS is expanding it’s turf to Albuquerque and I’ll be working with the incredibly talented duo of Catherine Harris and Nina Dubois to create a dynamic inflatable structure. The structure will use passive heating to open during the day providing shelter from the sun and close at night to provide warmth and enclosure. High Desert Test Sites has been an incredible platform for experimental architecture and I can’t be more pleased to be involved.

If you’re interested in following the development of our project, please keep checking AFTER INPUT and sign up for the AFTER INPUT mailing list. Pumped!

Parametric Practice Sketches

Posted by on Jul 30, 2013 in architecture | No Comments

This semester @ UNM’s SA+P the Parametric Practice students are looking at how dynamic responses can augment architectural performance. In investigating ideas of building performance, many of the projects are asking questions relative to sustainability but are not necessarily attempting to produce the most “sustainable” project… At this stage of the process the students are producing sketches that show a performative system, a system that parametrically responds to a naturally-occurring condition such as wind, solar, or thermodynamic energy. The next step is to develop these systems into architectural systems, encompassing ideas of enclosure and stability. Here are a few of the concept sketches as they’ve been developed so far.

Thermodynamic Flow From Vector Field by Ben Ortega

Diagenesis Initial Experiments / Concept by Kameron Baumgardner

Animation1 by Chris Stewart

Reactive Parametric Skin by Dale Lusk

Breathable Building Skin by Chris Olivas

Metaball Diagrams with Google Earth and gHowl

Posted by on Jul 8, 2013 in data mapping, Grasshopper | 3 Comments

Google Earth presents an intuitive, dynamic platform for understanding spatial context. Combined with a parametric modeler like Grasshopper, Google Earth presents complex datasets relative to geo-positioning in a way that is understandable. Facilitated by GH plugin gHowl, GH meshes and lines can be exported in Google Earth’s .kml format to be viewed by Google Earth or an enabled web browser.

Creating legible geometry for Google Earth is challenging, but one type of geometry I’ve experimented with is GH’s metaballs, which are about as old school as it gets for 3D curvature. Metaballs, as described by Yoda (Greg Lynn), are “defined as a single surface whose contours result from the intersection and assemblage of the multiple internal fields that define it.” (Lynn, Blobs, Journal of Philosophy and the Visual Arts 1995). This aggregation of internal fields can provide an intuitive understanding of various contextual forces relative to the spatial context of a site. While GH metaballs are only curves and not meshes / surfaces you can easily use a delaunay mesh to begin to create a mesh.

This tutorial will walk through the process of creating metaballs from Geo coordinates. I’m using a map I created with Elk that is based off of Open Street Maps info, if you’re interested in doing something similar look here.

Just click on the images below if you’d like to see them in more detail.

Start by positioning your Geo coordinates in GH space through gHowl’s Geo To XYZ module.


Use the output of the Geo to XYZ module as the point input for GH’s Metaball(t) module. There are several options for creating metaballs, I’ve had the best luck with the (t) one. The next step is to set up a series of section planes for the Metaball(t), the number of planes will define the resolution of the metaball. Instead of creating planes, it’s a little bit more familiar / easier to create a series of points in the Z direction. The last input you need is the threshold value, which is a number you want as low as absolutely possible. The trick to this is that you probably still want the flexibility of a slider, but on a city scale metaball you need a number smaller than .001 which is the minimum value a slider allows. The trick here is to multiply two sliders with small values together and use that value to drive the threshold value, you can even use a third or fourth slider if you are using a bigger scale.


Once you’ve created the metaballs, you can use the gHowl KML Out module to create a .kml. Use a path module to set a file path, have the Metaball(t) output feed the G input of the KML Out. Use the KML Style module to set the curve color and use 2 similar GEO and XYZ points that you used in the Geo to XYZ module to Geo reference the output. I’ve had the best luck with setting the Altitude Mode to Absolute, but I’ve really only done this at sea level at this point.


This will create a .kml file that will show your metaball data in Google Earth.


Using Elk to create maps in Grasshopper

Posted by on Jun 20, 2013 in data mapping, Grasshopper | 20 Comments

As far as information synthesis goes, Grasshopper is pretty amazing. A frequent starting point for representing data is with the conventional geographic map, which creating in GH is not always an intuitive process, so I thought I’d create a tutorial on creating a geographic map in GH to begin to map spatial data. The plugins I use in this example are gHowl and Elk. If you follow along with the exercise, feel free to click on the images below to enlarge them.

First, download your vector information from Use OpenStreetMap’s interface to crop to the area you’d like to map, and download an .osm file by selecting the export tab and then OpenStreetMap xml data.


In GH, use Timothy Logan’s Elk to bring the .osm info into GH. Use the File Path module to connect to the P input of the Location module, this identifies the .osm file you’d like to use.


The Location module parses the .osm file and identifies what objects are what. You then need to start connecting the rest of the Elk modules to pull out the different kinds of data- connect the O and X outputs of the Location module to the O and X inputs of any of the other Elk modules (except the topo module) to start building your map.


The points representing the different objects will be organized in different branches, which will allow you to create different geometry from them.


The GenericOSM module is crucial, it allows you to parse any other osm features there aren’t modules for, in this case Buildings. You can find a list of osm features here. You can also use a text editor to open your xml file and see what points are tagged with data. Amenity, Highway, and Railway are all worth exploring- Land Use is particularly interesting. You can also use the V input to parse for subcategories of features and the K output combined with the Text Tag module to label the objects with their metadata. GH3D user Ivor Ip posted a GH attribute list of some of the osm features that you can download here.


This is a workable base for many diagrammatic maps- there’s a lot more data we can add but for now this should give us enough to work with. The next step is creating the ability to position WGS84 coordinates (longitude and latitude information) relative to this information. Use Elk’s sTopo module to use SRTM data to create a topography. First we’ll need to download the right SRTM file, I’ve been using the the WGS84 info from Elk’s Location module to help find the right file from the USGS repository. Be sure to verify that you’re looking at the right data with QGIS or another program- the naming convention can be a little tricky… but once you have your .hgt file, use the File Path again to reference it to the sTopo module.


If you’re interested in creating a 3D topography, flattening the points from the sTopo module and inputting them into a Delaunay Mesh will create a quick and easy mesh. For our purposes, we’re just going to use the points created from the topography as a reference for mapping our coordinates. The goal here is to use gHowl’s Geo To XYZ module to position coordinates relative to our map. Find the first and last points from the sTopo for the P1_XYZ and P2_XYZ inputs, then use the Lo and La outputs of Elk’s Location module to create info for the P1_Geo and P1_Geo inputs.


Now any WGS84 coordinates that are loaded into the Geo to XYZ module will be positioned on our map. This is particularly useful when mapping geotagged information, like tweets or other social media info.

The System(s) of the Census Dotmap

Posted by on Jan 23, 2013 in data mapping, graphics | No Comments

As usual, the MIT media lab cranks out amazing stuff- Brandon M Anderson put together a fascinating infographic that maps every citizen recorded in the 2010 US census. The graphic itself is very compelling, especially when you adjust the scale, but what is also compelling is Anderson’s description of the process. Using GIS shapefiles, python, processing, Google Maps, and a 17 GB CSV file (!) Brandon was able to produce an incredibly dense graphic. Read more about his method here.

CNN featured this project on their what’s next blog and noted the dense population in the east part of the country compared to the west. This was attributed to a proximity to agriculture, but Dr. Adelamar Alcantara of the Bureau of Business and Economic Research here at the University of New Mexico would be quick to point out that there are other factors at play as well. According to Dr. Alcantara, the U.S. census is a fairly flawed system, based largely off of IRS tax returns that are validated by county census records- a system which can ignore low income people in poor counties or in areas without a similar infrastructure. Dr. Alcantara is developing a system that uses GIS to evaluate the number of housing units for the state, cross reference those records with birth and death certificate records, then evaluate the “gaps” in the addresses. A paper on the BBER’s work related to this subject is here.

While the Census Dotmap is an amazing example of describing immensely large amounts of data, making the data understandable should not only posit theories about trends and patterns but call to question the nature of the data to begin with. Can we understand a graphic when we cannot assess the information it represents?

FreelandBuck’s Slipstream Drawings

Posted by on Dec 19, 2012 in architecture, Grasshopper | No Comments







There was a lot of chatter on the web last spring about FreelandBuck’s Slipstream Installation at the Bridge Gallery in NYC. It’s a pretty impressive piece, with over 1000 CNC milled plywood pieces that are aggressively non-orthagonal. One element of the piece that hasn’t gotten as much recognition is the incredible drawings that served as the systemic generator of the installation. On FreelandBuck’s website the drawings are described as:

As part of the Slipstream Installation inspired by Lebbeus Woods’ 2010 ‘Slipstreaming’ drawings, we developed a series of computational representations of flow. These drawings were each potential catalists for the installation suggesting both dynamism and bi-directional interlocking structures. The drawings were elaborated not through the conventions of digital drawing but toward other graffic mediums -charcoal, painting, drafting – opening up more diverse and tactile associations.

Flow, dynamism, and interlocking systems are almost architectural memes at this point, the evidence residing in the inclusion of these terms in most if not all of suckerPUNCH‘s entries, but what is most compelling about the Slipstream drawings is their effectiveness at conveying these concepts. The organization of the linework is remarkably fluid, the geometric arrangement is particularly evocative and the use of color gives a depth and a sense of space that few drawings can. In Orhan Ayyüce’s interview with David Freeland and Brennan Buck on Archinect, FreelandBuck describe a particular spatial interest themselves:

We are still very interested in the values and ambitions of the earlier generation of digital formalists – that space does need not be defined by a stable grid of lines and planes but can be far more dynamic and engaging when defined by curved surfaces, torqued planes and shifting tessellations. So our primary ambition is spatial even if the means are formal.

For FreelandBuck the interest in formal affect isn’t limited to this particular project or even their practice as a whole, but their teaching as well. In the description for Evolving Media on FreelandBuck’s website David Freeland describes the course as:

The drawing, as instrument of the avant garde, has been a significant transmitter of meaning in architecture, not through its faithfulness to translating a message, but in terms of the properties inherent to drawing which are deployed in support of a given ontology. Seeking the qualities inherent to computational drawing- multiplicity, systemiticity, gradation- this class reimagines the drawing in terms of visceral perception, a medium for the creation of a field of effects more atmospheric than Euclidean.

This interest in spatial engagement is at the root of what is especially compelling about the Slipstream Drawings, as they are more than an algorithmic assortment of lines but an attempt and a means to evoke and organize space.

Urban Air is Blowing Up

Posted by on Nov 19, 2012 in Art, sustainability | 2 Comments

Last week was a big week for Urban Air, being published in The Architect’s Newspaper, SHFT, co.exist, and the Huffington Posttwice. I had the pleasure of helping Stephen Glassman with some of the images on this project, and it’s really amazing to see how much momentum it has gained.

The idea of the project is to turn billboards into greenboards- armatures for vegetation within a typically barren urban condition. The first one, set to be installed in Los Angeles, will replace advertising with bamboo, water, and wifi that provides information on the project and the climate. It’s a great idea, and half way through their kickstarter campaign, they’ve raised over $30,000.

Check out more info on Urban Air here and help bring a green billboard to LA by donating on kickstarter.