Longhorn and Whidbey(staged information from compiled public sources by Sandor Nacsa, Microsoft Hungary)

Next Wave of Software Opportunities:

  • Jim Allchin: highlights on new application programming model for Windows
  • Bill Gates: highlights on next wave of software development
  • enable developers to build a new generation of "smart," connected applications

sdk/longhornoverview/dtconintroduction.aspx:
"Longhorn" provides a platform for writing a new type of software that combines the best of Windows and the Web. "Longhorn" is optimized for applications that are characterized by a combination of network awareness and local resource utilization. These applications communicate with other nodes (servers or other clients) in a network (the Internet or an intranet), and participate in a larger service-oriented architecture. They use local resources (CPU, GPU, storage, bandwidth, and so on) to deliver an efficient and effective end-user experience and can function offline or online.

Although there are many examples of applications that already conform to this definition, developing smart, connected, applications is not a trivial undertaking. A number of challenges arise when attempting to develop such applications, from the problems associated with supporting both online and offline experiences to concerns about deployment and maintenance of the application. The system services and new APIs in "Longhorn" were specifically designed to handle many of these issues, so that application developers can focus on offering an experience suited to the particular problem that their software is addressing.

"Longhorn" applications can have the following characteristics:

  • Function online or offline with no-touch deployment.
  • Connect with peers and servers over any network topology.
  • Collaborate with others through shared data, events, and communications.
  • Leverage shared data and metadata schemas.
  • Present data and/or media to the user with high fidelity.
  • Run safely within code access security (CAS) policies.
  • Recognize associations among people and groups.

"Longhorn" also provides backward compatibility with existing applications. Not only will almost all current applications run as expected on "Longhorn", but "Longhorn" allows you to incorporate new functionality into existing applications incrementally. Some developers will choose to rewrite entire applications using the new APIs and functionality exclusively, while others will choose to incorporate only a subset of these features into their existing applications. Many organizations will need to continue to maintain an existing code base for legacy clients. "Longhorn" supports all of these strategies.

Key characteristics of the next wave:

  • developers building connected systems using Web services that reflect the dynamic nature of the real world;
  • software making oceans of digital information more meaningful and actionable (i.e. information driven); and
  • new breakthrough user experiences, improving interactions between people, groups and organizations.

WinFX [Windows [.NET] Framework eXtension]: all those are managed classes

  • the application programming model for the next generation of Windows,
  • evolves the Microsoft .NET Framework’s programming model, greatly increasing developer productivity as well as application security and reliability.

Allchin on WinFX:

