Welcome to MSDN Blogs Sign in | Join | Help


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

·         Mercury 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!

Every year I look forward to be at the Imagine Cup Finals.   

 

It is a remarkable opportunity for me to see the innovative things that these young students (students today and business/technology leaders tomorrow)  have developed and their passion for technology.  This year, the theme is “Imagine a world where technology enables a sustainable environment”. 

 

It has been fascinating to see the numbers of students engaged in this competition grow from 1,000 students in the first year of the competition to 200,000 students this year from all over the world.

 

As these students come together they are applying their powerful ideas and energy to real world issues that face each of us. Over the years of this competition students have applied their energies to create solutions to address healthcare, education, and with this year’s competition – environmental sustainability.  

 

As you take a look at the projects these teams have created it is impressive to see the creativity and complexity they have achieved. It has also been rewarding to watch what these students have been able to achieve through the inspiration of this competition. One of my favorite examples:

 

Sign2Talk was developed as an Imagine Cup 2005 project by a team of students from Greece. Sign2Talk aims to build a communication boundary between people with hearing loss and the rest of the community.  Sign2Talk uses a combination of a custom made armband to acquire data related to the arm and hand movement in order to recognize Sign Language gestures and then translates those gestures into text and speech and speech into Sign Language gestures or text through a PocketPC. Following the Innovation Accelerator 2006 program, the team received 675,000 Euros from the Greek Ministry of Development as part of an 18 month long research grant. With this grant, the team is working with three companies and four university labs to develop a reliable prototype.

 

I see the Imagine Cup as a great opportunity to learn from the students of today. We need to make big, bold bets to help each of these students achieve their potential. They have the capacity to have a broad and positive impact in each of their countries and it is an honor to recognize them here today.

 

Namaste!

Today is an interesting day - at least for those of us at Microsoft.

 

As the world knows, today is the last day for Bill Gates as a full-time employee of Microsoft.

 

I wanted to share some of my thoughts and reflections as we go through today.

 

I have had a fantastic time being a part of Microsoft and being able to work on some great products and technologies that a lot of people around the world use.  Being able to do this in an environment with Bill Gates at the top of Microsoft has been very rewarding.  Over the years, I have had many opportunities to interact with Bill and learn from those interactions.  Bill is an individual that I deeply admire and respect.

 

Here are a couple of things that are top of mind in terms of what I have learned from Bill:

 

-          Think big and Dream big

-          Think and optimize for the long-term

-          The power of software is huge and as much progress as we have made, there is a lot more to do

 

Bill has had a phenomenal impact around the world through software, computing and Microsoft.  As he transitions to spend more of his time and energy with his foundation, I want to thank Bill for what he done and wish him all the very best. 

 

Here is a channel 9 video that shows a few of us at Microsoft sharing our experiences with Bill.

 

Namaste!

In a June 2007 report, the U.S Government Accountability Office (GAO) described cybercrime as “having significant economic impacts and a threat to U.S. national security interests” and referenced a 2005 FBI survey estimating that U.S. businesses lost $67.2 billion because of cyber crime and the estimated losses associated with identity theft in 2006 were $49.3 billion.

 

As much as everybody understands that cybercrime is serious, it isn’t clear to me that there is a broad understanding of where we are the most vulnerable. 

 

According to the June 2007 Microsoft Security Intelligence Report, less than 10% of vulnerabilities disclosed through June 2007 were targeted at Operating Systems.  With more than 90% of vulnerabilities targeted at the application layer, all software development organizations need to really think about security as it relates to applications.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

It is important to note that large vendors are not the only ones whose applications are being targeted.  The 2007 IBM Internet Security Systems X-Force report found that only 13.6% of the 6,437 new vulnerabilities disclosed in 2007 belong to the top five software vendors (Microsoft, Oracle, IBM, Apple, and Cisco).

 

A good question to ask in this context is “What is Microsoft doing to help developers build more secure applications?”

 

As software becomes the target for cyber criminals, it is more critical now than ever to make security an integral part of the software development process.  Ever since Bill Gates’ 2002 Trustworthy Computing memo Microsoft has been infusing security into its software development lifecycle with the goal of protecting customers by reducing the number and severity of vulnerabilities in code. 

 

