I have been doing some thinking recently about what sort of client application model would benefit customers the most.  It seems very clear that parts of the web application model are super important (URL deployed, seamless\transparent install and update, server centric deployment, etc) and we have to provide those in whatever model we build.  But there are a few other attributes of web apps (like running the browser frame, navigation, etc) that are also true of web apps today (ASP.NET apps, Atlas apps, etc) but in many ways we have (or could build) the technology to apply all these attributes to out of browser apps as well.   So the question I am struggling with is how to think about the end-user model of what runs in the browser or not.  That is what is your mom’s expectation when an app runs in browser vs out of browser.     There are two schools of thought here…

 

Purely as cosmetic choice – There are no really deep differences between in browser and out of browser apps.  We want (nearly) every one of the traditional out of browser experiences (shell integration, offline support, roubutness) in browser apps and likewise we want  (nearly) every one of the traditional benefits of browser apps in the out of browser experience (navigation, bookmarks, deployment, etc).    Under this model you can imagine it is simply a config file change  if you want to  run the app in a browser or not…. We possibly allow it to even be a user configurable option.   I think XBAPs are a step down this road…

 

Browsers are for connected apps  - There is a deep difference in expectations in users – they expect browser apps to be very transient in nature, to primarily be connected and to have limited integration with the shell.  Whereas out of browser apps should be thought of as primarily for occasionally connected apps that do have integration into the shell (start menu, file association, etc).  Of course we still want all the deployment, install sort of benefits etc of a web app… Think of ClickOnce as a step down this road.

 

Again, we have the technology to do either of these – it is mostly about what users want\expect and more importantly will want\expect in the future…. So please go quiz your mom, non-technical co-workers, your barista and let me know what you find out!