Smart clients – applications that connect users to centralized back-end servers and databases – are playing an...
increasingly crucial role in corporate strategies for customers, partners and employees. They can connect to and exchange data with systems across an enterprise or the Internet. They can be as simple as an auto-format tool that determines city, state and country based on a zip code or as complex as a tiered information management system.
Smart clients can be said to represent a blend of the traditional desktop client and the newer Web browser client. The blend is getting more diverse as Microsoft rolls out new tools and framework enhancements.
Windows developers working on these enhanced front ends are employing the .NET Framework, including the recently released Windows Presentation Foundation and specialized tools still in beta.
App with view
Rentvillas.com, a Ventura, Calif., firm that rents apartments and villas in Europe, needed a smart client that could accommodate several different languages and currencies, as well as work for its 50 partner travel agencies.
Using the .NET Framework to rebuild its smart client "was just a way of continuing what we felt was a good internal strategy," CEO Kevin Pidduck said. "We use technology not as a way of replacing customer service or the salesperson, but as a way of empowering them and enhancing their [ability] to work with the customer." The Rentvillas.com Web interface was created with ASP.NET Web Forms.
Pidduck, a .NET architect himself, hired Vertigo Software as a consultant on the project. "Building a business application at a small company, you can't fail," said Pidduck, whose IT department consists of two people. "The cost of undertaking something, then getting bogged down 60%, 70% of the way, it just can't happen," he said.
Vertigo and Rentvillas.com created an application that used XML to enable different partner systems to access and manage information on the Rentvillas site. Pidduck cited several advantages for using .NET Framework 1.1 and VS.NET 2003 for the Rentvillas.com smart client. Along with support for multiple languages, it has a single code base, which keeps maintenance needs down. Having built it themselves, Pidduck said, "We can fix anything."
Much of Rentvillas.com's core structure is based on hierarchical relationships. Because of some limitations within SQL Server 2003, the architects had to write custom functions for looping -- an issue that has since been corrected in SQL Server 2005. "If we had SQL Server 2005, we would have written a lot less code," Pidduck admitted.
Climbing Mt. XAML
At last month's Professional Developer Conference, Fluid Inc. demonstrated a prototype in-store kiosk for The North Face that it designed using XAML (a markup language for rendering visual displays using the Windows Presentation Foundation), C# and Visual Studio. The application may be a sign of smart clients to come.
"I think the industry as a whole is discovering that this is the best way to develop new applications," said Mark Belanger, director of technology for Fluid.
Belanger indicated that Microsoft was looking for a chance to demonstrate the power of Windows Presentation Foundation (formerly Avalon), and The North Face sought a way to showcase its many sponsored exhibitions, such as climbing expeditions in the Himalayas. The result was a 3D interface called In-Store Explorer, which combined video and imagery with athlete testimonials and information about the company's hiking gear and other products.
Working with alpha code, and working in the .NET Framework for the first time (the company had previously used Macromedia Flash almost exclusively), Fluid had a prototype ready for The North face in just six weeks. In building in-store kiosks for The North Face, Fluid used WPF and the Expression line of graphic, interactive and Web design tools. All of these will require Windows XP or Vista, and of the four, only Acrylic, the graphic design tool, is available now.
"Even when it does come out, adoption is going to take a while," Belanger said. "It's going to restrict what [web developers] are going to be able to do."
Belanger does see advantages to Expression. For example, UI designers and engineers can work on the same file, which is far better than the "very clunky" way of doing things before.
Microsoft may be moving quickly to allow wide use of XAML-empowered applications via Windows Presentation Foundation "Everywhere," which it discussed at PDC. Even as Microsoft continues to improve programmability of traditional clients running under Windows, it is pursuing browser-based client enhancements, some analysts, such as Burton Group's Peter O'Kelly, have suggested.