[Shotwell] PicasaWeb support

Lucas Beeler lucas at yorba.org
Fri Apr 16 00:51:55 PDT 2010


Hi Richard,

   Your question of whether Yorba and the Shotwell community would prefer
maintaining our own PicasaWeb support instead of having it replaced
with a libgdata-based implementation has two answers: one for the near
term, and the other for the long term. I'll first speak to the near
term.

   In the short run, we have no intention of modifying the Shotwell
PicasaWeb publishing subsystem for the simple reason that it works and
is stable. What's more, the set of transactions that we perform on the
PicasaWeb REST endpoint isn't terribly complex. Heck, we really only
perform 4 operations: we query album names, we query user information,
we create new albums, and we upload binary objects. With such simple
needs, it was just as easy to code the communications layer of the
PicasaWeb subsystem ourselves as it was to write a wrapper layer
around an outside library. Writing the communications layer ourselves
also allowed us to implement it in such a way that it could be used
directly by the higher-level classes that coordinate the behavior of
the entire publishing system (Interactor and BatchUploader), without
having to use clumsy wrappers and adapters.

   All of that said, over the longer term, we definitely do intend to
migrate to libgdata and similar client libraries for the other
services that we support (Flickr, Facebook). The reason for this is
that we intend to evolve simple batch publishing of photos into a
complete, bi-directional, "always on," synchronized link between
Shotwell and the cloud. So, the moment you edit a photo in Shotwell
(say, by adjusting its saturation), the change will be reflected
automatically in any web service to which the photo has been linked
and vice-versa. Of course, implementing bi-directional synchronization
will dramatically increase the complexity of our communications with
the various web services. And, once we've reached this level of
complexity, it makes sense for Yorba to stop developing its own client
communications code and to start offloading that responsibility to
mature outside libraries like libgdata.

   So if you're interested in Shotwell and you know libgdata inside
and out, we would love to have your help on the PicasaWeb subsystem
once we decide to make the move to bi-directional sync'ing. We're just
not ready yet.

   Once again, all of us at Yorba thank you for your interest in
Shotwell and your offer of a substantive contribution.

Regards,
Lucas



More information about the Shotwell mailing list