Changes

Jump to: navigation, search

WebAPI/WebActivities/LessonsLearned

53 bytes added, 20:16, 16 May 2014
Differences between "data sources" and activities/intents
When granting access to for example contacts to an app, you likely want that app to have access to *all* your contacts, not just the contacts from a specific other app. So you'd want to grant access to your gmail contacts, your facebook friends, your outlook address book and any "built in" contact address book.
Getting contacts from many apps at the same time can be prohibitevly prohibitively expensive if you have to launch all those apps, even if they don't need to render UI. Each app runs in a separate process and starting g multiple processes takes too much a lot of CPU and memory on mobile.
Displaying a merged contact list from all your contacts sources will take too long if you have to get the full contact list from each source, then merge those lists, then sort them, then reformat to get just the data you want to display in HTML form.
This is even more true for a photo stream where you also need to generate thumbnails.
It needs to be possible to do some of that work ahead of time and then react to any changes in those data sources before the user launches the app. Or at Potentially it could help if the very least you need to be able to cache application cached the result from last time you previously generated the contact list, and then get a list of ask each data source provider for changes since last time a list was generated, and then update once it has received those changes. Though However we still want to get those updates fairly quickly to avoid the risk of the user looking at old data for something like thumbnail generation (too long and then having it "snap" to show the size of which can be consumer-application specific) ahead-of-time is likely desirednew data.
When a user grants access to a data source we need to indicate if permanent access is granted, or just a one-shot access. That indicates a somewhat different UI than we want for "share" and "pick".
Similarly, the UI that comes up when an application tries to access "contacts" data sources, the user needs to be able to choose multiple applications that can provide that type of data. Normally for a WebActivity the user just picks a single application to handle the activity.
Confirm
716
edits

Navigation menu