a site's conceptualization people can't agree on the bestcategorization of content, it becomes possible to launch with twoalternatives. Half the users see IA 1 and half see IA 2. If users who'veexperienced IA 1 are more likely to register and return we canassume that IA 1 is superior, at least <strong>for</strong> first-time users.For the application that you build in this course, it is acceptable totake the expedient path of pounding out scripts with an implicitin<strong>for</strong>mation architecture. However, we'd like you to be aware of thepower <strong>for</strong> development and testing that can be gained from anexplicit in<strong>for</strong>mation architecture.6.21 Exercise 6: The Lived-In LookA skeletal prototype has one big limitation: it is skeletal. Incorporatingthe feedback that you've gotten from other students (in Exercise 5)and from instructors, beef up your content management system whilesimultaneously pouring in enough content that your application has a"lived-in" look. This will ensure that your system truly is powerfulenough to handle the users' basic needs.If your client has an existing site, use that as a source of content andminimum requirements. Also visit www.lcs.mit.edu <strong>for</strong> an illustrationof the some basic requirements <strong>for</strong> any organizational Web site. TheLCS site has an "About LCS" section that starts off with a descriptionof the organization's mission and links down to history, timeline, etc.The LCS site has an events/news section with press releases (newsstories authored by the organization itself). The LCS site has acontact section with links to walking and driving directions.What if you can't reach your client in time to complete theassignment? Or if you can't get content from your client? Use contentfrom the LCS site. Make sure that you can replicate the content andpage flow in the About, News, and Contact sections. During theremainder of the course you'll have an opportunity to replace the LCSplaceholder content with content from your client.Note that be<strong>for</strong>e embarking on this you may want to read at least the"Separating the Designers and the Programmers" section ontemplates in the <strong>Software</strong> Modularity chapter.6.22 Exercise 7: Client SignoffAsk your client to register as a user and try out the "lived-in" site.Most people have a difficult time designing on a blank sheet of paper.130Suppose that an archived discussion <strong>for</strong>um is used by 10,000people. You're pretty sure that you know the answer to a question butnot sure that your idea is sufficiently polished <strong>for</strong> exposure to 10,000people and permanent enshrinement in the database. Wouldn't it benice to shout out the proposed response to those users who happento be logged in at this moment and try the idea out with them first?The electronic equivalent of shouting to a roomful of people is typinginto a chat room. We experimented at photo.net by comparing anHTML- and JavaScript-based chatroom run on our own server to asimple hyperlink to a designated chatroom on the AOL InstantMessenger infrastructure (aim:gochat?RoomName=photonet).Although the AIM-based chat offered superior interactivity it was notas successful due to (1) some users not having the AIM software ontheir computers, (2) some users being behind firewalls that preventedthem from using AIM, but mostly (3) the fact that photo.net usersknew each other by real names and could not recognize their friendsby their AIM screen names. It seems that providing a breakout andreassemble chat room is useful but that it needs to be tightlyintegrated with the rest of the online community and that, inparticular, user identity must be preserved across all services within acommunity.People like computers and the <strong>Internet</strong> because they are fast. If youwant an answer to a question, you turn to the search engine thatresponds quickest and with the most relevant results. In the offlineworld people generally desire speed. A Big Mac delivered in 30seconds is better than a Big Mac delivered in 10 minutes. However,when emotions and stakes are high, we as a society often choosedelay. We could elect a President in two weeks but instead wechoose Presidential campaigns that last nearly two years. We couldhave tried and sentenced Thomas Junta immediately after July 5,2000, when he beat Michael Costin, father of another 10-year-oldhockey player, to death in a Boston-area ice rink. After all, the crimewas witnessed by dozens of people and there was little doubt as toJunta's guilt. But it was not until January 2002 that Junta was broughtto trail, convicted, and sentenced. Instant messaging, chat rooms,and Web-based discussion <strong>for</strong>ums don't always lend themselves tothoughtful discourse, particular when the topic is emotional. For somecommunities it may be appropriate to consider adding an artificialdelay in posting. Suppose that you respond to Joe Ranter's messageby comparing him to Adolf Hilter. Twenty-four hours later you get anemail message from the server: "Does the message below trulyrepresent your best thinking? Choose an option by clicking on one ofthe URLs below: confirm | edit | discard." You've had some time tocool down and think. Is Joe Ranter a talented oil painter? Was JoeRanter ever designated TIME Magazine Man of the Year (Hitler219
environment, we identify users by their full names. Such heavyweightauthentication is at odds with the practicalities of running a publiconline community. For example, would it be practical to scheduleface-to-face meetings with each potential registrant of photo.netwhere the new user would show an ID? On the other hand, asdiscussed in the "User Registration and Management" chapter, wecan take a stab at authentication in a public online community byrequiring email verification and by requiring alternative authentication<strong>for</strong> people with Hotmail-style email accounts. In both public andprivate communities, we can enhance accountability simply bymaking each user's name a hyperlink to the complete record of theircontributions to the site.In the face-to-face world a speaker gets a chance to gauge audiencereaction as he or she is speaking. Suppose that you're a politicianspeaking to a women's organization, the WAGC ("Women AgainstGun Control", www.wagc.com). Your schedule is so heavy that youcan't recall what you aides told you about this organization, so youplan to trot out your standard speech about how you've alwaysworked to ensure higher taxes, more government intervention inindividuals' lives, and, above all, to make it more difficult <strong>for</strong>Americans to own guns. Long be<strong>for</strong>e you get going on your part inthe assault rifle ban, you'd probably have noticed that the audiencedid not seem very receptive to your brand of paternalism andmodified your planned speech. Typical computer-mediatedcommunication systems make it easy to broadcast your ideas toeveryone else in the service, but without an opportunity to get usefulfeedback on how your message is being received. You can send thelong email to the big mailing list. You'll get your first inkling as towhether people liked it or not after the first 500 have it in their inbox.You can post your reply to an emotionally charged issue in adiscussion <strong>for</strong>um but you won't get any help from other communitymembers, at least not through the same software, be<strong>for</strong>e you finalizethat reply.Perhaps you can craft your software so that a user can expose aresponse to a test audience of 1 percent of the ultimate audience, geta reaction back from those sample recipients, and refine themessage be<strong>for</strong>e authorizing it <strong>for</strong> delivery to the whole group.When groups too large <strong>for</strong> effective discussion assemble in the offlineworld there is often a provision <strong>for</strong> breaking out into smaller groupsand then reassembly. For example, academic conferences usuallyare about half "one to very many" lectures and half breaks and mealsduring which numerous "handful to handful" discussions are held.218You'll get new and different insights from your client by showing thema partially finished site than you did at the beginning of the project.Record your client's answers to the following questions:1. What changes would you like to see in the plan, now thatyou've tried out the prototype?2. What will be the fastest way to fill this site with real content?3. Are we collecting the right amount of in<strong>for</strong>mation on initialuser registration?6.23 Presenting Your WorkIf you're enrolled in a course using this textbook you'll probably beasked at this point to give a four-minute presentation of your work onthe content management system and skeletal implementation of thesite.Four minutes isn't very long so you'll need to rehearse and you'll wantto make sure that all team members know what they're supposed todo. As a general rule the person speaking should be addressing theaudience, not typing at a computer. Team Member A talks; TeamMember B drives. Perhaps at some point in the presentation theyswitch but nobody is ever talking and driving a computer at the sametime.Open with an "elevator pitch", i.e., the kind of 30-second explanationthat you'd give to someone you met during an elevator ride. The pitchshould explain what problem you're solving and why your system willbe better than existing mechanisms available to people.Create one or more users ahead of time so that you don't have toshow your user registration pages. Everyone who has used the<strong>Internet</strong> has registered at sites. They'll assume that you copied thebest practices from amazon.com and other popular sites. If you did,the audience will be bored. If you didn't, the audience will be appalledby your sloppiness. Either way it is best to log in as alreadyregisteredusers. In fact, sometimes you can arrange to prepare twobrowsers, e.g., Mozilla and MSIE, one of which is logged in as a newuser of the service and one of which is logged in as a siteadministrator or some other role that you want to demonstrate.It is best not to refer to "users" during your talk. Instead talk about theroles by name. If, <strong>for</strong> example, you are building a service around131
- Page 1 and 2:
SoftwareEngineering forInternetAppl
- Page 3 and 4:
Signature: ________________________
- Page 5 and 6:
end-users. We use every opportunity
- Page 7 and 8:
• availability of magnet content
- Page 9 and 10:
• we want to see if a student is
- Page 11 and 12:
you supply English-language queries
- Page 13 and 14:
What to do during lecturesWe try to
- Page 15 and 16:
The one-term cram courseWhen teachi
- Page 17 and 18:
332• spend a term learning how to
- Page 19 and 20:
Once we've taught students how to b
- Page 21 and 22:
has permission to perform each task
- Page 23 and 24:
UDDIUnixcustomer's credit card. If
- Page 25 and 26:
thousands of concurrent users. This
- Page 27 and 28:
OraclePerlnamed XYZ" without the pr
- Page 29 and 30:
LDAPLinuxbits per color, a vastly s
- Page 31 and 32:
FilterFirewallFlat-fileGIF318functi
- Page 33 and 34:
when there is an educational dimens
- Page 35 and 36:
system. The authors of the core pro
- Page 37 and 38:
Sign-OffsTry to schedule comprehens
- Page 39 and 40:
scheduling goals that both you and
- Page 41 and 42:
Client Tenure In Job (new, mid-term
- Page 43 and 44:
ReferencesEngagement ManagementSQL*
- Page 45 and 46:
Decision-makers often bring senior
- Page 47 and 48:
presentation to a panel of outsider
- Page 49 and 50:
300always been written by programme
- Page 51 and 52:
17.3 Professionalism in the Softwar
- Page 53 and 54:
Try to make sure that your audience
- Page 55 and 56:
Chapter 17WriteupIf I am not for my
- Page 57 and 58:
Suppose that an RDBMS failure were
- Page 59 and 60:
analysis programs analyzing standar
- Page 61 and 62:
at 9 hours 11 minutes 59 seconds pa
- Page 63 and 64:
found" will result in an access log
- Page 65 and 66:
15.18 Time and MotionThe team shoul
- Page 67 and 68:
select 227, 891, 'algorithm', curre
- Page 69 and 70:
create table km_object_views (objec
- Page 71 and 72:
• object-create• object-display
- Page 73 and 74:
The trees chapter of SQL for Web Ne
- Page 75 and 76:
);274-- ordering within a form, low
- Page 77 and 78:
and start the high-level document f
- Page 79 and 80: Example Ontology 2: FlyingWe want a
- Page 81 and 82: systems. What would a knowledge man
- Page 83 and 84: spreadsheet". Other users can comme
- Page 85 and 86: Chapter 15Metadata (and Automatic C
- Page 87 and 88: {site url}{site description}en-usCo
- Page 89 and 90: drawing on the intermodule API that
- Page 91 and 92: At this point you have something of
- Page 93 and 94: • description• URL for a photo
- Page 95 and 96: Here's a raw SOAP request/response
- Page 97 and 98: Chapter 14Distributed Computing wit
- Page 99 and 100: conduct programmer job interviews h
- Page 101 and 102: Most admin pages can be excluded fr
- Page 103 and 104: content that should distinguish one
- Page 105 and 106: Chapter 13Planning ReduxA lot has c
- Page 107 and 108: the Internet-specific problem of no
- Page 109 and 110: wouldn't see these dirty tricks unl
- Page 111 and 112: 12.8 Exercise 4: Big BrotherGeneral
- Page 113 and 114: than one call to contains in the sa
- Page 115 and 116: A third argument against the split
- Page 117 and 118: way 1 1/16One might argue that this
- Page 119 and 120: absquatulate 612bedizen 36, 9211cry
- Page 121 and 122: What if the user typed multiple wor
- Page 123 and 124: Chapter 12S E A R C HRecall from th
- Page 125 and 126: long as it is much easier to remove
- Page 127 and 128: features that are helpful? What fea
- Page 129: made it in 1938)? Upon reflection,
- Page 133 and 134: those updates by no more than 1 min
- Page 135 and 136: Balancer and mod_backhand, a load b
- Page 137 and 138: translation had elapsed--the site w
- Page 139 and 140: It seems reasonable to expect that
- Page 141 and 142: 11.1.5 Transport-Layer EncryptionWh
- Page 143 and 144: such as ticket bookings would colla
- Page 145 and 146: give their site a unique look and f
- Page 147 and 148: It isn't challenging to throw hardw
- Page 149 and 150: Chapter 11Scaling GracefullyLet's l
- Page 151 and 152: 10.15 Beyond VoiceXML: Conversation
- Page 153 and 154: Consider that if you're authenticat
- Page 155 and 156: In this example, we:194• ask the
- Page 157 and 158: As in any XML document, every openi
- Page 159 and 160: (http://www.voicegenie.com). These
- Page 161 and 162: Chapter 10Voice (VoiceXML)questions
- Page 163 and 164: 9.15 MoreStandards information:•
- Page 165 and 166: 9.14 The FutureIn most countries th
- Page 167 and 168: 9.10 Exercise 7: Build a Pulse Page
- Page 169 and 170: 9.6 Keypad HyperlinksLet's look at
- Page 171 and 172: text/xml,application/xml,applicatio
- Page 173 and 174: Protocol (IP) routing, a standard H