M.I.T. DEPARTMENT OF EECS

6.033 - Computer System Engineering One-pager #2: Due in Recitation 5, Thursday, February 21, 2008

Read The X Window System paper by Scheifler and Gettys (reading #5), following the bulleted guideline below. This paper provides a good opportunity to try the approach of warming up by nibbling around the edges:

While reading the X Windows paper, keep in mind that a client requests a service and a server provides it. In terms of the display, the X server is running locally (and controlling the display hardware), and the X client may be running remotely (but wishes to display information to the user). For example, suppose that you are sitting in Cambridge and running a database application in California. From the point of receiving information, you are the client and the database program is the server. But from the point of view of display, the database program is the client, and the computer you are sitting in front of is the server. The database application wishes to draw windows, but only the X Windows server (running on your local computer) is permitted to directly manipulate your screen. Thus, the database program must issue (display) requests, which the X server satisfies.

This is a nice "systems" paper to read because it describes a real, working system and it explains the reasons choices where made from among design alternatives, even pointing out when choices where arbitrary. Furthermore, it is written for the most part in plain English with a minimum of jargon.


Next, read "Myth: X Demonstrates the Power of Client/Server Computing" (pages 127-128) in The UNIX-HATERS Handbook for a different perspective on the X Window System. Are the issues they raise a direct consequence of the design goals mentioned in the initial paper, or are they an implementation artifact? Notice that the UNIX-HATERS Handbook was written in 1994 and the X Window System of today may have resolved some of their issues.

Instead of relying on other people's written accounts, you may wish to explore X yourself by working through last year's Hands On #2 (X Windows). This is an entirely optional step.


Task:

You are an engineer overseeing the development of the user interface for a new low-cost laptop PC, to be given to incoming MIT freshmen. You have decided to build the UI on top of the X Window System, but your boss, Peter Smith, has his doubts. He has read the UNIX-HATERS Handbook section (referenced above) and is concerned that the overhead of the protocol is not justified by the benefits of the client/server paradigm. Write a one-page memo to Peter Smith, Project Manager for the Low-Cost Laptop project, arguing for the suitability of X in this deployment. Focus on the technical merits of the X Window System (ignoring its ubiquity), and provide two clear benefits you expect to see from your use of X.

Be sure to phrase the memo in technical terms appropriate to its intended audience; i.e., a technically-savvy manager, with prior engineering experience.

Use no more than one sheet of paper for your report. (Consult the 6.033 FAQ for formatting specifications.) We care more about quality and conciseness than we do about length. You will not be able to address every issue in one page, so you will have to make your best argument and judiciously choose your supporting facts for this one-pager.

Two copies of this assignment are due at the beginning of recitation on Thursday, February 21, 2008. The second copy will be forwarded to the writing program for evaluation. Be sure to include your email address in the submission so we may give you early feedback where required.


Grading:

Your submission will be graded by both the 6.033 staff and the Writing Program, as described here. The staff grade will focus on your justification of the benefits from using X, and on how well you articulate your argument. The Writing Program grade will focus on the style and clarity of your memo, according to the following key areas:
  1. Completeness of Ideas. Has the reader been provided with all the information necessary to understand the benefits of using X in this project?
  2. Sequencing. Has the information been sequenced in a way that facilitates fast and accurate assimilation and assessment?
  3. Language & Syntax. Is the memo well proofread and substantially free of surface errors?
  4. Format. Does the assignment adhere to standard memo format and conventions?
  5. Visual Organization. Does the use of segmentation, white space, and other visual characteristics facilitate the clear transmission of the information in the memo?

You may also consult this brief list of guidelines for writing a memo.

Addendum:
Sample Therac memos that were deemed high-quality by both the TAs and writing instructors are available here and here.


Go to 6.033 Home Page