Get the Goods in La La Land

This year has been tough on live events, so I am happy to report that Microsoft has opened registration for PDC09 this week.

The major announcement at PDC will be the commercial release of the Windows Azure Platform, according to Microsoft, although Windows 7 will certainly get lots of attention. Could Visual Studio 2010 and .NET 4 get released? The show usually serves up some surprises but Windows Azure and Windows 7 require .NET 3.5 so the timing may be awkward.

Part of the fun is that attendees are given pre-release bits of upcoming technologies, a.k.a. “the goods.” Perhaps the goods will deliver VS 2010/.NET 4 beta 2, the latest Office 2010 bits and the first public bits of SharePoint 2010 for developers. The SharePoint 2010 technical preview started last month. Microsoft is highlighting new features in Visual Studio and SharePoint aimed at developers, notably a Solution Explorer that adds Features and Package Folders to the VS project menu, designers for VisualWebParts and Business Connectivity Service Entities, integration with VSTS, LINQ for SharePoint, a Developer Dashboard that provides up to date resource information after page refreshes and Silverlight integration.

Windows Mobile 6.5 – the first phones are expected in September--and the new Windows Marketplace for Mobile, Windows Mobile 7 and Silverlight for Mobile should also get some play. These technologies were largely absent from PDC08, but Microsoft needs to get developers on board their Marketplace effort, and provide a coherent vision for desktop, Web, services and devices. Microsoft has traditionally relied on business customers, but as more people use their smartphones for work and play, the company is realizing that it needs to address this convergence.

The Professional Developers Conference--held just one year after the 2008 confab--will again take place at the Los Angeles Convention Center, November 17-19th. The weather is warm in November so you can expect to sit outside at restaurants and rooftop bars. The Convention Center is in downtown LA, and neighbor to the Staples Center, home to the Lakers, and more recently, the Michael Jackson memorial.

The way we communicate information is changing, with brevity a growing trend as people text or tweet, although somehow it’s still TMI. Go figure. What does all this mean for annual live events that promise brain dumps on critical upcoming technologies along with unique opportunities to mingle with the Microsoft teams and other professional developers? Are you headed to PDC, or grounded from conferences by the economy and planning to attend virtually? Express your thoughts below or drop me a line at [email protected]

Posted by Kathleen Richards on 08/04/20090 comments


Microsoft Adds Atomic Blocks to .NET 4

On Monday Microsoft released an enhanced version of .NET Framework 4 Beta 1 called STM.NET that enables software transactional memory. The project, which originated in Microsoft Research Cambridge, provides a mechanism that improves isolation of shared states in concurrency without degrading performance.

Available on MSDN DevLabs for C# programmers, the "experimental" STM.NET "frees developers from worrying about the mechanics of fine-grained locking and synchronization in multithreaded applications by providing transactional semantics for reading and writing to memory," says DevDiv's Senior Vice President Soma "S" Somasegar in a blog posting. He goes on to explain how STM.NET works:

"The .NET Framework's just-in-time compiler rewrites the code within an atomic block to use transactional memory. As a result, a significant amount of .NET code works without changes, including code that uses locks. STM.NET also provides integration with System.Transactions so you can coordinate your atomic memory operations with existing transactional resource managers like MSMQ."

Even though it's an experimental version of .NET 4 Beta 1, STM.NET requires Visual Studio 2008 and Windows XP or Vista (x-32-bit only). It cannot run on machines with VS 2010 Beta 1 installed. The STM-enabled version of .NET is for C# programmers only, primarily due to the small project team, according to STM program manager Dana Groff. You can read more about what STM.NET offers above and beyond .NET 4 Beta 1 in Groff's blog about the STM.NET version 1.0 release.

According to a statement about the project on the MSDN DevLabs Web site:

"The goal is to be able to exploit concurrency by using components written by experts and consumed by application programmers who can then compose together these components using STM."

Microsoft is looking for developer feedback on this technology. Learn more about STM programming and download the STM.NET-enabled version of .NET 4 Beta 1 here.

What's your take on concurrency and parallel programming in .NET 4 so far? Express your views below or drop me a line at [email protected]

Posted by Kathleen Richards on 07/30/20092 comments


The Mobile Marketplace Race Is On

