Tuesday, 25 September 2007

But is it art?

Technology is in a precarious place right now. We can do magic, as Arthur C Clarke defines it, in many ways. We can also design many wonderfully beautiful things.

The problem is that, mostly, the technologically marvelous things and the intrinsically beautiful things are not the same things. Technology is awesome but ugly.

To name one example: One of the largest obstacles to the adoption of Open Source software is based in design.

To the programmers among us, "good design" means something along the lines of "good code". I appreciate the mindset, since the alternative is bad code. Our programmers are precious to us. We need you, and appreciate what you do to make our lives easier.

Unfortunately, not all of us are programmers. Regular people can take advantage, right now, of all that Open Source Software has to offer us. For free, gratis, and verniet.

Why don't they?

There are many people who fully support the Open Source ideal. They agree with the philosophy, they hate Windows (whichever version), they are sick and tired of viruses and their information not being secure. And yet they still go home and boot up Windows. Why is that?

Partly it's what they're used to. They have always used Windows and they're used to it, with all its quirks and foibles. If there is one true thing Terry Pratchett has said, it's that what people want, what they really really want, is for tomorrow to be pretty much the same as yesterday and today. Microsoft has given users 7 years to get used to the XP interface, and then changed it a bit too much in Vista. There are many other things wrong with Vista, fair enough. I must maintain, however, that the most immediately frustrating thing upon initially opening Vista, has to be the interface. Not the fact that it was different from XP's interface, but the fact that it was less discoverable.

The strength that Windows has, in my opinion, is that it abstracts (to a great extent) the administration of a system. This is a good and a bad thing... bad for the engineers, who need choice, but good for the user that doesn't want to learn all that much about their computer before operating it.

In a recent discussion about (the Open Source 3D rendering and animation program) Blender, a animation producer of my acquaintance quoted the general response of her animators to Blender: that the interface was written for programmers, by programmers. While the interface probably makes a lot of sense to programmers who happen to also be good at animation, it's not for specialist programmers. They will probably continue to use their proprietary software packages until such a time as the Blender programmers stop engineering interfaces, and start designing them. There's a major difference right there, and requires a slight but significant paradigm shift:

Beauty is a good thing. Beauty in an interface contributes to productivity. Beauty should be unobtrusive and functional. A streamlined and functionally designed interface is inherently beautiful. Beauty is a feature.

A designed interface, as opposed to an engineered interface, is an interface which disappears. It should be intuitive enough to "disappear"... the user should not notice that they are using an interface. A user should be able to ignore what the program wants to do, in favour of what the user wants to do. Almost every program interface today forces the user to interact in certain ways, all of which make sense to the engineer; not all of which are immediately transparent to, or accessible by, the user.

Many programmers regard "the user" as a necessary evil. "The user" is seen as an intermediary stage, a larval form of "the guru". ("The guru" being a user that can troubleshoot and fix the problems they have on their own system. The mindset, generally, is that the user will be their own system administrator. When something doesn't work, the user is expected to go online, learn about their operating system, talk to gurus and other users, and fix their own problems. This is a two-edged sword.

On the one hand, the user learns more about his operating system. Fair and good. This will allow the user to help other users with their problems and, in time, become a guru. Very laudable.

On the other hand, this gets in the way of the user doing actual creative work during the time spent fixing problems. This is a larger problem than might be immediately apparent.

Let us put it in the context of another specialist area: fine art.

In order to create a great work of art, the artist spends some years of his life acquiring skills: drawing, composition, painting in and on various mediums, and so forth. He spends some time practicing his art. He makes some mistakes, and learns from them. We end up with the Mona Lisa.

Do I need to expend the same effort, study the same theory, acquire the same skills, just to appreciate the art? Of course not. It helps, of course, to know some of the technicalities of the art, in order to better appreciate the monumental skill needed to paint the Mona Lisa. But it's not necessary as such. A lot of effort has been made, over centuries, to explain fine art to the beginner. Even if you know little about art, a helpful leaflet may be picked up at the museum door.

In the same vein, knowing that a lot of very arcane knowledge went into creating a program helps to appreciate the achievement. A certain passing skill with the operation of a computer is necessary to gain the full benefit of any given program. The issue I have with many Open Source programs and operating systems is that the equivalent of a leaflet is not enough for the average user to gain the full advantage of the program. Rather, the user is required to pick up the knowledge to the tune of a certificate-level course in order to know what to do.

This needs to change.

What we need desperately in Open Source Software is specialist interface designers. People who understand the user's point of view. People who can see the value in abstracting what the system does from what the user wants to do.

There is a reason why programs like Adobe Photoshop are used over Open Source alternatives like Gimp (The GNU Image Processor). Why Maya is used over Blender. That reason has almost nothing to do with the quality of the underlying technology and almost everything to do with the interface. That is the reason why Gimp offers you the option of running Gimpshop (which makes Gimp act more like Photoshop) while Photoshop does not now and never will offer you the option of making it act more like Gimp. Interfaces.

We need to make a shift in technological thought. Beautiful interfaces need to be designed. Interfaces need to be seen as a valid technological field. Beauty is not an option.

Beauty is a feature.


Blender animation suite: http://www.blender.org

Gimp (The GNU Image Processor): http://www.gimp.org

Gimpshop: http://www.gimpshop.com/

1 comment:

  1. Very well put. Good design must combine visual appeal with usability. Both are a serious put-off to users when evaluating new software. This isn't only an issue for switching to OSS. There's a lot of butt-ugly Windows software too, after all. And pretty software that's impossible to use. But it's also a consideration just to get users to keep using your software in general. Especially as the cost of switching keeps going down.

    I'd love to see some of Google's research on this subject. They're in a unique position to watch users and how they respond to interface design.