Distributed Identity (Persona/Gravatar)
Identity
Verifying identity is one of the core offerings of the Edsu platform. Service providers take care of the muck work of:
- Users forgetting their passwords or getting them stolen,
- Getting hammered by brute force login attacks,
- Suspending abusive users, etc.
Leaving the fun stuff for you, the developer.
Identity is established in relation to the users Edsu server by requesting an owner token. You can see the process to do this in the Hello World App. No matter what the permissions requested: if a token is returned from that address, and that token works to open an Edsu connection, the person who clicked the "Grant" button is that Edsu user (to the extent that their Edsu account is secure).
Global User Profiles
Composable apps are the best apps. User profiles are a good example of how Edsu enables them.
Typically when you sign up for a webapp, there's some sort of profile section where you can put your name, and avatar, etc. There's some proprietary efforts to centralize this (e.g. Gravatar), as well as some open federated ones (e.g. Libravatar). Here's how it would work in Edsu.
Ideally, there will be a standardized format, listed at https://edsu.org/standards/, under a name like pub.std.user-information.profiles.default. That format would detail which fields are available (e.g. full name, avatar, etc.) and how they are stored.
A new Edsu user would choose from several profile editors, each storing their contents in that format. And for every other app, if they wanted to add avatars and names to user comments, for example, they could load them from that user's Edsu storage at that name.
This is what it means to be composable in Edsu: all the profile producing apps are compatible with all of the profile consuming apps, with the data storage format as the conduit.
Of course, what I'm describing is above is a perfect world. Converging on one standard is inevitably messy. However, it is possible - such standards exist in the desktop world (e.g. the Open Document Format). And the worse case scenario (each app having its own profile editor) is no worse than what we have now. It can only get better from here.
Private User Profiles
Using Edsu's prv.* and grp.* namespaces, you can also selectively allow apps and visitors access to different aspects of your personal information. Things like mailing addresses, or being able to present a slightly different persona based on what user group the data accessor is in - these are all made simple by using Edsu's permissions system in clever ways.
Next: App State Storage (RSS Reader)