Luna was the code name for the Windows XP "look".
The designers did a lot of research (and got off to a lot of false
starts, as you might expect) before they came
to the design they ultimately settled upon.

During the Luna studies,
that people's reaction to Luna was often,
"Wow this would be a great UI for X," where X was
"my dad" or "my employees" or "my daughter".
People didn't look at it as the UI for themselves;
rather, they thought it was a great UI for somebody else.

It was sometimes quite amusing to read the feedback.
One person would write,
"I can see how this UI would work great
in a business environment, but it wouldn't
work on a home computer." and the very next person would
write "I can see how this UI would work great
on a home computer, but it wouldn't
work in a business environment."

(And interestingly, even though armchair usability experts
claim that the "dumbed-down UI" is a hindrance, our studies
showed that people were actually more
productive with the so-called "dumb" UI.
Armchair usability experts also claim that the Luna look
is "too silly for serious business purposes", but in reality it
tested very well on the "looks professional" scale.)

Aero is the code name for the Longhorn "look".
With Aero, the designers have turned an important corner.
Now, when they show Aero to people, the reaction is,
"Wow, this would be a great UI for me to use."

Mini-bottles are those cute little single-serving bottles you see
on airplanes and in hotel refrigerators.

The law was originally passed under pressure from the temperance
movement who opposed "free pour" because it created the opportunity
for bartenders to "sweeten" a drink. By requiring the liquor to
come from a fixed-sized bottle, portion sizes could be kept under
control.

This worked great for a while. But then social pressures shifted and
economics started happening.
Across the country, the typical size of an alcoholic beverage
started shrinking. But South Carolina's drink size stayed the same,
because the size was mandated by law.
The result: absurdly huge drinks, like the Long Island Iced Tea
that comes in a pitcher.
South Carolina ended up with the stiffest drinks in the
country, exactly the opposite of what the original drafters intended!

The very people who helped West pass the minibottle law as a way
to limit consumption -- the teetotalers and religious conservatives --
are now helping Hayes's bid to abolish the law.

The effort to repeal the law has been going on for many years,
but somehow it always falls short. Maybe this year...

This mode exists for the ultrageeks who want to put a tiny little CPU
meter in the corner of the screen. To go back to normal mode,
just double-click a blank space in the border.

This is one of those geek features that has created more problems
than it solved.
Sure, the geeks get their cute little CPU meter in the corner,
but for each geek that does this, there are
thousands of normal users who accidentally go into Tiny mode
and can't figure out how to get back.

Sometimes they'll speak English to me even before I say anything. (My comparative silence probably gives me away as a non-native.) Other times they'll notice that I'm speaking with a bad accent and switch to English. Some humor me by speaking Swedish until I finally break down and ask (in English), "I'm sorry, could you say that again?" because they're speaking Swedish too fast for me to keep up.

When dealing with non-Swedes, the default language is English. Not because people from English-speaking countries are so prevalent, but because English is everybody's second language. If a German and a Russian meet, they'll talk in English.

In other language news: On the flight out of Seattle, a variety of newspapers were available and I grabbed what turned out to be a Norwegian paper by mistake. But it turns out that if you know Swedish, you can read a Norwegian paper anyway; it's no big deal.

Yesterday, one of Jonathan's corridormates listened patiently as I said "sju" ("seven") over and over again until I could get the sj-sound right. It went like this:

You may have noticed that Windows doesn't use Ctrl+Alt
as a keyboard shortcut anywhere.
(Or at least it shouldn't.)
If a chorded modifier is needed, it's usually Ctrl+Shift.

That's because Ctrl+Alt has special meaning on many
keyboards. The combination Ctrl+Alt is also known as AltGr,
and it acts as an alternate shift key.
For example, consider the
German keyboard layout.
Notice that there are three keyboard shift states
(Normal, Shift, and AltGr),
whereas on U.S. keyboards there are only two
(Normal and Shift).
For example, to type the @ character on a German keyboard,
you would type AltGr+Q = Ctrl+Alt+Q.
(Some languages, like Swedish, have a fourth state: Shift+AltGr.
And then of course, there's the Japanese keyboard...)

Most international keyboards remap the right-hand Alt key
to act as AltGr, so instead of the finger-contorting Ctrl+Alt+Q,
you can usually type RAlt+Q.

Some Aussie ex-pats developed a list of “You know you've been in Sweden too long when...”. My friend who is acting as my host (and who is himself a U.S. ex-pat) says that the list is astonishingly accurate, and that your reaction to it goes through several phases.

Confusion. You don't know what the list is talking about.

Amusement. You know what the list is talking about and you find it funny.

Realization. You find yourself agreeing with the statements on the list.

Acceptance. This list isn't funny. It's just the way it is.

For example, my friend explained points 73 and 74 to me. In Sweden, when the temperature reaches a certain never-explicitly-stated-but-everybody-somehow-agrees-on-it point, it officially becomes summer and you are not allowed to wear winter clothes regardless of the actual temperature. Similarly, when the temperature first dips below a certain point, it officially becomes winter and you are not allowed to wear summer clothes.

My friend woke up one morning and noticed that it had dipped below freezing overnight. But it was warm when he got up, so he dressed appropriately for the temperature. What he didn't realize was that 0C was the secret "winter point". Everybody was bundled up for the coming blizzard, even though it was no longer freezing outside.

I myself experienced a variation on 249. I was in Åhléns and there was a sign that read, "If you don't see your size, please ask for it." (Paraphrased from Swedish.) So I asked a passing employee if they had this particular pair of shoes available in a size 36. The employee got rather annoyed at me and told me to go stand in line at the register.

Because if you want somebody to help you, you have to stand in line at the register and wait your turn - even though you aren't actually buying anything yet. When you reach the front of the line, the register person fetches the shoe you want. Fortunately, I was satisfied with the shoe she retrieved for me without trying it on (I was buying it for somebody else). If I had to try it on for size, I probably would have had to stand in line a second time.

One of the "Adjusting to life in Sweden" books I read mentioned that the intense "nobody is better than anybody else" attitude in Sweden means that customer service is an oxymoron. If nobody is better than anybody else, then service personnel have no obligation to help you. The book noted, "This may take quite a bit of adjustment for people who come from other countries. Except the British."

I didn't believe it until I saw it myself: My friend asked me to bring red and blue plastic cups to Sweden because the U.S. students really miss them. It's true. Here's why. (This needed to be explained to me because this was a part of U.S. college life I missed out on.)

These cups are valuable because they are opaque. This allows you to walk down the street with a beer without anybody (anybody = police) being able to tell that you have a beer in your hand, which would otherwise be a violation of open-container laws or evidence of underage drinking. As a result, the plastic cups have been synonymous with college drinking.

When you're dealing with application compatibility,
you discover all sorts of things that worked only by accident.
Today, I'll talk about some of the "creative" ways people
mess up the
IUnknown::QueryInterface method.

Now, you'd think, "This interface is so critical to COM,
how could anybody possible mess it up?"

Forgetting to respond to IUnknown.

Sometimes you get so excited about responding to all these
great interfaces that you forget to respond to IUnknown itself.
We have found objects where

In reality, some implementations mess up and fail the second call
to CoCreateInstance. The only way to create the object successfully
is to create it with the IShellFolder interface.

Forgetting to say "no" properly.

One of the rules for saying "no" is that you have to set the
output pointer to NULL before returning. Some people forget to do
that.

IMumble *pmbl;
punk->QueryInterface(IID_IMumble, (void**)&pmbl);

If the QueryInterface succeeds, then pmbl must be non-NULL on return.
If it fails, then pmbl must be NULL on return.

The shell has to be compatible with all these buggy objects because
if it weren't, customers would get upset and the press would have
a field day. Some of the offenders
are big-name programs. If they broke, people would report,
"Don't upgrade to Windows XYZ, it's not compatible with
<big-name program>."
Conspiracy-minded folks would shout,
"Microsoft intentionally broke <big-name program>!
Proof of unfair business tactics!"