Sunday, September 02, 2007

Sad Apple moments: Apple abandons file reference indirection

I think the single greatest innovation of the original MacClassic OS was the implementation of unique file identifiers.

Instead of hard coded paths and file names, files were identified by permanent unique identifiers. Applications called the Toolbox to get the current path as needed. Files could be "moved" (renamed, relationship to folders changed, etc), but references didn't break. Everything just worked (as long as the files stayed on the same physical drive).

Since Apple migrated to OS X they've been moving away from this. I looked a few months back and could find almost no documentation of indirection at the file system level in OS X HFS+. Increasingly Apple's applications seem to require fixed paths.

Apple's warped iClip (called iMovie '08 by Apple) is another nail in the coffin for indirection:
Gordon's Tech: iMovie '08: How the heck is it supposed to work?

As an experiment I relocated the iPhoto Library that iClip (iMovie '08) was referencing. I found, again, confirmation that Apple has abandoned file redirection in favor of hard coded paths.
Somewhere an group of former Apple engineers are mourning a great contribution that has been pointlessly abandoned. Whoever you are, wherever you are, thanks team. I appreciate what you did.

Update 2/26/09: A Stack over flow question pointed to the an Apple tech doc on The "/.vol" directory and "volfs" that demonstrates how badly this key innovation was hurt in the switch to OS X:
... This directory is used as the mount point for the "volfs" file system. The "volfs" file system is a key component for supporting the Carbon File Manager APIs on top of the BSD file system. Historically, BSD systems only allow you to access a file or directory by its POSIX path. However, the Carbon File Manager API also allows you to access an item by its catalogue node ID (CNID, a file ID reference or a directory ID). "volfs" provides a bridge between these two models, allowing the Carbon File Manager APIs to work on top of the BSD file system.
So Apple hacked BSD to enable file IDs with OS X, but Carbon is their deprecated API and file IDs are tied to HFS, a decrepit file system. I wasn't able to find mention of a Cocoa API for accessing CNIDs...

Saturday, September 01, 2007

iMovie '08: How the heck is it supposed to work?

So how is that never should have been released "iClip" (so-called iMovie '08) supposed to work?

This is my best guess, after making a movie from some digital camera AVI files:
  1. The clips are stored in iPhoto. (Despite my previous comments that Apple appeared to be abandoning iPhoto as a mixed media store.) This is pretty odd since iPhoto almost ignores AVI files, can't export them, can't share them, etc. Nonetheless, this is how iMovie/iClip expects to work. It has NO facilities itself for managing an clip store, it only manages references to clips. Now do keywords between iPhoto and iClip? I'd be amazed if they did.
  2. The outputs from iMovie (.mp4, forget those other formats) are to be stored and managed in iTunes. Not in iPhoto.
Now if you think about this a while, your first question will be ... how the heck do I move an iClip project, or a set of clips, from one machine to another?

Very good question.

My guess is, you can't. Ever. Move. Anything. Otherwise, all the projects will break.

Is it easier to use with clips than iMovie '07? Minimally, maybe. Once you learn the weird UI and application model you can throw something together very fast. You can also draw from a large number of clips for a series of different outputs. On the other hand, iMovie was far more powerful than iClip, and you could actually backup, restore and move your projects between machines.

iMovie isn't as big a fiasco as, say, Vista, but I'd line up to throw a (harmless) pie at a cartoon of the iLife product manager ...

PS. It's not been much remarked, but this is the first Apple software that has Intel only features. The newest digital video compression formats are supported only on Intel.

Update 9/2/07: As an experiment I relocated the iPhoto Library that iClip (iMovie '08) was referencing. I found, again, confirmation that Apple has abandoned file redirection in favor of hard coded paths. The video files were still on the local drive, but iClip could no longer find them.
The following Event used in this project is not currently available:
iPhoto Videos - MN State Fair Sept 1, 2007
The portions of the project which reference this Event will show black frames.
Update 3/25/2008: A Flip Video experiment exposed what a lousy product iMovie '08 is. Any longtime Mac users would expect that iMovie '08 would be able to import any video source that QuickTime can recognize.

Wrong.

iMovie '08 imports DV, .mov (quicktime) and MPEG4. It doesn't leverage QuickTime's infrastructure.

This is a truly miserable product.

iMovie '08: It's so unfinished that ...

iLife 2008 iMovie is so unfinished that there's no help entry for "join clip". "Join Clip" is the name of an item on the Edit menu.

iMovie 2008 would have been ready around October. Yech.

OS X 10.5, btw, won't be ready until April 2008. My prediction.

Update: The string "join clip" doesn't appear in the PDF tutorial either. It's as though the feature wasn't implemented, but Apple forgot to remove it from the menus. I'm starting to feel like the Emperor has no clothes and I'm the only one who's saying anything ...

Update: I figured out by experimentation what split clip does. If you move a clip to a project, then click and drag to select a portion of the clip, you can then split that portion out. If I could ever figure out how to select more than one clip at a time I could probably join them, but again the help file is useless.

How to uninstall an iPhoto plug-in

I had no idea there was an official uninstall, I'd previouslly opened the package and deleted inside the plug-in folder:
Picasa Web : Frequently Asked Questions

We hope you love Picasa Web Albums Exporter for iPhoto, but we won't be mad if you want to uninstall it. Here's how:

* Quit iPhoto if it's open.
* In the Finder, open the Applications folder.
* Click iPhoto once to select it.
* Choose File > Get Info to open an Info window.
* Find the section of the Info window labeled Plug-ins. If necessary, click the little triangle for Plug-ins to see the list of items in that section.
* Scroll through the list until you find PicasaWebAlbums.iPhotoExporter. Click that entry to select it.
* Click Remove.
* In the scary alert box that appears, click Continue.

Apple needs more QA testers: Version XIXXIII

Apple doesn't have enough QA people. Maybe Apple's culture disdains the entire idea of QA testing. Grumph!

Latest episode. The Child account on our machines has a locked Dock. When I installed iPhoto 2008 Apple's own installer stuck an iMovie icon on the locked Dock. I can't remove it unless I escalate the Child account privileges, remove it, then restore them. A real nuisance.

Apple needs a knock on the head about QA.

Friday, August 31, 2007

iPhoto 7.02 breaks the old double-arrow scrollbar hack

I've had double arrows at the top and bottom of my scrollbars since I implemented this 10.1 hack:
macosxhints.com - Scroll arrows at both ends of scroll bars [10.1]:

... OS 10.1 adds an option in the General prefs to have double-scroll arrows at the bottom of the scroll bar. Scott R. wrote in with a quick preferences hack to enable double-scroll arrows at BOTH ends of the scroll bars. If you'd like to enable this feature, simply start a terminal session and type: defaults write 'Apple Global Domain' AppleScrollBarVariant DoubleBoth You then need to logout and login (or, perhaps, simply force quit the Finder) to see the effect ... but once you've done so, you should have double-scroll arrows at both ends of your scroll bars.

....To return to the normal mode, use: defaults write 'Apple Global Domain' AppleScrollBarVariant Single (or you could just open the [Appearance] pane in the System Prefs and check 'At top and bottom') or defaults write 'Apple Global Domain' AppleScrollBarVariant DoubleMax to put them together only at the bottom (again, this is equivalent to clicking 'Together' in the General prefs panel for scroll arrows).
Alas in 10.4.10 with iPhoto 7.02 one sees odd gaps at each end of the scrollbar. I turned off this old hack and iPhoto's scrollbars appear normal again. I'm not sure they don't have some new behaviors though ... they feel somewhat Leopardish.

The dead quality desktop webcam market

It's a sad truth that the primary market for webcams has always been "adult entertainment". This favors cheap devices with optics that leave much to the imagination (example, Microsoft's disappointing LifeCam VX-6000). Bad news then for business users who need a sub $300 desktop solution that will work with a typically stressed corporate LAN/WAN.

Until a year or so ago Mac users had a uniquely only good solution -- the Apple iSight. Firewire, not coincidentally. Even Apple couldn't make money off this market though, and they downgraded to a cheap embedded solution that won't work for sharing whiteboards (newer iMacs have a slightly better camera, but it still doesn't focus).

PC and Mac users alike had another solution -- about 3-5 years ago. Back then Canon (and others?) sold firewire connected digital video cameras with a "network mode"

...You can turn your Optura camcorder into a powerful webcam. Both the Optura 400 camcorder features a Network Mode that enables you to remotely control your camcorder through the DV Messenger2 software application. Control the focus and zoom of your camcorder from a computer while streaming the video via its IEEE 1394 terminal...

Those were the days of good articles on using a camcorder as a webcam and software to fill in what vendors left out. Not any more! I can't find anyone who sells a digital video camera with this kind of capability today.

So, basically, USB and lack of customer interest killed the mid-range high quality PC webcam market, and the Mac market may be little better*. I hope Cringely is right when he says that new teleconferencing solutions are just around the corner. There's nothing to do now but wait ...

*Andrew is going for his iMac soon, so I'll have an update on how well Apple's new embedded webcam works. A used iSight, btw, sells today for about what it sold for brand new.