Software Engineering for Internet Applications
About Software Engineering for Internet Applications:
Excerpt from book:
Suppose the people don't already know each other. Can technology help? First we might ask "Should technology help?" Why would you want to talk to a bunch of strangers rather than your close friends and family? The problem with your friends and family is that by and large they (a) know the same things that you know, and (b) know the same people that you know. Mark Granovetter's classic 1973 study "The Strength of Weak Ties" (American Journal of Sociology 78:1360-80) showed that most people got their jobs from people whom they did not know very well. Friends of friends of friends, perhaps. There are aggregate social and economic advantages to networks of people with a lot of weak ties. These networks have much faster information flow than networks in which people stick to their families and their villages. If you're exploring a new career or area of interest, you want to reach out beyond the people whom you know very well. If you're starting a new enterprise, you'll need to hire people with very different skills from your own. Where better to meet those new people than on the Internet? You probably won't become as strongly tied to them as you are to your best friends. But they'll give you the help that you need.
How will you find the people who can help you, though? Should you send a broadcast email to all 100 million Internet users? That seems to be a popular strategy but it isn't clear how effective it is at generating the good will that you'll need. Perhaps we need an information system where individuals interested in a particular subject can communicate with each other, i.e., an online community. This is precisely the kind of information system on which the chapters that follow will dwell.
What about the second big goal (learning)? Heavy technological artillery has been applied to education starting in the 1960s. The basic idea has always been to amplify the efforts of our greatest current teachers, usually by canning and shipping them to new students. The canning mechanism is almost always a video camera. In the 1960s we shipped the resulting cans via closed-circuit television. In the 1970s the Chinese planned to ship their best educational cans all over their nine-million-square-kilometer land via satellite television. In the 1980s we shipped the cans on VHS video tapes. In the 1990s we shipped the cans via streaming Internet media. We've been pursuing essentially the same approach for forty years. If it worked you'd expect to have seen dramatic results.
What if, instead of increasing the number of learners per teacher, we increased the number of teachers? There are already plenty of opportunities to learn at your convenience. If it is 3:00 am and you want to learn about quantum mechanics, you need only pull a book from your shelf and turn on the reading light. But what if you want to teach at 3:00 am? Your friends may not appreciate being called up at 0300 and told "Hey, I just learned that the Franck-Hertz Experiment in 1914 confirmed the theory that electrons occupy only discrete, quantized energy states." What if you could go to a server-based information system and say "show me a listing of all the unanswered questions posted by other users"? You might be willing to answer a few, simply for the satisfaction of helping another person and feeling like an expert. When you got tired, you'd go to bed. Teaching is fun if you don't have to do it forty hours per week for thirty years.
Imagine if every learning photographer had a group of experienced photographers answering his or her questions? That's the online community photo.net, started by one of the authors as a collection of tutorial articles and a question-and-answer forum in 1993 and, as of August 2005, home to 426,000 registered users engaged in answering each other's questions and critiquing each other's photographs. Imagine if every current MIT student had an alumnus mentor? That's what some folks at MIT have been working on. It seems like a much more effective strategy to get some volunteer labor out of the 90,000 alumni than to try to squeeze more from the 930 faculty members. Most of MIT's alumni don't live in the Boston area. Students can benefit from the volunteerism of distant alumni only if (1) student-faculty interaction is done in a computer-mediated fashion so that it becomes visible to authorized mentors, and (2) mentors can use the same information system as the students and faculty to get access to handouts, assignments, and lecture notes. We're coordinating people separated in space and time who share a common purpose. Again, that's an online community.
Online communities are challenging because learning is difficult and people are idiosyncratic. Online communities are challenging because the software that works for a community of 200 won't work for a community of 2,000 or 20,000. Online communities are inspiring engineering projects because they deliver to users two of the things that they want most out of life: connections to other people and education.
If your interest in this book stems from the desire to build a straightforward e-commerce site, don't despair. It turns out that the most successful e-commerce and collaborative commerce sites are, at their core, actually online communities. Amazon is the best known example. In 1995 there were dozens of online bookstores with comprehensive catalogs. Amazon had a catalog but, with its reader review facility, Amazon also had a mechanism for users to communicate with each other. Thus did the programmers at Amazon crush their competition.
As you work through this book, you're going to build an online learning community. Along the way, you'll pick up all the important principles, skills, and technologies for building desktop Web, mobile Web, and voice applications of all types.
Suppose the people don't already know each other. Can technology help? First we might ask "Should technology help?" Why would you want to talk to a bunch of strangers rather than your close friends and family? The problem with your friends and family is that by and large they (a) know the same things that you know, and (b) know the same people that you know. Mark Granovetter's classic 1973 study "The Strength of Weak Ties" (American Journal of Sociology 78:1360-80) showed that most people got their jobs from people whom they did not know very well. Friends of friends of friends, perhaps. There are aggregate social and economic advantages to networks of people with a lot of weak ties. These networks have much faster information flow than networks in which people stick to their families and their villages. If you're exploring a new career or area of interest, you want to reach out beyond the people whom you know very well. If you're starting a new enterprise, you'll need to hire people with very different skills from your own. Where better to meet those new people than on the Internet? You probably won't become as strongly tied to them as you are to your best friends. But they'll give you the help that you need.
How will you find the people who can help you, though? Should you send a broadcast email to all 100 million Internet users? That seems to be a popular strategy but it isn't clear how effective it is at generating the good will that you'll need. Perhaps we need an information system where individuals interested in a particular subject can communicate with each other, i.e., an online community. This is precisely the kind of information system on which the chapters that follow will dwell.
What about the second big goal (learning)? Heavy technological artillery has been applied to education starting in the 1960s. The basic idea has always been to amplify the efforts of our greatest current teachers, usually by canning and shipping them to new students. The canning mechanism is almost always a video camera. In the 1960s we shipped the resulting cans via closed-circuit television. In the 1970s the Chinese planned to ship their best educational cans all over their nine-million-square-kilometer land via satellite television. In the 1980s we shipped the cans on VHS video tapes. In the 1990s we shipped the cans via streaming Internet media. We've been pursuing essentially the same approach for forty years. If it worked you'd expect to have seen dramatic results.
What if, instead of increasing the number of learners per teacher, we increased the number of teachers? There are already plenty of opportunities to learn at your convenience. If it is 3:00 am and you want to learn about quantum mechanics, you need only pull a book from your shelf and turn on the reading light. But what if you want to teach at 3:00 am? Your friends may not appreciate being called up at 0300 and told "Hey, I just learned that the Franck-Hertz Experiment in 1914 confirmed the theory that electrons occupy only discrete, quantized energy states." What if you could go to a server-based information system and say "show me a listing of all the unanswered questions posted by other users"? You might be willing to answer a few, simply for the satisfaction of helping another person and feeling like an expert. When you got tired, you'd go to bed. Teaching is fun if you don't have to do it forty hours per week for thirty years.
Imagine if every learning photographer had a group of experienced photographers answering his or her questions? That's the online community photo.net, started by one of the authors as a collection of tutorial articles and a question-and-answer forum in 1993 and, as of August 2005, home to 426,000 registered users engaged in answering each other's questions and critiquing each other's photographs. Imagine if every current MIT student had an alumnus mentor? That's what some folks at MIT have been working on. It seems like a much more effective strategy to get some volunteer labor out of the 90,000 alumni than to try to squeeze more from the 930 faculty members. Most of MIT's alumni don't live in the Boston area. Students can benefit from the volunteerism of distant alumni only if (1) student-faculty interaction is done in a computer-mediated fashion so that it becomes visible to authorized mentors, and (2) mentors can use the same information system as the students and faculty to get access to handouts, assignments, and lecture notes. We're coordinating people separated in space and time who share a common purpose. Again, that's an online community.
Online communities are challenging because learning is difficult and people are idiosyncratic. Online communities are challenging because the software that works for a community of 200 won't work for a community of 2,000 or 20,000. Online communities are inspiring engineering projects because they deliver to users two of the things that they want most out of life: connections to other people and education.
If your interest in this book stems from the desire to build a straightforward e-commerce site, don't despair. It turns out that the most successful e-commerce and collaborative commerce sites are, at their core, actually online communities. Amazon is the best known example. In 1995 there were dozens of online bookstores with comprehensive catalogs. Amazon had a catalog but, with its reader review facility, Amazon also had a mechanism for users to communicate with each other. Thus did the programmers at Amazon crush their competition.
As you work through this book, you're going to build an online learning community. Along the way, you'll pick up all the important principles, skills, and technologies for building desktop Web, mobile Web, and voice applications of all types.