Smart Clients - Part 2/3
About: This is the second in a series of three posts about smart clients. The series will provide an overview of the smart client technology; compare it with thick and thin clients, explain the various manifestations of smart clients and describe a roadmap and series of steps that an organization can undertake to implement smart client solutions.
Hello,
In part 1 of this series I provided an introduction to the concept of smart clients, compared them with other models and discussed the ClickOnce technology that finally delivers on the promised benefits of the smart client model. In the current post I will discuss smart documents and smart tags.
What is a smart document?
A smart document is word or excel file that can provide a number of value added features over a plain document. A smart document has an associated XML schema that allows it to add context to the data in the document, it can also be developed to add context logic and user interaction as well as allow for collaboration amongst users.
Okay that sounds really confusing, how about some real-world examples?
Sure J (yes I know it is weird to interview yourself but you have to admit that it allows me to ask the perfect questions!). Some real world examples of smart documents are as follows:
- Imagine that you have an excel sheet that contains information about the identities of your customer, rather than identifying the cells as B22, A34 etc. a smart document solution can know that this information is governed by the privacy laws, it can display information and actions that describes the company policy about this data, it can also enable or disable actions pertaining to these particular cells. In short, you have basically turned an Excel sheet UI to provide the functionality typically provided through completely custom built applications. Furthermore, it is also possible to ensure that the policies being applied and shown are current.
- A smart word document can be designed to increase the productivity of your business users significantly, for example, when writing a letter to a customer, a smart word document can fill-in the customer address once the user has written the name. A smart document can also feed data from the document back to the organization’s database. It can also be designed to pre-fill information and copy it in various parts of the document once the user has entered it at one place. A smart document can fetch all kinds of information about the customer and the user can choose to add part of that information in the letter (e.g. data showing previous transactions or charts showing the company’s competitive position in the particular vertical that the customer belongs), these documents can also check for format and structure.
- Another important feature of smart documents is their ability to allow for sharing and collaboration. Data entered by one user can be stored and shared with everyone else who might be working on the document e.g. to build a list of customers that should be invited to a particular event
- Finally, through the use of smart tags (that I will discuss shortly), a smart document can also do pre-defined research for the user about a particular topic, saving the user valuable time and resources.
What are smart tags?
Smart tags can be attached to texts within word documents, excel spread sheets and email messages. Smart tags gets attached to text that is of interest to the users through a process of ‘recognition’. The text (e.g. a stock symbol) that has been recognized is underlined (dotted) and when the users moves their mouse over the underlined text and clicks the button that appears then they can be given a variety of choices ranging from detailed explanation of the word, to pulling information from the corporate database and/or the internet
How do Smart clients and smart documents work, what is the difference between them?
A smart document is a word or excel document with an associated set of the following files:
- An XML schema file that contains the definition for the relevant sections of the document
- An XML manifest file that contains the identity and location of components required for a smart document solution.
- A .NET-based assembly file that implements the ISmartDocument interface and contains the logic for handling user interaction with the task pane.
A smart tag solution involves two major software components
- Recognizer – A recognizer is a software components that scans the text in a word, excel or email document and attaches smart tags to the words that are of interest to you. The Office software provides a number of recognizers out-of-the-box (e.g. for dates, names, stock symbols etc.) and you can get additional recognizers from third-parties or develop your own
- Action Handler – When a user moves the mouse over the tagged text and clicks the button that appears there, the action handler code is invoked. The action handler can present a set of choices to the users that are relevant to the piece of data that was clicked upon e.g. clicking on a customer name can allow you to send him an email, start writing a pre-defined letter, call the customer or provide additional information
Smart documents are based on the Smart Tag API; however, smart documents are more focused on document structure rather than content structure. The smart tag recognizer examines the content that it can attach the smart tags to, on the other hand, smart document actions are assigned to schema elements at run time that correspond to elements already mapped to the document.
How are smart document and smart tags related to the Smart client technology described in part 1 (http://blogs.msdn.com/mohammadakif/archive/2006/04/01/566581.aspx)?
Like everything else in our industry the word ‘smart’ is used in multiple contexts; although there are overlaps between the smart client technologies described in part 1 (ClickOnce etc.) and the technologies covered in the current article, they are two different manifestations of the ‘smart’ technologies and are not dependant or directly related with each other. These technologies can be used separately or in combination with each other to provide value to your users, choosing the right technology will be governed by a number of factors e.g. target user base, nature of the solution, reach targetss, UI requirements etc.
Conclusion
Smart documents and smart tags can greatly enhance the user experience and can help provide business solutions that can be developed relatively quickly. These solutions allow users to work through the office UI which is already familiar to them and through the collaboration, data-filling, validation and other features they can have a svery ignificant impact on the productivity of business users.
In the last part of the series I will discuss when to use smart clients (e.g. vs. Ajax/Atlas) and will provide pointers to resources on the technologies discussed in this series
Part 1: http://blogs.msdn.com/mohammadakif/archive/2006/04/01/566581.aspx
Part 3: http://blogs.msdn.com/mohammadakif/archive/2006/05/04/590176.aspx