Dagelijks typen oefenen: hoe onze reeksen werken zonder dat je opbrandt

Dagelijks typen oefenen werkt het best als het dagelijkse minimum klein is. Op deze site vraagt een reeks één gevalideerde test per UTC-dag, en een test van 30 seconden telt even zwaar als een uur. We hebben het zo gebouwd omdat een reeks je moet laten terugkomen zonder een klus te worden waar je een hekel aan krijgt.

De functie waarover we het langst hebben gediscussieerd, was niet de racebaan of de fraudedetectie. Het was de reeks.

Reeksen werken. Iedereen die een taalapp heeft gebruikt, kent ook het gevoel om hem om 23.50 uur te openen om één zin te typen zodat het getal niet terug naar nul gaat. We wilden het eerste zonder het tweede. Hier zijn de beslissingen, met de getallen, zodat je zelf kunt beoordelen of we het goed hebben gedaan.

Wat telt mee voor een typreeks?

Een reeks is het aantal opeenvolgende dagen met minstens één gevalideerde test. Eén. Een sessie van vier minuten verlengt hem net zo goed als een uur, en niets wat je later op de dag doet verandert er iets aan. De zenmodus telt niet mee, omdat zenresultaten nooit worden geüpload en we niet wilden dat een modus zonder meting een gewoontemaat zou dragen.

Dagen zijn UTC-dagen, de beslissing waarover we de meeste vragen verwachten. De redenen, en de prijs, staan verderop.

Het duwtje, en wat het niet doet

Is je laatst meegetelde dag gisteren en heb je vandaag nog niet getypt, dan is de reeks "in gevaar", en het reekslabel op de startpagina zegt dat. Dat is het hele duwtje. Er is geen melding, geen e-mail, geen rood bolletje op een pictogram, tenzij je je hebt aangemeld voor de wekelijkse samenvatting, die je reeks één keer per week noemt in een regel gewone tekst.

Dit was bewust, en het kost ons waarschijnlijk wat terugkerende bezoekers. Pushmeldingen over een verloren reeks zijn een gangbaar middel in gewoonte-apps om mensen terug te halen, en in onze ervaring een van de meest gehate. Ons plan zei "geen meldingen over verloren reeksen tenzij je je aanmeldt", en daar hebben we ons aan gehouden.

Komt er een resultaat binnen met een datum vóór je laatst meegetelde dag (een verkeerd ingestelde klok op je laptop, een offline resultaat dat laat synchroniseert), dan tellen we de test mee en laten we de reeks met rust. Een afwijkende klok mag niemand honderd dagen kosten.

Hoe XP en levels worden berekend

XP is de munteenheid voor oefentijd. Het is bewust geen rangschikking, om redenen die later komen.

Voor elke gevalideerde test buiten de zenmodus:

  • De basis-XP is 2 per seconde actief typen, geschaald met de nauwkeurigheid. Dertig seconden op 95% is 57 XP. "Actief" betekent de meegetelde duur min de seconden dat je niet achter het toetsenbord zat, dus het tabblad open laten staan levert niets op.
  • De meegetelde tijd is begrensd op 600 seconden per test, dus een test van dertig minuten levert dezelfde basis op als een van tien minuten en marathons gaan niet overheersen.
  • Vermenigvuldigers worden bij elkaar opgeteld: +50% voor 100% nauwkeurigheid, +50% voor een citaattest, +40% met leestekens aan, +10% met cijfers aan. Een perfect citaat met leestekens loopt op 2,4×.
  • Vaste bonussen: +50 voor de eerste test van de UTC-dag, +50 voor een poging op de dagelijkse uitdaging, +25 voor een race en nog eens +25 als je hem wint, +20 voor een persoonlijk record.

Levels volgen een geleidelijke curve: de XP om van level L naar L+1 te gaan is 100 × L^1,3. Opgeteld bereik je level 2 na 100 XP, level 5 na ongeveer 1.370, level 10 na ongeveer 7.700, level 20 na ongeveer 40.300 en level 50 na ongeveer 343.000.

