How Apple iTunes 5.0 almost ruined my life…

The preamble

I suppose I should start off with a disclaimer – I’m not a web design guru, I don’t have a background in computer sciences, and the
last piece of “software” I wrote was a piano program for my freshman year C++ class. However, I am an American living in Japan
with a job that often requires him to deal with a mixture of Japanese and English software. I have a decent grasp of Japanese but I
wouldn’t consider myself fluent, especially when it comes to cryptic computer menus. There may not be many people in my same kind of
position, but for those who are, I strongly suspect they have all encountered the frustrating software oversights I’m about to
discuss.

A lot of what I’m going to talk about is pretty much common sense, but for some reason, common sense tends to leave software developers
minds when it comes to programming for multilingual environments. It’s geeky and a bit different than the usual pandablog material, so if
that’s not your cup of tea, feel free to skip it!

For those of you still with me, I’d like to present the official Pandablog webrant on common sense programming for multi-lingual user
environments!

The story…

I was reading Daring Fireball’s amusing “iTunes 5 Announcement from the
Perspective of an Anthropormorphized Brushed Metal User Interface Theme
” yesterday, when I decided to upgrade to the latest version of
iTunes. Normally I’m the type of user who prefers to hang on to a stable version of a program until I’m absolutely forced to
upgrade. However, I had been quite happy with the latest version of iTunes (4.7)(ahh, podcasts) so I thought to myself “sure, why not?”.

I headed over to the Apple website, drooled over the latest href="http://www.michaelpanda.com/moblog/archives/000254.html">iPod Nano for a bit, poured out a little liquor for the passing of the
dearly beloved iPod mini, then downloaded the installation routine for the latest version of iTunes.

So far so good, right? So I double click the install program, wait a moment, and then the following screen pops up asking me to choose my
language preference:

itunes_language_setup.jpg height="300" class="featuredentryimage" />

Now, I’m running an English OS, but with all my regional defaults set for Japanese. While this is not the ideal solution (see below) I am
still pleased to see that the installation program is at least somewhat multilingually aware.

I can read Japanese, but I prefer to use my programs in English, especially iTunes, because it’s a rather new for me, and I’m not familiar
with some of the less-commonly accessed program functions and would prefer not to spend my time looking up obscure kanji for things like
“.mp3 sound normalization” and such. Thus, I set the language to “English“, and sit back and wait while the program does its
thing.

Everything’s all fine and dandy, the installer finishes up, the program starts to launch when all of a sudden – wait, what’s this?

itunes_yokoso.jpg class="featuredentryimage" />

I’m confused. Why on earth would the welcome message be in Japanese? Hoping for the best but fearing the worst, I click through to find:

itunes_japanese.jpg class="featuredentryimage" />

Yup. The damn thing installed in Japanese. I curse silently. Now, like I said, I can read Japanese, but I have a few very good reasons
for not wanting iTunes in Japanese:

a) It’s not my native language and I don’t want to have to stop and think about functions on anything as basic and commonly used as my
music program.

b) I don’t want to use the iTunes Japanese store. The selection is quite limited compared to the
American iTunes store, all the music and album information/reviews are in Japanese (takes longer to read) and finally, it costs more for the exact same music…! – 150 yen per song instead of 108 yen (equivalant) it costs stateside.

But fine, whatever. Naturally, I assume that I must have made a mistake during the installation procedure. Perhaps I thought I selected
English” on the drop down menu but accidentally left it on “Japanese“. So I hit “uninstall”, wait for it to uninstall,
then re-install the program, making doubly triply sure that everything’s set on English. Wait, wait, wait and then – wha…?

itunes_japanese.jpg border="0" />
AAAAARRRRGHHHH…!!!!!!

Now I’m pissed. Not only have I wasted 20 minutes of my life, but now I realize that whoever wrote this stupid thing was arrogant enough
to commit one of the cardinal sins of software programming – they ignored my preferences and did what they wanted instead…!
I suspect they’re trying to be slick by attempting to “detect” my OS regional settings (set to Japanese) instead of
heeding my chosen preferences. I uninstall the program again, change my regional settings and reboot. I run the install program
once again, at which point the proverbial poo hits the fan.

“iTunes did not uninstall correctly. Please uninstall the program and re-run the setup program”

Now I’m furious. I already uninstalled the damn thing. I try and uninstall it again, when the uninstall program hangs and
crashes to the following message:

itunes_error.gif

CRAP. I try to reinstall the program. Same error. Lovely. Now my computer is completely screwed. I can’t install iTunes
because it claims it needs to be uninstalled, but apparently I can’t uninstall the damn thing either. Which means that at this
very moment, my iPod has become little more than a very expensive paperweight.

I spend the next five hours of my life trying everything under the sun to get my computer out of this fucked iTunes purgatorial limbo
state, manually chasing down registry entries, deleting hidden subfolders by hand, all that mess. Finally, I reach the infuriating
conclusion that the only way I’m going to get iTunes to work – and consequently my iPod – is by doing a complete reformat and reinstall
of the OS
.

To say that I was upset would be an understatement. This entire situation came about as the result of lazy programming, arrogant
we-know-better-than-you attitudes, failure to check for basic mistakes, and ignorance of the issues involved in
writing software for people working in a multilingual environment.

where did Apple go wrong?

1. They completely ignored my preferences and did whatever they wanted to

2. They tried to be slick and “figure out” what language they thought I “should” be using

3. They failed to check basic program functionality like the install/uninstall for robustness

4. They didn’t give a damn about the “out of the box” user experience.

Enter the rant…

1. NEVER ask your users for input then ignore their choices!

