Saturday, March 29, 2008

FlickrPalmr

I just created a litte Java app that downloads prefedined (=selected) photos from flickr down to my palm.
I noticed that I can do this quite easily without the need for a conduit.

So here's what id does.
  1. You create a set in flickr and add the files you want to have on your palm, let's call it "flickrpalmr" per default.
  2. The program picks this set from the defined user (=your user)
  3. Downloads all new pictures from this set to the palm photo installation directory, into a new set ("flickrpalmr", again)
  4. if there was a photo in this directory that on flickr no longer is in the defined photo-set, it removes it from the directory as well.
  5. hotsync the palm
This works due to the fact that the media conduit in palm really syncs the folder
<palminstall-directory>\<hotsyncname>\offline copy location\Internal
bi-directionally. Every subdirectory will become an Album on the handheld.

So the directory c:\programme\palmone\txr\offline copy location\Internal\flickrpalmr\ gets sync'ed to the Album flickrpalmr on my T|X.

If I remove a picture from the photo-set on flickr, it will be removed from the directory and thus from the palm.

Then you have to cron (or create a "scheduled task" under windows) for the java program for e.g. every hour or once a day... e voila.

Not the nicest integration, but it works.

What I initially wanted to do, was to avoid the set, but go for a tag only. You'd just have to tag your photos with "flickrpalmr" (or whatever you'd prefer), and that'd be it.
The flickr api, however, does not seem to expose a method to retrieve all picture from a user with a given tag.
You have to walk through all the picture and then for each photo check, if it is tagged with "flickrpalmr". With 500+ pictures this is extremely slow. And it does not make a difference if you only want to sync 20... you have to enumerate all of them.
So I went for the photo-set.

2 comments:

m3 - Martin Leyrer said...

A palm? How quaint! ;)

Roman said...

still an excellent device...