It's Silverlight 3, Baby!

Developers and designers converged at The Venetian in Las Vegas this week to hear more about Microsoft's Web technologies. The eclectic crowd at this hip (as far as conferences go) gathering is an interesting "mix" of creative and technical people with a common goal: building state-of-the-art Web applications.

During the opening keynote on Wednesday, Scott Guthrie talked about new Web server technologies and tools, including the highly anticipated Silverlight 3 which is now in beta with a final release expected later this year. The beta doesn't have a GoLive license.

"Silverlight 3 literally introduces thousands of new APIs, hundreds of new features, new codecs like H264, AAC, new capabilities like out-of-browser support, graphics, hardware acceleration, more and more and more -- a lot of great stuff," Guthrie said.

RDN columnist Andrew Brust (now writing for Visual Studio Magazine) attended the keynote in Vegas. He e-mailed his take on the Silverlight 3 announcements:

"It really does seem like a classic Microsoft version 3.0 product -- there's a lot of fit and finish, and there's something for everyone. I am excited about the new data binding features shown and the small amount of code needed to get it going. I also like that they are adding deep linking and URL navigation through SL3 apps. Media folks will be excited about hardware acceleration and the new codecs that are supported. Designers will like the new graphics, animation and 3-D features."

Brust, who's a Microsoft MVP and the chief of new technology at twentysix New York, summed up his thoughts on the Silverlight portion of the keynote as follows: "Add to that the ability for SL3 apps to run outside the browser, and I think Microsoft may have a real strong play against Adobe AIR."

Developers should be able to run the same Silverlight player in and out of the browser. The out-of-browser support includes Windows and the Mac.

Microsoft also announced an Expression Blend 3.0 Preview that supports Silverlight 3. This tooling imports Adobe Photoshop and Adobe Illustrator files and offers a new "SketchFlow" component for rapid prototyping. It also adds IntelliSense for XAML, C# and Visual Basic.

For developers, there's Silverlight 3 Tools for Visual Studio 2008 (developer runtime and project templates) and Eclipse support provided by Soyatec for building Silverlight applications on Windows or the Mac.

Silverlight 3 still doesn't support printing, microphones or webcams. Guthrie said that these capabilities were being worked on.

Silverlight for Mobile was also missing from the two-and-half-hour keynote. Currently in private beta, Silverlight for Mobile will offer the exact same features; it's not a subset, according to Guthrie. No word on the anticipated timeline for the mobile release. Developers are also anxious to hear more about Silverlight for the iPhone.

During today's keynote, Microsoft GM Dean Hachamovitch highlighted the final release of IE 8 -- after a hilarious video about the history of the Internet got some laughs from the bleary Vegas audience. View it here.

Express your thoughts on the Silverlight 3 beta. Did Microsoft get it right? We saw great tools for designers during the keynote, but what about the developer tools? Comment below or contact me directly at [email protected].

Posted by Kathleen Richards on 03/19/2009 at 1:15 PM1 comments

Same Sales Call for Mobile Marketplace

Microsoft offered more details about its developer strategy for Windows Marketplace for Mobile this week, announcing the business model and resources on its Windows Mobile developer portal.

Turns out Microsoft's strategy is a lot like Apple's -- right down to the percentage of sales revenues for Marketplace app developers. Imitation is the sincerest form of flattery in some parts of the world (like China, maybe) but not Cupertino.

Starting this summer, developers can submit up to five apps for a $99 registration fee. Microsoft says it will run a "rigorous certification and testing process before applications go to market."

If accepted, an app can be distributed in up to 29 countries. Developers can choose to distribute it for free, or set targeted pricing by market and receive 70 percent of the sales revenue, said Inigo Lopez, Marketplace product manager.

The app, which will enable users to access, search and download Windows Marketplace applications directly from their phones, will be part of the Windows Mobile 6.5 operating system. The suggested developer tooling is Windows Mobile 6.0 SDK, Visual Studio and .NET Compact Framework 3.5.

"Apple has proven that the 'app store' model works and Microsoft seems to have been taking notes on what works and what doesn't. The beauty about any app store is consumers have a single repository to find apps to install on their phone," wrote Mike, a developer and college network technician, in an e-mail.

"But that's where the comparison with Apple should end," he said. "Microsoft will always have a single important advantage over Apple: any developer can write an application and send it to friends, post on a forum, test personally, etc., without publishing to an app store or 'jail-breaking' your phone. This is one of the big reasons I couldn't give up Windows Mobile for an iPhone."

The Marketplace is progress but there's still a lot of work to do. Microsoft has to do a much better job of ensuring uniform performance for Windows Mobile across manufacturers and their respective devices. It also has a major PR problem that went further south with Vista.

Why can't they get marketing right in Redmond? In addition to soliciting cool apps, maybe Microsoft should run a contest to see who can come up with the best ad campaign.

Do you plan to develop a Windows Mobile app for Marketplace or is Apple's marketing too invaluable to pass up? Comment below or contact me directly at [email protected].

Read "Microsoft Reveals Strategy for Mobile Developers" by Jeffrey Schwartz for more on this week's announcement.

Posted by Kathleen Richards on 03/12/2009 at 1:15 PM0 comments

The Unbearable Silverlightness of Being

With Silverlight 3 bits expected at MIX09 in a few weeks, I voiced a commonly held Microsoftism in Tuesday's RDN Express blog, "Silverlighting the Workplace":

"Conventional wisdom has it that it sometimes takes Microsoft until version 3 to get it right."  

Needless to say, RDN readers expressed some passionate views about the (sometimes painful) evolution of Microsoft's cross-browser plug-in for rich Internet applications.  
"I can say that your statement about version 3 is dead-on," wrote Bob, who is in the early adopter program for Silverlight 3 and the Alexandria (business) framework. "This release will approach application development ease for quick LOB apps that rivals what we used to be able to do with Microsoft Access (before macro security and digital signatures got in the way). That's about all I can tell you. Stay tuned."

Bob's optimism may offer hope to readers who have faced way too many hurdles with the early versions of Silverlight.

Bill, whose company developed a Silverlight message box control, is among that group. He voiced several "gripes" about Silverlight and worries that the "Internet guys" in Redmond are "putting the Web developer blinkers around the technology" and missing the true potential of .NET:  

"We've started to use Silverlight, which is a great idea hampered by terrible execution. Why is it necessary for a company to have to make available something as fundamental as a reasonable message box? The default Silverlight message and prompt boxes uses the old gray JavaScript boxes. Is that acceptable?"

The lack of controls, even with the additional controls in the Silverlight Toolkit on CodePlex, given Microsoft's resources and available WPF controls, is perplexing developers. Bill is also frustrated by the 4MB install requirement, which he views as Microsoft's misguided effort to compete with Adobe's Flash:

"Why is [4MB] magical? The effect has been to cripple the product. There isn't enough there to be useful. To develop any application in Silverlight, you have at least to use the Silverlight Toolkit, which adds 400K to your application EVERY TIME THE APPLICATION IS ACCESSED. If these controls had been added to the base package in the first place, the installer would have been 400K bigger but it would be a one-off cost. Instead, a user's experience of my apps is dragged down by having to download this (and other) payload each time they use it. Unacceptable."

How the client-side communication with the server is handled is another major constraint, in his view:

"On the server side, .NET has the whole WCF infrastructure to call on. But Silverlight is severely limited. Unlike when using AJAX where we can use the full set of HTTP verbs, in Silverlight we are restricted to GET and POST. If you are creating a video player (how many players do we need, anyway -- why isn't it a standard control?) this may be enough. If you want to develop a robust line-of-business app it isn't.

"Silverlight IS able to call and receive a SOAP response from a WCF server -- but only if it never errors because Faults are not returned. Every single fault is returned as a 404 HTTP error and it's not possible to find out the cause of the error. Instead, we have to write more code (which means more download EVERY TIME the app is used) to work around the Silverlight limitations.

"OK, some of these might be gripes. But after five years, I think we might have expected more. My concern is that because Microsoft doesn't make money from Silverlight, it will not be the product we hope. If so, we should be told. I remain concerned that its product management is Web- and Flash-focused. I don't want to create rich WEB applications. I want to create rich applications OVER the Web. There's a difference, but I'm not sure the Silverlight product management team sees that difference. Of course, I'm writing this just before MIX09 so maybe Silverlight 3 will answer my concerns. We'll see."

Jason, a computer programming enthusiast who said he has been developing since he was 10 years old, is not impressed with Microsoft's cross-platform browser plug-in:

"Silverlight represents all that is vendor lock-in -- and it's a big disregard for the W3 consortium. Hard to get excited about this stuff when I see customers using software [that's] on average four to seven years behind the hype. Why? Because it took the products getting mature before they were useful. All this new 'technology' is old technology rewrapped -- with more patches in their future. None of it seems to be tried and true. Solid stuff these days."

Randy was hopeful about Silverlight but neither the technology nor Microsoft of late has met his expectations:

"I anticipated great things for Silverlight and learned it, and I liked XAML and RIA makes a whole lot of sense. The light bulb went off and I moved on to Adobe Flex 3 and object-oriented ActionScript and MXML. Adobe got it right and has got it going on. Microsoft, especially when you consider Vista, is losing it."

Randy pointed to Microsoft's PR problem and thinks the continual software glitches have not gone unnoticed:

"Bill Gates used to talk about quality software and today the public in general does not equate Microsoft with quality anymore. When people think of Microsoft these days, they think of Bill Gates with his butt-in-your-face attitude. Sorta like trying to feel fuzzy about George Bush."

Ouch! But the bottom line for him as a developer is a better experience in Flex:

"My Eclipse Adobe Flex Builder 3 never ever crashes or runs too slow and is easy to use. I think Microsoft is going down the same road that GM went. Take LINQ, for instance, and how Microsoft ignored developers (programmers) who love LINQ and considered it the holy grail of impedance matching to relational databases. Sorta like GM's electric car which everyone loved but GM had it destroyed...ActionScript uses some loose typing with variants along with strong typing already and I heard C# is going to catch up in 2010. Good luck. My next machine may be a Mac -- we will see."

Bill's concern that Microsoft has an unhealthy fixation on Flash may be true, but as Randy demonstrates, some people aren't sticking around to wait for Scott Guthrie and his team to iron out the kinks.

The ecosystem around Flex -- and Silverlight -- continues to grow. This week, IBM's newly acquired ILOG business unit has upgraded its suite of components for developers looking to build rich clients using Adobe Systems' Flex.

But don't be surprised to see the company come out with Silverlight components at some point, as well, hinted Erwan Paccard, ILOG's visualization product manager. "We have traditional .NET, we have WPF and we have ASP.NET, and we are looking at Silverlight," he told my colleague Jeffrey Schwartz, though Paccard declined to elaborate.

Is the race to compete with established Web technology sidetracking the real potential of Silverlight and .NET? Or should developers wait to see if the third release is closer to the mark? Express your thoughts here or contact me directly at [email protected].

Posted by Kathleen Richards on 03/05/2009 at 1:15 PM12 comments

Silverlighting the Workplace

Conventional wisdom has it that it sometimes takes Microsoft until version 3 to get it right. And as it happens, this month the first public bits for Silverlight 3 are expected at MIX09.

Scott Guthrie, Microsoft's corporate vice president of the Developer Division, has blogged about the upcoming media (H.264 video) and graphics (3-D) enhancements, data binding and new controls planned in version 3. Visual Studio and Visual Web Developer Express tooling will also add support for data binding and "a fully editable and interactive designer for Silverlight," he said.

The cross-platform browser plug-in designed for rich Internet apps started to gain momentum among developers after Microsoft released version 2 last October. At the Professional Developers Conference, Microsoft released the Silverlight Toolkit on Codeplex, which contained controls in various states, utilities and documentation. The toolkit, which was updated in December, is available for free under the Microsoft Public License. The source code version includes C# code and component tests based on the Silverlight 2 unit test framework, which Microsoft released at last year's MIX.

