5% of Nothing

More than 5% of Nothing

"Sync Alert" Adding 1 Contact with iPhone OS 3.0 with Mac iTunes 8.2.1 (6)

Makes me laugh and cry a little.

This alert is likely meant to warn that a whole lot of data is being added, modified or deleted as part of a sync. It’s an “oh crap, likely either you are doing some wrong or the software is”.

I’m intrigued that UI Expert Aza Raskin (Humanized & Mozilla Lab) finds this alert the “The first good use of a warning I’ve seen!”

I’m not confident that it is generally helpful. Reading online, it does seem that Mac Sync has been quite buggy historically, so this would likely have been very helpful, but does make me nervous that this alert is a bandaid instead of the needed medicine. I would be interested to find out the use cases, and the scenarios where this has been needed.

Synchronization of data between two (or more) sources is a really hard problem. Well the hard problem is mostly related to conflicts when something is changed in two or more places. Daniel Jalkut once wrote, ‘Every developer faces the decision: “Do I want to be known as the jerk who won’t implement sync, or the jerk who can’t.”‘

I’m not actually syncing, because I don’t use Notes on the Mac (does it exist?). It’s really just doing a backup.

In this case, that is the “Sync Alert” of syncing an iPhone running iPhone OS 3.0 with my Mac over ethernet to iTunes 8.2.1 (6). I’m syncing 1 note.

Assuming that this behavior is generally useful, that I’m receiving a warning when 1 note is being added brings up the most obvious issue. There should be a minimum threshold before this exception behavior is triggered. It shouldn’t be 5% of nothing.

When you’re just starting to sync with your Mac, this could be a fairly high frequency alert. It depends on how quickly you add items; how quickly you get to more than 20 items in a category. You’ll also see this alert again when you start using a new feature (new type of item). This leads to the 2nd issue, the alert and warning language — I’m not seeing any yellow, but I’m sure feeling it. Because it is potentially high frequency, it should be presented and worded as a friendly confirmation.

The 3rd issue isn’t obvious from this screen shot. Another clue that it should be a confirmation is that sync does not continue until you have cleared this alert. This is actually problematic, because the alert is non-modal, meaning you can hide it or bury it under other windows. The worst part is iTunes with it’s animated progress bar makes it look like the sync is still progressing. This alert should at least stay on top of iTunes.

The 4th is I don’t think add, modify, and delete are equal. Adding an item is an easier event to undo then a modify or delete. I can just delete it. If something is modified or deleted, it may be hard to recover the lost information. The different events should have different weights. Adding an item should only trigger an alert if a lot are added.

How many is a lot? That brings me to the 5th and final issue that readily comes to mind. It likely shouldn’t be a percentage at all. How long would it take before 5% is a really big number? Probably not long at all. If I have 1000 business contacts, a sync would have to delete 50 of them for me to be notified. Again assuming this alert offers some protection, by using a percentage, even as low as 5% percentage you are penalizing your most passionate customers. Possibly, it could be a percentage that also factors in things like amount of time since last sync or what operations resulted in the changes, but that would likely get complex quick and I suspect the developers would more quickly find the sweet spot by using a constant number (possibly variable on a curve. I hesitate to recommend user defined variable).

Later in that discussion by Aza linked above, he does add “It could be laid out better, but I like the idea of “uhhhhh, that’s dangerous”. Of course, undo is always better :) ”. I don’t think undo would be the silver bullet. I definitely think there is value in confirming changing a large amount of data particularly when the change is destructive, and the need to undo might be overlooked. I just don’t think Apple has polished this implementation.

I feel a bit like I’m playing dirty writing this article now when the next version of Mac OS X, Snow Leopard is only a couple of months away. Still, I was hoping this would be resolved with the new iTunes for iPhone OS 3.0. I’m still hopeful that Snow Leopard with it’s attention to polish might surprise me here.

Mac OS X Snow Leopard, a Major Bug Fix Release

I’m looking forward to the release of the next version of Mac OS X, version 10.6 Snow Leopard this September. As a Software Quality Assurance (QA) practitioner, I find it particularly interesting that this major release is basically a bug fix release — “lots of refinements” and upgrades to the architecture.

The Apple press release from last June includes:

… Rather than focusing primarily on new features, Snow Leopard will enhance the performance of OS X, set a new standard for quality and lay the foundation for future OS X innovation. …

“We have delivered more than a thousand new features to OS X in just seven years and Snow Leopard lays the foundation for thousands more,” said Bertrand Serlet, Apple’s senior vice president of Software Engineering. “In our continued effort to deliver the best user experience, we hit the pause button on new features to focus on perfecting the world’s most advanced operating system.”

Although QA people love this attention to what we are passionate about, conventional wisdom in the software world is that a major release with few new features is suicide, but there are factors working in Apple’s favor.

I don’t find the current version (no snow) Leopard v10.5 to be unstable or buggy, but I know other people have problems with it. There are a lot of user interface (UI) inconsistencies in Leopard among the various Apple applications. I’m interested to see if Snow Leopard sports a more consistent and usable experience.

Apple is selling this upgrade for only $29 US, when their major releases normally sell for $129 US. At $29 Apple customers won’t be looking for much to think they have got a good deal.

Apple’s main competitor Microsoft has created this opportunity. Microsoft Windows costs close to $300. And although Mac OS X only runs on Apple hardware, people’s frustration with Vista’s bugginess and instability has led people to specifically look for a computing experience that address this.

People are hopeful for Windows 7, but it won’t be available until at least a month after Snow Leopard ships. We can expect Windows 7 to have a lot of customer untested technology compared to Mac OS X which looks to be is a very incremental release.

Performance (and polish) is a feature. “Ultimately that feeling of control translates to happiness in everyone. In order to increase the happiness in the world, we all have to keep working on this. Ultimately that feeling of control translates to happiness in everyone. In order to increase the happiness in the world, we all have to keep working on this.”, my boss Matt Mullenweg, Velocity 09 Conference Presentation.

Because Apple builds both the software and the hardware, they can release their next generation of computers to immediately take advantage of the upgraded 64-bit stack, OpenCL for graphic card processing, and GCD multi-core processing throughout Mac OS X.

If Snow Leopard is well executed and well received, it will help people be more confident on computers and expect more from their software. It will be a good day for QA geeks.