This is such a cardinal sin I’m quite shocked that Apple would be foolish enough to let it slip by. For a company normally
so conscientious when it comes to small details, it’s almost unbelievable they would make such a basic mistake.

Whenever a program pops up a dialogue box asking a user for input, it is natural to assume that your preferences will be taken into
account and have a discernable effect on whatever the program does next. Consequently, there are few things as infuriating and rude as
having a program ask you something, then blatantly disregard your input and do whatever the programmers want.

It’s easy to see why:

a. The user feels like his/her time has been wasted.

Why ask users to spend anywhere from a few seconds to 10 or more minutes scrolling through long lists and check/unchecking radio buttons
if it doesn’t amount to anything? That’s a few more minutes that the install process has to take, and consequently, a few more minutes of
their life wasted by sitting passively in front of the computer not doing anything.

b. The user feels violated

In many ways, computers can be thought of as extensions of our surroundings and ourselves. After all, they house OUR data – our pictures,
movies, music, documents and files – all the things that we have created, edited or read – massive amounts of information that the user
legitimately views as their possessions, arranged they way they want it.

To use a metaphor, we can imagine the computer as our apartment. One day we decide to order a new couch – let’s say, in black leather.
Then, when the delivery man appears, much to our disappointment, he’s bearing not the couch we ordered, but an ugly orange and purple
monstrosity. When we inquire he shrugs his shoulders and says “we decided you’d like this one better than the one you asked for”.

Then, to top it all off, when he asks where you want him to put it and you tell him “the corner”, he proceeds to smash, bang clatter and
stomp all over your apartment, breaking and destroy many of your possessions in the process, leaving your room in disarray and perhaps the
door broken and swinging off the hinges before finally plopping your couch down not in the corner, as you asked, but next to the window.

Any normal person would feel both violated and infuriated in such a situation. Yet, every time a programmer writes software the disregards
user input and imposes itself on the user they are playing the part of the arrogant deliveryman. If we wouldn’t tolerate this from our
local furniture store, why would we tolerate it from our software?

c. The user knows themselves better than you do

It’s pretty rude whenever a someone assumes they know what’s better for you than you do. Yet everyday, we see countless
examples software houses exhibiting this hubris under the guise of “helping” “less technologically minded” users by attempting to guess
their situations.

It is all well and good to try and ease the learning curve for new users, especially when it comes to software aimed at a less tech-
savvy/wider demographic – iTunes for example, but this philosophy can easily get out of hand. Now I know the Cupertino crew tends to snub
their noses at the rest of the world from time to time, but even this is a bit much for them. Seriously guys, I’m pretty sure I know
what language I want to use my software in…!
I can accept that some software users may be technophobic – but that’s not the
same thing as being catatonic.* Even my grandmother is capable of operating a pull down menu to select what language she reads, or
choosing her appropriate country/time zone/ etc. After all, you wouldn’t hesitate to expect that a person in real life could answer the
question “what language do you speak” accurately, right? So why wouldn’t you trust them to answer the same question on a computer screen?

*Before you start, yes I am more than aware there are a great many users out there
for whom catatonia would be a generous description – I used to work in tech support, so believe me, I know. But mercifully these users
are rather rare, and most of them can’t get the discs into the machines to even start the install process, so let’s ignore them for
now

To borrow an anthropomorphic page from Daring Fireball:

[iTunes]: “WHAT LANGUAGE DO YOUR SPEAK?”

[Panda]: *click* “English”

[iTunes]: “NO YOU DON’T. YOU SPEAK JAPANESE.”

[Panda]: “…wha…!?”

[iTunes]: “DON’T ARGUE WITH ME YOU BIG LIAR. I CHECKED YOUR REGION SETTINGS. YOU SPEAK JAPANESE.”

[Panda]: “No, I set my region settings to Japanese, but I want to use this program in English!”

[iTunes]: “CLEARLY YOU ARE CONFUSED AND HAVE NEVER USED A COMPUTER BEFORE. TRUST ME, YOU SPEAK JAPANESE.”

[Panda]: “No wait, I speak English!!!”

[iTunes]: “NO YOU DON’T. YOU ARE TEH SUX0R N00B. NOW STOP ARGUING. I’M INSTALLING MYSELF IN JAPANESE.”

[Panda]: *voice trails off feebly* “…but i speak english…..”

[iTunes]: “ハーハーハーハーハーハーハーハー!!!! アホ~!”

SOLUTION: Simple enough. Trust your users to know basic things about
themselves (like what language they speak/prefer to use their software in) and then listen to them. Under no circumstances
ever ignore your users’ chosen preference. They know themselves better than you ever will.

2. DON’T try and be slick by automatically attempting to provide “localized” software

Trying to “automatically” detect a user’s OS, language settings or geographical preferences is an endeavor that probably ends more
often in failure than success. There are countless obstacles to accurate recognition: a user may be using a borrowed computer, regional
defaults might be erroneously set, your code might be faulty, ISPs might be based in different regions (in the case of webservices),
etc.

However, by far the biggest pitfall plaguing automatic language detection functions is that they all rely on the extremely faulty
assumption that the user speaks the language of whatever region they’re in or their operating system uses.

This is patently untrue, especially in this increasingly global era. Not everyone in America speaks English (especially as a native
language), not everybody in Japan prefers to interact with their computer in Japanese, and this is to say nothing of regions (for example,
in Africa) where countless ethnic and linguistic groups are lumped together into an area arbitrarily determined to be a “country”.

There are two major areas where I feel this is an issue: webservices and end user software. I’m going to concentrate mainly on
webservices in this section, since I’ll be covering software everywhere else.

WEBSERVICES

