Various web-based projects of the sort that the class may undertake.
| project | client side | Comments | |
| 1 | classifier | Consider developing a democratically defined taxonomy. Allow several people to sort items (concepts, pictures, words, web sites, etc.) into varying numbers of categories. a very antiquated example. | Allow for real-time data storage, retrieval and analysis. Authentication recommended. Data analysis should acknowledge that not all people will groups in the same way. How are taxonomies generally displayed? Consider cluster analysis or related methodologies. |
| 2 | comparator | Allow people to determine the relative distance (based on similarity
or difference measures) between a set of n objects (concepts, pictures, words, web
sites, etc.). Consider how to quantitatively measure the differences between two maps of the same place. |
Allow for real-time data storage, retrieval and analysis. Authentication recommended. Discriminant analysis, metric analyses, factor analysis and cluster analysis might all be considered as methodologies. |
| 3 | sequencer | Allow people (authenticated or not) to determine the relative ordering (on a univariate scale) of a set of n objects (concepts, pictures, words, web sites, etc.). | Allow for real-time data storage, retrieval and analysis. Authentication recommended. Consider how many pairs of objects must be compared in order to form a transitive closure on a relation. Do subjects fall into clusters? |
| 4 | choreographer | Allow user to specify time/space paths that each of various (up to 100) images will follow across a web page as they move individually or in groups. Allow user to specify the amount of non-determinism associated with the movement. Output should consist of an animation defined by its associated html and/or SVG and javascript. | Simply allowing users to create, store and retrieve animations which they (and not others) have created, with the ability to retrieve by name, keyword, sample frames, and or date created would be a beginning. Enabling users to publish their animations so that others might see them would be another nice feature. |
| 5 | color picker | Contrast two or more different models of color picking, including RGB sliders, Photoshop's HSB picker or another of your own design. Or incorporate an HSB color picker into this a color schemer. Stimuli consist of examples the subject is asked to replicate. This may be worth looking at as well: RGB explorer. Perhaps you can make it run inside Dailey's SVG drawing package. | Allow for real-time data storage, retrieval and analysis. Authentication recommended. Analysis of variance is the likely statistical technique with subjects either crossed with or nested in interfaces and both crossed with stimuli. Stimuli and subjects would both be treated as random effects variables. |
| 6 | morpher | Allow users to create a movie in which one picture gradually fades into a second. Sort of like this (IE only) which adjusts transparency in real time, but with ability to identify corresponding features (like eyes) in two pictures. | Once a user creates a morph,it should be "save-able" so it to be replayed. (Think about using SVG or UNIX pnm or pbm commands or PHP imaging commands to generate intermediate frames). |
| 7 | cluster analyzer (network diagrammer) |
Given the root of a web directory (e.g., www.sru.edu), traverse and map (as a directed graph) all links between pages within that diretory. Draw the nodes on the client's screen so that on-screen distance approximates graphical distance. | if it works in less than O(n4) this will be good. |
| 8 | tiling package | allow the user to design geometric tiles of differing shapes (e.g. triangles, quadrilaterals, pentagons) and to experiment with using them to cover the plane, either manually or quasirandomly. | Not exactly like this:
http://pilat.free.fr/tiling_loc/tile.svg , which though very nice, enables tiling within an existing set of tiles. Your job is to allow the design of the tiles and then to replicate. Take a peek at this place to see what I mean. |
| 9 | enhanced browser | Using JavaScript, build a web browser which allows
individuals to open any web page but to customize it according to certain
enhanced features:
For example:
|
Possibly some server-side scripting involved, particularly
in cases of enhancing content with lexical knowledge. Examples:
underlaying dynamic wallpaper (IE only) |
| 10 | puzzle builder | Allow the visitor to choose an image locally and to then slice it into little pieces which then become parts (ideally non-rectangular) of a puzzle. That puzzle may then be solved by others. |
carving using feOffset's and feTile's to slice an image dragging objects around Dynamic slices and juxtaposition of images flicker.svg filling the browser window with clickable hexagons More rotating gradients inventing a new clippath |
| 11 | collaborative word processor | Make a document builder which allows two or more users to modify content of a document concurrently, preferably with some ability to review and backup through the edit history. The resulting document should be storable as RTF or an XML format that can be later loaded into the web-based program or into a word processor. | |
| 12 | Virtual weather station | Make a web page (using HTML, VML, and or SVG) that allows the visitor to enter (and save as preferences) his or her location within the US and then to see an artificially generated depiction of what the weather outside would look like based on current weather data (e.g. precipitation, wind velocity and temperature data) from the National Weather Service), the visitor's latitude and longitude, the time of day, and the time of year. How light or dark it is should vary as a function time of year and cloud cover, though you need not worry about time of day (position of the sun. | |
| 13 | Virtual astronomer | Build a web page (using HTML, VML and or SVG) that allows the visitor to enter (and save as preferences) his or her location within the US and then to see an artificially generated depiction of the night sky including the planets, moon, stars and constellations based on time of day, time of year and latitude and longitude. You need not worry about sunlight (effects of dusk and dawn). | |
| 14 | Virtual landscape generator / flight simulator | Based on USGS data for elevation of points within the United States (and possibly other data like population, forestation, water, climate etc.) generate a virtual US landscape that can be navigated over as if flying. The terrain should change to reflect actual US landscape. | consider overlaying rows of numeric data as opaque line charts as in balloon with artificial landscape |
| 15 | Panorama rotator | Present the user with various controls (numeric inputs, dials, sliders, etc.) that enable him or her to generated a quasi-random 360 degree (and possibly animated) scene (e.g. a forest, cityscape, seascape, etc., ) and then to control the perspective or direction of view. The interface should maximally facilitate both the options for controlling the artificially generated scene and for changing the viewing angle. |
example1,
example2 ,
example3 panoramas, using transform=matrix to skew an image balloon with artificial landscape |
| 16 | HTML, Javascript, SVG Editor | Build an editing environment running in the browser which allows people to create markup, preview it as working HTML or SVG with script, and edit and save their work. It should be syntax-aware so that markup and possibly script is prechecked and hilighted for correctness (like most code editing environments). Here is the simplest of examples as a proof of concept. | Ability to store files may require server-side intervention. |