Q&A: Behind Windows Vista Lies a Robust Programming Model Called WinFX

REDMOND, Wash., Jan. 18, 2006 – Microsoft today marked a milestone on the path toward completing the Windows Vista programming model, WinFX, by announcing the availability of Go Live licenses for Windows Communication Foundation and Windows Workflow Foundation technologies. Along with the WinFX January Community Technology Preview (CTP), these new resources are meant to give millions of .NET developers a leg up on next-generation application design. All three releases are available now from the MSDN Download Center.

To learn more about WinFX and understand its impact on Windows application development, PressPass asked Ari Bixhorn, director of Web Services Strategy at Microsoft, to provide some background on the new development platform. In addition, Bixhorn offers his insight on how developers can position themselves to use WinFX technologies to their advantage.

PressPass: In your mind, what’s the significance of today’s announcement?

Bixhorn: Since we first unveiled WinFX at PDC [the Microsoft Professional Developers Conference] in 2003, the excitement around it has been nothing short of infectious. In recent months, Microsoft started providing regular builds of WinFX so developers can “kick the tires” of our new programming model and become familiar with the three key technologies within WinFX — Windows Presentation Foundation (WPF), Windows Communication Foundation (WCF) and Windows Workflow Foundation (WF). In addition, early adopters of WinFX have been asking for the ability to test WinFX server-based technologies in a real-world production environment. Today’s announcement enables them to do exactly that. For customers, the Go Live releases of WCF and WF signify the “green light” for them to deploy applications before the final release of WinFX. These Go Live releases also help drive the feedback loop between customers and Microsoft. This helps us ensure that the product we ultimately ship meets the stability, scalability and reliability needs of our customers.

PressPass: What exactly is WinFX? Can you give us a simple explanation?



Ari Bixhorn, Director of Web Services Strategy

Bixhorn: WinFX is a programming model [see “What’s a Programming Model?”, this page] and the foundation for building software on the Microsoft Windows platform moving forward. As a superset of the Microsoft .NET Framework, WinFX combines the power of the .NET Framework 2.0 with new technologies for building applications that have visually compelling user experiences, seamless communication across technology boundaries, and the ability to support a wide range of business processes. Because WinFX is an evolution of the .NET Framework, the millions of developers who use .NET today can use the skills they already have to start building WinFX-based applications. So whether you’re a developer using Microsoft Visual Basic, C++, C# or any of the other languages supported on the .NET Framework, WinFX is suited to your needs.

PressPass: How does WinFX change the way developers build applications?

Bixhorn: WinFX dramatically simplifies the development of many applications and expands the set of capabilities that developers have at their disposal when they’re building software. For example, WinFX includes the Windows Communication Foundation, a technology for rapidly building connected systems. WCF is the first programming model built from the ground up for the development of service-oriented applications. It enables developers to build these applications using a smaller fraction of the code than they used in the past. Similarly, the Windows Presentation Foundation enables developers and designers to collaborate when building rich user experiences. This simplifies the development of client software that’s not only highly functional, but also aesthetically appealing. And Windows Workflow Foundation radically enhances a developer’s ability to model and support business processes. Most important, developers get these new capabilities without having to learn new programming paradigms. The result is software that is more connected, easier to use and more resilient to the changing needs of a business.

PressPass: Can you provide some examples that illustrate what developers can do with WinFX?

Bixhorn: I think the best scenarios come from customers who are using WinFX. Consider The North Face, who are providers of outdoor equipment and clothing. At PDC 2005, The North Face demonstrated a prototype application, designed by San Francisco-based design house Fluid, that takes advantage of WinFX. Web developers converted a traditional Web application that lets customers look over the company’s merchandise into a WinFX-based application. The results were stunning. The new application is no longer a static Web page. Rather, it features 3-D visualization and incorporates multiple video streams that you can view simultaneously. For example, a North Face customer could see a snowboard being used by a professional snowboarder at Whistler. This type of functionality is out of reach today for traditional Web-based applications. But by using WPF to achieve the rich visualization and advanced user experience, traditional Web developers with zero background in building Windows-based software accomplished it in about six weeks. That’s a phenomenal testament to productivity.

Also consider Ohio State University Medical Center, which is using WCF in an environment where customer privacy and security are of paramount importance. Using WinFX, developers revamped the entire infrastructure of how patient information is sent throughout the center’s network of hospitals, from the operating room to patient monitoring facilities and beyond. Developers used WCF to help ensure that patient information was secure, regardless of whether that information was sent internally within a hospital or outside its walls.

We can look to Pivotal Corp. for another strong example of how developers are using WinFX technologies to build better software. Pivotal offers a suite of customer relationship management (CRM) applications built from hosted Web services, and developers there are using WCF to provide secure, reliable and flexible communication between the CRM client and back-end services over standards-based Internet protocols. Of course, it’s important that these services communicate securely and at high speeds. In the past, Pivotal developers had to use several communications APIs to develop the complex CRM system. By using WCF instead, they have all that functionality under a unified programming model. Plus, administrators at Pivotal customer sites can use the WCF configuration files to manage the details of the communication ports and protocols. So this is an example where a customer’s existing solution works fine, but WCF offers the benefits of improved developer productivity, standards-based communication, better administrator/deployer control and so forth.

Consider Captaris as another good example of how customers are using WinFX technologies to build better software. Captaris is developing a workflow simulation engine to model document-centric processes in industries such as financial services and healthcare. This program imports XAML files to simulate different workflow scenarios using alternative data for refining and optimizing the process. By using the common workflow representation provided by Windows Workflow Foundation, Captaris customers can monitor and tweak their workflow scenarios even after they’ve been deployed.

In the coming months, we expect to hear about a lot more companies going live with next-generation applications that use WinFX technologies. We have seen customers using WinFX across a wide range of industries, including retail, financial services, CRM, healthcare, manufacturing, telecom, and the list goes on.

PressPass: What customer need or problem does Windows Communication Foundation address, and how does that relate to Microsoft’s overall WinFX vision?

Bixhorn: Businesses and individuals alike are more connected now than ever before. Successful businesses rely on their software to be connected so they can send vast amounts of information within the organization as well as to their business partners, suppliers and customers. These connected systems have some strict requirements such as interoperability. They have to be able to cross technology and platform boundaries. And ideally, the software should be able to evolve with the constantly changing needs of the business. WCF is the technology that helps businesses address these challenges. WCF provides a service-oriented programming model that allows companies to build a range of connected systems. Plus, it’s built on Web-services standards, so developers who use WCF to build software can count on their software being able to communicate with software running on other platforms. WCF also brings together all of the existing Microsoft technologies used to build connected systems. This has the effect of radically increasing productivity so developers can get their products to market more quickly.

One of our major design goals with WinFX is to facilitate the development of secure, reliable, interoperable connected systems. WCF is the enabling technology for that.

PressPass: Can you do the same for Windows Presentation Foundation? In other words, please explain how WPF solves a particular customer problem and describe the role WPF plays in the overall WinFX model.

Bixhorn: Start with the premise that every successful business today has a Web site. As recently as two or three years ago, the goal of a Web site was to reach a broad range of customers, and at the time, an online presence by itself was a competitive advantage. But now that virtually every company has a Web presence, organizations are looking to differentiate their software based on the user experience. WPF was designed to help developers do exactly that. Using WPF, developers can enable companies to go beyond the browser, delivering user experiences that let customers visualize information in ways they couldn’t before. Think back to the North Face example, which features simultaneous video streams running within an application. WPF enables developers to build not just two-dimensional static graphics but 3-D dynamic graphics that can be rotated and viewed from different perspectives. WPF also provides a unified model, not just for how developers build user interfaces but also how they visualize documents and various types of media. Having a unified API helps developers be a lot more productive. WPF also introduces XAML, a markup language that overcomes traditional barriers associated with collaboration between designers and developers.

To explain how WPF maps back to our WinFX vision, I’ll borrow once more from the North Face scenario. One of the key goals for the North Face application was to take full advantage of the power of a Windows Vista-based desktop. That’s a design goal of WinFX as well – enabling our customers to capitalize on the power of a PC running Windows Vista. WPF technology serves as the engine for that.

PressPass: And how does Windows Workflow Foundation fit into the picture?  

Bixhorn: Much of the software being developed today is written for a common goal, which is to support the day-to-day operations of a business, whether that manifests as a CRM application, an accounting package, order-processing software or a call-center application. To effectively support routine business operations, an application should reflect real business processes that happen on a daily basis. For example, receiving and processing an incoming order or resolving a customer support issue are both complex, multi-step business processes that ideally should be modeled by the software used to run them. However, business processes and software have historically been two separate worlds. With WF, we’ve taken a new approach to how developers build software. Namely, WF makes the business process that a developer is supporting a first-class concept in the software that he or she is building. With WF, the concept of workflow is built into developer platform, so developers can use it across a range of business process scenarios. This not only includes system workflow, but also human workflow scenarios, such as a call center application that may require a manual, multi-step human process to achieve a goal.

So how does that tie back to WinFX? In essence, WinFX is about building software that helps our customers run their businesses more efficiently. Software that models day-to-day business processes helps customers achieve that goal, and WF is the technology that drives that.

PressPass: It sounds like WinFX is already gaining traction with the developer community. How can other developers get in on the WinFX experience?

Bixhorn: Starting today, developers can go to MSDN and at http://msdn.microsoft.com/windowsvista/getthebeta/golive download the WinFX January CTP, which exposes them to all three WinFX technologies — WCF, WPF and WF. Developers also have the option to download the Go Live releases of WCF and WF at MSDN. The Go Live releases give developers special permission to deploy applications based on WCF and WF in production environments. Going into early production with a server-based application gives customers an opportunity to assess the scalability of their software in a real-world setting before the final release of the technologies. Early testing for server-side applications is something developers have asked for since the initial release of the .NET Framework in 2002 (in which we provided a Go Live license for ASP.NET), so we’re excited to continue this with today’s Go Live releases.

PressPass: You said earlier that WinFX is the programming model for “the Windows platform moving forward.” What does that mean, and how might the developer experience differ on versions of Windows besides Windows Vista?

Bixhorn: Initially, we envisioned WinFX as the programming model for “Windows Vista and beyond.” But early in the development cycle, many of our customers made it clear that they wanted a consistent programming experience for WinFX, regardless of the Windows version it runs on. So while Windows Vista continues to be the flagship delivery vehicle for WinFX, we are also making it available for Microsoft Windows XP SP2 and Microsoft Windows Server 2003. This down-level support will allow more developers to use WinFX in their existing environments. Customers frequently tell us they want to run their applications in more environments, and making WinFX the programming model for all platforms – Windows Vista, Windows XP and Windows Server 2003 – helps us meet this request. As for the developer experience, that will be identical across all three platforms.