Many third-party vendors offer Silverlight controls. This week, components vendor Infragistics Inc. is releasing NetAdvantage for Silverlight Data Visualization controls. The standalone product, which is separate from the company's NetAdvantage line of business tooling, consists of charts, maps, gauges, historical timelines and a zoombar for navigating large amounts of data.

The Silverlight 2 technology enables richer data visualizations, key performance indicators and other business intelligence-type functionality for dashboards and line of business apps, said Tony Lombardo, Infragistics' technology evangelist.
"You can create these interactive interfaces that in the past would have been very difficult or impossible to create," he said.

The ins and outs of Silverlight development is a hot topic on the lecture circuit. "New Visualizations at Work" outlines some of the issues that developers need to consider when moving beyond classic Web apps to Silverlight clients.

"I'm constantly faced with the challenge of how much ASP.NET should I be using?" said Microsoft Regional Director and Applied Information Sciences Inc. CTO Vishwas Lele. Lele added that other questions he often hears -- and that he himself grapples with -- include: "Should I be using JavaScript at this point? Should I be using Silverlight? Have we reached the usefulness limit of HTML brackets?"

Are you working with Silverlight 2 or Silverlight 3? Express your thoughts below or contact me at [email protected].

Posted by Kathleen Richards on 03/03/2009 at 1:15 PM0 comments

VS 2010: Modern or More of the Same?

At VSLive! today in San Francisco, Microsoft's general manager of the Visual Studio Team, Jason Zander, talked about helping developers do more with less.

He opened the conference with a keynote entitled "Visual Studio -- Your Development Happy Place." Zander discussed useful functionality in VS 2008 and pointed to code navigation, testing and debugging improvements in VS 2010 all aimed at making developers' lives a lot easier.

The big news today is the reveal of the revamped user interface, which -- like the new VS 2010 editor -- is built on Windows Presentation Foundation. The improvements are designed to give developers actionable data that's related to on-screen code and to streamline the UI.

"It is good to see Microsoft using WPF in one of their core products, as it will surely drive the maturity of WPF and related tools," said Rockford Lhotka, VSLive! co-chair. "Every time Microsoft buys into their own technologies like this, we all benefit."

However, Lhotka indicated that from his perspective, the UI didn't look that much different than it does today.

"The fact that the Visual Studio IDE is now being built on WPF is a good step at moving the developer shell into a modern UI," said Sondre Bjellås, Microsoft solution architect at Oslo, Norway-based Capgemini, in an e-mail. "It will be interesting to see third-party extensions and how they can extend and improve the out-of-box experience. I'm confident we will see innovation in the extension space which has been hard or ultimately impossible to do in today's shell.

"Take, for instance, the new Home Screen. This view is built on WPF and is extensible through configuration and XAML files. I could see extensions to this screen which can display things like quick-facts: How much code have you checked in lately, how much time do you spend testing, how much time do you spend documenting your methods, and so forth. It could aggregate data from the Team System warehouse and display it personalized for the individual developer," Bjellås said.

"The WPF redesign of the IDE is actually the part that impresses me the least," said Andrew Brust, the VSLive! co-chair who introduced the keynote and Zander. "What I saw looks more like a WPF port of the 2008 IDE than a true redesign. I hope that Microsoft will consider making more fundamental UI design changes to VS 2010 before release."
The other big announcement was the support for Oracle in Visual Studio Team System 2010. Quest Software is developing the Oracle Database Schema Provider. Team System 2008 already supports DB2 and, of course, SQL Server.

Brust described today's announcements as "not super-sexy, but very important." He explained: "Support of Oracle in Visual Studio Team Development (and Team Suite) is a big deal. By working with Quest Software on providing this support for Visual Studio, Microsoft makes .NET an even better fit in shops that have standardized on Oracle as their database platform." 

