The content on this wiki is being preserved for historical purposes, but is not being maintained and is probably no longer accurate.

For current information about DPLA Development, see the Development Portal

For latest API documentation, see the API documentation


From DPLA Dev Wiki
Jump to: navigation, search

Here are some sample apps we are either contemplating or are already constructing.

Of course we look forward to this list be supplemented with apps being developed outside of the dev core.

Title Description Who Status
Stackview Widget Creates visual shelf, including heatmapping, out of platform returns, as well as from Amazon, WorldCat and json data (link) Annie Cain prototyped
Library Analytics Package to display library analytics based on data from the platform Kim Dulin and Spec'ed and funded.
Multi-collections search Search across multiple collections; show results side by side. Toy. (link) dw semi-working primitive prototype
Long Tail Browser Search returns interesting items from the long tail No further work scheduled Current version simply returns descending list of unintersting results. Not clear what constitutes interestingness yet.
Reed-Elsevier integration When searching at R-E, also send the query to the dplaplatform and display the results in a stackview. Unassigned -
Zeega Integrate Zeega. Note when an item is in a Zeega collection? Enable Zeega to use dplatform items in its collections? Zeega Zeega has agreed to work on this for Phase 1
Wikipedia book page integration Generate a list of WP pages about books, and return info about all the books within the same WP categories. Or something else Paul + ? We are doing work on finding those WP pages about books. It's hard. Not for phase 1.
Embeddable widget Small graphic that can be displayed by other sites when DPLA has some info about an item. E.g., a local library could display usage info from the DPLA about books in the local library's collection. Matt and Paul Working prototype needs to be tuned to the data in the dplatform Bookmarklet that, if used on a book page (Amazon, Google, DPLA search results, a page, etc.) adds the book to a visual stack. A social site lets users manage and share their shelves. Matt Working prototype needs DPLA and integration.
Linked Data browser Within a particular domain (probably Art Movements for the prototype) pulls together info about an item across linked data clouds, including DPLA and Europeana. Requires prep work by the developer to massage sources so the results are high quality. Dan Brickley Planned for Phase 1
Europeana 2 DPLA An extremely lightweight app. A toy. Does a search of Europeana via its API. Click on results to look up items in the DPLA that match. Match = the raw string in the Europeana "creator" field is used as a search term in a DPLA keyword search. Displays results as a visual stack. (link) David "done"
DigitalNZ 2 DPLA Pretty much the same as Europeana 2 DPLA. Likewise amateur coding and toyishness. link David as done as it will ever be.
Create-a-Cover Search DPLA. Click on a result. It fetches 4 images from Flickr that it thinks are related (it turns the DPLA description into tags and does a tag search at Flickr). Crop one of the pictures and it puts the work's title and author of it. To actually be useful, the user then uploads the cover and the DPLA tracks it, especially if the DPLA doesn't have a cover image for that work. But the uploading isn't implemented. Hence, a mere demo. By a non-developer, so don't take the code seriously. link David As done as it ever will be.

From the April 5, 2012 Hackathon

This list is taken from notes taken at the meeting by SJ Klein, available here.

Wrapup notes - List of projects

Corey - The main thing i did was write a really hackish ruby harvester, get json back and parse it into columns with dates, urls, data soruce, title, and record id. Dump that into a pipe-delimited file.

I played around with loading this into viewshare, a LOC project imnplementing a lot of Simile and Exhibit tools that can import data and visualize it.

I'm looking at attempts to plot the word 'exploration' on a timeline based on opu date, and a pie chart showing that 30% of results for 'exploration' come from NPR YouTube and Biodev Library.

I did the same thing with monkeys and turtles. There were more monkeys in LOC than in the biodev heritage library...

David - I put in a search term, to get in results from dpla. Click on one. It goes to flickr, taking the subject and description and author and title from dpla, mashing them together as a string, removing keywords, separating strings by commas, sending them to flickr as tags, and geting the set of flickr images with similar tags. Choose the picture you want to use as a cover. (Added later: crop the image) It adds the title and author to the image.

