Oh my… USER

In the original Tron movie, the programs saw users as their gods, essentially. In that movie, when a program dies, he casts his eyes to heaven and cries, “Oh, my User!”

Obviously, the concept of the user as a god doesn’t exist in reality, and the idea that our programs should treat us as gods has essentially vanished. No application is truly subservient to your needs — in fact, that sentiment might have died with Clippy, the helpful paperclip. If anything, software developers create applications with the idea that the user is subservient to it. Create the basic functionality with no regard to ease-of-use, and if the user has difficulty, that’s their problem: if it works somehow, more or less, then the developer’s job is done.

While this is usually how software is made, this isn’t how good software is made. This is how useful software products fail, in fact. You can have the most functionally complete application ever created, but if you ask your user to fill in too many gaps, to do too much work to make your tools useful, then you might as well not have any product at all. If you want to create usable software, as opposed to useful software, then you have to keep your user in your mind with every line of code.

But who are your users? You know by talking to your customers that some are more technically competent than others. As much as you’d like to give the middle finger to anyone you don’t consider your intellectual equal, they are the reason you have a job. Your job is to write tools for actual users. So your job is to first understand who these users are.

No, they aren’t one homogenous mass of people with wallets. Each approaches your product with their own skill level and background. However, if you look carefully, you can break down the user base into three distinct groups, and focus your efforts accordingly.

First, and most obviously, there are the Beginners. Beginners have no extensive experience with computers or software in general, and they need a crapload of hand-holding. A subset of these are the ones who attack the software with no experience and no desire to read the manual — the needy users. Another subset will rely entirely on phoning tech support. Despite the fact that you speak to the needy users more than anyone else, these are a tiny minority. If you’ve designed your software correctly, the majority of Beginners will be able to intuitively understand how to use the tools you provided.

Second, we have the Skilled users. These are the ones who have spent enough days using your product that they’ve moved on from simple “how to” questions to advanced questions of how to affect the best use of your product. If you have a basic user manual, chances are, they are way beyond it already. Now they need advice on specific use-case scenarios and implementations. If you don’t cover these issues in your manual, these questions will inevitably fall to tech support and end up costing you money.

Finally, we have the Advanced users. These are the users you love, because they don’t actually need help. In fact, they’ve used your software so much, they can inform you as to what changes you need to make for future releases. It’s important to listen to these users, but at the same time, avoid being guided too much by their needs, because their needs by definition don’t match the needs of the vast majority of your user base.

So those are your users: Beginners, Skilled, and Advanced. If you design your product with the user in mind, which user are you designing for when the needs of each group is vastly different? Let’s focus on the learning timeline, because it’s clear that Beginners don’t stay Beginners forever; eventually, they’ll become Skilled. In fact, it’s likely that they’ll only remain fumbling, needy Beginners for a week or so before they master the basic skills and move on to more advanced issues. Advanced users are a tiny subset that could really master any interface in spite of even vast usability problems, while at the same time informing you of the problems as they work.

The group that you need to focus on is the Skilled group. Every day, these individuals sit down and use your product to solve problems. Your task is to make their life easier. And if you’ve designed your user interface right, you’ve eliminated the pain of repetitive tasks, and streamlined daily activities based on what they need. In terms of documentation, your manual provides tips on how to improve their work flow, rather than focusing on clicks and menus.

The ideal software is easy to approach for the Beginners, provides obvious benefits to the Skilled, and is open-ended enough to allow Advanced users to expand on what you started. If any of these users needs to read the manual to perform any basic function, then you’ll know that you screwed up the interface. A user’s experience both begins and ends with the interface. User experience is the alpha and omega of interface design, and for that reason, if you haven’t once said, “Oh, my User!” then you’re doing something wrong.

Get my Cubicle Dweller books for nuthin’

As everyone knows, I’m a very famous* author of all kinds** of books. Until today, my writing was only available at my Cafe Press store or Amazon.com and only in ridiculously obsolete paper.

For those of you wanting to read my books Raised by Penguins and Cubicle Dreams without having to read them off pressed sheets of dried tree mush, I’m happy to now make them available as a PDF download:

To save to disk, right-click those links and choose Save Link As or similar.

If you have an iPad,… well first of all, I hate you,… but more importantly, you can use Calibre on your PC/Mac and Stanza on your iPad to copy it over for your reading pleasure. If you have an iPhone or iPod Touch, that method works as well, but the print is tiny.



* Not really.


** By “all kinds”, I mean two books made up of old blog entries, an unpublished novel, a published book on Mindstorms robotics, and countless instructional manuals.

The Bacon Brownie Experiment

IN A WORLD… where meat meets dessert in a choctacular pigsplosion of flavour, two Second Life oldbies set out to do what few have ever accomplished before. Bacon fused with chocolate to produce the ultimate sweet and savoury creation.

The experiment: BACON BROWNIES.

Let me offer a warning here. The potential for this recipe to go very wrong is great, and it could very well cause serious injury, heart attack, liver damage, diabetes, swine flu, and tongue depression. We are trained professional bacon experts. Do not attempt this recipe at home.

Our experiment began in a highly secure, top-secret location in my kitchen. Joining me in the laboratory was Dr. Catherine Omega, Bacon Foodstuffs Assembly Engineer (Ph.D. in baconology and certificate in bacononomy). We began by assembling our materials.

Continue reading “The Bacon Brownie Experiment”

I killed Cubey

For the better part of a decade, I’ve engaged with the Internet with a more-or-less consistent pseudonym, persona, avatar… handle… or whatever you want to call it. First I was the blogger, “Cubicle Dweller“, then “Cubey”, and finally “Cubey Terra” in Second Life. It worked for me, for the most part. Lately, though, I became concerned that I had taken a back seat to a fictional character. Just like when Leonard Nimoy published “I am not Spock” to reassert his identity as an actor rather than a fictional Vulcan, I wanted to set Cubey aside in the same way. I am not Cubey Terra.

So I killed Cubey. First I killed Twitter Cubey who had only a modest 200 followers. But Cubey wasn’t dead yet. His persona lurked elsewhere. So next, I killed Facebook Cubey, an avatar with a list of several hundred “friends” that he’d never spoken to, let alone actually befriended.

Continue reading “I killed Cubey”