No doubt about it: the most fun I’ve had today is typing the words of the this post’s title, because I can only imagine the look of indignation on the face of one of our May Computer Science graduates upon reading it. A devoted Apple fanboy … err, fangirl, she no doubt takes great umbrage at that headline. After all, she secretly posted an Apple sticker to my office bookcase. But I’ve been waiting for the chance to write a headline like that for a long time. Take that, recently graduated female Steve Jobs disciple who will get married in about a year to another May Computer Science graduate. You know who you are.
Kidding aside, the iPhone really is making some people sick, as this article describes. It’s actually a quite serious problem. The eye-catching animations and subtle background movements that distinguish the newest iOS experience are aggravating a condition that affects up to 35% of all Americans. In severe cases, iOS’s graphical flare can induce nausea and vomiting in people who suffer from vestibular disease. Apparently, this is one Apple that, even sans worm and core rot, may induce vomiting.
An Android devotee, I will do my best to stop reaching down for the obvious jokes. (Hey: name one person who doesn’t get sick looking at an iPhone screen. Steve Jobs! Hah!) OK, that’s the last one, I promise.
There are important lessons for Computer Scientists to learn from this example, so I’ll behave. The first lesson is expressed very well in the article: user interface effects should “have a useful function, such as showing context, hinting about functionality, or demonstrating transition, rather than being purely decorative”. In other words, eye candy must be more than sweet; it must also be nutritious (like an apple! Hah!)
The other lesson for software-development-leaning Computer Scientists is a little more obscure, but just as important. The developer of the popular iOS calculator app PCalc included the ability to turn off the “sickening” graphical effects in his app, but he suggests that Apple must implement the option at the operating system level. The best way to standardize behaviors is to implement them in the operating system, because the operating system dictates the rules by which all applications that run on it will behave.
The industry saw this long ago with printers. Before Windows replaced DOS as the dominant operating system, application developers had to write their own software to support printing from all the various printers on the market. Windows changed that by introducing the idea that printer drivers would be installed at the operating system level. Once that change was made, Windows applications could then just leverage the ability of the operating system to communicate with the printer instead of having to implement that capability themselves.
That is precisely what the author of PCalc requests: he urges Apple to enable users to turn off the offensive animations at the system level, so that individual application authors don’t have to worry about doing so. Besides, if it’s left up to individual app writers, they’ll inevitably reduce the harmful visual effects differently, resulting in an inconsistent user experience. That will directly harm Apple’s brand. Apple’s claim to fame is the user experience it provides. That hinges on uniformity and predictability much more than it depends on drawing pretty pictures.
I must be the consummate educator for letting go of my Apple-hate just long enough to provide two valuable software engineering lessons to my readers. And hopefully I didn’t make anybody sick in the process.