Picasa for Linux available!

Dan Kegel dank at kegel.com
Thu May 25 20:50:12 CDT 2006

Google has indeed been working on Picasa, and it's finally available for
download at

For the curious, here are a few tidbits about how it came to be.

When Google wanted to port Picasa to Linux, they faced a
problem: the Picasa team was busy working on new projects, and
having them also do a native port would have taken a while.
As an experiment, Google decided to give Wine a try.
A quick look showed that much of Picasa already worked,
but key features were missing: the IWebBrowser API, SSL,
scanner/camera support, removable media notification (so you can
insert a flash drive and have Windows notice it right away),
and change notification (so Windows can notify apps when new
files are created), among others.   Fortunately, Wine was
already halfway to having an implementation of IWebBrowser
thanks to Jacek Caban's Summer of Code 2005 project.  And all
that other stuff couldn't be *that* hard, right? :-)  So
Google engaged Codeweavers to add those features and fix any
other bugs.  This resulted in tons of improvements to Wine (see
the list at code.google.com/wine.html), all of which are now in
the public tree at winehq.org.

Many people assume that when porting a Windows app to Linux
using Wine, the best thing to do is link Winelib into the
application to create a native Linux application.  Not so!
It's just as effective, and a heck of a lot easier, to run
the same binary on both Windows and Wine.  So that's what the
Picasa team did.  Picasa for Linux uses slightly different
text messages, but the .exe file is identical for both Windows
and Linux.

Toward the very end, everything was looking great except
that the initial assumption that most cameras emulate storage
devices turned out to be wrong.  Fortunately, Marcus Meissner
just happened to decide to implement libgphoto support; his
patch appeared at the perfect moment, and now Picasa supports
both common flavors of cameras.

Two features left out of the Linux version were CD-ROM
burning (the driver Picasa uses is hard to support under Wine)
and movie playback (Wine doesn't have the necessary codecs).
Both are potentially fixable in a future version, but were
beyond the scope of this first port.

One interesting challenge when shipping commercial apps for
Linux is packaging -- do you choose RPM or Debian packages,
or do you use a WIndows-style installer?  The Picasa for
Linux team chose all three, in hopes of pleasing everybody.
(Let's see how well *that* works :-)  The Windows-style
installer was implemented using the open-source Loki installer,
and a few patches were contributed back for that, too.

The Picasa for Linux team had a blast.  It's not often you
get to pour resources into a vital open source project to help
ship a commercial application!  We hope we get to do it again
sometime soon, and we hope the results are good enough to
encourage other companies to give Wine a try.

Thanks to the Wine community for a very capable platform!
- Dan

More information about the wine-devel mailing list