Spot focus

For a long time I have considered F-Spot to be a nice concept application, but not really fit to be the center of Linux digital photography experience due to general bloat and (most importantly) due to the lack of many important features that would compensate the interface lock in that this application demands. In this post I will try to list all the deficiencies and lacking features of F-Spot that I have found while using it to manage my photo flow.
First let’s talk about the bloat. I will compare F-Spot to GThumb. There are few points of comparison: first start up, viewing a bunch of photos and importing a bunch of photos. When starting up GThumb uses 17 Mb RSS memory (10 of them shared with all other Gnome programs) while F-Spot uses 33 Mb RSS memory (17 of them shared with other Mono programs, of which I do not have any). When viewing a folder with couple hundred photos GThumb uses 25 Mb RSS memory while F-Spot grows to 55 Mb RSS. On import GThumb calls gphoto that adds 3-5 Mb RSS to the memory usage, while F-Spot seems to implement some/most of the photo protocol internally and can easily grow in memory up to the size of the photos being imported (which is kind of problematic while importing a gigabyte of photos), but usually the memory usage on import hangs around 250-300 Mb and hovers around that level for some time after the import is complete. For me personally it does not make much a difference (I have 2 Gb RAM now), but conservative memory usage is still critical for a good Linux application because people expect Linux to be faster and high memory usage can slow down anything. In my opinion no photo management operation should take more then 50 Mb of private RSS memory (even importing several gigs of RAW files from the camera).
Now let me try to describe the optimal work process of a (semi)professional photographer, so that we can see what is missing in F-Spot to accommodate such work-flow and what is done right.

  1. The photographer takes one (or several) cameras, lenses, flashes, memory cars, spare batteries and tripods and goes to an event/photoshoot/modelling session/walk in the park/wedding/…
  2. He takes 3-5 Gb of pictures from lots of different angles with different cameras, different lenses on different memory cards with different settings. Most of them will be the highest quality available on the camera, usually those will be RAW images.
  3. Upon getting back to his computer, the photographer wants to drop all the data to a staging place dedicated to this event. He wants to do it fast and simple without sorting trough the photos at the moment, but at the same time he might want to split the staging areas (multiple models within one session) or join them (one model from different cameras). Sometimes he might not even have time for that and would just want to dump the data now and run to another event.
  4. After several shooting events the photographer finally has reserved the time to sift trough some of the photos from the staging area (modelling jobs first, then the friends wedding and the walk in the park as last)
  5. First the photographer decides to check if the times on the photographs are correct and discovers that at some shooting sessions one of the cameras was set to another timezone. He select all shots from that camera across several (but not all) staging areas and adjusts the time.
  6. Now he rechecks the logical groups of photos (which photos should be in which staging area) by dragging the photos around, splitting and joining the staging areas
  7. When the overall structure is clear, the photographer selects one (most important) staging area and starts working with images in that staging area not caring about any other images
  8. First he browses in full screen trough all the photos rating them in quality scores form 1 to 9 by pressing corresponding number keys. Rating a picture automatically advances to the next picture, which happens very fast because the software precaches several photos ahead for speed and displays without any flicker. Speeds in the order of 2 photos per second are expected on good enough hardware. One key operations for “view 100% zoom”, “rotate”, “view exif” and “quick note” are available. RAW images are automatically translated for preview with default settings.
  9. With couple clicks bad photos (with score of 4 or under) are selected and erased
  10. Now the photographer starts working with individual photos
  11. First step is the RAW->Jpeg conversion. An appropriate tool is brought up with default setting already applied and a preview of the photo showing up (like in dcraw). The photographer adjusts the conversion parameters (including and option to make a HDR-like effect by compressing the dynamic range of high bitness pictures). The converted Jpeg is saved as a version of the original photo and becomes the default for operations that do not understand RAW.
  12. A separate plugin is used to reduce digital photo noise from the pictures (new version)
  13. Photographer makes adjustments to the image inside F-Spot. Each modification makes a new version.
  14. Still not satisfied, the photographer starts Gimp from inside F-Spot and make further edits. Each time Gimp saves the file, F-Spot makes another version.
  15. The photographer erases some versions of the picture and also joins multiple near-duplicate shots into one picture as versions of that picture. One version is always marked as the top version and the photographer can easily change it.
  16. The good photos are tagged and imported to the main collection
  17. A subset of the photos is exported to: Flickr, personal Gallery installation, plain html photo album, a zip file with small (1024x…) versions of the photos, … Only the top versions of photos are exported. If unconverted RAWs are top versions, then they are converted to Jpeg with default settings. In most cases photos are also downsized before export according to the preferences. Highest quality downsizing is used (anti-aliasing) and also additionally small unsharp mask is run on each photo
  18. The photographer does advanced searches and advanced tag selections to select and display or export subsets of his main collection
  19. The photographer has three instances of F-Spot: his laptop, his main work PC and a backup hard drive that can be attached to either of them. He needs to keep his F-Spot photographs synchronised between the three locations for backups and for distributed work. Also after some point the main photo archive becomes too big to store it (with all versions) on the laptop or even on the main PC, so the photographer selects a set of older photos and selects an option to archive them. The next time a connection is established with the backup drive, all versions of archived photos are copied to the backup harddrive and the laptop and the main PC only keep 90% quality Jpeg format picture of the top version of each photo downsized to exactly fit the display resolution of the device. If even that takes too much space then “Archive Only” option is selected which insures that the backup harddrive has the copy of the photo and then erases it from primary data stores completely.
  20. When the backup harddrive is connected it is also very simple to make DVD/HDDVD/Blueray backup copies of subsets of photos from the archive with all the metadata and versions in such a way that other software (and even dedicated media devices) could easily browse the top versions of photos directly from the backup media. Of course, restoring from such backups also must be tested.

So, to summarise, the changes needed for F-Spot are:

  • Support for the concept of staging areas and staging area manipulation
  • Much better performance on import
  • Camera timestamp correction tool (#)
  • Quick rating tool (#)
  • RAW support for controlled conversion and automatic conversion at export (#)
  • Support for external editor with automatic version control and format conversion (#)
  • Noise reduction plugin support (#)
  • Support for version manipulation - join (#, #) and split (#) version stacks
  • Preferences for export methods with resize and quality options and automatic enhancement options at export
  • Multiple instances and data sync (#)
  • Archival support and total archival option
  • Backup (also from archive) support (#, #)
  • More powerful search and filter options (#) with automatic options from exif data (#): People/Mike AND Events/wedding AND (camera/RebelXT OR camera/SonyF717) AND setting/noflash AND lens/wide

As you can see, many of those issues are already reported to F-Spot bugzilla, but have recieved little attention. So what shall we do about it?

Popularity: 39% [?]


Spelling

From the previous version of my last post, people with even moderate knowledge of English could have easily understood that I suck at spelling and that, consequently, I did not have a spelling checker installed at this blog. Both of those two conclusions would be true.
So I decided to break in and install something to help me and after some mishaps, I settled on Visual Spellcheck plug-in. I am editing my posts in HTML anyway, so lack of WYSIWYG editor support is not critical for me, more like the opposite. All I needed was to install the plug-in, activate it in wordpress, install php5-pspell package and restart Apache. I forgot to restart Apache at first and got a cryptic error from the included fake pspell wrapper. Also aspell and corresponding language libraries must be installed on server site.
Note: after you have corrected all spelling errors in your text you must also remember to press “Continue Editing” link or otherwise changes will not be saved. I think that is a bug.

Popularity: 24% [?]


Break-in

Speaker break-in time myth or reality tries to debunk the myth of audio speakers needing time in orders of 30-50 hours to get to their best audio properties after purchase.
I bought a new set of Sennheiser HD 215 a few weeks ago. I unpacked them and connected to my laptop. I was blown away by their performance, but something at how the bass frequencies were “muddy” and not clean confused me. Then I read in the manual that I should play some music on the headphones for at least 30 hours to break them in and only then they would get to their best audio characteristics. So I left the headphones on the laptop and left some music playing in them overnight and only came to them after at least 20 more hours of breaking-in. I put the same music on as I did the first time and I was not disappointed - the bass was much more clean and instruments in the bass area were finally as distinct as they should be at this level of headphones. I did not listen to the music during the break-in time, so my brain did not adopt to the sound of these headphones - they actually sounded better.
I do not really care that a distinguished loudspeaker engineer can not find an explanation of how this break-in happens, but that does not change the fact - it exists.
Update - A few more links:

In the end people end up playing sine waves and measuring frequency response thus oversimplifying the problem. It is well possible that non-sinusiodal sound is needed for proper break-in (as in sound with multiple different frequencies at once, or sound with harmonics, …). It is well possible that the “sharpness” or “muddiness” that is reported by the audiophiles as the characteristic of a non-broken in sound system is not something that is measurable by frequency response - enharmonic dispositions, temporal dispositions and other distortions of the sound are easy to detect by a trained ear, but very hard measure with precision unless targeted. Also people ignore the real complexities of the materials that are used. We think that wood is simple and plain and understood material, but in reality wood is such a superior micro-composite material that it has properties that are still not understood by modern material science. And when we get cooperation of metallic parts, wood, chemicals and, most importantly, natural and complex vibration - predicting all effects of such vibration on the complex system, that is a simple speaker, is … well … complex. Audiophile ear can easily hear distortions that normal audio equipment simply can not measure with any confidence.

Discarding phenomena that one simply does not know how to measure or explain is just blindfolding yourself.

I was even more fascinated by the description of an simple non-scientific experiment showing break-in effect on audio cables. This was discarded outright as impossible, but it is actually much easier to understand. Cable is simply a thin piece of metal through which a stream of electrons is flowing. It is not too hard to imagine that these electrons traveling at light speed could impact any impurities or defects in the cable. Any such impacts would distort the analog signal going through the cable. Also after multiple weeks of electron bombardment it is not impossible to imagine such impurities or defects (or the material around them) being changed in a way to ease the flow of electrons (like wind erosion of rocks) thus breaking-in the cables and improving their sound - making it more fluid. That is quite easy to see - why should not there be a set of similar effects working on a whole loudspeaker?

Popularity: 31% [?]


REC

I have just watched a great anime called REC. It is about a male 26 year advertising guy letting a 20 year old girl into his appartment. She aims to become a voice actress for anime, advertising and foreign film voice-overs. They meet accidentaly at the beginning and at the same night her house burns down, so he lets her sleep at his place. But they are not lovers (except for the first night).
The series is quite romantic and soft with bits of humour and just a bit of sexual aspects creeping in just like in the real life. The only problem is that it is short - only 9 episodes. But the ending is good - fitting.
All in all, a good recommendation for a easy viewing but very real romantic anime

Popularity: 18% [?]