I Hate Updating My Apps
Updating apps via iTunes is the clunkiest workflow, ever. Spread out all over the screen, we have to deal with dialogue boxes, text links in the lower right corner, buttons in the upper right corner, centered prompts for email and password (for free updates?!?)…
Apple, this should be invisible, automatic. Drives me nuts…

ChatRoulette, Elevators, and Panopticons
My wife and I – and millions of others, I’m sure – are continually annoyed by folks who walk up to elevators and press buttons already lit.
Though not a new phenomenon, we think we have a solution.
If pressing a lit elevator button were to cancel the call and simply send the machine to the nearest floor in the current direction, there would be a penalty to pressing it more than once.
The interesting thing about this idea is that it need not be universal. Instead, elevator designers could follow the lead of Jeremy Bentham and create a panopticon-style system in which some small portion of elevators operate this way. It only takes the fear of looking like an idiot to regulate behavior (most of the time).
ChatRoulette Weirdos
As ChatRoulette takes off, it’s becoming plagued by pervs flashing their junk or otherwise being slimy. It’s certainly expected, as the anonymity provided by the web brings out that side of people. It’s just a fact of life on the Internet: if there is an opportunity for a guy to flash his weiner anonymously, he will.
And that’s fine. It’s the way of the world. It’s the way of the web.
But so, my friends, is community moderation.
Enter ChatSnapper
Let’s try an experiment.
- Follow @ChatSnapper on Twitter.
- DM or @reply to @ChatSnapper with a link to a screenshot from ChatRoulette (or other online chats) showing offensive (or just weird) behavior.
- Check posted links and help shine a light on the offenders.
Let’s see if the existence of a rogues’ gallery has any effect on the actions of folks.
If this works, I’ll start calling elevator companies.
ADDENDUM
Alex Bisceglie alerted me to a similar effort: ChatRoulette Cock Map. It includes an app that can track the IP of offenders as well.
The very moment that Alex sent that, I was working on a WebKit browser with screencap and yfrog upload. For now, grab a build at: ChatSnapper - Alpha.
- February 17, 2010On Storytelling
Sure, it’s Chip Kidd’s nightmare and neglects entire sub-genres of modern literature, but to me, the relative homogenization of story formats on the Kindle is great. It’s making me read more often and with less prejudice.
I’ve often wondered about the gap between the story an author creates and the experience had by readers. I’m not thinking of the changes that come at the hand of editors, but rather the effects of the design and marketing process. The number of words per page, the typography, the stock, the cover – all variables that shape the reading experience.
The Kindle – and probably other e-ink readers – displays all books with the same detachment. All texts are reduced to…text. The typefaces are basically standardized and the font size is under the control of the reader. Even the display of the reader’s current “position” in the story is abstracted from physical page count and instead shown as a percentage. Reading on the Kindle is – and I say this with endearment – like reading a digital copy of the original manuscript on a word processor.
This consistency of presentation along with the nearly non-existent display of covers and marketing effort in the Kindle store leads me to pick more widely than if I were ordering a hard copy online or standing in a bookstore. There’s no distraction. No salesmanship or reification of marketing fluff via design.
I’m sure there is a downside to this, but so far, as a reader, I can’t find it. Each book I read stands on the merit of the words, and the words alone.
It actually feels more intimate, in a way. The reader and the author communicating without much noise in between and around the channel separates the story from the package. It’s cool.
Enter iPad?
Surely, the iPad will help spark new forms of storytelling the same way hypertext helped inspire lit movements. I can’t wait to see the first few generations of touch-based, mobile literature. My mind races happily along each time I imagine journalism, poetry, and prose five years from now.
But, much like a time machine – only able to travel back to the moment it was invented – I think there will always be a place for Kindle-like devices because new interactive platforms will probably just get in the way of texts developed for plain-text display and that classic format is both intensely front-loaded and clearly here to stay.
- February 16, 2010Kindle vs Apple iPad
Many have chimed in, ahead of the Apple tablet announcement, on whether the new Apple device will be a “Kindle killer”
I don’t believe this will be the case. It’s not so much about the pros and cons of e-ink, backlights, or screen resolution.
To me, the Kindle DX is a brilliant device because it forces me to read a f’ing book.
No dock icons blinking. No compulsive checking of Twitter, email, or stock quotes (or Texts from Last Night).
By offering a limited set of functionality and doing less, better, the Kindle forces me to eschew the kind of distractions that make me curl up with a book in the first place.
Apple can create the be-all, end-all Surface or Canvas or Slate or whatever. I will buy it. I will buy the shit out of it. I’m a developer and UX geek (and yuppie hipster scum) - I have to.
I won’t use it to read novels, poetry, or prose. Magazines and news? Sure. Tech books? Maybe, if live docs and errata were part of the mix. But then, that type of reading is work, not pleasure. Not therapy. That’s where the Kindle shines.
I have looked at (an early version of) the Kindle development kit (the KDK) and though I’m tempted to create apps focused on distraction (Twitter client, anyone?) I don’t think I’d run them. Instead, I’m trying to dream up apps that boost the escapism the Kindle already affords me.
So far, nothing beats the core function: making me crave reading as much as my first library card did.
- January 25, 2010UX in Bed
One of the questions I ask when working on a new project is, “Where will people use this?”
The question is obvious for mobile projects because highly variable environments are par for the course. It matters with all non-stationary touch points, though – from door handles on train cars to Android applications to the work we’ll surely be seeing from the new Schematic Touch group.
Asking the question is easy. Using the response may not be. I see mobile apps all the time that are clearly made for users who are stationary, physically stable, connected to a consistent network, and with both hands free for interaction. High demands, right? They conflict with my more common usage patterns, and those apps rarely get launched.
A great example of a more subtle conflict – and one being addressed without much fanfare by many app developers – is iPhone usage in bed and auto-rotation.
Welcome to My Boudoir
My wife and I are incredibly lame. We tend to lie, side by side, reading news on our iPhones before falling asleep at night.
Apps that auto-rotate when the device orientation changes suck in bed. Or on the couch. Or in a reclining seat in first class. Or in a hammock. You get the point.
The problem is that we all flip-flop all over the place in bed (va-va-va-voom!), changing the point of reference for orientation. What makes a lot of sense when we’re upright is a pain in the ass when we’re horizontal.
A Suggestion
I’d like to encourage developers to carefully consider auto-rotation. A lot of devs are starting to catch on to this one as customers complain or make feature suggestions. I thought I might provide an example illustrating a really easy approach to disabling auto-rotation globally in an app. There are more sophisticated and pattern-y ways for the clever.
Don’t get me wrong – auto-rotation can be a great feature. I am all for it. But I have decided the baseline rule should be: If your views auto-rotate, you should provide a (preferably in-app) preference for disabling the feature.
An Example
So how does a developer do that?
Well, the interface is up to you. Let’s assume you have a project with a button that brings up an in-app settings screen.
If you have a UISwitch in there that represents the global auto-rotation state, just save it to the user defaults when you close the settings.
- (IBAction) dismiss:(id)sender
{
// Update the defaults.
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
BOOL autoRotationEnabled = self.autoRotationSwitch.on;
[defaults setBool:autoRotationEnabled forKey:kAutoRotateKey];
[defaults synchronize];
// Close!
[self.parentViewController dismissModalViewControllerAnimated:YES];
}
In your app delegate, declare a method to get the current global auto-rotation value.
- (BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return [[NSUserDefaults standardUserDefaults] boolForKey:kAutoRotateKey];
}
Finally, in each view controller that should obey the globals, ask the app delegate for the scoop.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
PillowTalkAppDelegate *appDelegate = (PillowTalkAppDelegate *)[UIApplication sharedApplication].delegate;
return ([appDelegate shouldAutorotateToInterfaceOrientation:interfaceOrientation]);
}
Here is a quickie example project that illustrates the concept: PillowTalk.zip
- August 21, 2009Microsoft Deprecating IE6 the Right Way
I am pretty far from a Microsoft fanboy. In fact, most of what MS produces scares, worries, and downright nauseates me: UX, security, maintainability, compatibility…
Still, I like two things about this blog post about their Office web apps.
First, I like that they are officially focusing on (admittedly, a subset of) modern browsers for their very dynamic web apps. Developers and designers at Microsoft are just like the rest of us, after all: they want to do great work and hate clunky platforms and unfortunate constraints. Bravo for continuing the baby steps forward.
Second, I like that they aren’t blocking or filtering user agents. They are offering “unofficial” support to semi-modern and modern browsers. They aren’t showing upgrade notices that make users feel like losers. They aren’t blocking access as some goofy religious mission. They’re just being practical.
From the post:
If you prefer to use another browser you should still give the Web Apps a try. While we cannot officially support all browsers, customers will not be blocked from using them. It is a goal of the Web Apps to have broad compatibility and reach.
I hope (oh dear lord am I gonna say this?!?) others can follow in Microsoft’s footsteps here and be respectful to users.*
* Yes, I also know Microsoft isn’t the first to do this. I’m being snarky.
- August 12, 2009My iPhone User Experience Book!

