by Steve Cunningham
Teaching a new hands-on Web 2.0 class requires a web server. Is building one a viable option?
Summer's on its way out, and it is time to begin the process of preparing for the fall semester. For educators, this often includes performing an overhaul on existing class materials. This time my overhaul also includes building a new class from scratch, or quite nearly so.
The topic is music promotion using the internet, and it consists of a lecture component as well as a hands-on Web 2.0 development component. In short, each student will be required to build a multi-page, multi-function website to market music, taking advantage all the Web 2.0 tools that can be taught in 15 weeks. We'll cover basic HTML, editing and preparing audio and video for streaming, photo galleries, blogs, wikis, and forums, plus linking to offcampus media from sites such as YouTube, Flickr, and MySpace. We'll also do drive-bys on MySQL, listservs, email lists, search engine optimization, and other more technical topics.
I'M IN THIS PART OF EDUCATION BECAUSE I LOVE THE SENSE OF ACCOMPLISHMENT WHEN TECHNOLOGY WORKS, AND I LIKE HAVING THE CONFIDENCE TO PERFORM AT LEAST A LIMITED DIAGNOSIS WHEN THEY DON'T WORK.
Rather than try to find some space and CPU cycles for some 30 websites or blogs, I've decided to build a dedicated server to handle the job, and install it in our rack within the IT center. After scouring the department, I've acquired a small and unused Macintosh CPU with an Intel processor, a large hard drive, and a couple of gigabytes of memory. As a bonus, it was recently in use on campus, so it is already registered with our IT department. Since it is a Macintosh, an Apache web server is installed as part of the OS. With some experience working from the Unix command line, I should be able to handle it.
REINVENTING THE WHEEL?
At this point it might be reasonable to ask, "Why do you want to build your own server?" I think there are several good reasons. The first is the simplest and most common - there's no budget for this. I didn't have this class assigned until after the deadline for new budget requests; that sort of thing happens occasionally, and we just deal with it.
Then there is the issue of support. When I first approached the IT manager with the proposition of finding space and bandwidth for some 30 students to each create a website with streaming capabilities, he first thought it was a great idea. Then he considered the consequences and responsibilities that go along with that task, and began examining the impact this might have on him and on his small staff.
"Wait," he asked after a moment's rumination. "Who is going to maintain this? I don't have any extra staff hours available for this. And I don't know if I want to get the emails from ITS."
When a server misbehaves at the university, the ITS (Information Technology Services) department sends an email message to the technical contact for that server. For example, I recently had a lab computer that had an intermittent Ethernet port on it. Every now and then it would alternately drop its connection and try to reconnect, each time requesting an IP address from the DHCP server. After a few hundred DHCP requests over 10 or 15 minutes, the network decided that there was a problem and shut off the Ethernet port connected to that computer. An automatic email message went out informing the owner of the problem and directing him or her to call to restore the connection.
In short, my IT guy didn't want the extra support load, so that is going to fall on my shoulders - and that's fine.
I'm also doing it myself because I simply want to do it - it's an opportunity for me to learn by doing. I'm in this part of education because I love the sense of accomplishment when technology works, and I like having the confidence to perform at least a limited diagnosis when they don't work. This process gives me something to discuss with students who want to explore the technology a bit further.
Most important, I will know exactly what software is running on this server and have a good idea of what's going on with the hardware. Even though the university has a capable staff to respond and assist when something goes wrong, I like to know enough to be able to speak intelligently to a technician. I don't know exactly how a projector changes its resolution, but I do know enough to tell whether the audio and video signals are reaching it in the first place.
Rest assured that my syllabus covers basic web design and elements of a good user interface, as I consider those the most valuable skills I can teach - there are enough ugly and hard-to-read websites out there as it is. But before I can impart a few of those skills, I have to finish installing and enabling PHP for the Apache web server and MySQL databases, so I can test to see if this little system is capable of hosting 30 small sites. Wish me luck.
Steve Cunningham is a senior lecturer in technology in the Thornton School, Music Industry Department at USC. He can be reached firstname.lastname@example.org.