Welcome to MSDN Blogs Sign in | Join | Help


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!

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, an