WhereWeBreathe Planning
June 15th status of WhereWeBreathe design process:
This document is in progress; it needs:
- all the latest design decisions
- wireframes, etc copied in
- merging of the top and bottom docs, or cleaning up of the one with time estimates and replacing the top one with it
Time estimates:
- Setup & communication: 39h
- Site architecture and database design: 22h
- Template coding, form and graph implementation: 76h
- User login, security & privacy: 52h
WhereWeBreathe
Public Lab is collaborating on a project to enable people facing indoor formaldehyde air contamination to better understand the effects of exposure, exacerbating variables and potential mitigation techniques. Participants can advance and collectivize scientific knowledge of chronic formaldehyde exposure's effects by selectively sharing health and symptom information with others experiencing similar issues. The site will feature a series of questions related to exposure and symptoms, and site users will be able to tell their stories and exchange information with others, anonymously if they wish.
Tech stack
We are planning for a Node.js website with:
- express framework
- mongo database with Rails-like mongoose ORM (see https://github.com/publiclab/infragram-js for an example)
- user authentication
- Bootstrap interface with mobile (fluid) layout: http://getbootstrap.com
- graphs with d3 or flot (probably d3)
https://github.com/publiclab/wherewebreathe/issues
Web development phases
1. Setup & communication
- minimum viable product: what features the MVP has, wireframes of interface, details about current desired survey questions/data to go into the database
2. Site architecture and database design
- sitemap (insert here)
- MVC data models, futureproofing & planning for future possible PublicLab.org integration
- database scalablity and how we store answers to questions.
- possible anonymous aggregate database download formatting in both conventional csv/excel and custom plaintext for analysis in stata
3. Template coding, form and graph implementation
Basic look & feel
Very minimal page w/ header & footer, following this design:
With 2 columns of useful links or information in the footer, with plenty of extra space, as on PublicLab.org; light grey on white.
Dashboard
- we will simply display questions instead of having a "dashboard", for phase I - see https://github.com/publiclab/wherewebreathe/issues/1 and https://github.com/publiclab/wherewebreathe/issues/3
- A modal "welcome" box if you've just signed up to be friendly and orient first-timers. Also perhaps a status box (can defer to Phase II) with how many questions you've answered, tips or suggestions for next steps.
Question form
- https://github.com/publiclab/wherewebreathe/issues/8
- survey: based on: https://github.com/publiclab/wherewebreathe/issues/4
- current survey draft can be found here: https://docs.google.com/forms/d/1BvjKvH5dUFNjhhDdA4NNtsTHiXgurjJN3-c72mcrvFM/viewform?usp=send_form
- UI/UX testing/review of question form
- this is something we can do somewhat informally, as the more serious UI/UX review could be after this beta project is launched, and could feed into Phase II revisions later.
Current mockups: none for question form, but can follow questions in draft survey above, and visual style established in signup page below.
Graph and narratives display
- still ongoing in design phase, but https://github.com/publiclab/wherewebreathe/issues/8
- privacy settings page [need more info] https://github.com/publiclab/wherewebreathe/issues/2
- likely d3, aggregate data serving and display for different question types
- privacy review: what info is actually exposed in this graph? Can individual contributor information be deduced? Down-res'ing
Current mockups:
4. User login, security & privacy
- signup page design process: https://github.com/publiclab/wherewebreathe/issues/7
- username & password creation & recovery
- security/privacy - both integration of security preferences into sign up, and the security of the database (mostly latter)
- UI/UX testing/review of registration
- run through the signup process and "new user experience" a few times with varying types of users
Current mockups:
Beta production server setup
- we have VMs available via our hosting provider and a donation from Rackspace... mostly this will be meeting/communicating with Dogi our sysadmin and getting login credentials, installing packages etc.
- security/privacy audit if possible