CodePlotter: attaching ASCII diagram to your code

(via Jamie)

If it can’t be drawn, it can’t be built

CodePlotter is a graphical tool for creating and maintaining generic ‘box-connection’ diagrams in your code. CodePlotter can be used to express a range of organizational structures, such as:

  • parent-child relationships
  • class library hierarchies
  • Flow diagrams
  • state diagrams

The boxes can be labeled and the diagrams can also have a multi-line title. CodePlotter is definitely not a UML modeling tool (although it can be used to express similar diagrams). The program allows you to select the appropriate point in the program to insert a class diagram, then it offers a couple of simple drawing tools and once ready it pastes the diagram in the code. The cool thing is that that diagram can be reopened in CodePlotter for editing.

Codeplotter

Tags: , ,

The relationship between money and politics explained

The Center for Responsive Politics is a non-partisan, non-profit research group based in Washington, D.C. that tracks money in politics, and its effect on elections and public policy. The Center conducts computer-based research on campaign finance issues for the news media, academics, activists, and the public at large. The Center’s work is aimed at creating a more educated voter, an involved citizenry, and a more responsive government.

Opensecrets

Tags: ,

URGE: the anti iTunes Store

URGE is a digital music service from MTV Networks that makes it easy to enjoy, explore and get the music you want for your PC or portable music player. URGE gives you complete access to over 2 million songs, 18 music genres, countless styles and exclusives from MTV, VH1 and CMT. 

URGE is not available for Mac OSX but only for Windows and requires the latest service pack and Media Player. On the web site there are a couple of MP3 players that are compatible with the service.

From ASCII art to VISIO and back

Today, I was chatting with a developer on how she documents her code. One of the technique that she uses is that of making a small ASCII map of the functions of the class and embed that in the comments at the beginning of each class. This is a nice trick because it does not require to use external files for documenting the code that do not get used anyway.

Now, discussing with my colleague Andrew Begel, we had this idea of a plugin for VISIO that could eventually make the job much easier. VISIO is great to make box diagrams and add labels: in two seconds you can have something interesting to look at. However VISIO exports in a variety of formats that are not suited for a direct embedding in textual files.

So, our “submarine project” for the summer will be coding this plugin for exporting from VISIO to ASCII art and back. I think is going to be fun!

Ascii BirdAscii Bird Conv

Tags: , , , , ,

Sketches for design and design of sketches

Tversky, B., Suwa, M., Agrawala, M., Heiser, J., Stolte, C., Hanrahan, P., Phan, D., Klingner, J., Daniel, M.-P., Lee, P. and Haymaker, J. Sketches for design and design of sketches. In Udo Lindemann (Editor), Human behavior in design: Individuals, teams, tools. Pp. 79-86. Berlin: Springer. [pdf]
—————-

This paper presents a summary of the different experiments the author did trying to understand the basic mechanisms of human drawings and how these are related to design.The basic assumption is that in sketches form is intimately interrelated to function. Also in sketches omissions and distortion are sistematic and so useful that they can serve as cognitive design principle for computer algorithms.

One of the core definition of the authors is the contructive perception: the ability to reorganize parts of a schetchin the service of generating new ideas. The authors believe that this ability can be fosterted. The paper report a study conducted with abstract drawings. People who adopted the strategy to reorganize the parts of the drawing produced more interpretations than those who did not reorganize the parts. Differences between novice and experts seems to pivot on the same ability.

Other studies on the ability of people to design diagrams to give directions or instructions shows an intentional distortion of these representation to highlight specific aspect or feature of the part represented. These distortions seems even to occur in memory and are used by the authors of the diagrams to increase their usefulness.

Technorati Tags: , , , ,

One Laptop per Child first prototype presented

These last days a working prototype of the One Laptop Per Child (OLPC) initiative has been presented. I had in mind to write something about it since a long time for many reasons. First of all the idea is sexy: cheap computing hardware for everybody. It seem natural to subscribe to such a nice initiative. Secondly the project is born at MIT Media Lab, part of my previous life, and even more it is supported by Seymour Papert, one of my personal heroes.

However, the tone of the article I wanted to write is not hundred percent positive on the initiative for two reasons: first of all it seems to me that, like in many cases, we are proposing something for the underdeveloped countries without really talking with them. By this I want to highlight a lack of communication between the designers and the people this technology is supposed for. In this sense I agree with Temu Leinonen that there is a lack of cultural perspective.

The second point I wanted to raise is more at the content level. I have the feeling that we really lack of perspective on how technology can influence learning. Does providing a device to a child put him or her in the conditions of being in charge of his / her own development? I do not think so. (This goes in the same direction of this open letter)

I do not see the application for this laptop. At the moment is an empty box. Maybe colorful and with a nice design but still empty. So, can any of my layful readed explain me what’s inside of this box and how this something is going to answer the questions I raise in this little article?

Technorati Tags: ,

Displays in the wild: Understanding the dynamics and evolution of a display ecology

Huang, E. M., Mynatt, E. D., Trimble, J. P. (2006). “Displays in the wild: Understanding the dynamics and evolution of a display ecology.” To appear in the Proceedings of the Fourth International Conference on Pervasive Computing (Pervasive 2006). Dublin, Ireland. [pdf]
———

The paper present an in-dept evaluation of large interactive displays within a multi-display working environment. One of the interesting findings is that the use of these displays change over time. The authors report the situation they faced where an interactive display slowly become an ambient display. Another interesting finding is that is not possible to evaluate the use of a single system. Often these technologies coexist in an environment full of other resources so we need to take into account all this richness.
In short they registered the following: changes in communication style over time; changes in the task of scientists over time; the effect of other devices available in the environment; the transition of the interactive use to ambient display; the dynamic use of the interactive display.

Technorati Tags: , ,

Sketches for and from collaboration

Heiser, J., Tversky, B. and Silverman, M. (2004). Sketches for and from collaboration. In J. S. Gero, B. Tversky, and T. Knight (Editors). Visual and spatial reasoning in design III. Pp. 69-78. Sydney: Key Centre for Design Research [pdf]
————

This paper report an interesting experimental study on how people might use a visualization to solve a collaborative task. The authors sketch a couple of important points about diagrams: sketches maintain an active focus on the task; pointing over the diagram assured a visual grounding on the part of the map being discussed; the use of the pointers of the map discharged cognitively the task. The experimental study confirmed that the possibility to face the task facte-to-face on the same map increased drammatically the performances of dyads over remote dyads.

Two interesting pointers in the paper: the uathors used other participants to evaluate the aesthetic effectiveness of the maps produced in the experiment; finally the authors pointed out that even if the task was a spatial one the findings seems to be applicable also to non spatial tasks.

Technorati Tags: , ,

Maintaining mental models: a study of developer work habits

T. LaToza, G. Venolia, R. de Line. Maintaining mental models: a study of developer work habits. ICSE ’06: Proceeding of the 28th international conference on Software engineering, Shangai, China, 2006. [pdf]
———–

This paper present the analysis of the study of developer work habits. Using two questionnaires and an interview cycle, the authors gathered a large amount of data from the Microsoft developer community.

Among the most striking results the authors highlighted the attitude that developers have to be bound to the written form of the code. Additionally for protecting their work from external and unpredictable sources of mistakes, a strong feeling of ownership arise first at the individual level and then at the group level. Specifically on the visualization of the code, the authors note that despite the availability of high-level views of code and visual editors such as tools for UML, developers remain focused on the code itself.

Another interesting idea from the paper is that developers keep an intricate mental model of the code in their head and in transient forms such as whiteboards and sketches.

Technorati Tags: , , ,