Sunday, March 23, 2008

FLIP Video Ultra camcorder: iMovie HD works, iMovie '08 might

[Update - Over the course of using and testing this device I became very negative about it for all OS X users and even for XP users. I don't believe the video files will be readable in five years. On the other hand, as per my 7/08 update, on one machine iMovie '08 now edits this video.]

I bought a Flip Video Ultra Series Camcorder for the kids to use. I've jotted down some initial impressions below.
  1. It feels flimsier and cheaper than the original model a friend of mine has. I'm surprised by this. I'd recommend buying the older model, which is now sold at a discount.
  2. There's no CD in the box, the software is delivered in the camera's memory store. Cute, and it works.
  3. Videos are in "AVI" format -- that's a metadata wrapper around a codec. In this case coded is 3ivx MPEG-4. iMovie HD (old version) can import these files after the 3ivx codec is installed, but iMovie '08 (current version) cannot (more below).
  4. Amazon had Jan 2007 firmware update. I downloaded and installed it but my camera was up to date anyway.
  5. The bundled software for OS X video editing is universally derided. I did not install it.
I installed the 3ivx MPEG-4 decoder from FLIPVIDEO:System:INSTALL:Macintosh 3ivx from a non-admin account. It used a standard Apple installer, no restart required. Install is into a Applications:3ivx (shared applications) and it includes an uninstaller* and a link to 3ivx.com [1]

Videos are found in FLIPVIDEO:DCIM:100VIDEO.

Since iMovie '08 only imports DV, MPEG-4 and .mov files I used Mike Ash's QTAmateur to translate the AVI files to DV files and imported these into iMovie. QuickTime Pro would also work but costs $30 -- and Apple makes users repurchase a license with every significant update.

The need to translate prior to import into iMovie '08 is very irritating. I'm working on something better, or I could just use iMovie HD. I've left feedback for Apple requesting support in iMovie '08 for importing AVI files when codecs (such as 3ivx) are installed. I'll also contact some Mac gurus I know.

I'll have more on the camera later once I figure out a good import workflow. Apple definitely deserves multiple hard blows for the lack of file import support in Movie '08 vs. iMovie HD.
--
[1] 3ivx is hoping you'll buy the full version from them. The current version is a small fix ahead of what Flip Video is shipping:
3ivx Technologies Pty. Ltd., the MPEG-4 Video & Audio specialist, announces the immediate availability of version 5.0.2 of the 3ivx MPEG-4 compression suite for Windows, Mac OS X & Linux....Version 5.0.2 fortifies the 3ivx MPEG-4 Filter suite against software exploitation from maliciously crafted video files.... improved Vista compatibility and additional QuickTime 7.3 compatibility...
The 3ivx site has some interesting configuration information, but the decode page for OS X is blank. The 3ivx site references iMovie HD (they call it simply "iMovie"), but not the problematic iMovie '08.

[2] Apple's iMovie was probably cutting into Final Cut Express sales, so Apple tossed it out and gave us 'iClip' instead.

Update 3/23/2008: I started a thread on Apple's Discussion list . It's gotten at least one helpful response that suggested MPEG Streamclip.

Update 3/23/2008: If you don't have it, you can download iMovie HD from Apple. I don't know if it really checks for iMovie '08, most everyone with a Mac will have one or the other though.

Update 3/30/2008: I found an AppleScript that should do what I need. It tells QuickTime Player to open multiple AVI files, process them to DV stream, then delete the originals. Unfortunately, it's giving me cryptic error messages.

Update 3/31/2008: I'm beginning to think Apple quietly disabled AppleScript driven conversion in QT Player. Nobody seems to know anything about it.

MPEG Streamclip is a free video converter and editor that will work with the 3ivx encoded AVI files FLIP Video produces. QuickTime Pro ($30) won't do batch conversion, but it will directly edit the AVI files -- and it may be much simpler to use than iMovie. Perian doesn't help with conversion, but some feel it's a better solution than the 3ivx supplied codecs. VisualHub does batch conversion and is well regarded, but it costs $23 and the "trial version" is very limited. Mike Ash's QTAmateur also does batch conversion and it's free.

I considered the possibility of a script solution that would automate the flow into iMovie, but neither iMovie '08 or iMovie HD are scriptable [1]. So the best one could do would be to flow into iPhoto and collect from there.

