Bringing the Desktop Application to the Web

To move a desktop application to the Web, Conor settled on a set of AJAX-based controls from Telerik.


February 05, 2007
URL:http://drdobbs.com/web-development/bringing-the-desktop-application-to-the/197003342

Conor is director of software development at Avalinx. He can be contacted at [email protected].


For consultants whose office can be anywhere from a coffee shop to behind a steering wheel, tracking time and expenses is a hassle. Yet accurately tracking billable hours and expenses is the only way to ensure that you get compensated for your time and reimbursed for expenses.

With this in mind, Avalinx (the company I work for) set out to capitalize on our own consulting experience by building xWorkForce.com, an application that catered both to consultants tracking their time/expenses, and clients receiving the services.

When Version 1.0 of xWorkForce.com was released, Avalinx (www.avalinx.com) hoped its intuitive interface would help consultants to quickly populate the system, tracking billable hours and expenses in nearly real-time from any Internet connection. xWorkForce.com's on-demand technology, which was built on .NET 1.1, was designed to help companies with limited technology resources capitalize on sophisticated applications without managing or maintaining any hardware or software. The service was also designed to let customers track consultants' time, providing a glimpse of how their consultant's time was being used.

Among other features, the system provided a database, business logic, AJAX-based calendar, chat tools, and enhanced security. Unfortunately, we soon discovered our technology was also limited in a number of ways and didn't provide the type of experience we envisioned during development.

One of the early challenges we faced was deciding on which architecture to use as the product's foundation—a fat-client Windows application or web-based solution. We wanted to build a product with the look and feel of a client-side, feature-rich application, but without limiting it to a specific platform and forcing us to push out service packs and support multiple versions. While past efforts at building web-based solutions did not produce good results, we did like the cross-platform and no-download aspects of the web architecture. We ultimately decided this was the best solution for xWorkForce.com development.

Our decision to move to a web architecture was also based on the growing market for services delivered over the Web. Initially designed for small- to medium-size organizations to reduce expenses on software investments, on-demand applications have grown in popularity, in large part due to the effort of the CRM, financial management, and lifecycle management industry segments. Both small shops and large enterprises value lower costs and a variety of available applications, as well as the fact that overburdened IT staffs have fewer applications to manage. In fact, according to industry experts, the on-demand software market is estimated to grow at 20 percent per year through 2010 and is currently estimated at $13 billion. While in growth mode, web applications still have their challenges, not the least of which is the reliance on the Internet—if the Web goes down, so does access to applications.

In addition to relying on the Internet, web applications often suffer from inefficient client/server protocols, and long roundtrips to the server make business strength applications unbearable to users over long periods of time. Traditional web applications generally lack user-friendly features standard in desktop environments, and web apps have been plagued by poor performance and update issues. For Avalinx to be successful with xWorkForce.com, we had to put the user experience on a pedestal.

Unfortunately, Version 1.0 did not create the unique user experience that would persuade customers to use the application. We found that navigating through the application was not always intuitive, and we knew that it was going to be a barrier for customers as well. During the initial development of xWorkForce.com, we tried to create a unique rich web application, but Version 1.0 looked like any other web application, and we weren't satisfied that we had accomplished our objectives.

Enter AJAX

Near the end of Version 1.0 development, we ran across a web-based application that was completely built using AJAX—and we realized that this was what we wanted. However, when we tried to introduce elements of AJAX into Version 1.0, we found it difficult to integrate with the current architecture, and our framework was still missing some Rapid Application Development (RAD) tools. At the same time, Microsoft Visual Studio 2005, .NET 2.0, and SQL Server 2005 were set for release, and we faced the decision to either continue working with our existing framework, or to use these new releases and tools as a new foundation.

Because we knew that the current architecture was quickly going to become a dinosaur, we decided to continue offering and supporting xWorkForce.com 1.0, while starting from scratch and radically redesigning xWorkForce.com into a true rich web app.

But even with a clean slate, we faced a number of challenges in regard to meeting our new development objectives:

Still, we envisioned Version 2.0 as a completely redesigned application that could return data quickly and efficiently. Rather than returning an entire web page for each request (and the overhead associated with it), we designed an infrastructure that would update only a small portion of information on the page. This would improve the desktop client-like experience we wanted, increase the speed of the application, and reduce the strain on host servers.

In addition, Version 2.0 needed a more intuitive user experience. With most people dependent on e-mail, we decided the best approach would be an application featuring navigation similar to popular e-mail applications. The last major requirement was that xWorkForce.com needed to be a robust application with a fat client look and feel, featuring quick reporting, available stats, and easy-to-add forms and fields.

Third-party Controls

After examining the available RAD tools, we settled on a set of AJAX-based controls from Telerik (www.telerik.com). While many existing web-enabled applications suffer from the limitations on HTTP protocol, Telerik's suite enabled xWorkForce.com to overcome that major hurdle, too.

XWorkForce.com 2.0 reconstruction began with the implementation of a number of Telerik's controls, which provided codeless AJAX enabling for the application, including:

Telerik's controls helped us to achieve the elusive, rich web-application look and feel that we missed in version 1.0. The controls also provided a built-in framework for AJAX-enabled objects, reducing the amount of time we needed to spend on exposing our business logic to AJAX. Telerik's r.a.d.grid (see Figure 1) picks up where most grids leave off, and its support for asynchronous processing is easy to use. All in all, the controls integrated seamlessly with one another and provided xWorkForce.com with the Outlook-style, data-driven navigation that we envisioned for xWorkForce.com from its inception.

[Click image to view at full size]

Figure 1: XWorkForce.com 2.0 Resources view featuring use of Telerik's r.a.d.panel with r.a.d.tree, r.a.d.menu, r.a.d.chart, r.a.d.ajax, and r.a.d.grid.

Platform and browser independence was also critical, given xWorkForce.com's target audience of lawyers, accountants, IT consultants, marketing contractors, and other hourly professionals. Creating versions for platforms ranging from Linux to Macintosh was not an option. Fortunately, Telerik's controls support multiple browsers and platforms—and with some minor tweaking within xWorkForce.com—means the hosted application can be used from any computer with Internet access.

Still, the biggest benefit we realized was a shortened development cycle. Component-based development let us focus our main efforts on business processes and implementation, rather than having to build the features we required into each product. As Telerik's controls are updated, so are the components within xWorkForce.com. The result is an application that is always up-to-date, delivering the latest tools and features without downtime or impeding the customer experience.

As a result of fully embracing AJAX and Telerik's a.ja.x.controls, xWorkForce.com 2.0 looks and feels like a fat-client application. The UI and overall navigation functionality has been embraced by xWorkForce.com customers. Entering time and expenses is efficient, and managing customers, projects, and resources straightforward. We were also able to streamline performance by chunking requested data into the browser as opposed to refreshing the entire page.

Terms of Service | Privacy Statement | Copyright © 2024 UBM Tech, All rights reserved.