In hindsight, I am very glad to note that Developer Division was one of the SDL (Security Development Lifecycle) pioneers at Microsoft.  The original “security push” in 2001 was on the .NET Common Language Runtime.  The “security push” format was later applied to other Microsoft products and evolved to encompass the entire development lifecycle.  In 2004 the SDL became a mandatory policy for all products at Microsoft (and DevDiv of course).  Silverlight is one recent and excellent example of how we leverage the SDL to enhance the security of our products. As an innovative and widely used web platform, Silverlight was developed with much attention to security and data privacy. Threat modeling, a method for analyzing security and privacy risks in the design phase, was used extensively to identify and mitigate potential attack vectors within the Silverlight framework. After the design stage, the threat models were used to focus the security efforts in the coding and testing phases of the development process. By emphasizing security and privacy early and throughout all stages of development, the Silverlight product team was able to not only enhance security, but also to surpass a higher bar of quality. In my mind, this is what the SDL is all about.

 

The Microsoft SDL is the industry-leading software security assurance process.  SDL has played a critical role in embedding security and privacy in Microsoft software and culture.  Combining a holistic and practical approach, SDL introduces security and privacy early and throughout the development process. As the images below clearly show, the SDL has led Microsoft to measurable and widely-recognized security improvements in flagship products such as Windows Vista and SQL Server:

 

 

With attacks moving to the application layer, Microsoft is committed to supporting a more secure and trustworthy computing ecosystem by making SDL process guidance, tools and training available for every developer.  I encourage you to learn more about the Microsoft SDL and how you can leverage SDL resources and best practices to “bake security in” to your software applications.

 

Namaste!

 

It is fascinating and exciting to see software development growing rapidly in all the geographies around the world.  In the last year, I have been fortunate enough to have people (within Microsoft and in the community) translating my blogs in Chinese and Japanese to help reach a broader audience.  I have had many requests from people to translate my blog into Spanish.  I’ve been thinking about this for a while and have found a few volunteers here in Developer Division to do this translation for me. 

 

Now my blog can be read in English, Chinese, Japanese, and Spanish which enables me to reach a broader set of people who are passionate about building software.

 

Namaste!

 

Earlier this week I was in Orlando, Florida for TechEd 2008. 

 

I was able to participate in a few events that were quite memorable for me.  The first was participating in the keynote with Bill Gates, the very first Microsoft employee and developer.

 

A few hours later, I hosted a group of influential community members to chat with Bill Gates over lunch.  This group was a set of MVP’s, Regional Directors, INETA leaders and other people who were all selected because of the great work they do in supporting others in the community.

 

To be honest, I wasn’t sure what the topic of conversation was going to be and what was top of mind for these folks with all the various challenges that they face with technology today.  At the end of it though, I thought it was a very fascinating conversation and a humbling experience for me.

 

I left feeling somewhat overwhelmed by the passion that people in the room had for a single topic that took up the majority of the conversation.  The conversation centered around how we can better marry IT skills and expertise to non-profit work in the areas of healthcare and education.  All of the conversations and comments focused on how each of the people in that room could step up and bring their expertise in technology and IT to help people that are less fortunate. 

 

Something that Bill said during this lunch really struck a chord for me “It is great how much people open their hearts, minds and wallets and dedicate their time when a tragedy strikes.  However, the work that has an even greater impact is the work that is done a year or two years before a crisis that puts a framework in place so a response can happen more quickly.  This isn’t something that we all think about in our daily lives until we are bombarded with news of a tragedy.

 

Kate Gregory, who was at this luncheon, mentioned an organization out of Canada that pairs IT professionals with not-for-profit organizations called MatchIT.  I learned that folks from Microsoft Canada already participate in this organization.  I really like the idea of this and hope that other similar organizations are available or start to sprout up in various communities.

 

Like I said, the passion and conviction around this topic was very moving to me.  I love the fact that the influentials that support our Microsoft Developer community are also passionate about supporting the needs of the less fortunate.

 

Namaste!

