Moon-Jumper: Difference between revisions

From Adam Colton
Jump to navigation Jump to search
Line 17: Line 17:


=== Bug List ===
=== Bug List ===
* System Time is not the correct timezone. Also, I should put the user in a timezone and adjust their journal entries for that.
* Task priority defaults to 0, should default to 3 and there should be a check that 1 <= p <= 5
* Keep getting logged out.
* Keep getting logged out.



Revision as of 02:00, 30 January 2014

Moon-Jumper is my cognitive improvement site:

http://www.wired.com/medtech/health/magazine/16-05/ff_wozniak?currentPage=all http://en.wikipedia.org/wiki/Spaced_repetition

http://colorschemedesigner.com/#2T61T6SRRw0w0 (save a copy of this somewhere)

Dev Back-Log

Bug List

  • Task priority defaults to 0, should default to 3 and there should be a check that 1 <= p <= 5
  • Keep getting logged out.

v2 Log

Must Fix for Alpha Testers

  • I added some questions to a quiz I had already taken, but they did not appear in quiz_link_user_question
  • Have a question in my deck that does not exist. I assume it was deleted. Need to add something to clean those out once in a while
  • Encoding Fiasco
    • Move database to PDO
    • Disable "enable-magic-quotes"
    • Remove stripslashes where it's used
    • TEST EVERYTHING
  • Remember Me
  • quiz/manage
    • Move search to another page
    • Change "Quiz Backlog" to "Want to Know"
    • Change "Quiz Deck" to "Already Know"
    • "My Courses" to "Enrolled Courses"
    • "Owned *" to "My *"
  • I believe that when I started a new quiz in DT where my time was <10m, I switched over to the Quiz timer. I'm also not sure I have escape logic for DT over.
  • I once observed the unseen count go negative
  • Sometimes the re-ask flag fails. I believe this has to do with the negative count
  • Need tutorials --------------
    • Email
    • Encryption Key
    • How does quizzing work
      • Memorize vs Spaced Repetition
      • Quizzes and Curriculums
    • Using the journal
    • Daily Training
    • How to play DNback
    • Creating Quizzes & Curriculums
      • Making a Quiz
      • Making a Curriculum
      • Bulk Add
      • Best practices

Move To Live

  • Start Alpha users (testers)
  • BUG: if you copy a value from session to a local variable, changes to it will not be reflected in the session. For instance, if a question is copied to a local variable and the score is updated, the new score will not persist.
  • Write tests (at least some)

Gamification

  • Render rank to homepage
    • Recent Achievements and points awarded
    • Score for next belt
    • Upcoming achievements
  • Add all belt colors
  • Start adding other achievements from list
  • Rough out a calculation for achievements (should take 1 year of regular training to reach black)
  • Check for rank change when updating user points
  • Achievements
    • Set email
    • Set Encryption key
    • Adding a quiz
    • Adding a curriculum
    • First NBack
    • First 3-back
    • First journal entry
    • First daily training
    • Daily training 3 in a week
      • 6 in a week
      • 3 in a row
    • All sorts of 'anniversaries' 10 NBacks, 100 questions, 5 quizzes...

Testers

Before the testers start, make a few of the crucial tutorials. Do some simple screencasts. Also, get a few quizzes and curriculums loaded up so that the users will have something to learn that will interest them.

  • 1st Pass: Track down bugs and major usability issues
    • Bells
    • Aaron
    • Wade
  • 2nd Pass: Start generating content and seeing how to engage users
    • Lauren
    • Mikey
    • Rileys
    • Scott
  • 3rd Pass: Confirm that the site functions, draws people in and performs as expected
    • Dave
    • Alex
    • Parents
    • Aunt Pam
    • Graces

Secondary Log

Journal

  • Handle case that user has lost their encryption key

NBack

  • Re-record NBack sounds
  • Test speakers button at start of dual NBack
  • Improve NBack Graph
    • Better data labels
    • Show after NBack
    • Show after all Daily Training NBack
  • I think it's registering Miss's even when it's registering the corresponding keypress (hard to reproduce). May be a timing issue.

