Welcome to MSDN Blogs Sign in | Join | Help


Last week I started to tell you about some of the functionality we are building for Visual Studio Team System 2010.  I wanted to elaborate on that some here

I mentioned that only 20% of the code in most business applications is “new” code.  That makes tracking down bugs in the majority of the application code even more difficult to do.  From the design of the application through to the actual writing of the code, one of the most difficult problems has always been that of the bug that can’t be reproduced – the “no repro” bug. There are a lot of factors that drive these types of bugs and we are working to create tools to isolate the issue and allow faster fixes. One way we will do this is through a tool that can specify the exact state of the build used by a tester (what has been checked in, what has changed in source) and allow a comparison to the state of the build used by the developer when trying to reproduce the bug. It is often the subtle differences between these two that create the no repro state, and a new tool within VSTS 2010 has been designed to specifically address this.

One of the other common blockers to reproducing a bug is the collection of actionable data on the bug. By providing a set of tools designed specifically for testers, we are enabling better documentation of test scenarios as well as more thorough collection of data when a scenario fails. This includes the collection of system data, as well as stack trace information, screen images and even fully indexed video capture of the testers’ screen attached to the bug.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

As developers make changes to the code, it is critical for them to effectively test their changes, not only to prove their code changes work as expected, but also to ensure there is no unexpected downstream effect. By providing developers with a test impact analysis, they can run all the necessary tests to validate the code changes helping developers quickly check-in code with confidence by running only the necessary tests, and reducing the churn created by unexpected breaking failures.

 

 

 

 

 

 

 

 

 

 

 

 

 

Of course, the applications cannot be successful if they are not carefully managed from the initial business problem, through to the code being built, and finally to deployment. Fortunately, we have a powerful collaboration hub at the core of VSTS: Team Foundation Server (TFS). TFS enables all of the roles in the lifecycle to work together on shared requirements, shared code assets, and a powerful build management system.

Customers tell us that one of their biggest challenges is the management of the overall build process and the ability to allow developers and testers to check-in code on a continuous basis. I am happy to report that among the new TFS features in VSTS 2010 are improvements to the source code management system with gated check-in, cross branch history and branch/merge visualization, and distributed build workflow.  These improvements provide the same level of visual capabilities for source code and build management as we provide for architectural design.

More on the rest of the family of products later.

Namaste!

We recognize that developers are more and more doing a broader set of things.  One of the pieces of feedback that we have heard from you is that you do this all the time - write database and front end code in addition to creating database tables.

 

Based on the feedback that we have heard from a lot of you, we are announcing a change in our offerings to create a new integrated Visual Studio Team System 2008 Development Edition that is available now.  It brings the feature sets of Team Development Edition and Team Database Edition together and allows you to take advantage of the core tools for application development as well as the necessary tools for database development.  This will provide you and your development team with an all-in-one tool to make it easy for you.

 

Visual Studio Professional customers can now enjoy the benefits of this combination of team editions by purchasing either a license of Visual Studio Team System 2008 Development Edition with an MSDN® subscription or a license of Visual Studio Team System Database Edition with an MSDN Subscription. Once purchased, the bits will be available on the MSDN Subscriber download site (if you are in an organization with an MSDN administrator, please contact them for access). If you purchase Team System Development Edition (Team Dev + MSDN), you will see Visual Studio Team System Database Edition (Team DB + MSDN) bits in your download list. The MSDN Subscriber site can be found here.

 

Click here to learn more about this.

 

Namaste!

It has been about 10 months since we shipped Visual Studio 2008 and .NET FX 3.5.  The team has been working on a couple of things since then – we shipped SP1 for both VS 2008 and .NET FX 3.5 earlier this Summer.  In parallel, we have been planning for the next wave of product releases and start development on the same.

I want to start sharing with you our vision, focus and priorities as we get full steam into developing the next wave of products – Visual Studio 2010 and .NET FX 4.0.

At a high level, here are the key areas that we are focusing on with Visual Studio 2010 and .NET FX 4.0:

·        Significantly improve the core pillars of the developer experience

·        Support for the latest platforms spanning the client, web, server, services and devices

·        Targeted and simplified developer experiences for different application types

·        Architectural improvements to the tools platform for better modularity and extensibility

These pillars are designed specifically to meet the needs of developers, the teams that drive the application lifecycle from idea to delivery, and the customers that demand the highest quality applications across multiple platforms.

Our commitment to customers is simple: To provide a consistent and simplified programming experience, regardless of the type of application being built.

