Some people have a bizarre sense of entitlement, in particular, when it comes to their expectations around the performance of a product they have purchased. Sure, if a company blatantly lied to you about the features of their product and you purchased it based on those lies you would expect some recompense. But when it comes to software you need to take a circumspect view of what's on offer (Why do think there are tedious EULAs that you have to agree to containing all sorts of caveats?). In a recent class action suit the plaintiff is claiming that Apple's advertising campaign for Siri conveys "the misleading and deceptive message that the iPhone 4S's Siri feature ... performs useful functions" and "a represented functionality contrary to the actual operating results and performance of Siri". To me this sounds like sour grapes. If you live in some fantasy world where you thought that speaking to a computer was going to give you perfect results every time then that is your problem.
I'm something of a pessimist when it comes to my expectations of a product's features (probably as a result of some buyer's remorse I suffered as a child). I find this a win-win approach that has served me well in this consumerist world. If a product doesn't work well, well that's what I expected. If it does work well, I am pleasantly surprised.
When Apple released Voice Control on the iPhone 3GS back in 2009 I found myself on the pleasantly surprised side of the equation. I spend a lot of time in the car and using Voice Control via a bluetooth headset (a Samsung WEP570; another rewarding purchase) to make calls or request a song or podcast to playback is an absolute lifesaver.
When Apple announced Siri I foolishly abandoned my pessimistic apprehensions and assumed this could only be an improvement on an already great product. I mean, that's what Apple are renowned for, right? (well maybe with the exception of that 3rd generation iPod with the buttons in the wrong place). So of course I rushed out to get my shiny new iPhone 4S. Sadly I had set myself up for a lose-lose scenario.
Here are the key differences between the two voice recognition technologies; while Voice Control processes commands on the phone, Siri sends each command to Apple's servers for processing. As a result Voice Control is fast and Siri, by comparison, is slow (Note the disclaimer at the bottom of Apple's newer TV advertisements for Siri regarding the sequences being shortened). Voice Control will still work if there's a problem with the phone's data connection or Apple's network, Siri on the other hand, will not. The only advantage that Siri has over Voice Control is that given its cloud-based processing capability it has a greater vocabulary and can therefore handle far more complex requests, such as searches and dictation, things that Voice Control could never do with current phone CPU technology. That's a pretty big advantage.
For me, however, it turned out to be a step backwards on the technology stairway to heaven. Asking Siri to call someone, quickly became a chore (or should I say slowly). Siri would either take several seconds to complete the request (an eternity of silence where I didn't know whether it was working or not) or fail on simple requests such as "Call Kelly's mobile" which would be met with "There is no mobile number for Kelly." leading to a frustrating back and forth conversation (remember I'm in the car here so distractions are the last thing I need).
Voice Control is far more forgiving. If I had someone's mobile number listed in Contacts as their work number, asking Voice Control to call their mobile would quite happily call the work number. Somebody on the Voice Control team at Apple had spent some time thinking about this and made the effort to ensure this worked.
I persisted with Siri for some time hoping it would get better (after all, it was released as a "beta") but after one too many "I'm really sorry about this, but I can't take any requests right now" I switched back to Voice Control for relief.
What startled me most of all about Siri is that it doesn't strike me as a very Apple-like solution (Ok, so Apple acquired Siri but i would like to think they made it their own and didn't just skin the existing product). Given Siri's reliance on the data networks of mobile network providers, something that is outside of Apple's control, there was always potential for problems but this is exactly the type of problem that Apple is good at solving. In Fortune this week, Adam Lashinsky quotes a former Apple employee as saying Siri's problems are the type of thing that Steve Jobs would have "lost his mind over" and I tend to agree.
In the Jobs era, Apple often went the extra mile in designing their products. There's always been a focus on simplicity and usability with their products but it's more than that. Apple digs deeper than any other company to ensure that things "just work". The end result being features that you don't see in competitor's products like the Mag Safe connector or momentum-based scrolling or Target Disk Mode or ignoring accidental presses of the Caps Lock key on your keyboard (the list goes on and on). As a developer, when I see these features and comprehend the thought that's gone into them I really appreciate it.
While this approach has been key to Apple's success it seems many people only recognise these efforts subconsciously (that would explain the dichotomy of consumers' slavish purchases of Apple's products while on the flip-side competitors don't get it and seem barely able to ape those products). It's the secret herbs and spices in Apple's recipe. However, when it came to preparing Siri someone forgot to put them in.
Sure, when Siri works it does amazing things. That is very Apple-like. But when it fails (and for me it failed a lot) it fails badly and that is what is so unlike an Apple product. If Siri was supposed to be a replacement for Voice Control it should have been an improvement, even if only an incremental one. Otherwise it shouldn't have made it out the door. And it seems it could have been an improvement with a little more effort.
Blogs and message boards are awash with suggestions that Siri should automatically fallback to Voice Control when it's not available. This wouldn't really work as the phone has no way of knowing if Siri is unavailable until a request is made (constantly polling the service would drain the battery). In the case where Siri isn't available to respond to a request the phone would first need to inform the user (as it already does) and then either hand the initial request straight to Voice Control ("Sorry, I'm not available right now so I have forwarded your request to Voice Control. Have a nice day!") or give the user the option to try again with Voice Control. Given the time this would take and that Voice Control can only handle a subset of the voice requests that Siri can, the end result would be more frustrating than Siri not being able to respond in the first place.
The solution therefore is not a fallback but a race. Voice Control is fast, Siri is slow. A "first to finish" algorithm could be implemented where both Voice Control and Siri would attempt to process each request with either the faster or more successful answer given priority. E.g. Asking something simple like “Call Geoff” is likely to get the same result from either system but if Voice Control processed the query quicker (which it probably would) Siri’s result could simply be discarded when it arrives as the call would already be in progress by that time. When Voice Control returns a failure from a query, the process could then wait for Siri’s response to see whether it had been successful and then determine what response to give to the user (Voice Control would need to be modified so that it accurately fails on Siri specific requests. At present if you ask Voice Control a Siri-like question it seems to do random things like dialing a number rather than simply failing. Restricting Voice Control to accept only certain verb-noun sequences and reject others would be enough to ensure it functions properly in such a system). In situations where Siri is unavailable at least the most basic commands would still function.
While the user would be completely unaware of what is going on in the background (i.e. the two systems racing one another) it would give them a better impression of voice recognition on the phone than Siri alone. There would be less frustration as simple requests would always be fast and reliable. This is what I would have expected to see from an Apple-like solution and the type of thing I think Jobs would have demanded.
For now I've turned Siri off. I'm happy to stick with the technology that "just works", Voice Control.
P.S. Please don't look at your phone while driving. Road conditions can change in an instant and so can your life and the lives of others. Resist the temptation and focus on the road.