[Cross-posted from blog.davemdavis.net]

Each day technology advances, the definition of an enterprise application changes.  In the olden days enterprise applications would be installed on a user’s machine with possibly some backend services for aggregating data. These applications had to be reliable and robust.  Not much stock was put into the user experience.  There would be applications for resource management, asset management, and operations management. These applications tended to be built and used in isolation, and the data collected was not shared between them.  Aggregating the data from these different applications was a chore, and not easily done in a timely manner. And mobile wasn’t even in the picture.

Old Enterprise Apps

Modern Application

Technology advances have made that model ineffective. Today the way people and businesses use technology has caused a redefinition of what constitutes an enterprise application. I’d like to offer my definition of a Modern Enterprise Application.  There are three things that I think make up a modern application:

  • It can’t work in insolation
  • It must consider the user experience in their design
  • It should be accessible anywhere

Modern Enterprise App

Big Data Revolution

First and foremost enterprise applications can no longer work in isolation. The data that is collected by these applications should be actionable in near real time.  Terabytes of data are useless if that data can not be acted upon in a timely manner.  Working with large amounts of dispersed data has brought about the Big Data Revolution. Organizations are attempting to use their vast quantity of data to gain a competitive advantage. Any new enterprise application should consider contributing to and consuming data available throughout the enterprise.

Time for UX

In the past, battleship-gray WinForm applications were the norm. Not much effort was put into the usability of these applications and as such there were many inefficiencies causing wasted dollars in the form of manpower. Also today’s workforce has grown up using applications that provide rich, immersive eperiences, so they expect more from the applications they use both at home and in the office.  Today the technology exists to easily build out richer applications than were possible in the past. By concentrating on the experience, enterprises can gain efficiencies, and eliminate some of the frustrations of their users. This should increase employee satisfaction especially for the younger generation entering the workforce.

Three Screens and a Cloud

A few years ago Ray Ozzie (while he was still at Microsoft) had a vision of delivering applications to “Three Screens and a Cloud”.  The three screens were TV, PC, and mobile, and the content would be delivered from the cloud.  Back then he wanted Silverlight to be the mechanism for delivering applications to these devices. Today plugin technologies are all but dead for anything other than internal business applications. The vision is still alive and well though the delivery mechanism has changed.  More and more mobile devices are showing up in the enterprise and these devices need to tie into the enterprise ecosystem.  Your enterprise application should reach as many of these screens as possible.


These are just some high-level thoughts.  I will cover different aspects of modern application through a series of blog posts, where I will attempt to highlight how these three building blocks are used to build out a modern enterprise application.