This week Microsoft is officially taking submissions to begin to certify qualified apps for its upcoming Windows Marketplace for Mobile. The launch of the app store will coincide with the release of Windows Mobile 6.5 phones from companies like HTC, LG and Orange later this year.

With the Apple app store operating at full throttle, Microsoft needs to get developers worldwide excited about building Windows Mobile apps, despite a platform that lags behind on key features, notably multi-touch, not expected until Windows Mobile 7. An interim release, Windows Mobile 6.5 offers a new interface with the Marketplace app built-in, IE Mobile 6 and a free My Phone sync service.

Microsoft’s mobile developers will receive 70 percent of their marketplace app sales, the same model used by Apple for its iPhone and iPod Touch apps. Mobile app developers often write their software for multiple platforms, but Apple’s marketing muscle and the gold rush mentality has tilted some dev shops in the direction of Cupertino.

On Monday, Microsoft introduced the Race to Market Challenge for developers in 29 countries, a contest that starts this week and runs through December. Apps will be judged, according to a Windows Mobile team blog posting by Todd Brix in four categories: free app with the most downloads, best value calculated by downloads x price, most useful and most playful. Winners in each category will receive a developer edition of the Microsoft Surface multi-touch table, online marketing of their app and a trophy.

Microsoft is looking for business and consumer apps with at least one phone capability (phone, contacts, accelerometer, sensors, and the like, according the contest rules) built using the Windows Mobile platform (.NET Compact Framework 3.5). If selected, Marketplace apps will be available to Windows Mobile device users, estimated by Microsoft at around 30 million worldwide, when the app store broadens its support to include Windows Mobile 6.0 and Windows Mobile 6.1 by the end of 2009.

The Microsoft app store will also feature a Windows Marketplace Business Center. Companies such as Avanade UK, Formotus, Ilium Software, Pyxis Mobile and Web IS have signed on and have business apps in the works, according to Microsoft.

Mobility apps for corporate types may be the sweet spot for developers. Outside of the Xbox, Microsoft has an age problem. Mobility is something that the young take for granted. Teens clamor for iPhones, Blackberries and iPods. I don’t know anyone under twenty-five with a Windows Mobile device. With the new phones, hopefully that will change. The still standalone Zune does not run Windows Mobile and therefore cannot support Windows Mobile apps, although Steve Ballmer has said in interviews that Zune-like functionality will be integrated into Windows Mobile at some point.

.NET developers who build for the desktop or the Web will have to start from the ground up. Even though .NET Compact Framework 3.5 is a subset of the .NET Framework, it’s more like apples and oranges, than simply porting Windows desktop apps to Windows mobile devices. Microsoft is working to address some of these platform silo issues, most visibly with desktop and Web technologies like Windows Presentation Foundation and Silverlight. The status of Silverlight for Mobile, despite the launch of Silverlight 3 earlier this month, is unknown.

Retail stores are on the way and Microsoft phone rumors persist. Can Microsoft follow Apple’s lead and get app developers jazzed about its mobile platform? Or are you waiting to see if Microsoft can deliver the goods with Windows Mobile 7? Express your views below or drop me a line at [email protected]

Posted by Kathleen Richards on 07/28/200915 comments


Lucky 7 for Microsoft Developers

Microsoft released Windows 7 and Windows Server 2008 R2 to manufacturing on Wednesday, three months prior to the planned Oct. 22 retail launch. Windows 7 could be auspicious for the Windows team after the blight of Vista, but developers need to help Microsoft sell it with compatible apps and must-have software.

The arrival of a new OS can exercise dev teams' mettle. In the case of Vista, the initial lack of drivers and a compatibility quagmire quickly snowballed into the widely held perception that for many companies, upgrading to the new OS was more trouble than it was worth.

Despite the early positive reviews for Windows 7, getting existing apps running on the new OS, especially for the Windows XP crowd, could prove challenging. The potential agony for end users is described in Walt Mossberg's Personal Technology column for the Wall Street Journal, "For Some, Move To Windows 7 Will Be Tough."

The anguish for app developers could also be rough, especially at companies that bypassed Vista, because many of the same compatibility hurdles exist for Windows 7. "The Windows Vista Application Compatibility Cookbook is still very relevant for Windows 7, as 99% of its topics apply to Windows 7," writes Yochay Kiriaty on the Windows Team Blog. He goes on to identify the seven compatibility hot buttons that afflict apps most often: version checking, data redirection, IE protected mode, session 0 isolation, installer detection, user interface privilege isolation and high dpi. Uh oh, maybe seven isn't so lucky for Microsoft.