To give an example for webservices, let’s consider the case of google.com. For most people in the
US, if you want to use the google search engine (in English), you simply need to go to www.google.com
and get on with your search. However, what many may not realize is that google.com changes the display language depending on what country
it decides your IP address is located in. For example, if you type www.google.com from a computer
located in Japan what you get will not be the following:

google

but actually the Japanese version:

google

Now I can appreciate what google is trying to do, but I don’t think they realize just how incredibly stupid it is. While I don’t know
for certain, I’m pretty sure the rational behind the decision to implement an IP geolocating script to serve up different language
versions at the same address went something like this:

Users are stupid, we don’t want to dilute our brand and we want to serve our customers’ unique regional needs.

Let’s break that down one at a time:

a. Users are stupid.

Now I realize that there is probably more brainpower running around the hallways of the San Jose Googleplex than most of us will encounter
in our entire lives, but do they really think the rest of humanity is so stupid they don’t even know what country they’re living
in? For example, do they believe that Japanese google users will be confused by having to type “ href="http://www.google.co.jp">www.google.co.jp” as opposed to “www.google.com“?

I don’t buy it. Japanese people live in Japan…! They know they live in Japan and they know that if they want to go to most
Japanese websites, they have to type .co.jp as opposed to just .com. Does google really think that Japanese users run
around in a perpetual confusion unable to use the internet because they can’t figure out that 90% of their websites end in .co.jp?
Everyone in Japan knows their country code top level domain as
well as we do back home. In America, we know that if want an academic website it generally ends in .edu, for example. In Japan,
they know to type .ac.jp We know .org they know .or.jp. So on and so forth.

Now I am aware that generic top level domains like .com or
.org
are not reserved exclusively for Americans or even English speakers. But that’s not the issue here. If you want to offer
a Japanese language site ending at the .com top level domain rather than .co.jp be my guest. But what is the issue
is what Google is trying to do – offer multiple language versions of the same webservice at the same URL address..!!

The user isn’t stupid, but whoever thought that people aren’t smart enough to know how to use the internet in their own countries
surely is.

b. We don’t want to dilute our brand

Look, I’m not entirely heartless. If you’re a 2 person Silicon valley startup with about a $100 bucks in
venture capital to your name and a “web presence” that consists entirely of three page site coded in MS Frontpage, I can understand why
you wouldn’t want to go out there and start registering every permutation of your domain name under the sun. It’s a lot easier to build
“buzz” when all people have to remember is one simple name for your site, perhaps something along the lines of
http://www.your_presumably_witty_yet_catchy_site_name.com. Plus I understand – domain names may not be expensive to register, but
they’re not cheap either.

But for a company like google* there’s just no excuse…! Everyone knows what google is, and they’re certainly not going to get
confused as to whether www.google.co.jp and href="http://www.google.com">www.google.com are owned by the same company or not. So the argument against “brand dilution”
holds no weight – once your company grows to any sort of decent size, stop annoying your users, get your heads out of your bum and
register the different language version of your site at the appropriate extensions.

*I am well aware that google has registered all sorts of country-specific versions of
its domain name, but that’s not the point. The point is that it keeps trying to serve up different language versions at the same
domain name
which is what I’m getting to next.

c. We want to serve our customer’s unique regional needs

And herein lies the most annoying application of faulty reasoning. Assuming that just because your user is accessing your site from one
country means that they speak that language is quite foolish. In this age of internationalization, thousands of
people criss-cross the globe on a daily basis. An American businessman in Thailand, for example, might very well want to check your site
from his hotel room – but chances are, he probably wants the English version, not the Thai one! So why would you foolishly assume he
reads Thai just because his IP locates to Thailand? Meanwhile, people in Thailand are probably getting upset that nothing’s coming up
when they go to the version of the site ending in .co.th, and then having to waste precious moments navigating to the .com
version. Imagine their irritation when one day they head over to India on vacation, fire up their browser and head over
to www.google.com just like you’ve conditioned them to do and then up comes a page in Punjabi – a language they can’t
read or make any sense of..!

As a Westerner in Japan, I have to deal with this foolishness countless times each day every time I open up the google search page on my
browser. I can read Japanese, but that’s not the point – 99% of the time, if I’m doing a web search, I want to search mainly amongst
English language pages for something. However, if you use the Japanese version of google, it primarily serves up results from Japanese
language sites by default – extremely irritating, since you have to waste time to click back to “Google.com in English” (and then wait for
it to load).

google_dot_com_in_english.gif

Of course, some will make the argument that you can simply set your preferences once, and that google will remember them. That’s true,
so long as you don’t regularly flush your cookies after each use. Unfortunately, for most internet security
conscious individuals, it is commonplace to set your browser to dump ALL browser cookies after EACH session. Cookies don’t work in this
situation, and I’m not about to stop dumping my cookies after each session just so I can use a search engine.

Not to mention that this does little to alleviate the problem for users on shared or borrowed computers (for example, our American
businessman using on a Thai hotel connection, or a backpacker jumping on from an internet cafe). Thus, what are you left with?
Frustrated and irritated users who have to waste precious moments each time they access your page to click through to a language version
they understand.

And believe me, these little annoyances add up – each time you have to click on “google.com in english” and wait for it to reload takes
anywhere from 3 to 10 seconds (depending on your connection). Now think about how many times you launch google.com on any given day and
multiply – I wouldn’t be surprised if the total is easily over a couple minutes. Now a couple minutes a day may not be enough to make
things unusable, but it is annoying, and after all, isn’t that was usability testing is all about? Reducing these sort of
stupid, irritating annoyances wherever possible?

SOLUTION: offer the different language versions of your site at the
appropriate country-specific top level domains – and stick to them!. For example, the Japanese version of Google at
http://www.google.co.jp, the English version at http://www.google.com, the Russian version at http://www.google.co.ru, etc.

