Many Siris

Brian Irace:

If the Lyft app is installed on your iPhone, you can ask Phone Siri to order you a car. But you can’t ask Mac Siri to do the same, because she doesn’t know what Lyft is. Compare and contrast this with the SDKs for Alexa and the Google Assistant – they each run third-party software server-side, such that installing the Lyft Alexa “skill” once gives Alexa the ability to summon a ride regardless of if you’re talking to her on an Echo in your bedroom, a different Echo in your living room, or via the Alexa app on your phone.

This is a major difference in approach between Alexa and Google extensions, which both use a server-side approach, and Siri, which runs extensions client-side. In a nutshell, Siri’s approach allows for a more custom and, at the same time, limited approach, using communication and negotiation between devices to work out what’s what.

Currently, this communication seems limited to which Siri should respond to a request. If you lift your wrist and say “Hey, Siri”, your Apple Watch gets priority. If your HomePod Siri is enabled and your wrist is down, HomePod gets priority. You get the idea.

What’s missing is an intelligent mesh of negotiation and handoff. For example, if HomePod gets a request to make a phone call, that request should be handed off to your iPhone, perhaps verifying the handoff with a “Would you like me to make that call on your iPhone?” first.

There are permissions issue to deal with in this kind of scheme, but it certainly seems a logical need. If I ask HomePod to call a Lyft and HomePod doesn’t have that capability, seems logical for HomePod to hand that task off to another device that can order one for me.

All that said, I can only imagine that Apple is hard at work on a solution for this Siri mesh issue.

UPDATE: I left the word extensions out of the original writeup. Siri is server side, but the extensions are client side. I’ve not actually built a Siri extension, so I’m on shaky understanding here, but I believe this is correct.