To have this great functionality [i.e. “Longhorn”] you need a way to be able to interface into it, and we call that WinFXTM. And what is WinFX?

  • It is the next step beyond Win32.
  • And if you've programmed to the .NET Framework, it's going to seem like second nature.
  • It's very well-structured.
  • This is something that we expect to last decades, and so we've spent a lot of time thinking about how the classes, the types, the methods, the properties, the events all fit together so it's a holistic environment.
  • Actually, every time that a new extension is put into the system, it's reviewed by a set of system architects and then it's usability tested by a set of developers. We think we're doing a good job. We're going to be interested in what you provide to us as feedback about this.
  • Of course, another thing that we wanted to do was increase the capability of what you're able to do in your code. And at least for me, the number of lines of code that I can write is about the same; actually in my case a little bit less than what I used to do. But in the last ten years, I don't think the productivity in terms of number of lines of code has really gone up that much.
  • So what can you do about it? Well, I have a saying. The best line of code that you do is the one that you don't have to do. And what we're trying to do in WinFX is bring up that capability so things like add ref and release you don't have to think about, so you can make your code more resilient and write your code faster.
  • Lastly, in this next step in WinFX, we're trying to continue on our commitment to compatibility. So if you have a Win32 bit app or you have a .NET Framework app and you want to start taking advantage of some of the extensions that we have in WinFX, you'll be able to do it in a fairly straight ahead way.
    .....
  • In terms of, now, how do you get there:
  • If you have Win32 bit app today, barring security issues and the like, those applications should be able to run on "Longhorn."
  • If you're working with the .NET Framework today, those applications would work on "Longhorn," and you're on your way to the WinFX APIs.
  • If you have a Win 32 bit app, or a .NET Framework app, you can start taking advantage of the WinFX APIs.
  • And perhaps, you can't rewrite your code to manage. It's OK. Just start using the functionality in the system that you need for your application, whatever it would be. We've designed the system specifically for that purpose.
  • And then, finally, if you're writing a new application and it's in the "Longhorn" timeframe, then you can take advantage of the full WinFX environment.
  • Now, we don't have WinFX APIs today, certainly, in the bits that we're going to give out here that cover the entire system. But it should be very clear that's the path that we're on, to basically make that the new layer, surface area for the system.
  • In terms of schedule, this is only the client. Obviously, there are separate schedules for server. They've both got the same general technology in server, but I'm only going to get into the client schedule. Quickly,
  • the media center just shifts.
  • The "Longhorn" developer preview, that's the bit that we're going to provide to you today.
  • In the first half of 2004, there will be a service pack for Windows XP, and a new updated Tablet, which has dramatically better recognition capabilities, as well as several other very, very nice facilities.
  • In the summer time, and second half of the year, we'll be coming out with:
  • a 64-bit edition for AMD, as well as
  • "Longhorn" Beta 1. Beta one will be where we take it to the next level and ask a lot more people besides you.
  • We are listening. We have a show net here called There's an application that, if you already haven't downloaded, I propose that you do that. Give us feedback. I know there's been, already, a bunch of information coming. I was walking back stage, looking at some of the information. It's great. It's a great way for you to get with your peers. It's a great way to tell us what's going on. We are listening, and we're very invested in your success.
  • There's a set of things that we think you should do. This would be what we would call our call to action. They're very straight ahead.
  • Fundamentals: We think fundamentals are really important. We, together, have to nail the security infrastructure so that people can trust these systems.
  • Web services: it's the way to get great inter ops.
  • Managed codes: it's the way to avoid arrows, pointers, get higher productivity.
  • Smart clients: you want high, interactive, rich experience. You need to take advantage of those and help us be better in community. We're trying to really work on that, as you'll see with the application we've got here -- all of the people that are into blogs, and other things. We're really trying to connect with you, and that's what this conference is about.
  • Now, you get the bits today. In fact, as you go to lunch, you're going to be able to get the bits. You should have gotten a card, which is in your conference bags. There's a lot of information on these discs. There are:
  • two CDs just of "Longhorn" and different versions -- a 32-bit version, 64-bit, both of IE 64 as well as AMD 64. We also talked about that as X64.
  • There is the "Longhorn" driver kit, along with the SDK.
  • There is Visual Studio, the would-be version,
  • Yukon the sequel, newest update of that.
  • There is the Virtual PC 2004 version. Now, that's a virtual machine technology that does actually work with these "Longhorn" bits. And
  • there's lots of white papers, and samples, and other things.
  • Now, I want to set the context for where we are in this release. We still are very early. We've never shared bits this early. So you're going to see a lot of work. There's things in terms of the programming model that we haven't cleaned up yet. Performance is not good. ... You should put on only high end machines, and I propose that you not put it on any production machines, and I propose that you not connect it -- at least not knowingly -- to the Internet, in the sense that, it's fine if you put on the Internet connection firewall, which should be on by default. But you should be thinking, you should know that these are early bits.

Longhorn fundamentals:

  • extended security technologies in development for Windows XP to protect against malicious exploits, as well as
  • new security improvements at the architecture level that developers can take advantage of to help extend security across applications and services
  • performance improvements from new technologies such as
  • SuperFetch, which will help applications launch more quickly, and
  • ClickOnce installation, which will speed and simplify application deployment

[Longhorn has a] New Windows presentation technologies, code-named "Avalon":

  • the graphics subsystem in Windows "Longhorn" and
  • a foundation for the Windows "Longhorn" shell

that will enable developers to build breakthrough user experiences.

  • provides a unified architecture for presenting user interface, documents and media
  • enables developers to easily take advantage of leading-edge graphics hardware, and
  • provides native support for declarative, markup-based programming, making it simpler to build Windows-based applications

Anderson on Avalon:

  • This is the Common Language Runtime's face in the next version of Windows. Developers want the ability to deliver rich text and great user experiences, and they want to blend those capabilities seamlessly with things like animation or video. The next generation of the Windows platform will support all of this much more simply.
  • With "Avalon," we're exploring the types of experiences developers want to enable, and then looking back at the technology, we have to let them accomplish those tasks.
  • By integrating two-dimensional and three-dimensional graphics, documents, video, audio, and animation, as well as tools to distribute and protect digital content, developers can more easily build software that is visually remarkable and offers a breakthrough experience to customers.
  • Security is a supreme priority for all of the design work in Windows "Longhorn." In "Avalon," we've spent a lot of time thinking about how we're going to have these rich, interactive applications that work across the network and make them run securely. So we're building on all the code access security work that happened in the .NET Framework. That enables us to have applications that are running in a less-privileged environment. So even if there is some potential to exploit security vulnerabilities, we're making it less likely that such vulnerabilities can be accessed.

Longhorn will introduce a declarative programming model (code name "XAML" [XML Application Markup Language]), that will complement existing programming languages and Windows Forms by improving productivity when developing Longhorn-specific client UI.