Today I want to discuss the challenges faced by teams developing applications and the way in which Microsoft is meeting those challenges through our Visual Studio family of products and the .NET Framework. Specifically, I want to focus on our Application Lifecycle Management tooling, Visual Studio Team System 2010.  Over the next few months, I will talk more about other aspects of these products and what we hope to deliver with them.

The marketplace has begun to mature and accept ALM (Application Lifecycle Management) as a proven discipline for creating high quality applications in a reliable fashion. However, existing solutions in the marketplace have not kept pace with the changing needs of technical users and the expanding inclusion of non-technical users as part of the lifecycle. Visual Studio Team System 2010 will address the needs of these customers with a robust and streamlined solution.

Every customer today faces a similar set of business problems. These are:

·        How do we build high quality applications that deliver real business value?

·        How do we embrace the Application Lifecycle Management model effectively?

·        How can we ensure that all members of the team – both technical and non-technical – are part of the process?

·        How can we get the most value from our existing code assets?

·        How do we make powerful modeling tools available to everyone in the application lifecycle?

 

Our ALM tooling specifically addresses these questions and helps customers create high quality applications that deliver value to the business.  We will embrace the needs of all the users in the lifecycle – from architects to developers, from project managers to testers, and from idea to delivery – and provide tools that they can all use as needed. Key to a shared understanding of the application is the use of modeling tools. In essence, we are democratizing architecture by simplifying modeling, integrating it into the work of the participant in the lifecycle, and ensuring that models – the architectural artifacts – are available, accessible and valuable for every role in the lifecycle.

This is unique because we are delivering tools that integrate into the familiar IDE for developers, but also provide an approachable interface for less technical users, both on the Web (for work items) and in a rich WPF client (for the generalist tester). Likewise, our lifecycle management capabilities provide unified work item tracking, a web-interface, and dashboards that are available to everyone. Unlike many other tools, our work item management and reporting tools easily integrate with familiar applications like Microsoft Excel.

Two specific deliverables here will drive the next generation of ALM. First, our modeling tools have tight integration into the actual code of the application. This means that a developer or architect can use models to enforce constraints on code, as well as use models to explore existing code assets. Individuals can enforce a constraint in the architecture by allowing the tiers of a multi-tier application to talk to each other. For example, when an architect designs a system where the presentation layer should not talk to the data layer, you want to be able to enforce that model at check-in. VSTS 2010 can do that. We will be telling you a lot more in the coming months about our approach to modeling and why we believe it is critical in building the next generation of quality software applications.

Another key element here is being able to explore and re-use existing code assets. Only 20% of the code in most business applications is “new” code. The remainder is code that already exists and was written by someone else, possibly for something else, and definitely with less than adequate comments. Our modeling tools give developers and architects the capability of creating a full architectural picture of those assets, understand how they fit together, understand how they “work” and then make their re-use (or discard) that much easier. We are confident this will save time, resources, and ultimately deliver higher-quality applications.

This is just the beginning.  In the coming months, I will share with you more about the features coming in this next wave of products. 

Namaste!

I believe strongly in our partner strategy.  In other words, I think we are in the business of building a great developer tools platform and a set of tools.  I fully expect our partners to build additional tools on our platform so that between what our partners deliver and what we deliver, we provide the broadest tools offering to our developer customers. 

 

Last week, we hosted our annual conference for developers who build on our tools platform and extend Visual Studio.  This was an opportunity for product teams to educate and have a conversation with tool builders on how to integrate with our current products as well as share some of our future plans to help these partners evolve with us.  For the first time, we made the conference open to all VS Extensibility developers so the general community could learn how to extend our existing technologies. 

 

The conference was a huge success.  There were over 325 registered participants representing over 125 companies including two developers of high school age!  There were over 20 sessions focused on VS2008 extensibility including five sessions delivered by community speakers.

 

Some of the quotes we received from attendees were quite colorful and summed up the general feeling of the conference: “I received so much during this week that by figure of speech I had to rent a cargo airplane to get all the information, ideas, study material and contact data back home to Belgium. “,“I was impressed with how much information was covered.”, and “Nothing delivers the message ‘partners are important to us’ like the VSIP Summit.”  It is great to hear that these partners are getting what they need from the product teams.  We know that our success depends on the success of our partners and developers in general.

 

Some of the sessions were recorded as screencasts and will be available next week online from the VSX Dev Center.

 

Namaste!

