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.

Remember that in the book and magazine world every page designloads at the same speed, which means that page design is primarilya question of aesthetics. In the <strong>Internet</strong> world page design andapplication speed are inextricably linked, which makes page designan engineering problem.WordsAs a programmer, there are two kinds of words that you will beputting into the services that you build: instructions and errormessages.For instructions, you can choose active or passive voice and 1st,2nd, or 3rd person. Instructions should be 2nd person imperative.Leave out the pronouns, i.e., "Enter departure date" rather than"Enter your departure date"Oftentimes you can build a system such that error messages areunnecessary. The best user interfaces are those where the user can'tmake a mistake. For example, suppose that an application needs toprompt <strong>for</strong> a date. One could do this with a blank text entry box andno hint, expecting the user to type MM/DD/YYYY, e.g., 09/28/1963<strong>for</strong> September 28, 1963. If the user's input did not match this patternor the date did not exist, e.g., 02/30/2002, the application returns apage explaining the requirements. A minor improvement would be toadd a note next to the box: "MM/DD/YYYY". If the application logsshowed that the number of error pages served was reduced but noteliminated, perhaps defaulting the text entry box to today's date inMM/DD/YYYY <strong>for</strong>mat would be better. Surf over to your favoritetravel site, however, and you'll probably find that they've chosen"none of the above". Users are asked to pick a date from aJavaScript calendar widget or pull down month and day from HTMLmenus.noise and type it in. This would prevent a robot from establishing 100fake accounts.No matter how carefully and intelligently programmed a public onlinecommunity is to begin with it will eventually fall prey to a new clever<strong>for</strong>m of spam. Planning otherwise is like being an American circa1950 when antibiotics, vaccines, and DDT were eliminating onedreaded disease after another. The optimistic new suburbanitesnever imagined that viruses would turn out to be smarter than humanbeings. Budget at least a few programmer days every six months towrite new admin pages or other protections against new ideas in theworld of spam.11.9 More• "Face-to-Face and Computer-Mediated Communities, aComparative Analysis" by Amitai Etzioni and Oren Etzioni,from The In<strong>for</strong>mation Society Vol. 15, No. 4, (October-December 1999), p. 241-248.• www.linuxvirtualserver.org; a very simple load balancerbased purely on packet rewriting11.10 Time and MotionThe hardware scaling exercises should take one half to one houreach. <strong>Student</strong>s not familiar with Ebay should plan to spend an extrahalf hour familiarizing themselves it. The human scaling exercisesmight take one to two hours. The time required <strong>for</strong> Phase I willdepend on its particulars.BadBetterDate:Date (MM/DD/YYYY):BestDate:January 01 2005Sadly, you won't be able to eliminate the need <strong>for</strong> all error messages.Thus you'll have to make a choice between terse or verbose and124225

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

Saved successfully!

Ooh no, something went wrong!