Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 4.0

Location and purpose

Bookclub is an app meant to promote reading in high school students, at an age when they can benefit academically and form healthy intellectual habits. By emphasizing the social aspect of reading, we hope encourage a social support network for these behaviors.

http://web.mit.edu.ezproxy.canberra.edu.au/cmannino/Public/BookclubFinal/Bookclub/login.html

(Tested in Firefox on both Windows Vista, Windows 7 and Mac OSX)

Goals and Strategies

During our testing and discussions, we received a lot of useful feedback which we took into account while updating our design. Because of the substantial amount of criticism we received, we reworked our design intensively while taking the following into account:

  1. Our visual and aesthetic design was the target of much criticism; while last design excluded any outside libraries other than jQuery, we chose to use Bootstrap to implement an aesthetic and consistent design. We chose to use Bootstrap over other visual libraries because of its widespread support and flexible design.
  2. We needed to implement the backend functionality to our code. At the recommendation of our TZ Katrina, we chose to implement our backend using the Parse javascript library. Although we ran into a few issues regarding the database, in the end, it worked out to be an extremely flexible and convenient library. The documentation for the JavaScript version also contained a few mistakes; although it mentioned specifically that developers needn't resave variables when updating a Parse Object, we found that updating a only one field had the side effect of deleting other fields. In order to remedy this, we reset variables that showed this symptom.
  3. At the recommendation of our testers, we changed our Recommendation interface to allow logged in users to recommend books to several friends at once.
  4. The organization of our Friends page also received a lot of criticism, in particular in the way we had chosen to separate search results from one's current friend list. In order to remedy this, we placed to clearly visible buttons on the Friends List page, that allow the user to show all friends, all students on the network, or to view the results of his search query.
  5. The "Browse by Letter" functionality of our Book Search was also deemed superfluous, given the search bar. Our tests showed that most users thought the Browse by Letter bar only encroached on valuable screen space, so we replaced it with an alphabetized, scrollable list, and instead allowed our autocomplete search bar to take the place of the old browse-by-letter functionality.

Contributions

Given the number of changes we needed to make, our group decided to divide the workload both between front-end and back-end implementations.  We worked together closely on this project, helping each other debug.  Although the following are rough categories, Hannah and Elizabeth generally worked on backend, while Paula and Carlo worked on the frontend.  However, we collaborated very closely throughout, so that although we all participated at all levels of development, we can separate our accomplishments roughly as follows:

  • Hannah: Wrote initial friends list and add/remove friend functionality, worked on ratings and recommendations with Elizabeth.  Set up Parse backend for project to use along with Elizabeth, and helped create a dynamic friends search page to avoid static pages.
  • Elizabeth: Wrote book pages and reading list functionality, implemented ratings and recommendations with Hannah.  Set up Parse backend for project to use along with Hannah, and helped make dynamic profiles to avoid using static pages.
  • Carlo: I was focused on the frontend.  I designed the homepage, page layouts and display for user profiles, as well as the icons.  I spent the bulk of my time on implementing changeable profile pictures and permissions for doing so; I also focused on displaying profile pictures on every page.  I also dabbled in the backend by updating user profile pictures in the database.
  • Paula: For the front end, I customized our bootstrap, maintained the navbar across pages, and standardized the html and css across pages. I modularized friends list page by separating the logged in user's friends from all friends, as well as implementing a search function that displays only search results in order to minimize screen clutter. On the back end, I implemented book search functionality.  I also worked on updating books and friends records.