API Gateway 2008
An API gateway server accepting media uploads from clients using a wide variety of supported APIs, and re-broadcast them to well over 50 different service providers.
Types: Server, Web, Mobile; Roles: Management, Layout, Architecture, Support; Functions: Photo, API, Content Management; Tools: Java, Email, ImageMagick, Eclipse, SVN, AWS, jQuery.
Innovations
- Deferred batching to accept multiple uploads over a configurable timeframe, and then re-broadcast them together as an album or single blog post after no more items had arrived (instead of individually upon arrival).
- Utilisation of special 'routing' tags, allowing uploaded media to be dispatched to specific accounts or groups of accounts simply using a tag, thus avoiding the need for specific client routing UI, and instead using a client's native tagging UI.
Features
- Prioritised image processing queue with service provider connection constraints
- Service provider error aggregation and reporting to quicly idenitfy and prioritise API issue resolution with destination service providers
- Support for multitudinous client upload APIs including metaweblog and Flickr, which with DNS spoofing enabled official clients to be used with the server
- Bespoke upload applications and Plug-ins including iPhone, Aperture, Windows Live Gallery and integration with Nokia share
- Support for hosting uploads directly on the service, including views for user streams, albums and individual photos
Notes
A proof-of-concept demo was built upon my MediaSock Client Framework in ASP.NET. I worked on most aspects of this project engaged part-time for the first release of the service, predominantly focussed on management of the development team in Delhi and specification of the architecture. Whilst I revewied my team's contributions to the Java codebase I did not work on this much myself. I did HTML layout and UI for both the web and mobiles sites, including the workflow for adding and mangaing services.