Innovation in Assembly is one of the eight core design patterns (O’Reilly, 2005), and it refers to online services allowing the user to remix and create from a platform provided by a business. This creation involves utilising existing data and capabilities of an established system and giving the user the tools to use that platform however they see fit.
The National Library of Australia’s (NLA) Trove search engine is a platform developed as a collaboration between over one thousand major libraries (Holley, 2010). As of the 20th of March, 2014, Trove has more than 390 million searchable items.
NLA: Trove and Innovation in Assembly
The NLA has developed an API for use with Trove, which allows developers to search, pull entire items (including metadata), copy, view history and create visualisations for any items across the vast database indexed within the Trove platform. The data that is retrieved from calls to the API can be freely manipulated by the developer as they wish, including for embedding on another website. The granularity of the returned data allows capable users to execute almost any action they wish the information once they have received it. The API key, required by the developer to request from NLA servers is freely available, lowering the barrier for entry to almost zero and code documentation is available for all possible API calls.
NLA:Trove & Best Practices of Innovation in Assembly
Design for Remixability & Granular Addressability of Content
Designing for Remixability refers to the design of the platform that allows the user to deal with the smallest possible units, rather than entire datasets or meta-data, etc. This also requires the data to be addressable on an individual level.
Trove gives users absolute granular control over the data they had received from a search request. Any article, within any sized pool of results, is individually addressed and can be accessed and manipulated in any way the developer deems fit.
Apply API Best Practices & Use Existing Standards
When a business develops and maintains an API, there are a number of practices that help to achieve success and ensure developers can get the most out of the robust system they’ve been provided with.
Writing, maintaining and releasing documentation alongside programming interfaces is industry standard practice. If an API is released without supporting documentation or sample code, developers will not be able to understand the interface and it will go unused. Trove has provided full documentation and sample code for its API.
If developers are allowed to request from the platform limitlessly, especially if the service becomes popular, the system will be under heavy load from unfettered requests. It is considered good practice to limit the number of requests each client can send over a given amount of time. Trove limit requests by enforcing an API key system in which the number of requests from the same API key is limited.
Web platforms must utilise standardised file outputs for the data they send to the user. Without standardisation to the rest of the industry, the output is useless and will not be popular with the community. Trove outputs industry standard file types for web services (JSON and XML).
The NLA’s Trove service is an example of Innovation through Assembly as it leverages its already-existing large service platform and giving the public an API through which they may dynamically interact with the data however they wish. Trove’s output is highly remixable, as it is uniquely addressed and permits granular access to individual articles. Trove successfully implements numerous API best practices including thorough documentation, examples and a way to limit server load by individual key-holders.