Sunday, December 16, 2007

Experiments in DRM removal and re-encoding

We don't let much DRM into our lives, but I have a few FairPlay'd tunes I bought the kids when I was less strict.

I'd like to include them in the AAC CDs I put the childrens' playlists on, but our SONY car stereo doesn't do FairPlay. Of course I could burn a CD then re-encode the tunes to MP3 or AAC, but I'd tried that before and the results were awful. The re-encoded tune sounded like AM music (few remember how bad that sounded!).

This time, though, I'd try re-encoding at 320 kbps, no VBR, 44.1 sampling. I figured I'd also try the iMovie HD DRM removal trick. [1]

The iMovie HD trick turned out to be a nuisance -- I'd rather just burn a CD. Curiously, however, I got much better results this time than previously.

The original 5.6 MB FairPlay'd tune turned into a 52MB AIFF audio file which I then turned into two non-FairPlay'd AAC files:
  • 128 kpbs (standard): 5.0 MB AAC (so smaller than the original - not good!)
  • 320 kbps non VBR 44.1 AAC (max quality AAC using iTunes encoder): 12.5 MB
Here's the surprise. They all sounded reasonable using my Bose noise canceling headphones. I'd expect the AIFF and original FairPlay'd tune to sound identical, but I'm not sure I'd be able to tell apart the 128 and 320 kpbs re-encoded tunes.

I don't know why I got better results today than in the past. Maybe last time I tried re-encoding as MP3, and the AAC to AIFF to MP3 transformations are tougher than AAC to AIFF to AAC. Maybe my ears are getting worse.

I wouldn't try it for Jazz or classical music, but at least some pop tunes survived the AAC to AIFF to AAC round trip better than I'd expected. I would favor a high bit rate for the reencoding though; I really don't have very good ears.

[1] The trick relies on a quirk of iMovie HD that is not present in iMovie '08. iMovie HD will export the combination of a FairPlay'd soundtrack and a JPG as a non-DRMd AIFF audio file.

Very poor choices in list sorting: iPhoto trumps everyone

Coding Horror did a nice post recently on poor decisions in list sorting. He's a Windows programmer, so he wouldn't know about even worse list sort implementations by Apple's vaunted development team.

Here's the sort order of albums in iPhoto '08's smart album definition UI:



It looks completely random. Not much fun if you're looking for one of a hundred albums. The only saving grace is that if you know the album you want, you can type the first letter and navigate the list that way.

If iPhoto were smarter, and allowed one to include smart albums in the list, things would be even worse.

iTunes has much more powerful "smart list" (query) definitions that can include other smart playlists (queries) and here Apple did things right (actually, I think they quietly improved this in one of their recent updates):



So Apple isn't completely hopeless! It's just that their talent base isn't unlimited.

That should make non-Apple developers feel a bit better.

Friday, December 14, 2007

The single worst defect of Microsoft Access

There's a lot to dislike about Microsoft Access. Even so, I use it intensively. It's a cross between a chainsaw and a swiss army knife with an unfortunate tendency to occasionally remove vital organs.

Powerful, versatile, dangerous.

When I use Microsoft Access I backup my data files very frequently and I set every linked Access data file I'm not actively editing to 'read only' status to protect it (Access table security model ranks high in its sins).

So, lots of bad news. But one insanity stands out above all the rest.

