Even a chimp can write code

Friday, June 30, 2006

Cross-browser support for WPF apps

Windows Presentation Foundation has two flavors of applications: standalone and browser-hosted. The former is in the mold of a conventional "smart client" Windows application, installed on your computer, with Start menu and Add/Remove Programs presence. The browser-hosted app runs in a partial trust security sandbox within a browser.

You can launch either flavor of application by clicking on a URL in your browser. WPF's deployment model is based on ClickOnce, giving you the advantages of a single-click, per-user install, with sophisticated application update mechanisms, local isolated storage support etc. WPF apps can be launched from or rendered in any browser that supports the WebBrowser control. That means Internet Explorer 6, Internet Explorer 7, Internet Explorer 7+, MSN Explorer, Netscape 8.0 and above, AOL Explorer and Maxthon.

Unfortunately, ClickOnce currently does not have support for Firefox as of .NET Framework 2.0. To be fair, when Whidbey (code name for .NET Framework 2.0) features were being planned a couple years before .NET 2.0 shipped, Firefox hadn't yet taken off. Later when .NET 2.0 was close to RTM, the team made an effort to revisit this but their proposed DCR didn't make the bar at that late stage. The ClickOnce team understands this needs to be corrected in the Orcas timeframe. But in the short term, don't let that be a dampener. I recently tried out two Firefox plug-ins that I'd recommend as short term measures:IEView provides a context menu item such that when you right-click on a hyperlink to a WPF application, you can choose to open it in Internet Explorer. IETab does one better: it provides a similar context menu that lets you launch content in a new tab that runs the IE rendering engine.
3D cube animation XBAP in Firefox using IETab
The problem of providing native support for deploying and rendering WPF within all the browsers out there isn't just about flipping a switch and providing support. There are both huge technical and non-technical challenges in getting this right; plenty more of the former than the latter, but I won't go into those in this post.

How do you feel about browser support for WPF apps? Are there obvious things we should be doing, but aren't? I'd love to incorporate the feedback you provide into our planning process.

Other related links:


Tags: , , ,

Email this | Bookmark this

4 Comments:

  • This support is going to make or break WPF with regards to general community 'buy-in'. Here are my comments...

    WPF should have as much browser support as WPF/E. This means complete exposure at the DOM level.

    Running a WPF/E app from a site should run using the WPF infrastructure if it is installed. This means complete with hardware acceleration.

    The WPF/E plugin on Firefox should add support for full XBAPs.

    XBAPs should be navigatable with a URL inside the application. Like flash, once it is running you lose referencing part of the app by URL unless you code it in explicitly.

    Just bite the bullet and make WPF cross platform. Get the community involved - do it through Mono or do it yourself. At the end of the day Windows will be the reference platform and you'll own the standard.

    Get the specs out for WPF v.2 now. Make the release schedule 18 months at the most.

    By Anonymous Anonymous, at July 2, 2006 at 8:27 PM  

  • firefox support is mandatory - not only for running XBAP but also for clickonce deployment.

    Why can't clickonce be supported in Whidbey SP1?!

    By Anonymous Anonymous, at July 25, 2006 at 11:50 PM  

  • In my post I said "The ClickOnce team understands this needs to be corrected in the Orcas timeframe". Orcas is supposed to be .NET 3.5.

    By Blogger Ashish Shetty, at July 26, 2006 at 7:20 PM  

  • If you want buyin, if you want to beat Adobe's RIA attempts, you must get the thing working in Firefox at a bare minimum. And firefox on nix/apple as well. Then if you had time, Opera browser.

    AND PLEASE GET IT WORKING. Developing Flash/Flex apps is slightly less than painful.

    I am not sure if you are supporting Windows 2000 but you should be if you aren't.

    I don't understand the whole clickonce argument, I mean if firefox doesn't support clickonce, just support Firefox's extension plugin method.

    By Anonymous Anonymous, at July 31, 2006 at 9:04 PM  

Post a Comment | Home | Inference: my personal blog