Jaa


Reach vs Fidelity: WinFX, Atlas, WPF/E, XBAP and ASP.NET

In the world of application delivery there has long been a choice between reach and fidelity: either your application is high fidelity (eg a rich client with a rich user experience) or it has really broad reach (eg an HTML page). The Nirvana is to bring these two things together so that you get broad reach with a high fidelity application.

And for many years now the Microsoft platform has been one of the few ways - maybe the only way - of getting close to that ideal. Because of the broad use of the Windows platform, applications that are developed for it have very broad reach, and of course they can use all of the power of a locally-installed application.

So far, so much history. But of course people want to go further, and the internet opened a whole lot of doors in the quest to broaden reach even further. Web pages started getting better in terms of user experience, and with the growing use of asynchronous Javascript on the client (ie AJAX-type technologies) we're starting to see rapidly increasing fidelity in web applications.

So where does Microsoft play in this space? I thought it worth spelling out where technologies like WPF, Atlas, XBAP, WPF/E, ASP.NET and WinFX fit in the "reach vs fidelity" world.

  • At the lowest end of the fidelity scale, and highest end of the reach scale,  you have HTML.
  • WinFX, by using the Windows Presentation Foundation (WPF), allows you to produce applications that have the very highest fidelity ie it's possible to produce extremely usable, beautiful, eye-popping, etc applications. And technologies like click-once in WinFX make it really easy to deploy and update such applications. But you do need the Windows platform on the client, and WinFX runtime components installed
  • XBAP applications (see my post on this) stretch WinFX reach even further by making the whole update/install cycle virtually invisible. So again, you get ultra-high fidelity on Windows clients with a minimum of fuss, running inside a browser.
  • Atlas makes it much easier for developers to produce AJAX-enabled websites. Reach is very broad ie it's cross-platform, cross browser, doesn't rely on Windows on the client. But of course the user experience is not really up to WinFX standards, so this is a bit of a compromise between reach and fidelity. And obviously has a place where you need to go really broad.
  • WPF/E (Windows Presentation Foundation "Everywhere") was announced at the PDC last year and promises cut-down WPF technology across platforms and across browsers. On the face of it this reaches closer to Nirvana, but it's still in development. If you're going to Mix06 you may well hear more about this technology.
  • And of course ASP.NET has been around for a while and also provides very wide reach. ASP.NET websites run across browsers, and can be accessed from any platform that can access the web. So again very broad reach but with - at best - Web 2.0 fidelity (ie using Atlas to get AJAX features).

Where does this leave us? Simply put, the choice is yours. Where you believe that the Microsoft platform provides sufficient breadth of reach then WinFX - either via click-once install or XBAP - gives you the best possible user experience. Where you need to go broader, you could use Atlas with ASP.NET. And when we start releasing CTPs of WPF/E, you have the option of even higher fidelity broad reach.

Comments

  • Anonymous
    February 15, 2006
    The comment has been removed
  • Anonymous
    February 15, 2006
    The comment has been removed
  • Anonymous
    February 19, 2006
    Thanks for the comments Barry. I'm not entirely sold on your analogy to be honest - building software is a whole lot different to stringing together bits of hi-fi equipment. Taking a piece-meal approach to software development, where you have different technologies and different vendors for every piece, introduces problems with different support skills, different development tools, integration nightmares and often needs an army of consultants to make it work.

    But there's room for more than one idea, and that's one of the great thing about this industry. I'm sure time will tell whether one approach will come out on top, but actually there's probably room for all of us.
  • Anonymous
    March 11, 2006
    What’s of interest to Canadian Developers? That’s the question I’m always contemplating. I can’t say...
  • Anonymous
    March 20, 2006
    Qu’est-ce qui intéresse les développeurs canadiens? C’est la question que je me pose toujours. Je ne...
  • Anonymous
    July 15, 2006
    The comment has been removed
  • Anonymous
    August 19, 2006
    what about windows forms. How does the 3rd party market look or WPF to help with LOB app dev?
  • Anonymous
    August 27, 2006
    The comment has been removed
  • Anonymous
    July 11, 2008
    WPF/XBAP is an awesome tool for web development. Yet, my company is still forced to use Asp.Net due to WPFs font rendering. When you talk about reach, consider all the people who get headaches from reading WPF's blurry text. I simply won't use a program that has blurry fonts like those found in WPF and silverlight.