Check out the new UI design on Zander's blog here.

Express your thoughts on the new UI and what improvements will help you the most in VS 2010. We're also looking for CTP testers who can comment for an upcoming Visual Studio Magazine story. Contact me at [email protected].

Posted by Kathleen Richards on 02/24/2009 at 1:15 PM0 comments

Training On-Demand

A week or so ago, I visited my local video store and rented a few DVDs. I couldn't remember the last time I set foot in Hollywood Video -- it had been well over a year, maybe even longer. Instead, I'd been "renting" movies on-demand by sitting on my couch with my remote control. Despite the somewhat generic selection from Comcast, it was immediate and just easier.

Microsoft training company AppDev started to offer on-demand courses in December. The Minnesota-based company has focused almost exclusively on instructor-led training for Microsoft dev tools and platforms since 1995. The on-demand learning libraries offer developers a lower price point for anytime online access to instructor-led courses that also include reference materials like coding exercises, sample code and exams. For $995, developers can access up to eight courses on Visual Studio 2008, or for $295, eight courses on Visual Studio 2005. The new delivery model has proved popular, representing 33 percent of AppDev's sales in December and 49 percent of sales in January.  

Next month, the company is introducing "AppDev/edge," a free member Web site for anyone who takes a course that will include weekly tutorials, learning videos, blogs, member forums and interaction with popular instructors such as Microsoft MVP Ken Getz and former Microsoft program manager (Visual Basic) Robert Green.  

In this economic climate, development teams at many companies are interested in new technologies but are primarily "hunkering down" and focusing on their existing projects, tools and platforms, said AppDev President Craig Jensen. "Of all the [training] products, SharePoint has by far the biggest demand," he said. Often, outside consultants build the company's SharePoint application and developers are left to maintain it. If this process is not managed well, it can introduce a lot of pain points.

So much so, that AppDev is introducing its first custom training course aimed at the high-power business users of an enterprise client. The three-to-four-day training course will likely serve as a model for end user SharePoint training. "That's one of the biggest issues for companies," Jensen said, "teaching all these business users how to get the most out of a custom SharePoint application."

Keeping up with Microsoft developer tools and platforms can become a full-time job in itself. How do you train your staff on new technologies and platforms in a down economy? Are new projects on hold at your company? Express your thoughts on training and what's needed to help you get your staff up to speed and projects completed in tough times. Comment on the Web or contact me at [email protected].

Posted by Kathleen Richards on 02/19/2009 at 1:15 PM0 comments

Microsoft's Marketplace for Mobile

The big news for developers from Barcelona this week is the official word that Windows Marketplace for Mobile is coming soon. Windows Mobile developers have asked Microsoft for months to come up with an answer to Apple's App Store.

During the World Mobile Congress 2009 keynote yesterday, Microsoft CEO Steve Ballmer and Andy Lees, the senior vice president of the Mobile Communications Business, delivered the new "Windows Phone" strategy. For now, it's built around the Windows Mobile 6.5 operating system, the new Microsoft My Phone sync service and Windows Marketplace for Mobile, which will appear on the "Start" menu of the upcoming OS.

At this point, little is known about the developer program for Marketplace. Microsoft implied that any Windows Mobile developer whose application meets "simple" security and compatibility requirements can participate in the online app store. How will this work, exactly? What if your app competes with a Microsoft app?

With more than 20,000 Windows Mobile apps today, Microsoft is, in a sense, ahead of Apple (at least in terms of quantity), which passed the 10,000 app mark in December. But Apple has angered some developers with its App Store qualification process, making them sign non-disclosure agreements and in some cases rejecting apps for ambiguous reasons -- "lack of sufficient utility," for one -- and then offering its own apps with similar functionality, according to some complaints.

"We will not limit what a developer does so that they have to use the Marketplace," Lees said during the keynote. "They can continue to go to Web sites and load applications, or organizations can load applications on behalf of their employees, but it does provide another option for developers who want a direct connection into their potential customers."
John Bruno, a program manager for the Windows Marketplace team, is charged with heading the developer program. He explained the opportunity for developers in the Windows Mobile Team blog on Monday.

