Usability Disaster Story

by Miguel de Icaza

In December, someone asked me about how many Mono downloads we had per month to estimate the size of Mono users. With software like Mono the download numbers do not mean much, because most of our users get their software through their distribution, package channels or as a bundled executable.

Since we are short on space on the machine hosting the files, we do not keep logs for too long, they are rotated and discarded pretty quickly, but we could at least do some guesswork based on a week worth of downloads. The data would not have been very useful, as this story takes place on December 27th, but I was still curious.

What I discovered with horror as I looked through the logs was that people using Windows and MacOS were downloading software that was two years old. Mono 1.1.7 (released sometime in May of 2005) was the most popular download.

Only 5% of the Mac downloads were actually getting the latest version, 95% was downloading this two year old version. I don't have my notes handy for Windows, but they were similarly abysmal [Update: found the notes, they were 95% as well].

The Linux downloads for RPMs were mostly fine (probably because they had to select the architecture from a separate list). But a whole 1/3rd of the people downloading the Mono "Universal Installer" were getting the wrong Mono as well (Update: clarified).

Using the referrer logs, we tracked down a few problems to people that had linked for their software directly to a particular version of Mono, but this could not explain the popularity of this aging Mono 1.1.7 release, and the logs were very odd, people apparently were selecting this from our list of options.

This made no sense.

Can you spot the problem?

I clicked on our links, they were fine. They downloaded the proper software, the logs matched the download. I was puzzled.

Only after a while I realized what was going on:

Since we are using MediaWiki for our web site and we were adding cute little icons for each platform, clicking on the image actually took users to the page for the image. In the Windows case, this was the page:

Which happens to contain the image, and some automatically generated content for the image. Some of the generated content lists all of pages that *link* to the image:

Now, that looks like a messy page, but most users were picking the largest number they found listed there, which happened to be an old legacy page of ours for the release "1.1.7". Going to this page, would be a very similar download page to the main one, and people at this point figured out "do not click on the image, click on the text". Except now they were clicking on the downloader for this ancient release.

I have no idea for how long this has been going on, but this is a colossal disaster.

We came up with a quick fix, luckily, you can replace the markup [[Image:Blah.png]] in MediaWiki with [url] and if the url points to an image, it will insert an unclickable image into the page.

But the quick fix could not address another problem: we probably had the worst download page in the history of human kind. It was incredibly bad, and you can still see it on the archives.

In the past few weeks, we wrote the beginnings of a new download page. Users will now be directed to this page, you can see it here. Thanks to the whole team in Provo that put together this new system and the folks in x-m-l that provided feedback on it.

There is still some work left to do on it, but the entry page is no longer the disaster that it was. Luckily since the correctly on December 27th or so, people have finally been downloading our latest Mono.

We of course feel terrible to all of the 95% of the users that wanted to try Mono on Windows and the Mac and ended up using a two year old version of Mono.

Posted on 24 Jan 2008

Free Software Users Taxonomy

by Miguel de Icaza

For people in the Windows world, Bruce Byfields' A Field Guide to Free Software Supporters will help them understand the various groups that make up the free software/open source software movement:

When you look, there are at least seven different types of FOSS supporters.

To outsiders, these schools of thought are more similar than different. In the same way that many Europeans see few real differences between a New Englander and a Californian, outsiders may see little to distinguish a Softcore Advocate from an Activist.

It is a great piece.

This is a great starting point for anyone that is getting involved in FOSS. Understanding that these groups exist and their positions will make it much easier to understand the dynamics of development and advocacy that you will run into while working with the FOSS community.

I feel that this article could be expanded on in a few areas, but eventually this could become a great taxonomy of the FOSS movement.

For instance, I think that there is room to dissect the editorialist advocate. This is the do-as-I-say-not-as-I-do advocate which will praise and preach open source, freedom, open systems, open standards but yet always ends up using the latest-and-greatest proprietary, DRM-enabled, crypto-locked gadgets and software.

