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

Concept

Description of Prototype

Conclusion and perspectives for this project


Background Information:

The Design of Paris

The Design of Rome




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 Church’s 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 Johnson’s 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 user’s 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 it’s in the western character set. Since this process is very intense for the computer’s processor, it’s recommended to paste text that don’t 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 it’s necessary to close the program and run it again, since it doesn’t 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 it’s 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
- Designing the City
- Populating the City
- Defining the rules by which the city will be populated (that can be manipulated)

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 I’m passionate about, I was able to develop a project with a strong theoretical background, which is one of my goals at ITP. I’m 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 Master’s Program.

The class provided me with excellent content to be applied not only to one, but to many other projects. And finally I’d 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.