Early word on EU 'choice screen:' May not be random, may not be obvious

As IE6 and IE7 users throughout Europe turn on their Windows Vista- and XP-based computers to notice, for the first time, the opportunity to switch Web browsers from Microsoft Internet Explorer to something they may have never heard of, their manufacturers are preparing for an influx of new customers.

But they may also be preparing to lower expectations just in case the market share numbers for Firefox or Chrome or Opera or Safari fail to swing wildly positive overnight. Last week, Mozilla launched its opentochoice.org blog, ostensibly to help spread the word about the impact the choice screen may make on European computing habits. On Friday, however, the blog posted the results of a six-country, 6,000 respondent consumer poll conducted by advertising research firm Ipsos MORI.

The firm itself has yet to post detailed results, though the question it posed to consumers may as well have been an advertisement: "Were you aware that the European Commission has adopted a decision ensuring the millions of Microsoft users across the European Union who have Internet Explorer installed as their default Internet browser will now have to be offered the chance to choose the browser they want to use via a choice screen which appears on their PC/Laptop screen?"

Only 30% of respondents in Poland answered yes to the above question, with 19% of Spaniards replying in the affirmative. Results for participants in France, Germany, Italy, and the UK fell in-between.

Friday evening, a member of Mozilla's new blog with the handle Pony wrote candidly about being suspicious that the choice screen was some kind of malware: "I wasn't aware of this. The browserchoice window popped up on my laptop today and I was pretty suspicious and tried to close it down. There wasn't an explanation of why it was there, and it was so bland that I thought it was some dodgy pop-up trying to trick me into downloading something bad. I even looked up browserchoice.eu on a Whois to see who owned it, but still thought it was dodgy as I didn't see quite why Microsoft would own a domain like this rather than use their well-known "trusted" microsoft.com. Feel a bit stupid now -- I've been meaning to download Firefox for ages."

The final browser choice screen, available from browserchoice.eu

The final browser choice screen, available from browserchoice.eu.


In order to allay concerns from browser makers that Microsoft would give itself top billing on the browser screen, the company promised to the European Commission that it would randomize the order of the top five browsers in the first panel, so that IE8 would not always appear first. Right away today, there were complaints in some circles that Microsoft wasn't really randomizing the order.

Those complaints were given some credence when the Slovakian tech site DSL.sk ran tests on the underlying JavaScript code for the browserchoice.eu Web page, and determined that the distribution of browser brands among the top five slots was not even. Despite the translated page appearing to say the test was run in Internet Explorer, it's difficult to avoid seeing DSL.sk's screenshots of the test clearly depict Google Chrome as the browser.

These numbers were probably impossible to resist for IBM software architect Rob Weir. You may recall Weir from his prominent involvement in the ODF/OOXML debate three years ago. Weir was an active opponent of Microsoft's Office XML standard being approved by the ISO, though throughout that episode, he always accepted the facts in front of him.
Over the weekend, Weir put his mind to the task of investigating the claims of unfair distribution. As he discovered, Microsoft's code uses the Math.random() function of the standard JavaScript library. But rather than craft a proven shuffling algorithm, architects of the browser screen apparently took the simplest option: filling the array sequentially {0,1,2,3,4}, and then randomly swapping their locations with one another left or right five times. Imagine a poorly-shuffled street corner shell game, and you get the idea.

"Microsoft...fell for the well-known trap," Weir wrote. "What they did is sort the array, but with a custom-defined comparison function. JavaScript, like many other programming languages, allows a custom comparator function to be specified... This is a very flexible approach, and allows the programmer to handle all sorts of sorting tasks, from making case-insensitive sorts to defining locale-specific collation orders, etc...Since Math.random() should return a random number chosen uniformly between 0 and 1, the RandomSort() function will return a random value between -0.5 and 0.5. If you know anything about sorting, you can see the problem here. Sorting requires a self-consistent definition of ordering...All of these statements are violated by the given Microsoft comparison function. Since the comparison function returns random results, a sort routine that depends on any of these logical implications would receive inconsistent information regarding the progress of the sort. Given that, the fact that the results were non-random is hardly surprising."

So Microsoft's solution, once again, is somewhat inelegant. But who does it benefit? Not exactly Microsoft, Weir discovered. The distribution of the random pattern should give each browser 20% distribution on every slot, if it were fair. As it turns out, IE, Firefox, and Safari all get about 25% distribution in the #1 (leftmost) slot, with Opera #1 16% of the time and Chrome #1 9% of the time. More often than any other slot, IE is positioned #2 (28%), Firefox is positioned #2 (28%), Opera is positioned #3 (26.4%), Chrome #4 (38%), and Safari #5 (53%).

Although it's tempting to blame the randomization function in IE's library, Weir blames the developers of the browserchoice.eu Web site: "So given the above, we know two things: 1) The problem is real. 2) The problem is not related to a flaw in Internet Explorer."

11 Responses to Early word on EU 'choice screen:' May not be random, may not be obvious

© 1998-2024 BetaNews, Inc. All Rights Reserved. Privacy Policy - Cookie Policy.