A year ago I published a series of posts about HTML5 mobile web frameworks: Sencha Touch, jQuery Mobile, jQTouch, and Titanium Mobile. Setting aside differences among frameworks, I tackled the question of native vs. web and gave a nuanced answer, even a hesitant yes. A year later I’ve abandoned HTML5 and begun rebuilding my app in Objective-C. And while the long answer is still nuanced, the short answer is easy: if you want to build a great mobile app, go native. Continue reading
In early 2010 I left my job as Director, User Experience for Yahoo! Messenger. After three years I was ready for something smaller, where I’d have more of an impact and spend less time fighting big company politics.
But something was brewing at AOL. It had a portfolio of embarrassingly bad products and was admitting that publicly. Tim Armstrong (AOL’s CEO) and Brad Garlinghouse (head of Consumer Applications and famous for his “Peanut Butter Manifesto” criticizing Yahoo’s lack of focus) pulled in Matte Scheinker to fix the problem. Matte — my former manager, ongoing mentor, and one of my absolute favorite people — invited me to help found his new Consumer Experience team. The opportunity was too intriguing to turn down. So I weathered the inevitable, “AOL? Really!?” from friends and family and signed on in May 2010.
Armed with authority over AOL’s product review process, the three of us — Matte, Christian Crumlish, and me — set out to turn terrible experiences into great ones. We consulted, pleaded, designed, brainstormed, fixed typos, debugged code, cleaned trash out of conference rooms. It was exhilarating. The team grew and flourished; by fall 2011 there were seven of us. In the course of it I got to lead the TechCrunch redesign, build an internal social network, and meet and earn the respect of product teams across the company.
The Frog and the Bunny took a road trip to San Francisco. The Frog drove, because he’d done this before. The Bunny navigated, looking for a balance of speed and scenery.
They drove all day. They drove all night. They stopped at a Denny’s in St. Louis. As they dug into their Moons Over My Hammy the Bunny said, “Tomorrow we’ll make for Denver. It’s a flat, boring ride but then we’ll have the plains behind us and see some mountains!”
Just then a long, furry head emerged from the booth behind them. “I couldn’t help overhearing,” said the Ferret. “I’m headed to San Francisco too. May I join you?” The Bunny looked worried but the Frog said, “Sure! I can see from your trucker cap that you’ll add value to our little adventure.”
The Ferret slipped into their booth, grabbing a mouthful of Bunny’s dinner. “All this speculation about routes is silly,” he said. “Look out that window! Hundreds, thousands of cars headed off on their own adventures. Surely our best route will be the one with the most cars. Let’s count how many go each way and follow the biggest crowd.”
“That’s a great idea,” said the Frog. And they headed south. Continue reading
He did it because he was willing to take big risks on new ideas, and not be satisfied with small innovations fed by market research. He also insisted on high quality and had the guts to leave out features others found essential and to kill technologies, like the floppy drive and the removable battery, he decided were no longer needed.
I’m often hard on Apple. But it’s because I can be: I hold them to a higher standard than their competition because it’s feasible to do so. Steve Jobs seems to have led Apple and often the whole industry through his uncanny gut instinct, willingness to take risks, and unerring attention to detail. We need more of that if we are to continue innovating.
If there’s feedback a designer dreads more than Make the logo bigger, it’s My grandmother wouldn’t understand that. The correct response, of course, is Really? Let’s put her in the usability lab and see. Because for all that your CEO loves his grandma he’s probably insulting her intelligence.
It’s the myth of the Average User. At Yahoo! we called them Chief Household Officers (an unfortunate warping of a legitimately identified market segment). Maybe you call them Stay-at-Home Moms or Women 30-45 — somehow they’re always female. They’re a catch-all excuse for dumbing down products. We try to get them in the lab but they end up being smarter and more interesting than we wanted. In fact, we’ve never met an Average User. Continue reading
Time flies. It’s been a year since I joined AOL as part of Matte Scheinker‘s Consumer Experience team. At the time my teammate and fellow ex-Yahoo Christian Crumlish wrote a post, “AOL?!? Really?” that captured the disbelief and shock among friends and relatives who heard about our new gig. And honestly, it wasn’t what I’d expected my next move would be when I decided to leave Yahoo! a few months earlier.
The AOL described to me was in the process of reinventing itself: an aging internet icon that acknowledged the need for fundamental change, that didn’t shy away from the dark corners of its product portfolio. The role was intriguing too. The Consumer Experience mission: to “ensure that AOL only builds and launches the highest-quality products.” The three of us were “ninja janitors,” cleaning up the mess of AOL. We might be accomplished designers and product strategists — but no job was beneath us. The promise: be a part of AOL’s turnaround. Develop standards and practices. Dig in with product teams in need of help and make things happen. Learn from industry veterans. Become better product managers, designers, and most of all businessmen in the process. Learn how to make change happen. Continue reading
The debate over UI standards is as old as the standards themselves: should developers build custom controls and a custom look & feel, or stick to human interface guidelines? The Web accelerated that debate, as developers brought Web interactions into their desktop apps and vice versa; more recently, Apple’s App Store and its own mixing of iOS and Mac standards has further invigorated it.
Let’s get one thing out of the way: creating a great standard experience is a hell of a lot easier than creating a great custom one. Even some of the best custom apps (e.g. Twitter for Mac) fail to handle some key interactions (e.g. distinguishing between an active and an inactive window). Your mockup may look splendid in Photoshop but in sidestepping your platform’s own UI toolkit you’ve assumed the responsibility for all sorts of details (e.g. accessibility). In other words, don’t go down the custom route unless you’re willing to put a lot of effort into making design a differentiator for your product (as Twitter has clearly done).
Anyone who’s worked with me knows I enjoy designing custom controls — widgets tailored to the task at hand. Generally these tasks could be accomplished via some combination of standard UI elements, and the argument against them is often about consistency. In “User Interface Conservatism versus Liberalism,” Adam Engst writes,
…the real problem with UI liberalism is that it reduces the usability of the platform as a whole…The more you use applications in concert—and many of us spend our entire days at our Macs—the more you benefit from the consistent user interfaces designed by UI conservatives. And when applications rely on consistent user interfaces, they become easier to learn as well, which translates directly to the bottom line when we’re talking about productivity applications.
Since the term “Ajax” burst onto the scene in 2005, it has changed the Internet. Apps became more interactive; desktop paradigms migrated to the web and evolved in the process; and the Web as a platform began to come into its own.
That change hasn’t affected the core of how a website works. Sure, modules load in asynchronously; some sites use Ajax to load in notifications; and Facebook Like buttons mysteriously appear as you scroll. The typical blog or brochure site is a page-based experience; why overcomplicate things when the Web is, at heart, a page-based medium?
But mobile apps have popularized a new level of page-based interaction. Screens animate smoothly in and out while navigation stays put, not only providing delight but preserving context and reinforcing the user’s position in the information hierarchy. Instead of jarring blankness between screens, users see loading animations.
The No-Refresh Site
Maybe it’s time we embraced this approach for the desktop Web: the no-refresh website. Even with fast load times a full page refresh disrupts context. With Ajax we can leave navigational elements in place while loading in new content. We can bring that content in via animations that reinforce how we’re moving through the information hierarchy of the site. And even with animations, such actions are liable to feel lighter-weight and thus encourage exploration — not least of all because a Back action will be so immediate. Continue reading
My previous post took a high-level look at HTML5 vs. native for mobile apps, concluding that HTML5 is ready for prime time but not necessarily for everyone. I also mentioned some of the work I did in order to get my app, Pints, to perform acceptably. Commenter Jouni (thanks for reading!) wondered about the details: what did I try, and what seemed to work?
I won’t claim to have used an incredibly rigorous process. As previously mentioned, I chose Sencha Touch as my framework almost exclusively based on its performance. At least on iPhone, I threw out PhoneGap in favor of a lightweight custom Cocoa wrapper. (I’m particularly skeptical about whether that ended up mattering, but it did allow me to create a better experience during app load by waiting until the page finishes loading before fading in the WebKit view.)