Recently the MSDN and TechNet teams released a social bookmarking preview where members of the technical community can bookmark and tag online resources for their own use and for the benefit of others.   You can visit any of the following sites to get started. 

MSDN for Developers http://msdnbookmarks.com 

TechNet for IT Professionals http://technetbookmarks.com 

Expression for Designers http://expressionbookmarks.com

Along with the launch of the bookmarking service, we have also created a Silverlight app that we call “Ticker”, built using Silverlight 2 beta to consume the feeds of social bookmarks created by the community.  The ticker runs through recently added bookmarks and as you hover over a bookmark, the ticker will momentarily pause.  This is just one of a family of cool new “community visualizer” applications found at http://www.microsoftcommunities.com

 

Namaste!

9 Comments
Filed under: ,

It has been a fun experience for me this morning.

 

I am at TechEd in Orlando, Florida and was able to join Bill Gates on stage during his keynote to talk to the audience about the paradigm shift in client application development and the user experience.  It has been a while since I have been the guy who is demoing the cool and exciting technology during a keynote.  Other people usually get to have that fun, and I now hold a new appreciation for what it takes to pull off a seamless demo experience.  I got to show a very cool demo of a new social networking site for sharing rich media content that was built in Silverlight and also talked about and showed some examples of WPF and the continuum of tools and platforms for client applications that spans devices, the browser and the Windows client

 

Here is a summary of the announcements that were made during the keynote:

·         Silverlight 2 beta 2 – This is going to be available later in the week with a commercial Go Live license.  Silverlight 2 beta 2 will be used to power the unprecedented online experience NBC Universal is creating for the 2008 Beijing Olympics. To help developers take full advantage of Silverlight, we are also making available Expression Blend 2.5 June 2008 Preview and Microsoft Silverlight Tools Beta 2 for Visual Studio 2008.

·         Working with IBM, we will further simplify application development for enterprise teams working in heterogeneous environments. IBM and Microsoft have agreed to work together to integrate IBM DB2 database access with Visual Studio Team System Database Edition. 

·         Latest CTP of the Microsoft Sync Framework - a comprehensive synchronization platform that enables collaboration and offline scenarios for applications, services and devices. A CTP of the Microsoft Sync Framework for Windows Mobile is now available as is full support for the FeedSync open protocol format.

·         CTP of Microsoft Project Codename “Velocity” - a distributed in-memory application cache platform that makes it easier to develop scalable, high-performance applications needing frequent access to disparate data sources. Large clusters of machines can be seamlessly integrated into a single cache providing high availability to data. 

·         Visual Studio 2008 extensions for Windows SharePoint Services 3.0 v1.2 – this allows developers to use Visual Studio 2008 to extend the value of Windows SharePoint Services and Microsoft Office SharePoint Server by providing a simplified development environment.

  

I am looking forward to the rest of the day where I get a chance to engage (talk and listen) to some of the community leaders (MVPs, RDs, INETA leaders) here at TechEd.

 

Namaste!

This week we released an update to the community technology preview (CTP) of Parallel Extensions to the .NET Framework.

 

Parallel Extensions simplifies development of concurrent applications by providing library-based support for introducing concurrency into applications written with any .NET language, including C# and Visual Basic.NET.

 

The library is made up of the following components:

  • The Task Parallel Library (TPL), which provides support for imperative data and task parallelism.
  • Parallel LINQ (PLINQ), which provides support for declarative data parallelism.
  • Coordination Data Structures (CDS), which provide support for work coordination and managing shared state.

This CTP is for developers who write applications or libraries using .NET and who want to easily express concurrency in their code.  Parallel Extensions works with any .NET language, though it is best used in languages that support anonymous methods or lambda expressions, like C#, Visual Basic, and F#.  Parallel Extensions requires the .NET Framework 3.5 (either RTM or SP1).

 

This CTP, which is an upgrade from the one released last November, provides several additions and improvements including changing the prototype runtime used by the Task Parallel Library (TPL) with one built from the ground up to be more robust, efficient, and scalable.  TPL also exposes new functionality, including methods for continuations.  PLINQ has been outfitted with several new methods, including those for exposing order-preservation capabilities in a new manner and it has been modified to run on top of TPL.  There are also new synchronization and coordination types to enable the development of parallel applications.

 

