Q&A: WinFX Provides Building Blocks for the “Modern Application”

SEATTLE, May 23, 2006 — For developers, the software programming model is analogous to a tool box. Just as a carpenter keeps a box of tools for a variety of tasks, developers have a set of application programming interfaces, or APIs, that provide them with the different technologies they need to build various types of software applications.

With the upcoming release of Microsoft’s new operating system, Windows Vista, the company has been working to create a new programming model that can take advantage of Vista’s capabilities while maintaining compatibility with existing systems. Known as WinFX, the new programming model is designed to help developers create the next generation of “modern applications” that can support users in their everyday lives, whether at work, at home or on the go.

WinFX took another step toward general availability today at the Windows Hardware Engineering Conference (WinHEC) in Seattle with the release of its Beta 2 version, along with the first “Go Live” license to incorporate all of WinFX’s major components — Windows Presentation Foundation (WPF), Windows Communication Foundation (WCF), Windows Workflow Foundation (WF) and “InfoCard.”

To discuss what WinFX will mean for software developers around the world, Microsoft WinFX Product Manager Ami Vora spoke with PressPass about the programming model and the company’s vision of the modern application.

PressPass: What’s new with WinFX Beta 2, as compared with the last community technology preview in February?

Ami Vora, Product Manager, WinFX

Vora: Beta 2 is the culmination of recent community technology previews that we’ve been releasing over the last several months. The community technology preview process is designed to reinforce the feedback loop between our development teams and customers. With Beta 2, we’re focusing on stability, security and scalability, so our customers have the best platform to work with when the final version is released.

What’s really new is that for the first time we have a unified “Go Live” license for all of the components of the WinFX release, so developers can use any and all of the WinFX technologies to deploy modern applications in a production environment.

PressPass: What has been the interest level for WinFX among the development community?

Vora: We’ve seen nothing but excitement from our developers since we first announced WinFX at the Professional Developers Conference in 2003. That enthusiasm has been steadily mounting as WinFX gets closer to release. In fact, we’ve had about 60,000 downloads of our recent technology previews, which is an outstanding response from our customers.

Early adopters spanning a wide range of industries have already begun implementing a variety of projects on WinFX. For instance, iBloks, a digital media company, uses WPF technology to build an innovative music application that lets users express themselves by remixing all sorts of media — music, videos, pictures and speech. That application is being released today on the WinFX Beta 2 Go Live release.

Another example is Tyco Fire and Security, which uses WCF as part of a security platform it offers to its customers. Tyco Fire and Security uses WCF to communicate information between the monitoring client application and the server that collects data from security badge readers at entry points to surveillance cameras to sprinkler systems. Since using WCF in their development efforts, Tyco Fire and Security has seen significant performance improvement, which makes their framework stronger and enhances their product capabilities.

As we continue on our path to launch, we anticipate seeing even more of our early adopter customers go live. From financial services to healthcare, the Go Live announcement is an invitation for our customers to get on board with WinFX.

PressPass: How will WinFX change software development?

Vora: I think about WinFX as offering benefits across the board to everyone involved in technology — developers, IT pros, technical decision makers. Developers like the declarative programming model, the extensive use of XML, the visual designers, all the built-in standard features, and overall, the increased productivity they get when they use WinFX. IT pros look forward to the easier deployment of applications built on WinFX. And technical decision makers appreciate the cost savings from a more productive development team and the lower training costs associated with WinFX.

PressPass: How can WinFX increase the productivity of developers?

Vora: Since WinFX is a superset of the .NET Framework 2.0, the millions of developers who are already using the .NET Framework can use the skills they already have — their favorite .NET programming language, and the Visual Studio 2005 development environment they already know and love.

But besides its inherent familiarity, there are a number of features of WinFX that improve developer productivity. One feature is the unification of diverse technologies under the WinFX programming model. Now a developer doesn’t need to learn different kinds of programming models to build a modern application — she can just learn one and it gives her everything she needs to build a modern application. Another benefit that is really important for our developers is that WinFX offers a range of built-in features. For instance, WF offers a built-in workflow designer and built-in workflow activities, so a developer can just drag and drop existing activities into her application. And WCF provides built-in standard protocols for security and reliability so that a developer doesn’t have to “roll-her-own” code. This means that a developer can write complex modern applications in just a fraction of the time and code that it would otherwise take.

PressPass: What do you mean when you say “modern applications”?

Vora: We used to think about software mainly in relation to business, within the walls of the enterprise. Today we think about using software to manage our personal e-mail, our calendars, our social contacts, the way we get news or access other information — software touches every part of our lives.

Because of that, over the past few years we’ve seen the characteristics of successful software change. What we need now are applications that support not just business but our lives as a whole. That requires an engaging and intuitive user experience so users can get the most from the software. It involves connecting people and information, and supporting the processes that we use in the real world. And as we rely more and more on the Internet, modern applications should also help us protect our personal information online without requiring us to remember usernames and passwords.

PressPass: How does WinFX enable developers to support all those requirements?

Vora: There are four new components of WinFX, in addition to the .NET Framework 2.0, which make it possible to easily build these applications. Let’s take a look at each of them.

WPF offers developers a chance to create the best competitive advantage that any modern application can have — a great user experience, which is what people love about an application. With WPF, developers can easily create that by incorporating rich media, whether that’s audio, video, or even two-dimensional and three-dimensional graphics, into a single user interface. This enables people to visualize information in ways that weren’t possible before.

WPF also takes a big step forward in enabling collaboration between developers and designers. Historically, designers use their own tools to create a user experience, and then developers try to replicate that experience using a different set of tools, so a lot of compromises are made along the way. WPF introduces XAML, a new form of XML, that lets designers and developers speak the same language. Designers can design experiences that are represented in XAML, and developers can consume XAML to generate new code. Now designers and developers can collaborate to deliver the best user experience possible.

Another feature of modern applications is seamless communication. We live in a world that is more connected than ever before, and software everywhere should reflect that. WCF offers developers the ability to rapidly build all sorts of connected applications, from IM clients to Web services in the enterprise. WCF provides the glue between people, information, businesses, anything that needs to connect. And WCF is built on Web services standards, so the applications that developers build on WCF interoperate across platforms by default. Plus WCF supports REST and RSS to provide the communication infrastructure for a wide range of software, from consumer P2P applications and content feeds to enterprise-critical solutions.

Modern software also needs to support real-world processes both inside and outside the business. Those day-to-day processes often involve both humans and computers. Consider a technician in a call center supporting a customer. His actions depend not just on information from his computer, but also on responses from his customer or his peers. It’s difficult to model those relationships with the software we’ve got today. But with WF, developers can use first class support for workflow to effectively reflect those processes. WF also provides developers with a graphical designer, easily enabling the creation of workflow-oriented software.

Finally, modern applications need to protect our personal information online. The usernames and passwords we use to log onto Web sites involve risks of our identity information being compromised through malicious attacks like phishing. That’s where “InfoCard” comes in. “InfoCard” provides a consistent and intuitive user experience without requiring usernames and passwords, which lets us protect the information we release online.

PressPass: How is “InfoCard” a safer alternative to usernames and passwords?

Vora: To begin with, there are a lot of insecure practices around passwords. Most people only have a few username and password combinations for all of the Web sites they visit, which means that many of them will use the same combination across multiple Web sites. This is a major opening for attackers. Another problem, of course, is that because usernames and passwords are hard to remember, people often write them down in places they shouldn’t. We’ve probably all seen that sticky note on a computer monitor somewhere with a list of passwords written on it.

And unfortunately, even as we’re relying on the Internet more and more to connect us to people and information, attackers are getting better and better at compromising our identity. Phishing is a type of Internet scam that takes advantage of some of the insecurity around usernames and passwords. In the year 2005 alone, there were more than 50,000 new phishing sites on the Internet.

“InfoCard” is designed to help mitigate those problems. I think of it as a kind of virtual wallet. In the same way that you carry around a business card, an ATM card, a credit card and a drivers license in your physical wallet, you might have analogous information cards in your virtual “InfoCard” wallet. Then when you go to a Web site you can choose which of these cards to securely send it. That means you’re sending only the information you want, and you don’t have to remember a username and password. The information you send is securely encrypted and it’s never stored on your hard drive.

“InfoCard” is also designed around standard protocols, so it works across any platform. In fact, we’re actively engaging with partners to build an infrastructure of Web sites and card providers to make it safer and simpler for users to manage their identity online without having to remember all of those insecure passwords. We’re excited about the safer and more secure experience that “InfoCard” offers users, particularly as the Internet becomes more and more integrated into our lives.