I like the idea of a simple editing solution the kids can use on their video clips, without a translation step. iMovie HD doesn't require the translation step, but it's too much for now. I think I'll try MPEG Streamclip first, then, if that doesn't work, I'll spring for QuickTime Pro. If that fails then I'll fall back to iMovie HD. I'm going to leave iMovie '08 out of the picture for now, it just aggravates me.

Update 3/31/2008b: MPEG Streamclip

I'm back from my MPEG Streamclip. It's very impressive as a free app, but it's pretty rough. I came across a lot of odd behaviors, and it's a very industrial interface. There was no budget for eye candy! I came up with some interesting numbers in testing a small video:
  • initial size (AVI file, 3ivx coded): 12 MB
  • convert to DV using QT Amateur or iMovie HD import: 84MB file, exquisitely slow.
  • MPEG Streamclip: painless quick trimming, but can't save as AVI (no encoder). Oddly enough, none of the 'Save As' options worked. Export worked though ...
After I trimmed the small video to a 10 second clip I tried exporting from MPEG Streamclip to various formats:
  • Conversion to mp4 H.264: small clip took minutes (2.5MB)
  • Conversion to QuickTime Motion JPEG A: very fast but 17MB file
  • Conversion to Apple MPEG 4: very fast and the file is only 2.2 MB (quality probably less than H264)
iMovie '08 was able to import the H.264, Motion JPEG and Apple MPEG 4 files.

If it was just me I'd go with MPEG Streamclip, do initial trimming with it, export as Apple MPEG4 then drop the clip in iMovie. I think Streamclip is too rough for the kids though. So on to QuickTime Pro.

Update 3/31/08c: QuickTime Pro

Well, we have a winner. QuickTime Pro is a very nice tool for trimming video then saving it.

Just as with Streamclip, I experimented with various video formats. QT Pro will open the original AVI file and save it as an MOV file, but that doesn't help. It's simply changed the wrappers.

I tried exporting a QuickTime movie using H.264 compression, but it was unbearably slow on my G5 iMac. MPEG-4 Improved had very tolerable speed and image size and quality, but it was not compatible with iMovie '08. Until I turned "streaming" off, then it worked.

So I think I'll teach the kids to use this workflow:
  1. Copy videos to a shared folder.
  2. Trim and save using QuickTime Pro.
  3. If they want to assemble the clips into a movie we can use iMovie '08 or iMovie HD.
Update 4/30/2008: My Amazon review - not for OS X customers.

Update 6/5/08: Flip's owners, rebranded as Pure Digital, have finally acknowledged there's a problem with iMovie. In the meantime, Apple's QuickTime 7.4.5 broke the 3ivx codec used by the Flip camera on OS X 10.4 (but not 10.5). My costly version of QuickTime Pro is now of no use. Neither Apple nor PureDigital has acknowledged the problem, but the Apple and 3ivx support forums have lots of complaints.

Update 7/3/08: The FLIP 3ivx videos are now directly importable and editable in iMovie '08 7.1.2 with the default FLIP provided 3ivx codec, OS 10.5.4, Intel processor, and QuickTime 7.5.

I've been using Perian on my PPC iMac since QT 7.4.5 broke 3ivx audio

With that codec and QT 7.5 & iMovie 7.1.2 & 10.4.11 FLIP video import attempts don't produce any error message, but they don't work. I need to reinstall the 3ivx codec and try again.

Update 12/12/08: Apple has even provided official documentation on import from new FLIP camcorders.

--

[1] Scriptability is a great way to test when Apple software is polished and ready for use. Apple commonly releases poor quality products then tunes them up over many iterations (ex: iPhoto). Applescript support seems to require a mature product with a healthy code base and good design, so the lack of Applescript support in iMovie HD, iMovie '08 and (really) Aperture 2.1 are all bad signs.

Selling a RAZR on Craigslist vs. SecondRotation - the winner is ...

Craigslist beats SecondRotation - handily.

I started our with SecondRotation; I don't like eBay so I didn't bother with them.

