HOME JAVA & JEE OPEN SOURCE .NET WEB & RIA CLOUD & GRID ARCHITECTURE & DDD AGILE PM & SCRUM AGILE TESTING & BDD OS, MOBILE & SERVER  
London Ruby User Group:Abstractions For Website APIs
Abstractions For Website APIs
Paul Mison is going to do a short talk on libraries and abstractions for website APIs. Specifically how he thinks they should be written (and how he thinks they shouldn't be). The talk will mostly focus on Flickr, so an understanding of Flickr's API and the existing abstractions might be of use.

Review:
In this LRUG session, Paul Mison talks about avoiding API library anti-patterns. Flickr, the photo sharing site, allows raw API documentation. Thankfully, people have written Fickr libraries to help further manipulation, but several of them have not been updated. Taking an example of one library that needs updating, Paul shows that it requires correcting each method individually - this is a problem with API abstractions. Updating involves a long and laborious process.

Thankfully there is a solution: first, the Request can be fixed from the convenience method (since all of them are documented). Then the response can be fixed. Flickr returns JSON (where O = Object) hence the response is an object. To return an API response in JSON format, one simply needs to send a parameter “format” in the request with a value “JSON”, and Flickr raw does that. Plus, you have the added benefit of getting extra parameters with JSON. The key is to offer simple access wrappers to users and make it well documented; to let Ruby do the work; and to use JSON, not XML, in your return format so you’ll always get something back.
Review by: Micky Mollallegn


ABOUT PAUL MISON
Paul is a web developer who's been using Macs since 1996. His servers run Linux. He only uses Windows when...
More about Paul Mison
PODCAST ABSTRACTIONS FOR WEBSITE APIS
Digg! StumbleUpon
RIA, AJAX & WEB PODCASTS
Nicolas Yuen:Accessibility API in Flex, nicolas yuen accessibility API in Flex
Nicolas Yuen : 17th Mar 2010
View Podcast: Accessibility API in Flex,
Chris Parsons:Software Craftsmanship Ideas & Eden, Software Craftsmanship Ideas & Eden
Chris Parsons : 10th Mar 2010
View Podcast: Software Craftsmanship Ideas & Eden,
Corey Haines:Software Craftsmanship Terminology, Software Craftsmanship Terminology
Corey Haines : 10th Mar 2010
View Podcast: Software Craftsmanship Terminology,
Cagatay Civici:PrimeFaces: Next Generation JSF Component Suite, PrimeFaces: Next Generation JSF Componen
Cagatay Civici : 3rd Mar 2010
View Podcast: PrimeFaces: Next Generation JSF Component Suite,
Karl Widmer:Integrating JSF with Spring Web Flow, Integrating JSF with Spring Web Flow
Karl Widmer : 3rd Mar 2010
View Podcast: Integrating JSF with Spring Web Flow,
Rick Evans:Flex and Spring Integration:Introducing Spring BlazeDS Integration, Flex and Spring Integration
Rick Evans : 17th Feb 2010
View Podcast: Flex and Spring Integration:Introducing Spring BlazeDS Integration,
Ian Robinson:Hydra and Hypermedia, Hydra and Hypermedia
Ian Robinson : 11th Feb 2010
View Podcast: Hydra and Hypermedia,
Paul Ardeleanu:Rails & iPhone Integration , Rails & iPhone Integration
Paul Ardeleanu : 10th Feb 2010
View Podcast: Rails & iPhone Integration ,
Alex  MacCaw:Bowline: A Ruby GUI Framework, Bowline: A Ruby GUI Framework
Alex MacCaw : 10th Feb 2010
View Podcast: Bowline: A Ruby GUI Framework,
Anup Narkhede:Architecture of Birdpie, a Twitter Application, Architecture of Birdpie, a Twitter Appli
Anup Narkhede : 10th Feb 2010
View Podcast: Architecture of Birdpie, a Twitter Application,
Murray Steele:Fibers in Ruby 1.9, Fibers in Ruby 1.9
Murray Steele : 10th Feb 2010
View Podcast: Fibers in Ruby 1.9,
Murray Steele:Introduction, Introduction
Murray Steele : 10th Feb 2010
View Podcast: Introduction,
Joel Chippindale:Show Off, a Ruby-Based HTML Presentation Software, Show Off, a Ruby-Based HTML Presentation
Joel Chippindale : 10th Feb 2010
View Podcast: Show Off, a Ruby-Based HTML Presentation Software,
Brent  Snook:Decorating the Domain - Wrapping Polymorphic Presentation Logic Around the Model, Decorating the Domain
Brent Snook : 10th Feb 2010
View Podcast: Decorating the Domain - Wrapping Polymorphic Presentation Logic Around the Model,
Ismael Celis:Using Websockets with EventMachine, Using Websockets with EventMachine
Ismael Celis : 10th Feb 2010
View Podcast: Using Websockets with EventMachine,
OTHER RIA, AJAX & WEB EVENTS
:Object-Oriented ActionScript - Beginners,  Object-Oriented ActionScript - Beginners
1 DAY COURSE.
Paris, Tuesday, March 30th
:Introduction to Adobe Flex,  Adobe Flex Intro
1 DAY COURSE.
Paris, Tuesday, April 13th
Alan Cassar:Developing Mobile Applications with Android,  Android Mobile App Development
3 DAY COURSE. Featuring Alan Cassar
London, Wednesday, April 14th
:Adobe Flex for Flash Developers,  Adobe Flex for Flash Developers
1 DAY COURSE.
Paris, Monday, April 19th
Andrew Chalkley:Core RoR: Web Development With Ruby on Rails,  Ruby on Rails Web Development
4 DAY COURSE. Featuring Andrew Chalkley
Paris, Tuesday, April 20th
:Developing Mobile Applications with Android,  Android Mobile App Development
3 DAY COURSE.
Paris, Wednesday, April 21st
Peter Lubbers:HTML5 Communication: Using Web Sockets and more to build real-time Web applications,  HTML5 Communication: Using Web Sockets & more too
3 DAY COURSE. Featuring Peter Lubbers
London, Wednesday, April 21st
:Beginning Adobe AIR - Building your first applications,  Adobe AIR Intro
1 DAY COURSE.
Paris, Monday, April 26th
© Copyright 2003-2010, Skills Matter Ltd
  Web development by You In Control
About Us  Jobs  Find Us  Meeting & Training Rooms  Newsletter  Community  Community-FR  Apress  1st Teach  Jobs: Sales Executive  Jobs: Student Podcaster  jobs - marketing assistant  Spring Certification