GR6 - User Testing
Design
TODO: Screenshots
On the left there is a column with various stream categories. Clicking on these labels will bring up a thumbnail (screencap, name, user) view of the live streams from that category. Some categories have subcategories; clicking on these categories causes the left panel to update with the subcategories.
On the top right there is a search box. Typing search terms into the box and then pressing enter brings up a thumbnail view of the streams that match the search. If no streams are found, a message saying that no streams were found appears instead.
Clicking on any of the streams in the thumbnail view takes the user to the embedded player for that stream. Underneath the embedded player is the description of the stream.
Whenever the user watches a stream, the stream thumbnail appears in the bottom "viewing history" panel. The streams here are ordered from most recently watched to least recently watched. Clicking on any stream in this panel takes the user to the embedded player.
Implementation
StreamBrowser is implemented mostly in javascript with some php. Everything is implemented in one page, and different things are ajaxed in and out based on the request that is sent. Finding the streams are done by making calls to third party sources (currently, only justin.tv api). The viewing history is stored as a cookie on the user's browser. This allows the history to work without having to go through a login system, but on the other hand if a user has multiple computers then the viewing history will not go with them. Since users usually don't want to make new accounts for small features, we feel this is a good tradeoff. It would still be possible to implement a login system later.