views:

678

answers:

1

Hi Everyone,

I work at a company with a large SAP investment, and we also have dozens of large .Net systems (mostly internally for engineering systems), and Java platforms (mostly for external web applications). As such, we have large development shops on ABAP, C#, and JEE.

We have decent standards for which platform to use in which domain, but we don't have a lot of clarity around when to use web UIs and when to use desktop UIs.

I've seen some excellent research on this topic in the past (like this), but I'd like something a little more structured

I'd like to build a decision tree based on best practices to help with this question.

Some of the criteria I've seen in the past include:

  • Is the application targeted to users with different OS configurations?
  • Does the application require OS-type functionality for sorting and editing data? (I know that AJAX / asynchronous JS has made possible much richer desktop-like functionality to web applications, but some would argue the desktop is still king in this area)
  • Will a web application be able to provide the availability, responsiveness, clarity, and utility that can be delivered with a desktop application?
+4  A: 

I think we are seeing the separation between Web and desktop applications softened quite a bit. Rich internet applications (with Flex, Silverlight, Ajax) started this trend, and WPF with XBAP is taking the user experience of browser-based applications to another level. It is becoming a bit more involved to have this argument, because there are now more flavors in the spectrum between Web and desktop apps.

Some more questions to ask:

  • What is the primary objective of the app - data manipulation, or data viewing?
  • What is the number of data points/records that need to be viewed/edited together on one screen?
  • What is the organization's IT infrastructure look like? Will they be able to accomodate new deployment models?
  • Will users work with a central database from remote locations?
  • Does the organization have a VPN infrastructure of off-site users, and how do users authenticate?
  • Are there existing applications that the same user group is working with, and how are these applications deployed?
  • Does the application need offline capabilities?
  • Given that they are so different, what is the skill set of the development team for web and desktop APIs?
cdonner