Bruce has written a couple of other pieces that I liked on a similar subject: Conspiracy Theorists and Free Software and his follow-up Writing About Conspiracies essay.

Posted on 23 Jan 2008

New Mono Packages in RPM form

by Miguel de Icaza

Last year we ported various ASP.NET Starter Kits and we also started an effort to package popular Mono and .NET-based software in easy to install RPM packages using the OpenSUSE build service.

The OpenSUSE build service allowed us to submit source packages with a specification on how to build it, and get RPM packages for various Linux distributions and various versions of those distributions. Currently we support Fedora, OpenSUSE and SUSE Enterprise.

ASP.NET Starter Kits

The starter kits were a useful test of Mono's ASP.NET implementation, and we routinely use these for QA before we make a release.

When we did the port of these applications, this is what we did:

  • Switch the database to Postgress (so it is easier to test on Linux).
  • Cooked up a policy that our ASP.NET applications should follow to integrate with the system (Apache or FastCGI and our xsp engine). The docs are currently here and we are going to migrate them into our main server.
  • Integrate the application with the system, you can install and remove ASP.NET apps using the mono-asp-apps command line tool.

RPMs of the Starter Kits are available from the Mono:Community directory from the build service, we have packages for various distributions there (OpenSUSE, Fedora and SUSE Enterprise).

The OpenSUSE 10.3/noarch (platform independent, that means, they do not contain any x86 code) packages can be downloaded from here:

There are of course many new starter kits published at, and someone (hint, hint) should look at porting them as well ;-)

More Software

Also, over the past few months we have been packaging some other popular Mono-based applications. Packages can be found from the community page as well, some favorites include:

Web Apps:

  • MindTouch's DekiWiki: the GUI Wiki from Mindtouch. The cutest Wiki engine in the world.
  • MojoPortal: one-stop portal software based on .NET.

Hopefully, when it comes to ASP.NET, our recent work on supporting FastCGI with Mono should expand the ways you can deploy ASP.NET apps on your Linux systems (in addition to our Apache support).

Libraries and Tools:

  • gnome-keyring-sharp (access to the Gnome keyring from your desktop application).
  • Google GData's APIs for C#.
  • MySQL 5 connector.
  • The latest NUnit.
  • OpenTF, client and libraries to communicate with Team Foundation servers.
  • The TAO Framework for building cross-platform OpenGL, OpenAL, SDL, Cg, PhysicsFS and FreeGlut applications with C# and Mono.
  • Mono.ZeroConf, for all your Bonjour needs, with tutorials here.
  • Mono.Fuse: support for writing user-level file systems on Linux using C#. A sample is here.

Desktop Apps and Libraries:

  • Banshee with ipod-sharp and podsleuth (the latest versions).
  • Gnome-do, the crazy delicious application starter for Gnome.
  • GBrainy, Jordi Mas' puzzles and training game.
  • WF-Apps: a collection of open source Windows.Forms applications that we use to test Mono's Windows.Forms.
  • Last Exit, the Last.FM player.

Installing the Software

You can either download the individual RPMs from your distribution and have your browser install the software, or you can subscribe your package management software to the repositories.

OpenSUSE users for example, have to type this command:

$ zypper ar -r

Or add it from the GUI Yast tool.

After you have done that, the software collection will be ready to use, and you will be able to search for the new packages and install or upgrade software that we put in the Mono:Community group.

YUM users just need to grab the above .repo file and save it in /etc/yum.repos.d.

Debian and Ubuntu Users

Although the OpenSUSE build system supports both of these platforms, it requires us to create new "descriptions" on how to build the software for those platforms.

So far, we lack the experience and the time to maintain the Debian based packages ourselves.

We would love if someone with Debian/Ubuntu experience wants to co-maintain the packages here (maybe a script to transform the .spec + sources into a debian package can be written?).

Future Directions