Companies that upgraded their apps to run on Vista should have an easier time. Kiriaty recommends checking out the Windows 7 Quality Cookbook to learn more about the app functions that differ between the two systems.

On the upside, the new functionality in Windows 7 offers tremendous opportunity for developers. Microsoft is fueling this effort with a Code7 Contest that offers up to $17,777 and a free trip to PDC09 for the finalists in seven geographical locations. Contestants submit a three-minute video explaining their application, which must take advantage of at least one of these Windows 7 technologies: Libraries, Windows Touch, Shell Integration, DirectX 11, or Sensor and Location Platform.

What is your strategy for app compatibility and Windows 7? Is this the operating system that will right Microsoft's slip or is the migration path more pain than gain? Express your thoughts below or drop me a line at [email protected]

Posted by Kathleen Richards on 07/23/200911 comments


Silverlight Lures Desktop Developers

Earlier this month, RDN Express asked if Silverlight was ready for business.

Paul from Minneapolis commented:

"I agree that Silverlight is coming along nicely. However, it is still a work-in-progress. I'm designing a global SL 3 app that talks to several back-end systems. Items still needed: print and webcam/audio support, being able to set starting paths for the file dialogs. SL's security sandbox needs to provide for intranet zones if we are to be building business apps. I'm incorporating Telerik's SL controls to satisfy requirements such as right-click menus, a 'real' grid, a rich-text control, etc."

Many of you weighed in and John K. Waters posed several of your questions (thanks to those who commented) directly to Scott Guthrie himself during a one-on-one interview at the Silverlight 3 launch event. Guthrie said a print API and webcam/audio support is on Microsoft's radar for a later release.

As far as the sandbox model, he said: "With Silverlight, we allow you now to open files locally, but it still requires user permission. One of the things we're looking at for future releases is an option, especially for enterprise apps, that allows an administrator to grant permissions."

Waters asked if that option was in the works and Guthrie said, "The truth is, people who want to use Silverlight for enterprise full-trust apps still represent a relatively small portion of the market. It's something that we haven't built yet, but it's something that we are considering."

When Waters asked Guthrie why enterprise developers should care about Silverlight 3, he commented:

"One of the growing trends that we see is people wanting Web-based deployment of apps. In other words, they want the TCO of a thin client, but at the same time want to deliver the end user productivity from the traditional desktop-based applications. Where I think Silverlight is interesting for enterprise shops is that it can provide this blend of Web-based TCO and deployment with all the end user capabilities of a thin client app."

That may sound like a marketing soundbyte but it coincides with a comment that Todd Anglin, lead technology evangelist for Telerik, made a few weeks ago. Anglin told me he was surprised when he recently posed a question to his audience during a conference session. He asked attendees who were developing apps for Silverlight whether they were coming from a desktop or a Web background. Desktop ruled by far.

If you missed it, the ScottGu interview is definitely worth checking out: "Guthrie Breaks Down Silverlight 3 for Enterprise Developers."

In other Silverlight news, Microsoft is saying bye-bye to Popfly, a mash-up and game app creator based on Silverlight aimed at non-professional programmers. Popfly debuted in 2007 but apparently didn't catch on with consumers. A note on the beta project's site indicates that the service and all accounts will cease on Aug. 24.

What's your answer to Todd Anglin's Silverlight background question: desktop or Web development background? Is Silverlight driving more developers to the Web? Is this a good thing or are rich Internet apps too challenging for Web dev newbies? Express your thoughts below or contact me directly at [email protected].

Posted by Kathleen Richards on 07/21/20091 comments


.NET Pricing in the Cloud

The meter will start running for Windows Azure in November. Microsoft outlined the long-anticipated pricing model for its cloud computing platform at its Worldwide Partners Conference (WPC) in New Orleans today.

The Azure business model primarily consists of pay-per-usage or subscription-based pricing with a myriad of service-level agreements (SLAs). It offers several options -- the consumption-based pricing is similar to that of Amazon EC2 -- and a few surprises such as charging for "message operations." End-to-end service pricing, outside of the subscription model, appears hard to forecast.

