Today, I release my new photo gallery. I probably started, spent few hours, deleted it, and restarted at least 4-5 times. In all over 50 hours of work have gone into this between coding, tagging and sorting. It may not look revolutionary, well because it’s not.
But what’s really cool is not the design or features, but the backend. Everyone who follows technology knows that flickr is perhaps the best photo sharing site out there. Not only are their prices a steal, but they have a phenomenal API which allows outside access of images and information. Additionally, there is no limit image size or storage space which is great for people like me with over 16 gigabytes of images.
While the API is great for few images or extracting a minimal amount of data, when you try to show the amount of data my gallery does you need 5/6 API calls really slowing down the browsing process. Additionally, your images are dependent on flickr being online, so if flickr goes down, so do your pictures which can be frustrating at times.
Well my solution is caching. Caching everything. I created an interface which builds my galleries, caches my images, my tags, into an MySQL database. Additionally, the system is two way, so if I add a tag locally to an image it automatically gets added to flickr’s database.
What are the advantages? First the most obvious is speed and reliability. Browsing is definitely faster then a fully API solution and my site isn’t dependent on flickr. The second advantage is my viewers have access to full size images on flickr should they want them. I don’t have the means or storage space to store 16 gigabytes of images on my own server but using flickr certainly allows me that flexibility. Finally, having a locally cached version allows me to add functionality which flickr doesn’t yet support (tagging people in the photography).
Is this a violation of the flickr TOS? No, certainly not because in normal browsing there is no load on flickr’s servers. No API calls nor image source includes. Everything is locally cached and loaded from my own server.
So enjoy the pictures. Check to see how many pictures of you are tagged! Digging through many albums to find pictures of yourself or that hot girl you forced to take a picture with you during Halloween is a lot of work. This makes it simpler.
If there is sufficient interest from developers for my code, I may fine tune it and consider releasing it to the open source community.
This is very cool. Good job, clean and simple. I would be definitely interested in a public release of some sort.
This is awesome. I would love it if you released the source to this, it’s fantastic!