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.

Suppose that your online learning community is more open and fluid.You can't insist that particular people respond at all or that peoplerespond on any kind of schedule. Is there anything that can be donewith software to help ensure that all questions get answeredappropriately? Yes! Build server-mediated mentoring.Server-mediated mentoring requires, at a minimum, two things: (1) amechanism <strong>for</strong> novice members (mentees) to be connected withmore experienced members (mentors), and (2) soliciting from peoplewho ask questions whether or not their question has been adequatelyanswered. To make the service as effective as possible you'llprobably want to add at least the following: (3) automated remindersfrom the server to mentors who have left mentees hanging, and (4)rewards, rankings, and distinguishing typography to recognizecommunity members who are answering a lot of questions andmentoring a lot of novices.Imagine the following interaction:• Joe Novice, never having kept an aquarium be<strong>for</strong>e, visits alocal pet store and finds himself attracted to the intelligentcolorful fish in the African Cichlid tank.• Joe Novice, after a Google search, visits world-ocichlids.org,reads the articles on fish that live in LakeMalawi and finds that it raises additional questions, which heposts in the discussion <strong>for</strong>um.• Lured by email notifications of replies to his questions, Joereturns to world-o-cichlids.org to sift through them. As soonas Joe logs in his "workspace" page shows all of thequestions that he has asked, all of which are initially marked"open". Having some difficulty sorting out conflictingresponses, Joe clicks on the "get a mentor page" explainingthat he is a complete beginner with the goal of keepingAfrican Cichlids.• Jane Experienced visits the "be a mentor page" andbrowsing through the requests sees that most people asking<strong>for</strong> help are wanting to keep South American cichlids, withwhich she has no experience. However, Jane has had anAfrican tank <strong>for</strong> 5 years and feels confident that she canhelp Joe. She agrees to mentor Joe.• Jane's "workspace" page now contains a subsection relatingto her mentoring of Joe and lists his currently openquestions. Jane clicks on a question title and, seeing that9.7 Exercise 4Forms and server-side processing work the same way <strong>for</strong> mobilebrowsers as they do <strong>for</strong> desktop browsers. Write an XHTML-MPdocument that prompts <strong>for</strong> an email address (or screen name ifyou've decided to ignore the sociologists' advice about anonymity)and password, then POSTs these to a target on your server. Theserver's response should print back the email address entered andthe first character of the password, followed by one period <strong>for</strong> eachsubsequent password character. We recommend that you place yourcode so that it is accessible via URIs starting with "/mbl/".9.8 Exercise 5: Authentication via CookiesThe phones and gateways in the US that we've tried have supportedHTTP cookies, including persistent cookies, in the same manner asstandard Web browsers, with one exception: a comma in a cookievalue breaks everything. (Note that commas are illegal in the strictHTTP specification but desktop browsers have typically beenpermissive.)For authentication via cookies you need to go back to the <strong>for</strong>m built<strong>for</strong> Exercise 4 and back it up with a script that generates a Set-Cookie header with an authentication token. We recommend that youmake this cookie persistent as typing a full email address is prettypainful on a numeric keypad. Note that on an organization's intranetsite you can autocomplete the "@foobar.com" or "@yow.org" portionof the email address <strong>for</strong> most users.9.9 Exercise 6: Linking to a phone numberCheck http://www.wap<strong>for</strong>um.org/what/technical.htm andhttp://developer.openwave.com (requires free registration) <strong>for</strong>in<strong>for</strong>mation about the Wireless Telephony Application Interface(WTAI). Write an page entitled "mom.html" that serves a linkanchored by the text "Here is a dime; Go call your mother, and tellher there are serious doubts as to whether you will become alawyer". When this link is followed, the telephone should dial yourmother's phone number. We apologize <strong>for</strong> the inappropriate length ofthis hyperlink anchor but just in case you end up in an organizationwhere self-esteem is valued more than achievement, we thought itwould be good to remind everyone what life is like at Harvard LawSchool.Background: The Paper Chase (1973).168181

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

Saved successfully!

Ooh no, something went wrong!