Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Essentially, this page is similar to that of an online shopping website, with displayed images for individual items, which can be clicked on to expand into a larger preview with more information, including the previously-mentioned color, size, and style values. We limited the number of dresses displayed on one page after users mentioned that the previous iteration (9 dresses) felt too cluttered and difficult to scan, and included variations in shades of grey as backgrounds and highlights, to make certain parts of the page stand out more. This page handles mouse interaction well, to appear more interactive; most items, such as previews or buttons, respond to mouseover with a cursor-hand or a hover effect.

The three "choose which dresses you want to see" buttons result in drop-down lists of checkboxes, which allow a user to select the dresses they want displayed. We used checkboxes to make multiple selection appear more feasible for users, although this eventually became less efficient due to the sheer number of checkboxes required for some items, like color. We also added a "sort by" option when users mentioned that they would have liked to be able to sort displayed dresses, so as to make the search more efficient.

Implementation

Our design was, fundamentally, a shopping site with many listed items which had to have certain pieces of information associated with them, and we ended up using SIPB-provided php script servers and databases to accomplish this. Essentially, all dresses and users are listed in a DB, which is queried for information each time a page is refreshed or loaded. This meant all information we stored on the site had to be as consistent in structure as possible; all dresses had to have certain values (name, price, color, image url, etc.) and all users needed to be similarly represented. This also limited the amount of variation we could have for different types of dresses or items in general, as each new type of item would have necessitated a new table structure.

While we felt this was the simplest possible implementation (using client-side cookies to simulate information would have required excessive parsing), we did run into several difficulties with this backend, especially communication with the server, figuring out occasional PHP foibles, and accounting for lag between requests to the server and returned information. (The latter necessitated the implementation of a "Loading" bar.)