"Windows Marketplace can help you grow your business profitably by connecting you directly with millions of Windows Mobile users that are looking for your applications. Whether you are a hobbyist developer or a large ISV, we'll make it easy for you to bring your applications to market and manage them effectively throughout their life cycle."

The 6.5 upgrade to the Windows Mobile 6.1 OS is expected on devices later this year. Internet Explorer Mobile 6 will be bundled with Windows 6.5. News Editor Jeffrey Schwartz outlines the Barcelona announcements in his article, "Microsoft Debuts Windows 6.5 But Is Mum on Future."

The first public preview of Microsoft's Silverlight 2 for Mobile was expected early this year based on comments made by Microsoft product manager Amit Chopra during a session at the Professional Developers Conference in October. I guess it depends on what you mean by "early"; so far there is no sign of the CTP.

Are you developing for Windows Mobile and/or other platforms? Express your thoughts on Windows Marketplace for Mobile. Are Microsoft's efforts to defrag the distribution channel enough? What can Microsoft learn from Apple's missteps as it rolls out its own developer program? Comment on the Web or contact me at [email protected].

Posted by Kathleen Richards on 02/17/2009 at 1:15 PM9 comments

New View of SharePoint

Document imaging company Atalasoft released version 7.0 of its flagship toolkit DotImage for .NET in January. Last week, the company launched a SharePoint plug-in based on the new functionality in the latest SDK.

Atalasoft used DotImage v7.0 and Visual Studio 2008 to build a document viewing app called Vizit SP on top of SharePoint. Vizit SP enables SharePoint users to annotate documents (PDF, TIFF, .DOC), quickly view thumbnails, and index and clean up document images.

SharePoint lends itself to document imaging in part because it's a server-side platform that enables DotImage's "zero footprint" viewer for multiple formats, said Lou Franco, Atalasoft's director of engineering. Franco offers his "top considerations for document imaging in SharePoint" in his blog.

"What Microsoft did with SharePoint is make it possible for any ASP.NET developer to extend SharePoint by providing a very clear-cut API for how to develop pages and content in ASP.NET," Franco said. "So SharePoint in a lot of ways is an extension of the ASP.NET model and it fully supports Web controls that support that."

He added, "There are definitely gotchas" especially around deployment. "How you actually get your finished product into every SharePoint smoothly is definitely the most interesting concern for people."

Still largely a departmental play in many organizations, according to analysts, SharePoint remains a hot button among developers and IT. The server OS, lack of developer tools and guidance on things like SDL processes from Microsoft are among the complaints.

Editor in Chief Michael Desmond looks at SharePoint as a development platform in the March issue of Visual Studio Magazine. Is Microsoft finally providing the necessary tools and guidance? We want to hear from you. Express what rocks about SharePoint as a development platform and your pain points at [email protected].

Posted by Kathleen Richards on 02/12/2009 at 1:15 PM2 comments

Is Microsoft Meshing with the Enterprise?

New details about Microsoft's plans to integrate new services with its smartphone strategy emerged over the weekend.

As Editor Jeffrey Schwartz explained in his article "Microsoft Readies MyPhone Service," the folks in Redmond plan to offer a service to Windows Mobile 6.x users that would allow them to store their contacts, calendars and the like and synchronize that data via a password-protected Web site.

MyPhone follows the Windows Live mantra of calling all consumers -- an interesting tactic since Windows Mobile is largely entrenched in the enterprise.

With the MyPhone preview, Schwartz wrote:

"MyPhone services will not work with active connections to Microsoft Exchange Servers. It won't synchronize data on separate memory cards when using MyPhone's default settings, nor will it synch contacts on the device's SIM card. Users can only synchronize files stored in the main My Documents account, and free storage will be limited to 200 megabytes."

The My Phone service sounds similar to Apple's MobileMe service. However, MobileMe -- when it's working -- also synchronizes data among computers and "i" devices.