The CTP can be downloaded here.

 

Namaste!

For over ten years now, both the Microsoft Developers Network (MSDN) and TechNet (Microsoft’s online home for IT Professionals) have served their respective technical audiences with rich, deep and extensive technical guidance on using Microsoft platform and tools products.

 

Today, we released a new (updated) set of Tech & Dev Centers on MSDN & TechNet.  This is the next step forward in enabling MSDN and TechNet to be a destination of choice for the community and by the community.  With the new site redesign, the MSDN and TechNet Web sites will make it easier to discover and participate in these online communities and showcase the insights of the community experts as well as active technical professionals throughout the world.

 

One feature that you will find useful is that on our Developer and Technology Centers, you’ll increasingly see content from Microsoft experts as well as the community highlighted right on the home page of each Center.  You’ll also see a greater emphasis on Forums which use a new Forums platform with recognition for Top Answers and easier ways to see thread previews, which questions have code associated with them, and which questions already have answers.

 

This refresh covered 18 Tech and Dev centers and both of the MSDN and TechNet home pages in seven different languages.

 

Namaste!

 

Earlier this week, we announced the release of the new MSN Toolbar. 

 

The MSN Toolbar aims to give consumers persistent access to valuable content and search options.  It allows you to preview headlines without leaving the web page you are on, keep up with breaking news, and easily accessing information you care about.  There are also new search tools to help you find exactly what you need.

 

 

One of my favorite features is the breaking news alerts.  It has a gleaming News button that lets you know when something happens.

 

And yeah, the cool part about the new MSN toolbar is that it is written in Silverlight.  The MSN team built on this runtime in order to enable an innovative UI that would be much harder to do with other platforms.

 

Here is a link to install the MSN Toolbar.

 

Namaste!

7 Comments
Filed under:

Earlier this year, Microsoft announced a set of broad-reaching changes to Microsoft’s technology and business practices to increase the openness of its products and drive greater interoperability, opportunity and choice.

 

As much as some of us dream of a world where all the computing systems are homogeneous, the world has been, is, and will be running heterogeneous systems and services.  To best provide for our customers in this heterogeneous world, and deliver the most value possible, I recognize that we need to bring even more openness and extensibility into the heart of our products.  We know that no single company can address interoperability challenges on its own and that collaboration with customers, partners and other vendors is of critical importance.  

 

Last year we set up a customer advisory council consisting mainly of Chief Information Officers and Chief Technology Officers of large enterprises and government departments from around the world to engage in a two-way dialog on how we can interoperate better with various systems.

 

A few weeks ago, I had the opportunity to speak with this group and share some of my thoughts on interoperability within Developer Division tools and platforms.  I talked about a number of initiatives that came out of DevDiv to support interoperability this year.  One of the areas that I spoke about was Silverlight and the very nature of this being a cross-platform, cross-browser, cross-device runtime.  One of the ways we are achieving that is by working with others in the community and the industry, such as Moonlight to help bring Silverlight to Linux, and our work with Nokia to bring Silverlight to Symbian and other device platforms.  I also talked about the work we are doing in releasing the XAML documentation for WPF under the Open Specification Promise – this is the most open and liberal way to license this technology.  So far there have been over 2200 downloads of this documentation which is great!  It tells me that people find this useful and so I’m glad we did it.  Also for the .NET Framework, we released the .NET Framework source code to our Visual Studio customers to help them in debugging their .NET applications. 

 

We see Visual Studio itself as a tools platform and so we have focused on our VSIP partners and the work they want to do on top of Visual Studio.  Both Visual Studio and Visual Studio Team System are, at the core, a development environment which is an open, extensible platform that developers can target for any platform and third parties can build on to deliver even more value.  I talked to the council about the removal of licensing restrictions for Visual Studio that now allows developers to build plug-ins that target any platform.  Another announcement we made this year was that we opened up our Visual Studio IDE source code for our Premier VSIP partners to access. I also spoke about Visual Studio’s contributions to the ECMA standards for languages. 

 

As you can see, we have made a lot of progress knowing fully there is more work that we need to do to become more open and extensible and continue to deliver the most value we can to our customers.

 

