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.

voice and mobile interfaces. If present, try them out (the Mobilechapter provides a list of desktop browser-based phone emulators sothat you won't have to use mobile phone; alternatively type "WAPemulator" or "Mobile browser emulator" into a public search engine).Look <strong>for</strong> evidence of personalization and direct controls overpreferences.3.10 Does the World Need More than One Online<strong>Community</strong>?Suppose that in Exercise 3 you found 100 online communities in yoursubject area. Should you be discouraged? A search at amazon.com<strong>for</strong> "aquarium" yields 679 books on the subject of keeping fish athome. The National Center <strong>for</strong> Educational Statistics (nces.ed.gov)found that there were 3913 colleges and universities in the UnitedStates in 1998. The computing world historically has tended towardconcentration. There is only room <strong>for</strong> one or two desktop userinterfaces, one or two word processors, one or two spreadsheets, ahandful of enterprise accounting systems, etc. Two factors preventsimilar concentration in the world of online learning communities.One is the idiosyncracy of authorship. A person may believe thatAnna Karenina is the best novel ever written and simultaneously beinterested in reading C.D. Payne's Youth in Revolt. A person maybelieve that Gone with the Wind will never be excelled and yet stillinvest two hours in Charade. The range of idiosyncracy is narrower inexplicitly tutorial works. Nonetheless one can admit the toweringaccomplishment of Stroebel's Basic Photographic Materials andProcesses and still profit from working through Mastering Black-And-White Photography (Bernhard Seuss 1995).The second <strong>for</strong>ce that prevents concentration in the world of onlinelearning communities is the nature of community itself. ChristopherAlexander argues in A Pattern Language against countries of morethan a few million people:"It is not hard to see why the government of a region becomes lessand less manageable with size. In a population of N persons, thereare of the order of N^2 person-to-person links needed to keepchannels of communication open. Naturally, when N goes beyond acertain limit, the channels of communication needed <strong>for</strong> democracyand justice and in<strong>for</strong>mation are simply too clogged, and too complex;bureaucracy overwhelms human process. ..."We believe the limits are reached when the population of a regionreaches some 2 to 10 million. Beyond this size, people become54computer application that you build, you ought to should prepare anoverview document. This will be a single HTML page containinglinear text that can be read simply by scrolling, i.e., the reader neednot follow any hyperlinks in order to understand your achievement. Itis probably reasonable to expect that you can hold the averageperson's attention <strong>for</strong> four or five screens worth of text andillustrations. What to include in the overview illustrations? In-lineimages of Web or mobile browser screens that display theapplication's capabilities. If the application supports a complexworkflow, perhaps a graphic showing all the states and transitions.Here are some examples done by folks just like yourself:• any of the reports in the 6.171 Project Gallery, Spring, 2002at http://philip.greenspun.com/seia/gallery/spring2002/from an earlier version of this course• http://philip.greenspun.com/seia/gallery/spring1999/arfdigita/• http://philip.greenspun.com/seia/gallery/spring2000/poa/• http://philip.greenspun.com/seia/gallery/fall2000/wap/ (aWAP-only application)• http://philip.greenspun.com/seia/gallery/fall2000/eaa/In case you're looking <strong>for</strong> inspiration, do remember that if Microsoft,Oracle, Red Hat, or Sun products either worked simply or simplyworked, half of the people in the in<strong>for</strong>mation technology industrywould be out of jobs. Also keep in mind that <strong>for</strong> every person readingthis chapter a poor villager in India is learning SQL and Java. A bigsalary can evaporate quickly. Hundreds of thousands of Americanaerospace engineers laid off in the 1970s discovered this. The oneswho'd toiled in obscurity on "landing gear bolt #39" ended up as cabdrivers or greeters at Walmart. A personal professional reputation, bycontrast, is a bit harder to build than the big salary but also harder tolose. If you don't invest some time in writing (prose, not code),however, you'll never have any reputation outside your immediatecircle of colleagues, who themselves may end up working atMcDonald's and be unable to help you get an engineering job duringa recession.17.1 Exercise 1Prepare an overview document <strong>for</strong> the application that you built thissemester. Place the document at /doc/overview on your server.295

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

Saved successfully!

Ooh no, something went wrong!