Slideshare.net (beta)

 

All comments

Add a comment on Slide 1

If you have a SlideShare account, login to comment; else you can comment as a guest


Showing 1-50 of 11 (more)

A First Class Web Citizen

From garethr, 4 months ago

Presentation from The Highland Fling conference on things to under more

3813 views  |  0 comments  |  11 favorites  |  124 downloads  |  28 embeds (Stats)
 

Tags

apidesign webdevelopment http api web openapi web2 karaoke passport services

more

 
 

Groups / Events

 

 
Embed
options

More Info

This slideshow is Public
Total Views: 3813
on Slideshare: 2373
from embeds: 1440

Slideshow transcript

Slide 1: A First Class Web Citizen Gareth Rushgrove | morethanseven.net

Slide 2: Some People Use Browsers Gareth Rushgrove | morethanseven.net

Slide 3: urllib.urlopen('http://twitter.com/statuses/update.xml').read Some People Don’t Use Browsers Gareth Rushgrove | morethanseven.net

Slide 4: Some People Aren't People, They're Robots Gareth Rushgrove | morethanseven.net

Slide 5: And Not Everything Is a Website Gareth Rushgrove | morethanseven.net

Slide 6: The Web Is On Your Desktop Too Gareth Rushgrove | morethanseven.net

Slide 7: And Sometimes It’s a Rabbit... Gareth Rushgrove | morethanseven.net

Slide 8: ...Sort Of Gareth Rushgrove | morethanseven.net

Slide 9: What Is A Designer To Do? Gareth Rushgrove | morethanseven.net

Slide 10: 1 Understand The Web As A Platform Gareth Rushgrove | morethanseven.net

Slide 11: “An aggregate web of connected data sources and services Tom Coates Native To A Web Of Data Gareth Rushgrove | morethanseven.net

Slide 12: “The Semantic Web is the application of weblike design to data Tim Berners-Lee A Semantic Web? Gareth Rushgrove | morethanseven.net

Slide 13: “Mashups are the most interesting innovation in software development in 20 years Douglas Crockford Websites Talking To Websites Gareth Rushgrove | morethanseven.net

Slide 14: “The API is the product Todd Sampson APIs As User Interfaces Gareth Rushgrove | morethanseven.net

Slide 15: 2 Understand HTTP Gareth Rushgrove | morethanseven.net

Slide 16: GET, POST Methods You Know Gareth Rushgrove | morethanseven.net

Slide 17: GET /index.html HTTP/1.1 Host: www.example.com Sample GET Request Gareth Rushgrove | morethanseven.net

Slide 18: HTTP/1.1 200 OK Date: Mon, 23 May 2005 22:38:34 GMT Server: Apache/1.3.3.7 (Unix) (Red-Hat/Linux) Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT Etag: "3f80f-1b6-3e1cb03b" Accept-Ranges: bytes Content-Length: 438 Connection: close Content-Type: text/html; charset=UTF-8 Sample Response Gareth Rushgrove | morethanseven.net

Slide 19: HEAD, PUT, DELETE, TRACE, OPTIONS Methods You Don’t Gareth Rushgrove | morethanseven.net

Slide 20: Everyone knows 404 Not Found Gareth Rushgrove | morethanseven.net

Slide 21: And Maybe 500 Internal Server Error Gareth Rushgrove | morethanseven.net

Slide 22: But What About 200 Found Gareth Rushgrove | morethanseven.net

Slide 23: Or 503 Service Unavailable Gareth Rushgrove | morethanseven.net

Slide 24: Applications Gareth Rushgrove | morethanseven.net

Slide 25: 3 Understand URLs Gareth Rushgrove | morethanseven.net

Slide 26: “The Web is an information space. Human beings have a lot of mental machinery for manipulating, imagining, and finding their way in spaces. URIs are the points in that space Dan Connolly The Webs Coordinates Gareth Rushgrove | morethanseven.net

