Tuesday, June 19, 2012

From Steve's Lips to an Engineer's Ears

At Apple, the engineers are the talent and "This doesn't suck too bad," was high praise when I worked there.

Initially, when I began working at Apple, I thought that the company was primarily about design on many levels - industrial design, UI design, system architecture design, software design, etc.

I was wrong.

Design was just a means to an end - and that end was to provide the best possible user experience (BPUX) - the UX of highest quality. It meant, for the time being, there was no better way to design the UI for a better UX.

Think of BPUX as the nirvana of customer service. This is why consumers love to do business with Apple instead of, say, the phone company.

Holistic BPUX includes everything, from making the purchase and opening the box to using the product and calling on tech support. Apple's focus is not about squeezing every possible dollar from the customer, in the short term, at the expense of long term profitability. Sure, Apple cares about making money, but that is not what they design for.

Apple clearly understands that, as a consumer electronics company, they are not selling technology products. Rather Apple is selling a user experience and, to the user, the interface is the product. Steve Jobs inherently understood this decades ago and he said it best at WWDC in 1997:

You got to start with the customer (user) experience and work backwards to the technology. You can't start with with the technology and try to figure out where you're going to try to sell it. And I've made this mistake probably more than anyone else in this room and I've got the scar tissue to prove it.

But, when evaluating user experience, you have to look at it holistically with "rigid flexibility."

The first generations of iPods used an Apple developed connectivity technology, called FireWire, instead of USB 1.0 because FireWire was about 30 times faster. When USB 2.0 became the de facto standard on PCs - with speeds comparable to FireWire - Apple transitioned their iPods away from their own FireWire technology to the USB industry standard.

Steve's Requirements
Steve obviously understood design, but how, exactly, does a requirement from Steve Jobs travel to an engineer? It's a rather simple process that involves neither formal documentation nor written approvals.

In 2006, we were redesigning the Apple Online Store. My boss's boss was in a meeting with Steve when Steve directed that, once customers were at the online store, they should be able to find any Apple product within three clicks. The three click requirement wasn't invented by Steve, but he knew that time and clicks were two basic quantitive metrics for measuring BPUX. (As a side note, in this same meeting, Steve mentioned that he disliked contextual menus - right click pop-up menus - because they had become a dumping ground for unimaginative and lazy UI designers.)

So, we, the engineers, were simply told that each Apple product had to be found within three clicks. That might sound simple until you run a search for, say, headphones which returns about 200 different products. You can't paginate the results into batches of 10 or 25 because that would result in more than three clicks. On the other hand, you can't display all 100 or 200 products at once because that would overload the servers. And, you most certainly can't tell Steve, "It can't be done."

What do you do?

Infinite Scrolling
A coworker implemented a solution, called "infinite scrolling," for which he won an internal Apple innovation award. Today, in 2012, we take infinite scrolling for granted, but, back in 2006, AJAX was a fairly new web development technique with its key technology specification having only been drafted that year.

Simply put, infinite scrolling is the experience we have when scrolling down our Facebook or Twitter web page (example). As we scroll down to the bottom of the page, more of the web page is dynamically loaded which satisfied Steve's three click requirement, in both the letter and spirit of his intent, since a scroll isn't a click.

At the Apple Online Store, we implemented infinite scrolling by caching the product search results and then we'd trickle the results to the user for rendering in their web browser as they scrolled down the web page.

True Empowerment
Infinite scrolling isn't really a big deal and today's Apple Online Store implementation is different than the one implemented in 2006 --- the key thing to note about Apple is that neither Steve, nor any other manager, tried to solution the implementation. Instead, they pushed the problem down to the lowest level possible - to the talent: the engineers.

1 comment:

Jhon devid said...

I loved your article.Really looking forward to read more.