MSDN Premium subscribers will get access to free resources to develop and test apps for a promotional period of six months after the commercialization of Azure. When your Azure app becomes available as a commercial service, you'll have to start paying service charges.

"We are reiterating that we are on track for commercial availability at Professional Developers Conference '09, which is in November of this year," said Prashant Ketkar, Azure's director of product marketing. "So the product will become generally available [and] we essentially start billing our customers and partners for usage of the platform and the service."

The consumption-based or pay-as-you-go model is based on several meters: compute time per hour, storage in gigabytes, bandwidth and message operations defined as service bus messages, and access control tokens.

Windows Azure:

      • Compute:  $0.12/hour
      • Storage: $0.15/GB stored
      • Storage Transactions: $0.01/10K
      • Bandwidth: $0.10 in/$0.15 out/GB

SQL Azure:

      • Web Edition: Up to 1GB relational database, $9.99
      • Business Edition: Up to 10GB relational database, $99.99
      • Bandwidth: $0.10 in/$0.15 out/GB

.NET Services:

      • Messages: $0.15/100K message operations, including service bus messages and access control tokens
      • Bandwidth: $0.10 in/$0.15 out/GB 

Learn more about the pricing and licensing here.

For developers and ISVs, the end-to-end scenario is more important than the per-unit pricing, Ketkar acknowledged. The subscription-based pricing lets you prepay for a certain capacity over a period of time. It's designed to help those in a fixed contracting-type business who need to bill customers for services and predict business outcomes, such as anticipated margins.

SLAs will be available upon commercialization of Azure for compute instance, storage, database-as-a-service, speed of authentication for applications, services and users. An SLA also exists for the automated service functionality. Read more about the SLAs here.

Microsoft partners that are part of the Microsoft Partner Network get a 5 percent discount on all Azure pricing.  

The pricing announcements came in conjunction with some rebranding: The Azure Services Platform is now called the Windows Azure Platform. It consists of Windows Azure (compute, storage, automated service functionality, developer environment), SQL Azure (formerly SQL Services or SQL Data Services) and .NET Services, which includes the Internet service bus and access control. Workflow Services, formerly part of .NET Services, was dropped in the latest CTP and is getting rebuilt on the .NET 4 workflow engine based on developer feedback, according to Microsoft. The Windows Azure Platform (outside of the Workflow Services) is on target for commercialization in November, Ketkar said.

Are the Azure pricing and business models the linchpin for Azure development or do you need more from Microsoft? Express your thoughts below or contact me directly at [email protected].

Posted by Kathleen Richards on 07/14/20091 comments


Locally, In the Azure Cloud or Chrome?

When Google debuted its Chrome browser last fall, it was clear that an operating system wasn't far behind. On Tuesday, the company made it official.

The Google Chrome OS, described by the company as "Google Chrome running within a new windowing system on top of a Linux kernel," will be made available as open source code later this year. Google has had undeniable success in the browser wars, reporting that 30 million people use the Chrome browser on a regular basis.

With a free OS on the horizon in a netbook economy, Steven Sinofsky, promoted to president of Microsoft's Windows division yesterday, has his work cut out for him.

Sundar Pichai, Google's VP of product management, and Linus Upson, engineering director, explained what the Chrome OS means for developers in a blog posting announcing the new project:

For application developers, the Web is the platform. All Web-based applications will automatically work and new applications can be written using your favorite web technologies. And of course, these apps will run not only on Google Chrome OS, but on any standards-based browser on Windows, Mac and Linux thereby giving developers the largest user base of any platform.

Google plans to make the Chrome OS available on netbooks in the second half of 2010. The company is working with several hardware and software companies including Acer, Adobe, ASUS, Freescale, Hewlett-Packard, Lenovo, Qualcomm, Texas Instruments and Toshiba.

As Pichai and Upson correctly point out, "The operating systems that browsers run on were designed in an era where there was no Web." The Chrome OS is targeted at people who live on the Web and "attempts to re-think what an operating system should be."

Google definitely got the industry abuzz, just days before Silverlight 3 is launched. Meanwhile, Microsoft is finalizing Windows 7 and continuing its push to make the Windows Azure cloud computing OS commercially available by year end.

On Tuesday, Microsoft released the July CTP of its .NET Services SDK, which is part of the Azure Services Platform. The SDK updates the Service Bus and Access Control, but drops Workflow Services, a move Microsoft announced in mid-June. Developers wanted .NET Workflow Services to be built on .NET Framework 4's workflow engine, according to the .NET Services team blog:

As the direct result of user feedback, we will hold off further releases of the Workflow Service until after .NET Framework 4 ships. Since there will be important changes to the Workflow Service before it goes to full production, we are planning to take down the existing Workflow Service as part of service improvements in the month of July. This means any solutions that currently rely on the Workflow Service will have to be modified on or before July 1 in order to continue functioning smoothly.

The sixth iteration of the CTP adds support for the Windows 7 release candidate, and offers setup and security improvements. It requires VS 2008, .NET 3.5, Windows Vista, Windows 7 or Windows Server 2008. You can download it here.

Microsoft is expected to make several Azure-related announcements next week, including information about the pricing structure, at its Worldwide Partners Conference in New Orleans.

What are your thoughts on the Chrome OS? Will Google finally "consumerize" Linux? Express your take on the good, the bad and what you'd like to see from Microsoft below or drop me a line at [email protected].

Posted by Kathleen Richards on 07/09/20093 comments


Is Silverlight 3 Ready for Business?

Microsoft is expected to launch Silverlight 3 and Expression Blend 3 at an event in the San Francisco Bay Area this Friday. I lived on Russian Hill for four glorious years in the early '90s and I can definitely relate to Jack London's description of his youth in this magnificent city:

"You look back and see how hard you worked and how poor you were, and how desperately anxious you were to succeed, and all you can remember is how happy you were."

As developers "see the light" for the third time and welcome Scott Guthrie and S. "Soma" Somasegar to the Bay Area, it's apropos that the latest version of the technology is officially released in the Paris of the West.

Silverlight 3 finally delivers the goods for enterprise app developers, according to many people who are familiar with the technology. While business applications can be built in Silverlight 2, many developers were still, in effect, rolling their own apps as they dealt with issues such as one-off styles that required repeating a lot of code, observed Tony Lombardo, Microsoft MVP and Infragistics' lead evangelist. "Silverlight 3 allows developers to focus on the business logic layer...and not all the little pieces," he said. "You don't have to write as much code."

Among its new features, Silverlight 3 adds style inheritance through XAML element databinding, which binds properties so that changes are made across elements. It also offers built-in animation-easing functions (BackEase, BounceEase, CircleEase and many more), the ability to simulate 3-D with XAML, Pixel Shaders similar to those found in WPF, and GPU support. You can follow the latest Silverlight and Expression Blend developments on the team blog here.

The out-of-browser support in Silverlight 3 is expected to attract LOB developers. "In the past, developers looked at XBAP deployment or XAML browser application of a WPF app and that blurred the line between 'Is this a Windows client application or is this a Web application?'" Lombardo said. "But that was more about deployment.

"Now, with Silverlight out-of-browser, you are getting a very similar-type blur and that is going to continue to happen. That is a big benefit for a lot of these companies that are investing in Web technologies and want the zero deployment factor of being able to just put an application up and everybody can use it without having to worry about running these installers and doing all the other tasks associated with that."

Microsoft is working hard to make Silverlight 3 the technology of choice for enterprise developers. Is Silverlight 3 a complete platform or are there still areas that Microsoft needs to work on? Express your thoughts on the Web below or drop me a line at [email protected].

Posted by Kathleen Richards on 07/07/200919 comments


Microsoft aTwitter About Interop

Outlook's rendering of HTML e-mail in Word came under fire again this week on Twitter after David Grenier wrote a blog entitled "Microsoft to ignore web standards in Outlook 2010 -- enough is enough" and launched a tweet campaign on FixOutlook.org. So far, 20,000 and counting....

Grenier who started the Email Standards Project based on this same issue when Outlook 2007 switched from IE (used in earlier versions) to Word to render HTML emails, reports:

After testing the latest beta of Outlook 2010 and seeing the same poor standards support as 2007, a senior member of the Outlook team confirmed they plan on continuing to use Word to render HTML emails. Not only that, but early tests indicate that HTML support in the Word engine has not been improved in any way. Same bugs. Same quirks.

Microsoft came out swinging in a response to the FixOutlook tweeters on its Microsoft Outlook Team blog. William Kennedy, corporate vice president, Office Communications and Forms Team, said:

The Email Standards Project, which developed the website that promotes the current Twitter campaign, is backed by the maker of "email marketing campaign" software.

