November 14, 2006
@ 05:24 PM

Tag clouds are already a pet peeve of mine because they are a poor navigational interface but it seems some people [who shall remain nameless] have found a way to make them even more annoying. If you look at the Wikipedia entry for Tag Cloud it clearly states

There are two main types of tag cloud, distinguished by their meaning rather than appearance.

In the first, size represents the number of times that tag has been applied to a single item. This is useful as a means of displaying metadatademocratically 'voted' on and where precise results are not desired. A good example of this is, which uses this method as a means of displaying the genre with which an artist or track has been tagged. about an item that has been

In the second, size represents the number of items that have been given that tag. This is used as a presentation of the popularity of the tags and can be indicative of the content they cover, although in most contexts such information is of little use. Interestingly, the more prominent the tag the less information it contains. An example of this is Flickr.

It seems some people have decided to invent a third kind of tag cloud; one where the size of the font is chosen at random and has no relation to the popularity or number of items with that tag. Seriously, WTF people?


Categories: Web Development

November 14, 2006
@ 05:11 PM

I just saw the article College frat boys in "Borat" movie sue filmmakers which states

Two of the college fraternity brothers shown guzzling alcohol and making racist remarks in the "Borat" movie have sued the studio and producers for fraud, saying filmmakers duped them into appearing in the movie by getting them drunk.
The scene at issue in the lawsuit depicts Borat conducting a drunken interview with three college frat boys in a motor home. As the four grow increasingly inebriated, they make racist remarks about slavery and how minorities in the United States "have all the power."
"Believing the film would not be viewed in the United States and at the encouragement of (the filmmakers), plaintiffs engaged in behavior they otherwise would not have engaged in," the suit says.

"They took advantage of those kids for their own financial gain," plaintiffs' lawyer, Olivier Tailleiu, told Reuters.

Fallout from the movie, Tailleiu said, cost one of the students a job at a major corporation and another "a very prestigious internship." The third student involved in the scene did not take part in the suit, he said.

I guess the saying should be updated from "Character is what you do when no one is looking" to "Character is what you do when you think the only peoplelooking are foreigners who live thousands of miles away". As I watched that scene in the movie, I wondered how many people I've known sound like that once you loosen them up with a few beers and no minorities or women are around. My guess is quite a few.

PS:The Borat movie is hilarious and biting satire at the same time, if you haven't seen it you need to watch that as soon as you get the chance.


Categories: Current Affairs

So I got a comment from someone complaining that my embedded video gadget doesn't work when embedding MSN SoapBox video from Internet Explorer 7. So I tried embedding his video on my Windows Live Space [not there now because it starts with a video of Adolf Hitler] and it worked using the same version of IE.

I was stumped for a second until I remembered a recent blog posting by Alex Russell entitled The Virtual Life: IE At Arms Length where he wrote

IE isn’t built like Mozilla or any other browser. It really is down into the core of the OS because many of its behaviors are determined by the available versions of other components. Take, for example, the networking and javascript stacks. These are the cause of some very critical deployment-time bugs, but their behavior is determined by the versions of winsock and the Windows Scripting Host that are installed in the host OS, not the “IE version”. This means that if you’re not running the same version and patch-level of Windows, you’re not running the same browser that your users are, and if you’re not running the same browser, you can’t debug the problem or come up with a workaround. To accurately debug issues, you need to be able to step through OS revs, not just rendering engine+browser chrome updates. And as if that’s not enough, major Microsoft partners maintain their own IE builds. Getting reports of a problem that only shows up on Dells? There’s a reason for that. In cases like this, there’s really not much to be done short of buying a POS dell, but we can at least cover most of the rest of the strangeness we see in the wild with virtualization.

So it looks like I have to figure out what operating system and patches the user has installed.


If this keeps up I'm going to start missing doing C++ development.


Categories: Web Development

November 13, 2006
@ 06:47 PM

The folks behind Microsoft's video sharing site MSN SoapBox have a team blog at You should swing by and say hello. You might learn a thing or two. For example, I found out from the post entitled Spaces and Embedded Video Gadget that one can create a playlist of videos that is displayed when the SoapBox player is embedded in another website. The relevant excerpt is shown below

Dare spent the weekend updating his Embedded Video Gadget to allow Soapbox ideos to play within a Spaces and gadget.  The good news is that the Embedded Video Gadget now allows embedding single videos, as well as multiple videos, such as My Videos and My Favorites. 

The videos you see at the top of the Soapbox Team Blog, are an actual My Favorites example.

This is a pretty sweet feature and one I've not seen used a lot by other video sharing sites. I've been exchanging some mail with the team and they've been pretty good about responding to feedback and sharing information. If you have some ideas for the team or just want to find out how to get an invite to the beta go ahead and leave a comment in their blog.


Categories: MSN

November 12, 2006
@ 03:32 PM

