Ubuntu One API Roundtable
Let's talk about the current level of API accessibility for Ubuntu One services and plan out what needs to be extended over the next cycle.
Blueprint information
- Status:
- Not started
- Approver:
- Jason Warner
- Priority:
- Undefined
- Drafter:
- Zachery Bir
- Direction:
- Needs approval
- Assignee:
- Zachery Bir
- Definition:
- New
- Series goal:
- None
- Implementation:
- Unknown
- Milestone target:
- None
- Started by
- Completed by
Whiteboard
Summary
=======
For our Ubuntu One services, we want to provide a consistent experience for both exploratory browsing and thorough client development. To date, our services have been built in an ad-hoc, internally inconsistent manner, with little thought paid to external client integration. We've made some strides in recent months to alleviate this situation, with both a RESTful files API, and our music streaming service (albeit not actually being REST). In establishing an API for client applications and integrations, we want to try and circumscribe the scope of the API to deliver for O.
Services
========
- Files
- Music Streaming
- Notes
- Contacts
- Bookmarks
Non-Hobgoblin-y Consistency
=======
"A foolish consistency is the hobgoblin of poorly-designed REST APIs." - Ralph Wiggum Emerson
- Collections
- Resources
- Queries
- Special, media-specific extensions
- Music/video streaming
- Contact calling
Clients
=======
- RESTful
- Use HTTP methods
- Use HTTP error codes
- Libraries
- Abstract away the REST API
- Python