First, while we don't yet have a broadly-available beta version of Microsoft Office 2010, we can confirm that Outlook 2010 does use Word 2010 for composing and displaying e-mail, just as it did in Office 2007. We've made the decision to continue to use Word for creating e-mail messages because we believe it's the best e-mail authoring experience around, with rich tools that our Word customers have enjoyed for over 25 years.

Kennedy also claimed:

There is no widely-recognized consensus in the industry about what subset of HTML is appropriate for use in e-mail for interoperability.

The timing of this latest dust-up dovetailed nicely with a visit to our Framingham offices earlier today by Craig Shank, general manager of Microsoft's Interoperability Group and Jean Paoli, general manager of the Interoperability Strategy Team. They declined to comment on the specific Outlook issue but outlined Microsoft's current approach to interoperability in broad terms.

"The Internet has changed everything," said Shank, from the enterprise to the cloud to the device level. "The user level and the purchaser level has a strong expectation that connectivity will be seamless. The developer level recognizes that there is work involved in order to get there."

Microsoft recognizes that its technologies have to work in a mixed IT environment. The company is taking a "structured approach" based on customer focused scenarios, according to Shank, in four areas: products, collaboration, developer resources and formal standards.

It's been about 18 months since Microsoft unveiled its Interoperability Principles, which included the pledge to engineer upcoming products under new the guidelines and upload reams of technical documentation for Microsoft protocols for six key products, Office 2007, SharePoint Server 2007 and Exchange Server 2007 among them. Since that announcement in February 2008, the Microsoft IE team changed course midstream and pledged to make IE8 Web-standards complaint. In May, MindTree Limited released version 1 of the OpenXML Document Viewer, which enables users to read .docx files as HTML.

This month, a new Interoperability@Microsoft blog and the Interoperability Bridges and Labs Center site should make Microsoft's multiple interop efforts easier to track.

Principles are one thing, real-world implementation is another. The Outlook 2010 beta technology smacks of Windows with Walls. As a developer, is it any easier to exchange documents, integrate Office and SharePoint with third-party products or use Web Services as a bridge to non-Microsoft technologies than it was 18 months ago? Express your thoughts on the Web below or drop me a line at [email protected].

Posted by Kathleen Richards on 06/25/20091 comments


Team System 2010 Leaves eScrum Behind

Yesterday, Microsoft's Brian Harry announced that the company is discontinuing eScrum, the Scrum process template for Team Foundation Server (TFS) developed by a Microsoft team outside of the Visual Studio Team System (VSTS) group.

"[T]he eScrum download is going to be removed in a few weeks and I don't expect there will be any further updates," explained Harry, a Microsoft Technical Fellow and lead of TFS, in his blog. "If there is some reason this change is going to cause you undo hardship, please contact me and we'll see if there's some way to get you access to the eScrum source so that you can maintain it yourself."

eScrum, which works with TFS 2005/2008, enables developers to interact end-to-end with their projects using a Web UI, Team Explorer, Excel through Office integration or Microsoft Project.

After a "3-bucket list" about "software deliverables" meant to explain why eScrum is kicking the bucket, Harry asserted:

"Scrum remains a very important development methodology and one that Team System is committed to supporting very well. We have made numerous enhancements in TFS 2010 that will make Scrum work even better with Team System. When people ask me how to do Scrum with Team System, I generally tell them you can do it out of the box but it's not very customized/specialized to the Scrum by default."

Touche. Microsoft's support of Agile has, to put it kindly, been somewhat limited. With Visual Studio (VS) 2010, DevDiv appears to be moving toward better tooling for people interested in doing test-driven development (TDD). The exact definition of TDD, like cloud computing, varies widely and purists rightly point out that TDD isn't necessarily Agile.

The release of ASP.NET MVC -- available out-of-band and slated for VS 2010 and .NET 4 Beta 2 -- and the push to maintain "developer context" in the new VS 2010 editor should ease "test first, code later" scenarios, as I blogged in RDN Express on Tuesday.

But Agile and VS/.NET still don't really seem to go together. Do Microsoft tools support Agile processes? This may simply be a resource issue in Redmond. And it's an impression that contradicts what Robert C. Martin, part of the group that wrote the Agile manifesto, expressed to me in an interview a few years ago:

