Benefits and pitfalls of extending rich client applications for Web clients
Table of contents | Previous | Next
Frequently, you are asked to take an existing Lotus Notes application and Web enable it so that users can access the application with a browser in addition to a Lotus Notes client. There are both benefits and pitfalls to having an existing rich client application as a starting point rather than having to create a Web application from scratch.
The chief benefit of taking an existing application to the Web is that the application functionality should already be defined. The business logic and workflow are typically already in place and familiar to users. There may even be a requirements document or functional and technical specifications documents for the application. Consequently, you can focus on the Web design and development, and not be distracted by other tasks.
Another benefit of Web enabling a Lotus Notes application is that when creating the browser interface, you are not limited by the rich client UI. Most Lotus Notes applications have a consistent navigation scheme created with a frameset that contains an outline in the frame on the left and the selected content displayed in a frame on the right. Certainly, there is nothing wrong with this consistency among Notes applications, and it can be a benefit to users when they first work with a new database.
Typical Lotus Notes application UI with navigation on the left
However, when designing for the Web, you have more flexibility in laying out the UI of an application. There may be a compelling reason for the look and feel of the Web interface of a Lotus Notes application to differ from its look and feel in a rich client. For example, the Web interface may become part of the client's intranet where the client already has a defined navigation scheme and uses a color palette that's different from the one that is used in the Lotus Notes application.
Example Web application UI with navigation on the top
Another benefit of extending a Lotus Notes database to the Web is that Domino automatically attempts to render the existing rich client UI in HTML. You undoubtedly should customize it to enhance the appearance of the application on the Web, but Domino does much of the initial work for you. Having a base markup to work with is often easier than beginning with a blank slate.
Default HTML generated by Domino with minimal customization
One potential pitfall to avoid when extending a rich client application to the Web is assuming that, because the rich client application already exists, most of the development for Web clients is already done. For example, it is common in Lotus Notes client applications for form validation to be done by using LotusScript in the Querysave event of the form. The following example shows a simple script that ensures a value is entered in the Subject field:
Sub Querysave(Source As Notesuidocument, Continue As Variant)
If Trim(Source.FieldGetText("Subject")) = "" Then
Messagebox "You must enter a subject.", 16, "Validation Failure"
Continue = False
In addition, there are a number of @functions that do not work on the Web such as those that generate modal dialog boxes in the Notes client:
You can determine exactly which rich client functionality must be reprogrammed for the Web by carefully testing
the required functionality in a browser.
Another pitfall to avoid is assuming that you need to duplicate exactly all of the rich client functionality on the Web. This is often not the case, and you can avoid unnecessary work by carefully defining functional requirements for browser clients.
In addition, another pitfall of dual-use applications is that rich clients and Web clients handle data differently. If you do not account for these differences, unintended consequences may result.