Sunday, February 14, 2016

Impending Demise of Picasa

Today Google announced the imminent demise of Picasa - both the web albums AND the desktop tool. My short reaction is this: Booooooo! Not this again Google!

 
My second reaction (and perhaps the most important point of this post) is this:
It'd be great if Google could open source the desktop editing app - that thing has a lot of very useful stuff going on there that would be a shame for the world to lose.   (I know, it's a long shot for that to actually happen... but, it's better to have tried and failed, than to never have tried!)



Failing that, what I really actually care about far more are the answers to the following technical questions:
1) How do the 3 exposure correction sliders - "Fill Light", "Highlight", "Shadow" - actually work?   In particular, I'm most interested in knowing about the "Fill Light", since that's one of the tools I use quite heavily, but have been unable to find a full replacement for (not close equivalent, but exact replacement) in any other package I've tried to date.    (In fact, I'm seriously considering putting a bounty on getting source code + running binaries for an implementation of this tool, to be obtained using any means necessary - be it reverse engineering the relevant code, or R&D of a replacement, or perhaps just getting the original devs to secretly leak the relevant code snippets for the public good)

2) What is the format of the metadata used to store the sequence of edits that Picasa performs on each file? These metadata files are stored in each directory, and seem to use some kind of encoded/compressed representation of the sequence of operations + parameters that get applied to files.    (Knowing this will be important for being able to port the non-destructive edits made to large numbers of photos in my library to whatever future tools I end up using)

3) I wonder how its UI toolkit was put together - especially for handling the scrolling of the view, as well as the rendering + storage of all the image thumbnails.  There's clearly some nifty engineering going on here, but most of us will never get to find out how it was all done! :(

(If any of the original Picasa app devs see this, feel free to send a private mail to my GMail or Hotmail - aligorith - accounts with more details of how these things work. I promise that I will not disclose the details of who provided me with this information... given the likely NDA's that some of this stuff may be under :)


---

4) How can I efficiently duplicate all albums, their content, and all metadata attached to all of those to another online storage solution?  It's clear that I'll need to start looking for a better online storage solution for these things, as the new Google Photos seems critically flawed in quite a few ways :/



Longer Reaction to the Demise of Picasa
Granted, it's not entirely shocking/surprising, given that their intentions were pretty darned clear a few years ago when they created Google+ Photos, and proceeded to try to forcibly redirect links from the old PicasaWeb albums to the (then) new "Google+ Photos Albums". As of a few months ago, the newcomer itself was displaced, demoted, and is almost gone, to be replaced by yet another new shiny newfangled thing - except this time, it very much hamfistedly tries to ram down everyone's throats the notion that everything should be done via cloud storage... entrusted to a company whose record on following through with keeping such data secure and available in a few years time is now, following the events of the past year or past 2-4 years actually, rather incredibly shaky.  In fact, what follows is based in part on a rant I first started drafting a year or so ago in response to the shuttering of Google Code Projects Hosting...

The larger issue I have with Google's decision today is that they (yet again) showed that kind of cocky arrogance in their decision making processes that I've seen countless times in the CS + SE students I've had passing through the classroom over the past 3 years. You know, the types who (as third year university students!) rely on newspapers as their sole source of information about major software industry stuff-ups (and mistakenly call systems by the misreported names commonly used in certain regions as nicknames for the system in question), or whose only thoughts when asked to come up with a project for doing a UI design for is to build "yet another stupid vapid social media platform" (YASVSMP) and/or to blindly add "User Profile" infrastructure to their UI designs (Login Page, Login Button, User Profile Page, User Profile Editing, etc.) "just because everyone else does it".  (Ton's famous quote comes in handy here ;)

In particular, we are yet again faced with a situation where a big corporate company has decided to annex one of its product lines - a product that a significant userbase relies upon to get their work done, and which is used to maintain countless treasured archives. *Poof*  They pull the switch, and suddenly that piece of infrastructure that so many people depended on vanishes from the world. Especially galling is when the scuppered software had some genuinely great tech that's not found anywhere else. Once again (as with Softimage), valuable technical heritage and know-how is being lost to humanity, as a result of a business decision.

It is in times like this that leads me to start thinking:
We need some laws to be made which effectively make it so that if a company has no further commercial use for a software system, and that they will be discontinuing said product, the code and related assets are required to be released into the public domain to be accessible by all.  Copies of this material must be made available to archival organisations immediately for safekeeping; but actual public access may be able to be soft-restricted for up to 3 years (i.e. the public cannot be barred from having access, but companies may still be allowed to charge for accessing the sources - by an amount relative to the original retail value when still running, and taking into account the extent of material requested).


Pre-Requisite for Replacing Picasa:  How do the 3 exposure correction sliders - "Fill Light", "Highlight", "Shadow" - actually work?
Basically, I've figured out how to get great exposures of things by slightly underexposing in camera (to avoid having things too light/unsaturated/overbright), then using a particular combo of Fill + A little Highlights boost + A little Shadows correction to get everything under control. On many old files that I once thought were toast, this single magic slider nearly always works absolute wonders.

Unfortunately, if you've ever used this tool, you'll know that it actually doesn't directly map to any obvious combination of the standard Brightness/Contrast/Gamma/Lightness/Curves/Levels provided in any of the other photo editors on the market. You can get close, but you'll have to spend a lot of time carefully fine tuning the curve required for each and every pic, instead of just setting roughly the same slider value each time. But even then, there are slight differences most of the time - sometimes enough to be infuriating, as they make getting the desired effect impossible.