Om level 50 in oefentermen uit te drukken: een perfecte test van 30 seconden levert 90 XP op vóór bonussen (60 basis, plus 50% voor perfecte nauwkeurigheid), dus het zijn er ongeveer 3.800. Een kwartier per dag op 95% nauwkeurigheid levert met de bonus voor de eerste test ongeveer 1.760 XP op, waarmee je level 50 in ruwweg zes à zeven maanden haalt. Level 100 vraagt ongeveer 1,7 miljoen XP. De levelnamen lopen van Nieuweling via Typist, Toetsensmid en Woordsmid naar Legende op 50 en Onsterfelijk op 100, en ja, de top van die lijst is expres een beetje gek.

Als gast past je browser dezelfde regels toe op een lokale kopie. Inloggen is wat een reeks en een dagelijkse rangschikking aan een account koppelt, en als je inlogt met een nieuw account wordt de lokale voortgang één keer samengevoegd, tot maximaal 5.000 XP, 500 tests en een reeks van 30 dagen. Die grens bestaat zodat het samenvoegen niet kan worden gebruikt om een record te fabriceren; daarom is een ingelogd account ook de enige weg naar een badge voor 100 dagen.

Mijlpalen voor reeksen liggen op 3, 7, 14, 30, 60, 100, 180 en 365 dagen, met badges op 3, 7, 30, 100 en 365. De badge voor 365 is de badge waarvan we verwachten dat bijna niemand hem haalt, en daar is hij ook voor.

Waarom de reeks zo is gebouwd

Vijf regels bepalen de reeks. Elke regel kwam voort uit de vraag wat een gewoontemaat zou moeten belonen.

Geen punten voor volume in de ranglijsten

XP meet bestede tijd, dus het beloont volume. Neem twee typisten. De een typt 60 WPM en doet één test van 30 seconden per dag met 98% nauwkeurigheid, wat ongeveer 59 XP oplevert, plus de bonus van 50 voor de eerste test, dus ruwweg 110 per dag. De ander typt 45 WPM en oefent een kwartier per dag op 95%, wat ongeveer 1.760 oplevert. De tragere typist verdient zestien keer zoveel.

Dat is het juiste antwoord voor een oefenvaluta, omdat tijd aan de toetsen is wat oefenen nodig heeft. Het is het verkeerde antwoord voor een rangschikking, die moet zeggen wie het snelst en het schoonst typt. Een XP-ranglijst zou de tweede typist bovenaan zetten, en de manier om erop te klimmen zou zijn: minuten toevoegen.

Dus rangschikt XP nooit iemand. De ranglijsten rangschikken snelheid, met een ondergrens voor nauwkeurigheid; XP staat bij je resultaten en op je profiel, nooit op een ranglijst. Dezelfde logica bepaalt het resultatenscherm van de race: plaats, WPM en nauwkeurigheid komen eerst, en de XP-regel staat klein eronder.

Niets te koop

Er is geen munteenheid om uit te geven, geen winkel, geen cosmetische upgrade en niets wat vervalt als je niet inlogt. Een reeks is een overzicht van de dagen waarop je hebt geoefend. Zodra een deel ervan te koop is, betekent het getal "geoefend, of betaald", en vertelt het je niets meer. Een winkel geeft de site ook een reden om je bang te maken voor het verliezen van voortgang, want angst is wat bescherming verkoopt. Die prikkel wilden we niet in de code.

Geen geschiedenis achter een betaalmuur

Je geschiedenis is onbeperkt en gratis, en de reeks hangt nooit af van iets waarvoor je zou betalen. De reeks bestaat om de trend over 90 dagen op je geschiedenispagina op te leveren, en die grafiek is de enige eerlijke toets of de gewoonte werkt. Oude resultaten wegsluiten zou juist het plateau verbergen dat je het meest moet zien.

Geen verliesscherm

Als een reeks breekt, en dat gebeurt, staat er 1 op het label en blijft je getal voor de langste reeks staan. Er is geen aanbod om hem te herstellen.

Onderzoek naar gewoontes pleit ervoor hier mild te zijn. In een onderzoek van University College London onder leiding van Phillippa Lally duurde het vormen van een nieuwe gewoonte gemiddeld 66 dagen bij de deelnemers die de onderzoekers konden modelleren, en één gemiste gelegenheid "did not significantly impact the habit formation process" (had geen significante invloed op het vormen van de gewoonte). Wie een gemiste dag als een ramp behandelt, leert mensen dat de gewoonte breekbaar is, en sommigen stoppen liever dan opnieuw bij 1 te beginnen.

