Ian Moulster's blog

A Microsoft employee translating Microsoft technology into plain English

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

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

  • Comments 9

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.

Leave a Comment
  • Please add 6 and 1 and type the answer here:
  • Post
  • Looks like a nail: Microsoft staffer Ian Mouster writes: "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

  • >>If you take the individual pieces of WinFX - eg the Presentation Foundation, Workflow Foundation, Communications Foundation, .NET 2.0

    stop already with the buzzwords. Microsoft has a habit of pidgen-holing ideas into certain "technologies" when really it's all just spin on particular functionality.

    >> But there's nothing out there that comes close to the integrated whole that is WinFX.

    analogy: before IPOD times, when PPL were looking at home hi-fi the choices were all-in-one systems or descrete components. if your all-in-one had a poor AM/FM tuner you had to put up with it. I personaly like to spend the extra $$$ to get the better components. At least there's a standard API  (RCA plugs and voltage levels) to connect it all together...

    Ian, nothing you mention is new to the world or exclusive to Microsoft. it can all be done with other technologies and the argument between "Rich Vs Reach" has all been covered by Macromedia with RIA's. Old news.

    I've recently switched over to Apple machines. how far will WinFXs' "reach" extend then?
  • 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.
  • What’s of interest to Canadian Developers? That’s the question I’m always contemplating. I can’t say...
  • Qu’est-ce qui intéresse les développeurs canadiens? C’est la question que je me pose toujours. Je ne...
  • Barry,
    WPF/e will actually allow for quite a reach onto the Mac platform via Safari or Firefox plugins for WPF/e.

    Plus, with Macs running Intel chips and the advances that are being made in not just virtualization, but running Windows apps alone in the Mac OS via Wine opens the possibility of running an XBAP in IE6/7 on a Mac.

    Oh, and stop using buzzwords (i.e. RIAs).  :)  WPF, Atlas and XBAP are names for MS's offerings in the industry just like everyone else has (Yahoo, Google, Adobe/Macromedia, etc.).  What, do you want MS to call their different technologies AJAX or Web 2.0 like everyone else?  They are not the same.

    As far as Macromedia and others having already covered these strategies, the difference is the number of developers using Macromedia and other development environments versus those using Visual Studio.  When you open up the rich options that WPF/e alone offers to developers that just want to use Microsoft standard development tools rather than 3rd party tools, you make it a lot easier for a large number of powerful, useful applications to make it into the mainstream than with Macromedia technologies.  When was the last time you saw a Flash app that actually handled something other than a presentation of multimedia (that is mainstream, too)?

    Just a few thoughts.
  • what about windows forms. How does the 3rd party market look or WPF to help with LOB app dev?
  • PingBack from http://uk.techcrunch.com/?p=14
  • 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.

Page 1 of 1 (9 items)