New Subscription Model for Bing Search API Results in Developer Backlash

Microsoft is planning to transition to a monthly subscription model for use of its Bing Search API in applications and Web sites, charging developers roughly $40 per month for up to 20,000 queries, the company announced on Thursday. The move will result in "fresher data," according to Microsoft, which plans to offer the Search API on its Windows Azure Marketplace for cloud and data services.

The transition is expected to take a few months, and developers will be able to use the Bing Search API 2.0 for free during that time, according to the company.

The announcement was made in a Bing Developer Blog that outlined the upcoming changes:

As a Bing Search API developer, you can expect the transition to involve targeting a new API end point, moderate changes to the request and response schemas, and a new security requirement to authenticate your application key. Developers using approximately 3 to 4 million queries and above can expect to transition through a separate process (details will be provided shortly).

The subscription model caught many developers off guard. Several responses to the announcement voiced concerns about the impact of the monthly fees on use of Bing Search engines in apps for non-profits, smaller scale projects and Windows Phone software.

From Christian Kroll:

My application uses high volumes of the Bing API. We currently have about 700,000 queries a day. How much will we have to pay in future? What will be the cost of 1,000 search queries?I hope you understand that you are putting many businesses at risk with that step. Please at least provide some more details!?

From itlackey:

As you make this transition, I would anticipate most developers abandoning Bing search for one of the many free services available. As a small time WP7 app developer I cannot and will not spend $40/month to get search results. I do not expect my voice will matter, but expect one less developer to be using and promoting Bing, probably many more to follow unless a free option is made available. This is a shame sense Microsoft needs the developer community to use and promote its tools before the average user will even notice. WP7 is a perfect example and is based entirely around Bing. Removing the ability for developers to use Bing will splinter the WP7 apps and force developers to use your competitors' tools instead. Hoping someone will consider these concerns, Loyal .NET / WP7 developer…But where is the loyalty from Bing?

From shibbard:

So those of us using the search API on small scale apps still have to fork out $40pm or watch them fall over in a heap with ridiculous short notice. Should have stuck with Google, thanks a lot Bing.

The Bing Team responded to developers' concerns about fees and use of the API for small scale apps as follows:

Thanks for the feedback. We are absolutely thinking about ways to enable smaller scale applications to keep experimenting with the API. Please stay tuned for more details over the next several weeks.

Express your thoughts on the planned subscription model for use of the Bing Search API. Did you see this coming? Drop me a line at

Posted by Kathleen Richards on 04/12/2012 at 12:54 PM2 comments

Windows Phone Is Calling on Windows 8

With the arrival of the Nokia Lumia 900 on retailers' shelves this week, renewed attention is on the fate of Windows Phone. Some reviewers have concluded that the latest phone is great for people who are new to smartphones or looking for Blackberry replacements. Experienced smartphone users (Android and iPhone) may be put off, however, by the lack of applications on Windows Phone.

Microsoft is working hard to address the lack of apps issue. According to reports in the Wall Street Journal and the New York Times among others, the company is paying developers to port popular apps to the platform.

Deep pockets may not solve all of the development issues, however, especially with the Windows 8 launch on the horizon.

In a blog about the latest Windows Phone SDK and Windows 8, Microsoft's Larry Lieberman wrote:

We’ve also heard some developers express concern about the long term future of Silverlight for Windows Phone. Please don’t panic; XAML and C#/VB.NET development in Windows 8 can be viewed as a direct evolution from today’s Silverlight. All of your managed programming skills are transferrable to building applications for Windows 8, and in many cases, much of your code will be transferrable as well. Note that when targeting a tablet vs. a phone, you do of course, need to design user experiences that are appropriately tailored to each device.

Cross development of Windows Phone and Windows 8 apps remains murky at best. The Visual Studio 11 beta, which is described by Microsoft as being in lockstep with Windows 8, does not support Windows Phone development. The Visual Studio 11 RTM will support Windows Phone apps, according to the company.

The future of XNA on Windows Phone remains unclear. Windows 8 Metro-style app development (WinRT), which is targeted for ARM-based tablets, doesn't support XNA game development. However, all existing Windows Phone applications (including those built in XNA Game Studio) will run on the next major version of the Windows Phone operating system, according to Microsoft's Cliff Simpkins, who reiterated, "XNA is fully supported in the next major version and remains part of the Windows Phone family."

In late March, Microsoft released the Windows Phone 7.1.1 SDK to support development of Windows Phone apps for the new lower end, 256MB devices, and unblock the Windows Phone 7.1 SDK on the Windows 8 Consumer Preview (released Feb. 29). The previous tooling did not run on the Windows 8 Consumer Preview. The 7.1.1 SDK addresses the remaining compatibility issues, which were largely around lack of support for XNA, the Windows Phone emulator and the .NET 3.5 requirement. (Windows Phone development on the Windows 8 Consumer Preview is not officially supported by Microsoft until the RTM of Windows 8.)

Uncertainly about the evolution of the Windows Phone OS, Windows 8 and how the two will intersect is causing some developers to hold off on development, or pursue mobile development on other platforms. Others worry that the end is near for Silverlight for Windows Phone and XNA, but they would prefer to hear it directly from Microsoft, instead of vague references to transferable skill sets.

Express your thoughts on Windows Phone and Windows 8. Are you investing in developing mobile apps (smartphone and tablet) for Windows 8? Drop me a line at

Posted by Kathleen Richards on 04/10/2012 at 12:54 PM1 comments

Microsoft Launches Cloud-Based Build Service at VSLive

On Tuesday, Microsoft announced a Build Service that runs on Microsoft servers as part of its cloud-based Visual Studio Team Foundation Service. TFS in the cloud, which is hosted on Windows Azure, is currently available to testers for preview. Even though TFS is still in the pre-release stage, Microsoft recently adjusted its Terms of Service to support go-live production.

Brian Harry, a Microsoft Technical Fellow and the product unit manager for Team Foundation, introduced the Build Service during his keynote at Visual Studio Live! on Tuesday. Visual Studio Live! is the .NET developer conference hosted by 1105 Media, the publisher of Redmond Developer News, Visual Studio Magazine and MSDN Magazine. The conference is taking place this week (March 26-30) in Las Vegas.

The new Build Service, which offers the same compilation and unit testing (supported by the default workflow) as Team Foundation Server, will be available to all TFSpreview accounts, starting today. You can sign up for the TFS preview or get an invitation from someone who already has an account.

The Team Foundation Service supported builds, but you had to manually manage the servers. The Build Service does a lot of the work for you. Harry offered a general outline of how the Microsoft Build Service will operate in his blog on Tuesday:

Our new build service works by maintaining a pool of Azure VM roles that can expand and shrink as needed. When you start a build, a VM is allocated from the pool to run your build. Your build is run, the build output is copied off the build machine then the VM is restored and it is returned back to the pool for someone else to use.

The build image supports Visual Studio 2010 SP1 and the Visual Studio 11 Beta. Windows 8 Metro style projects are not supported, but that will change when Windows Azure gains support for Windows 8, according to Harry. "This is just a starting place – a minimalistic one, and we’ve very interested in your feedback on what you’d like to have us install on the image by default," he noted.

Microsoft maintains that the cost of Visual Studio Team Foundation Service will be competitive, but has not released further information on pricing. Harry indicated in a recent blog on the future of CodePlex, Microsoft's open source project site, which is hosted on TFS, that the two hosted services will likely be aligned at some point. CodePlex supports TFS, Mercurial, and last week Microsoft announced that it now hosts Git projects. Harry envisions "a unified service across TFSpreview/CodePlex that scales from free to paid." His team is also working on fidelity between the TFS cloud service and on-premises Team Foundation Server so that users will have the option to migrate their data.

Express your thoughts on the Visual Studio Team Foundation Service preview. Does the thought of giving control of your build machines to Microsoft give you pause? Are you ready to test cloud-based TFS and its new Build Service, or waiting until you hear more about the pricing model? Comment below or drop me a line at

Posted by Kathleen Richards on 03/27/2012 at 12:54 PM0 comments

Visual Studio 11 Beta Won't Reflect Final Look and Feel

If you have questions about the Visual Studio 11 beta, Jason Zander, the Microsoft corporate vice president in charge of Visual Studio, posted a blog this week that addresses frequently asked questions, and serves as a helpful cheat sheet on what's supported and what isn't.

Bring Back Color
Patrick Smacchia, a commenter on the blog, asked Zander a question that is on many developers' minds, based on the sheer number of people who have voiced their dismay at some of the unexpected UI changes in the Visual Studio 11 beta:

The community [is] clearly concerned about the greyish icons, maybe we could add the question:

Is there a chance that the VS team takes account of the thousands of negative [comments] and feedback concerning greyish icons, and switches back to VS pre-11 colorful icons?

Zander responded:

@Patrick - we have definitely heard the feedback. As mentioned above, the beta is about getting feedback and will not reflect the final look and feel.

The beta does "not reflect the final look and feel." If that's true, developers have reason to be hopeful that their collective voices have been heard and could result in positive changes. However, if history is any guide, once a monster product like Visual Studio has reached the beta stage, any changes have been relatively minor -- outside of features not ready for primetime dropping out.

Reaction to the "new developer experience" has been dominated by naysayers, who either hate it or complain that Microsoft has just gone way too far with its changes. The Add some color to Visual Studio 11 beta suggestion on the has drawn more than 3,500 votes; and many of these people are enraged.

The lack of color icons and lines, in particular, makes coding in Visual Studio 11 depressing for some people, and challenging for others, who say it's harder to navigate in the IDE. Developers who commented on my recent blog, "Visual Studio 11 Gets a New Look," echoed those sentiments:

I just looked at the VS11 screenshots. Typical of Microsoft's do-it-our-way happy talk they claim their new monochromatic UI is wildly popular with developers even as the blog comments aren't. This is the ribbon bar fiasco revisited…

[T]he UI is just horrid. I find it immensely difficult to pick out an icon, delineate borders etc. Colors GREATLY help me to locate what I need quickly, and the contrast is much needed (at least for me). The new icons and look just utterly stink. The overall look/feel is dreary and depressing, like being deprived of sunlight. What is up with Microsoft?! They think (I guess because of some lame research) that people want this on their desktop? That they want all this minimalism? Maybe sometime but not bloody everywhere! This whole metro thing started out nicely but is now getting waaaay out of control….

Seeing Red
The Coca-Cola Company has introduced some changes over the years that got customers riled up, and then quickly backtracked. New Coke bombed. A color change to the cans of Classic Coke from red, to a white polar bear theme over the holidays, got the thumbs down. Now the company, along with other manufacturers of caramel-colored soft drinks, is facing the possibility of carcinogen warning on its product label and must tinker with the formula. I better stock up now.

Lately, when consumers revolt en masse, companies react--and fast. Netflix, Bank of America and a laundry list of other companies either misjudged their base, or were forced to abandon strategies because customers left in droves and opted for competitors' services.

Is complex software any different? Many .NET developers, whose livelihoods depend on Microsoft, could opt to stay on Visual Studio 2010. Microsoft is trying to cast a wider net, but it may have to make some concessions with the Visual Studio 11 interface to keep its base moving forward, especially with the arrival of Windows 8 Metro-style development, which requires Visual Studio 11 (Express or higher versions).

Express your thoughts on the new developer experience in Visual Studio 11. Are you more productive, getting acclimated to the changes or completely turned off by the reductions in the interface and limited use of color? Do you think Microsoft can re-introduce color (perhaps as an option) or modify parts of the interface before the final release? Drop me a line at

Posted by Kathleen Richards on 03/13/2012 at 12:54 PM23 comments

Visual Studio 11 Beta Gets a New Look

A lot can happen in 6 months. After an initial preview last September, Microsoft is finally releasing the Visual Studio 11 and .NET Framework 4.5 beta products on February 29 with a 'Go Live' license for use in production environments.

The beta tooling coincides with the release of the highly anticipated Windows 8 Consumer Preview and the launch of the Windows Store for Metro-style apps. That may explain some of the design changes that appeared in the beta tooling during a sneak preview last week. The updates to the user interface suggested an immersive experience promoting Metro-style app development, with streamlined toolbars (35 percent reduction in command placements) and far less use of color, icons, and what Microsoft calls "line "work" (boxes, separators, bevels, gradients and shadows).

While Visual Studio 11 is in "lockstep" with the Windows 8 platform; developers who expect the upcoming IDE to serve as a mother ship, with baked-in tools for Windows Azure and Windows Phone development, may be a bit disappointed. The Windows Azure Tools for Visual Studio will remain out-of-band extensions (that currently work with Visual Studio 2010 SP1) despite some added support in the upcoming IDE. The same holds true for Windows Phone Developer Tools, which do not require Visual Studio outside of the free Visual Studio Express for Windows Phone.

Even though Microsoft has reached the beta stage, the company has not finalized the upcoming Visual Studio SKU lineup or pricing, according to Jason Zander, corporate vice president of Visual Studio, and "Visual Studio 11" remains a codename.

"I think it will be similar to what we did in Visual Studio 2010 with respect to the makeup," Zander said. "So, we are not going to make a major change, like we did between 2008 and 2010 with respect to the roles, but we may add a SKU here or there, before we wind up shipping." He added, "But we are getting pretty close."

For now, the beta previews include Visual Studio 11 Ultimate, Visual Studio 11 Premium, Visual Studio 11 Professional and Visual Studio 11 Test Professional. An Express version of Team Foundation Server 11 is free for up to 5 users. That product is available, for the first time, as part of the beta previews. The company offered a free subset of TFS, which was called TFS Basic, with Visual Studio 2010.

You may have noticed that Microsoft has not provided a lot of data on performance enhancements in Visual Studio 11. Zander indicated that his team intends to share more data on performance in an upcoming Visual Studio Team blog. He cited one example of notable improvements when it comes to opening very large projects in Visual Studio. "We have examples, where that may have been like 2 minutes in Visual Studio 2010 and that same example is now down to 20 seconds," he said.

From an engineering perspective, the Visual Studio team has focused on improving areas such as virtual memory usage and responsiveness of the UI, according to Zander. "I am looking forward to having developers try out the beta and give us feedback on how we are doing," he said.

Check out the beta previews and express your thoughts on the coolest features of upcoming tooling, the new user experience, and some areas that you'd like to see Microsoft address. Drop me a line at

Posted by Kathleen Richards on 02/28/2012 at 12:54 PM2 comments

Entity Framework 5.0 and How We Got Here

Microsoft is touting performance metrics for automatic compilation of LINQ to Entities queries, a new feature in the upcoming Entity Framework 5.0.0. The repeat query performance has improved drastically compared to EF4, with times reduced by as much as 6x, according to Microsoft's preview performance testing.

David Obando, who works on the Microsoft Entity Framework team, explained how the automatic compilation works in response to a question posted on the ADO.NET team blog :