Namaste!

Today we released a Beta of Visual Studio 2008 and .NET Framework 3.5 Service Pack 1.  

 

Traditionally our service packs address a range of issues found both through customer and partner feedback as well as our own internal testing.  While this service pack holds true to that theme and delivers updates for these types of issues, it also builds on the tremendous value that Visual Studio 2008 and .NET Framework 3.5 deliver today and enables an improved developer experience by adding a number of additional components that cover a range of highly requested customer features. For example, the service pack is the first release for Visual Studio 2008 that delivers full support for SQL Server 2008 and the ADO.NET Entity Framework.

 

Visual Studio : You will find improved functionality and performance in the WPF designers, additional components and tools for Visual Basic & Visual C++ including an MFC-based Office 2007 Ribbon and various stability fixes, richer JavaScript features, improved Web development and site deployment, and performance improvements for the IDE.  For more information on the performance improvements in the service pack, see the Performance Team’s blog.

 

Visual Studio Team System : There are improvements to Visual Studio Team System such as updated “Add to Source Control” dialogs, Drag and Drop support from Windows Explorer to the Source Control Explorer, and version control of unbound files.  For work item tracking we have added Ribbon support for Office 2007 so you now have a clean and easy way to access relevant TFS operations from Office applications as seen below.  For more information on the new features available in Team System, check out Brian Harry’s blog.

 

.NET Framework 3.5 : From a .NET Framework perspective, SP1 introduces more controls, streamlined setup, improved start-up performance, and powerful new graphics features for client development and rich data scaffolding, and improved AJAX support.

 

I’m very excited about the introduction of the .NET Framework Client Profile, a smaller .NET Framework Redist optimized for client scenarios.  Some of the benefits of this profile are immediate responsiveness with a 200K bootstrapper to enable the fastest response to the application setup URL, an integrated custom UI allowing packaging of your application and the framework for a seamless install experience, and lastly incredible install speed at 26.5 mb (this translates to about 6 minutes on a typical connection).

Like I mentioned above, SP1 for the .NET Framework introduces the ADO.NET Entity Framework and ADO.NET Data Services which simplifies data access code in applications by providing an extensible, conceptual model for data from any data source and enabling this model to closely reflect business requirements.

 

Dynamic Data is a new feature in ASP.NET that dynamically builds a fully functional website from a LINQ to SQL or Entity Framework data model. In order to generate a similar screen to below, all a developer has to do is create a data model, register the data model with Dynamic Data (1 line of code), and then run the project. This is part of the new RAD data features that get developers started very quickly and then they can refine the application with traditional ASP.NET programming.

The bits for the VS2008 SP1 Beta and .NET Framework 3.5 SP1 Beta are available for download here. 

The readme files list known compatability issues for Visual Studio Professional and for Visual Studio Team System.

 

Namaste!

Watching Microsoft Popfly evolve has been incredibly exciting for me.  With its Silverlight-based drag-and-drop capabilities, Popfly has been a fun and easy way to build and share mashups, gadgets, Web pages, and applications.  Popfly has won the hearts and minds of many, many people as evidenced by a lot of favorable press coverage and awards. 

 

Today, I am excited to announce the alpha of the Popfly Game Creator. 

 

The Silverlight-based Game Creator is a very rich and yet very simple way to create all sorts of casual games without having to write a single line of code.  Whether it is a space shooting game, a racing game or a maze, the extremely friendly and interactive UI guides you, the user, to express your creativity. 

 

You can start with a known collection of game templates that are already built in and customize and share them, or start with a fresh idea and a clean canvas and build your own game.  You can add actors, scenes, background scores, behaviors, movement, etc, from a large library and bring your games to life in a matter of minutes.  And, over time, we will be allowing you to add to the library, similar to the concept of blocks with the mashup creator.  And like the block editor and mashup creator, for those that feel that they need more functionality, they can easily step into source code, editing and previewing as they make changes.  Casual games created using the Game Creator will have all the same attributes that Mashups and webpages built with Popfly have – they can be rated, shared and embedded as Windows Vista sidebar gadgets and on Facebook.