User:Pelf/Social API requirements
These are some loosely-defined requirements for a social API.
Functionality
Text
- Notes
- Articles
Read
Write
Create
Update
Delete
Media
- Image
- Video
- Audio
- Enterprise documents
- Other content types
Containers
- Organize content [?]
Read
- List items in a container
Write
Create
- Create containers ("folders", "photo albums")
Update
- Add items to a container
- Remove items from a container
Delete
- Delete a container
Connections
- Social network connections ("friends")
- Lists (twitter) / Circles (G+) / Aspects (Diaspora)
- Groups (facebook) / Communities (G+)
Read
- Read social network connections
Write
Create
- Create social network connections
- Follow-model (one way)
- Friend-model (two way)
Update
Delete
- Delete social network connections
- Own
- Others'
Responses
Read
Write
Create
- "Like"/"Unlike" content
- Comment on content
- "Share" content
Update
- Modify comments
Delete
- Delete comments
Activities
Read
- all activities by a single user
- only activities of certain type by a single user (eg. CheckIn)
- activities by a single user involving certain other user(s)
Write
Create
- Create new "activities" of arbitrary type
- Game results ("Jim reached level 2 in SuperGame 7")
- Enterprise ("Evan released a package to shipping")
- New applications
Modify
- add more participants (users involved)
- change audience targeting
Delete
- Delete activities
Inbox
Read
- Read content posted by people in social network
- People you follow and friends
- Read other activities (like, social network connection creation) by people in social network
- Read content specifically "for" you
- Directed towards you
- Mentions you
- Includes you as a subject (e.g., tagged image or video)
Write
Create
Update
Delete
Technical
- Use the social data syntax we define
- RESTful
- Compatible with federation protocol
Out of scope
- Specific authentication system