Web Design and Implementation (4002-409)


This is the web site for Professor Lawley's Winter 03-04 section of Web Site Design & Implementation (4002-409). I'll use this site for all course related material and news, with the exception of grades, which will be posted on the myCourses site. This first page will have recent news and announcements; for information on class topics, readings, exercises, and discussions you can use the outline menu item above, or click on a specific day in the calendar on the left.

19 February 2004

Peer Eval Forms

I’ve attached MS Word and PDF versions of the peer evaluation form to the group project assignment.

Today's Topic: Group Project Presentations

Details forthcoming.

17 February 2004

Today's Topic: Basic PHP

PHP is a bit like server-side includes on steroids. Like SSI, it’s embedded in the HTML of a page, and is processed by the server before it sends the page to the browser. Unlike SSI, it is a fully-featured programming language, complete with database query capability.

PHP is most often used to create dynamic sites that pull content from a database. However, it can also be used for a variety of non-database operations—customizing the display of a page based on user input, for example, or sending email messages.

I’ve provided two PHP tutorial sites for you at http://del.icio.us/mamamusings/php/ .

Keep in mind that Grace is running PHP3, not PHP4. By default, it will only process PHP pages with a .php3 extension. If you’d like your PHP pages on Grace to have a .php extension, instead, you can create an .htaccess file with the following line:

AddType application/x-httpd-php3 .php

12 February 2004

Today's Topic: Modifying CGI Scripts

Details forthcoming.

10 February 2004

Today's Topic: Dynamic Sites & Basic CGI

This week’s topic is CGI, or the “common gateway interface.” This is the interface that allows the web server to run a program on the server, and then return the results of the program to the user. Typically, the program will take as an input the contents of a form—whether it’s a simple one-box search form (like Google), or a complex, lengthy registration form.

Before starting on the exercises (which will be a separate post), read Chapter 11 of the Webmaster in a Nutshell book, and the Webmonkey article “CGI Scripts for Fun and Profit.”

You should also review the information we covered on forms, since form attributes like “action” and “method” become very important in the context of CGI.

5 February 2004

Today's Topic: Server-Side Includes

Today we’ll continue our discussion of server-side operations by talking about server-side includes, which allow you to process commands on the server for inclusion on your web page.

3 February 2004

Today's Topic: Server-Side Authentication

Today we’ll discuss basic web server operation—what gets sent back and forth between a client and a server, and what’s the order of operations.

Then I’ll cover how to create an .htaccess file to restrict access to a directory on your site (server side authentication), as well as to create a custom 404 error page, or change the way the server handles various file types.

29 January 2004

Today's Topic: DHTML

Details forthcoming.

27 January 2004

Today's Topic: Advanced Javascript

Details forthcoming.

22 January 2004

Today's Topic: Javascript & HTML Forms

Details forthcoming.

20 January 2004

Today's Topic: Document Object Model & Basic Javascript

Details forthcoming.

15 January 2004

lectures versus readings

A few people have expressed surprise to me that I’m not reiterating material from your readings in lectures.

That’s not accidental, it’s intentional.

It doesn’t make sense for me to repeat the material from the readings to you in class—you need to read those yourself, and I assume that when you walk into class that you’ve read the assigned materials.

Think of me in lecture as the “color commentator,” not the “play-by-play” person. The focus of the lecture is to provide some context for why you need to know the things in the readings, not to replace or regurgitate that content.

I spend a good bit of time thinking about what readings to assign. I review lots of materials before I choose the specific readings for each class session. I wouldn’t assign something that I didn’t think had relevance and importance in the context of the course materials and objectives. Please read them.

That being said, I apologize for not yet having the readings for next week posted. Those should be online later today. (I’m guessing most of you are still working on your individual assignments, and haven’t been too concerned about next week’s readings.)

And, as a special reward bonus for those of you who actually read to the end of this message, I won’t be grading the projects until Saturday morning, so you have until I get up (usually around 7 or 8am) on Saturday to get the midterm site completed and uploaded.

Today's Topic: Information Architecture & Usability

Details forthcoming.

14 January 2004

Blog Survey

Fernanda Viegas, a graduate student at the MIT Media Lab, is doing a survey of people who have weblogs. She’d be grateful if you’d take the time to fill this out:

Blog Survey

Thanks!

13 January 2004

Today's Topic: Information Architecture & Usability

Details forthcoming.

8 January 2004

Today's Topic: Information Architecture II

We’ll continue with the material from Tuesday’s class.

6 January 2004

Today's Topic: Information Architecture I

The best web sites start with careful planning, and avoid the “Winchester Mystery House” style of on-the-fly architecture.

As we’ve discussed, the difference between 741 and 737 is that in the former we talk about how to build pages while in the latter we talk about how to build sites. That’s the focus of this week’s lectures…how to effectively organize and present large amounts of information in a way that’s useful to the intended audience.

5 January 2004

Group Accounts on Polaris

I have created accounts for each group on our polaris server. The user ID is your group name, and the default password will be given out in class (I strongly encourage you to change the password as soon as possible).