"There have been a number of companies that have adopted .NET as well as Agile development. I think this is partially due to Microsoft's interest in Agile development, which has shown up over the last several years and partially I think it is the general trend of the industry to go Agile no matter what platform you have chosen.

"Microsoft has hired a fair number of the folks, even Ward Cunningham, one of the fathers of Agile development. Visual Studio has also begun to show up with some features along the lines of refactoring and testing."

How many .NET users follow Agile processes today? Is that faction growing? Or is it an enterprise trend that requires Microsoft to follow along?

Harry points Team System users with a need for Scrum to the free, third-party Conchango Scrum for Team System, developed in conjunction with well-known Scrum proponent, Ken Schwaber. A "lightweight VSTS Scrum template" not referenced by Harry is also available on CodePlex.

Is your team following Agile development practices? How do you rate Microsoft's interest and support of Agile development? Express your views below or contact me directly at [email protected].  

Posted by Kathleen Richards on 06/11/20094 comments


Test-Driven Development in VS 2010

Microsoft is finally getting the message about the .NET community's interest in test-driven development (TDD). The result is some cool functionality in the new editor in the upcoming IDE.

By now, everyone is familiar with the ASP.NET Model View Controller (MVC) pattern, a framework that Microsoft swiftly developed after the alarming enterprise interest in Ruby on Rails. ASP.NET MVC Version 1 was released at MIX09 in March but it isn't in Visual Studio (VS) 2010 and .NET 4 Beta 1.

"We're working hard to have an out-of-band installer, which will install the project templates and tooling for ASP.NET MVC which works with VS 2010 Beta 1 some time in June on CodePlex," explained Microsoft's Phil Haack today in his blog. ASP.NET MVC will be in VS 2010 Beta 2, according to Haack.

The co-hosts of the Connected Show, New York-area Microsoft developer evangelist Peter Laudati and Microsoft consultant Dmitry Lyalin, hit on TDD yesterday during a wide-ranging VS 2010 discussion with VS product planner Tony Goodhew. Goodhew never mentioned that ASP.NET MVC was not in Beta 1 but he offered some insight into how TDD will work in the new VS 2010 editor.

At one point, Goodhew talked about academic research around the cost to the developer of reacquiring context. "When I am doing something, I have to stop doing it. The re-acquiring of the context of what I was doing from the UI can be very, very expensive in terms of developer productivity...we wanted to focus on reducing this context acquisition cost at all times."

This "in-context" strategy explains, in part, how the new editor eases TDD. Here's a bit of the TDD discussion from the show:

Laudati: With TDD, that's kind of been an up-and-coming development practice that a lot of folks have been adopting in the Microsoft community. There's been some criticism, I think, around the way Visual Studio handles some of that. I know that the MVC framework kind of makes it easier to do TDD from the development and design perspective. Is there anything new in the tooling in 2010 that addresses some of those earlier criticisms?

Goodhew: Absolutely. One of the challenges, previously, if you used Orcas [VS 2008] or Whidbey [VS 2005] to do test-driven development is that the TDD model is really around this concept that you define your test and then you confirm the test files and then you go implement your classes and you start implementing until all your tests pass. The TDD experts would flame you for that description, but that's the very high-level thumbnail sketch of what it is. Now, part of the challenge to that is you are consuming a lot of stuff that you have in that test that you have not yet written. In Orcas when you would write that test, you would lose a lot of the IDE support for that test because you get to say, "OK, I need to test my class so I need to declare the class and the test, but I haven't even actually even declared the creation of the class in the project..."

The IDE in Orcas and Whidbey forces me out of that context to do a class implementation and deal with the project system, so that by the time I've done that and get back, now I have to acquire context in something I test again.

Goodhew then went on to describe how the new "consume first, declare second" model works in VS 2010.

Goodhew: In the editor, when you are inside your test, when you go and create an MVC app, and you've created your view, and you're starting to implement a view for your test or your view for your controller, you start writing your test. You say, "OK, I am going to have this class." You just type that class name and the editor will say, "That class does not exist, would you like me to implement it and stub it out for you?"

You click a single button. It goes out, creates a file for you, sticks it in the right location in your project system, puts in all the names that you've used, wraps that into your application, so now your class is declared. Then you go and use a method on it. The method doesn't exist, so you can write -- in-context of writing your test -- have the editor support creation of the stubs for those methods for you. It allows you to keep that test context, as you're writing your code and have the IDE do all of the grunt work of basically going and starting at your class for you.