"In EF 5, the first time you execute a LINQ to Entities query EF will take the LINQ expression and compile it just like it did in EF 4. It will then store the compiled query into an internal query cache. The compilation time remains approximately the same, but can be faster in EF 5 for certain scenarios. The biggest benefit will come the second time you execute the same query since EF will now skip compilation completely and just use the compiled query it has cached."

The EF5 improvements, however, rely on assemblies in the upcoming .NET Framework 4.5 despite the company's efforts to ship Entity Framework updates out of band. In case you missed the latest on the versioning saga: Entity Framework v1 jumped straight to v4 with several Feature RTMs (4.1.0, 4.2.0 and 4.3.0) available, thereafter. Microsoft skipped v2 and v3 and indicated that the unusual sequence was intended to line up EF versioning with .NET 4 because the object-relational mapper was built on the .NET Framework. Many developers complained that EF 4 was misleading because the ORM was really only version 2.

Entity Framework 5, however, comes on the heels of Entity Framework 4.3.0, which was released February 9 and features Code First Migrations support. The decision to go directly to EF 5 was made because important APIs continue to ship out of band, according to Microsoft, which led the company after polling developers to decide to use "Semantic Versioning," starting with Entity Framework 4.2.0. Semantic Versioning is based on technical requirements. 

You may have also noticed that the latest Entity Framework updates (4.2.0 and 4.3.0) are via NuGet packages only (no MSI installers). Similarly, EF5 is slated for release via NuGet only, according to a February 11 blog posted by Arthur Vickers, a developer on the Entity Framework team at Microsoft, who explained the reasoning behind the decision as follows:

"It’s because it is a great match for delivering the EF runtime. This match comes from four things that NuGet does really well: setting up apps for bin-deployment, managing dependencies, providing easy project-level and PowerShell integration, and helping developers know about and get the latest version."

Separating EF updates from the .NET Framework release schedule has proved challenging, however. The EF Core Libraries remain part of the .NET Framework (System.Data.Entity.dll, System.Data.Entity.Design.dll, System.Web.Entity.dll) and are updated accordingly. Entity Framework 5 is expected to offer support for several features based on those updates, including Enum Types, Spatial Types, Table-Valued Functions, Stored Procedures with Multiple Results and Auto-Compiled LINQ Queries.

Diego Vega, a program manager on the Microsoft Entity Framework team, offers a lengthy explanation of the versioning decisions in his blog and likens the EF release schedule to that of ASP.NET MVC, which is frequently updated out of band.

Entity Framework 5 Beta 1, which supports enums, spatial data types and the query performance improvements, is expected immediately after the next preview of the .NET Framework 4.5.

Express your thoughts on the pace of development for the EntityFramework NuGet Package. Is the framework easier to use, or even more complicated with the versioning changes and efforts to separate from the .NET Framework? Drop me a line at

Posted by Kathleen Richards on 02/14/2012 at 12:54 PM0 comments

Go Live License Planned for ASP.NET MVC 4 Pre-Release

Microsoft is planning to release an ASP.NET MVC 4 preview with a Go Live license, according to Scott Guthrie, corporate vice president of the Server and Tools Business. The popular framework is used to develop ASP.NET-based Web sites and applications using a model-view-controller architecture, which separates presentation, logic and backend components for greater flexibility and testing. With a Go Live license, the pre-release technology is approved for production use with the understanding that some changes may occur before the final release. Microsoft released the ASP.NET MVC 3 beta, which introduced the Razor syntax, with a Go Live license in October 2010.

Guthrie did not offer a specific date when he confirmed plans for the Go Live license earlier this month during an Unplugged session with LIDNUG, the Linked.NET Users Group on LinkedIn. However, he announced in his blog on January 29th that he will give his first public presentation on ASP.NET MVC 4 during the Microsoft TechDays in Belgium, February 14-16 and the Netherlands, February 15-17. Some developers may have assumed that his move to the Microsoft Server and Tools Business meant that he is solely focused on Windows Azure. That is not the case. While Guthrie no longer heads the Silverlight team, he is still in charge of ASP.NET and related frameworks.

Microsoft has publicly stated that the Windows 8 beta is on track for release in late February. The company is circling the wagons around Windows 8 and its upcoming marketplace for Metro apps so it's likely that the release of beta tooling, namely Visual Studio 11 and .NET 4.5, which supports development of those apps, is not far off.