We have a long list of things that we want to package for Mono. The only thing that is limiting us at this point is the lack of time (some software needs to be massaged a bit to make it conform to our ASP.NET deployment guidelines, or our Application Deployment Guidelines.

The Build Service is an open service (and its also open source, if you want to host your own build service in the comfort of your own living room).

Hopefully some folks in the community can help us package some of the other pieces of software that we have listed there.


Thanks to our QA team, Marek and everyone else that has contributed to package this software for Mono.

Posted on 23 Jan 2008

As seen on JWZ

by Miguel de Icaza

As seen on JWZ's blog:

outrage fatigue

Posted on 18 Jan 2008

Zing is acquired by Dell

by Miguel de Icaza

Zing, the company that created the Mono-based Sansa Connect has been acquired by Dell and is now offering at a discount price.

They have released a new product for listening to Satellite Radio with Sirius in the US. The Stiletto 2.

Posted on 17 Jan 2008

Obama Fund Raising

by Miguel de Icaza

My friend Nat Friedman is raising funds for the Obama Campaign. If you are an American Citizen or a permanent US resident, please consider donating to Obama's campaign through Nat's fundraiser page (all the money goes to Obama, and you help Nat with his personal fund raising goal).

Although am myself a Kucinichista myself, I also supported Obama's campaign by donating to Nat's fundraising effort.

As readers of this blog know, am not a fan of the policies of the last seven years, and as an extension, not really a fan of the republicans.

On the democratic side, I just can not agree with Hillary on anything.

I have been personally bothered by Hillary Clinton since this March 2003 incident in which she walked out on the Code Pink girls and was parroting the administration party line.

These days those that voted for that disastrous war claim that they were "tricked" into voting for it. But like some comedian said recently, "All these democratic candidates claim that they were tricked into War by President Bush. [...] but if you are a person that can be tricked by President Bush you are not presidential material".

This Flash animation from November 2002 turned out to be prophetic and right on the spot.

Chomsky turned out to be right: September 2002 interview.

Fisk turned out to be right: September 2002 interview.

The French and the Germans turned out to be right as well.

The facts were there for anyone to see.

Nat recently pointed out that Obama did not rush to "support the President" like every other drone did. He made a conscious decision at a time when it was not popular to oppose the crooks and liars at the White House.

Posted on 17 Jan 2008

Writer Strike: Daily Show and the Colbert Report

by Miguel de Icaza

Despite the writer's strike, both the Daily Show and the Colbert Report have been fantastic these last two weeks.

The first couple of days, Stephen seemed to have fall out of shape after this long break, but by the end of last week he was in full Colbert swing.

They have both been fantastic, and am even more impressed now with John and Stephen. They truly are masters of their domain.

Still, a few things are missing here and there. I miss "The Word" segment very much.

Posted on 17 Jan 2008

Good News on File Formats

by Miguel de Icaza

Brian Jones posted two great news today on his blog.

Microsoft has agreed to:

  • Publish their file format specification for the .doc, .xls and .ppt and do this under their Open Specification Promise.
  • To simplify the understanding of the mapping between the old binary formats and the new ones, they will start an open source project to generate OOXML files from the old binary file formats.

These specs and projects are scheduled for February 15th.

The full details are on Brian's Blog. These are great news for all third party implementations that need to interop with those documents.

Some cheering is in order.

Posted on 17 Jan 2008

Joseph Hill Joins Novell

by Miguel de Icaza

Long time Mono contributor Joseph Hill (also an early advocate of Boo, and its integration and use in MonoDevelop) joined Novell today as Mono's Product Manager.

Joseph will be my peer in the PM organization at Novell.

Joseph blogs at Beyond Focus and is currently based in Dallas, but will soon be moving to Boston.

Posted on 08 Jan 2008

GNOME Do Gets Home Page

by Miguel de Icaza

David has setup a web site for Gnome DO, my new favorite app. The one that is helping me move away from the shell.

See some screenshots or his latest screencast.

For Banshee and Evolution integration, you need to download the extra plugins from here.

Posted on 06 Jan 2008

« Newer entries | Older entries »