Drupal, iPhone, WebOS and Drippic

Back in April I started work on a small site I called Drippic.

It all started with the Twitter for iPhone app (or Tweetie as it was then). This Twitter client allows the user to enter their own custom image service URL. So I built a Drupal module that creates a content type called “pic”, fetches the data sent to it from the iPhone app, and saves it as a Drupal node, and the image in an ImageField.

As I was using Drupal this also allowed me to upload images through a normal node add page, although this did not post to twitter. So, in came the Twitter and oauth modules, this allowed the user to both authenticate with Drippic via Twitter and post to Twitter.

The URL that Drupal was posting to Twitter at this point were either long ugly ones, or short ones from a third party service, I wanted my own short Drippic URL. Here I turned to Shorten and ShortURL modules, this allowed me to post the image to twitter with a nice, short Drippic URL.

The next thing I wanted to do was to be able to post to Drippic via email. For this I wrote a separate module which received emails from postfix, created a Drupal node, and posted them to Twitter. Each user was created a unique email address in the format username.code@drippic.com, so Drippic knew who was posting the image.

This is then how the service stood for a while, I was using it, I managed to get one or two friends and family using it, and I was pretty happy.

I then came across Spaz. Spaz is an Open Source Twitter client which runs on Adobe air. Being Open Source Spaz has a lot in common with Drippic, which at this point I was making the rough development code available via GitHub. I decided I would get involved with the Spaz community and write a patch which added Drippic as an image service. Within a couple of days Drippic was in the bleeding edge version of Spaz desktop.

Although Drippic was using oauth to allow users to authenticate on the site, the Drippic API, which Tweetie and Spaz were using, was still using basic auth. When Twitter announced they were disabling basic auth I thought I better get working on allowing Drippic to accept oauth echo requests. A few days later, with a little help from Ed Finkler (funkatron), I had Drippic accepting oauth echo requests. This was about the same time that Spaz was also moving their app over to oauth, and post to image services using oauth echo, so Spaz was the first app to make use of Drippic’s oauth echo API. Shortly after the Twitter for iPhone app also moved to oauth and posting to image services to oauth echo. I was able to change the URL in the settings to Drippic’s oauth echo API and everything still worked.

A while later I had a message on Twitter from Gurpartap Singh about getting his Twitpic uploader iPhone app to post to Drippic, because the Twitpic and Drippic APIs were so similar this seemed a pretty simple task. Although it did uncover a few bugs in Drippic we soon had an app together and submitted to Apple.

Last week, Spaz announced the latest stable release of Spaz for WebOS (which powers the Palm Pre and Palm Pixi phones). This release of Spaz runs on the same backend as their Adobe Air app, and therefore had Drippic support. They also decided, mainly because of the open source relationship, to set Drippic as the default image service, this has seen a huge increase in the amount of Drippic users.

This week, I posted the current version of the Drippic module which powers Drippic.com to Drupal.org to allow everyone to host their own Drupal powered Twitter image service.

Today Apple posted the Drippic Uploader App on the iPhone App store. Within hours of the app being released Drippic saw many new users posting their images.

All this from something that started as a bit of fun.
All this from a fairly simple Drupal module.
Hoping for a lot more fun to come.

Next week, sees Drupalcon Copenhagen, and I’ll be there, posting to Drippic, and convincing everyone else that they should too.