Access has a compulsion to break queries when you use linked files. This is one of those mult-ipart design problems:
  1. The crummy security models and lousy organizational tools means that serious work requires lots of linkages to remote ODBC and Access data sources. (This ability to link across diverse data sources is actually a great power of Access, it extends to Sharepoint's SQL Server tables.)
  2. Links to local sources use hard coded paths.
  3. When a hard coded path changes, or a referenced table name changes, a trap has been set. The first time one opens a query referencing the link to the changed item, the query breaks. Joins vanish. Column names get odd prefixes. There's no warning and no protection.
There are some partial protections:
  1. Use the drive letter substitution trick to reduce the hard coded path problem.
  2. Wrap linked tables in a simple query that you can validate first, then have all other queries reference these "wrapper" queries. It's easy to fix the wrappers, and you don't break all the other queries.
If Access 2007 had fixed this behavior I'd be using it today, but since it's buggy and has design regressions I'm sticking with Access 2003.

There, I feel better now.

Wednesday, December 12, 2007

Google Street View comes to the Twin Cities

About a week ago I noticed a non-working street view icon floating around Saint Paul. Ok, floating around the virtual Saint Paul in Google's server.

I wondered if it was a herald, and, yes, now we have Street View in the Twin Cities. Alas, for better or worse, the Saint Paul coverage ends one block east of my home. So I can't show the Street View image of our house.

I can show my favorite coffee shop though:



The images were taken in summer, so they seem a bit odd in our snowy December.

I wish to be among the first to welcome our Glorious Googlian overlords to the twin cities.

Sunday, December 09, 2007

Will Apple abandon Aperture?

The Aperture bloggers I read are worried about Aperture's future. They've even wondering how they could migrate to another platform. How can they ever move their metadata? What about all those RAW images that will render differently in any other toolkit?

Cue evil laughter.

They're doomed of course. Once you commit to a program like Aperture you're owned. I know a thing or two about that business.

So would Apple really abandon a project they once seemed to have such interest in? Isn't digital media their core market?

I can think of a few reasons, based on my own experience and what I read:
  1. Adobe Lightroom is doing well. It's said to be more popular than Aperture even on the Mac, and of course it's very successful on Windows.
  2. Apple has done a miserable job positioning Aperture as an upgrade from iPhoto. It's their natural market, and they've blown it. The pricing is wrong, they don't migrate enough iPhoto metadata, and you can't edit dates.
  3. Aperture is not staying ahead of iPhoto. In fact, iPhoto '08 seems to use a lot of Aperture source code (including the icky parts).
  4. Aperture has a bizarre UI. It's pointlessly idiosyncratic. Tiny fonts, ultra-skinny scrollbars, it looks nothing like a Cocoa app. Heck, it doesn't look like a proper Carbon app. What the heck is it written in? Was it originally written for Linux?
  5. Aperture is dog slow. It's not merely the fancy GPU based image processing, the database work is way slow as well.
  6. Did I mention Aperture doesn't even have a proper OS X Help file? I think it must be a Java app!
  7. You can't edit date metadata, you've never been able to edit dates, this hasn't been fixed despite several major updates. The fact that it's never been addressed speaks loudly.
  8. Aperture has gone a long time without a significant upgrade, despite 1-7.
So, what do I think? Will Apple really abandon digital photography?

I don't think they'll give up completely, but I can imagine them giving up on the Aperture code base. I think a lot of iPhoto customers, and even many Pros, would pay for an iPhoto-Pro that could import Aperture projects and iPhoto Libraries.

If we don't see a really major update of Aperture by March 2008 I wouldn't recommend any new Aperture purchases. Even if Apple does provide a conversion path to "iPhoto Pro", I suspect there will be rough spots.

Saturday, December 08, 2007

I switch to Qwest DSL Platinum

I used to have an ISDN broadband connection.

Hey, everyone has a special story.

When I switched to DSL I went with VISI.COM, a local company. They provided great services back then, before a series of management changes. Alas, they were dependent on Qwest for connectivity, and Qwest had other priorities. Meanwhile my ActionTec router was behaving miserably.

I considered cable, but that sounded equally bad -- especially since we don't have cable television (or much of any television, actually).

The ActionTec finally died, and I decided to try a higher grade of service, in the hope it would come with better gear. I'd become disenchanted with VISI over the past few months, though their support people were always great, so I figured I'd just go with Qwest/MSN - doing a Qwest DSL | High-speed Internet Upgrade. At least with Qwest I'd have one place to call.

I didn't get any deals doing it by phone -- except they waived the connection fee. My new 2WIRE router cost $100. The Qwest rep I spoke with was, wait for it ... efficient, funny, charming, and even a bit sarcastic. I'm guessing phone support isn't her regular job.

The economy can't be all that good, by the way, because lately I've been getting excellent phone service from a variety of companies. That's a sign skilled people are having to take whatever jobs they can find.

The MSN part of the deal is irrelevant. I get all my ISP services,including IMAP email, from Google Apps anyway.

The changeover could have been worse. This morning we lost internet service, and this afternoon the the router in the box we put out for it. After 5pm I plugged in the $100 WIRE router (no wifi, which is great since we use an Apple Airport Extreme) and it connected quickly.

Alas, the box didn't contain our un/pw for the connection or even for MSN. For that stuff you have to install Qwest's "QuickConnect" software.

I sighed deeply and started it up on my XP machine. I didn't want Qwest's vile code infesting my Mac.

Minutes later the splashscreen was still drawing.

Evidently they wrote this app using a new programming language that runs in a sandbox that runs in a 68030 emulator running in a non-compiled Java 1.0 VM.

Or maybe there's code running in the background outsourcing Qwest's computational work.

It chugged along a bit further, but by now I'd decided I didn't want this dreck infesting even my XP box. So I fired up 192.168.0.1, found the screen for adding un/pw, and called Qwest.

The tech person was, again, very good. She promptly gave me my Qwest un/pw and, for what it's worth, my MSN un/pw (guess I need a mail forwarder there [1]).

So far it's been fine. I'll update with this post as I learn how well it works, and, most of all, learn how much it will really cost. (Signing a contract with a phone company is good practice for besting Lucifer in a tough deal. I suspect it will be about $50 a month when all is done.)

[1] MSN won't forward to a gmail account, so I had to use my custom domain. Cowards. MSN sign-in creates a Windows LIVE account, with all sorts of nasty authentication issues, so use a very strong password.

Update: no MSN actually doesn't forward at all - despite what they say. It rejected faughnan.com and spamcop.net. Incompetent cowards.

Update 9/17/08: Qwest has done well. No complaints.

Tuesday, December 04, 2007

iPhoto '08: don't embed metadata in JPEG originals

I've written previously that iPhoto '08 is Aperture-Lite, but with nastier bugs. Apple appears to use a lot of the same source code for both now.

So I decided to retest export behavior in iPhoto and see if it was still smarter than Aperture.

In particular, Aperture is very dumb when managing an export of mixed JPEG and RAW files. If you select JPEG format rather than current format, Aperture doesn't simply export the original JPEG, it processes the JPEG and then repeats the lossy compression.

Dumb.

iPhoto used to be smarter. If a JPEG original was untouched, and you specified export as JPEG, iPhoto would export the original JPEG. Perfect.

The good news is iPhoto is still smarter than Aperture. If you specify export as JPEG on a mixture of RAW and JPEG images with "maximum quality", iPhoto will export the JPEGs without transformation.

EXCEPT, if you embed metadata like rating and title. In that case iPhoto expands the original and writes a new file that's been recompressed.

So a 1.8 MB unedited JPEG original becomes a 4MB export if the metadata feature has been used. A bigger file with quality loss due to repeat lossy compression.

Yech.

It doesn't have to be this way. GraphicConverter and other apps will allow EXIF header changes without a lossy compression cycle.

So iPhoto's JPEG handling isn't quite as stupid as Aperture's, but it's headed that way.