⬆️ ⬇️

Interval reps "in the pocket"



An article about a program (iOS) for memorizing English words using the interval repetition method, which takes into account your daily routine.



At habrahabr several times already covered the question of the method of interval repetitions for memorizing information: habrahabr.ru/post/246459 , habrahabr.ru/post/196448 , habrahabr.ru/post/240451 . In short, interval repetitions are an approach to storing information, which consists in repeating the material under study at certain constantly increasing time intervals (for example, after 5 minutes, then after 25 minutes, then after 2 hours, etc.).



How did you get the idea to create an application



About a year ago I decided to apply this technique (interval repetitions) to memorizing English words, since reading documentation, articles in English often feel the lack of vocabulary. First I started looking for completely ready solutions. I needed a program for a mobile phone, because he is always with me and I can repeat the words at any time. My search was not successful. Programs that I found either required the creation of a database with words on their own, were too costly (Anki), or had, in my opinion, insufficient functionality in terms of implementing repetitions.

')

Not finding the finished program, it was decided to write my own, which will fully meet my requirements:





And I began to write the cherished program. There was already a little programming experience under iOS, so there was no oscillation with the choice of the target platform. The development of the program took 8 months, mostly in the evenings after work. And now I'm finally ready to share the results with you.



Distinctive features of the application



The main difference between my program and its analogs is keeping track of your daily routine. You can indicate to the program the time intervals when you cannot study words: sleep, lunch at work, playing sports, etc. At specified intervals, the program will not disturb you with a reminder to repeat the words. Moreover, based on the time limits, the time will be calculated when you can learn new words. This feature is best illustrated by the following example. Suppose you set a time limit for sleep: 23: 00-06: 30 for each day of the week. Suppose also that the repetition intervals are: 30 minutes, 2 hours ... You start learning a new word at 22:59, the time of the first repetition comes at 23:29, the second at 01:29. At this time you will most likely fall asleep, the repetition will be considered overdue. To prevent such a situation, the program limits the time for learning new words (words can be repeated at any time). For the above example, the program will prohibit learning new words after 20:30.

image




The program offers a choice of several different methods of interval repetitions: according to Pemsler, Ebbinghaus, and others. I do not dare to judge which of them is the most effective, but by default I chose the Peamsler method, since he used interval repetitions as applied to the study of foreign languages.





Interaction with the program is quite simple: you see the word, its transcription and translation. Each word can be voiced (I use the speech synthesizer built into iOS, which significantly reduced the size of the application). When you study a new word, two actions are available to you: either you will repeat this word in the future, or you already know it (you will not repeat it).





In the case when you repeat a previously learned word, you tell the program whether you remember it or not. In accordance with this information, the program will decide on the next repetition time.





For car owners there is a special mode. Just put the phone under the windshield of the car and turn on the projection mode (HUD): the words will be visible in front of you on the windshield - you can see both the road and the words.





When the time comes to repeat the word, the program will notify you about it (local notifications are created):









Third Party Products



To track down the crashes of the application, I built Crashlytics (registration on the site takes several weeks, the service is free). Also, this service allows you to organize beta-testing applications. Everything is implemented extremely convenient. For myself, I created a small cheat sheet for adding a device to the list for AD HOC distribution:

  1. Get udid devices
  2. Go to developer.apple.com to the section Certificates, Identifiers & Profiles -> Devices -> All
  3. Click on +
  4. Enter the Name (any, the main thing to make it clear what this device is and to whom it belongs) and UDID, click Continue
  5. Click Register
  6. Go to Provisioning Profiles -> Distribution
  7. Select the profile that is used to distribute AD HOC -> click Edit
  8. In the Devices section: put the checkbox in front of the newly added device
  9. Click Generate
  10. You can download the profile to your computer (OPTIONAL), click Done.
  11. Go to Xcode
  12. Xcode -> Preferences -> Accounts -> Select the desired id -> Double click on Name




In addition to Crashlytics, this January I began to use the TestFlight service for beta testing. Its undoubted plus in the number of testers: 1000 external testers and no need to collect udid devices (respectively, when adding a new tester you do not need to recompile the application). Here is a good article on how to use this service: iOS 8: Beta Testing with TestFlight



For the collection of statistics used Flurry (free service). At the moment I'm interested in the effectiveness of each method of interval repetitions, I will try to evaluate it in relation to the number of clicks on the buttons “I remember”, “I do not remember”.



To record emerging ideas for improving the application, help texts, TODO list, I used the Google Docs service: from a mobile phone — in order to not lose the thought, on the computer in the evenings — just convenient.



Icon



On the icon, I wanted to show that memory “mechanisms” are used to memorize words - I found an idea that was good for me - a human head with a gear instead of a brain (it is convenient to look for icons on IconFinder ). The background of the standard icons for language learning applications is two flags: English and Russian.



In the Xcode project, the application created three goals: alpha (compiled directly to the device), beta (not compiled to the device, the application is assembled through product -> archive and then distributed through the Crashlytics beta testing service) and the final version for the store (largely repeats beta version, also used for beta testing via the TestFlight service). Accordingly, all three versions of the application can be installed on the device at once:





So that these versions can be easily distinguished from each other, Alfa and Beta masks for icons were created (I share them with you).



Bugs



The version control system of Xcode does not accept the path in Russian with the letter “d”. Solution: replace “d” with “and” in folder names. After that, files are successfully added to the version control system.



Instead of output



If you have not just an idea, but a solution to any of your problems, and this solution is more convenient for you personally than the ones already created - perhaps your product has a chance of success. I hope that my application will be useful for someone.



Promo codes



Promo codes for the “Repeat and memorize English words with SpacedRepetitionApp” application :

964H7HWJJKET

NL3MNNMJR3EJ

KFJPKT3NPFXY

EXJEAWL44XXJ

KTLAEF3363N3

EHPKEERT44FT

WYPKF7EE7PXW

T9JPPXYY4YWR

64T6HXLKFNHR

KMYKP7RNATYP

F4XJLT77PM9E

43T3HAXTN7L3

7KW6FWT3FJTN

PAFKMYM3XL4A

LTPWYNNE64EY

PAPM3PNTM3HW

4ATX4F6ELHA7

EAJFK39XJHTM

3PKJYLHRX7HN

6J977N49PKR6



UPD - April 24, 2015

Additional promotional codes:

tokn.co/an9hn2gh

tokn.co/wjvd8hs6

tokn.co/jsb5tpct

tokn.co/m2u9zcyc

tokn.co/sq2yf7xa

tokn.co/tmfk3hqj

tokn.co/vr539bu7

tokn.co/g3ea6fwy

tokn.co/zxd8c42k

tokn.co/24mes3zp

tokn.co/hphcgcmv

tokn.co/bza65b99

tokn.co/fgngkh32

tokn.co/y63zq2dw

tokn.co/9fzb238x

Source: https://habr.com/ru/post/250031/



All Articles