Slide 27: “What, design a URI? I have to design URIs? Yes, you have to think about it Tim Berners-Lee URL Design Gareth Rushgrove | morethanseven.net

Slide 28: http://flickr.com/photos http://del.icio.us/tag/highlandfling http://news.bbc.co.uk/sport1/hi/football/eng_prem/7309369.stm http://musicbrainz.org/ws/1/artist Good or Bad? Gareth Rushgrove | morethanseven.net

Slide 29: from django.conf.urls.defaults import * urlpatterns = patterns('', (r'^articles/2003/$', 'news.views.special_case_2003'), (r'^articles/(d{4})/$', 'news.views.year'), (r'^articles/(d{4})/(d{2})/$', 'news.views.month'), (r'^articles/(d{4})/(d{2})/(d+)/$', 'news.views.article'), ) Framework Of Choice Gareth Rushgrove | morethanseven.net

Slide 30: Designing Good APIs Gareth Rushgrove | morethanseven.net

Slide 31: 1 Prodable Gareth Rushgrove | morethanseven.net

Slide 32: curl --get http://musicbrainz.org/ws/1/artist/ -d type=xml -d query="delgados" Curl == Stick Gareth Rushgrove | morethanseven.net

Slide 33: <?xml version="1.0" encoding="UTF-8"?> <metadata xmlns="http://musicbrainz.org/ns/mmd-1.0#" xmlns:ext="http://musicbrainz.org/ns/ext-1.0#"> <artist-list count="1" offset="0"> <artist id="d629843e-d2b9-4665-a203-19f9c7f811ef" type="Group" ext:score="100"> <name>The Delgados</name> <sort-name>Delgados, The</sort-name> <life-span begin="1995" end="2005-04"/> </artist> </artist-list> </metadata> A Response Gareth Rushgrove | morethanseven.net

Slide 34: 2 Hackable Gareth Rushgrove | morethanseven.net

Slide 35: A Simple Trick Gareth Rushgrove | morethanseven.net

Slide 36: Tada! Gareth Rushgrove | morethanseven.net

Slide 37: http://twitter.com/{username} Variables In URLs Gareth Rushgrove | morethanseven.net

Slide 38: 3 Multilingual Gareth Rushgrove | morethanseven.net

Slide 39: 4 Open Gareth Rushgrove | morethanseven.net

Slide 40: Fire Eagle and Dopplr Gareth Rushgrove | morethanseven.net

Slide 41: 5 Transparent Gareth Rushgrove | morethanseven.net

Slide 42: Can Your Website Be Your API? Gareth Rushgrove | morethanseven.net

Slide 43: What About Other Websites? Gareth Rushgrove | morethanseven.net

Slide 44: 6 Obvious Gareth Rushgrove | morethanseven.net

Slide 45: 1. The Web As A Platform 2. HTTP 3. URLs Understand Gareth Rushgrove | morethanseven.net

Slide 46: 1. Prodable 2. Hackable 3. Multilingual 4. Open 5. Transparent 6. Obvious Make Your API Gareth Rushgrove | morethanseven.net

Slide 47: flickr.com/photos/stoweboyd/2350135191/ flickr.com/photos/lwr/2276706021/ flickr.com/photos/sjaek/275710273/ flickr.com/photos/brocktice/1444774312/ flickr.com/photos/lkfdesign/365335459/ flickr.com/photos/qwirksilver/104266807/ flickr.com/photos/mn_francis/418495671/ flickr.com/photos/deapeajay/2267569368/ flickr.com/photos/tripu/267155109/ flickr.com/photos/queen_of_subtle/461631577/ flickr.com/photos/jessefriedman/1435220149/ flickr.com/photos/wongjunhao/2189540204/ flickr.com/photos/sanbeiji/1821188052/ flickr.com/photos/warhead/2053343/ flickr.com/photos/stoweboyd/2350976688/ Thanks flickr Gareth Rushgrove | morethanseven.net

Slide 48: End Gareth Rushgrove | morethanseven.net