05 September 2007

Gdata-Backed Applications

So, after a few trial runs, I am seriously considering Gdata as the Data-Access layer for my next project: An appointment booking and review site for my tutor students.

I first tried it out on this site. I didn't want to develop a database and an admin for this website, and I didn't want to just settle for blogger, which does labels, but doesn't seem to have the cool categorization functionality that I was really hoping for. None of the weblog alternatives were looking good either.

Enter Gdata. I learned of this nifty API that Google provides for query and CRUD operations for all of their applications, including Blogger. After poking around for a bit, I also learned that it is super-duper easy to use (if you are a programmer). As it's already feeling very late tonight, I'll just post the link, and you can see for yourself:

GData Blogger API Overview

Now, with very little programming, I was able to suck the blogger data onto these pages, quite seemlessly, and separate them into categories, like I was wanting to do.

Just days later, I was realizing that, for my t-shirt website, I needed to have a reminder go to my phone three-days after an order was placed to remind me, "Hey, if you haven't shipped this order, yet, you better get a move on!" All I did was, at the end of each order, use Gdata again to create a new calendar item on my Google Calendar, which defaults to remind me via my phone. That wonderful piece of integration took only a couple dozen line of code.

Lest everything look like roses, there was one problem, but it was web host related. I speak of the curl proxy that GoDaddy requires all secure requests to go through. Having a curl proxy is not a big deal, but the fact that it doesn't accept POST requests is astonishing. So, there was a little bit of hacking, but the problem had already been solved by people much smarter than I. I gladly accepted their generosity. :)

This, I believe, is incidental to GoDaddy, though. Otherwise, both times GData was very easy and just right for what I needed.

Now, for the tutoring appointment and review site. I'll use Blogger to log records regarding tutoring visits, the Calendar for appointments, etc. I'll build a presentation layer that will give the booking functionality on top of the normal free-form scheduling, and I'll probably use labels for the individual tutoring students. Perhaps, I will try to do the billing letters through Google Docs, but I'm a bit wary that this might be more work than it's worth.

Anyway, I look forward to trying it out.