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

  • Full Stack Hands-On Development with .NET

    In the fast-paced realm of modern software development, proficiency across a full stack of technologies is not just beneficial, it's essential. Microsoft has an entire stack of open source development components in its .NET platform (formerly known as .NET Core) that can be used to build an end-to-end set of applications.

  • .NET-Centric Uno Platform Debuts 'Single Project' for 9 Targets

    "We've reduced the complexity of project files and eliminated the need for explicit NuGet package references, separate project libraries, or 'shared' projects."

  • Creating Reactive Applications in .NET

    In modern applications, data is being retrieved in asynchronous, real-time streams, as traditional pull requests where the clients asks for data from the server are becoming a thing of the past.

  • AI for GitHub Collaboration? Maybe Not So Much

    No doubt GitHub Copilot has been a boon for developers, but AI might not be the best tool for collaboration, according to developers weighing in on a recent social media post from the GitHub team.

  • Visual Studio 2022 Getting VS Code 'Command Palette' Equivalent

    As any Visual Studio Code user knows, the editor's command palette is a powerful tool for getting things done quickly, without having to navigate through menus and dialogs. Now, we learn how an equivalent is coming for Microsoft's flagship Visual Studio IDE, invoked by the same familiar Ctrl+Shift+P keyboard shortcut.

Subscribe on YouTube