As many of you know, Paint.NET has a built-in updater. Every once in awhile*, it will ping the website to see if there’s a newer version available, and if so it will invite the user to install it. Two clicks of the mouse later and the user now has the latest version. From the server’s perspective, the implementation is very simple: the client just asks for a text file, and that text file is delivered via standard HTTP mechanisms. This text file is called an update manifest, and basically just includes a list of URL’s for the latest stable and beta releases. The filename is built from the following information: manifest schema revision (currently “5”), client Windows OS version and bitness (x86 or x64), and system locale. This gives me the ability to target updates to specific versions of Windows, and to specific languages. For example, when v3.0 was released I was able to make sure that Windows 2000 users were not offered an update that they could not install (“how rude!”).

It also lets me gather simple, anonymous usage statistics.** These numbers don’t give me installation numbers, but rather they give me rough usage data: if someone uses Paint.NET a lot, then they will ping their appropriate update manifest up to 6 times in one month. This is much more valuable to me than raw installation numbers, and definitely much more valuable than website viewing statistics (yes, some people still use Windows 95).

I’m going to perform an experiment here and publish this data. Right here, right in this blog post! I’ll monitor the reaction and go from there.

In total, the update manifest files were downloaded 943,360 times during the month of May. Since the manifest files are usually about 500 bytes, the bandwidth usage is boring. So, let’s break it down by OS and then by locale:

Paint.NET usage by OS










Windows XP



Windows Server 2003



Windows Vista



No surprise that most people are still using good ol’ 32-bit Windows XP. However, it’s very surprising to see that over 10% of Paint.NET users are already on Windows Vista! I personally consider that to be a good thing. Heck, I like Vista. Remembering back to the statistics from about 1 year ago, 64-bit has not made large strides yet, and is still hovering at about 1%. Windows 2000 is not included because Paint.NET v3.0 and newer require Windows XP SP2 or newer. There are even a few people using Paint.NET on their Windows Server boxes.

Paint.NET usage by locale
One of the big pushes for Paint.NET v3.0 was to include translations for languages other than English or German, and boy has that paid off.

Edit: Please note that these numbers indicate what locale Paint.NET is set to, which defaults to the system’s setting. If a translation for the locale is not available, then the user interface will be displayed in English. These numbers do not directly indicate what language Paint.NET is being displayed in. For example, Italian is listed at 2.27% — now, there is an Italian translation available on the forum. But this 2.27% just means that the absolute upper bound for users that have the translation downloaded and installed is 2.27%. The rest have the UI shown in English. For my purposes of analysis, I assume that nobody has downloaded the language packs from the forum (“worst case scenario” analysis makes things that much more dramatic J). I hope this makes things clearer.






















Netherlands (Dutch)






Chinese (Simplified)






Chinese (Traditional)









The rest



Have translations



Don’t have translation



If a row is green, that means Paint.NET ships with a translation for that language/locale. Red means it doesn’t . We’ve got the top 6 locales covered, which is great! Translation coverage has increased from 63% up to 87%***. It looks like our biggest weak spots are translations for Italian, Dutch (Netherlands), Russian, and Polish.

Remember, these numbers only indicate usage for Paint.NET, and only for those clients which have the updater turned on. For instance, I’m not trying to claim that 10% of all Windows users have already upgraded to Vista. Also, there was a server configuration issue that prevented Polish users from being able to download the updater files. The server was trying to load the files as Perl scripts or something. Thankfully, some members on the forum were persistent and it led to an easy fix, albeit half way through the month (May 14th). This means that the numbers above for Polish are way lower than they should be.

So, what do you think? Are these statistics interesting? Should I publish these monthly, yearly, never? More analysis, less analysis? Pie charts? More cowbell?

* Up to once every five days.
** Yes, really and honestly anonymous. I don’t have any IP addresses or host names. I don’t even have access to the actual log files, I just have some stats package on the web server that I have to fumble around in. Privacy was an important consideration when designing and implementing this stuff.
*** Paint.NET 2.5 through 2.72 only had English and German, and 46.49% + 17.25% = 63.74%