May 25, 2012

Graphic Interface design —or User Experience (UX) design as it is nowadays called— is not a science. And when you see 99% of all the interfaces out there you’d be hard-pressed to call it “art” instead. To many software developers UX seems to be a necessary evil. On one end of the spectrum we find the applications that seem to have an interface that exactly represents the program code. If there is an SDK function called MergeReferencedTemplateStructures() there will be a menu item called Merge Referenced Template Structures Ctrl+Shift+Alt+M. In many cases I wouldn’t even call this “design”.

Other programmers seem to treat UX design as a challenge to make their software as distinctive as possible. At this end we’ll find hand-crafted GUIs that do not in any way conform to the OS standard. Have you ever noticed for example how all virus scanner software looks completely unlike any other software? Virus scanners use custom images to represent tabs, buttons and toggles. They tend to reserve large areas on the main interface for logos and background images. I do not know why this should be so, the only logical explanation I can think of is that virus scanner developers believe that end users won’t trust software whose purpose is to protect the system if it seems subordinate to that system. The result is that it is often not clear what parts of a virus scanner window are clickable, and due to the non-standard nature of the interface, tooltips are often missing entirely. Not all UX that breaks away from OS-standards is bad by the way. Sometimes there are good reasons for re-designing a UX standard. Adobe LightRoom and Blender are good examples of non-standard UX design that seem to work very well.

Some typical Virus Scanner Interfaces

The most important part in any UX decision is the U. The interface serves only the user. It is not there to make you feel good about being a UX designer. It is not there to provide good screen shots for marketing brochures. It is not there so you can show off your Photoshop icon skills. The only guiding principle worth a damn —and I cannot stress this enough— is the user. There’s just one problem; the user doesn’t exist. Unless you’re writing a program for a single client, you’ll have to deal with users, and as soon as there’s more than one of ’em there will be conflict. All users want features specifically crafted to help them with the idiosyncrasies of their unique and individual tasks. All users want not to be confronted by features made for others. Some users want shortcuts, some users want drag+drop, some users want all features to be in the main menu, some users want all features to be in context menus, some users want toolbars, some users want command-lines, some users want text, some users want icons, some users want animated icons with text. It is easy for a software company to say that they listen to their users, because once you have enough users, every single possible opinion can be distilled from the hubbub. It’s like reading tea-leaves.

Read the rest of this entry »


May 9, 2012

Having been scolded earlier by visose for even daring to touch my Xbox rather than type code, I decided to put some oil on the flames. Most of the games I bought for my Xbox have been somewhat of a let-down. Mirror’s Edge, good concept, but too repetitive (and bloody ninjas). Just Cause II, way too repetitive and even more bloody fucking ninjas. Battlefield 3, utter bunkum, as previously mentioned, despite having no ninjas.

Now however I have finally been able to download Limbo by the small Danish game development studio Playdead. Limbo is both gorgeous and highly sinister. As a software developer I’m very impressed by the minimalistic approach. There are only six controls (left, right, up, down, jump & action), yet the versatility of the main character is quite amazing. There is nothing on the screen except the playing field. No health-bars, no compasses, no maps, no text, no music, hell not even colours. Truly a Zen-experience.

The game is also pretty damn bleak. The main character is clearly a young boy, and the best way, indeed, sometimes the only way, to find out new information about the levels is to kill him in innovative ways. Pretty much every entity you come across —including other young boys— will unfailingly try to murder him as well. Most deaths are fairly gruesome and the sheer frequency with which they occur turn the gaming experience into a decidedly Kafkaesque interpretation of Limbo.