$30 off During Our Annual Pro Sale. View Details »

Beta Like You Mean It

Beta Like You Mean It

A lightning talk exploring how and why GitHub ships a public preview for its new APIs.

Presented at REST Fest 2013.

Video: https://vimeo.com/75106817

Jason Rudolph

September 21, 2013
Tweet

Other Decks in Programming

Transcript

  1.  beta like you mean it

  2. None
  3. None
  4. None
  5. CC BY-NC-SA 2.0 h p://flickr.com/photos/ryandonahue/2342354248

  6.  API + agile ?

  7.  nobody reads

  8.  $ curl https://api.github.com/search/code?q=bacon Be Explicit

  9.  $ curl https://api.github.com/search/code?q=bacon Be Explicit { "message": "If you

    would like to help us test the Search API during its preview period, you must specify a custom media type in the 'Accept' header. Please see the docs for full details.", "documentation_url": "http://developer.github.com/v3/search#preview-mode" } => HTTP/1.1 415 Unsupported Media Type
  10.  $ curl https://api.github.com/search/code?q=bacon Be Explicit { "message": "If you

    would like to help us test the Search API during its preview period, you must specify a custom media type in the 'Accept' header. Please see the docs for full details.", "documentation_url": "http://developer.github.com/v3/search#preview-mode" } { "message": "If you would like to help us test the Search API during its preview period, you must specify a custom media type in the 'Accept' header. Please see the docs for full details.", "documentation_url": "http://developer.github.com/v3/search#preview-mode" } => HTTP/1.1 415 Unsupported Media Type
  11.  { "message": "If you would like to help us

    test the Search API during its preview period, you must specify a custom media type in the 'Accept' header. Please see the docs for full details.", "documentation_url": "http://developer.github.com/v3/search#preview-mode" } $ curl https://api.github.com/search/code?q=bacon Be Explicit { "message": "If you would like to help us test the Search API during its preview period, you must specify a custom media type in the 'Accept' header. Please see the docs for full details.", "documentation_url": "http://developer.github.com/v3/search#preview-mode" } => HTTP/1.1 415 Unsupported Media Type
  12.  { "message": "If you would like to help us

    test the Search API during its preview period, you must specify a custom media type in the 'Accept' header. Please see the docs for full details.", "documentation_url": "http://developer.github.com/v3/search#preview-mode" } { "message": "If you would like to help us test the Search API during its preview period, you must specify a custom media type in the 'Accept' header. Please see the docs for full details.", "documentation_url": "http://developer.github.com/v3/search#preview-mode" } $ curl https://api.github.com/search/code?q=bacon Be Explicit => HTTP/1.1 415 Unsupported Media Type
  13.  $ curl https://api.github.com/search/code?q=bacon -H 'Accept: application/vnd.github.preview+json' “Open Sesame”

  14.  { "total_count": 212550, "items": [ ... ] } $

    curl https://api.github.com/search/code?q=bacon -H 'Accept: application/vnd.github.preview+json' “Open Sesame” => HTTP/1.1 200 OK
  15.  @jasonrudolph