Laudati: A lot of the criticism around TDD wasn't necessarily that it was hard to do it from a framework perspective, like let's say Web Forms versus MVC. But in general, what you just described is, you write your tests first as part of the design process of designing your code, and the tooling was like a friction in the way. It sounds to me what you just described is a huge relief where the tooling is now going to help with that process by default.

Goodhew: I think the MVC pattern inherently assists in the creation of TDD stuff. It's not required, obviously, as you said, but it's much easier to do it in that sort of approach. And taking that control -- implement my test, implement my model, implement my view -- being able to separate that thinking, and then have the IDE handle the stubbing out for you, lets you keep the context of the design of your app while you're in that test creation process. So I think you're going to find that TDD development, if you use MVC or if you use any pattern, really, because this is not just constrained to Web development -- this actually is available across the editor whenever you create classes anywhere. I think people will get a lot of value for that.

Listen to the entire podcast here.

Interest in TDD is growing and a series of upcoming articles in RDN's sister publication, Visual Studio Magazine, looks at a repository pattern for the end-to-end integration test problem and unit testing user interface code with the ASP.NET MVC framework.

Are you doing test-driven development in Visual Studio/ASP.NET MVC? What issues are you running into? Express your TDD tales or questions below or contact me directly at [email protected].   

Posted by Kathleen Richards on 06/09/200910 comments


JavaFun: Interoperability But Is Three a Crowd?

This morning, as I watched the JavaOne keynote given by Microsoft's Steven Martin and reps from both Sun and Microsoft, I couldn't help thinking about the elephant in the room.

Would Microsoft be on that stage, and a JavaOne sponsor, if it had known that Oracle was buying Sun? And with Larry Ellison lurking, ready to promote his company's proprietary platform (before Sun) and torpedo that of his long-standing nemesis, Bill Gates? All this at an open source conference? It's kind of surreal -- like Ralph Nader hosting a show on the Fox channel.

Companies change (maybe). In the last five years, Sun and Microsoft have made progress. Three years ago, representatives of both companies took the stage at JavaOne to discuss interoperability and early efforts in the Apache Stonehenge project for SOA. Microsoft's StockTrader 2.0 code -- a head-to-toe .NET rewrite of an IBM-based Java app -- contributed as a reference app to "Stonehenge" last November. It shows developers how they can interop with Web services by connecting an ASP.NET Web front end to business services and order processing services running in .NET, or the Metro Web Service (Java) stack on the Sun GlassFish Enterprise App Server. The interoperability is enabled through WS* Security and other Web Service standards. Developers basically use a different URI to point to the services and configure the security. On the back end, StockTrader 2.0 supports SQL Server (demonstrated today) or Oracle 11g. Support for MySQL is on the way, according to Microsoft. During the keynote, Sun announced that it's contributing its Metro-based StockTrader code to the Apache Stongehenge project today.

"We used to think of interoperability as a nice-to-have," said Martin, who is on Microsoft's Developer Platform Product Management team and is a visible lead of the Windows Azure cloud computing effort. "We know now it's a must-have."

Martin said that customers are going to demand high levels of interoperability across the .NET and Java stacks going forward. "While we are both collectively going to innovate...we're not going to be able to do it at the expense of interoperability."

He also proclaimed that "the world of the stack is going to look very different as we move into the world of cloud computing."

According to Martin, with the Azure Services Platform, Microsoft is working under the assumption that applications by definition are composite, support federated identity and can be accessed from non-native platforms and tools such as Eclipse, Ruby and other frameworks and languages.

"We have customers today that are using our messaging infrastructure in the cloud to connect an AS400 and a mainframe, no Microsoft technology anywhere on premises, using the messaging infrastructure in the cloud to make two non-native systems talk to each other," Martin said.

Read more about Steven Martin's keynote and Sun and Microsoft's interoperability efforts in Martin's blog here.

Microsoft polls developers twice a year in blind surveys and found that 73 percent of respondents reported working in .NET or .NET and Java.

Are you working in both environments? What's your take on Java and .NET interoperability? Is it getting any easier? Express your views below or contact me directly at [email protected].

Posted by Kathleen Richards on 06/04/20090 comments


Subscribe on YouTube