How to determine which of the several 3rd party API's to use seems pretty straight-forward to me:
Me: Search for Japanese food.
Siri: I found these 5 results on Yelp nearby.
Me: Search for Japanese food on Foursquare.
Siri: I found these 8 results on on Foursquare nearby.
If you explicitly request a certain service often enough, then Siri should start to default to it. That's exactly what a real world personal assistant would do. In fact, Apple doesn't have to be that creative. Just do what a real personal assistant would do in any given situation and you should be good.
Also, I would really like some reviewer mention if the iPhone 4S has less of a rolling-shutter issue as the previous iPhones do.
This doesn't sound at all like Apple. More likely, they'll determine which services are the best for which type of query, and you'll only be able to use those.
The challenge is specifying which subsets of queries should be directed to the service. Foursquare won't be able to handle appointment requests, but it does handle restaurant requests. How does the Foursquare part of Siri specify this?
Perhaps you're suggesting that all services answer all queries, and then there's some sort of ranking on the results from each service to decide which one responds. Foursquare would give a low score answer to appointment queries, so the calendar app would get preference. This would be the best suggestion I've heard, but requires processing every request against every agent, which may be OK for Apple, but only some independent developers would be able to provide their own hardware. They may have to provide software to run on Apple servers...
Any company that wants to provide "Siri-compatible" services registers on the apple developer website. Apple defines a set of services that it believes customers will be asking for (appointments, location-based recommendations, product-recommendations, weather, stock data, general search, etc...) and each provider can register their API endpoint and the query types they support. It seems that they already do this categorization to determine what to use (the built-in stock app for example) for a given query. Siri-compatable devices will regularly ping apple for a list of supported API endpoints and report back to Apple on how well these endpoints are performing on query speed and user adoption/satisfaction.
> If you explicitly request a certain service often enough, then Siri should start to default to it.
In other words, just use the code they've already got working in OSX's Spotlight "Top Hit" feature. (Which, oddly, doesn't exist in iOS Spotlight—maybe it requires a larger cache or something.)
Me: Search for Japanese food.
Siri: I found these 5 results on Yelp nearby.
Me: Search for Japanese food on Foursquare.
Siri: I found these 8 results on on Foursquare nearby.
If you explicitly request a certain service often enough, then Siri should start to default to it. That's exactly what a real world personal assistant would do. In fact, Apple doesn't have to be that creative. Just do what a real personal assistant would do in any given situation and you should be good.
Also, I would really like some reviewer mention if the iPhone 4S has less of a rolling-shutter issue as the previous iPhones do.