the Future of Original

Jun 28 2005

Original has been my pet project for quite a while, but I have been losing interest in it over time. One of the initial goals of it was making it effortless to put images on the web. That meant no database setup, no web-admin interface to upload images at the time. You could just use ftp, scp, rsync or whatever to put the images on the server. You still had to run a client-side script of some sort to generate the thumbnails and size versions. And you still do. And that sucks.

Today I bounced into an article about sqlite. The flat file, no hassle aspect of it is very appealing. I wanted to have functionality like most popular images, recently uploaded images, keyword or exif entry queries, but didn’t want a hassle-dependency on mysql or postgresql. But then I realised the whole concept of client sript and server script is too much of a hassle itself.

So here’s why I am going to reinvent the wheel:

  • As simple as possible - copy photos to a directory. That’s it. Be those VGA or 10 megapixel shots. No client side scaling anymore*.

  • Integrate with F-Spot for metadata. I still don’t want any web-interface for that kind of stuff.

  • F-Spot export should really be synchronisation, not a one-time export. I want the metadata updated on the web if I do it locally. F-Spot can access the remote database file using gnome-vfs fairly easily.

  • I also want a similar interface as I have in F-Spot. I should be able to group the photos by date, album (folder), query by tags, I want to do funky javascript slideshows. I want it all.

  • Archives of photos should be done on the server too. Any query should be downloadable as an uncompressed ZIP archive or somesuch.

  • Oh and it has to have a non-sucky name unlike Original. Websnapz was my initial buzzy idea.

These bulletpoints are only the spark that made me decide to blow the dust away from my php hacking. Although the first thing I did was sudo apt-get install php4-sqlite I will resist and design the app first. Feel free to suggest functionality in the comments.