We have just published a case study of a smart client project I did with Dell last year. This case study clearly shows the business value of a smart client over a browser based application and the value of integrating client-side functionality into a task-oriented smart client solution.

http://www.microsoft.com/resources/casestudies/casestudy.asp?CaseStudyID=16276

A bit of background on this project: The group I work in - Microsoft Architecture Strategy – sometimes engage with customers to help them architect their solutions. This usually involves a couple of the customer’s architects coming to Redmond for a period of weeks while we delve into the requirements, then design and architect a solution and finally build a prototype of the whole thing. We try to focus on the really difficult problems and adopt a use-case approach so that the final prototype works from end to end, exercising and proving out the whole system – for example: the user log’s in, does some work, does some more work, logs off. The customer then takes the prototype and completes the implementation of the full system.

This project was about developing a smart client call center platform that allows the many different applications that an agent typically uses to be integrated into a single task-oriented smart client. We started with the smart client pieces from the Microsoft Customer Care Framework (CCF) which provided an implementation of the composite smart client pattern and developed from there. The composite pattern is a very important pattern and one that we have seen a lot in enterprise line-of-business smart client solutions. Effectively, this pattern allows the client solution to be composed of a number of discrete functional pieces (which I call modules) to be integrated together to form a fully coherent smart client solution – more on this approach in a separate post.

This project used this approach to bring all of the apps that a call agent uses into a single solution and then coordinates them to provide a task-centric experience. The advantages of doing this in a call center environment are huge – the agent no longer has to manually switch between applications, copying and pasting data between them and trying to manage them independently, and the system can pro-actively coordinate them all within a call to provide call scripting functionality. In the Dell case, this led to a big improvement in terms of the reduction in average call time and the efficiency and effectiveness of the sales process. There were also big savings in terms of training and development costs.

It was a pleasure to work with the Dell guys. They are an incredibly smart bunch of guys who know the business and how to develop code. There were three of us working on this project. We were in Redmond for 5 weeks – a week of requirements gathering and planning and 4 weeks of coding – followed by a week of integration and testing at Dell. Of course, the Dell guys did the hard work of taking the architecture and completing the implementation, but I think we managed to nail the vast majority of the issues in the prototype phase.