Don’t offer multiple language versions of the same application at the same address. Along the same lines, ditch IP geolocating -
It is painfully general at best and off by entire hemispheres at worst. Using something so unreliable to serve up a different language
versions of your service than the one your user requests doesn’t really make a lot of sense. Not to mention that in the end, you have no way of knowing
that just because a user is in a particular region means they speak that language – as mentioned above, users know themselves – and what
they want – far better than you ever will. So let them choose for themselves (by typing in the appropriate country-specific URL, etc.)
and resist the temptation to muddle!

amazon

Amazon.com is a great example of this model. The different language versions of the site are each available at their own address: if I
want to access the American Amazon, I just type http://www.amazon.com. But if I want to shop at the
Japanese store, all I have to type is http://www.amazon.co.jp and I’m there. If users accidentally
land at a different version of the site than they want, it’s a trivial matter for them to jump to the appropriate language version via
unobtrusive links at the bottom of the page. This is an elegant and simple solution. It goes without users aren’t getting confused,
amazon’s brand isn’t being diluted and best of all, nobody’s getting irritated by viewing the site in languages they don’t understand.

One final solution some companies try to employ is the “global splash page”. For example, typing in href="http://www.fujitsu.com">“http://www.fujitsu.com” automatically redirects you to “ href="http://www.fujitsu.com/global/">http://www.fujitsu.com/global/” wherein we see the following:

fujitsu

From here, the user can easily choose the country-specific version of the fujitsu site they would like to view. This is a decent
solution, although fujitsu chooses to use prefixes such as “jp.fujitsu.com” (Japan), “ href="http://uk.fujitsu.com">uk.fujitsu.com” (United Kingdom) or “my.fujitsu.com
(Malaysia) rather than the standard and more easily remembered country domain suffixes: “www.fujitsu.co..jp“,
“www.fujitsu.co.uk” or “www.fujitsu.co.my“. But still, not a bad effort, especially since the prefixes aren’t that hard to
remember and users can just input them directly in the future to go directly to their specific home page.

Something to avoid on the other hand, is bizarre or unintuitive region specific URLs. For example, href="http://www.jansport.com">http://www.jansport.com (the backpack manufacturer) drops you to a global splash screen (itself
committing the crime of housing an entirely unnecessary and ugly flash widget) from where you can choose one of two options: USA or
International.

jansport

But if we look at the specific URLs we are led to, we see this puzzling mess:

USA: http://www.jansport.com/js_home.php

International: http://www.jansport-international.com

the latter of which, in turns, launches a full screen flash disaster which automatically plays sound and takes forever to load a confusing
ugly confused mess.

The problem, of course, is that there is no easy way for the user to remember (or guess) that the US Jansport site is accessed at:
“jansport.com/js_home.php” (seriously, guys, “/js_home.php”…!?) or that the Jansport international site (which turns out to be
aimed squarely at Europeans, and not any other regions leaving one to wonder why its termed “jansport international” as opposed to
“jansport europe” or something.) is located at “jansport-international.com”. It’s just not intuitive – there are no clues,
breadcrumbs, whatever you want to call them, to give the user any hint about which version of the site they’re going to after they leave
the global splash screen. Bad implementation of the concept. The lesson being, if you’re going to use a global splash site, make sure
you do it right and have it redirect to intuitive regional sites.

The ill advised flash disaster of course, is another topic for another time.

SOFTWARE

I won’t spend much time on software in this section since I’m covering it elsewhere, but just as with webservices, trying to offer
multiple language versions of the same software in one installer package usually ends with frustration and failure. The spectacular
iTunes meltdown above stands as a prime example of how much can go wrong in that respect.

SOLUTION: Just as webservices should divide their multiple language versions
and offer them at distinct domains, so too should software manufacturers offer the different language versions of their software as
separate downloads. This means taking the time to label things clearly. So for example:
itunes_installer_v50_japanese.exe” for iTunes v.5.0 Japanese, or “itunes_installer_v47_french.exe” for iTunes v.4.7 French,
and so forth. This is so basic I can’t fathom why it even needs to be said. There is no reason on earth why a user should have
to download a cryptically named “itunessetup.exe” with no clue as to a)what version it is and b) what language they’re going to
end up with…!!
. And all of these different language versions should be grouped together in a list and easily accessible from
the main page for direct download
“.

Firefox gets it mostly right. They offer the main English-language executable
for download straight from their main page (descriptively labeled with all the essential information: “Firefox 1.0.6 for Windows, English
(4.7MB)”) but with a clear link underneath to: “Other systems and
languages
“. Clicking on that link brings to a tidy page with all the different language versions of the program
available for direct download.

amazon

The only thing they could improve would be to give each language version of the executable a distinct name, but still, it’s a good
effort. Compared to this, Apple’s approach looks like a confused, amateur mess that leaves the user frustrated and in the dark about
what, exactly they’re going to end up installing on their computer in the first place!

3. MAKE SURE your uninstall works!!

Most of the time when people talk about software, they devote most of their time to the actual functions of the program itself – what
it does, how it does it, the appearance, all that. Even when so called “usability” experts review products, they tend to concentrate all
their attentions on the aspects of the program the users sees once everything’s up and running.

However, from my perspective, this overlooks two extremely crucial aspects of any software package: the installation, and
uninstallation. Usually people ignore these aspects since they’re expected to always just “work”. So when iTunes screwed up the
uninstall process so badly and left my computer crippled (and unable to install any version of iTunes) I was infuriated. It’s
bad enough I had already been ignored, and inconvenienced by a poorly written program – I just wanted to uninstall the damn thing
and start over from scratch. Having to troubleshoot the uninstall process was the last thing I was looking to do!

