8 Documentation projects
PictureSync Mac Application for Verse
Batch upload annotated images to web services
- Optimised service addition and sign-in UI, including transparent post web authentication token retrieval (e.g. OAuth) using a simple 'becomes frontmost' check
- First application to upload both image data and annotations
- First application to interface between both multiple applications and multiple web services
- Comprehensive abstractions for web service behaviours with modular service plugin architecture including per-plugin version checking
- Co-branded builds with default sign-in prompts for service providers using an automated build system, and with provider-specific statistics (via a private website login)
- Only application to be able to upload images and then later sync the annotations (e.g. via Flick API)
- Only application to employ database-free metadata via file system extended attributes (i.e. for service upload IDs)
- Transparent licence activation after purchase on website
- Integral image and metadata manipulation functions
- Support for multiple disparate web-service APIs for uploads with an aggregate progress UI
- Interfaces with the file system and external applications to collect data, including support for standards-based emebedded IPTC/XMP and XMP sidecar files for annotations
- Fullscreen view
2004 — Conception, Desktop, Photo
MediaSock Client Framework for Verse
Abstraction framework for media-sharing web-services, utilising loadable modules, and a flexible properties architecture.
- First library to enable use of common code and functionality with disparate service providers.
- Simultaneous classed data and string handling (suitable for AJAX-type web server deployment scenarios as well as desktop).
- Was deployed on a Flex server platform, and in a .NET desktop application.
- Standardised functionality: list/make albums, list/download/upload media.
- Initially available with modules for Webshots, Flickr, and Yahoo! Photos.
- Session saving (service dependant).
2006 — Conception, Server, Photo
MediaSock Protocol for Verse
Lightweight service discovery protocol and web-service API to facilitate handling a user's media assets.
- clients can utilise service discovery not only check with a low cost (i.e. via HTTP HEAD) if a provider supports the protcol, but also what methods and characteristics are supported by that provider (interoperability between clients and servers is notably not guarenteed by the protocol)
- designed from the outset for easy implementation by service providers; could be implemented simply atop existing page forms, using existing cookies for authentication and utilising other common API methods instead of requiring new implementations
- choice of implementation models for service providers
- fixed-string XML and values allow parsing of responses without requiring a heavyweight XML parser
2005 — Conception, Server, API
ProfileConnect Gateway API for Verse
Abstract API methods from across multiple third-party prodivders into a normalised set of methods for use by clients with either intermediary gateways or end service providers.
- Unlike the MediaSock specification which concerns itself with only endpoints (client and server), this specification attempts to deal predominantly with intermediaries (gateways), yet also still offers endpoint functionality. Thus its methods might be used alongside existing API methods fufilling specific functions (whether provider-specific, or generic such as MediaSock), or in a completely-abstract manner on their own to fufil the same functions. However in such an abstract manner the method naming does not reveal the functionality offered by a provider, as compared to non-abstract APIs, instead it must be discovered using introspection, or hard-coded relying upon established behaviours or assumptions.
2008 — Conception, Server, API
MediaSleeve API for Verse
Define a specification by which online content providers such as radio streams, may provide metadata (e.g. album covers, song details) to client applications.
2005 — Conception, Server, API
OnDeck Mac Application for Verse
View iTunes track artwork and upload to a website
- First and only application to avoid polling iTunes every second or so, and instead more efficiently poll by simply calculating when the track ends, thus avoiding undue CPU load
- Use of variables for configuring metadata preferences
- Creation of JPEG artwork from iTunes PICT wrapper
- First application to provide artwork upload
- Locates artwork from disk, or extracts from iTunes
- Integrated Last.fm scrobbling
2003 — Conception, Desktop, Music
Moonstalk for The Moon Mill
Open-source web development framework and hosting stack using Lua.
- Automated filesystem to URL mapping for sites and applications, with no configuration necessary before use (including web server)
- Includes a bespoke low-latency NoSQL database which shares the web application environment and functions, whilst also supporting a task queue with seperate processes
- Internationalisation and localisation including handling for plurals and GeoIP
- Best-practice handling of script-loading, CDN assets, canonical tags, addressing, salted passwords, microcaching, deployment (via dCVS), etc.
- Many supplementary applications providing functionality ranging from calendaring to geospatial search
2010 — Conception, Server, API
B2B Rental Marketplace for UK Enterprise
Bring an existing business and its processes online and up-to-date using a marketplace mediating with third-party suppliers.
- Multiple pricing and comission models to support both owned assets and third-party assets
- Per-class (category, product or variant) cascading inherited attributes, with ancestor and descendant overrides providing a variety of ways to control how suppliers add new items and values
- Mediated messaging, with client-supplier messaging relayed through an operator
- Supplier auctioning with deferred (countdown) booking assignments in cases of unknown availability
- Collection options using geolocation
- Flexible delivery class calculations assignable per-category and postcode
- Geographical search ranking availability of items with delivery constraints
- Ability for an operator to easily swap their CMS view to that of a supplier (delegate authentication) when handling operations by telephone
- Categorised product (and variant) listings with search
- Bespoke CMS handling categories, products and their variants with dynamic attributes
- Booking functionality (not calendared)
- CMS and API for suppliers
- Mobile app with push notifications and messaging for suppliers and customers
- Multi-device and multi-role authentication and notification settings
2014 — Architecture, Web, E-commerce