Learn more about my newest book, "Designing the Moment"!

A note to those threatening Kathy Sierra

For the record, Kathy Sierra doesn’t deserve what has been done to her. Her fans don’t deserve it either.

For the record, the anonymity you can maintain online does not give you the right or unrestricted ability to send death threats. Despite your ability to maintain anonymity right now, the truth always comes out eventually. The web always finds out the truth.

For the record, making such a juvenile, playground-style move as threatening someone you perceive as weaker than yourself does not make you a bigger person. To the contrary, it reveals exactly how small you are.

For the record, a lot of people are angry about your childish cries for attention. And when you’re discovered, the community at large has all the power and tools it needs to ensure everyone in your life knows what you’ve done, now and forever. This will follow you. The web has given you your power, and it will take it away.

For the record, you are a coward.

Posted by Robert on March 26th, 2007 | Permanent link | No Comments »

Moleskine Pocket Storyboard Notebook

moleskineStoryboard.jpg

If you’re a fellow Moleskine cult member, and happen to also be a designer of some sort, check out these Moleskine Pocket Storyboard Notebooks. Storyboard boxes on the left, blank space on the right. I haven’t tried them yet, but I’ve used templates exactly like this before (albeit at a larger size) so I expect doing so in Moleskine form will be just dandy. I ordered one the second I found out about it yesterday.

Posted by Robert on March 25th, 2007 | Permanent link | 3 Comments »

Design Stories: Handling URL entries

In Dashboard HQ Bookmarks, we came across an interesting, and very common, design problem: how to handle the entry of URLs.

The idea behind Dashboard HQ Bookmarks is to give people a way to get all their bookmarks out of their browsers and into a web page. It’s not social, and it’s not glamorous. It’s just a great way to keep a grip on all the bookmarks you need when moving between the two or three (or more!) different computers you use on a daily basis (work, home, laptop).

1.jpg

To facilitate this, obviously, users need to be able to create new bookmarks, and this is a potential error just waiting to happen. You can ether paste an address into the Address field, or you can type in an address manually. When an address is pasted in, it usually includes the “http://”. When it’s typed in manually, it often does not. But we have to use the entered address to create a link regardless of how it’s entered.

To handle this, we considered adding the “http://” as the default value in the Address field.

2.jpg

Seems obvious enough, right? It’s a standard solution, so we could have left it at that. But this solution meant forcing the user to make a choice every time he created a bookmark. He could either keep the “http://” and start typing the rest of the address afterwards, or he could erase the “http://” and paste in a URL copied from somewhere else.

And with this in mind, do do we highlight the “http://” automatically when the field gains focus, or not?

If our user is pasting in the URL, it makes sense for us to automatically highlight the “http://”. This way, she can tab to or click on the field and paste the address without having to delete anytyhing. But if she’s entering a URL manually, and the “http://” is highlighted, she then has to deselect the text so she can start typing in text after it. Either way, we’d be inconveniencing (read: annoying) the user some of the time.

To solve this, we wrote an if/else statement in Javascript that checked for the “http://”. The Javascript simply checks to see if the “http://” is already in the entered address. If not, it is added automatically.

3.jpg

Now, we leave the field blank and let users enter whatever they want. With one line of code, we eliminated a point of frustration that would have been noticed by every user, every day. Add all these moments up, and it means our users would have wasted countless hours fixing URLs and erasing the default value.

It took us five minutes.

Design is all about the details.

On a related note: I’ve been considering putting up a wiki so people can contribute and collect code samples related to these Design Stories posts and to the examples used in the book. But the wiki software I’ve found is, well, let’s just say it’s not all that friendly. Got any suggestions?

Posted by Robert on March 20th, 2007 | Permanent link | 5 Comments »

Kaizen: Applying poka-yoke devices to software

Poka-yoke is Japanese for “error-proofing”. A poka-yoke device is any type of device or process used to prevent errors or to immediately handle them.

There are two types of poka-yoke devices: detection devices and prevention devices. A detection device is used to detect when errors occur and immediately provide notification of the error. A prevention device is used to prevent an error from occuring in the first place. Prevention is preferable, but not alawys possible.

Implement poka-yoke devices to ensure high quality by finding ways to ensure mistakes are minimized, in software products and in business processes.

For example:

  • Developers can use unit testing as a regular coding practice (“test-first” programming).
  • Application designers can use peer reviews to ensure nothing was missed in the designs and to spot potential issues.
  • Every iteration can undergo usability reviews from staff experts using the designs as a guide, and QA can leverage the designs to write test cases.
  • Inline editing solutions can be used in forms so that users can’t submit data until a form is correctly completed.

An ounce of prevention is a pound of cure. The more you do up front to prevent mistakes – quickly, of course - the less money you’ll spend fixing things later, and the happier customers will be.

(This tip is from the Kaizen Software Manifesto. Learn more about it here.)

Posted by Robert on March 15th, 2007 | Permanent link | 1 Comment »

Kermit Learns Windows

kermitwindows.jpg

Found this in a used bookstore a couple of weekends ago. Classic.

It uses Muppets characters to teach children Windows concepts five years before Windows 98 appeared, back when Microsoft was first starting to leverage many of the problematic paradigms that still exist today. Here’s a quote:

“Double-clicking is tricky. But don’t worry - you’ll get the hang of it! If a new window doesn’t appear when you double-click, try again. If a menu pops up, just click once on the first choice in the menu … the word Restore. You just learned another way to open a group window.”

The notion of group windows. Using Restore to open a window. Using a menu if double-clicking doesn’t work.

The problem that still exists today is that operating systems are designed for people older than 18 and younger than 50, who are apparently just like the heroes you see in movies who can immediately crack open and use a foreign computer system with little to no effort.

To use Windows (or any modern OS, for that matter), you need to know what Restore means, how to double-click, the fact that you need to double-click at all, what an application is, how to save and retrieve files, and on and on. But many people are never shown this. Many people simply dive in and start guessing, eventually becoming decent satisficers. Which, of course, leads to the incredibly fuzzy mental models and lack of understanding many users have.

In other words, computers assume a lot. They assume you will be able to read their proverbial minds and understand what they want from you. This is the reason we all have so many problems with them. (C’mon - admit it. You have problems with them, too.)

Yet somehow, the people that develop these systems - and that may include you - assume that users will be able to do exactly that. Read the system’s mind. Understand what it wants.

Perhaps you’re planning to have Kermit teach people to use your system as well?

Posted by Robert on March 14th, 2007 | Permanent link | 3 Comments »