Quiz

  • After editing a question, jump to that spot in the question list (good for when reviewing questions)
  • Show Curriculum in Spaced Repetition toolbar when quiz is part of a curriculum
  • When user hits save show "Saved" for 1 second then fade out
  • Quiz description as mark-down
    • Make sure links open in new tab
  • Bulk add should trim any odd-blank rows (currently inserts an empty question)
  • Only show Owned content divs on quiz manager if there is owned content to display
  • Remove old quiz management code
  • Convert questions to objects
  • For quiz training, change minimum deck size to 10
  • Put the 'repeat' function back into Spaced Repetition
  • Don't allow quiz timeout until question answered correctly
  • Customized spaced repetition
    • I am collecting data in quiz_tbl_repetition_statistics (user, accuracy, delay, correct)
    • I think I should also be collecting iteration
    • I want to find the optimal, per user curve based on that data
    • I also want an optimal general curve that users will start on until the data fills in
    • To plot this data, one dimension will be accuracy, the other will be delay, a colored dot will be placed for correct/incorrect. A separate graph needs to be made for each iteration. A clear boundary should appear (with enough data). From this we can calculate the 90% formula.
  • Have the home/cleanup page hit with a cron job once a day
  • Quiz reversibility
  • Images in questions
  • Sounds in questions
  • Make Quiz Descriptions more accessable
    • From Memorize toolbar
    • From SR toolbar
    • For quizzes from manage page
    • For curriculum quizzes from manage page
  • Question changes
    • When a user edits a question, unlink the old question and link the new one
    • Change cleanup script
    • Alert users when they start quiz training if their questions are out of date, then update
  • Move question to another quiz in curriculum
  • Add an approve step to bulk import (show q&a before they are put in the database)
  • Only display Encrypted for encrypted entries
  • View Journal entries not wrapping correctly (only when extremely long with no spaces)
  • Quiz Manager
    • Show all current quizzes in a curriculum
    • Remove quizzes in that curriculum from backlog
    • Return quizzes to backlog
    • When removing a curriculum, give the user the option to leave questions in deck
    • Let user add specific quizzes from a curriculum
    • Let user add specific questions from a quiz
  • When a user transitions a public quiz to private, warn them that any current users will still have access to the quiz
  • Add a time limit for quizzes (this is sort of necessary for basic math quiz)

Root

  • Change menu to select box in small format display (Hanselman hack)
  • Remember me on this computer
  • Homepage Dashboard
    • email address
    • next 10 quizzes in backlog
    • small nback graph
    • journal entry page
  • A tutorials menu may not be optimal, perhaps a sub menu on each other menu, or one item on Moon-Jumper with sub-sub menus
  • Make top level menu's links
  • Allow users to customize their daily training settings
    • Handle home/trainingSettings
    • Check that trainingTime is a number
    • Issue a warning if training time is to short
    • Estimate how much time will be spent on quizzing
  • Add a reminder to the homepage for quizzes&curriculum (if backlog empty)
  • for confirm email, pass in both email and hash, match both to confirm (instead of just hash)
  • Put a floating box in the upper corner for daily training ("Continue Daily Training") link to next step.
  • Auto Log-in
    • Use cookies
    • If user goes to a login required page, allow them to auto-login and stay on the page.

Gamification

  • Animate adding points
  • Add the "incrementing" sound
  • Animate level up with sound

Someday

  • Send questions to front-end using Ajax and have JavaScript handle the whole quiz, sending data back as you go.
  • Focus monitoring
  • Learning profiler (audio, visual, graphs, numeric, words)
  • Look into grants

The learning curve follows a pattern of 1-e^(-Ax - B), plug it into a graph and you'll see. Right now, most of my data for first review is clustered so tightly, that it only shows up as a straight line, but N =3 and 4 is starting to show a curve. I need to get a lot of data and many, many users before I can start on this. Eventually I should be able to get a really good general formula, and start to get custom timing for each user.

Marketing

  • Ask friends and family to spread the word
  • Research marketing
  • MSU
    • Find most taken classes and build content targeting them
    • Put up fliers posters, take out ads
    • Create a short cut to get users up and running quickly (QR code?)
  • High-School
    • Quiz Bowl teams
    • Talk to my former teachers
  • Web
    • Find sites/blogs that could be interested:
      • Life-Hacker
      • BoingBoing
      • Reddit
    • Try to get them to cover the site

Tutorials

Need To Know

  • Email is for login and recovery only
  • Regular training is necessary for memorization

Basic

  • What is spaced repetition
  • What is Dual N-Back
  • How to journal
  • Moon-Jumper journal app
  • What is a curriculum

Theory

  • How is MJ different (memorization/training)

Intermediate

  • How to add a Quiz or curriculum
  • Journal Encryption

Advanced

  • Making good quizzes
  • Making good curriculum