The Evolution of Rich Internet Applications
By Yan Llamas
COINS
It seems everything is going to the cloud these days: phone, pictures, data, documents, spreadsheets, and even operating systems. One of the biggest challenges web applications have is delivering the same richness in interface delivered by client GUI applications. Many software companies have failed to move to the web successfully because they cannot match the usability people are accustomed to on PC-based applications; delivering a good user experience while keeping the overhead on the bandwidth and the web browser low was this biggest challenge. However, major vendors, including Adobe, Microsoft, and Tableau, are moving in this direction and now offer GUI experiences on the web.
In the past doing this meant using a browser plug-in such as ActiveX, Adobe® Flash®, or Microsoft® Silverlight®. However these non-browser-native technologies often fell short of delivering a great experience as they required additional software to be installed on the PC and at times they could be quite clunky or have poor performance.
Improvements to XML, HTML, JavaScript® (JS), Cascading Style Sheets (CSS) and the various techniques that can be used with them, all of which can be rendered natively by the various browser engines, now make it possible to deliver on a browser the same experience as a GUI desktop application. As web application development goes, this is the best thing since sliced bread, with the exception of Ruby on Rails maybe but we will leave that for another article.
The release of various JavaScript® libraries has made the development process even easier. Libraries are like pre-built blocks that can be bolted together and contain interface components, components used for storing and managing data on the browser, components that manage communications. Collectively these tools now allow web developers to do things that were not easily achievable — or not achievable at all — a few years ago.
How are these tools making a difference in the AEC industry? Looking at the example of scheduling and dispatching for the field service management industry, an application developed using these newer tools and techniques would deliver a rich user experience that in the past would not have been possible on the web without the use of clunky plug-ins.
The board could provide NASA Control Room-like visualization of their technicians’ schedules and the status of outstanding service orders, plus the ability to drag-and-drop new work to technicians from of the list of outstanding orders.
Using HTML/CSS/JS and the various techniques and libraries available, the schedule and dispatch board development could achieve the quick data updates necessary to support a dynamic user experience. Dispatchers who require a single list of all of their outstanding work orders and to have calendars displayed as multiple windows inside a single browser session could be satisfied by applying these new techniques. Each dispatcher would have the capability to dynamically resize and re-arrange the multiple windows on the screen allowing them to customize their "control" center to accommodate the visualization of technician groups according to geography, skills, or availability. They then could drag-and-drop and thus schedule the outstanding work orders to one of the multiple calendars opened within the single browser session. Updates and changes by one user to schedules would then be pushed to all other users via small incremental updates without the need for them to refresh the browser page.
These technologies and techniques would provide the ability to deliver Google®-like search functionality; as soon as the user starts typing for a particular work order using the client name, location technician, and description, a matching list would appear instantaneously where the user can then click to a link through to the order in the calendar where it would be repositioned to highlight the particular item.
All of this means that developers can now deliver fast, powerful rich internet applications without the need to install anything extra on desktops. Gone are the days of local installs or remote delivery via Citrix, lowering the cost of administration and licensing.
All hail CSS, HTML and JavaScript! They are the peanut butter and chocolate of the web.
Yan Llamas is an R&D solutions architect with COINS-Global. As a member of the R&D team, he works on special interests that include mobile, user experience and business intelligence.