I have just finished a big project on optimising HIV testing in South Africa. For this I needed a way of visualising locations and associated data on a map of South Africa. I looked as the various technologies available and decided to try Google fusion tables (FT for short). I have to say I found them excellent. Let me tell you why.
Firstly I could try FT by simply logging on to my Google account and uploading data from Excel. The good thing about this is you could try things very easily without writing any code. (I have to admit I had a few problems with Excel upload and swapped to comma separated values (.CSV) format. See my other blog here with tips on using Google Fusion Table via import from Excel.)
However I really wanted to access the data via software and FT comes with a good SQL like API. It took a little while to get my head round some of the things, like you write data in a SQL-like format but you read data back as .CSV format. Sounds odd, but makes a great deal of sense once you understand how data is accessed. I also found it difficult to work out what sort of authorisation method to use because there are multiple ways to do that (they have improved the documentation on that now).
In the end I wrote a mildly complex FusionTable read/write access framework in C# under Microsoft .NET. This took me about 14 days including unit tests and a asynchronous write method. I consider that quite quick so it obviously wasn’t too hard a job.
Only real problem I have had using FT is the Error 500 – ‘Unable to execute query (which appears to be correct) at this time. Please retry.‘. This error comes from writing data too fast to FTs (but I have found it happens on some commands that are badly formatted, so watch out when developing). See this post for useful information on the Error 500 and how Google plan to change it.
With this framework in place I then wrote my software (a location optimisation algorithm) and sent out data directly to FT. The data I send out consisted of either a point, line or polygon with an associated column that controlled the colour or icon type plus some information for the user. The user information is accessed by clicking on a point/shape and FT then displays an info box with your information.
I would love to included live examples from my work in this blog post but the work is confidential and you would have been able to view too much information, hence the general pictures. However there are LOTS of live examples here from Google.
Bottom line is I am VERY pleased with Fusion Tables. Well done Google.
UPDATE: The Google Fusion Tables API has has been updated to v1.0. See here for the documentation for the new API. Also note that the old interface, known as SQL API, has been depreciated and will be switched off on December 26th 2012. See my comment below on some of the changes.