From a forum post I once saw, it looks like they do some kind of perceptual colour remapping magic somewhere in there (as that's what the author of said tool claimed it used). That may very well explain why it's been impossible using the relatively primitive/pedestrian alternatives in other standard tools!




Rant about Google Corporate Strategy and/or Effect of Internal Politics
As has been discussed in a few places over the past few years in response to the kinds of drastic (and somewhat increasingly schizophrenic) decisions coming out of Mountain View, for all intents and purposes, it appears that today's Google suffers from some serious bouts of problems with corporate culture.

In particular, I'd like to start with one aspect, which seems to be quite connected to a few other "flaws" (I guess that'll be a suitable term for it here) that lead to the current situation....

It's been much publicised that Google these days likes having multiple teams internally working towards a single "product category goal" (e.g. photos, chat, etc.). While it may initially release quite a few of these, gathering often loyal followings, eventually, there will be a time (increasingly commonly in recent years) that all but one of these products will eventually be scrapped, leaving just a single victor.

In abstract terms, this may not necessarily be a bad thing: "evolutionary development", "survival of the fittest", etc. - whatever you may want to call it, sometimes it may be necessary to abandon old experiments when ambition/demands outgrow the initial foundations upon which the system was built. However, this view excludes the fact that the final chosen "winner" these days often turns out to not be the superior product at all... in fact, many of the previous systems that were abandoned may very well have some unique features which were indeed very darned good, yet are missing/half-baked in the supposedly "better" product that superseeded the older retired systems (e.g. the editing functionality in the old Picasa Desktop app, the ease with which visibility and control over albums can be had in Picasa Web Albums, or the "Highlights" view in the Google+ Photos). 

At the end of the day, the products and strategic decisions put out by an organisation are often symptomatic of the underlying organisational structure of the place that built them.

In the case of Google, I think the following conclusions can be made (Disclaimer: These are just "best guesses" based on what I've read so far, in numerous venues over the past few years. The veracity of each of those sources is unknown, but is assumed to be generally accurate):

1) Internally, Google is a mess of many disjointed warring tribes.   -  Indeed, this view seems surprisingly accurate, given various reports about the internal culture there (especially in the senior management tiers)
2) The success/failure of projects in the long term appear to be linked with the political fortunes of the teams behind them - Where there are people, and especially people in high concentrations, with some high stakes booty at stake, there is politics. Again, the reports that have surfaced about the inner workings, do not shine too brightly for the "right/best/good" (from user-perspective) products having a good ending.
3) High Staff Turnover - I'm not sure of the actual numbers, but at least popularly, there is a perception that these days, places like Google + Facebook + others are having an increasing trend of staff being on revolving-door stints in different teams and companies. Specifically, there is a notion that these places are hiring young college grads, who then typically stay 1-2 years (to get their "big company experience") and then leave (or are booted out?) for other pastures.

Even if this is not entirely the truth, it's not hard to see how something like this may affect overall quality of the resulting outputs of the company: Changing Staff = Changing Viewpoints = Different sets of egos saying "The old code sucks! I can write a better one" = New warring tribes emerging to take on the old/existing projects = Political tension between the groups = Staffing changes/turnover = Lack of loyalty from staff for projects they work on (as it's ultimately a temporary thing anyway, before the next switch/change) = Loss of product quality = More political tension = Changing Viewpoints... The cycle repeats!

So, ultimately, it can really be chalked down to problems of "corporate culture" at these places. Where does that blame lie? All the way up at the top of the corporate totem pole for said company, as one of their main responsibilities as CEO's, is to define the culture and direction of the organisations they lead.


My Response to These Picasa Changes
With the demise of two Google Services I've used in the space of a year or so, I think it's time to hasten the process of migrating my stuff off Google's platform. While I don't think I'll completely abandon the big G yet (though never say never, given the unpredictable nature of this corporate beast), it's increasingly likely that it's probably time to start setting up some of my own web infrastructure for hosting all important stuff (which will need to be transferred over from the G-plex), as well as finding a way to set things up for a more resilient multi-host decentralised hosting solution for all my stuff.

While I don't necessarily think that everything will immediately break in the near future, what is clear from Google's actions in the past few years is that the world really can't depend on it as a trustworthy and reliable company anymore going forward as we used to be able to in the past.

Regarding my photo management workflow, it's likely that major changes will now be needed. I'll have to investigate a bit about how the new Google Photo infrastructure works, what it supports, and whether any of my new stuff will continue to exist there. I'll also have to seriously consider Flickr (and/or any other alternative solutions.... also, somewhat related is to raise the importance of starting a project to mirror this blog's content to Wordpress - initially the hosted Wordpress, but later to my own server + domains I think, as an insurance against future-Google). It's a pity though that the golden era of this well-integrated setup is ending :(

Then there is the question of local photo management + editing. With Picasa Desktop support also coming to an end, we're only really one bad Windows update away from that going away too. Hopefully some technical solutions for the technical problems presented above will come up, smoothing any migration to an alternative solution.  The top choice at this point seems to be a move to a standalone version/copy of Lightroom (if I can get a hand on that... they seem to really be pushing some more "cloud" crap, that really sounds like it's just going to be further troubles of a similar nature down the track!) 

Ultimately, an Open Source solution would be best (as always, though there are still many hurdles yet to clear)!  During my earlier journeys in Linux land, I ended up settling with DigiKam as my primary (despite it's "issues"); DarkTable was also another promising app (if still rough in places). Others I tried really didn't cut it for what I do :/  But, still, none of these have the exposure adjustment tools I want!

No comments:

Post a Comment