So a few weeks ago I wrote a moderately popular embedded video gadget for Windows Live Spaces which allows you to embed videos from popular video sharing sites on your or Spaces page. Somewhere along the line it seems that this gadget stopped working correctly in Firefox. Specifically click events on the [Preview] and [Save] buttons were not working. After doing some research I came across an article entitled addEventListener attachEvent - Pass parameters to event-function which made me realize that I had to change my code from

btn2.attachEvent("onclick", OnSave);
     btn2.addEventListener("click", OnSave, true); //Firefox
     btn2.attachEvent("onclick", OnSave); //MSIE
I'm pretty sure that the code used to work at one point in time and from this post on Adam Kinney's blog it does seem that the Atlas framework which is what is used by the Windows Live gadgets platform did write a cross-browser version of attachEvent. I wonder if they took that change out due to negative feedback from developers? I guess this is just another example of why I think trying to standardize gadget widget packaging and then expecting it'll lead to interop between gadget widget platforms is an amusingly naive idea. See the discussion in the comments to my post entitled W3C Working on Widgets 1.0 Spec for more context. :)

UPDATE: Kevin Daly just posted a comment in response to this post which links to a blog post entitled DOM events in the Microsoft AJAX Library. The post confirms that negative developer feedback led to a change in Atlas which breaks event handling in Firefox for any app written against previous versions of the Atlas framework as I speculated above. I've just spent 15 minutes updating and resubmitting all my old gadgets to Windows Live Gallery. If you are a gadget developer you may want to check out your code as well. 

PS: Visit to see what it looks like to embed an MSN SoapBox video in your blog.


Categories: Web Development

A couple of days ago I wrote a post entitled Jubilee Thoughts: What is a Podcast? where I requested some feedback on the discussions Torsten and I had been having about what options we should have for configuring the podcast handling features of RSS Bandit. A couple of you responded and we've changed the UI based on your feedback. Below is a screenshot of the Attachments\Podcasts tab of the Options dialog.

When you click on the Advanced button you get the following dialog for configuring special behavior for Podcasts.

The only thing left is to actually design and implement the Podcast queue and/or Podcast inbox. At this rate we should be able to ship a beta of the Jubilee release by the end of the month.


Categories: RSS Bandit

In recent times whenever people compare the quality of search engines they usually focus on the 'relevance' of the search engine results. Over at MSN Windows Live we've taken this seriously and there have been numerous reports over the past year or two about how much our search engine relevance has been increasing. However I've recently been wondering whether 'relevance' is really all that relevant today and there are other factors that I consider more important than whether the most relevant web pages are returned for my web search. Below are examples from Google and Live Search to illustrate my point

  1. Search for "Marvel Ultimate Alliance" on Google

    Note the options to 'Refine Search results' that gives you links to queries for screenshots, cheats and reviews along with finding the most relevant web site that matches the query.

  2. Search for G-Unit in Live Search

    Note the 'Related Searches', list of Top Downloads for the rap group and a link to the G-Unit page on Rhapsody along with finding the most relevant web site that matches the query.

  3. Search for "skate king bellevue" on Yahoo!, Google and Live Search, all of which not only bring up the most relevant website that matches the query but also the business's phone number and address on a map as well.

What I'm getting at is that relevant search results is on the way to being a commodity. Yahoo! search, Google search and Live search all give me pretty relevant search results most of the time. We are at the stage in the world of web search where what will keep a search engine on top or make it rise to prominence if it isn't on top is how much more it does beyond just finding relevant web pages.

This isn't a startling revelation and I'm sure all the folks working at the major search engines already realize this but it was a new insight to me. :)


November 10, 2006
@ 07:32 PM

Greg Linden has a blog post entitled Marissa Mayer at Web 2.0 where he writes

Marissa started with a story about a user test they did. They asked a group of Google searchers how many search results they wanted to see. Users asked for more, more than the ten results Google normally shows. More is more, they said.

So, Marissa ran an experiment where Google increased the number of search results to thirty. Traffic and revenue from Google searchers in the experimental group dropped by 20%.

Ouch. Why? Why, when users had asked for this, did they seem to hate it?

After a bit of looking, Marissa explained that they found an uncontrolled variable. The page with 10 results took .4 seconds to generate. The page with 30 results took .9 seconds.

Half a second delay caused a 20% drop in traffic. Half a second delay killed user satisfaction.

This conclusion may be surprising -- people notice a half second delay? -- but we had a similar experience at In A/B tests, we tried delaying the page in increments of 100 milliseconds and found that even very small delays would result in substantial and costly drops in revenue.

If you are a developing a consumer web site whose revenue depends on the number of page views you get, you need to print out that post and nail it to every bulletin board in your offices. One big problem with the AJAX craze that has hit the Web is how much slower websites have become now that using Flash and DHTML to add "richness" to Web applications is becoming more commonplace. My mind now boggles at the fact that I now see loading pages that last several seconds when visiting Web sites more and more these days.