We overwogen een "streak freeze" (reeksbevriezing) zoals taalapps die verkopen, en besloten dat een verloren reeks laten voelen als een gemiste aankoop precies was wat we niet wilden bouwen.

UTC-dagen

De dagovergang moet voor iedereen dezelfde zijn, anders kunnen de ranglijsten en de dagelijkse uitdaging die niet delen. Met lokale tijd zou het citaat van de dag voor elke bezoeker op een ander moment wisselen, en zou de lijst "snelste van vandaag" verschillende dagen vergelijken. UTC is de enige grens die een server kan berekenen zonder het de browser te vragen.

De prijs is dat voor een typist in Californië de dag om 16 of 17 uur omslaat, en voor een typist in Delhi om 5.30 uur. We overwogen een uurverschuiving per account en besloten het in de eerste versie niet te doen: het voegt een regel toe die uitgelegd moet worden, en een reeks die een alinea uitleg nodig heeft, is al aan het verliezen. Het aftellen bij de dagelijkse uitdaging toont hoeveel tijd er nog over is van de huidige dag. Komen we hierop terug, dan wordt het een eenmalige verschuiving, en zal deze notitie dat vermelden.

Hoe vaak moet je typen oefenen?

Leg het minimum laag. Een reeks die een kwartier vraagt, sterft op de eerste drukke dag; op een slechte dag is één test van 30 seconden genoeg. Het oefenplan van 40 naar 80 WPM is hierop gebouwd: de volledige sessie duurt een kwartier, de ondergrens is één test.

Jaag niet om middernacht op de bonus voor de eerste test. De +50 bestaat zodat een korte sessie de moeite waard is, niet zodat je opblijft. Is het 23.55 uur UTC en ben je moe, dan is de reeks minder waard dan de slaap.

Gebruik de dagelijkse uitdaging als standaardsessie. Het is één citaat, het duurt meestal minder dan een minuut, en de ranglijst ervan begint elke dag opnieuw, dus de top is bereikbaar. Gamificationontwerper Yu-kai Chou maakt hetzelfde punt: "A standard first-place-to-last-place ranking only energizes a small group near the top" (een standaardrangschikking van eerste tot laatste plaats motiveert alleen een kleine groep bovenaan), en hij raadt aan het opnieuw beginnen af te stemmen op hoe vaak mensen iets doen, dagelijks voor frequente handelingen.

Kijk naar de trendlijn, niet naar de reeks. De grafiek over 90 dagen op je geschiedenispagina is waar de reeks voor dient. Gaat de lijn omhoog, dan heeft de reeks haar werk gedaan, ook als ze breekt. Is de lijn een maand vlak, dan houdt de reeks je aan het typen zonder dat je sneller wordt, en dat is het signaal om de oefening voor zwakke toetsen te openen bij oefenen in plaats van de gebruikelijke test.

Waar we op letten

We hebben nog geen gegevens over terugkeer om te publiceren. Zodra we die hebben, is de vraag of mensen die een reeks van 30 dagen volhouden volgens de trend over 90 dagen sneller worden, of alleen een reeks volhouden. Is het het tweede, dan klopt het ontwerp niet, en de eerste verandering zou zijn om de dagelijkse uitdaging het ding te maken dat meetelt.

Veelgestelde vragen

Hoe vaak moet ik typen oefenen?

Weinig en vaak werkt beter dan af en toe een marathon om een gewoonte vast te houden. Onze reeks vraagt één gevalideerde test per dag, en het oefenplan stelt een kwartier voor als je dat hebt en één korte test als je dat niet hebt.

Wanneer begint de dagelijkse reeks opnieuw?

Om middernacht UTC. Het aftellen bij de dagelijkse uitdaging toont hoeveel uur er nog over is van de huidige UTC-dag, zodat je kunt zien wanneer "vandaag" eindigt, waar je ook woont.

Heeft de dagelijkse uitdaging perfecte nauwkeurigheid nodig?

Nee. Je kunt zo vaak spelen als je wilt en je beste run telt, maar een run komt alleen op de dagranglijst bij 90% nauwkeurigheid of beter.

Bronnen