Microsoft's approach to keeping it all in synch is Live Mesh, the downloadable PC software currently in beta that extends Windows to the Web to enable synchronization and sharing of data and devices. Currently, the beta offers limited availability to Mac and Windows Mobile 6 clients.

The Live Mesh app is built on top of the Live Framework, introduced at the Professional Developers Conference as part of the Azure Services Platform. The Live Framework is described as a "uniform" way for developers to program against Live Services, which are integrated with Microsoft's Live Mesh platform. The dev tooling consists of an operating system -- described by Microsoft as the CLR for Software Plus Services -- and a resource-based architecture that allows developers to program against Live Services from any device, platform, client or cloud, according to Microsoft. Earlier this month, Microsoft released the second preview, the Live Framework Tools January CTP.

What does this all mean for corporate developers? Microsoft is positioning its "Live" technologies toward consumers -- or, as Redmond likes to call them, "individuals." Will Microsoft extend these technologies to work with enterprise dev platforms?

"I believe that most enterprise IT shops view Live Mesh and the Live Operating Environment [LOE, formerly Mesh Operating Environment or MOE] as the devil incarnate," said Roger Jennings, principal of Oakleaf Systems, in an e-mail. "The IT folks I work with don't like users replicating confidential info to their motor homes, refrigerators and toasters. There are big-time SOX and HIPAA implications here."

Jennings added, "The other problem I see with LOE as a developer topic is that most development will be in the form of open source mash-ups and the like with no prospects for income for independent developers or ROI for enterprise developers."

Is Microsoft headed in the right direction with MyPhone and Live Mesh? What about Windows Mobile's enterprise user base? Express your thoughts on all things Live at [email protected].

Posted by Kathleen Richards on 02/10/2009 at 1:15 PM0 comments

Avoiding the Hotfix

Code analysis is gaining a lot more attention these days, especially from Microsoft. Most people are well-acquainted with FxCop and PREfast. But the folks in Redmond are looking at code analysis as a key feature of Visual Studio (VS) 2010. Some of the preview functionality evidenced in the early CTPs includes rule sets -- Microsoft All Rules, Microsoft Security Rules, Microsoft Minimum Recommended Rules -- a gated check-in policy and more advanced dataflow rules, some specifically targeted at preventing SQL injection.

Microsoft and its proponents have also demonstrated upcoming Visual Studio Team System 2010 features such as a historical debugger and impact analysis. Ironically, the demo I saw was so buggy that the presenter had to make jokes and entertain the audience as he continually tried to reboot the very early software.

In many scenarios, companies may need to extend the code analysis and metrics in VS with third-party analysis tools. Last week, Coverity released an upgraded version of its Prevent static analysis software which supports VS and Eclipse. The latest version beefs up the VS integration and adds support for Windows Mobile, Windows Automotive and Xbox. It also offers C# concurrency defect detection, which according to the company makes Prevent the first product to support this functionality. Prevent already offered concurrency features for Java and C++.

Upcoming tooling will take advantage of Microsoft's efforts to put annotations into its system header files. "There is no way a static analysis tool can automatically pick up these things," said Andy Chou, Coverity's chief scientist and co-founder. "You really need someone to annotate the code and that is a huge benefit to customers who are using this platform."

Earlier this week, NCover, a .NET specialist in code coverage analysis, released version 3 of its flagship product -- available in a community edition and the more advanced commercial products. Code coverage, often employed in Agile and test-driven development, makes sure the test cases touch all of the code by measuring how many times each line of code is executed. NCover version 3 improves coverage loading performance, according to the company, and adds new metrics such as cyclomatic complexity and method visit coverage.

As security exploits continue to make headlines and the economic downturn leaves little room for missteps, best practices for code analysis should be on everybody's radar. Every security bulletin issued by Microsoft is estimated to cost $100,000, said Ravs Kaur, test lead in Redmond, who stressed the importance of "driving quality upstream."

