My MacBook Air is my favorite laptop ever. The combination of size and enough power for most development tasks, makes it perfect for my job right now. For the last week though, whenever I'd peg the CPU, by doing things like watching HD Flash Video, it would start dropping video frames and becoming unresponsive. I also noticed a 'clicking' sound coming from it. I think thats a bad sign, probably the only moving part in the Air, a single lonely Fan, was dead, and the machine is overheating.
Last night I was trying to watch Netflix, and it would play for about 15 seconds, then overheat, and become unwatchable. My procrastination wasn't going to fix the fan. I went to Apple's San Francisco Store site and to make a reservation or the Genius Bar. Wooo! A single spot left at 11:30 this morning, perfect, and my reservation was made in under a minute.
I took my Air into the store, and took a seat to await my turn. Of course, a store employee found my appointment on a custom app on his iPhone, and told me it will be about 10 minutes before they will be able to see me. No problem, I grab a seat and keep reading Children of the Sky on my Kindle.app.
Anthony finishes with the previous customer and it's my turn. I explain how my Air is behaving (avoiding saying the conclusion I'd already come to). He says yep, probably a dead fan or the sensor, and my Air is overheating. He then procedes to grab a USB ethernet adaptor and a blue ethernet cable that goes behind the counter. He reboots the Air, holding down the option key. He is NetBooting my Air, into a custom Apple diagnostics program. It all happens in under two minutes.
The conclusion is in, they will need to replace the fan, but luckily it is under warranty. It's gonna be five days, which is too much as I fly to Texas on Monday. Anthony toggles a few buttons on his iPad, and prints me out a case report. Now I am back at the office finishing a Time Machine backup, so I can restore to a spare MacBook Pro. Once I'm up and running on the Pro, I'll drop off my Air at the Store tomorrow so it can get repaired.
Now, this whole little story isn't that exciting. It probably happens hundreds of times per day across Apple's stores and business.
I was amazed when he started NetBooting my Air -- they had really thought about this problem. Do you really want to download a disk image onto a customer's computer and then try to debug things from there? No, it has a ton of problems, customers don't want random files downloaded on to their disk, and there might be problems in the OS install itself -- the solution of NetBooting is an elegant application of good technology to enable the Apple employees at the Genius Bar to get their job done quickly and easily.
Looking at the whole experience, it was driven by technology deeply integrated and enhancing a support experience. The technology got me into the store easily, the employee doing in-store triage already knew about my appointment, easy diagnostics that weren't invasive to my computer, and integrated case management. Someone at Apple thought deeply about each step in my experience, and put technology where it made sense, and people where it didn't.
What I found more interesting however, is how this experience aligns with Rackspace's own beliefs. Cloudkick was acquired almost a year ago, and we tried to provide the best support to our customers possible. This largely meant the engineers who wrote the code responded to the support issues. In the last year, it has been interesting to see how Rackspace has to scale this process to thousands of employees -- it isn't a trivial problem. Delivering a great support experience requires both great technology, and great people.
In the end, this is all about building technology and software to produce a better outcome for the customer and the business. Building technology for technology's sake can sure be fun, but it is a million times more fulfilling when that technology enables a better experience for a person.
It's also what I find interesting about my job at Rackspace. We aren't trying to just build software so that a single Racker can handle 100 customers instead of 50. We are building software so that our support Rackers can create a genuinely better experience for our customers.