Perhaps for the uber l33t – the kind that take apart calculators to try and see if they can get some obscure distro of linux to run on
it, then post step-by-step guides on the internet – this sort of tinkering might be quite enjoyable. But I’m not such a person – I want
my software to install how it’s supposed to – in the directories I tell it to, with the options I set and in the language I decide -
quickly, efficiently and without incident. And when it comes time to uninstall, I want it to get out and take all its junk
with it…!
I don’t want to have to go through afterwards with a broom and dustpan and spent three hours of my life manually
removing vestigial folders, tracking down obscure registry entries and wiping out clandestine entries made, for example, href="http://www.extremetech.com/article2/0,1697,1152025,00.asp">in the boot section of my hard disk.

Now I’m aware this may be a uniquely windows problem, but here’s the thing – thousands of companies ranging from obscure Taiwanese OEM
manufacturers to 1 person .com startups manage to write programs that install and uninstall in a windows environment without incident. So
why can’t a company as large and talented as Apple manage the same thing? The only reason I can think of is laziness and lack of effort
on their part (maybe they didn’t want to take the time to actually check these things), which is why when such basic things screw up my
computer and cause a major headache – like they did in this case – it infuriates me so.

In this case, the flawed iTunes uninstall process was doubly unacceptable because it left both my computer and my music player
crippled – unable to re-install any version of iTunes I was suddenly left with an iPod that was little more than an expensive
paperweight. Apple has always been synonymous with the word “proprietary”, unfortunately this means that when the uninstall crapped out
on me I literally had no other options to turn to, since the iPod only* works with iTunes. Thus, the only (apparent) solution if
I wished to keep using my iPod was a complete wipe and reformat. After all, I think that it goes without saying that “reformat your hard
disk” is never an acceptable answer to “my music player software didn’t uninstall correctly”.

*Yes yes, ephpod. But you and I both know it’s just not the same. Not to mention
buggy and prone to lockout via future forced Apple firmware “upgrades”

It’s a seemingly simple lesson, but a critical one. The user experience starts from the moment they pop your disc in the drive (or
download your executable) and doesn’t end until the moment every last trace of your program is wiped from the hard disc. It is imperative
that every aspect of this process is attended to. Don’t leave bits and traces of your program floating around the hard disk long
after everything’s supposed to be gone. This is guaranteed to come around and bite them in the ass (like it did to me) and that
is guaranteed to leave you with one irritated and frustrated user.

SOLUTION:

1. take the time to check all aspects of your programs, including the install/uninstall process. Test them against a
wide variety of machines, and recognize that not everyone in this world falls into the neat “monolingual” category. Check that your
English language version of the program will run on a Japanese box, and vice versa.

2. Make sure your uninstall program uninstalls EVERYTHING your program has ever done to the user’s hard drive. This includes wiping your
registry keys, removing any hidden files you may have squirreled away and generally leaving the machine in exactly the condition
it was when you found it. Make sure that if your software has to do various “secretive” things to a machine (for example, iTunes
registering itself for use with only one computer and one iPod to prevent music transferring via the iPod) that you UNDO
EVERTYHING
upon de-installation so that the user can install a new version of your software without having to reformat their entire
hard drive.

In short: when you uninstall, do it fast, do it efficiently and above all, do it right. Take all your junk with you when you
leave.

4. APPLE needs to improve its out of the box experience

Apple is known for its superficial “wow” factor. The iPod phenomenon, I feel, owes much of its popularity to the external appeal of
its packaging – the attention paid to the graphic design, box colors and even tactile sensation of the packaging materials. This appeal
is reinforced when one takes the box home and unfolds it to reveal a wonderfully laid out spread of brushed metal, documentation and
smooth, clean lines.

ipod_mini_impression.jpg height="270" border="0" />
image stolen from the wonderful ipodlounge.com

Unfortunately, this is right about where Apple falls squarely on its face. While their initial impression is stellar, their out-of-
the-box experience is nothing less than absolute crap, especially for windows users (who comprise the vast majority of iPod buyers). I
don’t know of one Windows using iPod owner who didn’t have to spend three to four hours screwing with the damn thing to get it to work. I
consider myself quite computer savvy, yet it took me a good three hours to even get iTunes to even see my iPod and transfer music
to it. In particular, the iPod requires you to “reformat” the drive to FAT32/NTFS so you can use it with windows. On my computer, it
takes less than 10 minutes to completely reformat a 120 GB drive and set it with a new file system. For some reason, it takes Apple 3
hours to attempt to do the same thing to a 4GB iPod mini, and even then it hangs, eventually crashes and forces you to power cycle the
damn thing countless times before you can even try again.

I understand that Apple wants to take care of Apple customers first. That makes complete sense to me and if Apple wants to release
their products (software or hardware) for Macs first – or even exclusively – that’s completely their prerogative. However, if they intend
to release Windows compatible versions – especially in the case of things like the iPod – they need to ensure that the releases
are both high quality and fully capable of standing on their own, as opposed to poorly conceived/programmed afterthoughts.

If Apple wants me as a Windows user to buy an Ipod instead of an iRiver, and wants me to use iTunes instead of Windows Media player, then
they need to work on getting them to work when and where it really counts. It’s all well and good to come to the party
sporting a nifty design and beautiful clean lines, but if it takes me so long to format the drive I think it might be broken, or if the
program ignores my input, incorrectly uninstalls, then eventually completely crashes, nearly forcing me to reformat my entire hard disk in
order to keep my music player from becoming nothing more than a glorified paper weight, then it’s all for naught, because I’m not
interested.