During a session at the Professional Developers Conference in October, Kaur outlined some of the best practices that Microsoft recommends:

  • Bake quality into the build.
  • Prevent new issues.
  • Set up Code Analysis Check-in policy.
  • Don't defer potential security issues.
  • Enable Code Analysis Team Build.

Express your thoughts on Visual Studio code analysis and the tenets of quality code at [email protected].

Posted by Kathleen Richards on 02/05/2009 at 1:15 PM0 comments

'M' Is for Re-Modeling

When Microsoft announced in October 2007 that it was introducing a modeling platform for application developers that would permeate almost all of its products and services, some people tried to parse the vague references from company spokespeople to figure out what was to come. Others didn't bother to conceal what amounted to a collective yawn.

Advancing the concept of modeling requires more than having espresso machines at the ready. Getting developers excited about any type of modeling is a hard sell -- especially to enterprise veterans with a "been there, done that, don't really see the benefit" attitude.

Microsoft's re-jiggered approach to modeling is to introduce an app dev platform that enables developers to build data-driven apps using domain-specific languages and/or visual design tools to create an "ecosystem" of models that are stored in a relational repository.

The "Oslo" platform primarily consists of the "M" textual languages, a "Quadrant" visual design tool, an "Intellipad" text editor, documentation, and a SQL Server 2008-based repository for storing domain-specific models and related data.

On Friday, Microsoft released its second "Oslo" preview. The Oslo SDK January 2009 CTP offers bug fixes and adds more features related to the "M" languages (MGraph, MSchema, MGrammar). The first CTP debuted in "the goods" handed out at the Microsoft Professional Developers Conference in late October, amid an avalanche of technology previews and announcements.

The "Oslo" vision is still hard to grasp: Is this approach similar to a software factory, an effort to enable business analysts to participate in the app dev process or, as Microsoft contends, a larger concept that will improve developer productivity throughout the application lifecycle? What problem is Microsoft trying to solve? If you or someone on your team is trialing the technology, please share your thoughts at [email protected].

Modeling may have a bad rep, but patterns and guidance can definitely help harried app developers. This week, components vendor Infragistics is unveiling a unique Silverlight 2 application called "Quince" UX Patterns Explorer that offers developers best practices in user experience design through patterns.

Named after a South American fruit, Quince offers guidance on common patterns (active filtering, wireframes) for large data entry screens, label alignment and navigation, for example, based on tools and practices that the 20-year-old company uses internally and expertise garnered from other industry sources. Quince aggregates close to 100 patterns, shows implementations via a carousel format on various platforms (ASP.NET, Windows Forms, PHP, etc.) and is set up so that the community can comment on patterns and their experiences in real time.

"More and more attention needs to get paid as to what goes into a user interface and what goes into building an application than just a grid that maybe does multi-column sorting," said Jason Beres, Infragistics' director of product management.

The idea behind Quince is to provide a platform-agnostic community-based tool, not a marketing platform, he said. "We don't give you any source code or any control to use it, because it is really just educating you about the pattern."

Yahoo and Google offer pattern libraries, but there isn't a de facto resource in the .NET/Microsoft space that everyone uses, according to Beres. As people start to understand the importance of UX and design, components are obviously a part of that, he said.

Finally, as former Redmond Developer News Editor in Chief Michael Desmond explained in his special-edition blog on Friday, Redmond Developer News went through its own "remodeling" last week. RDN print content will be integrated with sister publication Visual Studio Magazine. The RDN staff, EIC Michael Desmond, Executive Editor Jeffrey Schwartz and I (the former senior editor) will work on VSM to offer industry context along with the in-depth how-to articles that VSM is well-known for. will continue to follow its charter of hard-hitting analysis, product news, key interviews with Microsoft execs and other industry voices discussing the latest trends, tooling and development strategies to help dev team managers succeed in tough economic times. Please join the conversation to help continue to make this site a valuable resource and community portal.

What types of news, information and community threads would you like to see on going forward? Drop me a line at [email protected].

Posted by Kathleen Richards on 02/03/2009 at 1:15 PM11 comments

Upcoming Events