Sunday, December 16, 2007

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.

How do you replace iPhone 1.0 with iPhone 2.0?

Given all the restrictions Apple has placed on iPhones, does that mean we can't sell an old iPhone if we buy a new one?
Apple - Support - Discussions - Replacing my iPhone with the next ...

.... Suppose I buy an iPhone today using Apple's plan.

Sometime in the next year Apple, according to what Jobs has publicly said, will produce a new model. Say it costs $500 for new customers.

Suppose I decide to buy the new model.

Would I be able to buy it for $500? What am I allowed to do with my old phone? Can I sell it? Can I give it away? Can I transfer it to my wife?
Update: Here's the answer from the Apple Discussion thread (link above) ...
... You can sell your phone to another person. They can go to AT&T and get a SIM for the iPhone...then go home and activate it with their account. Very similar to when you get back a refurbished phone or a replacement from an Apple Store (just a bit reversed)...

... You could sell your iPhone to me and before handing it over, the iPhone includes an option to erase all data and settings and you would remove the SIM card and transfer it to your new iPhone.

I would visit a local AT&T Store and request a new SIM card for the used iPhone I purchased which would allow me to activate this iPhone with my existing AT&T number or if I wasn't an existing AT&T subscriber I would need to become one via the iTunes activation process with AT&T...
So if you're an AT&T subscriber who's interested in the iPhone, you might be able to get a used 1.0 phone fairly inexpensively when the 2.0 phone comes out (perhaps in ?).