As I mentioned the other day, I’ve been messing with OS X lately and I must say one thing: this is a pretty well designed UI right there. You can say a lot of bad things about Apple and their policies but they do seem to know a thing or two about UI design. I can’t really help but be impressed by the simplicity and consistency across all system components and features. The user experience just seems less… Cluttered. The design seems to be clean, organized and neat and the complexity is carefully hidden away from the user.

I actually find int interesting that while most people do recognize this fact, most (including UI developers) can’t really figure out what. When OSX came out years ago, everyone seemed to be enamored with “The Dock”, and tried to duplicate it on other platforms. To me however, The Dock is only useful because it is the default launcher/task manager for the OS, and it is deeply integrated into it. Most other platforms already have their dedicated launchers (desktop icons, quick start toolbar, Start menu) and their dedicated task manager. But that didn’t stop people from bolting a Dock clone onto that infrastructure. In fact, Dell still insists on shipping computers with the Dell Dock, even though Windows 7 task bar has duplicated all of the Dock features without actually sacrificing the native Windows UI look, or loosing the tray and clock.

Your average Windows user may now have a whole bunch of locations from which to launch programs: some will have shortcuts on the desktop, some will have shortcuts on the Dell Dock, some will be pinned to Windows task bar, and the rest will be in Start menu. Clutter, chaos and duplication of functionality! This is probably not an issue for a seasoned user, but in comparison a person using OSX only has the dock, and the application folder to worry about.

Good UI designs are minimalistic, and streamlined. It is almost impossible to make something easier to use and more intuitive piling more shit on top of it (even useful shit). You usually increase usability by reducing complexity. But that’s only one part of the equation. Minimalistic UI is not necessarily synonymous with intuitive one. In fact, the successful UI design lies at the intersection of technology and psychology. We tech people often forget that there is a human element that need to be factored into the design and this is why most interfaces we have right now suck so much. Open Source projects are especially guilty of this, because their focus lies elsewhere. With exceptions of the projects that specifically target UI innovations, the goals of most open source products are stability, interoperability and extensibility – UI design often being an afterthought.

Sometimes though, complexity and bad UI design can be a selling point. No, I’m serious. Have you ever heard about Bloomberg Terminals? They are specialized systems for market traders – a unix based back end, and custom built windows based thin clients that look like this:

Their most recognizable feature is it’s sheer ugliness and complexity. The UI is a byzantine, key-stroke driven maze that has not changed in like 20 years. It is hard to navigate, hard to understand and outright hostile to new users who have not yet memorized the 100 page abridged quick start version of the manual.

Bloomberg actually wanted to update their “blast from the past” systems, streamlining the UI, adding navigational features, mouse driven menus and black on white color scheme (to replace the eye straining yellow and orange on blue). Huge usability improvements should yield productivity gains, no? One would think that their clients would be all over this. But they were not. Everyone seemed to hate the idea with a passion.

Granted, every time you update the UI there will be old, entrenched power users that will declare the new version dummbed down abomination but in most cases these type of users are merely a vocal minority. The majority votes with their wallets and the upgraded UI sells like hotcakes. The problem was, that Bloomberg did not have regular users. Their whole user base was composed of cranky, power users. You had to become one if you actually wanted to do anything useful with the system.

In fact the Bloomberg UI was so horrible that navigating it became a marketable skill. Once you learned that shit, you could put it on your resume, and claim to be a Bloomberg guru. It was something that would set you apart from your colleagues. Bloomberg skillz was serious business. So the plans for the redesign were scrapped and the terminals are still pain in the ass to use – and their customers wouldn’t want them any other way.

We can all laugh at the silly tradesmen with their favored byzantine software system but… Well, they are not really that much different from you and me, are they? We are power users, hackers and tinkerers and we love complexity. We thrive in the clutter of busy counter intuitive interfaces, and prefer to do things the hard way. And we have good reasons too – for example I use Vim because nothing else (well, except for Emacs) really compares with it when it comes to power and flexibility. When I build software I don’t ofter think very deeply about UI presentation – I just go with what I’m used to, and what I think will work. Most of us work this way. Then one day we sit down and start using some product released by Google or Apple and are completely blind-sided by simple, and yet incredibly intuitive design choices – their sublet effects compounding to create superior user experience.

Anyways, this is just something to think about.