In-Depth

Vendors Support VS2010 Release

When Microsoft released Visual Studio 2010, it set up the Sim Ship program to encourage and support third-party vendors providing Visual Studio compatible solutions. Familiar companies with names like Developer Express, Infragistics, JetBrains and Telerik gained early access to critical Visual Studio 2010 information and bits, enabling them to deliver updated tools within a couple months of the April 12 release date of Visual Studio 2010.

According to Terry Clancy, Microsoft Business Development Manager in the Visual Studio Industry Partner (VSIP) Program, the sim-ship effort with Visual Studio 2010 has been a resounding success.

"As it stands now, we have over 90 partners that have sim-shipped," Clancy said during an interview at the Tech Ed Conference in June. "The rate of adoption is greater than we've seen in the past."

In some cases, it hasn't been a matter of Microsoft helping third-party vendors prep their wares for the new version of Visual Studio, it's been the other way around. Consider Developer Express (DevExpress), a tools and component maker that produces the CodeRush and Refactor! productivity tooling for Visual Studio.

Mark Miller, chief scientist at DevExpress, said Microsoft came to DevExpress to see if his company could add support for a feature that was being sunsetted with Visual Studio 2010.

"The Visual Studio team talked to us and said, 'Look, we are going to be deprecating one of our refactorings when we move forward to 2010. We've done the research on it, people are not using it and it's going to be really hard for us to test. Can you put that in CodeRush Express?' We were like, 'Yes we can,'" Miller said.

Miller said CodeRush was able to provide a safe home for Microsoft's deprecated feature set because DevExpress has created a robust abstraction layer, called DXCore, that acts as a universal translator of sorts for various versions of Visual Studio.

"So you've got (Visual Studio) 2010 Managed Extensibility Framework. You've got some VSIP (Visual Studio Industry Partner) stuff that's not managed. And on top of that you've got DXCore. And for us DXCore is a giant insulator," Miller explained. "As Visual Studio changes over the years, we make sure that insulation from the outside doesn't change. We just make it all work."

DevExpress customers are able to write plug-ins for DXCore, Miller said, and be confident that the same executable will run on Visual Studio 2005, 2008 or 2010. "And if it doesn't, it's a recompile," Miller added.

The Trouble with WPF
Not that it is always easy. With Visual Studio 2008, DevExpress' CodeRush product enabled a tricked out user interface, painting arrows and other artifacts directly on the Visual Studio editor to provide valuable visual cues to developers. That all changed with Visual Studio 2010, which dumped the Graphic Device Interface (GDI) graphics technology in favor of Windows Presentation Foundation (WPF) 4. That left DevExpress with some hard choices.

"So we are faced with this choice of do we abandon our 2008 customers and only write new features for 2010 and port the new architecture over? Or do we do something crazy like try to do GDI on it in WPF land, which would be crazy? Or do we do something else?" Miller asked.

DevExpress opted to create what Miller called an "independent platform drawing framework" that sits above the interface layer and delivers activities to GDI or WPF as required by the Visual Studio environment.

"We might have something that says draw an arrow between two identifiers -- that might be a method you would call. And that, depending on whether you are in 2008 in GDI land, or in 2010 in WPF land, will go to a different engine and render that correctly in that engine," Miller explained. "The reason we did that is because we wanted to be able to continue to add new features and have them work for both our 2008 customers and 2010 customers. For us that was the biggest technical challenged going forward."

PreEmptive Strike
Another vendor that was busy helping Microsoft support the Visual Studio 2010 launch was Preemptive Solutions. The Cleveland-based firm best known for its Dotfuscator product, has long had a free version of its code obfuscation technology bundled with Visual Studio.

As Preemptive Chief Marketing Officer Sebastian Holst noted, Microsoft discovered that the very thing that made managed code so attractive also posed a challenge. Code writers wanted a way to prevent third parties from easily reverse-engineering their .NET applications and gaining access to proprietary algorithms or embedded data. By bundling Dotfuscator with Visual Studio, Microsoft was able to offer customers a way to deploy .NET applications with more confidence.

With the launch of Visual Studio 2010 PreEmptive moved up the stack, from locking down code to actually giving code authors a way to see how their applications are being used in the field. PreEmptive's Runtime Intelligence Service enables developers to instrument their .NET applications so they can gather rich data about everything from application runs and crashes to specific feature access. The usage data can then be surfaced inside the Visual Studio 2010 Architect Explorer and Code Editor, according to Preemptive.

To achieve that result, Preemptive had to integrate via the new Managed Extensibility Framework that replaced the old VSIP SDK.

“The extensibility of the editor has opened up a new world of possibilities,” said William Leach, chief technology officer at PreEmptive. “For the first time, we can take real-world usage data gathered through our Runtime Intelligence Service and deliver it, in context, to developers, testers and architects. There is no other closed loop system like it and the extensibility framework is what made it possible to close that loop for the very first time.”

Microsoft is also using the Runtime Intelligence technology in its CodePlex open source project hosting site. Preemptive's Holst says application authors will be able to surface useful metrics for CodePlex visitors, allowing them to see not just how many times an app was downloaded, but how often it has actually been used.

About the Author

Michael Desmond is an editor and writer for 1105 Media's Enterprise Computing Group.

comments powered by Disqus

Featured

  • Compare New GitHub Copilot Free Plan for Visual Studio/VS Code to Paid Plans

    The free plan restricts the number of completions, chat requests and access to AI models, being suitable for occasional users and small projects.

  • Diving Deep into .NET MAUI

    Ever since someone figured out that fiddling bits results in source code, developers have sought one codebase for all types of apps on all platforms, with Microsoft's latest attempt to further that effort being .NET MAUI.

  • Copilot AI Boosts Abound in New VS Code v1.96

    Microsoft improved on its new "Copilot Edit" functionality in the latest release of Visual Studio Code, v1.96, its open-source based code editor that has become the most popular in the world according to many surveys.

  • AdaBoost Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the AdaBoost.R2 algorithm for regression problems (where the goal is to predict a single numeric value). The implementation follows the original source research paper closely, so you can use it as a guide for customization for specific scenarios.

  • Versioning and Documenting ASP.NET Core Services

    Building an API with ASP.NET Core is only half the job. If your API is going to live more than one release cycle, you're going to need to version it. If you have other people building clients for it, you're going to need to document it.

Subscribe on YouTube