In short, consumers are fickle, you can sucker them in with a flashy design and great PR, but if you don’t have anything of substance to
offer me, or if it’s all messed up inside, then I’m guessing many aren’t going to stick around very long. If Apple can’t get the little
things right – out of the box – then I’m jumping ship the second any of their competitors gets within striking range – and that
gap gets smaller and smaller by the minute. In the case of Sony* (another company with fantastic designs marred by bone headed software
choices and plagued by idiotic small mistakes), for example, their latest offerings are much more beautiful than anything Apple
has to offer – only their software lags behind. But make no mistake, if they pull their heads out of their asses before Apple, I’m
dumping my iPod in a heartbeat and snatching up a Sony. I don’t have time for software that makes my life difficult, and I expect a lot
better from a company with a reputation like Apple.

*I realize that it’s a bit specious to mention Sony in this paragraph about the
importance of the “out of box” experience given that they can’t write a non-mediocre piece of software to save their lives. href="http://en.wikipedia.org/wiki/SonicStage">Sonicstage and OpenMG Jukebox are quite possibly the worst music management programs
ever created (and like Apple, Sony loves proprietary so you pretty much have to use these steaming piles of poo if you purchase a
Sony music player). However my point is that on the hardware front the two are pretty much evenly matched and that in this cut throat
business whichever software annoys me less is the one I’m going with.

SOLUTION: Well, I’m a bit out of my league in this area, but still, as a
consumer, I know I like it when that shiny new gadget I just dropped a few 10,000 yen bills on doesn’t give me a headache the second I
take it out of the box. Just make it painless, will you?

Epilogue…

So what happened in the end? Well, after spending about three hours backing everything up (it was good to be forced to do that anyway,
since the last backup I had done was a few months old) in anticipation of doing a full wipe and re-install, I decided to try one last
thing and download the latest standalone install of quicktime 7 (you
have to actually explicitly search for it since it’s hard to find from the “quicktime” section of the apple website, which tries to serve
you the bloated iTunes+quicktime installer package, which was of no use to me, for the reasons stated above). After installing it, I
clicked over to the properties on a whim, where I was confronted with this odd amalgamation of Japanese and English menus.

quicktime_japanese_english_hybrid.gif

Figuring “what the hell”, I tried to re-install iTunes one more time. This time, the install went (relatively) smoothly for whatever
reason, though of course, it continued to ignore my language preferences and automatically installed the Japanese version of iTunes. But
at this point, though, I was just happy the damn thing worked and I could use my iPod again without having to do a full format and re-
install I just accepted it. *sigh*

And that’s where it stands folks. Thank you for reading. Oh, and Steve Jobs, you’re on thin ice with me.

Now listening to: Enigma – “Mea Culpa (The Fading Shades Remix)”

