You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 11 Next »

Design 




a




This is the default home page. It was implemented so that there would be a default page, as before we linked directly to the user's profile (which was an unprofessional design choice at best.)




b



The next step was clicking either "Sign Up" or "Log in."  These were separated because we observed that it was common to input a username and password in the incorrect boxes on websites that display both "Sign Up" and "Log In" options on the same page.  None of our test users complained about this, so we thought it safe to implement this even though it goes against standard practice.






c


This is the home page once logged in. It displays four icons that the users may use to link to different pages: their own profile; a list of their friends' profiles; their own reading lists; and a search page for all books. This page reflects an important design choice--every page is designed to be easily adapted to a mobile device screen. Furthermore, the color scheme is a result of our previous test iterations, where it we found that more consistency and a reduced color scheme were desirable.




d




e




f




g




h




i




j




k




m

Implementation

We implemented the backend for our app with Parse, a Javascript-based backend which stores data online and thus does not require a server to be set up.

Each user stores the following arrays: friends, already-read books, currently-reading books, going-to-read books, and liked books. Books are added to the “liked” array if the user rates them more than 3 stars, and removed from it if the rating is changed to 3 or fewer stars.

Books store title, genre, synopsis, an array of comments, and an array of ratings. Comments and ratings are themselves objects. Comments store the username of the user who created the comment and the text of the comment. Ratings store the username of the user who created the rating and the number of stars the user gave.

Book recommendations are stored as objects containing the ID of the user recommending the book, the ID of the user the book is recommended to, and the title of the book.

The decisions we made for implementation did not directly affect our interface. However, because we took a long time to choose the language for our backend, and struggled to implement it, we were not able to devote as much attention to the frontend as we would have liked.

Evaluation

User 1: Elizabeth’s 11-year-old sister, who enjoys reading.

Usability issues found:

--Attempted to search by pressing Enter, which is functionality we intended to implement but did not have time to complete

--Was confused by the way in which ratings were displayed. The average rating is shown if the user has not rated a book, and she did not understand this. She also did not notice the “Average Rating” and “Your Rating” underneath the star selection.

--Accidentally clicked on the user below the one she was trying to add as a friend, indicating that perhaps the user entries are too close to one another on the page.

--Did not understand why confirmation was needed for recommendations, especially since it was not needed to add/remove friends.

--Tried to add books to the reading list by visiting the Reading List page, rather than the page for the desired book.

Reflection

  • No labels