I’m really excited to see that CodePlex just added support for ClickOnce!
I’ve worked a few open source client applications for Windows in both WPF and Winforms, and found that deployment – especially updates – was always the most painful part. It’s been a big drag on Witty deployment lately, so much so that I’d pretty much decided that any open source client applications I was going to work on in the future needed to be Silverlight Out-Of-Browser applications for the ease of deployment alone. Silverlight Out-Of-Browser is still a very interesting option for other reasons, like cross-platform support, but it’s nice to evaluate based the best end-user experience without having to make compromises based on deployment limitations.
ClickOnce is a great way to deploy small, open source applications:
- It’s web-based
- It handles auto-updates really smoothly
- ClickOnce apps install per-user and don’t require administrator permission
The problem has always been that there was nowhere that offered free, simple ClickOnce hosting - free and simple both being two essential ingredients for open source development. If you wanted to support ClickOnce, you needed to set up and maintain two presences for your application – one to handle the open source project, and another to host the ClickOnce installation. That adds friction throughout the development process – for instance, when you add a new developer, they need FTP permissions on specific folders on the ClickOnce server as well as on the project hosting server. That kind of friction can really slow things down when you have very limited hours of everyone’s time.
CodePlex seemed like a natural fit for this, as a Microsoft hosted open source hosting solution. It’s no surprise that ClickOnce support was the number one requested feature on CodePlex.
All that to explain my excitement at seeing that CodePlex had officially added ClickOnce support today! Matt Hawley wrote up a blog post describing how to publish a ClickOnce release on CodePlex. I’ll take a look at setting that up for Witty and Data Dictionary Creator, and other open source apps I work on in the future.
In addition to the benefits to CodePlex users, I think this will be a boost to ClickOnce as a technology, for two reasons:
- Increased use will (hopefully) more public information and more development, just like Visual Studio dogfooding did for WPF
- Users will see ClickOnce and become familiar with it
- That percentage of new ClickOnce users who also happen to be pointy haired bosses will ask for it
What do you think?