24 Reactions

  1. Marty

    I just want to offer up one thing. I don’t think that programers are to blame for about 80% of what you said. It’s marketing.
    Programmer 1: Well, this is how the sites for each google region breaks down…
    Marketing Guy 1: Can you make it so all anyone ever has to do is type google.com?
    Programmer 1: Well.. ya.. I could.. but…
    Marketing Guy 1: I think it would be a lot easier if they could just type google.com.
    Boss 1: Can we get that programmed by the end of tomorrow?
    Programmer 1: but…

  2. Kittos

    Another prove that Apple’s iPod is oriented for Mac users, which initially was the purpose of the iPod: To serve the Mac users with a portable music player to works with their Mac.
    But the non-Mac users wanted an iPod too. They were blinded by the design even though iRiver has better features. And because it didn’t work on their Windows machines, Apple had to make it compatible with their rival’s codes. This is their way to get you, yes Mistar Panda, to buy their lovely Mac notebooks. But I guess you don’t comply with Steve Jobs’ wish now.

  3. a

    Does itunes 5.0 perform remarkably better than 4.0? I’m refusing to upgrade to itunes 5.0 for the moment since apple decided to revamp the look. Sad! They should have stuck with brushed metal.
    “To send someone to coventry” is a dated british way of saying, “to give someone the silent treatment”. I blame it all on Enid Blyton. A friend of mine had been giving me mixed signals for a while, and then until recently, suddenly chose not to speak to me. So, confused adele = unhappy adele = frustrated post. :)

  4. kitty

    *blink* that was long >_< but im commenting anyway or you will get whiney and cry on the phone to me again.

  5. Paracetamol

    I was just going through your backlog of old posts and I found one especially for me! Damn my previous shonky internet connectivity, thank God I’ve rentered the golden era of bandwidth.
    What really surprises me about your particular problem is it’s so counterintuitive to the whole design process. Coders are lazy, lazy people, why spend all that time writing a shonky auto detect if you’ve already put in a menu for users for select from?
    My pet software peeve is the replacement of perfectly serviceable software with crappy “user friendly” replacements. Windows had a perfectly decent search function with it’s OS, and they had to spruce it up for some unknown reason with a stupid cartoon dog. We’re searching for files microsoft, not escaped criminals and frisbee’s. Give me my fucking search function back! Ok I’m done ranting now

  6. MI~shuko me~

    lol HA! I went through the same itunes ordeal just yesterday. Stupid piece of crap. All so I listen to stupid Internet radio…people told me it was easy to install and they lied. Oh well. I went to Akihabara today and drooled over ipods I will never own because I will never enter the Land of the Rich and never belong to the race or people beautiful enough to get things bought for them, OTL.

  7. Joe Schmoe

    Sorry to hear about your iTunes disaster. Obviously, there was a bug in the installer for iTunes 5.0 that didn’t exist in previous versions, since you installed it before with your particular settings. So your big long rant about Apple *purposely* ignoring your preferences is overblown. Rant all you want about quality control. I agree fully. It was a boneheaded mistake on Apple’s part.
    The rest of the rant about wasting the user’s time, the user feeling violated, the arrogance of the company knowing better than the user, and so forth is superfluous and over the top. If Apple truly intended to ignore your language preferences, the installer wouldn’t have asked you at all. It was a mistake, not an attempt to “violate” you. Get over it.

  8. mathew

    Actually, what Google are doing is *even dumber than you think*.
    See, web browsers already have a perfectly good preference for what language the user wants to read, and they communicate that preference to the web server every time they request a page.
    But Google ignores that. I just tested, I set my web browser to request Japanese, and Google came back in English even though I told them I wanted Japanese.
    Frankly, it’s pretty disappointing that a company that prides itself on the smarts of its developers apparently doesn’t know about HTTP 1.1 content negotiation.
    And before anyone suggests it: You could, of course, have some text at the bottom of the page saying “Would you prefer Japanese?” (in Japanese) if you detect that the IP address is in Japan, and have that lead to a page explaining how to fix your browser preferences to request Japanese.

  9. Anonymous

    Did you try changing your regional settings to English, install with English selected, then change back to Japanese? Also, where Apple may be at fault is by offering you the choice in the first place. I would think they should follow the OS settings. Isn’t that what they are for (provided they allow changes)?

  10. whiner

    You are attributing malice and poor design to something which is probably just a bug. File a bug report to apple.

  11. RulerK

    I have to wonder (because I don’t read or speak Japanese, so I can’t figure out what the initial dialog box said) if the menu setting in the first dialog box isn’t the language preference for just the installer itself. If iTunes for Windows is anything like iTunes for Mac, it gets installed with multiple languages and then proceeds to use the OS language and regional settings default to choose the language that menus and dialogs are viewed in. If your computer is set to Japanese, then it would probably display in Japanese and if you switched your computer region settings back to English then iTunes would display in English. Give it a try…
    As for the google thing, I happen to agree 100% with both Mr. Panda and with Matthew. If you’re going to go international with a webpage, you should either detect the language of the browser or allow for standardized and intelligent URL and domain name selection (.com = US, .co.jp = Japan, .co.es = Spain, etc…)
    To rant on programmers though, I constantly find annoyingly user-hostile programs that ignore commands, ignore preferences or don’t even allow for preferences that should be user-definable. It all comes down to two things: laziness and lack of testing (which can also be the result of laziness). The thing that bothers me most though, is that in large corporations like the one I work for, they pay INSANE sums of money to these companies for this shoddy workmanship and lack of programming prowess. Especially true for software that could be designed in-house cheaper and more efficiently to do what they need it to do.

  12. Stephen Falk

    Some of what you say makes a reasonable amount of
    sense.
    As for your assertion that the “out of the box experience is crap”
    and “I don’t know of one Windows using iPod owner who didn’t have to spend three to four hours fucking with the damn thing to get it to work”
    (I guess you’re talking about the Ipod.)
    You sound like a pissed off 5 year old.
    I’ve used the Ipod on Windows AND on a Mac.
    Most of the time things have been fine.
    Itunes for Windows definitley (which has been somewhat addressed with an update) has bugs, but it’s certainly
    never been that bad.

  13. The Butler

    Would Monsieur like some cheese with his whine?
    Monsieur, pardon me for speaking frankly but how long has Monsieur been using the internet?
    Monsieur has never heard of this?
    http://www.google.com/ncr
    Also, Monsieur would benefit greatly from learning the Japanese language. When in rome, do as the romans do.
    And crying does not become you, Monsieur!
    If Monsieur thinks Monsieur can program a better itunes application or a better search engine, then by all means…
    Just do it!
    Shall Monsieur eat apple’s and google’s marketshare as the first and second course? Nothing would give the butler more joy.
    In short, Monsieur should stop cursing the darkness and do something about Monsieur’s miserable situation.
    Light the candle, Monsieur!
    Pardon me, Monsieur, while I go and grab Monsieur’s spell checker from the study…

  14. silverpie

    First up, on the Music Store issue. Apple is required, under the contracts it has with the owners of the music, to allow you only into the Music Store of the country where you are. That is irrespective of language. It’s the labels that are viciously trying to preserve every detail of their current business model against the mighty force that is the Internet (this nearly forced Apple out of offering the iTMS in the European Union at all).
    You’re right about the language issue–the choice affects only the language that the installer itself uses. It insists on giving me iTunes in English even though I’d prefer to have it in French myself. There appear to be files in the iTunes folder to simulate the Mac’s on-the-fly internationalization, but without the ability to tweak the preferences of which to use as you can do on a Mac. Hmm, this may suggest a workaround… but I would have to research it further.

  15. Monkey Boy

    I can see why you would want to blame Apple for your problems with iTunes, but did you ever think that the reason you had difficulty with your iTunes installation lay with Windows? Also, did you stop to think that after installing iTunes on an English OS with Japanese regional settings, then trying to uninstall it with English regional settings might just lead to problems?

  16. Just a bystander

    (re: Apple blindly putting Mac users ahead of Windows users)
    While that would be their perogative, if Apple were actually doing this, they would still be bundling Firewire cables with new iPods instead of USB cables, and the iPod nano would actually sync over Firewire.
    As for the rest of the rant (which I skimmed): I don’t have a clue how Windows handles internationalization, but this sounds like a bug. File a concise bug report with Apple.

  17. Anonymous

    Ironically, almost all the trouble you had can be traced back to Windows, not Apple. It’s the Windows installer, the Windows localization model, the Windows registry, and Windows in general that prevents Apple from delivering the entire out of box experience you want.
    And it’s the legacy of Windows software that you’ve used that’s pushed you to this level of irritation. In my experience, Mac software doesn’t have a habit of ignoring the user.

  18. Keith in Tokyo

    I don’t understand your problem with accessing the U.S. iTunes Music Store. Can’t you just use the “Choose Country” (“????”) menu at the bottom of the screen to go there? That’s what I do, and I’ve bought music from both the Japan and U.S. iTunes music stores.
    As for your language problems in general, I must admit that I am glad I use a Mac, because there’s no problem launching programs in different languages whenever you want. Just quit the program, choose the language you want in System Preferences (English, Japanese, Dutch, Russian, Chinese, whatever) and re-launch the program. Nearly every program I use has multiple languages built in to the program package. Which means that whatever your language, you only need a single installer, and you only need a single program file (i.e. package) in your Applications folder when you’re done. Much easier for software distribution, too, I imagine.

  19. Keith in Tokyo

    The mojibake in my previous post should read “kuni o erabu.”
    Keith
    (finch [at-mark] unforgettable.com)

  20. Michaelpanda

    Thanks to everybody for the comments. Just a couple of errrmm… comments on the comments.
    THE BUTLER
    Monsieur has never heard of this? http://www.google.com/ncr
    No actually, and that’s quite useful, thank you! However I don’t think that invalidates my point: different language versions of a website should be offered at separate country specific domains.
    If monsieur thinks Monsieur can program a better itunes application or better search engine…
    Unfortunately, this is flawed logic. I can’t build a car, but I have a right to be irritated if it’s poorly designed or something on it breaks. If we followed your logic the only people who could make suggestions about software improvements would be other programmers. I don’t think I need to spell out where that leads…
    Also, Monsieur would benefit greatly from learning the Japanese language. When in rome, do as the romans do.
    I speak Japanese quite well as a matter of fact. Perhaps Ze Butler would benefit from reading the first paragraph of my post? At any rate, it’s one thing to speak Japanese and another to decipher error messages or suss out complicated kanji for obscure functions. I don’t use 80% of the features iTunes offers, but on that rare occasion when I want to adjust encoding options or what not, I don’t want to have to spend that extra few minutes trying to figure out the exact nuances between various settings! It’s my music player program program – I shouldn’t have to think to use it!! These are the exact sort of things usability testing is designed to suss out, I think…
    STEPHEN FALK
    as for your assertion that the “out of the box experience is crap”… You sound like a pissed off 5 year old.
    In retrospect my word choice was poor (“crap”), but I think the complaints are legitimate. Don’t get me wrong, I think the iPod is the best choice out there (I did plunk down the cash to buy it, after all) but I really do think that for windows users the iPod out-of-box experience is not nearly as wonderful as the packaging/hype/apple ipod experience. . It may be better than the competition but that does NOT mean that we should accept shortcomings silently!
    RULERK
    If iTunes for Windows is anything like iTunes for Mac, it gets installed with multiple languages…
    Unfortunately this is not the case with windows, we poor long suffering fools have to suffer with mono-lingual executable versions and look on with envy at you lucky Tiger powered Apple kids as you effortlessly switch between languages. I’m so jealous!!!
    To rant on programmers though, I constantly find annoyingly user-hostile programs that ignore commands, ignore preferences …It all comes down to two things: laziness and lack of testing
    I completely agree! This is perhaps more what I was trying to get at with my rant – laziness and letting simple annoying errors slip through the woodwork that negatively impact the end user experience.
    MONKEYBOY
    did you ever think that the reason you had difficulty with your iTunes installation lay with Windows?
    Well, I agree that windows XP sucks compared to the latest Apple OS offerings, however, my point is that tens of thousands of programmers out there write code that install and uninstalls without incident on a daily basis. So I would expect Apple could as well. You don’t need to try and convince me that Tiger is a better OS – I agree with you. But that doesn’t mean I should tolerate sloppiness/incompetence from software powerhouses writing programs for my also-mainstream OS.
    Also, did you stop to think that after installing iTunes on an English OS with Japanese regional settings, then trying to uninstall it with English regional settings might just lead to problems?
    I didn’t do this. I always kept the regional settings constant when installing/uninstalling and only switched them between installations.
    ANONYMOUS
    Ironically, almost all the trouble you had can be traced back to Windows, not Apple. It’s the Windows installer, the Windows localization model, the Windows registry, and Windows in general that prevents Apple from delivering the entire out of box experience you want.
    Agreed, but please see my comment above: Windows XP may be an inferior OS to Tiger, but that doesn’t excuse sloppy coding/programming on the part of major software companies. If a two person startup in Taiwan can write a program that install/uninstalls without incident on Windows XP, why can’t Apple?
    KEITH
    I don’t understand your problem with accessing the U.S. iTunes Music Store. Can’t you just use the “Choose Country” (国を選) menu at the bottom of the screen to go there? That’s what I do, and I’ve bought music from both the Japan and U.S. iTunes music stores.
    You are going to laugh but never ever have I scrolled down the iTunes store window far down enough to see that!! Brilliant! Thanks!

  21. silverpie

    Can’t say for certain why, but this time (with iTunes 6), it did go along with my declared preference to have it in French (my locale is set for Canada, so would be ambiguous prefs-wise).

  22. bern

    As for accessing the iTunes USA store if you live in Japan:
    Does not make a difference if you click on the country at the bottom of the page. Sure, it’ll take you to that country’s iTunes store but once you try to buy something, it’ll automatically redirect you to the store corresponding to your billing address.
    The iTunes Japan store is utter crap! Very poor international selection and a lot of Japanese music.
    I don’t care if it’s the music corps or Mac to blame. Just fix it. Credit cards allow you to pay in various currencies with exchange rates. They’ll both get my money as long as they allow me to use the store that I want. Either that or make all iTunes store carry the same selection.