Andromeda Timeline! On the backend, python is querying dpla and taking JSON it gets and munging it into this timeline tool, put out by Knight recently ( It autogenerates a timeline that helps you see where things are in history. If it is a multimedia item, it will embed that by default. it doesn't know how to handle npr stuff yet, but it is a fun way to see an idea evolve over time.

User data could be dumped into this script, but it's not yet clear how to wire those two pages together. In theory you could put in your own search terms.

Jason I already showed what I was working on earlier. I just used the NPR data to embed an mp3 onto another page. Taking a blacklight app and using it... I di release the related gem, so that's [progress].

David C. working on an html file on github. I worked on a javascript improvement to dpla search, so that on every keyup it comes back with results that match the keywords you've entered so far. You can change the searchtype from title to keyword. Just a jquery experiment!

Ralph I've been trying to enhance the data in the db. So I tried a monkey search like Corey, and found an author David Lipsky, I copy that author and throw it at this little api for looking up names: this comes back and tells me there are 3 david lipsky's it knows about, and gives me control ids into variuos services that know about him. So we pick one that is most known: the Natl Lib of Austrlia, LOC, and DNB all know about him. We throw that up into worldcat and find out more about him.

This turns up things like related works, links to his WP article. I wanted to see if I could cook down the google refine API to query freebase and come out with better IDs all at once than by going through all of these services.

Dan Working on Covered: with Brad, we refined how this works -- it lets you stack up a set of criteria in one search. Say "monkey". this lets you paginate through the result set. This pulls in covers from openlibrary; if I click on a result, this will do a flickr search for terms in the title. If it doesn't find anything, it shows nothing.

If I want to refine this down, I can find subsets of the matches. This is all done clientside.

James and Nate Working on a map mashup, showing how one can generate lists from dpla queries and place them on a map. Right now we have random locaions in Boston; we picked 10 spots and 10 lists of books in those locations. These are the nearest local public libraries. IT geolocates your position and finds nearby public libraries. One happens to be in the middle of a river... don't mind that.

We can click on one of them, and you will see different books... these are live links to relevant media. Ideally this would be connected to a tool for making lists, and you could find out what summer reading lists people were making around you.

James - this morning we worked on the DPLA api to the set of apis that Zeega works with. Now you can ingest things from the DPLA api into Zeega, and expose it -- to add extra metadata, geolocate it.

Reinhard and Ryan I am amazed that Ryan was able to merge the things we were doing. "the world's gnarliest merge in the past few minutes" What we have here are several visualizations. you are seeing a treemap. this shows - with imperfect colors - several dimensions of data. all the subjects at the top, bigger boxes being ones with more items in the total search resultset.

Colors, from white to green, show how many were present in the 20 items we actually retrieved; just to show how you could have multiple dimensions of data. At the bottom there's a timeline bargraph: results by data from the 1800s to the current time. no labels on it yet.

And below that there is a tag cloud, another way of representing this data. We built all of this purely from results from the facets of the API response. I imagine we could make a visual way to drill down into results this way. For instance, you cuold click on one of these vis's and requery.

We got many results for people, who have birth and death dates. I looked at all creators, averaged their birth/death dates, to get a single value here.

Jay I created a really simple python wrapper for the DPLA API - based on the Solr api someone else wrote. It is much simpler - it lets you query in different ways, and define facets and sort parameters. It is on github as dplapy.

Matt I showed something this morning which I'll show again v. quickly -- pulling a list of trending twitter topics and see what dpla matches we can get. not too useful, but here are things trending in the last 5 minutes. you have to click around a bit to find matches - but there are things we match on for say Stenson. Monkey (As a failsafe, just to get a working link)

I can click on one of the matches and pull up a page on

This morning quickly I took dan's Covered app, and included an "add to" link which should take you to a page where you can fill in various required fields and add that item to my own shelf here. That's it!

Paul OCLC has an XID service, so during ingestion when an ISBN shows up, they can call out, get related items, and create a Work record (in FRBR speak) and then find all matching records in WorldCat.