The default web directory on polaris is public_html, rather than www. You’ll need to create the public_html directory in your home directory, and set the permissions (for it and anything you put in it) to allow reading (there’s no “ofw” script on polaris!).

Polaris now supports secure shell (ssh) connections, so I strongly encourage you to use ssh instead of telnet when connecting to the server (you should do this on grace, as well).

(If you want a MySQL database on your polaris account, let me know, and I’ll have one added.)

Links of Interest

Many of the links that I discuss in class can be found on my del.icio.us page. It’s a freeform bookmark maintenance system that allows you to share links with others, and subscribe to other people’s lists of links.

18 December 2003

Today's Topic: CSS and Visual Design

Now that you have the tools to modify the presentation of your pages, you need to learn to use those powers for good and not for evil. We’ll talk about visual design issues today, and how those of us who aren’t gifted in visual design can learn from examples around us.

16 December 2003

ITS Form for Increasing Disk Quota

If you need to increase the amount of disk space allotted to you on Grace (the default is 20MB), you can fill out this form (it’s a PDF file; print it out and fill it out in paper form), and bring it to me for a signature. I’ll pass it on to the IT office for approval.

Project Group Assignments

Group 1: Circle
Nicholas Hawkins
Josephine Leow
Kimberly Mitchell
Olga Olin
Qing Quan
Jennifer Rohrig

Group 2: Triangle
Michael Ashman
Sarah Begonis
Jay Bibby
Christine Chriscaden
Maria Morris
Amy Moyer

Group 3: Oval
Brendyn Alexander
Philip Charles
Michael Delaney
Frederic Lindenhovius
Shawn Snyder
Brian Tepfenhart

Group 4: Rectangle
Shad Ali
Jordan Fripp
Erhardt Graeff
Sean Hannan
Ryan Munding

Today's Topic: CSS Positioning

The table-based approach to layout that you learned in 320/741 (or on your own) was cutting edge back when David Siegel pioneered it back in 1997. But browsers have come a long way since then, and markup has evolved to match that.

Using tables for layout has two major problems. The first is that it ties together content and presentation, which are two components that are best left separate. The second is that it results in bloated, slow-loading code.

We’ll discuss the importance of separating content and presentation, as well as the specifics of the CSS box model and cross-browser challenges for CSS-based positioning.

12 December 2003

Discussion Items

A few people have asked where they can ask questions about the project so that others can see the answers. One option is to post the questions directly to the assignment. But I’ll start putting discussion items (like this one) up for each assignment as well.

In terms of finding and sharing resources related to class topics, I’d suggest posting those as comments to the class topic entry for that date.

11 December 2003

Today's Topic: Typography and CSS Formatting

The most important part of most web sites is the text, but many web developers know little or nothing about typography, or about how to use CSS to control typographic presentation effectively.

We’ll talk about basic typographic terms, concepts, and formats. Then we’ll spend some time exploring advanced CSS formatting properties.

9 December 2003

Files from CSS Exercise

Sorry for the delay. Here are the files (as a .zip archive) from the CSS exercise.

Today's Topic: Web Standards and Accessibility

Today’s discussion will be on web coding standards, which tend to generate almost as many religious battles as operating system choices.

We’ll cover the HTML standards development process, existing HTML and XHTML standards, problems with existing standards, and browser support for standards. We’ll also discuss the issues surrounding separation of presentation and content, and the importance of CSS in standards-based web development.

Closely related to the topic of standards and appropriate coding is the topic of web site accessibility. We’ll talk about different kinds of accessibility, the reasons for building accessible web sites, and some techniques for making sure sites are accessible to all users.

5 December 2003

unavailable

My sister’s husband was killed in a car accident yesterday; as a result, I will not be available on campus or via email until Monday.

4 December 2003

Today's Topic: Weblogs, CMS, and Web Servers

Today we’ll be talking about weblogs. What are they? How are they different from “regular” web sites? What opportunities and challenges do they present for web developers? Weblogs are a specialized type of CMS, or content management system, so we’ll talk about CMS more generally, as well.

Weblogs will be an integral part of the course this quarter. This site, for example is a special-purpose weblog. Each of you will be creating your own weblogs for posting in-class exercises and links to assignments, as well as your thoughts on lectures and readings.

Because the Movable Type weblog software we’ll be using is a set of programs that run on the web server, we’ll review some basic server concepts so that you can install the programs in your Grace account.

2 December 2003

Pretest Files

Since I can’t get myCourses to let me upload files, here’s a Zip archive of the image files (1.5MB) for use in the pretest.

Today's Topic: Course Overview

We’ll review the course web site, including the syllabus and the course outline. We’ll also do introductions, and talk about what makes a web site “good.”

At the end of class, I’ll do a brief review of basic CSS formatting concepts for students who did not have CSS in their 320 classes.

30 November 2003

Book Changes

I made a mistake in the book order sent to the bookstore, and forgot to remove Steve Krug Don’t Make Me Think! and replace it with Christina Wodtke’s Information Architecture: Blueprints for the Web.

I’ve notified the bookstore, and while they may not get the new book right away, you won’t need it until the fourth week of class (after the winter break).