This morning I had two emails from two different customers who were ‘shocked’ (my exaggeration) that one of our products (West Wind Web Store) did not have a Whidbey version ready to go at this point.
This isn’t the first time this has happened either, and demonstrates the point I was trying to make a while back in my Beta Perversion post. I’m not the only one in this either. Kevin McNeish, who makes the Mere Mortals Framework for .NET and with whom I collaborate on his framework at times and a few other things, mentioned to me the other day, that in his sales and consulting he sees the same sort of ‘early adopter’ mentality. For him it’s even more extreme as he mentions that he’s had several clients doing real business work with Beta 1 of Whidbey.
Even more shocking of course is the fact that the existing code runs fine in .NET 2.0. But that obviously isn’t enough <g>…
Now, I’ve spend some time with Whidbey Beta 1 (and several versions since) and while I am, as most people impressed by many of the new features in the framework and the tools, this stuff just is not in a position to be called stable. Anybody who sets out to start building full applications against Whidbey at this point is setting themselves up for a world of pain retrofitting code against a moving target.
I’m seriously at a loss at what would possess anybody to go this route for production code. I’ve had to force myself to create a few small applications (maybe applets is a better term <g>) with Whidbey, using new features. These apps were small but I tried to make a point in not using any of my V1.1 tools, but rather see and use what V2 provides etc. The experience was painful to say the least. In WinForms I spent hours creating two simple forms that use simple business objects. Getting the databinding hooked up etc. and eventually getting tripped up by a number of bugs in the databinding engine. In the meantime a couple hours were wasted. Since this was something I actually needed to get down, I went back into VS 2003 and had those same forms up and running in 15 minutes using my existing bus objects etc… In the end it was easier to get Whidbey to work with my old controls (Sandbar instead of the new toolbars, my databinding controls than the new build in DataContainer etc.) , but even then the experience took much longer. Because much of the stuff was broken beyond usability there’s not even a chance to provide any useful feedback.
I also meant to create a SmartPhone front end for this application. The SmartPhone support in Whidbey is non-functional (through February CTP anyway). It just doesn’t work at all, which is pretty sad, given that it was broken in Beta 1 and still is 6 months+ later.
The WinForms app started in Beta 1 stopped working in the November CPT. After spending a couple of hours fixing it to work with this version, installing the February CPT let me know in no uncertain terms that a bunch of objects I was using would be replaced by different objects. Another couple of hours renaming and fixing up properties etc. Remember now, please, these are nearly trivial applications with a few Forms.
The experience on the Web end isn’t much better. With the constantly changing compiler models things break there as well between builds. The framework too is constantly throwing out stuff that was originally planned for .NET 2.0.
For me personally, this kind of thing takes the fun out of it. Playing with Whidbey has been an experience of going into it with some excitement, and then within a few minutes of buggy designers and sluggish performance being reduced to a struggle.
In the meantime the shipping dates keep on slipping. Whidbey was announced nearly two years ago, with a shipping target of within a year at that time. Two years later instead of a shipping version the original spec is getting trimmed a bit.
I’m not complaining about the time it takes really – I am more concerned about a stable and optimized product. But I am concerned about the way the product is pushed on us as developers without being available and giving the impression to some developers that this product is nearly ready to ship. The fact that there are people – excuse me – dumb enough to build production code with these pre-beta builds only bears this out. It comes back to bad communication/marketing from Microsoft and stretching the term beta into something non-descript.
Some of you know who check in at West Wind frequently might have noticed that my writing has slowed down considerably recently. The above has some to do with this. I’m finding that magazines have little interest in articles of the current version. Same with .NET conferences. Submit 1.x or more ‘general’ topics – even if they are unique and your chances of getting picked go down pretty drastically.
Again, I think this is doing a major disservice to the community as a whole. While I think there’s definitely a place to talk about new features, flooding the market with information about unreleased, and more importantly still changing technology is a waste of paper/time. There’s a difference between providing some basic preview information about new functionality and providing InDepth content. For crying out loud, there V2.0 are books out that don’t claim to be beta books (for example Dino Esposito’s ASP. Net 2.0 book). Surely that book was pushed out expecting to be close to a release. Instead that book will be hopelessly out of date by the time .NET 2.0 ships.
I’ve long had a policy as a writer to not write about advance technology unless it’s getting close to final status. So here I am sitting on a fence, damned if I do, damned if I don’t. I’m holding off writing or doing much with Whidbey until we have something that will resemble a final release.
I wish those that are working on their production 2.0 code good luck – you obviously have too much time on your hands…