What is the purpose of Beta2?


So i thought i would talk a little about what it is we want to get out
of our Beta2 release.  Currently, every team inside the developer
division is at a different point in their release cycle.  Some
teams are trying to finish up all work, whereas some teams have a lot
of work still to do by the time we ship.  This is completely
ordinary and is generally determined by how much work the different
teams wanted to do and how risky they thought it was to be doing work
late in the game.  Now certain teams are what we consider
“platform” teams.  They work on the components that we consider
pretty critical and we want to nail down earlier because the risks of
changing are pretty high.  One example of this is the C#
compiler.  Many teams depend on this feature and it’s imperative
that it not undergo massive changes that would then cause pain. 
Other components, like the C# Language Service have very few people who
depend on us.  So it’s safer for us to shut down later because we
don’t risk other teams if we change our plans.  Basically, when
determining the set of all dependencies, the components that have lots
of dependencies on them would be safe to call “platform” components,
and the rest are called “VS” components.



Now, that said, even though we’re a “VS” component our team is trying
to do very little feature week post Beta2.  And, in actuality,
we’d prefer to do none at all.  Beyond the Implement-Interface
work i mentioned in an earlier blog, we haven’t really done anything
else that you won’t be seeing in Beta2.  By not changing our
feature set in this way, it lets focus on stability and performance of
the features we already have.   We feel that this gives us
the best chance to deliver the best C# experience to you.



Now, here’s why the above is important: If you have tried out Beta1 or
you try out Beta2 and you want something to be changed YOU NEED TO TELL
US
.  I cannot stress how important this is.  We are pretty
darn happy with the product we’ve created and how our current features
work.  So if you use something and go “damn, that’s stupid, but of
course they’re going to fix it” you need to back up and realize that
that isn’t the case.



So, back to the original question.  What’s the purpose of Beta2?  Feedback! 

Feedback, Feedback, Feedback, Feedback,

FEEDBACK!!! 
We’re showing you what we want the final release to be like and this is
pretty much the last chance for you to tell us if it’s good or
bad.  If it meets your needs or not.  If our defaults suck or
not.  If there’s something that’s going to make our break your
decision to go with VS2005.  etc. After Beta2 it’s pretty much all
over.  We ship the final version in a box and that’s it until the
next release or service pack.  



At the end of the day, what you need to realize is that we are very dumb people. 

Here’s a few ways that we’re dumb:

  1. We’re really bad at knowing how every single user is going to use
    our product.  Despite all the research we do; all the design
    reviews we do with customers; all the councils we communicate with,
    etc. etc. etc.  we still don’t know exactly how you will use our
    product.  And, it’s quite likely that there are ways that you
    could help us make it better for you and all other users.
  2. We’re very good at becoming complacent with the job we’ve
    done.  We’ve been using these features for months or years now and
    we’ve gotten so used to them that it’s hard to think objectively about
    them.  Bringing in a fresh set of eyes is invaluable to clearing
    up the cobwebs that are blinding ours.

You need to help us not be dumb!  Together we can make the C#
experience even better.  Feel free to contact me about anything,
or go to http://msdn.microsoft.com/ProductFeedback to enter an
issue.  No topic is too minor, and through your contributions and
the community’s feedback on those contributions we’ll know what to do
for you.



Thanks very much in advance!


Comments (20)

  1. Fizgig says:

    Great! Now please give us beta2 so we can make some feedback 😉

  2. sam says:

    I love C# & especially 2.0, basically you guys do an amazing job, but i have only one

    wish, namely support for ranges in a switch statement i.e. case 1 to 10.

  3. CyrusN says:

    Fizgig: Good point. Hopefully soon 🙂

  4. CyrusN says:

    Sam: There’s pretty much no chance that language changes will go through at this point since they’re incredibly expensive to make (remember there’s a standards committee that has to agree on them).

    Can you give a good case for why this is really important and why if/elses aren’t good enough for you?

    If so, let me know and we’ll add a ProductFeedback suggestion for it.

  5. DavidMKean says:

    Cyrus,

    That’s all very well but we are getting knock backs (because it is too far into the product cycle) for features that we have asked to be fixed from Beta1. So I don’t know what our chances are getting things fixed from Beta2.

  6. CyrusN says:

    David: "

    That’s all very well but we are getting knock backs (because it is too far into the product cycle) for features that we have asked to be fixed from Beta1. So I don’t know what our chances are getting things fixed from Beta2."

    This is absolutely true. We’re not going to fix everything that is presented to us. It’s definitely a system where we work with teh community to determine what’s going to end up being done.

    That said, a whole ton of bugs were fixed based on Beta1 feedback. I dont’ know what the numbers look like, but i’ll try to find out. I know that personally I’ve fixed quite a lot of Beta2 feedback bugs 🙂

  7. So I’m playing around with the BitArray class in .NET.  And I run into a problem: my program thinks…

  8. DrPizza says:

    Are VS.NET betas instrumented?

    If not, shouldn’t they be?

  9. CyrusN says:

    DrPizza: " Are VS.NET betas instrumented?

    If not, shouldn’t they be?"

    Yup, they are instrumented. But that only goes so far. It gives us really good data (if you opt in), but still doesn’t tell us everything we want to know.

    And, in the end, instrumentation is pretty ambiguous and very open to a lot of forms of interpretation. So we find that acutal communication is invaluable in conjunction with that.

  10. Dr Pizza says:

    Is there anywhere any description of exactly _what_ the instrumenting records and sends?

  11. James Barnes says:

    So I’m guessing that Beta 2 is a ways off from release yet?

  12. chris says:

    The problem with Beta2 is that it is about one year too late.

    I would prefer if you could

    – decouple the runtime from VS

    – make VS support multiple (including future) runtimes

    – release the runtime ON TIME!

  13. CyrusN says:

    DrPizza: You should send that request to James Lau: http://blogs.msdn.com/jameslau/

    He runs entire VS data collection program.

  14. CyrusN says:

    James: " So I’m guessing that Beta 2 is a ways off from release yet?"

    Not sure why you’re assuming that 🙂

    Did i imply that it was a ways off?

  15. CyrusN says:

    Chris: " The problem with Beta2 is that it is about one year too late.

    I would prefer if you could

    – decouple the runtime from VS

    – make VS support multiple (including future) runtimes

    – release the runtime ON TIME!"

    The runtime woudl have been released at this time no matter what. In order to support things like:

    1) Generics

    2) Edit&Continue

    3) Hosting the runtime within processes like SQL Server.

    The timing of when the runtime was released was a big part of determining when VS would be released.

  16. Hector says:

    I am assuming that this will be released to subscribers only? If you want feedback then a good way will be to release it to students also through AA. Not sure how that will work but as a software engineering grad student I know I certainly will like to play with it

  17. CyrusN says:

    Hector: These shoudl be available through your MSDN AA advisor. Please contact them for getting access to the full VS release.

    If you can’t get that access, then you should definitely try out the express skus, which you can get with MSDNAA access.

    http://lab.msdn.microsoft.com/express/

Skip to main content