I just created my second open source software project (for Drupal), Gallery Archive. This is the first Drupal module I've created, and I'm excited to be able to dive into many more APIs I've not yet interacted with. Drupal has been a great adventure in my life, and I'm finally getting good enough with 'drupal-fu' (like kung-fu, but in Drupal-speak) that I can come up with solutions to my own problems :)
The Gallery Archive module basically allows users to download an archive file containing all the images in a given photo gallery on a Drupal-based website. This is extremely useful for a few different purposes, but I'll detail my use case below:
For about a year now, I've had a password-protected picture-sharing website for my family, and instead of using an online photo sharing service (which usually has limitations, sometimes costs money, and is never a surefire solution (some services just vanish overnight, and you lose your data!), I decided to create my own site.
So far, a few family members have created accounts to share/view/download pictures, but the biggest gotcha has been the inability to download a whole gallery (or at least many files) at once. Users had to click on an image to get to the full-size image, save that, go back, click on another image, etc... It took a long time for galleries with more than 20 pictures (pretty much all of 'em).
So, I built this module, and now people are happy :D