13.07.2015 Views

Software Engineering for Internet Applications - Student Community

Software Engineering for Internet Applications - Student Community

Software Engineering for Internet Applications - Student Community

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

8.7 Exercise 4: Build the User PagesImplement the user experience that you designed in Exercise 2.8.8 Exercise 5: Build the Admin PagesDesign a set of admin pages. In this case it is usually better to startwith a required list of tasks that must be accomplished. Then try tobuild a page flow that will let the administrator accomplish thosetasks in as few clicks as possible.Recall from the user registration chapter an important user interfaceprinciple to keep in mind: it is more natural <strong>for</strong> most computer usersto pick the noun first and then the verb. For example, the <strong>for</strong>ummoderator might first click on a message's subject line to select it andthen, on a subsequent page, select an action to per<strong>for</strong>m to thismessage: delete, approve, rate, categorize, etc. It is technicallyfeasible to build a system in which the moderator is first asked"Would you like to delete some messages?" and then prompted <strong>for</strong>the messages to be deleted. However, this is not how the AppleMacintosh was designed and there<strong>for</strong>e anyone who has used theMacintosh user interface or its derivatives, notably MicrosoftWindows, will be accustomed to the noun-verb order.This is your community and these are your users. So in the long runonly you can know what administrative actions are most needed. At aminimum, however, you should support the following:160• find the most active contributors• select a contributor to become a co-moderator (presumablyfrom the above list)• approve or disapprove a posting or a thread (this might behandled by more general pages from your contentmanagement system, though remember that moderating adiscussion <strong>for</strong>um ought to be a very streamlined process);note that these functions could be worked into the userpages but only enabled <strong>for</strong> those logged-in users who havemoderator privileges8.9 In-Class PresentationsAt this point we recommend that teams present their functioningdiscussion <strong>for</strong>um implementations. So that the audience can evaluatethe workability of the interface, the <strong>for</strong>ums should be preloaded withYou operate a server and the application. Someone else, perhapsthe phone company, runs the telephone lines and voice browser.Bottom line: voice browsers allow you to build telephone voiceapplications with nothing more than an HTTP server. From this, greatinnovation shall spring.10.1 IllustrationSuppose Tracy, a VP at a Boston-based firm, has just flown into LosAngeles. She wants to know the telephone number and address ofher company's Los Angeles office, as well as the direct number <strong>for</strong>one of the employees. Since her company intranet is not telephoneaccessible,she has to call up her assistant and ask him to open up aWeb browser to look up the in<strong>for</strong>mation in the intranet.With VoiceXML it can take as little as a few hours <strong>for</strong> a developer totake virtually any in<strong>for</strong>mation available on the Web and make itavailable by telephone -- not just to callers with high-tech cellphones,but to anyone with any kind of telephone. Tracy would be able to diala number and say which office or employee she is looking <strong>for</strong>. Aftersearching through some of the intranet's database tables, theVoiceXML application can read aloud the phone numbers andaddresses she wants. And next time Tracy arrives confused in a<strong>for</strong>eign city, she won't have to rely on her assistant being at his desk.10.2 What is VoiceXML?VoiceXML, or VXML, is a markup language like HTML. Thedifference: HTML is rendered by your Web browser to <strong>for</strong>mat contentand user-input <strong>for</strong>ms; VoiceXML is rendered by a voice browser.Your application can speak to the user via synthesized speech or bypre-recorded audio files. Your software can receive input from theuser via speech or by the tones from their telephone keypad. Ifyou've ever built a Web application, you're ready to get started withyour phone application.10.3 How to make your content telephone-accessibleAs in the old days, you can still rent a telephone line and runcommercial voice recognition software and text-to-speech (TTS)conversion software. However, the most interesting aspect of theVoiceXML revolution is that you need not actually do so. There arefree VoiceXML gateways, such as Tellme (http://www.tellme.com),BeVocal (http://www.bevocal.com), and VoiceGenie189

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!