Earlier this year, I pointed you to a preview of a social bookmarking application.  This week we released v 1.0 of social bookmarking for MSDN, TechNet, and Expression enabling technical professionals to easily share their web favorites, find and connect with each other, and publish community-generated content directly to these sites.

This new version of the bookmarking application includes several new capabilities including the ability to subscribe to people and tags, support for 12 different languages, import tools from other bookmarking services you might already use, and new and improved design.

The new social platform release will also preview MSDN Code Search that has specialized features for finding code on various Microsoft sites including the MSDN Library by extending MSDN search.  In the future releases this will expand to cover MSDN Code Gallery, MSDN Forums, and more. For more details on MSDN Code Search including tips for how to search for code, see Rob Veliz's blog.

For more details on these features, check out Chris Slemp and Taylor Parsons’s blogs.

Namaste!

20 Comments
Filed under:

Last October, I blogged about our increased investment in the F# programming language. Functional programming has been an increasingly important trend in programming languages over the recent years.  F#, a functional programming language for the .NET platform, combines the strengths of functional programming with the breadth of frameworks and tools available with .NET and Visual Studio.

Last week, the F# team released the F# September 2008 CTP.  This release marks an important step along the path we laid out in October to integrate the F# language into Visual Studio, and to continue innovating and evolving F#.  Here’s a taste of what’s new with this release of F#:

·         Broadly improved Visual Studio 2008 integration, which allows F# users to scale from scripting and explorative development up to large-scale component and application design - all within Visual Studio

·         Improvements to the F# language and libraries to make them simpler and more regular

·         An exciting new language feature, Units of Measure, which extends F#’s inference and strong typing to floating point data

 

Along with the CTP, we also launched a new F# Developer Center on MSDN.  This developer center provides resources for F# developers and links to F# user communities.

The F# September CTP is available here.

Namaste!

I like to take the chance to talk directly to the development community as often as I can.  I commonly use outlets such as this blog, but sometimes I get the opportunity to speak out loud instead of through my keyboard via sites like Channel9 or .NET Rocks!.  I had the chance to talk to Richard Campbell and Carl Franklin last week on their weekly broadcast of .NET Rocks! – an internet audio show for .NET developers.  This is a great show that has a wide range of topics from introductory information to some deeply technical talks.  The viewership is just amazing as well with over a million downloads per show.

 

In this show, we mostly talked about my career at Microsoft from the early days of working on OS/2 and Windows NT to today running developer division and what it is like to lead a large software development organization.  You can listen to the recording here.  It was fun to chat with these guys and I look forward to doing it again in the future.

 

Namaste!

This past week has been a lot of fun to watch some amazing athletes compete in the 2008 Olympics games. 

 

I’ve especially enjoyed watching Michael Phelps as he has become the most decorated Olympic athlete of all times.  Phelps has six gold medals in six races and if he wins his next two races, will have the record for the most golds in a single Summer Olympics!  It is awe inspiring to watch and good luck to Michael.

 

 

 

To enable the games to reach millions of people and enable hundreds of thousands of people to concurrently watch live events such as Michael’s swimming, NBC created an amazing site http://www.NBCOlympics.com that is powered by Silverlight 2 Beta 2. 

 

Just to put in context just how massive this site has become, in the first four days of the Olympic games, there were 13.5 million video streams, 16.9 million unique users, and 291.1 million page views.  In the entire Athens Olympic games four years ago, there were only 2.2 million video streams launched.  Amazing!

 

Here is a little background on how the technology is working in Bejing.  NBC has HD cameras in Beijing that capture each event from multiple cameras and angles.  There are NBC control rooms and producers in Beijing that then do real-time shot selection at the event.  The resulting video is then encoded in real-time and sent to NBC headquarters in NY.  There additional commentary and play by play annotations are added in real-time by dozens of analysts (who have taken over the Saturday Night Live set at NBC headquarters for the two weeks surrounding the games).  The video is then streamed out live over the web at both 350kbits and 650kbits using Windows Media Services 2008 servers.  There are two CDN (content delivery network) providers hosting the site throughout the Olympics. 

 

The video player for the Olympics site is built using Silverlight 2 Beta2 – which is a 4.6MB download.  It takes less than 10 seconds for a user who doesn’t have Silverlight installed to download and install it on their system.  The Olympics Silverlight application itself is written using managed code and on top of the .NET Framework subset included with Silverlight.

 

