301 to GitHub

Sunday, July 27, 2014 at 4:13 PM
If you arrived here at any point in the last 6 years, statistics show my Lightweight PHP Picasa API brought you here. Circumstances are different since I started development on it and it's time for a change. The first and most noticeable change is that it's moving from Google Code and a misconfigured SVN repository to GitHub. The second change is that you really might want to rethink whether or not this API is for you.

Eating Your Own Dog Food
Like a lot of useful software, my Picasa API was born out of necessity. I really thought hosting personal pictures on my site would be fun and Picasa didn't have an official PHP API yet. But the services available for sharing photos with friends have changed since then and this blog ended up being an inferior spot, so a year ago I revamped CameronHinkle.com and pulled down all the photos. That officially meant I was not using the API myself and I might never know when Picasa introduces a breaking change to their services.

Another problem with the API is that if I'm looking at it objectively, it breaks a lot of coding principles that I understand a lot better now. I will give myself credit that I used some creative thinking to overcome obstacles I had never dealt with, but I would do the whole thing differently if I started from scratch. The biggest problem is that all the logic is basically in one giant root-level file that acts as a stateful utility class. This was because when I started I didn't know anything about good API design and didn't understand a lot of OOP concepts. The fact that I was a beginner probably helped me write it in a way that was easier for beginners to understand and might have helped with its popularity, but it also makes it hard to maintain.

I know that there are a lot of people using the API so I didn't want to pull it down completely. I offer it on GitHub with no warranty and no promise of ever updating it. But now that it is on a platform that makes it easier to collaborate, feel free to make it your own! If you like the tool and want to improve it for your own use, I encourage you to give your improvements back to the community. And if you just want to use it as-is, that's great as long as you understand the risks.

If none of the above has deterred, go fork me on GitHub. If you're looking for something that is less likely to have implementation gaps or unaddressed bugs, Zend offers a PHP API as well. And if you like superficial social commentary and videogame screenshots, you should follow me on Twitter here.