-
Notifications
You must be signed in to change notification settings - Fork 1
/
TODO.txt
126 lines (101 loc) · 3.64 KB
/
TODO.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
Priority
--------
- use virtualenv on the server and update README
- add http://cleverdeck.com/ to similar projects
User features
-------------
- pronounce words with Forvo or Google Translate
- word queue for words to be learnt
- word pairs should have a direction (->, <- or <->)
- setting for queue labels
- add word pair, import word pairs
- setting for automatically removing N words from each queue each day
- "Activate words" page {0:30}: "Add [10] word pairs from queue [q1]. <button>DO</button>"
- mechanism for sharing dictionaries
- importing/exporting CSV/JSON files
- showing "(n)" when having multiple occurrences of the same word
- import word pairs should display the number of word pairs added
User features: motivation
-------------------------
- Log events into Riak
- stats:
- number of hits and misses
- number of active users
- future: only show important dictionaries
- gamification, earn points, badges
- show my future: consider new words and negative answers
User features: teaching
-----------------------
- teachers can add words for students
- teachers can access statistics of relevant dictionaries of students
- online tests, generate offline tests
Practice page
-------------
- sorting the dictionaries
- automatically jump to the next dictionary at the end of practice
- more keyboard shortcuts
Practice page 2.0
-----------------
- the server remembers everything (word list for the day)
- the client has a buffer of 200 words
- the client is notified when a word is added or changed
- undo: the server and the client remember even operations
- edit words within the page
- question: when to ask failed words?
- Practice page: different button size settings for mobile/desktop?
Practice algorithm
------------------
- implement advanced "strength/next date calculation" (strength2 = strength1 +
dimness_today; date2 = date1 + 2^strength1 * dimness_today)
- practicing selected words should use this method too
- early practice: it should ask "do you want to go on?" after finishing the
practice
- add SuperMemo/Anki ideas
- use special labels, e.g. "!sm2" for using SM-2 on a word pair
- use 6 days as second interval (label "!6")
- use easyness factor (label "!ef")
- stats about the effectiveness of the algorithm
- percentage of YES/NO answers (per word strength)
- retention rate (per word strength)
Settings
--------
- setting for setting the basic font size
- Search&Operations page: show dimness optionally
- setting for whether to show tomorrow's dimness, label, etc. on the practice page
Design
------
- redesign the design (http://24ways.org/2012/how-to-make-your-site-look-half-decent/)
- bootstrap -- design, http://www.statsmix.com/ http://www.gameanalytics.com/ - nice design
- http://engineering.appfolio.com/2012/11/16/css-architecture/
- settings page: group the settings (e.g. a "Practice page" group would be good)
Other
-----
- announcement: %USER, link to unsubscribe
- when selecting a dictionary on "Search&operation" page, show only the labels
present in this dictionary
- bug: reset buttons does not work well after midnight
Help
----
- FAQ: word order
- document "Import text" format
- help pages: "user" -> you - ask others' opinions
- add more "help for this" text
- help: add screenshots
- link to Brainscape
Server
------
- undelivered email
- email backup
- Investigate the Opera problem further
- Add outlog and errlog to cgi start
- nginx caching
- XHTML validation
- HTTPS
- use postgresql
Code style
----------
- think about CR and LF newlines
- using JQuery delegates
- using only relative links (HttpResponseRedirect)
- don't bind the forms
- write automatic tests