The Olympics application showcases a ton of unique Silverlight capabilities.  One of the most immediate is the quality and capability of the video delivered over the web.  This is testament to the great video codecs which ship with Silverlight, the excellent encoders and encoding frameworks, the great media server technology, as well as to the focused tuning that has been done to optimize the video display and graphics as much as possible. 

 

This is watching the Olympics like never before.

 

Namaste!

We released Visual Studio 2008 and the .NET Framework 3.5 last November.  The feedback has been tremendously positive, but developers always have new ideas and suggestions for how we can improve the development experience for them.

 

Building on the base of great features in VS2008 and .NET 3.5, I am happy to announce today the release to manufacturing of the .NET Framework 3.5 SP1 and Visual Studio 2008 SP1.

 

In Visual Studio 2008 SP1 we have concentrated on improving performance and reliability. We have worked on our designers for building WPF applications and improved their performance, we have improved tools for developing AJAX applications, improved designers for working with the ADO.NET Entity Framework, and included a richer JavaScript development environment and a streamlined Web site deployment experience.

 

In the .NET Framework we went a little further.  Beyond fixing the customer reported bugs we also added some highly requested features to make it easier to develop applications for the latest platforms.  Some of these new features include the .NET Framework Client Profile, enhanced support for database application development through the ADO.NET Entity Framework, ADO.NET Data Services and integration with (recently released!) SQL Server 2008, and multiple enhancements to ASP.NET.

 

Whenever we talk to developers, one of the major pain points that they face is deployment of their .NET applications due to the time it takes to install the .NET Framework.  This is something we know we needed to work on and have delivered a great solution in SP1 with the .NET Framework Client Profile.

 

The .NET Framework Client Profile setup contains just those assemblies and files in the .NET Framework that are typically used for client application scenarios.  This reduced size framework (86.5% reduction from 197MB to 26.5MB) is the fastest and easiest way to deploy Windows applications.  The .NET Framework Client Profile also makes it possible to extend the improved download and installation experience to existing .NET applications. As an added bonus, with work done in the service pack, services connecting to .NET applications will also see up to 10 times the amount of performance improvement when running in Internet Information Services (IIS) 7.0.

 

Continuing to focus on the development of Web 2.0 applications and dynamic Web sites, ASP.NET Dynamic Data is now offered with SP1 which provides a rich scaffolding framework that allows rapid data-driven development without writing code.

 

 

This release also comes right in step with the recent release of SQL Server 2008.  With this service pack, Visual Studio 2008 and the .NET Framework 3.5 also support SQL Server 2008, making the Microsoft platform the most comprehensive environment for database application development.  The .NET Framework 3.5 SP1 includes ADO.NET Data Services and ADO.NET Entity Framework, which raise the level of abstraction for database programming and supply both a new model-based paradigm and a rich, standards-based framework for creating data-oriented Web services.

 

 

 

This release of SQL Server is very important to us for the developer community and it is special in another way for me personally.  This week marks the ten year anniversary of the India Development Center which I started and continue to sponsor.  SQL Server 2008 is the first SQL release with significant in-box contributions from this development center including SQL Server Compact 3.5.1.  I am very proud of the work that they have done on this release.

 

Namaste!

 

As the 2008 Olympic Games officially kick off today – actually yesterday if you are in China – I am feeling a little jealous of those that are sitting in the front row to watch these amazing athletes do what they do best. 

 

However because of technology, I can still have a great experience watching the games sitting at home either via the television or live streaming powered by Silverlight 2 Beta 2 on http://www.nbcolympics.com.

 

In addition, Popfly lets me join in on the action by letting me play some Olympic style games.  These were created by the Popfly team with Popfly Game Creator.  There are 10 Olympic themed games in all you can find at http://www.popfly.com/sports/

 

 

Have fun with these and enjoy the 2008 Olympic Games.

 

 

Namaste!

It seems like only recently, but is has been two years since we launched CodePlex.  We launched this in Summer 2006 as Microsoft’s open source project hosting site. Our goal was, and continues to be, to provide developers with the ability to collaborate on open source projects using the tools they are most familiar with.

 

Since launching, CodePlex has grown steadily, recently achieving two major milestones: 1,000,000 unique visitors/month and 5,000 total projects. CodePlex projects appeal to many audiences and include the AJAX Control Toolkit, Rawr (a .NET tool for World of Warcraft), and IronPython.

 

To give you a glimpse into some of the technology behind the site, CodePlex is built on Team Foundation Server. Specifically, seven TFS servers run more than 5,600 projects and cater to 12,000 project developers and 120,000 code check-ins.

 

