The Difference between CTPs and Beta Releases

In response to my last post announcing the WinFX Runtime Components November CTP, kettch posts the following:

"this is not a beta this is a ctp. CTP's are by their very nature broken. With beta releases there is an effort made to fix some bugs and at least get things somewhat stable, with the CTP there is not such guarentee."

I just wanted to respond to this comment and expand a little on the difference between these releases.

Firstly, I wouldn't go so far as to say that CTPs are "by their very nature broken", but rather I'd say that they're of indeterminate quality. With beta releases, we spend a period of time stabilizing builds, moving it into "escrow" (where we try and keep the core components at a known quality level and thereby better understand where the biggest bugs are), and generally getting help, release docs and other pieces into a good state. I'd go so far as to say that we go through a more rigorous testing process for our betas than some companies go through for their final release. Don't get me wrong - I'm not saying that our beta builds are bug-free or that they are ready to release, rather that we've gone through an effort to bring the build into some kind of consistent state and know what the build quality is.

On the other hand, CTP releases are pretty much just a snapshot of the daily build at a given point. Obviously we do some basic testing to verify that the build isn't broken, and some teams and products go a step further and do a mini-stabilization pass, but in general you shouldn't make any particular presumptions about the quality of a CTP. In the case of the release we've just announced, it so happens that this release occurs midway through a bug push, so the general quality is pretty good, but there are a couple of nasty gotchas. From the WPF side, there's a nasty bug that causes a performance regression for 3D graphics: it's significantly worse than previous releases (the bug is fixed now, by the way), and there's also an issue with playing multiple videos simultaneously. Unfortunately, that's the penalty one pays in return for getting more transparency into the current state of the product - we're airing all our dirty laundry with builds like this. Those two bugs I mentioned above would almost certainly have been showstoppers for a beta release, but since the overriding goal of the CTP releases is to minimize disruption to the development team (and thus to the schedule), it's better to live with them and move on.

None of this in any way reduces the fact that we want to help you out if you're experiencing blocking issues with installing the WinFX Runtime Components or you're hampered from making progress - of course, one of the benefits of releasing CTPs from our perspective is to get feedback and new bug reports. Some good web-based forums to go to for reporting issues or submitting feedback are here: