Friday, March 31, 2006

Factors in Tool Complexity/Simplicity: Vertical- and Horizontal- Features

More sketching...

I think one of the reasons 'simplicity' has become such a mantra is simply that us humans aren't very good at design.

Designing well to support a task requires an accurate model of the task, of the user and so on, and I think we tend to have simplified models.

So if we do the simplest possible thing that works, there's less scope for stuffing things up.

Why aren't we so good at design? I think one reason is the following.

I think our natural tendancy is to provide capabilities or software properties by creating a specific feature(s) specifically for them. These can be called vertical features.

The problem is, because of our simplified models, our attempts to support those specific tasks end up being too simplified, and thus restrictive.

An aspect of this is that the division of labour between the user and the computer is being pushed too much in the direction of the computer. It can be more natural for the user to know what they want to do and to simply find and use the capabilities that are suitable for executing that. If too much is being explicitly handled by the computer, and the user is too railroaded, it no longer remains a simple tasks of the user translating their intentions into operations.

There are also horizontal features, which are not designed for a particular task or property, but provide generalised capabilities than can be used for it. Cut-and-paste is an example. They tend to be lower-level, simpler and more flexible.

No comments:

Post a Comment