Open source developers can use the Visual Studio Team Explorer client for free with CodePlex to get the full integrated development experience.  CodePlex also supports a wide range of other source control clients such as TortoiseSVN and TeamPrise to give users more flexibility and cross-platform access.

 

The key to CodePlex’s growth is the customer-focus of the CodePlex team.  Decisions on new features are made directly from onsite customer voting and have resulted recently in features such as Project Stats, Code Syntax Highlighting, and Rating and Reviews, which launched last week.

 

 

 

 

To find out more about what is happening with CodePlex, check out the CodePlex team blog.

 

Namaste!

 

Team Foundation Server (TFS) has become widely popular both within our Visual Studio suite of tools and in integrating from both client and server side scenarios. 

 

Given that most of the world lives and runs an heterogeneous environment, we know that developers have a wide variety of diverse development tools and need to be able to store and access their artifacts no matter what tool they are using or what platform they are targeting.

 

The client side scenarios mostly involve integrating with an existing application development environment so that artifacts created in those environments can be managed in TFS.  A few examples of this type of integration are:

 

·         Teamprise - a partner-provided solution for working with TFS from non-Windows platforms and for working with TFS from Eclipse on Windows

·         MSSCCI client for TFS - an implementation of an IDE extensibility model that allows version control systems to plug into various IDEs enabling integration with tools such as VB6, VC6, VS2003, PowerBuilder, etc. 

 

The latest example of a client side integration scenario was released recently with Microsoft Dynamics.  This integration enables developers of Dynamics applications to use TFS to store their source code and have the experience integrated into their IDE.  They are looking at even deeper integration in their next version.  You can learn more about Dynamics AX 2009 here and read a whitepaper on how to set up TFS for Dynamics AX here

 

Here are a few screenshots to show some of the integration points:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Integrated Development Environment in Dynamics AX 2009:

 

The server-side scenarios are about integrating TFS with other ALM solutions.  Examples include:

 

·         TFS Migration & Synchronization toolkit - an open source library of functionality that allows customers and partners to build tools for synchronizing TFS with another system, or for migrating from that other system to TFS

·         ClearCase Synchronization tool - a tool that will synchronize a ClearCase repository with TFS Version Control allowing teams to work in either environment

·         HP Quality Center Synchronization - a tool that we’re currently investing in that will allow a team of testers working in QC to collaborate with a team of developers working in TFS by synchronizing bug records between the two systems.

 

All of these integrations get us closer to ensuring that everyone can participate in team development with Team Foundation Server regardless of their environment.

 

Namaste!

We try to regularly update our guidance library with content we have developed to meet the demands of architects and application developers seeking guidance on how to apply Microsoft’s array of products and technologies to common application development scenarios and technical challenges, 

 

We recently shipped the latest edition to our guidance library - Composite Application Guidance for WPF

 

This composite guidance covers many of the scenarios covered by our Composite Application Block (CAB),   With this new release, we target WPF and incorporate feedback and learnings from CAB. This guidance package is designed to help developers more easily build enterprise-level Windows Presentation Foundation (WPF) client applications.  This guidance will guide developers through the design and build steps for flexible composite WPF client applications - composite applications use loosely coupled, independently evolvable pieces that work together in the overall application.  The solutions built in this manner will take advantage of the full power of WPF and will be highly maintainable, testable, and broken down in such a way that the various pieces can be developed by separate teams.

 

Composite Application Guidance and CAB were inspired by applications such as the Dell call center application that is used by call center representatives to provide a task centric experience. This reduced the need to copy and paste between applications. Additionally it reduced the average call time and increased efficiency and effectiveness of the sales process.

Some of the focus areas for this guidance package include:

§  Modularity: The Composite Application Library promotes modularity by allowing you to implement business logic, visual components, infrastructure components, presenter or controller components, and any other objects the application requires, in separate modules. Developers can easily create the UI and implement business logic independently of each other.

§  User Interface Composition: The Composite Application Library promotes user interface composition by allowing you to implement visual components from various loosely coupled visual components, known as views, which may reside in separate modules. The visual components may display content from multiple back-end systems. To the user, it appears as one seamless application.

 

Within this package you will find a reference implementation, a composite application library for WPF, Quickstart guides, a Hands on Lab and over 300 pages of documentation including UI designer guidance and How-To’s.

 

You can get access to this guide via MSDN here, or through the CodePlex here.  There are various customers who are using this guidance today to build their real world applications including accounting firms, large banks and government agencies.

 

Namaste!