Ubuntu One API Roundtable

Registered by Zachery Bir

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

Related branches

Sprints

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

(?)

Work Items