Introducing Base-In-A-Case

This last weekend, I visited the second Freebase Hack Day in San Francisco. There were a few demonstrations and talks, some information-packed sessions led by Alec Flett, Jason Douglas, and other Freebase developers.

And there was even some hacking - the afternoon of the Hack Day, I wrote a prototype of an app syncing topics between Google App Engine and Freebase. Since I like to develop on App Engine but Freebase offers some insanely great uses, and the site and its tools are getting insanely greater at a fairly brisk pace.

Obviously, the worlds of App Engine and Freebase would have to do a better job of talking to each other, and BaseinaCase is a small step in that direction.

Try It, Check It, Fork It, Push It

The demo is up at http://baseinacase.appspot.com and the footer links to the Github repository. The app is GPL3 licensed, and I would love to see other people fork the project, or even just use parts of it in their own AppEngine apps.

Instructions

Using the demo is very simple: use the search form or just navigate to a page like http://baseinacase.appspot.com/jamtoday or http://baseinacase.appspot.com/oprah or….well, pretty much any string should work.

If the corresponding user has not already been created, a new user is both created on the GAE datastore as well as on the app’s base on Freebase.

You will then have the choice of two input fields. The first one allows you to add a new topic. Choosing a topic triggers an ajax call that saves the topic locally on GAE and connects the topic to the respective user on Freebase.

One thing that is missing from this demo is bi-directional writing. A cron job could be used to check for any changes to the Freebase Base and update the GAE datastore accordingly so that the topic-sync would actually go both ways.

Comments