Web-development – Advantages of HTML applications in a Windows intranet

htmlweb-developmentwindows

I'm preparing a presentation for my team that lists the various technologies we could use today for our business applications.

We have been historically building HTML applications (ASP and ASP.net) for the last decade and as part of the introduction I wanted to explain why we moved from Windows applications to HTML.

Our environment is:

  • Business applications (OLTP mainly)
  • Intranet
  • Windows clients only
  • Complete control on the clients' configuration (OS version/browser version/deployment of plugins…)

The only reason I could find is that in the late 90s, deploying a windows client application could end up in a mess (many different versions deployed, dll hell…). Web servers allowed deploying the application once and have all the clients updated simultaneously. The price to pay was a big loss in user friendliness and responsiveness and complexity added to the development job.

There are alternatives today (ClickOnce, Silverlight…) but a lot of my colleagues are now totally committed to HTML and the technologies that come along (Javascript/Ajax/Jquery/Css…).

I'm totally convinced HTML is great for Internet applications. My question is: at that time (late 90s), were there other reasons to move to HTML in a Windows intranet environment than just fixing deployment issues? (because it was trendy is not a valid answer…)

Thanks in advance

Best Answer

I would hope that by a decade you have a litany of your own reasons. Typically an intranet site best replaces a class of application known as client/server. There are some aplications that just don't make the transition as well. The following are my own reasons for promoting an intranet over a desktop application:

  • The deployment story. DLL Hell is just the tip of the iceburg. When you have thousands of clients across multiple timezones and even national borders, coordinating a client/server release is very daunting. Updating a server cluster takes away all of those concerns.
  • Client/Server apps are much more complicated than an all server solution. You have to deal with client compatibility with mismatched versions. If you are fixing a serious bug couldn't be done to work with prior clients, you need to provide an error message the average user could understand. Data synchronization issues also become more complex, particularly when you don't have control over all the system clocks.
  • The web is more maleable, and users tend to be more open to innovative ways of interacting with a web site than they are in desktop applications. In some ways, the expectations are less rigid for a web application than for a desktop application. (user expectations still exist, mind you).