Emmergent Communities
FINAL PROJECT: DESIGN OF CITIES
Prototype for an Emergent Behavior Visualization
Tool, based on the principles presented in the reading
Design of Cities, by Edmund N. Bacon.
Juan Pablo Ortiz, May 1st. 2002.
INDEX
|
Flash Prototype |
Introduction
Having had the opportunity to read and further explore the concepts presented by Edmund N. Bacon in his book Design of Cities by, I became curious about developing an interactive project that could somehow reflect those concepts and ideas. It was the idea of how the growth of a city is affected over time by specific decisions made by high authorities, most of the times without even thinking about the impact such decisions could have in the long term. For instance, the obelisks placed in Rome by Sixtus V in an effort to give order to the city and to increase the Churchs presence, became determinant for the future design of the city. The same effect happened in Paris, when a garden like avenue Les Champs Eliseés was built penetrating the countryside, in order for the royalty to stroll and have long leisure walks, that later would become a guiding element in the explosion of the suburban clusters of Paris.
My interest is therefore, to try to establish connections between these phenomena and the behavior of online communities, such as mailing and news lists and the communities formed in your inbox, by the daily email traffic.
A second idea that heavily influenced the development of this project comes from Steven Johnsons book EMERGENCE, the connected Lives of Ants, Brains, Cities and Software, as I became interested in focusing my work at ITP in developing Emergent Software. My curiosity grew more intense about the subject when reading the following:
Interacting with emergent software is already more like growing a garden than driving a car or reading a book. P.207
*
With this set of ideas in mind, I envisioned a technically ambitious project, which given the time frame of the semester would have been impossible to accomplish. So I decided to build a working prototype, which is a much simpler version of the visualization tool I want to create. The following paragraphs contain a brief description of both, the long term envisioned project and the actual prototype.
Concept
The goal of this tool is to graphically visualize the behavior of an online community, such as a mailing list or your inbox. The tool allows the user to establish a basic layout of his city, by placing design elements on a pre-established grid. These design elements that will affect patterns in the simulated growth of the city can be built around the content of the messages, the actual people that sent the messages, or even the domains from where those messages were sent. The job of the program is to populate the city by using the messages as immigrants that arrive to the city and look for a place to settle their home. This effect of populating the city will be achieved by coloring the empty blocks, as the immigrants arrive. The final goal is to allow the user to observe the formation of clusters and patterns, directly connected to the activity that is taking place over time in his/her mail box.
In order to give some theoretical depth to the users experience, the tool will explain in simple terms the way the design of cities like Rome or Paris was affected by decisions made by powerful persons. Therefore, the software will invite you to try to reproduce those phenomena by giving you the power of choosing your city layout. Furthermore, the user will be able to create the design elements and give them meaning by connecting them directly to attributes found in the messages, such as the most common words present in the community of messages, the senders email addresses or the domains from which the messages were sent. The desired effect is to see neighborhoods forming around these meaning elements that act as magnets that affect the shape of your city. Therefore you could see the yahoo or hotmail neighborhoods being formed, or the 9/11 cluster if that is a hot topic in a mailing list.
Edmund N. Bacon in his Design of Cities book gives a special emphasis in understanding Simultaneous Movement Systems. I believe this tool will also help illustrate this concept, since electronic mail can be considered a system in movement, taking place over time. If two weeks or one month of email activity could be graphically represented in a few seconds, I am sure the user not only will comprehend the concept, the experience will be rewarding since what is really happening is that he will have for the first time a view from the top, that is the opportunity to learn about the patterns being generated by the email traffic he receives.
Description of the Prototype
When I sat down to sketch the design and of the email visualization tool, I realized that solving several of the technical challenges would take a long time and the use of more than one development tools. Therefore I decided to start the project by developing a prototype, which instead of parsing email would only parse a simple text, treat each word as an immigrant, and try to populate the city by representing them graphically on the screen. The easiest way I found to do this, was by treating the first letter of every word as a quality of the word, so the effect on the screen will be to see clusters forming around letters.
To build this software tool, I chose Macromedia Flash, as it is right now the tool that gives the programmer the ease of combining an object oriented language like Actionscript with a vector graphics design structure that facilitates the task of building animated and dynamic graphic objects. A second reason, is the easiness to distribute the project, since flash files are optimized to be downloaded on the web.
To use and play with the current prototype I developed the user has to follow these simple steps:
1. The user is asked to copy and paste any text, it could be a paragraph taken from any literary piece, web page. The program accepts any text in any language, as long as its in the western character set. Since this process is very intense for the computers processor, its recommended to paste text that dont exceed 300 words, so you can see a result in a short time.
2. The user clicks the Parse Text button, and several functions are called in order to break down the text in words, and also count the number of times each word of the alphabet appears as the first letter of a word.
3. Once the process of parsing text is done, a bar chart is displayed showing only the letters that appeared as the first letter along with a bar that helps compare them visually. Then, the user can start designing the city, by dragging the letters he want to set as design elements and dropping them in a given block within the 20 x 20 blocks matrix.
4. The last step is to click the Run Simulation button, and after a few seconds the populating effect will be seen on the screen, as the blocks that now have an immigrant appear in blue.
5. The user can repeat the process, but its necessary to close the program and run it again, since it doesnt support an incremental effect, that could be adding more immigrants to the city and simulating the changes in patterns.
The resulting prototype actually works, even though at this point the graphical representation you see on the screen is not as accurate as it should be. The problem that I found more difficult to solve, was the rules by which the program scans the available blocks and decides where to place the new immigrant. A good amount of effort had to be invested too in solving issues like accurately extracting the words and first letters from the text, and dealing with the limitations of the matrix, defining the boundaries to scan for free blocks, giving each block an identity and storing information on them to have a way to control and memorize the movements taking place, either from the user when designing the city or from the computer when simulating its growth.
In this version the user is invited to learn about the design principles of Rome and Paris, and is invited to apply them to see his particular design affecting the shape of the city.
Conclusion and perspectives for this project
Even though the achievement in this project is very modest, and its inner logic very simple, I was able to abstract essential concepts that will be applied to my envisioned E-mail Visualization Tool:
|
- Parsing some form of content and extracting valuable information |
A feature that I find will give great power to the user therefore resulting in a fun experience is the power to have dynamically create connections between the content and the design elements. Playing and manipulating these elements, I believe will deliver very satisfactory results. However, the challenge to implement a feature like this is even greater.
Since I had very satisfactory results by working with Flash, I would like to keep this development tool as the best choice for designing the front end of the application. However, my plan is to do some research in order to find auxiliary tools that will help the Flash program in exploring files and folders in the computer, find your inbox file, and parsing and extracting valuable information from it. Probably the language of choice for this job is Java.
Besides of helping me learn about the evolution of cities, a subject Im passionate about, I was able to develop a project with a strong theoretical background, which is one of my goals at ITP. Im not so much interested in creating eye appealing experiences, but to convey some kind of knowledge trough the pieces I might be able to complete while in the Masters Program.
The class provided me with excellent content to be applied not only to one, but to many other projects. And finally Id like to say it was a rewarding experience to try to build this tool, it gave me the opportunity to combine to approaches: a very technical one from the Interactivity in Flash class with the theoretical knowledge from the Emergent Communities class.