The ASP.NET MVC 4 Developer Preview, which was released at the Microsoft BUILD conference in September 2011 alongside the Visual Studio 11 and ASP.NET 4.5 Developer Preview (.NET 4.5), introduces support for mobile apps (C# for now, VB functionality is limited), among other enhancements. The initial ASP.NET MVC 4 preview supports Visual Studio 2010 and the Visual Studio 11 Developer Preview.

Mobile app support is a major draw in MVC 4, but some developers have questioned the rapid pace of the ASP.NET MVC releases, which have introduced major advances and changes to the framework (akin to the early days of Silverlight) since the technology's launch in March 2009. Microsoft has released new versions on a yearly cycle, rolling out ASP.NET MVC 2 in March 2010, and ASP.NET MVC 3 in January 2011. The source code for ASP.NET MVC 3 is available for download on CodePlex under the Microsoft Public License (MS-PL).

Express your thoughts on ASP.NET MVC 4 and the framework's rapid advancement. Are you excited about the upcoming support for Go Live deployments and mobile apps, or concerned about the challenges Microsoft continues to face with its Web and mobile platforms? Comment below or drop me a line at

Posted by Kathleen Richards on 01/31/2012 at 12:54 PM1 comments

Windows Phone Apps by the Numbers

Microsoft made a bit of a splash during its final Consumer Electronics Show appearance last week. Two state-of-the-art Windows Phones finally got the media's attention – the Nokia Lumia 900, which received the nod for best cell phone of CES from CNET, and the HTC Titan II. Both handsets are designed to support AT&T's 4G LTE network in the United States and are slated for release in the next few months.

Outside of CES, Brandon Watson, senior director for Windows Phone at Microsoft, released some 2011 stats for app developers last week that offered a glimpse into Windows Phone downloads. The data showed 48 app downloads per WP7 user in 2011. Games ranked first as the most popular Windows Phone downloads in 2011, both free (31 percent) and paid (64 percent), followed by Tools and Productivity apps, free (18 percent) and paid (8 percent). More than half of WP7 users (56 percent) had the option to bill Marketplace purchases directly to their wireless service accounts.

Microsoft registered 80,000 Windows Phone developers in 2011, according to Watson. Of the 50,000 apps certified and published in the Windows Phone Marketplace, the Entertainment category ranked first (17 percent) with the highest number of apps, followed by Tools and Productivity (15 percent), Books and Reference (15 percent) and Games (14 percent).

The company didn't, however, share key information such as the actual size of the WP7 market, free downloads versus paid apps, average price per paid app download or any data on the profits that developers made off of their Windows Phone apps.

As the new year begins without any reported bump in Windows Phone sales over the holidays – at least in the United States—the debate about the quantity and quality of Windows Phone apps rages on. Many popular mobile apps and standard services are not available on Windows Phone, which many people argue negatively impacts device sales, including mobile banking apps from major financial institutions, Pandora, and even Skype, which the company acquired. Microsoft is working to address this issue and reportedly expects to have the top 25 apps on the Android and iOS platforms available for Windows Phone in the first half of 2012.

The ultimate market maker may be smart phones that retailers and consumers rank as top tier devices—and Windows 8. As Windows 8 becomes available on x86-based tablets later this year, the Metro interface may peak consumers' interest and Windows Phones stand to benefit.

Express your thoughts on the outlook for Windows Phones in 2012 and your experiences with the Windows Phone Marketplace. Are you developing Windows Phone apps and making a profit? Drop me a line at

Posted by Kathleen Richards on 01/17/2012 at 12:54 PM4 comments

Microsoft Releases Silverlight 5 (with Life Support)

The folks at Microsoft have finally released Silverlight 5, the latest—and perhaps last—major update of the company's .NET technology for building rich interactive applications that can run out-of-browser or as a Web browser plug-in.

Silverlight 5 advances features for building rich client and media applications. It supports the PivotViewer and RichTextblock controls, improves text clarity (OpenType and text wrap) and offers a Postscript Vector printing API. It also adds support for WS-Trust in-browser, 3-D graphics, 64-bit apps and hardware decoding of H.264 video. Here's an overview of these features and more in Silverlight 5.The upcoming Internet Explorer 10 for the Windows desktop will be compatible with Silverlight, according to Microsoft, but the Metro-style version of IE10 for Windows 8 will not support the Silverlight browser plug-in. Windows Phone 7.5 (formerly codenamed Mango) is based on Silverlight 4 and remains a distinct platform. Silverlight 5 is supported in IE on Vista and Windows 7, Firefox, Chrome and Safari, according to Microsoft.

Silverlight 5 was announced about a year ago during a Firestarter event keynote given by Scott Guthrie who was then corporate vice president of the .NET platform. Even then, questions about Silverlight's future in the wake of Microsoft's growing emphasis on HTML5/JavaScript, were already drowning out news of another upgrade.

Despite the growing concerns of a loyal developer community, when the Silverlight 5 beta was released at MIX 11 in April, the conference focused on Internet Explorer 10 and its support of HTML5/JavaScript, and developments related to Windows Phone 7.

Microsoft's assertions that Silverlight is a strategic technology for client apps inside and outside of the browser, apps on devices (Windows Phone and Windows Embedded) and media solutions, have not convinced a lot of developers that the platform has a viable future, even on Windows. Lately much of the discussion has moved to XAML and how easily developers can transition their Silverlight skillsets to building Windows 8 Metro-style apps for the Windows Runtime.

Windows 8 and WinRT were unveiled in mid-September. The Silverlight 5 release candidate, which appeared at the beginning of September, was overshadowed by the upcoming Windows 8 announcements.

One bit of news with today's announcement of note: The company says that it will offer a Microsoft Support Lifecycle (MSL) policy for Silverlight (as a tool) for the first time. For Silverlight 5, the support continues through October 12, 2021. The company has also pledged to provide 12 months notice before discontinuing support.

Get the Silverlight 5 SDK, Silverlight 5 Tools for Visual Studio 2010 SP1 and related tooling here.

Express your thoughts on Silverlight 5 and the future of the platform. Are you downloading the latest tooling or moving on? Drop me a line at

Posted by Kathleen Richards on 12/09/2011 at 12:54 PM8 comments

Native Code Makes a Comeback

Has the .NET revolution been replaced by a C++ renaissance? Not at Microsoft.

You may have noticed over the summer that Microsoft started to offer "GoingNative" sessions on Channel 9, and continued to talk about a C++ renaissance, a phrase that the company coined as it recommitted to advancing C++ functionality in Visual Studio 2010, which offered support for upcoming C++11 (formerly called C++10x) language features like re-value references and lambda expressions. The initial changes seemed promising to some C++ developers, although features like C++/CLI IntelliSense never made it into the IDE or the VS2010 Service Pack 1.

But native developers who downloaded the Visual C++ for Visual Studio 11 Developer Preview were not happy when they saw the lack of core C++11 language features in the early VS11 tooling. Microsoft admits that its VC++ compiler is behind competitors in terms of C++11 compliance, the latest version of the C++ language, which was ratified in August. And the company has acknowledged that most of that won't change in the upcoming release (see C++11 Core Language features table). Microsoft did update the C++ Standard Library and extended its proprietary Parallel Patterns Library (PPL), which will also now support Linux.

In late September, C++ developer Jalf created "Speed up work on VC++" on the UserVoice forum and more than 1,031 developers have since voted in agreement.

"It is obvious, from looking at the amount of unfixed bugs, and the woeful C++11 feature support, that the VC++ team is understaffed," Jalf wrote in his forum post. "For a company bragging about its "C++ renaissance", that's just absurd. For the sake of all your C++ customers, you really need to speed things up. I won't dictate *how* it should be done, but I can think of three obvious suggestions…"

He and others suggested that Microsoft either devote more resources to VC++, open source it or think about licensing a compiler.

Many developers wonder if Microsoft was so focused on creating proprietary frameworks (WinRT C++/CLI) and language extensions (C++ AMP) that they didn't have the resources to advance the compiler. Herb Sutter, Microsoft's principal architect of C++, explained during a BUILD session, Writing modern C++ code: How C++ has evolved over the years, that those efforts got first priority but Microsoft also worked on a new C++11 language feature, namely variadic templates (support for a variable number of arguments), that didn't quite make it into VS11.

Microsoft is taking steps to reach out to its C++ community, however. On February 2-3, the company is hosting a GoingNative 2012 conference on its Redmond campus with Herb Sutter, and keynoter Bjarne Stroustrup, the creator of the ISO standard C++, slated to offer sessions that will be streamed live and available on demand within 24 hours.

"This is Microsoft's first native-code-only developer event in years, and it's not limited to Microsoft products or technologies -- it’s about ISO C++ on all platforms," Sutter explained in a blog about the conference. "We're taking the initiative to put on this event because we know that there's a huge demand for information about the new ISO C++11 standard, but that information is still really hard to come by -- the standard was just published last month, none of the major books has been updated yet to reflect it, and high-quality public information is just starting to trickle out…"

Registration to attend the conference in person is $112 and the facility has capacity for about 350 people, according to Sutter.

Express your thoughts on Visual C++ 11. Did Microsoft focus its development resources on the new WinRT and miss key Visual Studio 11 updates? Drop me a line at

Posted by Kathleen Richards on 12/06/2011 at 12:54 PM3 comments

Microsoft Releases IE10 Preview 4 for Windows 8

On Tuesday, Microsoft released an updated preview of Internet Explorer 10 for Windows 8.

The Internet Explorer 10 Platform Preview 4 requires the Windows 8 Developer Preview, which was released in September in conjunction with IE10 Platform Preview 3.

The latest preview for Windows 7 was IE10 Platform Preview 2, available for download in June.

According to Microsoft, IE10 Platform Preview 4 adds cross origin resource sharing (CORS), which enables Web developers to use XMLHttpRequest for file and data sharing across domains. It also introduces support for File API: Writer (blobBuilder), improved Web Worker functionality and HTML5 video text captioning, among other enhancements.

Breaking changes in Build 4 include limited support for IE's Vector Markup Language. This preview removes VML from the IE Standards and Quirks mode. Microsoft recommends that developers use standards-based replacements such as Scalable Vector Graphics, supported in IE since IE9. Similarly, DirectX filters are no longer supported in the Standards and Quirks mode.

"IE10 Preview 4 introduces an updated quirks mode that is more consistent and interoperable with the way quirks modes works in other browsers like Firefox, Chrome, Safari, and Opera," explained Rob Mauceri, Microsoft group program manager for Internet Explorer, in an MSDN IE blog about the new features in preview 4. "This updated quirks mode supports quirks for page layout, while allowing use of more up-to-date standards features like HTML5 elements for audio, video, canvas, and more."

Microsoft also updated the Internet Explorer 10 Guide for Developers for Platform Preview 4. Get the IE 10 Platform Preview Build 4 download here.

Are these test drives helpful or is Windows 8 too far off for many developers? Express your thoughts on Windows 8, IE10 and Microsoft's JavaScript/HTML5 strategy. Drop me a line at

Posted by Kathleen Richards on 11/29/2011 at 12:54 PM0 comments

Project Roundtripping in Visual Studio 11

Most people who commented on my recent blog, .NET 4 and .NET 4.5 Won't Coexist were not thrilled with Microsoft's decision to do an in-place update of the .NET Framework in the upcoming Visual Studio 11/.NET Framework 4.5. Microsoft is working on backward compatibility for .NET 4.5, of course, and trying to work out the kinks, but sometimes it’s the little changes that turn into major development headaches.

One area where backward compatibility in the latest tooling is applauded by developers is related to conversion of Visual Studio projects. For the first time, the Visual Studio 11 Developer Preview supports backward compatibility of project files, also known as project roundtripping, according to a recent blog posting by Microsoft Senior Developer Evangelist Zain Naboulsi.

Developers can open a Visual Studio 2010 SP1 project in the Visual Studio 11 Developer Preview and instead of converting the project file--a requirement of earlier versions of the IDE--they can continue to work on the same project in Visual Studio 2010 Service Pack 1. This roundtripping feature supports Visual Studio 2010 with Service Pack 1 only; it does not work for projects created in earlier versions of the IDE.

A few respondents who commented on the MSDN blog have noted instances in which the Visual Studio 11 Developer Preview still prompted them to convert project files (TF databases, for example). Naboulsi also points out:

When you use any feature specific to the new version of Visual Studio, like changing the Framework to the latest version, then the project cannot be opened in the prior version.

Are you jazzed about the project backward compatibility in the Visual Studio 11 Developer Preview? Express your thoughts below or drop me a note about cool features or tips that you've discovered in the next-gen tooling.

Posted by Kathleen Richards on 11/15/2011 at 12:54 PM2 comments

Commercial Kinect for Windows SDK Expected Early Next Year

It seems fitting that Microsoft marked the one year anniversary of its gesture-based Kinect (skeletal tracking) technology on Friday—the week of Halloween.

Among the flurry of announcements was the release of the Kinect for Windows SDK Beta 2. Like its predecessors, Beta 2 is for non-commercial app development only.

The biggest news is that Microsoft has finally announced a target timeframe for Kinect for Windows SDK v1.0, which will support commercial development, according to the company. The first version of the commercial toolkit (which is version 1 of the current beta 2 tooling) is slated for early 2012.

Windows for Kinect SDK Beta 2 adds support for 64-bit applications and the September Windows 8 Developer Preview (Windows desktop apps only, Metro style apps are not currently supported). Beta 1 and the Beta 1 Refresh supported development of 32-bit Windows 7 apps.

Beta 2 also provides APIs to manage two Kinect devices in the same application. The toolkit, according to Microsoft, includes numerous improvements in performance, memory allocation, skeletal data tracking, speech recognition, audio as well as color and depth images. A Status Changed event was added to provide information on device status. You can read more about the updates here.

The SDK includes most of what you'll need outside of specialized toolkits for speech recognition and DirectX: the Kinect drivers, native and managed APIs, documentation and code samples. You'll also need Visual Studio 2010 Express or Visual Studio 2010 and Kinect for Xbox 360 (retail edition).

One question that largely remained unanswered at BUILD in September was how applications built for Microsoft platforms – Windows 8 on the PCs, Windows 8 Metro Style apps on tablets, Silverlight for Windows Phone apps and Xbox 360 video games—would run on multiple devices. Microsoft is starting to cross-promote the gesture-based Kinect, a clear winner among its recent technologies, on Windows Phone, Xbox game consoles and Windows-based PCs.

The company released an Xbox Live version of Kinectimals for Windows Phone in late October, which enables users to "train" lion and tiger cubs on their Windows Phone and then play with the trained virtual pets in their Kinectimals for Kinect Xbox 360 video game. As someone noted in the comments rating the Windows Phone game, this is the type of stuff the company should promote in its Windows Phone advertisements.

Voice commands, natural user interfaces and sensors represent the next frontier for software development. How do you envision technologies like Kinect being used in non-gaming applications? Are you more likely to check out the Kinect for Windows development environment with a commercial license on the horizon? Express your thoughts below or drop me a line at

Posted by Kathleen Richards on 11/08/2011 at 12:54 PM1 comments

.NET 4.5 and .NET 4 Won't Coexist

Developers may have to get back to .NET app migrations. The upcoming Microsoft .NET Framework is designed as an in-place update meant to replace .NET 4, instead of the side-by-side installation model that the company used with the current release.

Microsoft released a preview of the .NET Framework 4.5 in mid September as part of the Visual Studio 11 Developer Preview. The.NET Framework 4.5 has the same version number as .NET 4 and Microsoft is working to make it backwards compatible so that it supports existing applications. (.NET 4.5 and .NET 3.5 can still be installed side by side.)

Microsoft officially introduced side-by-side installations of .NET with .NET 4. Scott Guthrie explained the changes in his blog back in August of 2009:

.NET 4.0 has a new version number for both the framework libraries and CLR engine – which means it runs completely independently from .NET 2.0, 3.0 and 3.5. What this means is that you can install .NET 4.0 on a machine that has .NET 2.0/3.0/3.5 installed, and configure some applications to run using .NET 4.0 and others to run using the older .NET versions (the IIS admin tool allows you to configure this for ASP.NET applications). This allows you to use .NET 4.0 for new applications - without having to necessarily test and upgrade all your existing ones.

Microsoft is requesting feedback from early testers on application compatibility issues with .NET 4.5. Some developers are requesting that the company at least change the version number of .NET 4.5 to prevent software deployment and debugging issues. Others want Microsoft to allow .NET 4.5 to run side by side with .NET 4 to help avoid the compatibility testing and related headaches.

Microsoft's Brandon Bray indicated that compatibility isn't the only issue in response to developers' comments on a blog written by Manish Agnihotri, a Microsoft program manager, who is responsible for "driving compatibility across the .NET Framework":

I'll work on getting a discussion going about side-by-side vs. in-place releases. There's more to consider than just compatibility. And I can assure you, the comments left here are being read and discussed amongst the teams contributing to .NET.

You can still use Visual Studio 11 to build projects that multitarget .NET 4.5, .NET 4 and .NET 3.5, according to Microsoft. Limited multitargeting support was first introduced in Visual Studio 2008 and advanced in Visual Studio 2010.

Express your thoughts on side-by-side versus in-place updates to the .NET Framework. Are you prepared to test your existing applications and upgrade them if necessary to run on the next version of the .NET Framework? Drop me a line at

Posted by Kathleen Richards on 11/01/2011 at 12:54 PM24 comments

Microsoft Opens Up .NET Compilers

At BUILD Microsoft released the Visual Studio 11 Developer Preview but what may be coming next—after Visual Studio 11—promises to take code generation and refactoring to meta-programming levels. Programming legend Anders Hejlsberg, a Microsoft technical fellow and the chief architect of C#, hosted a session on the future of Visual Basic and C# at BUILD and announced an October preview of the .NET compilers as a service (codenamed the Roslyn Project), which opens up the Microsoft C# and VB compilers as public APIs. Hejlsberg first talked about the compilers as a service project at PDC 2008.

On Wednesday, Microsoft released the first CTP of the rewritten C# and Visual Basic compilers. The existing compilers are built in C++. The new compilers are rebuilt in managed code using their respective languages. (Compilers as a service are not on the roadmap for other .NET languages, according to Microsoft.) Miguel de Icaza introduced a Mono C# Compiler as a Service on Windows last April. The Mono project originally introduced the C# compiler as a service in September 2008 but only Mono users ( Linux and OSX) could use it based on Mono-specific extensions that prevented its use on the Microsoft runtime.

The purpose of the Roslyn CTP is to get developers' feedback on the new model and public APIs, according to Microsoft. The Microsoft "Roslyn" October 2011 CTP exposes an API layer that "mirrors a traditional compiler pipeline" and offers a glimpse at planned Workspace, Services and Scripting layers. The compiler services include a Syntax Tree API, Symbol API, binding and flow analysis API and emit API. The Roslyn CTP is an extension to Visual Studio 2010 SP1 that requires Windows 7, Windows Server 2008 R2 and the Visual Studio 2010 SP1 SDK.

Head of the Microsoft Developer Division, "Soma" S. Somasegar explained the post-Visual Studio 11 technology in his blog:

With these compiler rewrites, the Roslyn compilers become services exposed for general consumption, with all of that internal compiler-discovered knowledge made available for developers and their tools to harness. The stages of the compiler for parsing, for doing semantic analysis, for binding, and for IL emitting are all exposed to developers via rich managed APIs.

The compilers as a service technology introduces language services and APIs that will have full fidelity with C# 4 and Visual Basic 10, according to Microsoft, but many of the language features did not make it into the October preview. The Interactive window for scripting, similar to F# Interactive, supports C# in the October preview. Visual Basic support is planned for a future release, according to Hejlsberg.

Some of the scenarios envisioned by Microsoft for the Roslyn technology include embedding C# code snippets in Domain Specific Languages, creating Read-Eval-Print-Loops (REPLs) for interactive programming and building third-party dev tools using the new language object models.

Microsoft is working hard on technology beyond C# 5.0 and Visual Basic 11, which are the latest versions supported in Visual Studio 11. Both languages have been updated to support more asynchronous programming (Async previews) and the new Windows Runtime (WinRT) for Metro style apps.

Express your thoughts on the .NET compilers as a service. Is this a good sign for the future of .NET? Drop me a line at

Posted by Kathleen Richards on 10/25/2011 at 12:54 PM4 comments