Siri

Apple can credit much of its success to not only delivering good hardware, but using the hardware to develop new software experiences. With the 4S and iOS 5, most of the software experiences are available on older hardware - the sole exception being Siri.

The expectation that Apple will always deliver more than just a hardware upgrade is likely what made Siri a 4S exclusive (that and controlling the rollout as to not overly burden Apple's servers). The work carried out on the phone itself is minimal compared to what’s done server-side. A quick look at CPU utilization while running a simple Siri query (how many meters are in a mile) reveals the most stressful part of the process is animating the results on the screen. The display process is multithreaded but even then peak usage rarely steps above a single CPU core, in other words - this could have been done on the 4.

Siri is the logical next step from after the existing voice engine on the iPhone 4, which I doubt many people used on a day to day basis. Functionality was limited to a small laundry list of operations, and if you wandered outside the confines of those voice commands, you were left out of luck. I can count the number of times I did anything with the iPhone 4 voice commands on one hand.

Siri originally started as a standalone application, where it initially impressed with the ability to take a conversational approach to voice commands. Apple quickly acquired Siri, built it into iOS 5, and enabled the feature on just the iPhone 4S. At present, the feature only works for English (US, UK, Australia), French, and German, though in 2012 the language engine will also be compatible with Japanese, Chinese, Korean, Italian, and Spanish.

 

Hold the phone up to your head when not in a call, or long press the home button (which was the previous voice command action) and you’ll get Siri’s purple microphone and a circle button. If you’re familiar with Android’s voice dialogs, this visualization is pretty similar, though the functionality is very different.

Siri also works with bluetooth headsets and normal headsets, including the Apple-supplied button plus microphone earbuds. Normally Siri doesn’t read text messages or emails, but if you have a headset, it then reads everything back to you and becomes a much more powerful hands-free tool. Hold down the action button on a bluetooth earpiece or on the Apple earbud cable, and it will toggle Siri mode the same as holding the home button down. Bluetooth functionality works pretty well, though there’s added latency each time the earpiece audio link is established and torn down that can be unnerving.

Siri leverages Yelp for businesses/restaurants and Wolfram Alpha for any queries that require computation. It is interesting to think of Siri as Apple’s foray into search. Siri isn’t designed to monetize search, but any queries run through Siri definitely don’t line Google’s pockets. Given how much Google depends on search for its revenues and the growth of its businesses, Siri may be viewed as a competitive threat. Perhaps that’s why we don’t see Siri using Google for search?

There are two components to every Siri interaction: your query, and the results it returns. Where Siri is truly impressive is in its ability to understand your queries. You can ask it to tell you the closest Italian restaurants, or just utter the phrase “I want cake” and get a list of options in the area. For the former, Siri just looks for restaurants classified as Italian, for the latter it looks for restaurants whose Yelp reviews mention the word cake. Siri’s ability to dissect and handle the query is impressive, unfortunately its usefulness is gated by how active Yelp users are in your area. Yelp use in Raleigh is disappointing overall, which in turn hurts Siri’s ability to recommend what I’m looking for.

  

When it works, it works very well. There happen to be a lot of burger options where I live and simply asking Siri “what’s the best burger joint” returned a fairly accurate ranking of my options. The same goes for pizza, but my cake query didn’t really give me useful results either in Raleigh or Durham. Siri is only as smart as the databases that it relies on, and unfortunately simply looking for reviews that mention cake isn’t the best way to direct you to sugary goodness. 

  

The computation aspect of Siri is pretty useful. You can ask Siri simple conversion questions like “how many quarts are in a gallon” or something more complex like “how much is a 15% tip for $247 for five people”. In the case of the latter you’ll get the total tip amount, the per-person share as well as other tip amounts (e.g. 10%, 20%). Take it one step further and ask Siri to tell you when it’s customary to tip and you quickly run into a wall. In this case it’s not the data but Siri’s awareness of the question that’s limiting you.

  

Given how frequently I’m in meetings, one of the most useful aspects of Siri to me personally is its ability to schedule meetings. I can tell Siri to schedule a meeting with AMD at 2PM Pacific and it’ll offer to create the appointment in my calendar for me. If there’s a conflict, Siri offers resolution options. Combine that with seamless calendar syncing via iCloud and you’ve got a pretty powerful tool. Siri also handles US time zones very well. As you may have gathered from the line above, I can tell Siri to schedule a meeting in a different time zone without having to do the conversion myself. The time zone support breaks down once you go beyond the US unfortunately. 

Siri is similarly great for reminders. Using iOS 5’s location based triggers and by simply giving Siri some information ahead of time (e.g. telling it where home and work are in your address book), you can have Siri remind you to buy milk when you leave work or buy a cat when you leave home. 

Siri’s voice recognition engine works pretty well out of the box, but also learns individual voice characteristics and dialects on a larger scale. This individually trained language data can optionally be reset as well by just toggling Siri off and back on. I trained Siri for about a week, reset the data, and went through a few commands - it’s obvious that it does tailor a voice profile after a while.

Gallery: Siri Examples

Siri is surprisingly good at following along in conversations, but ultimately it’s still limited to a certain set of tasks, though the list is pretty big. Things like emailing a contact, sending text messages, responding to messages, setting alarms, reminders, and appointments, playing music (based on artist, album, or title), looking basic things up, and then features that are enabled through ties into Yelp and WolframAlpha. Much of what I ask Siri that isn’t an obvious phone function (text, call, email) ends up being directed into a Yelp search, and the depth of interesting redirects here are impressive - everything from telling Siri you’ve soiled yourself (which sends you clothing stores), that you need drugs (which finds addiction treatment centers) to specific things like wanting a certain genre of food nearby. It’s clear that the team responsible for Siri had a lot of fun, and by now the number of interesting easter eggs have been pretty well documented all over the web.

The A6: What's Next? WiFi, GPS, Audio, Speakerphone
POST A COMMENT

201 Comments

View All Comments

  • doobydoo - Friday, December 02, 2011 - link

    Its still absolute nonsense to claim that the iPhone 4S can only use '2x' the power when it has available power of 7x.

    Not only does the iPhone 4s support wireless streaming to TV's, making performance very important, there are also games ALREADY out which require this kind of GPU in order to run fast on the superior resolution of the iPhone 4S.

    Not only that, but you failed to take into account the typical life-cycle of iPhones - this phone has to be capable of performing well for around a year.

    The bottom line is that Apple really got one over all Android manufacturers with the GPU in the iPhone 4S - it's the best there is, in any phone, full stop. Trying to turn that into a criticism is outrageous.
    Reply
  • PeteH - Tuesday, November 01, 2011 - link

    Actually it is about the architecture. How GPU performance scales with size is in large part dictated by the GPU architecture, and Imagination's architecture scales better than the other solutions. Reply
  • loganin - Tuesday, November 01, 2011 - link

    And I showed it above Apple's chip isn't larger than Samsung's. Reply
  • PeteH - Tuesday, November 01, 2011 - link

    But chip size isn't relevant, only GPU size is.

    All I'm pointing out is that not all GPU architectures scale equivalently with size.
    Reply
  • loganin - Tuesday, November 01, 2011 - link

    But you're comparing two different architectures here, not two carrying the same architecture so the scalability doesn't really matter. Also is Samsung's GPU significantly smaller than A5's?

    Now we've discussed back and forth about nothing, you can see the problem with Lucian's argument. It was simply an attempt to make Apple look bad and the technical correctness didn't really matter.
    Reply
  • PeteH - Tuesday, November 01, 2011 - link

    What I'm saying is that Lucian's assertion, that the A5's GPU is faster because it's bigger, ignores the fact that not all GPU architectures scale the same way with size. A GPU of the same size but with a different architecture would have worse performance because of this.

    Put simply architecture matters. You can't just throw silicon at a performance problem to fix it.
    Reply
  • metafor - Tuesday, November 01, 2011 - link

    Well, you can. But it might be more efficient not to. At least with GPU's, putting two in there will pretty much double your performance on GPU-limited tasks.

    This is true of desktops (SLI) as well as mobile.

    Certain architectures are more area-efficient. But the point is, if all you care about is performance and can eat the die-area, you can just shove another GPU in there.

    The same can't be said of CPU tasks, for example.
    Reply
  • PeteH - Tuesday, November 01, 2011 - link

    I should have been clearer. You can always throw area at the problem, but the architecture dictates how much area is needed to add the desired performance, even on GPUs.

    Compare the GeForce and the SGX architectures. The GeForce provides an equal number of vertex and pixel shader cores, and thus can only achieve theoretical maximum performance if it gets an even mix of vertex and pixel shader operations. The SGX on the other hand provides general purpose cores that work can do either vertex or pixel shader operations.

    This means that as the SGX adds cores it's performance scales linearly under all scenarios, while the GeForce (which adds a vertex and a pixel shader core as a pair) gains only half the benefit under some conditions. Put simply, if a GeForce core is limited by the number of pixel shader cores available, the addition of a vertex shader core adds no benefit.

    Throwing enough core pairs onto silicon will give you the performance you need, but not as efficiently as general purpose cores would. Of course a general purpose core architecture will be bigger, but that's a separate discussion.
    Reply
  • metafor - Tuesday, November 01, 2011 - link

    I think you need to check your math. If you double the number of cores in a Geforce, you'll still gain 2x the relative performance.

    Double is a multiplier, not an adder.

    If a task was vertex-shader bound before, doubling the number of vertex-shaders (which comes with doubling the number of cores) will improve performance by 100%.

    Of course, in the case of 543MP2, we're not just talking about doubling computational cores.

    It's literally 2 GPU's (I don't think much is shared, maybe the various caches).

    Think SLI but on silicon.

    If you put 2 Geforce GPU's on a single die, the effect will be the same: double the performance for double the area.

    Architecture dictates the perf/GPU. That doesn't mean you can't simply double it at any time to get double the performance.
    Reply
  • PeteH - Tuesday, November 01, 2011 - link

    But I'm not talking about relative performance, I'm talking about performance per unit area added. When bound by one operation adding a core that supports a different operation is wasted space.

    So yes, doubling space always doubles relative performance, but adding 20 square millimeters means different things to the performance of different architectures.
    Reply

Log in

Don't have an account? Sign up now