Fandom

Stanford University Wiki

Main/CS349W Project3

229pages on
this wiki
Add New Page
Talk0 Share

Project 3 - Implement a New Reusable Web Interaction Edit

In the final project for CS349W you will design and implement a new Web interaction. There are two goals for this project:

  • Create a new style of interaction, one you haven't seen before. Your interaction does not need to be a complete application; it can be a small interaction on the same scale that we saw in the first project. The goal is to experiment with a new way for humans to interact with Web applications.
  • Figure out how your interaction could be implemented as a reusable component. One way to do this is by implementing your interaction as a reusable component (perhaps for some existing framework). If that isn't possible within the time constraints of the project, then describe what it would take to make your interaction a reusable component (e.g., explain how it could be implemented within an existing framework in a way that would make it easy to reuse, or hypothesize a new framework that would make your interaction reusable and describe how your interaction would fit in that framework).

You can implement your interaction however you wish, as long as it is accessible using the Firefox Web browser. You can use existing Web frameworks and/or Javascript libraries, or you can build your interaction from scratch. The choice is up to you, but you should be prepared to explain in your report and presentation why you chose your particular approach.

Project Deliverables Edit

At the end of this project you'll make a short presentation to the class about the package that you have analyzed, and also produce a short written report attached to this Wiki just like the previous projects. Your presentation and write-up should include the following information:

  • How does your interaction work from the user's standpoint? What makes it useful?
  • How is your interaction implemented? For example, you might describe the split of functionality between server and browser, any framework or libraries you used, as well as any interesting coding techniques or DOM facilities that you used. There's no need to show detailed code unless there is something conceptually interesting about the code details.
  • How is your interaction encapsulated as a reusable component, or how could it be encapsulated? Are there any particular framework facilities that would be needed to make your interaction easy to reuse? If your interaction is hard to encapsulate, explain what it is about your interaction that makes it hard to encapsulate.
  • If your interaction is implemented entirely on the browser side, explain how it will integrate with the server-side part of the Web application.
  • Summarize what you think are the strengths and weaknesses of your interaction and its implementation. "Fascinating failures" are completely acceptable, as long as you are able to describe clearly what makes your interaction impractical and what you have learned from building it.

Class Presentations Edit

For this project you should plan on a 5-10-minute presentation in class. This is enough time for about 3-5 PowerPoint slides. Be sure to demo your interaction!

Schedule Edit

Here is the tentative schedule for the project:

Mon. Nov. 10, 5 P.M.        - Team and topic selected
Fri. Dec. 5, 10-11 A.M.     - First in-class presentations
Mon. Dec. 8, 10-12 A.M.     - Remaining in-class presentations (Bldg 200 Room 303)
Mon. Dec. 8, 10 P.M.        - Deadline for reports on Wiki

Teams and Topics Edit

Once you have chosen a partner for this project please enter your names in the list below, along with a 5-10-word description of your project (not more than one singleton, please):

Presentation Order Edit

Project presentations will be in the following order, from top to bottom.

Friday, December 5, 10:00-10:50 (Building 200, Room 305)

  • Jing Chen
  • Zhou/Kim
  • Martin/Fischer
  • Oguntebi/Sanchez

Monday, December 8, 10:00-12:00 (Building 200, Room 303)

  • Bercovitz/Teh
  • Mao/Wetterwald
  • Eastham
  • Choi/Tenneti
  • Underhill/Chen
  • Eggleston/Travis
  • Raghavan/Bhatia
  • Addy/Li
  • Robertson/Khare
  • Zhang/Patnaik/Abhinoraseth

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.