I’m a developer who uses Microsoft technology, I have been for over 10 years, and have been a Windows user since 3.1 and before that MS DOS. Before I used DOS, I owned a ZX-Spectrum that was a small home computer with a whole 48k of memory.
When I reflect over these computing years, I have to say something has changed in the way we perceive new products, particularly if they’re Microsoft products. In the early days, any computing progress was welcomed and at times only a select few got access to new and emerging Betas. Things certainly have changed.
Microsoft lately release beta versions into the wild, and people like me adapt and start using them. I had Vista when it was called Longhorn and barely even worked. I used asp.net when it was still called asp+, I had the offical RTM Windows 7 2 months before it launched in New York. I now have Google Wave, and I’m experimenting with Visual Studio 2010.
Companies release beta versions to the public because of 2 main reasons.
- Companies like Microsoft realized that beta versions of their product were getting leaked, because the technically minded wanted more insight into up and coming products. Technically minded people are great at surveying a product, and identifying missing features or finding bugs.
- The deadline for any product is always yesterday, and its nearly impossible to catch and trap all bugs. Its also expensive to pay testers
Testers are a rare breed in all my development experience I have never worked on any product that has been tested to death. If anything most products only undergo about 3-5% of the testing that they should go through. This is why people like Jeff Atwood say – All software sucks. So if we don’t test our products who will? Well usually the client ends up taking on some of this testing, no one admits this though, and the customer ends up just being a frustrated user who reports the odd bug. But why not get software specialists to test products? Along comes Betas – essentially what Microsoft are saying is – HERE GUYS PLEASE TEST OUR PRODUCT!
Not that this is a bad thing – because for this testing service you do get early access to a product that you might otherwise have to wait an extended period of time for. I don’t mind any of this, of course you can always look at it dogmatically and think – “Why should I be testing for them?” The answer is you shouldn’t be, but if you don’t, you can be sure there are 1000’s of other developers out there willing to dedicate their time, so you can be sure this release model is here to stay, and its already become the standard of how software is released.
From a Microsoft point of view – I don’t think they fired their testers in exchange for free beta adapters. I don’t think they had great testing capacity in the first place – hence events like a blue screen of death at the Win98 launch or the utterly useless demonstration of speech recognition that shipped with Vista. So this new model can only benefit the end user.
What I do have a problem with is the negative attitude I face in the industry when wanting to adapt early. The .net framework is the best example I can think of. Version 4 is on the horizon but it seems most companies are still afraid of anything above v2. In my experience I’ve had to really struggle to get guys using v3.1 or v3.5 and because of this, in the time I’ve been using v2 I’ve lost out on all that new experience, and sad to say my LINQ is nearly non existent. Now v4 is coming out, and so all I say is “here we go again”.
Learn as much v4 cool stuff as you want, grab that VS2010 Beta and peek at the cool new language features in C#, but is it really helpful? you can be sure us early adapters will just get frowned at for another 2 years before prudent IT departments stop being afraid of it and brand it as safe to use.
So this is the frustration in being an early adapter, you get into new tech early, and end up having no real use for it until its been screened by the most anal retentive and gets globally accepted. Rinse repeat.