You’re going to hear a lot more about apps over the next few weeks! The deadline for submissions for the City of Edmonton’s Apps4Edmonton competition was Friday evening. Local developers came up with more than 30 really interesting and useful local apps, which will now compete for your votes and for the attention of the judges. You can learn more about the prizes and the competition here.
I started looking at some of the apps, and decided I wanted a better interface to browse them. I thought it would be nice to be able to sort the apps, to see a screenshot of each one, and to see which datasets each of the apps made use of. I also didn’t want to spend too much time on it, so with all of that in mind, this seemed like the perfect opportunity to experiment with Pivot.
Here’s what I came up with! Click on the image below to load the Apps4Edmonton Apps Directory in Pivot. You’ll need Silverlight 4 installed for it to work. Alternatively, if you have downloaded Pivot and have it installed on your computer, you can browse to this URL inside Pivot.
Might take a minute or two to load. If it doesn’t, just refresh it. What you see are all the apps from the contest page, with a screenshot, description, contest URL, and list of datasets for each one. If you want to see just the apps that use the “Police Stations” dataset for example, you can select it in the navigation pane on the left and the view will update.
Ever since TechEd, I’ve been really interested in Microsoft Live Labs Pivot, an interactive data visualization technology. It’s great for exploring large datasets, identifying relationships, visualizing patterns, etc. The Apps4Edmonton dataset isn’t very large of course, but the tool still does a great job.
How It Works
I started out by building a Pivot Collection using Microsoft Excel. Pivot has a pretty handy tool for turning spreadsheets into collections, so that’s what I used initially. Quickly though I realized that I wanted to host this on the web somewhere, and that I wanted others to help me refine the dataset.
I uploaded the spreadsheet to Google Docs, and then downloaded the Just In Time Pivot Collection sample. After a little bit of experimentation with the Google Docs API (which I have never used before) I had the code working to create my collection on the fly. It loads the spreadsheet from Google Docs, creates the collection, and then serves up the XML and Deep Zoom images.
The spreadsheet is mostly complete, but a few apps are missing datasets. This is because either it wasn’t immediately obvious which they were using, or they simply don’t use any that are part of the data catalogue. You can update the spreadsheet here.
If you’d like to experiment with creating your own just-in-time Pivot Collection, you can download the sample code here and the code for the collection I wrote here. I also made use of CutyCapt to generate screenshots. You’ll also want to check the XML schema.
UPDATE: Thanks to John for helping me get the Pivot Collection right!