Using the Web-Based Application as a Development Blueprint
Commerce Voice shares its business- and data-layers with the Web-based ASP.NET Starter Kit sample. More information on that application can be found here:
ASP.NET Starter Kit Commerce Sample Whitepaper
The sample is a fictional commerce Website for selling spy-related products called "IBuySpy." The purpose of the Web version is to showcase best-practice techniques for building a Web-based application in ASP.NET.
In essence, a voice-only version of an existing application is in fact a new presentation layer. The user interface becomes auditory rather than graphical. This means that the business logic and the data layer should essentially remain unchanged.
With a few exceptions, we have followed this concept as a development guideline. In the sample VS.NET solution, note that the CommerceVoice project file (see Figure 1) includes a reference to the Components folder in CommerceWeb (see Figure 2), the included Web-based version. Since the two applications share this same code, orders that occur in one interface are immediately reflected in the other.
|Figure 1:The CommerceVoice project file includes a reference to the Components folder in the CommerceWeb application shown in Figure 2.|
During the course of application development, we found it necessary to make minor additions to the business and data layers. These changes are outlined in the Lessons Learned section at the end of this document.
While the CommerceVoice sample application provides the implementation for the core features originally implemented in the Commerce Starter Kit, the following are ideas for extending the functionality of the CommerceVoice application:
|Figure 2:This CommerceVoice project file includes a reference to the Components folder in the CommerceWeb application shown in Figure 1.|
- Add a Search Feature: Use the product names from the database to construct a grammar that allows users to find a product quickly. The grammar might be a long list of items, or more of a broad tree of items.
- Add the 'Most Popular Item List' feature: Use the built-in capabilities of the Commerce Web components to prompt the user with the most popular products that week. Determine where and how to prompt the user without interfering with the overall usability of the application.
- Support New User Registration: In the current CommerceVoice implementation the user must already have an account with IBuySpy.com in order to use the voice-only application. Extend the CommerceVoice application to allow the user to create an account. The challenge here would be how to handle the entry of the user's personal information (i.e. name, username, password, PIN, etc.). One solution would be to limit the amount of information required to set up an account.
- Add Product Reviews: Add a way for users to review products using CommerceVoice. One way to implement this is to allow the user to record a WAV file that would be attached to a product.