This is how the SecondRotation sale went:
  1. Go to web site.
  2. Create account.
  3. Get quote ($50).
  4. Clean out phone.
  5. Find packaging, find drop-off spot, send package.
  6. Wait a week.
  7. SecondRotation says the phone is "locked" and offers to "dispose of it for free".
  8. Request return of the phone.
  9. Wait.
  10. Again request return of the phone.
  11. Wait.
  12. Phone is returned, without much packaging. The box is a bit beat up, but otherwise it looks like what I sent them.
  13. Sprint support says the phone isn't locked.
Now I try Craigslist. For the sake of comparison I sell it for what SecondRotation offered: $50.
  1. Take a picture.
  2. Post picture and description. I include a link to a Google Apps page. That page has my contact info and my LinkedIn profile.
  3. Get six responses within 3 days. I guess $50 was a bit on the low side, but I'm fine with that. I accept the first one and remove the advertisement.
  4. [I'd already cleaned out the phone, if I] hadn't I'd have done it at this point.
  5. Arrange to meet at my office so buyer can switch phone to his number before handing me any money.
  6. Phone switched, I get $50.
The Craigslist experience was much better than the SecondRotation experience -- even if I assume SecondRotation really did think the phone was locked. Maybe it was ... transiently.

Recently I used Craigslist to move a child's play structure and a wooden futon frame from our attic. I'd tried to give them away for years without success, a Craigslist ad got rid of them in days. I didn't ask for money, these were high quality goods I'd been unable to find a good home for. Both items ended up with young families who will get years of use from them.

I'm a Craisglist fan.

The future of the Nintendo Wii - DRM and resale implications

Millions of people buy a Wii, and it works. I buy one (list price) and our 2nd remote won't stay "synchronized" (connected) to the console.

I try not to think about this sort of thing too much. I'm sure it's not personal.

My balky remote means I've had to spend time with the manual. There's a suspicious volume of discussion on troubleshooting the remotes, and on the complexities of using older Nintendo games (example: Classic, meaning modern, controller vs. GameCube controller). Mixed among this is a very brief discussion of how Nintendo's digital rights management works for the "Virtual Console Games".

Briefly, there are three classes of Nintendo games for the Wii system:

  1. Nintendo Wii games shipped on optical (CD/DVD like) discs. Game data is stored either in the console or in optional 2GB SD card.
  2. Nintendo GameCube games - also optical disc based. Game data is stored in 1-2 optional GameCube memory card(s).
  3. Virtual Console: games for NES, Super NES, Nintendo 64, Sega Genesis, TurboGrafx 15, NEOGEO and "more". Game data is stored in the Wii console or in optional 2GB SD card.

The Virtual Console games shipped in various cartridge formats, they now are downloadable and run in emulation environments on the the powerful Wii processor.

It's the Virtual Console games that have the most interesting Digital Rights Management implications. I suspect that a future version of the Will will use this infrastructure for modern games; the current console doesn't have enough storage to allow this.

So let's assume that the Virtual Console infrastructure is the future. What happens to those games when you try to sell a Nintendo Wii?

Page 61 of the Wii operations manual tells us what to do:

  1. Format Wii system memory. This removes downloaded content, but it can still be recovered for free from the Wii Shop Channel Account.
  2. Remove the Wii Shop Channel Account. This removes "records of your transactions and rights to downloaded software".

In other words, to sell a Nintendo Wii, you must first destroy your Virtual Console games.

Ouch.

Maybe Nintendo will figure out a way to move games to a new machine, but there's nothing about that in the documentation. The excellent Wikipedia article on the Wii says:

The SD card can be used for uploading photos as well as backing up saved game data and downloaded Virtual Console games. To use the SD slot for transferring game saves, an update must be installed. An installation can be initiated from the Wii options menu through an Internet connection, or by inserting a game disc containing the updated firmware. As a presently uncircumvented system of digital rights management, Virtual Console data cannot be restored to any system except the unit of origin.

It's certainly interesting to watch how the evolution of DRM.

Update 3/23/2008: See the comments. There may be a way to access the accounts and restore access to the virtual games after selling a Wii -- but it's not well documented. I assume Nintendo will need to figure this out eventually. They'll probably copy whatever Apple does with the iPhone.

* Good luck figuring out which of three classes of controller will work with the Virtual Console Games and the storage relationships to the Wii SD card and the optional Wii GameCube Memory Card. This Wikipedia article tells us that the "classic controller" works with all of the emulation games, but the GameCube controller is almost as good. On the other hand, there are Game Cube games that don't work with the "classic" controller. I think if you don't mind the long cables and you have the Wii console well secured, the GameCube controllers are preferred.

PS. Even when I log out of my personalized Google search, today a brief post of mine is the 2nd hit on a search of "Nintendo Wii digital rights management". Weird.

Update 3/31/2008

An interesting corollary of the Wii DRM -- you really don't want to return a console.
Please do not return your system to the retail store. All of your Wii Shop data, including games and points will be lost. They are non-refundable and non-transferrable. If you don't have a Wii Shop Account and you elect to return your product to the store, you must first follow the Delete Usage procedure described in your manual to remove any personal pictures, email addresses or other information that may be on your system.

Saturday, March 22, 2008

Updaters: From Diff to Whole (and Sparkle)

This TidBITS article brings back memories for old geeks:

TidBITS Problem Solving: Tales from the Sausage Factory: Why Those Big Downloads for Simple Updates?

...And then at the end you have whole-app updaters such as Sparkle, which is what we use (see "Sparkle Improves Application Update Experience," 2007-08-20). The Mac developer community seems to have more or less standardized around Sparkle these days. I'm amazed at how often I open and app and find that it's using Sparkle to keep itself up to date. Aside from the programs where I implemented it myself, I don't recall the last time I saw an application using a more granular updater. Even Apple seems to publish monster updates for their apps. They use more granular packages for updates to the OS itself, but on the other hand there seem to be a lot of problems caused by these which are fixed by re-applying the big combo updaters they put out...

In the old days updaters were pretty small, typically diffs. Those days are gone -- the cost of bandwidth is less than the cost of the problems that arise with anything less than a whole-app update.

In my real job we still use an old data update solution that's basically a diff-type update. Nowadays whole-data is the only way to go.

Aperture 2.01 bug: retouch broken for grayscale images

This is a verified bug -- but it may be limited to grayscale images.
Apple - Support - Discussions - Retouch/Clone problem ...: "I can't get Retouch (or clone) to do anything at all. They act like they're working but nothing in the image is changed. However the Spot and Patch tool will work on these images/files."
I'm using 10.4, but it sounds like this is a bug everywhere.

Update 3/22
: I exported as PNG and reimported and the tool works, so it's not broken for every file format. Then I found the "limit to 1024" PNG export is broken -- it ignores crops. Apple must punish the QA group for finding bugs.

SharePoint 2007 and non-Office documents: didn't Microsoft lose a court case for this sort of thing?

SharePoint 2007 is ubiquitous now. It's eliminated most other document management and "collaboration" solutions in corporate settings.

Office 2007 Word, Excel and Powerpoint documents work pretty well in a managed Sharepoint document repository (library).

Oddly enough, other documents don't work nearly as well. They're very much second class citizens, with an unnecessarily clumsy and error-prone workflow for check-out, check-in, versioning and editing.

Funny how that works.

I thought Microsoft got in a wee bit of trouble for these sorts of games -- once upon a time. Too long ago, perhaps. Certainly nobody in the current US justice department is paying attention now.

Thursday, March 20, 2008

Google's GData OS X cocoa library now iPhone compatible: photos to Picasa, etc.

The "one more thing" reference in this Google Mac blog posting seems appropriate ...

Official Google Mac Blog: New frontiers with Google Data APIs and Objective-C

And one more thing...

The source code for the GData Objective-C Client Library is now compatible with the iPhone SDK as well. Perhaps you want your iPhone software to send photos to a Picasa Web Albums account, or keep a journal of phone calls automatically in Blogger. Maybe your iPhone application accesses a database of information from a Google Spreadsheet or from Google Base. With the Google Data APIs Objective-C Client Library, creating software for these tasks is straightforward.

If you are writing iPhone software, just drag the "GData Sources" group folder from the GData project file into your iPhone project, and use the GData APIs as you would when writing a Mac application. The Objective-C Client Library is an open-source project, so you can find links to the sources and documentation on the project page.

So those 100,000 SDK developer wannabes can now easily leverage Google's entire suite of services with very little extra effort.

Wow.