Archive for November, 2009

Cynicism

Monday, November 23rd, 2009

I am very cynical, except for when I’m not.

cynicism layers

The trick is in maintaining a healthy balance between cynicism and idealism. You need cynicism for protection, and idealism for an energy source.

Too much cynicism will crush your idealism, and then you’ll become dead inside.

Too much idealism will make you too fragile, and then you fall apart.

Keep balancing.

Intuition [and / or / vs.] Data

Friday, November 20th, 2009

Data by itself cannot create anything. It can only disprove.

Intuition by itself can create many things, but it stays trapped within the designer’s own experiences and never becomes a conversation.

Both are important.

This is how to design things: Use intuition to create many good solutions, and then use data to narrow it down to the one best.

Intuition and data arrive at a solution

But don’t stop after one iteration; then you lose the ability to let your data shape your intuition.

By repeating this cycle over and over again, your intuition will get better, and you can focus on smaller and smaller problems, gradually approaching (though never attaining) perfection.

Iterating a design

(I can’t decide if this whole post is actually true, or if it’s just attractive because it seems simple and internally consistent.)

Adobe’s plan to take over the world

Tuesday, November 10th, 2009

(Notes from Ryan Stewart’s keynote talk at Philly Flash Camp.)

Contextual Applications:

contextual applications diagram

Adobe’s Product Line:

Adobe products and intended users diagram

Philly Flash Camp slides & code

Sunday, November 8th, 2009

And my example files:
demo.fla
demo.html

[Edit: I forgot to mention that my html file is using the swfobject.js library to embed the Flash object. It may be acquired here.]

Interfaces: An Essay With Cartoons

Tuesday, November 3rd, 2009

I. An interface is a window between two complex systems.

window

Most of the time, one of those systems is a person.

stick figure

The interface marks a boundary. It is the place where the human meets the machine.

person and machine


II. Most software is incredibly complex. Often, it is so complex that not even one developer who built the system can keep the whole of it in her head at the same time.

Information passes from place to place, is modified, recombines, evolves and mutates in a thousand different ways. An interesting program is a highly choreographed dance of a thousand different pieces of data.

To make it even harder, this happens on many levels at once, from the base electrical impulse guided by physical law, all the way up to conceptual objects that contain, modify, and recreate one another.

The fact is, there’s a lot going on.

pyramid showing different levels of software

Meanwhile, on the other side of that boundary, a person is… a person.

Talk about complex.

person surrounded by emotions


III. An interface is a window. It is also an adapter.

poorly drawn plug adapter

The user wants to get something done. He has in his mind a model of what he is trying to do.

This model comes from his life experiences, psychology, learned behaviors, things he’s observed in other people, and probably 20 million other subtle factors.

person thinking of a task

The system also has a model. This model is built up over time, a slow accretion of 20 million small choices made in every line of code, in every aspect of the system design, during every step of the development process.

The odds that this model matches the user’s model are very, very small.

computer thinking of a task

It’s the job of the interface to translate between the user’s model and the system’s model.

translation between models

It’s the job of the interface to manage and reduce complexity.

(To compliment an interface, call it deceptively simple.)

filtering out complexity

It’s the job of the interface to bridge, not just 2 worlds, but 2 million — the world within the system, and the personal worlds of 1,999,999 different users.

different users

That’s why making interfaces is hard. That’s also why it is worthwhile and necessary.

Because you could make life frustrating and difficult, but instead you get to make it pleasant and simple. Because you get to bring a small bit of order to a whole lot of chaos. And because you get to make things, in some small way, better or easier or more fun than they were before.