This article in ComputerWorld - No Pause to Refresh: More Robust Web Apps - Heather Havenstein talks about the new world of richer web applications. She says:
The new tools essentially eliminate the need to refresh a Web page every time a user enters or receives new data... Companies are using the tools for e-commerce and call center applications that require complex interactions with users.
So why do these new, complex interactions require a different kind of development approach. Well:
Traditional HTML-based applications are built as static, page-based applications that require an HTTP request to a server every time data needs to be refreshed. However, applications on the Web often require heavy interaction with users. For example, a customer service application could require a call center representative to enter information from a customer while also accessing a technician's service schedule. These types of applications can't work efficiently with the latency that comes with constant page refreshes.
What strikes me as interesting about this situation is the extent to which business rules, and the need to execute them in the user interaction, is implicit in this definition for many interactions. Think about conversational interactions - questions that elicit answers that drive to more questions, answers that constrain the answers allowed for subsequent questions and so on. Fair Isaac has introduced an extension to Blaze Advisor to let you push these kinds of business rules into a dynamic web interface. This extension is called SmartForms for Blaze Advisor.
She goes on to list some of the key characteristics of these kinds of applications and I thought it would be interesting to map these to the capabilities and purpose of SmartForms.
- Must be accessed by the user without a separate installation process
- Yup. SmartForms results in forms delivered into the browser and does not require an install. They just work.
- Must support local application processing on the client
- Yup. Rules can be executed on the client to drive the interaction. Of course SmartForms also allows you to access rule services, or other web services, during the interaction when that makes sense.
- Must support an event-driven user interface that extends beyond the traditional page request/response model of HTML
- Yup. Sets of pages can be delivered in one go to the browser and can then behave dynamically as the user enters data - fields, groups of fields and even pages can be changed by rules in the interface as the user interacts.
- Must support connectivity and synchronization with server-side processing
- Definitely. Not only does SmartForms allow you to access web services, it is tightly integrated with Blaze Advisor's Ruleflow to make sure that steps in your decision process can be server based rule executions or rules-based client interactions.
- Must be usable in bandwidth-constrained network environments like dial-up
- Yup. Of course you can define pages that don't work well in a dial-up but you can also design ones that work here.
- Should provide a “high-fidelity” user interface that matches the look and feel of a desktop GUI
- To the extent of supporting forms-based entry this is true. SmartForms does not yet allow for drag-and-drop and so on and is focused on the sophistication of the interaction not the prettiness of the GUI.
- Should operate efficiently within multiple browsers and on multiple operating systems
- Not yet. Still waiting for various browsers to take on some of the standards on which it relies.
So SmartForms for Blaze Advisor definitely meets most of these and is an interesting extension to business rules for those of you trying to build complex interactions.