Jeff Chausse
Digital Strategy + Design
There’s a lot of rallying for full multitasking support on the iPhone, but a lot of that passion is misplaced. I don’t think Apple will ever support “real” multitasking on the iPhone.
Why? Because the main point of multitasking is to be able to move quickly from one application to another. But this goal can be solved in ways other than running multiple programs simultaneously. If a program can return to the exact state you left it in, in a matter of seconds, from a cold start – what does it matter to the user if it was “running” or not, while you weren’t using it? That’s the approach Apple took, and it’s a wise one. It works the vast majority of the time, only failing when third party apps are too slow, or neglect to return you to the exact state you were in when you left. Betting on faster processors and memory instead of gigantic batteries to handle needlessly-running, multiple simultaneous processes, was a very forward-thinking move – and an environmentally sensitive one to boot.
Apple basically waited for Moore’s Law to make multitasking (mostly) irrelevant. What’s interesting is that, as Moore’s Law chugs along, it could drive user-friendly computers to move in the opposite direction.
Battery life is one reason Apple doesn’t support multitasking on the iPhone. The other is complexity. You (the user) can avoid the battery drain problem by multitasking wisely. But that requires a whole lot of abstract thinking. Users have to be savvy enough to figure out how many processor cycles an app is likely to use in the background, and figure out what to quit, and when. I use a jailbroken iPhone because I really want background audio apps, and even I (a well-trained “computing professional”) fail to “multitask responsibly” – my battery giving out when I least expect it. The “it just works like magic” value proposition of Apple products takes an enormous hit when complex issues like processor cycle usage are exposed to the user.
The complexity issue of multitasking can be solved by Moore’s Law + time. It will evaporate when computers that can run unlimited processes simultaneously come into being. At that point, there will be no need to close any app, ever. Don’t think that day will come? Well, 20 years ago, did you ever think you’d be able to put every piece of media you own into a pocket-sized hard drive? Moore’s Law causes drastic paradigm shifts across decades. That day will come.
But…
There’s one component of computing devices that is notoriously resistant to Moore’s Law – which evolves at a glacial pace compared to processors, memory, and hard drives: the battery. We may never have a portable battery powerful enough to reliably support this “everything-always-running” world. And that’s why this future computing paradigm will likely never hit the iPhone (at least not for many decades).
In a world without utterly transparent multitasking, the only way Apple can preserve their “magic” is to follow a piecemeal strategy of tackling the symptoms of all this multitasking wishing. Aside from quickly switching between apps, there are three reasons people want multitasking. Apple has already tackled two, and is definitely working on the third, right now.
Multitasking use case #1: Working with data between multiple apps
Apple tackled this first by introducing a very clever “cut and paste” system. Granted, it’s no substitute for having multiple application windows open simultaneously, side by side, but only the most hard-core nerds would argue for a need to run something like a programming IDE on a phone.
Multitasking use case #2: Letting one app send you information while you’re using another app
Apple later tackled this problem with their “Push service“. Of course, it’s not perfect – it’s limited to simplistic Javascript-style “alert boxes” – but it handles the huge majority of use cases just fine. Of course, it requires an always-on server component to work – but in this day and age, if you’re scared of “the cloud”, you probably shouldn’t be developing software.
Multitasking use case #3: Background audio
Here’s the real sticky one, still horribly broken, and desperately crying out for a solution. Pandora and Simplify Media are awesome audio applications (and there are others), but they’re pretty much useless to me without background processing – because I rarely have nothing to do except listen to music. I don’t turn off my radio when I read email on my computer, why should that happen on my phone?
So, how’s Apple going to tackle this one? I think I know the answer, and I think a lot of people won’t like it. See, there is one audio app that can run in the background – it’s the “iPod” app. I predict Apple is going to enumerate everything other music apps do, that iPod doesn’t – and add those features to the iPod app. (Remember that Lala acquisition?). Apple’s not afraid of telling users they don’t need apps that duplicate what the iPhone’s built-in apps can do (it’s definitely not afraid of telling developers that) It’s a sort of “boil the ocean” strategy, but Apple already boiled the music ocean once…
While reading an article partly about the iPhone user experience, a thought dawned on me about the virtual keyboard. Like many other people, I was afraid that the lack of tactile feedback would be disorienting and difficult to get accustomed to. And, like most people who have moved to the iPhone, I’ve found that it really isn’t. That got me thinking about the whole nature of “touch typing”.
Think back to high school (those of you who actually took typing classes). What was the “sales pitch” the teacher gave you about “touch typing”? Well, it made you more efficient by stopping you from having to repeatedly move your eyes from the keyboard to the screen (or, er, paper – at least when I was in high school).
Now think about the iPhone. Where’s the keyboard? Where’s the screen? Your eyes never have to move more than 3 inches to jump between the two. AND, with the large visual pop-up key feedback (the real stroke of genius), you can rely on your peripheral vision to ensure correct keypresses, and still never take your eyes off of the entered text. Apple simply took a negative limitation of a mobile device (limited room for both display and input), and turned it into a positive – the ability to support a virtual keyboard by replacing tactile feedback with peripheral visual feedback.
Turning limitations into advantages is a hallmark of both great marketing and great user experience design. Whenever you’re in the process of designing a transformative product like the iPhone, always be sure to ask yourself “What old rules no long apply?”
A while ago I posted about Cecropia, a game company which had pioneered a totally unique video game called “The Act“.
Using a simple knob, the player smoothly adjusts the silent protagonist’s personality, causing the characters around him to react accordingly. All the action takes place in ultra-smooth Disney-quality animation, with absolutely no UI elements – creating the first true interactive cartoon.
Unfortunately, Cecropia has had a real problem with “The Act” – namely, how to market it. It’s far too short to make into a console game, and the knob (which most users don’t have) is pretty much critical to the experience, which would require a special hardware investment for most people. The animation quality is far too high to package into some kind of Flash game. It really would make a perfect arcade game. Unfortunately, the market for this kind of arcade game died out in the early 90′s.
So, anyway, they’re taking their technology in a new direction, facing up to the realities of today’s gaming market, and trying their hand at interactive Flash “advergaming”. They’ve put up a demo on Cecropia.com. I won’t tell you how it works (figuring it out is part of the fun). If you’re at all involved in interactive marketing, get in touch with these guys. What they’re doing is truly groundbreaking, and they deserve a lot of attention (and money). And, who knows, maybe someday The Act will see the light of day, in some form or another.
Niall Kennedy demonstrates a very clever trick for spying on a user’s browser history. You can’t actually retrieve the list (thankfully), but you can compare it to a known set of links. How? By exploiting the way CSS applies different styles to visited links! He recommends it as a way to selectively display social networking links which you have evidence the user actually uses, but the possibilities for creative evil helpfulness here are endless.
When I was at Hill, Holliday I wrote a controversial blog post (still available on their site) called “The Danger of Design – How Not to Build an Online Community“. It was so controversial, I was actually called into the Executive VP’s office and told “You shouldn’t say stuff like this, this is what we’re trying to sell“.
I was just going through my archives and decided to re-read exactly what I wrote, and decide whether I still stand by it today.
Yes, I do. Absolutely.
When I wrote this, MySpace was the king of social networking. My argument was that MySpace’s “amateurish” design encouraged a sense of community. Nowadays, Facebook is king of the hill. Does this invalidate my argument?
Absolutely not, in fact it reinforces it. Facebook succeeds for the same reason MySpace did – and then takes it one step further.
Facebook succeeds because, like MySpace, it does not impose Design (again, that’s “capital-D Design”, as I describe in the original post) on the users. And it one-ups MySpace because it prevents its users from imposing Design on others.
Design (capital D design!) is polarizing. Design forces you to make a decision – does this product’s image represent me, or does it not? If you want to attract a certain demographic, you want your products’ Design to speak to exactly that demographic. That’s Marketing 101.
If you want to appeal to everyone, start undesigning.
A while back, when press coverage of the Hollywood writers’ strike was in full swing, a writer was asked why it takes a staff of so many writers, taking such a long time, for so much money, to come up with something as short as a late night monologue. His response was: “You’re paying for the jokes that aren’t on the show”. Writing comedy’s not easy. Trying really hard to come up with five perfect jokes is far less effective than brainstorming 100 and throwing out 95 of them.
There’s a perfect parallel here with UI design. Whereas the art of programming typically involves working in a “5 steps forward, 1 step back” process, the good UI designer will know when something’s not coming together correctly, and do the right thing by throwing out the entire design and starting over. It’s more like five steps forward, five steps back, six steps forward, six steps back – repeatedly starting from zero, but each iteration benefiting from knowledge gained in the previous one.
A good UI design is one in which the whole is greater than the sum of its parts. No amount of tweaking will repair a UI that has gone too far down the wrong path. If your UI designer isn’t throwing out (a lot) more designs than they’re showing you, they’re not trying hard enough.
The creators of the forthcoming OS X personal task manager, “Things” have written a great blog post describing this phenomenon. In the process of designing a single dialog box, they threw out dozens of possible options (they actually display 38 of them). And this was for something that’s already been done (a dialog for entering recurring events on a calendar), which they just wanted to do better. Had they been designing something that’s never been done, there would likely have been a lot more.
So, the next time someone spends two weeks designing a single mockup, thank them. Remember you’re paying them for knowing what to throw out.
The West Midlands Fire Service has certainly gone out of their way to make their web site accessible – to the deaf. Kudos to them for figuring out a way to convey information to the deaf via the visual medium of the web.
I don’t remember where I first heard the term “0-1-N Fallacy” (and Google doesn’t want to help), but I’m pretty sure I didn’t make it up. If anyone knows the source, please let me know so I can give credit where it is due.
The “0-1-N Fallacy” is a misguided design process based around the idea that if an application displays data records of some sort, it must handle exactly three cases – displaying 0 records, displaying 1 record, and displaying N records (where N can be any number from 2 – infinity)
The problem with the 0-1-N fallacy is that if you always design a product to scale to handle infinite records, you will invariably wind up with an overcomplicated user interface when N is a small number. In cases where N is almost always a small number, designing for unlimited scalability makes the needs of the many outweigh the needs of the few.
One simple example is the usage of radio buttons vs. select boxes. Radio buttons are almost always preferable to select boxes when presenting a very small amount of choices – because the choices are always fully visible. If you absolutely must handle a case of unlimited options, you have to go with the select box. But if 90% of the time, you only have a small amount of options, you’ve made life much harder for the vast majority of cases, to handle the extreme outlying cases.
It may seem heresy to most engineers to claim that anything less than infinite scalability is good enough, but in UI design that is definitely the case. The iPhone, for example can only have 9 web pages open at once. It probably has the memory to hold dozens more, but if it held dozens, it would have to abandon the extremely elegant UI of “flicking” thumbnails to move between pages, and use a clunky list instead.
It may also seem heresy to apply semi-arbitrary limits on presented data but that’s why UI design is sometimes more of an art than a science. It takes experience and confidence to tell a developer “I don’t care if your search algorithm can present 1,000 options – presenting 5 is what’s right for the user.”
No matter how much you know about CSS, you can always stumble across something new.
I was pretty much unaware of the “outline” style attribute – which isn’t really a big deal, because in most ways it works the same as the “border” attribute.
Except…
The “outline” attribute is what’s responsible for drawing the little dotted boxes around hyperlinks when they are clicked or navigated (tabbed) to via keyboard (I always thought it was strictly a OS-level effect). Anyway, if they’re a visual blight on your sight, you may be inclined to try this:
a { outline:none }
However, that would make keyboard navigation nearly impossible. Don’t do it. If you just want to avoid them on active (clicked) links, just throw this in your CSS file:
a:hover { outline:none }
And there you go. Huh. Thanks to my pal Matt D. for the tip.
A recent project at work got me thinking hard about how a corporate homepage should be designed. Any designer worth their salt knows that a homepage design needs to be user centric – focused on what users will actually want to do (or what you want them to do) when they arrive.
The simplest approach is to make a list of possible activities, prioritize them, and allocate screen real estate accordingly. More likely activities — or activities geared toward more strategically important audiences — get bigger and more prominent chunks of the page – a sort of “importance equals pixels” policy.
This approach, while definitely a good starting point, is overly simplistic for a number of reasons:
One important reason to avoid the “importance equals pixels” approach to homepage design is that it can easily lead you into unattractive layouts. Your company may legitimately be targeting three different audiences of equal importance. The “importance equals pixels” approach will tell you to create content in three equal sized columns. But this sort of layout lacks visual appeal – variation in size is an important tool for differentiating different types of content (in any media – compare this old newspaper layout to this modern one). If you are in this situation, look to design tools other than size that can differentiate the content, yet provide similar levels of visual appeal. This could be done via bolder colors, different fonts, graphical elements, or judiciously used animation.
Remember, size isn’t everything.