It’s shorter than I would have liked, and took longer to write, but it’s nice to have it in my hands.
You can buy it at Amazon.
- August 10, 2009Don’t Stop Supporting IE6
Planning to drop support for IE 6? Instead, redefine “support” and stay positive.
Yes, creating cross-browser experiences can be painful when support for Internet Explorer 6 (IE6) is required. There are dozens of hacks to get around certain issues, and it is possible to design experiences that are functionally identical on IE6 and more modern browsers. It may mean designers don’t have carte blanche, but that should be fine if their companies or clients mandate full IE6 support. Any good experience designer can work within constraints and still kick ass.
Still, a lot of folks are lobbying their companies, clients, and partners to drop support for IE 6.
My issue is how they’re doing it. The more dickish folks are throwing up an insulting roadblock, patronizing IE 6 users.
A more practical approach is to encourage users to upgrade with prominent, consistent notices. This angle isn’t terrible, but still alienates users and disrupts the experience for those users almost as much as a modified or “broken” IE6 experience. It’s just not friendly, or consistent with the brand message that usually mandates an identical UI across target browsers.
Another Option: Boring but Practical
My suggestion is to take this to the contracts. Redefine the word “support” as it applies to user agents (like browsers). Look at the cost/benefit of all types of support for all types of user agents. This should be a part of your business modeling.
Instead of refusing content to IE6 users or breaking brand guidelines by disrupting their experience with a patronizing notice, why not relegate them into a tier of Content-Level Support as opposed to Design Support?
Good sites already do this with a stylesheet for print: we don’t penalize printers for their lack of a good box model. The same is true of screen readers and most RSS readers. Maybe you can think of IE6 as a perfectly viable user agent for consuming content, but cost prohibitive for rendering top-tier experience design. Serve your print styles to IE6 if you don’t want to offer design support. Or serve a basic white-on-black stylesheet. Or no stylesheet. Pretend IE6 is the Googlebot or JAWS or any other non-graphical user agent. Just don’t punish people or talk down to them.
Channel Your Frustration Properly
You don’t have to be a dick to your less-endowed users. Shift them, officially, to a tier you, your clients, your company, and your partners agree upon and move on. Just make sure you’ve built an economic model that includes the IE6 users and estimates the cost of all possible decisions. Look at the realities of IE6 users of Digg to understand the complexities facing the people your cocky designers and lazy developers want to patronize or abandon.
Justify relegating IE6 with real numbers or choose to give it design support and force your designers to work within the constraints. They do get paid to work, after all. If they can’t create great experience design that doesn’t fuck over the people coding those experiences, fire them. Hire designers who understand browsers.
No matter what you do, keep your users’ needs first. They’re the ones you can’t replace.
A Great Resource
A few months back, I started up a GitHub project to create a baseline CSS file for all legacy browsers. Around the time I got contributions from folks at work, I found out about similar (but completed) projects out in the wild. One such project can be found here: http://code.google.com/p/universal-ie6-css/.
- August 06, 2009Death of the Apple Halo Effect?
Every iPhone and iPod Touch owner I know hates iTunes. Apple should take notice.
I think iTunes has become the main interaction platform for Apple. Given the popularity of the iPod line and iPhone, combined with iTunes for both Windows and Mac OS X, I’d bet more hours are spent using iTunes than Finder every day.
As with the App Store, Apple seems to be stumbling over itself with the iTunes experience. They need to slow down, reset, and rethink the experience promised by the Apple brand.
We know that iTunes is slow. The UI is inconsistent. The store feels completely alien to the main UI and experience. The app does far too much, plays too many roles too slowly. iTunes is more Wal-Mart than Apple Store.
People tolerate iTunes because it isn’t unbearable. It does work, after all. We all know the flaws I’ve mentioned and begrudgingly accept them because iTunes is the only choice we have. Another case of Software Stockholm Syndrome, I guess?
But here are two new (to me) insights.
- iTunes focuses on multiple mobile devices paired to one computer rather than treating all Apple machines as peers. If nothing else, Apple should invert the model they currently use. Instead of one machine and one or more peripherals, they should focus on the more common case of one device and multiple computers.
- Syncing a device to iTunes gets more painful every day, pushing users away from iTunes. Syncing a single podcast from iTunes to an iPhone takes fifteen minutes. It’s painful. This is a big threat the the Apple halo effect.
Mobile devices are for mobile people. Most of us operate in at least two computer-focused environments: home and work. Apple lets us buy, download, and sync content (apps, podcasts, audio, video) on a single computer, but on multiple iPhones or iPods. We still can’t easily add content – with or without DRM – to our devices from work and home. Aside from risky hacks to trick the phone into seeing multiple libraries as one, there are no practical ways to keep the whole digital lifestyle in sync.
My wife has stopped plugging her iPhone into her computer. In fact, she’s stopped opening her computer, save for writing posts on her blog. I asked why.
“I can do everything I need to do on the iPhone. I can get podcasts and music and apps, and iTunes freaking sucks, so why bother?”
The Apple lifestyle brand and experience is amazing when it’s strong, but like so many other things, it’s a bubble. iTunes is a thorn. Apple peripherals once caused a halo effect, but as they get better and iTunes gets worse, the iPhone and iPod Touch might cannibalize the Apple (desktop, laptop) computer market for lifestyle users.
- August 03, 2009

