UserPrefs vs AppData

This was discussed at the Working Session - Palo Alto - March 30 3pm - 8pm where we crafted the outline for this. These are the general ideas:

    1. No dataContext because it's transient

    2. Deprecate hidden userPrefs

    3. Clarify use of userPrefs / Define pref view / recommend how to use view

    4. Make userPrefs a robust API

        4.1. Define scopes: User / group / user write app read / global to app

Initially, the thought was to align these up with data context. However, the key difference is that, unlike user prefs, data-context is not persistent. This turned out to be a key difference ans is the reason to keep the two concepts separate. It was also discussed on eliminating the use of hidden user prefs. In practice, these have been used like app data, but not displayed in any kind of settings dialog. Proper scoping of app-data should allow us to eliminate the need for hidden user-prefs. 

The cruxt of this issue is to provide more scoping to the user prefs. OpenSocial, inherently has some notion of scoping in it via the "@" groups, e.g. @friends. Proposals like the enterprise extensions have added additional groups, e.g. @colleagues. It's reasonable that applications that leverage app data should also be allowed to scope the visibility in a consistent manner. Therefore, part of this proposal will be to allow this.