ordr - a flickr to pixaco gateway

Posted by Doomshammer on Tuesday, August 8. 2006 at 20:42 in Anwendungen, Computer, English only, Flickr, Linux/Unix, Photography, Privat, Web

As most of you know, I am an ambitious photographer and I love taking photos of everything (everywhere). I store all my photos in my flickr account, which is pretty cool, as flickr probably is (IMHO) the best photo storage/web 2.0/whatever community - I really love flickr (by this way, thanks Phil for the great hint :-) ).

But there is one thing which sucks at flickr. When you are from germany, you cannot order prints of your flickr-photos directly through the interface. As I like to have some prints/posters of my photos, I searched for a solution to get this working - and I think I found one.

PIXACO (a photo service of HP) makes it possible to upload photos directly via HTTP. So, as flickr is offering direct HTTP download URLs for all of the photos you stored, this is an easy solution to get your flickr photos sent to PIXACO (btw. they have a great quality and service).

So I sat down and put together a little interface to easily upload images to PIXACO via flickr. First I used to work with the perl module Flickr::API::Photos and Flickr::API::Photosets. This worked but was terribly slow. Calling a order page with about 100 photos on it, took more then 3 minutes to load, which is much to long - noone will wait 2 minutes for a website to load.

Well, I search for another solution. I found one. I created a backend/frontend version of my interface. In the backend there was my old script, which slowly ready all my sets and photos and this time stores the needed informations into a SQLite database. The frontend just read the informations out of the SQLite database and parsed it into HTML. The frontend was now really quick - but the backend still sucked, as reading all my about 1.200 photos in different photosets took more than 30 minutes and the load of the machine was at about 3.0 to 5.0 - so not a good solution for a 2-4 hourly cronjob. For sure the two perl modules where the bottleneck again.

Well, to make it short, I sat down, read a lot of the _very good flickr API documentation and implemented a solution which directly sends flickr API requests. Now the backend script only takes about one minute to read all my sets and photos. Additionally, I implemented a authentication mechaniasm which makes it easy to also put your private-marked photos into the database.

Followed by some more changes to the layout and handling of the frontend finally resulted in the first beta of my ordr interface. You can find it here: http://www.pebcak.de/devel/ordr-dev.pl (as the URL already tells, this is still in development, but yet usable :-) ).

If you like to, have a look at it and send me your opinions/suggestions/comments/whatever.





Trackbacks

No Trackbacks




Comments
Display comments as (Linear | Threaded)

*Cool! As you might remeber I just ordered some (well .. 110 ;-)) pictures at Pixaco so I won't need it in the next weeks. But great work anyways! I'll use it the next time.

Now all you need is to implement some fancy AJAX features in your interface .. ;-)
#1 phil (Homepage) on 2006-08-08 22:14 (Reply)
*Hehe, thanks Phil.
You mean, I should "Web 2.0"-ify it? ;-)
#1.1 Doomshammer (Homepage) on 2006-08-08 22:19 (Reply)
*Exactly.

And, btw, add the possibility to upload pictures manually via the usual web interface and use your interface. That'd be a great thing since there are still some private photos which I don't upload to flickr.
#1.1.1 phil (Homepage) on 2006-08-08 22:21 (Reply)
*Quick & Dirty workaround:
- Open the ordr
- Select a photoset (you'll get a session ID)
- Click on "Warenkorb ansehen"
- A new browser window will open with your current ordr-session, but you'll be redirected to PIXACO
- Upload your photos via PIXACO and ordr
:-)
#1.1.1.1 Doomshammer (Homepage) on 2006-08-08 22:37 (Reply)
*Ah, okay. I'll try it out next time. :-)
#1.1.1.1.1 phil (Homepage) on 2006-08-08 22:39 (Reply)

Add Comment

Enclosing asterisks marks text as bold (*word*), underscore are made via _word_.
Standard emoticons like :-) and ;-) are converted to images.
BBCode format allowed
You can use [geshi lang=lang_name [,ln={y|n}]][/geshi] tags to embed source code snippets.
Pavatar/Gravatar/Favatar/MyBlogLog/Pavatar author images supported.
 
 



Calendar

Back May '12
Mon Tue Wed Thu Fri Sat Sun
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      

Quicksearch

Not for Sale!

This blog is not for sale!

Latest twitter

Latest Photos

ERROR: The HTTP server returned the error or the warning(result:403).

Getaggte Artikel

Buttons

Ich bin ein Dokuleser
Get OpenSolaris
Gimme a Smile
neessen.net - Webhosting
I'm a blogger!
Lebst Du noch oder oarks Du schon?
last.fm
trnd - be trendy
I hear Metal
Visit GeoURL
Powered by Linux
Zsh lover
VIM! The Editor
Get Firefox
Ihr, nicht ich!
My amazon wishlist

BLOGROLL