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.

page. Your strategy must be able to handle at least the followingcases:• production of a site administrator's page containing allcontent going back a selectable number of days, withadministration links next to each item without the page scripthaving any dependence on any module's data model• production of a user-level page showing new content sitewide• a centralized email alert system in which a user gets anightly summary combining new content from multiplemodules• How useful do you think the voice interface that you justtried will be?• What extra in<strong>for</strong>mation should we make available via voice?• What are the most crucial tasks that users would like to beable to accomplish from a standard phone using only touchtones and voice?10.14 Mobile versus Voice <strong>Applications</strong>Mobile text browsers and VoiceXML each have strengths andweaknesses and are there<strong>for</strong>e appropriate <strong>for</strong> different applications --or <strong>for</strong> different parts of the same application.7.9 Protecting Users from Each Other's HTMLFundamentally the job of the server behind an online community is totake text from User A and display it to User B. Un<strong>for</strong>tunately, there isa security risk inherent in this activity. Suppose that User A ismalicious and includes tags such as in a comment body?When User B visits the page containing this comment suddenlyJavaScript may be executing on his machine, downloadingobjectionable images from various locations around the <strong>Internet</strong>,playing music, popping up new windows, and ultimately <strong>for</strong>cing theuser's browser to visit a page of User A's choosing.The most obvious solution would seem to be disallowing all HTMLtags. Any uploaded text is scanned <strong>for</strong> the characters < and > and, ifthose are present, the posting is rejected with an explanation. Thiswouldn't work out that well in a site <strong>for</strong> mathematicians! Maybe theyneed to use greater-than and less-than signs in their postings.The beginnings of a workable solution is a procedure, perhapsnamed something such as quoteHTML that takes a user-uploadedtext string and per<strong>for</strong>ms the following conversions:Mobile Browserrequires browser-enhancedtelephonesuser-input with uncom<strong>for</strong>tablekeypadsworks well in noisy environmentsyou need to develop versions ofyour software <strong>for</strong> a variety ofmobile gatewaysworks well <strong>for</strong> displaying long listsof in<strong>for</strong>mationuser can enter arbitraryin<strong>for</strong>mationVoiceXMLcan be used with anyphonespeech or keypad inputhard to use in noisyenvironmentsyou only need to developone version of yoursoftwareworks poorly <strong>for</strong> givingthe user long lists ofin<strong>for</strong>mationuser can only saypredefined phrases• < characters to &lt;.• > characters to &gt;.• & characters to &amp;.If your page scripts call this procedure any time they are writing useruploadedcontent out to a browser, no browser will ever interpretuser-uploaded data as an HTML tag.One way to take advantage of the best of mobile and voice interfaceswill be to develop multi-modal applications like the GPRS airlinereservation system in the last chapter. A number of groups areactively developing specifications <strong>for</strong> multi-modal applications,including the Speech Application Language Tags (SALT) Forum(http://www.salt<strong>for</strong>um.org/).152197

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

Saved successfully!

Ooh no, something went wrong!