Posted by sh1mmer on Dec 31, 2009 in General
The title says it all, but let me expand. The problem with crowd sourcing stuff is generally finding enough interested people and giving them an easy way to contribute to the larger problem. It’s unfortunate that unless the way to contribute is really easy people tend not to be that interested after all.
The Kindle is, at least to me, a bloody excellent device for reading books. However, I get really annoyed when the books I’ve just bought have some really glaring typos in them. I assume these mistakes stem from some shitty OCR the publishers paid someone (in the cheapest outsourcing market they could find) to do for them because they couldn’t possibly be expected to generate e-books in any vaguely modern way, like using computers and such.
An example of this the the Kindle version of Crooked Little Vein by Warren Ellis. Chapter 24 starts with the line:
“Aob picked us up outside our hotel, wearing his Same Old Bob face, not a hint of his earlier breakdown.”
What really irks me is that the a of “Aob” is a drop cap. Yes, that’s correct. However the hell Harper Collins transcribed this they managed to keep the correct capitalisation of his Same Old Bob face, and entirely fuck up the incredibly obvious drop cap at the beginning of the line. I assume, after having read a few, that publishers are happy to take my $9.99 for Kindle books, but not to pay someone to read them even one fucking time.
Anyway to get back to the point. I’d love to be able to annotate these fuck-ups with the handy keyboard on the Kindle. Since most of them are nothing more than simple typographical or scanning errors (A instead of B) it would be easy to show the most common ones to the publishers in a way that they could keep the Kindle books up-to-date with the latest fixes. I’d love to see Amazon, or Barnes and Noble with the Nook, push the technology a bit further and actually allow me to improve the books I read for the next guy, or the next time.
Posted by sh1mmer on Dec 15, 2009 in General
This is a reprint of a short essay I wrote for the excellent Designing Social Interfaces (on Amazon) by Christian Crumlish and Erin Malone.
One of the things I like about computers is their ability to create magic. They provide abilities that no-one thought possible and make them a reality. Yet, for many people this is also the biggest source of complaint about computers.
When you drive a car you probably don’t understand the thermodynamics of expanding chains of combusting hydrocarbons happening under the hood. Perhaps you understand the concept that gas expands in the engine block, pushing pistons in sequence which make the car go. But, even if you don’t, you can still understand that there is a direct correlation between the accelerator and the car moving forward. Of course, most interfaces are not quite this simple, even in cars. If the car won’t move, you assess what might have happened. And lo, you’ve left the parking break on! With this error dealt with you are free to go about your driving.
Obviously I’m not going to ask you to model your user interfaces after cars. However it is interesting that while cars contain significant amounts of complexity (complexity you and I almost certainly don’t fully understand) we can still functionally use them and recover the situation when things go wrong. This is because the sequence of events which makes the car work has formed a mental model in our heads. The car goes forward only when: it contains fuel, the engine in on, you are not applying the breaks, and you are pressing the accelerator. Since we have this model of how the car works we are able to troubleshoot when it doesn’t behave as we expected.
What is significant about the models we create is how functional they are. They aren’t based on the combustion of hydrocarbons or lateral torque. Heck, if there is serious engine trouble that is still a black box to me, but I know I can call AAA to tow me to a garage. And this, dear friends, is the crux of it; You need to design interfaces that let people recover from their mistakes. The problem you face as the designers of magical boxes rather than cars, however, is that users do not have the same robust mental model of computers that they have for cars. When things go wrong, and they certainly will, you users are lost in a sea of uncertainty.
So how do we solve this dilly of a pickle? Let’s start with what we know. Users must have a mental model of computers, otherwise they wouldn’t be able to use them at. However the scope of this mental model covers, perhaps, user interface widgets and probably some landmark mark or list based navigation. The problem, the thing that makes computers different from cars, is that computers interact differently based on context or conditions outside of our control. Much of this context may not be understood by the user, or may have never been explained. Cars are pretty old technology, children learn about them in school. By the time we first learn to drive a car, we are expected to have a basic understanding of how it works however generalized that model is. The same is not true for computers. Computer users are often actively discouraged from learning the underlying principles of what they are doing, and told to focus on the specific of the interface.
A great example of how this leads to the breakdown of users’ mental models is interaction with the Web. The Web is probably one of the least benign environments for a user on their computer and yet it is arguably the most successful computing platform. Using the Web there are numerous contextual or circumstantial errors than can occur, however the majority of users have no mental model with which to understand and recover from them. We looked at 4 possible causes of the gas pedal not accelerating a car, and yet a web page failing to load can have upwards of a dozen causes. Since users lack a mental model the best plan of action is to try and self-diagnose the error and educate the user. The distinction is important.
While it may seem sufficient to tell the user something went wrong and what they can do next, they are going to get into the same state again with the same confusion. Instead if there was a problem with the DNS tell them so, and help them understand what DNS is. Maybe you have to use an analogy of a phone book for web site numbers for their computer to dial, maybe you can convey the information more straight up. However you do it, don’t just let your users keep failing and becoming frustrated, give them a mental model that will last them a lifetime as a satisfied customer.
Image courtesy of mvallius on Flickr.