Questions
about Longhorn, part 3: Avalon's enterprise mission
The slide shown at the right comes from a
presentation entitled
Windows client roadmap, given last month to the International
.NET Association (INETA). When I see
slides like this, I always want to change the word "How" to "Why"
-- so, in this case, the question would become "Why do I have to
pick between Windows Forms and Avalon?" Similarly, MSDN's Channel 9
ran a video clip of Joe Beda, from the Avalon team, entitled
How should developers prepare for Longhorn/Avalon? that, at
least for me, begs the question "Why should developers prepare for
Longhorn/Avalon?"
I've been looking at decision trees like the one shown in this
slide for more than a decade. It's always the same yellow-on-blue
PowerPoint template, and always the same message: here's how to
manage your investment in current Windows technologies while
preparing to assimilate the new stuff. For platform junkies, the
internal logic can be compelling. The INETA presentation shows, for
example, how it'll be possible to use XAML to write WinForms apps
that host combinations of WinForms and Avalon components, or to
write Avalon apps that host either or both style of component.
Cool! But...huh? Listen to how Joe Beda frames the "rich vs. reach"
debate:
Avalon will be supplanting
WinForms, but WinForms is more reach than it is rich. It's the
reach versus rich thing, and in some ways there's a spectrum. If
you write an ASP.NET thing and deploy via the browser, that's
really reach. If you write a WinForms app, you can go down to
Win98, I believe. Avalon's going to be Longhorn only.
So developers are invited to classify degrees of reach -- not
only with respect to the Web, but even within Windows -- and to
code accordingly. What's more, they're invited to consider
WinForms, the post-MFC (Microsoft Foundation Classes) GUI framework
in the .NET Framework, as "reachier" than Avalon. That's true by
definition since Avalon's not here yet, but bizarre given that
mainstream Windows developers can't yet regard .NET as a ubiquitous
foundation, even though many would like to.
Beda recommends that developers isolate business logic and
data-intensive stuff from the visual stuff -- which is always
smart, of course -- and goes on to sketch an incremental plan for
retrofitting Avalon goodness into existing apps. He concludes:
Avalon, and Longhorn in
general, is Microsoft's stake in the ground, saying that we believe
power on your desktop, locally sitting there doing cool stuff, is
here to stay. We're investing on the desktop, we think it's a good
place to be, and we hope we're going to start a wave of excitement
leveraging all these new technologies that we're
building.
It's not every decade that the Windows presentation subsystem
gets a complete overhaul. As a matter of fact, it's never happened
before. Avalon will retire the hodge-podge of DLLs that began with
16-bit Windows, and were carried forward (with accretion) to XP and
Server 2003. It will replace this whole edifice with a new one that
aims to unify three formerly distinct modes: the document, the user
interface, and audio-visual media. This is a great idea, and it's a
big deal. If you're a developer writing a Windows application that
needs to deliver maximum consumer appeal three or four years from
now, this is a wave you won't want to miss. But if you're an
enterprise that will have to buy or build such applications, deploy
them, and manage them, you'll want to know things like:
-
How much fragmentation can my developers and users tolerate
within the Windows platform, never mind across
platforms?
-
Will I be able to remote the Avalon GUI using Terminal Services
and Citrix?
-
Is there any way to invest in Avalon without stealing resources
from the Web and mobile stuff that I still have to support?
Then again, why even bother to ask these questions? It's not
enough to believe that the return of rich-client technology will
deliver compelling business benefits. (Which, by the way, I think
it will.) You'd also have to be shown that Microsoft's brand of
rich-client technology will trump all the platform-neutral
variations. Perhaps such a case can be made, but the concept demos
shown so far don't do so convincingly. The Amazon demo at the
Longhorn PDC (Professional Developers Conference) was indeed cool,
but you can see similar stuff happening in Laszlo,
Flex, and other RIA (rich Internet application) environments today.
Not, admittedly, with the same 3D effects. But if enterprises are
going to head down a path that entails more Windows lock-in,
Microsoft will have to combat the perception that the 3D stuff is
gratuitous eye candy, and show order-of-magnitude improvements in
users' ability to absorb and interact with information-rich
services.