Petzold on Avalon:
”The most recent Win32 API version of this program (called COLORS1 in the fifth edition of Programming Windows) is 250 lines long. The Windows Forms version in Programming Microsoft Windows with C# is about 100 lines. This new version is only about 60 lines long, and I'm pretty sure that it can be pruned even more by using inheritance. From 250 lines to 100 and now 60. And that, my friends, is what is commonly called progress.”
(Charles Petzold, Code Name Avalon – Create Real Apps Using New Code and Markup Model,from the January 2004 issue of MSDN Magazine,

From: User Experience (Aero)
From: Aero User Experience Guidelines: Sampler for PDC 2003, Microsoft User Experience Group, October 2003

  • Aero is the new Windows user experience. Aero consists of guidelines, recommendations, and user experience values that help your applications get the most out of the Microsoft® Windows® Code Name "Longhorn" pillars:
  • rich presentation (Code Name "Avalon"),
  • data (Code Name "WinFS"), and
  • communication (Code Name "Indigo").
  • The WinFX™ managed classes make it easy to build your applications with the Aero user experience. In addition, applications that apply the Aero user experience guidelines have opportunities to integrate more deeply with the Windows shell and thereby get more exposure to more potential customers. Aero's advances in usability and aesthetics will help excite and empower your customers.”

[Longhorn also introduces] New Windows communications technologies, code-named "Indigo"

  • Indigo will also be provided as a separate download for Windows XP and Windows Server 2003.
  • How does Indigo relate to "Whidbey"?
  • "Whidbey" is the code name of the next release of the .NET Framework and Visual Studio® .NET development tools, incorporating new features such as support for 64-bit platforms. "Whidbey" is still in development and is being made available in developer preview form at the Professional Developers Conference 2003.
  • Indigo is a set of additional .NET managed class libraries, and is fully compatible with the "Whidbey" Visual Studio tools.
  • ”Longhorn and Whidbey represent two distinct milestones in the Microsoft roadmap. Whidbey is expected to ship several months before Longhorn, so that when Longhorn is released, an updated version of Whidbey [?Orcas?] will be included that provides core services in Longhorn.” (Dino Esposito, A First Look at Writing and Deploying Apps in the Next Generation of Windows, from the January 2004 issue of MSDN Magazine,
  • a new approach to building and running connected systems built from the ground up around the Web services architecture [WSA]
  • provides [through its advanced Web services support] capabilities for more-secure, reliable and transacted messaging and interoperability
  • unifies a broad array of distributed systems capabilities in a composable and extensible way, spanning transports, security systems, messaging patterns, encodings, network topologies and hosting models.
  • a unified model for developing connected applications on the Windows platform that seamlessly merges remote procedure calls, messaging, and remote object invocation

Box on Indigo:

  • The main concept we deal with is that a single program by itself is nowhere near as interesting or useful as several programs that can work together in concert.
  • We've spent a lot of energy in the past five years working with the industry to develop interoperable protocols based on Web services, XML and service orientation.
  • What we're doing with "Indigo" is giving people a simple, unified way to take advantage of virtually any program that's out there and to incorporate it into their world in an easy, reliable and secure way.
  • With "Indigo," we've built in secure protocols down to the metal so that every message can be secure. As soon as data and information go out of the box, there is a strong security infrastructure in place, based on decentralized authentication, federated identification, message-based securities, and more.
  • In addition to making sure we have excellent implementation, we're working with industry partners to ensure we're all heading in the same direction so we can all provide the system interoperability that people want.
  • The end result is connected systems that wire all the individual pieces together.
  • The "Indigo" team actually manages several technologies that are already out in the field, such as COM, COM+, MSMQ and DTC, all of which were developed in the late '80s and early '90s. At this year's PDC, we will let people know that we won't leave them behind when it comes to those technologies. People's investments in those technologies are going to move forward, as will those folks who recently invested in .NET. It's very exciting to be able to share with developers the birthing of the whole platform, including an operating system. It's all pretty profound.

Anderson (otherwise working on Avalon):

  • With .NET, we took the first step toward elevating the whole platform, and Longhorn is all about continuing that journey based on developer, partner and customer demand.
  • One of the things we're doing in the evolution of the Microsoft platform and "Longhorn" specifically is applying the concept of managed systems in more than just code.
  • We're going to have a notion of managed applications, which means that, by redefining what it means to be an application, the system can provide more services and value in the ecosystem around those applications.
  • It's all linked together to help developers focus on solving the problems they have rather than being preoccupied with the infrastructure they need to build around the problems.”

Anderson: "WinFS" gets to store your data, while "Indigo" lets you talk to other machines, applications, systems and devices. Everything you see and feel on the PC goes through the presentation layer, which we've code-named "Avalon".

WinFS [the Windows File System]: