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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Chapter 10Voice (VoiceXML)questions and answers of realistic length, with material copied fromGoogle Groups if necessary.A suggested outline <strong>for</strong> the presentation is the following:In every computing era, programmers have been responsible <strong>for</strong>writing the fundamental application logic. During the desktopapplication era (1980s), the attention given to this logic was generallydwarfed by that given to the user interface, event handling, andgraphics code that a programming team needed to write to get acomputer program into the hands of users. Result: very littleinnovation at the individual level; most widely used computerprograms were written by large companies.During the Web era (1990s), the user interface and graphics wererendered by the Web browser, e.g., Netscape Navigator or Microsoft<strong>Internet</strong> Explorer. Programmers were able to deliver a completesystem to end-users after writing only the application logic and somesimple HTML specifying the user interface behavior. Result: arevolution in innovation, with most Web applications written in a fewmonths by a handful of people.Suppose that you'd observed that telephones are much morecommon and portable than personal computers and Web browsers.Furthermore, you'd noticed that telephones are able to be used byalmost everyone whereas many consumers have little patience <strong>for</strong>the complexities of the PC. Thus, you'd want to make yourin<strong>for</strong>mation system accessible to a user with only a telephone. Howwould you have done it? In the 1980s, you'd rent a telephone line,buy a big specialized box to recognize utterances, buy anotherspecialized box to talk to the user, and park those boxes right next tothe main server <strong>for</strong> your application. In the 1990s you'd have had torent a telephone line, buy specialized software, and park a standardcomputer running that software next to the server running yourapplication. Result in both decades: very little innovation, with onlythe largest organizations offering voice/telephone interfaces to theirin<strong>for</strong>mation systems.With the advent of today's voice browsers, the coming years promiseto be a period of tremendous innovation in the development oftelephone-accessible <strong>Internet</strong> applications. With a Web application,you operate the HTTP server and run the application code; someoneelse runs the browser. The idea of the voice browser is the same.• explain the kinds of people who are expected to use thediscussion subsystem, e.g., it might be only the siteadministrators (30 seconds)• without logging in or logged in as a casual visitor,demonstrate the pages that show all the <strong>for</strong>ums (if morethan one), questions within a <strong>for</strong>um, and questions andanswers within a single thread (1 minute)• demonstrate responding to an existing question/adding toan existing thread (30 seconds)• demonstrate asking a new question/starting a new thread(30 seconds)• log in as a <strong>for</strong>um moderator or site administrator (15seconds)• demonstrate disapproving or moderating down a posting (30seconds)• demonstrate viewing statistics on <strong>for</strong>um usage andparticipation level by user (1 minute)• show the source code <strong>for</strong> the page that shows a singlethread (one question, many answers), with the SQL query(or queries) highlighted (1 minute)• show the execution plan <strong>for</strong> that query or those queries, i.e.,the output of whatever SQL per<strong>for</strong>mance tracing tool isavailable in the RDBMS chosen <strong>for</strong> this project (1 minute)The presentation should be accompanied by a handout that shows(a) the data model that supports discussion, (b) any SQL codeinvoked by the URL that displays one thread of discussion (pulled outof whatever imperative language scripts it is imbedded in), and (c)the results of the query trace.8.10 UsabilityAt this point your discussion <strong>for</strong>um should work. Users can register.Users can ask questions. Users can post answers. Is it usable? Well,consider that most computer programs were considered perfect atone time by their creator(s). It is only in encounters with real usersthat most problems become evident.188161

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

Saved successfully!

Ooh no, something went wrong!