7 rules for software start-ups

Ajit Nazare at Kleiner Perkins has 7 rules for software start-ups they consider funding:

– Instant Value to customers – solve a problem or create value with the first use
– Viral adoption – Pull, not push. No direct sales force required
– Minimum IT footprint, preferably none. Hosted SaaS is best.
– Simple, intuitive user experience – no training required.
– Personalized user experience – customizable
– Easy configuration based on application or usage templates
– Context aware – adjust to location, groups, preferences, devices, etc

[more…]

sketches and code story

While looking for a way to produce ASCII art of diagrams I ran into this nice story of why visualizations of code can give a fundamental help to programming (my highlights).

“If I can’t draw it, it’s probably because I don’t fully understand it”.

What prompted this article was one of those fortunate moments when you call on a collegue to help you out in a given situation (as fraught with danger as asking a collegue for help is) and you actually learn something useful. In this case I was struggling to untangle some logic that relied on 3 or 4 relatively unrelated variables in order to implement some specific business rules for my current employer.

So I called in a collegue and asked him to let me explain the logic to him so that he might help me untangle it. To assist me I drew a picture, and then another, and then another, before finally giving up and bringing up the relevant source code (what a cop out!). This at least allowed me to explain the complexity of the problem, and it was at that point that Ed (my collegue) said, “This needs a state diagram”.

To which I said, “Sounds good to me. Off you go then”. So as I explained, Ed drew the state diagram and within 10 minutes we had it all sorted out and found another logical bug to boot. Then I said, “That’s the fundamental problem with high level logic that relies for its input on the result of source code residing in a variety of different source files, its just about impossible to comment (or something equally succinct!).

“What would be great would be a way of putting diagrams like this in the code“. And then it all fell into place.

Tags: , ,

Snoqualmie falls

Some pictures from our last trip to the Snoqualmie falls (WA). The view was excellent. A nice trip of half an hour from Redmond. The close city of Snoqualmie is also nice. You can visit the North West Train Museum. Unfortunately, junk-food everywhere …. 🙁

Img 2283  Img 2279 2

Img 2308  Img 2321 2

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: , ,