Playing with Siri: Apple’s Missed Opportunities

Anyone who reads this blog will know how much I anticipated the launch of SiriKit, the SDK that allows us, the developers of the world, to tap into Siri’s capabilities and build apps that engage customers via a single, integrated, contextually aware interface.

And based on the keynote at WWDC it looks like Apple delivered. Digging a little further, it turns out that SiriKit is great if you are:

  • a videoconferencing app,
  • a messaging app,
  • a photo app,
  • Venmo,
  • RunKeeper,
  • Uber,
  • or one of the hand-full of car manufacturers that has implemented CarPlay.

But, if you’re Walmart, One Medical or Starbucks, you’re out of luck.

This is not an Amazon-esque, open ecosystem. SiriKit is extremely locked down, with a narrowly specified list of domains and intents.


I have mixed feelings

There are things I like about SiriKit. I like the intent UI capabilities and I like the design of the SDK (I am not a huge fan of Alexa’s API). And I understand the restrictions, to an extent: Apple puts the customer first, always, and an open-slather war over Siri keywords would not be in the customer’s best interest.

Narrowing the number of accepted intents leads to more accurate voice recognition and leaves the sole power to Apple to make changes to sentence comprehension in a centrally managed way. This does away with the clumsy “Ask <app_name>” syntax that Alexa’s more flexible model demands, and increases the variety of ways a user can ask a question and get the response they expect.

I was hoping that Apple would have come up with a creative solution to Alexa’s drawbacks that enabled expressiveness without sacrifice. I was naïve.

The hacker inside of me wishes we had more options so we could have a lot of fun (“Hey Siri: would you like to play a game?”).

The retail consultant inside me wants: “Hey Siri: get me a coffee from Starbucks.” “I need something to wear tonight.” Or even “Hi Chris, this is Siri — Colgate says it’s time to buy a new toothbrush, do you want them to send you one for five dollars?” You just paid with Apple Pay. You’re done.

As written, none of these are possible. This is a beta, so more options could be available at launch. We will see.

Dissecting Siri

Originally I intended to write this blog tutorial-style, showing the design of some revolutionary, previously impossible service powered by Siri. The limitations imposed mean that that is not possible, and that instruction is not necessary. Honestly: the template that ships with the beta version of Xcode, which is for an exercise app, is enough to get the idea.

It comes down to this:

Which looks something like this (in this example the app is called NFR):

So I still use an iPhone 5 as my dev device, what of it?

The UI that is exposed can be edited via a Storyboard, which is one area where some welcome customisation is allowed, and an improvement on Alexa, whose UI widgets are hidden away and lacklustre in their flexibility.

Vocabularies are an interesting concept that Apple provides to extend Siri’s lexicon beyond basic actions. If you’ve invented an exotic new exercise (the floomp) that you want to trigger using the workout intent (“Start my floomp with FloompTracker”), then vocabularies are your way to teach Siri what it is.

INVocabulary.shared().setVocabularyStrings([ “floomp” ]
ofType: .workoutActivityName)

(The code has been slightly simplified and won’t work as written — check the official guide).

IMHO: Messaging trumps speaking

As I’ve written before, I think the personal assistant providers are missing an input mechanism. Speech-to-Text is an error-prone field, and it will always have problems with accents, background noise and the fact that most people still feel weird speaking out loud to a computer.

Mobile applications are cumbersome, require installation, need to be found on crowded home screens and are not usually well integrated with each other. On-device personal assistants fix each of these issues (with the tradeoff of discoverability).

But I guarantee you I can pull out my phone, hold down a button and type “get me an Uber” much more quickly than I can unlock my device, search for Uber on iOS’s sluggish search screen, wait for the splash screen to fade (what’s with that animation, anyway?) and finally press “Request Pickup”.

Apple TV also disappoints

For the most part, this Fast Company article covers my wishlist for Apple TV better than I can, but I think when Google came out with Home many of us expected Apple was already following suit. The Echo has been a bit of a sleeper hit for Amazon, and the nature of these devices means the early birds are likely to win the worm.

The first mover advantage is huge: Amazon owns all the retail verbs on Alexa, and they always will. Safeway can write an app (“Alexa, tell Safeway to add milk to my list”) but subtract “tell Safeway” and you’re suddenly buying from Amazon’s burgeoning grocery business. If anyone uses Prime Music for a reason other than having an Echo, then I’d like to hear about it.

“Alexa, add an iPhone to my list.”
“I’m sorry, Chris, I’m afraid I can’t do that. A Fire Phone has been added to your list.”

I’m really bullish on the personal assistant segment, because once it finally becomes good enough, the interaction paradigm for nearly everything will change. I know these are hard problems but I can’t help but feel a little frustrated with the tech giants for the lacklustre progress, Apple in particular.

Hmm… I think I will buy Google Home.