Click Once deployment holds promise as a way to combine good features of the web and the desktop. Many developers who have looked at promising technologies know that there is frequently a sting in the tail. After spending a lot of time evaluating a new technology a fatal problem is often found. (Sometimes called a gotcha.) Here's a summary of my rough analysis, it might help develop your own viewpoint.
When to ClickOnce
First Published 22 September 2004
Last Edited 21 February 2006
A lot of applications are deployed as web sites because the developers have tried desktop deployment and find it unacceptable. Despite the superior speed and responsiveness of desktop programs the effort needed to deploy them simply kills the project. So even though desktop might seem much better the idea is trimmed down, and maybe dumbed down, into a website.
.NET has had a technology intended to do this from the start. It has evolved from the early no-touch-deployment to Click Once available in the second edition. That evolution seems to have addressed shortcomings, but, I haven't yet noticed wide deployment. Why?
Rather than spend a lot of effort evaluating Click Once as I have with other technologies (like ASP, WebClasses and Java Applets) I have looked at the basics. Simple demographics. In other words, how many Internet users could use it today and how do I suspect the answer will change over time.
In my low effort evaluation I've noticed:
- How rapidly the .NET CLR is spreading through a general Internet population. (The data is taken from analysis of browser strings from an web server.) (I've already decided that version 2 is what interests me.) Though it's early days the information is a good start.
- To get an idea of where it might go I've estimated how fast .NET 2 might spread in this browser population. This is represented in the three lines on the graph. These represent a high rate of growth, a low rate and an intermediate. (There is no attempted to account for changes like new operating systems...) This crude analysis is good enough (for the present).
Conclusions
Given what interests me...
- For a general population, like this, .NET 2 Click Once deployment is not yet a good idea.
- There may be specialised audiences where the technology is viable, or soon will be. Thoughts that come to mind include: the .NET development community, intranets and applications which are compelling enough to persuade users to install .NET.
- If 60% availability justifies use, it might be 2011 at the earliest before this is ready for prime time. Given the slow but steady uptake of new operating systems etc. that date could be sooner. (An earlier (rougher) analysis (July 2005) was more optimistic.)
Further Information
If you'd like to read further...
- Information about some of the issues. The problems in the early version include limited storage capacity. Look at an FAQ (in no touch format) and an article.
- For a discussion about using the technology available in .NET 1.1 see a DevX article on .NET updater application blocks.
- Details of the technology (Microsoft July 2002).
- A blog from Neno Loje, that covers Click-Once from time to time (this is an XML feed suitable for your aggregator, not an HTML page).
- A different approach from Rockford Lohtka the NetRun utility.