Design
Describe the final design of your interface. Illustrate with screenshots. Point out important design decisions and discuss the design alternatives that you considered. Particularly, discuss design decisions that were motivated by the three evaluations you did (paper prototyping, heuristic evaluation, and user testing).
Implementation
As a web application, our project was implemented with HTML, CSS, Javascript and JQuery (and JQuery UI) on the front end. For the back end, we used the Python framework, Flask. While all the pages are written with HTML and formatted with CSS, most of it is generated on the server side with Flask and Jinja2 templating. Through the use of Flask and Jinja templating, we were easily able to make each page within our site inherit a set of properties, notably the header bar that included the BrackeTracker logo and icons. Similarly, all the tournament (active, create, and join) pages were generated on the server side with the relevant tournament information. Any of the changes on the page that were made after being loaded were dynamically updated with Javascript and Jquery, while simultaneously sending the updated information to the server in order to persist the data. For instance, booting a player would use Javascript to bump the user down on the member-list sidebar then make an AJAX call to the server telling the server of that change. We persisted the data on the server, with the Python Shelve module instead of implementing a full database. For the small scale of the project, Python Shelve worked better than a database would have. With only a single user, the amount of stored data would be minimal. Python Shelve allowed us to store Python objects in a mock database. These Python objects stored the states of each Tournaments (information such as name, description, members, etc) and the Notifications on the home page.
One of the design choices we made during the implementation was to only implement one type of interactive. We decided that this would be sufficient because the different tournaments are similar enough in concept that fully implementing the interface for a single tournament type would illustrate how to interact with the other tournaments types as well. While this design does not allow the user to explore every possible scenario that a fully implemented site would offer, it does allow the user to experience one course of action (for that given task) fully.
Another design choice was that we did not implement user accounts. While this does limit the amount of social interaction user would have on this site, it does not prevent the user's experience for the main tasks. While many of the possible tasks in the site are social, these are not the primary focus of the site's interface. Our implementation has a single user, and supplies enough scenarios to give that single user the experience of the three defined user types (i.e., tournament administrator, player, and administrator+player).
Describe the internals of your implementation, but keep the discussion on a high level. Discuss important design decisions you made in the implementation. Also discuss how implementation problems may have affected the usability of your interface.
Evaluation
Describe how you conducted your user test. Describe how you found your users and how representative they are of your target user population (but don't identify your users by name). Describe how the users were briefed and what tasks they performed; if you did a demo for them as part of your briefing, justify that decision. List the usability problems you found, and discuss how you might solve them.
User Testing Description:
- Briefing
- Competing against friends is fun, but putting together a formal tournament is often a tedious task. Organization through methods such as email and Google Docs, or even paper and pencil are time-intensive and have low degrees of automation. BrackeTracker is a site that aims to fix this issue by streamlining the creation, upkeep, and management of these competitions. On our site, you will be able to create tournaments, invite your friends to them, visualize the progress of tournament members, and keep track of match outcomes, head-to-head records, and more. Through use of our site, we hope to help take the hassle out of tournament organization so you can spend more time playing and less time worrying!
- Scenario Tasks
Create a Tournament
Search for/Join a Tournament
Update a Tournament
Manage a Tournament
View a Tournament
Create a round robin tournament with your friends Moe and Curly
Join the "Office Ping Pong" Tournament
You have completed your match against Moe. Update the score in the tournament
Make Curly an Admin for the tournament and then boot Dave from the tournament
Check the status of the "Office Ping Pong" tournament
- Observations of Usability Problems & Possible Solutions
User |
Usability Problems/Points of Confusion |
Possible Design Changes |
---|---|---|
User 1 |
|
|
-
- No changes |
User 2
- Create a Tournament
- same issues as User 1
- No changes |
- Search for/Join a Tournament
- No problems
- Update a Tournament
- same issues as User 1
- Manage a Tournament (make admin/boot player)
- No problems
- View a Tournament
- Overall-Itwasn'timmediatelyobviousthatthetournamentsdisplayedonhomepagewerehisowntournaments. Didn'treallyreadthe"Yourtournaments"labelbecausetextwasrelativelysmall
No problems
- Overall-Itwasn'timmediatelyobviousthatthetournamentsdisplayedonhomepagewerehisowntournaments. Didn'treallyreadthe"Yourtournaments"labelbecausetextwasrelativelysmall
- Other
-
- It wasn't immediately obvious that the tournaments displayed on home page were the users' own tournaments. Missed reading the "Your tournaments" label because text was relatively small. | * Create a Tournament
- Re-locate "Create Tournament" button closer to the top of the page.
- indicate with instructions that names must be comma delimited
- Search for/Join a Tournament
- no changes
- Update a Tournament
- Although there was some confusion,
- Overall - after a few minutes everything seemed to make sense. Implied that after learning how to do it once with a little trial and error, it would be very easy the second time around.
- Manage a Tournament
- no changes
- View a Tournament
- no changes
- Other
-
- no changes |
User 3
- Create a Tournament
- Problem locating "Create Tournament" button at the bottom of the page. Thought it should/would be at the top of the page next to the Tournaments label. (Monitor was fairly large resulting in little content at the bottom of the page, so eyes were not drawn to tournament button).
- When inviting members, user expected that pressing "Enter" on the keyboard would result in adding another member. However, the names had to be comma delimited
- no changes |
- Search for/Join a Tournament
- No problems
- Update a Tournament
- Thought that check boxes on the side panel had to be marked to update the players' score, resulting in slight confusion when there was no visible change. Quickly recovered as soon as he hovered over the round-robin matches matrix. No problems with the score input.
- Manage a Tournament (make admin/boot player)
- No problems
- View a Tournament
- No problems | * Create a Tournament
- Re-locate "Create Tournament" button closer to the top of the page.
- indicate with instructions that names must be comma delimited
- Search for/Join a Tournament
- no changes
- Update a Tournament
- Although there was some confusion,
- Overall - after a few minutes everything seemed to make sense. Implied that after learning how to do it once with a little trial and error, it would be very easy the second time around.
- Manage a Tournament
- View a Tournament
- * Don't have affordances that do nothing.
- What do all the icons in the header bar do? i.e. Is the logout button going to turn off my computer? |
User 4
- Create a Tournament
- Problem locating "Create Tournament" button at the bottom of the page. Thought it should/would be at the top of the page next to the Tournaments label. (Monitor was fairly large resulting in little content at the bottom of the page, so eyes were not drawn to tournament button).
- When inviting members, user expected that pressing "Enter" on the keyboard would result in adding another member. However, the names had to be comma delimited
- Search for/Join a Tournament
- No problems
- Update a Tournament
- Thought that check boxes on the side panel had to be marked to update the players' score, resulting in slight confusion when there was no visible change. Quickly recovered as soon as he hovered over the round-robin matches matrix. No problems with the score input.
- Manage a Tournament (make admin/boot player)
- No problems
- View a Tournament
- No problems
| * Create a Tournament - Re-locate "Create Tournament" button closer to the top of the page.
- indicate with instructions that names must be comma delimited
- No problems
- Search for/Join a Tournament
- no changes
- Update a Tournament
- Although there was some confusion,
- Overall - after a few minutes everything seemed to make sense. Implied that after learning how to do it once with a little trial and error, it would be very easy the second time around.
- Manage a Tournament
- View a Tournament
- * Don't have affordances that do nothing.
- What do all the icons in the header bar do? i.e. Is the logout button going to turn off my computer?
| - Create a Tournament
- Problem locating "Create Tournament" button at the bottom of the page. Thought it should/would be at the top of the page next to the Tournaments label. (Monitor was fairly large resulting in little content at the bottom of the page, so eyes were not drawn to tournament button).
- When inviting members, user expected that pressing "Enter" on the keyboard would result in adding another member. However, the names had to be comma delimited
- Search for/Join a Tournament
- No problems
- Update a Tournament
- Thought that check boxes on the side panel had to be marked to update the players' score, resulting in slight confusion when there was no visible change. Quickly recovered as soon as
Reflection
Discuss what you learned over the course of the iterative design process. If you did it again, what would you do differently? Focus in this part not on the specific design decisions of your project (which you already discussed in the Design section), but instead on the meta-level decisions about your design process: your risk assessments, your decisions about what features to prototype and which prototype techniques to use, and how you evaluated the results of your observations.
slkdjf
asldkjf