According to Jason Zander, General Manager of Visual Studio, the answer is "Our goal with both the current and upcoming products is to provide streamlined solutions that increase developer productivity and make developers' jobs easier."
Jason Zander, Microsoft |
In Visual Studio 2008, the goal was to allow developers to do more with less, in 2010 Zander says they are continuing to push the product in this same direction. He sites simplified testing, better performance, easier testing, and other features as ways that Microsoft is accomplishing this.
Some other things learned from Zander include the following:
- There are 14,000 customers for Visual Studio Team System 2008 deploying to over 500,000 clients.
- LINQ is one of the favorite features by customers.
- Things have been added to VS 2008 even after the initial release.
- Client Profile was introduced in SP1. The UI for VS 2010 is redesigned.
- In VS 2010, WPF was used to make improvements to the toolbars and menus.
- In VS 2010, there is a new text editor to allow you to do advanced graphics similar to what you can do in Microsoft Word.
Zander had a lot more to say as well. You can find his direct answers in the Microsoft PressPass Q&A.
I hope some of the goals include putting back the /nologo option for the resource compiler and trying to have at least one tenth of the features that Eclipse has. As a non .NET / ASP developer, moving from 2005 to 2008 was quite dissapointing. No useful new features (and you have Eclipse to look at for examples!), some new bugs & annoyances.
>> "Our goal with both the current and upcoming products
>> is to provide streamlined solutions that increase
>> developer productivity and make developers' jobs
>> easier."
As anybody can tell you, this is an unmeasurable goal. You'll NEVER ACHIEVE it. This is why this was goal for version 2008, and still is for 2010, and still will be for 2015.
Please think in terms of more specific goals and provide those to us. Need to have measurable goals that are sensible, really "solve" customer issues (do you have a prioritized list of what they are!?). One these goals are achieved, they can no longer be the goals for the next version.
You guys have made "continuous improvement" not a design philosophy but a alias for "incremental improvement". Often these improvements fail to even converge!
Ask yourself why does the world still needs to spend time developing and improving Word processors like Microsoft Word! We should figure once and for all what we need, achieve it, and GET OVER IT!
With continuous updates to the tools and even the programming languages, I find that Microsoft is introducing a continuous "problem" (not solutions) of continuous learning curve, code breaks, upgrade costs, lost skill-sets, and so on.
Alok -
Next you'll want cars that last for 20 years.... Don't we all!
Before replying more seriously, let me first say thanks for the feedback.
In truth, Marketing hype always intermixes with new features when companies talk about what is coming in their products. I don't see marketing speak going away any time soon.
More to your comments - Companies do continuous upgrades and fixes because they want to continue the revenue stream. By offering a 'new improved' version, people will give them additional money. It is straightforward business. If Microsoft -- or any other company -- put all the features in at once, then you'd never upgrade.
Of course, it isn't as simple as just wanting money either. It is also "consumer demand". Consumers ask for new features. More importantly, when they ask, they generally want them now - not in three to five years. As such, companies do smaller, more frequent releass so that people can have some changes sooner rather than later.
The final comment I'll throw out as reasoning for this is evolution. Things evolve. What people do changes. Better ways are determined. Hardware gets better. All of these thing impact existing products and force them to evolve too. I remember the days of using 16 colors on the applications I was creating. The days where graphics meant using the extended ASCII characters. Yes, the word processors worked, but I'm glad they've evolved to take advantage of the current hardware capabilities!
I do partly agree with you. But read more:
>> Marketing hype always intermixes with new features
>> when companies talk about what is coming in their
>> products. I don't see marketing speak going away any
>> time soon.
Agreed. I am just taking a small step to reduce it. I found this blog talking of "helping customers improve" completely useless. They need to talk about "what" they are really doing, or talk not at all.
>> Companies do continuous upgrades and fixes because
>> they want to continue the revenue stream
Agreed. They would even love to sell you the same thing twice if they could. (Well, that is close to subscription model for software in principle...)
>> As such, companies do smaller, more frequent releass
>> so that people can have some changes sooner rather
>> than later.
I see this going towards the model followed by anti-virus companies. Every build comes to your machine via automatic updates. Some even take pride in number of updates they deliver per month!
>> Things evolve.
Agreed. But I do not buy THIS argument. Things evolve at a much slower rate than the frequency of software versions. Anti-viruses fall in a different category since new viruses come more frequently.
I do buy the evolution argument as such. Provided the number of updates is commensurate with the speed evolution happens.
You need a new car because cars go through wear and tear. In general, you do change cars based on that wear and tear speed, not 10X more often.
In a nutshell, I am very unhappy that all of these things go totally unchecked for software. Since external parties cannot be checking this stuff, the companies making things should be more responsible.
We humans are intelligent and can hold a lot of knowledge in our brains. Tools and technology changing much faster than speed of evolution (what I called incremental improvement in the name of continuous improvement) are creating unnecessary information. People need to play the catch up game with technology, not just evolution!
Think about it.
Not to generalize to the current economic slowdown, world economy will slowly be heading towards a disaster because people would not want to spend for increment improvements that technology often offers, or the fixes to problems that technology itself created to begin with. Yet, business need exactly that to survive (as you said this makes their bread and butter).
At the end of the day, this directly maps to human intelligence. When moment arrives they cannot think of stuff really new, they end up creating complexity and problems that they later solve.
Best regards - Alok Govil
Alok Govil - Great comments. Thanks for taking the time!
I work for a small out-sourcing company in central Arizona. About 90% of the work I do is still done with VC++ 6.0.
Not because I don't want to use a newer version. Or because it such a great tool (it is MUCH better than VC++ 5.0 but that isn't a sterling recommendation). But because our clients insist upon it!
The problem is related to an excessive number of releases. with release in 2002, 2003, 2005 and 2008, VS 2010 will be the fifth major upgrade in 8 years!
It takes at least 6 months (usually more than a year) to shake out the bugs in a new version and verify that its compatibility/reliability for mission-critical or high-availability or real-time embedded applications development. Add to that the time to re-learn the IDE and you are talking about a large investment of time and resources.
Who can keep up with that?
What is needed is a stable platform with a consistent IDE. That is not what Microsoft is trying to sell us.
I agree with Alok Govil and Martin Goff, as we need better improvement within the features not the speed not more user friendly... Here user friendly means creating WPF applications, which are very very heavy in every aspect, you need better OS, better system...this is all just to give a weblook... I don't think I like this as user...
You are indirectly increasing the cost to customer for hardware and other softwares...
Just stay in one place and improve things there... wondering everywhere and getting new things, fixing the bugs for the same functionality for better look, won't really help... and it comes with memory related problems... you have to keep solving the other problems than improving the functionality...
As Alok said, Think about it...
You should provide more debugging features or developer friendly to make very intelligible applications ...
I am working on Visual C++ for last 11 years... FYI.
at the end, I don't like the concept of AJAX or WPF or WCF... it is all recreating wheel with a new color...