More Apple data loss

Today I discovered that a number of documents I hadn’t looked at in years were no longer readable.

They were written using Circus Ponies Notebook. Trying to open them resulted in a fairly useless error saying each page was corrupt.

I opened the package and discovered that the actual storage format was Apple’s plist. Unfortunately, it’s Apple’s binary plist format, introduced in OS X 10.4.

The same problem has occurred with a bunch of files, so it looks as if at some point, a non-back-compatible change was made in the plist format. If anyone knows how to convert the old format to the new, I’d be interested to hear about it. (Apple’s plutil won’t touch them.)

Apple’s great GPL purge

[Updated 2014-02-23 with figures for 10.7 and 10.8. The purge continues. Anyone still think it’s coincidence?]

Apple obligingly allows you to browse and download the open source software they use in OS X. Since they have listings for each version of OS X, I decided to take a look at how much software they were using that was only available under the GNU public license. The results are illuminating:

  • 10.5: 47 GPL-licensed packages.
  • 10.6: 44 GPL-licensed packages.
  • 10.7: 29 GPL-licensed packages.
  • 10.8: 22 GPL-licensed packages.
  • 10.9: 19 GPL-licensed packages.
  • 10.10: 18 GPL-licensed packages.

As of 10.10 the remaining GPL-only packages seem to be JavaScriptCore, bash, bc, emacs, efax, gnudiff, gnuserv, gnutar, groff, gpatch, keymgr, libstdcxx, man, nano, screen, texinfo, and uucp. I include this list as Apple have stopped listing the licenses on their download page, to make it harder to track their progress…

The trend supports the idea that Apple is trying to remove all GPL-licensed software from OS X. While the removal of Samba and GCC got some attention, the numbers show that there’s a more general purging going on. Apparently 10.10 they slacked off a bit, though.

The remaining GPL-licensed packages aren’t too healthy either. Mavericks ships with bash 3.2. That’s from 2006. The current version is 4.2.10. Why no upgrade? Because Apple’s shipping the last version of bash that was under the GPL version 2.

If anyone at Apple is reading, I’ve got some suggestions: Ship tmux with the control key rebound to ^A and probably nobody will care too much that you’ve removed screen; and there must be usable versions of man and bc in FreeBSD.

Anyway, the message is pretty obvious: Apple won’t ship anything that’s licensed under GPL v3 on OS X. Now, why is that?

There are two big changes in GPL v3. The first is that it explicitly prohibits patent lawsuits against people for actually using the GPL-licensed software you ship. The second is that it carefully prevents TiVoization, locking down hardware so that people can’t actually run the software they want.

So, which of those things are they planning for OS X, eh?

I’m also intrigued to see how far they are prepared to go with this. They already annoyed and inconvenienced a lot of people with the Samba and GCC removal. Having wooed so many developers to the Mac in the last decade, are they really prepared to throw away all that goodwill by shipping obsolete tools and making it a pain in the ass to upgrade them?

iLife 09: iPhoto

I have a confession to make: until this year, I didn’t have all my photos in a properly cataloged database. I’d tried various programs, but none of them quite satisfied me.

iView MediaPro seemed to have bugs in its ITPC handling. I e-mailed their support address reporting the problems, and got no reply at all. Then they were bought by Microsoft, so that was that.

QPict works well as a browser for large numbers of random files, but I don’t find it a very helpful tool for organizing them. This seems to have been reflected in the changes in the new version, which looks more like a Finder replacement for photos.

I got Adobe Bridge for free with Photoshop Elements, but I gather it’s pretty much the full deal as bundled with Photoshop CS3. It looks like it’s very powerful, with some kind of metadata templating system. However, it has a horrible interface for browsing large numbers of photos, and a horrible interface for entering metadata.

iPhoto was pretty ropey too. In particular, it insisted on moving all your photos into a set of folders named 2004/01/01, 2004/01/02, and so on. It also had no support for any of the industry standard metadata formats, such as ITPC and XMP. It’s as if iTunes had been built with no ID3 tag support and made to store all your music in folders according to how many minutes and seconds long each song is.

However, with iTunes 08, Apple finally delivered something usable; and with iTunes 09, I’m actually feeling enthusiastic about the program. I’ve now got everything in iPhoto, and I’m happy with it.

The new face recognition is far from perfect, but it’s good enough to be a time saver. It can also be a source of entertainment–I laughed when it got confused by some shadows, picked out a horse’s ass, and asked whose face it was.

The geotagging isn’t too useful as yet, but it’s a nice feature to have supported. I’ve discovered that if you’re using the dialog to manually assign geotags, it will use any existing metadata to help narrow down the options it presents to you. This means that if you start off by tagging a bunch of photos with an approximate location (e.g. London), and give the event a sensible title (e.g. England Trip 2001), searches for specific locations will apparently start from London, England and work outwards.

Browsing the tagged photos is less impressive. For now, there’s just a zoomable Google map with push pins on it. However, I’m sure people will start coming up with cool add-on visualizations.

Another nice feature of iPhoto is the built-in Flickr and Facebook support. Both systems work like add-on photo libraries; you can edit a Flickr-published photo album, and the changes automatically sync up in the background. Also, any faces tagged in iPhoto result in the appropriate person being tagged in Facebook.

Internally, the iPhoto Library now organizes your files by event. As in previous versions, the original files are kept untouched, and any changes you make result in new files. All of this is invisible to you, and you don’t need to care, but it does mean that you never lose quality by applying repeated edits to a JPEG, and you can revert to the original file at any point. The program manages to stay pretty snappy, even while juggling thousands of files.

iPhoto now supports the raw CR2 files from my Canon SLR, as well as JPEGs. It also has an option to reveal the original file in the Finder, or to fire up an external program (such as Photoshop or Canon Digital Photo Professional) to edit the raw file.

So overall, I now recommend iPhoto, even for fairly advanced photography enthusiasts. It won’t be enough for a pro studio photographer, but if your camera isn’t your career, it’s probably most of what you need.