Moon-Jumper: Difference between revisions

From Adam Colton
Jump to navigation Jump to search
Line 18: Line 18:
=== Bug List ===
=== Bug List ===
* Keep getting logged out.
* Keep getting logged out.
=== Application ===
* Add a "Remember Me"
* Sessions expire incorrectly


=== Tasks ===
=== Tasks ===
Line 23: Line 27:
* get www mapped correctly
* get www mapped correctly


=== v2 Log ===
=== Quiz ===
 
* Rebuild as Ajax
==== Must Fix for Alpha Testers ====
* When a quiz changes that user has already memorized, how to update the user
* 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
* quiz/manage
** Move search to another page
** Move search to another page
Line 40: Line 36:
** "My Courses" to "Enrolled Courses"
** "My Courses" to "Enrolled Courses"
** "Owned *" to "My *"
** "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 ====
=== Journal ===
* Render rank to homepage
* Fix timestamps
** 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 ===
=== N-Back ===
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.
* Kill it


* 1st Pass: Track down bugs and major usability issues
=== Tutorials ===
** Bells
* Email
** Aaron
* Encryption Key
** Wade
* How does quizzing work
* 2nd Pass: Start generating content and seeing how to engage users
* Memorize vs Spaced Repetition
** Lauren
* Quizzes and Curriculums
** Mikey
* Using the journal
** Rileys
* Daily Training
** Scott
* How to play DNback
* 3rd Pass: Confirm that the site functions, draws people in and performs as expected
* Creating Quizzes & Curriculums
** Dave
* Making a Quiz
** Alex
* Making a Curriculum
** Parents
* Bulk Add
** Aunt Pam
* Best practices
** Graces


=== Secondary Log ===
=== Secondary Log ===
Line 109: Line 63:
==== Journal ====
==== Journal ====
* Handle case that user has lost their encryption key
* 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 ====
==== Quiz ====
Line 166: Line 112:
==== Root ====
==== Root ====
* Change menu to select box in small format display (Hanselman hack)
* Change menu to select box in small format display (Hanselman hack)
* Remember me on this computer
* Homepage Dashboard
* Homepage Dashboard
** email address
** email address
** next 10 quizzes in backlog
** small nback graph
** journal entry page
** journal entry page
** quiz stats
** todays tasks
* 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
* 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
* Make top level menu's links
Line 185: Line 130:
** Use cookies
** Use cookies
** If user goes to a login required page, allow them to auto-login and stay on the page.
** 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 ===
=== Someday ===
Line 198: Line 138:


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.
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 ==
== Tutorials ==

Revision as of 14:33, 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

  • Keep getting logged out.

Application

  • Add a "Remember Me"
  • Sessions expire incorrectly

Tasks

  • Do not show "Add" on past days
  • get www mapped correctly

Quiz

  • Rebuild as Ajax
  • When a quiz changes that user has already memorized, how to update the user
  • 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 *"


Journal

  • Fix timestamps

N-Back

  • Kill it

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

Secondary Log

Journal

  • Handle case that user has lost their encryption key

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)
  • Homepage Dashboard
    • email address
    • journal entry page
    • quiz stats
    • todays tasks
  • 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.

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.

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