Below is the graphic that shows up when you try to login to your Yahoo Mail beta inbox.

break dancing dude that shows up when you try to login to Yahoo Mail

My girlfriend watched me waiting for my inbox to show up while the above animated graphic was displaying and joked that they should change the graphic to a tortoise crawling across the screen so you have a heads up about how long it's going to take. :)

Of course, Windows Live services have also been guilty of this as are most of the 'Web 2.0' websites out there. At the end of the day, it's better for me to get to my data as quickly as possible than it is for the experience to be 'rich'. Remember that.


Categories: Web Development

November 10, 2006
@ 07:09 PM

I noticed today that the W3C has a draft spec named Widgets 1.0 that has the following abstract

This document describes widgets. It covers the packaging format, the manifest file config.xml, and scripting interfaces for working with widgets.

The type of widgets that are addressed by this document are usually small client-side applications for displaying and updating remote data, packaged in a way to allow a single download and installation on a client machine. The widget may execute outside of the typical web browser interface. Examples include clocks, stock tickers, news casters, games and weather forecasters. Some existing industry solutions go by the names "widgets", "gadgets" or "modules".

I read the spec and it's unclear to me after reading what problem it is actually trying to solve.  Is this supposed to make the lives of widget developers easier? Doesn't seem like it. Is it targetted at vendors that are building proprietary widget platforms like Yahoo!, Microsoft and Fox Interactive Media (MySpace's parent company)? Not really from what I read. At best, it seems this is trying to change the fact that the primary way of sharing widgets across sites is copying & pasting HTML code you find on places such as MySpace scripts and Video Code Zone by building a more complicated system which hopefully can then be integrated into Web browsers as native functionality to 'eventually' make things easier.

Yeah, right. Good luck with that.


Categories: Web Development

November 9, 2006
@ 11:18 PM
A few days ago there was an article on the BBC News site entitled Zune problems for MSN customers which stated

But in a move that could alienate some customers, MSN-bought tracks will not be compatible with the new gadget. The move could also spell problems for the makers of MP3 players which are built to work with the MSN store.
The problem has arisen because tracks from the MSN Music site are compatible with the specifications of the Plays For Sure initiative. This was intended to re-assure consumers as it guaranteed that music bought from services backing it would work with players that supported it. MSN Music, Napster, AOL Music Now and Urge all backed Plays For Sure as did many players from hardware makers such as Archos, Creative, Dell and Iriver.

In a statement a Microsoft spokesperson said: "Since Zune is a separate offering that is not part of the Plays For Sure ecosystem, Zune content is not supported on Plays For Sure devices." The spokesperson continued: "We will not be performing compatibility testing for non-Zune devices, and we will not make changes to our software to ensure compatibility with non-Zune devices."
Microsoft said that its Windows Media Player will recognise Zune content which might make it possible to put the content on a Plays For Sure device. However, it said it would not provide customer support to anyone attempting this.

On a similar note there was an article entitled Trying Out the Zune: IPod It’s Not in the New York Times today which states

Microsoft went with its trusted Windows strategy: If you code it, the hardware makers will come (and pay licensing fees). And sure enough, companies like Dell, Samsung and Creative made the players; companies like Yahoo, Rhapsody, Napster and MTV built the music stores.

But PlaysForSure bombed. All of them put together stole only market-share crumbs from Apple. The interaction among player, software and store was balky and complex — something of a drawback when the system is called PlaysForSure.“Yahoo might change the address of its D.R.M. server, and we can’t control that,” said Scott Erickson, a Zune product manager. (Never mind what a D.R.M. server is; the point is that Microsoft blames its partners for the technical glitches.) Is Microsoft admitting, then, that PlaysForSure was a dud? All Mr. Erickson will say is, “PlaysForSure works for some people, but it’s not as easy as the Zune.”

So now Microsoft is starting over. Never mind all the poor slobs who bought big PlaysForSure music collections. Never mind the PlaysForSure companies who now find themselves competing with their former leader. Their reward for buying into Microsoft’s original vision? A great big “So long, suckas!” It was bad enough when there were two incompatible copy-protection standards: iTunes and PlaysForSure. Now there will be three.

(Although Microsoft is shutting its own PlaysForSure music store next week, it insists that the PlaysForSure program itself will live on.)

Microsoft’s proprietary closed system abandons one potential audience: those who would have chosen an iPod competitor just to show their resentment for Apple’s proprietary closed system. To make matters worse, you can’t use Windows Media Player to load the Zune with music; you have to install a similar but less powerful Windows program just for the Zune. It’s a ridiculous duplication of effort by Microsoft, and a double learning curve for you.

So how is the Zune? It had better be pretty incredible to justify all of this hassle.

As it turns out, the player is excellent.

On days like this, I miss having Robert Scoble roaming the halls in the B0rg cube. It sucks when you let the press tell your story for you.