Strobe starts with a base interval set by your WPM, applies adjustments for word length, punctuation, compounds, acronyms, and complexity, then shortens the base interval so the document still reads at your WPM overall. Optional timing controls are off by default and can be configured in Timing settings.
Everything starts from the base interval
Your speed setting defines one base interval: sixty seconds divided by the WPM. At 300 WPM, that is 200 milliseconds per word; at 500 WPM, 120 milliseconds. Every adjustment below is measured in base intervals or applied as a multiplier, so the rules keep their proportions at any speed. The last section shows how Strobe then shortens the interval so the adjustments don’t slow you down overall.
With optional timing features off, an ordinary word gets one base interval. Compounds and acronyms receive additional time automatically.
Smart Timing: more time for longer words
With Smart Timing on, each character in a word adds a share of the base interval. The default Slowdown per Letter is 4 percent, so a four-letter word shows for 1.16 intervals and a ten-letter word for 1.4. Punctuation at the start or end of a word does not count toward its length.
Slowdown per Letter can be set from 0 to 50 percent. Minimum Word Length, from 1 to 15 letters, keeps shorter words at your exact speed, which slows long words without dragging out every short one. At 1, the default, every word is adjusted.
When Punctuation Pauses are off, Smart Timing also adds a flat 0.2 intervals to any word that ends in punctuation. When they are on, the pauses handle punctuation instead, so a mark is never timed twice.
Punctuation Pauses: duration by mark
Punctuation Pauses multiply a word’s time by the mark that ends it. The defaults are 1.5× for sentence ends, 1.3× for commas, colons, and semicolons, 1.4× for dashes, 1.5× for ellipses, and 1.2× for closing brackets and quotation marks. Each can be set anywhere from off to 4×.
Only marks at the end of a word count, so the period in 3.14 and the comma in 1,000 never pause. A sentence end has to be the last real mark in the word, which keeps an abbreviation such as “etc.,” from pausing as if a sentence had ended. A word that carries several marks, such as a closing parenthesis followed by a comma, pauses once, for the longest of them. The same rules cover Chinese, Japanese, and Arabic punctuation.
Blank After Sentences adds an empty screen after the last word of a sentence, from half a word to four words long at your speed. It skips abbreviations and initials, waits until the next word actually starts a sentence, and never appears before a new chapter.
Since version 3.5, a paragraph, heading, or list item doesn’t need a closing mark to pause. Its last word gets the sentence-end pause, and Blank After Sentences follows it, so a heading no longer runs into the paragraph below it. A table cell gets the comma pause. If the next paragraph starts with a lowercase letter, Strobe reads it as the same sentence carrying on, as when an EPUB splits a paragraph where a printed page broke, and doesn’t pause. Strobe records these ends when it imports an EPUB, a Markdown or text file, or pasted or shared text. PDFs have none, and a document imported before 3.5 reads as it did.
Compounds and acronyms are always timed
Some tokens hold more than one word’s worth of reading. In a compound joined by a hyphen, en dash, or slash, each part after the first adds half a base interval, up to four parts: wedge-shaped gets 0.5 more, and state-of-the-art gets 1.5. Number units such as 10:30 PM and 44 B.C. stay together as one word and are timed the same way. A one-letter part adds nothing, so x-ray and T-shirt read like ordinary words.
Strobe adds a quarter of a base interval for each letter after the first in an acronym, up to 0.75: UK gets 0.25 more, FBI 0.5, and NASA or HTML 0.75. Three or more words in capitals in a row count as ordinary text unless commas, semicolons, or colons separate them, as in a list.
Neither adjustment has a switch. Both add time to the word before punctuation and complexity scale it.
Complexity Timing: quicker through the familiar
When you import a document, Strobe gives every word a complexity score between 0 and 1, computed on your device with Apple’s NaturalLanguage framework. The score weighs whether the word is on a list of common words, its part of speech, whether it names a person, place, or organization, its length, and whether it contains digits, mixed capitalization such as iPhone, or hyphens.
With Complexity Timing on, a word in the middle of the scale keeps its time, lower scores speed up, and higher scores slow down: the multiplier is 1 + 1.2 × intensity × (score − 0.5). Two sliders set the intensity, each from 0 to 100 percent: Simple Words for scores below the middle and Complex Words for scores above it, so at full intensity a word runs up to 60 percent faster or slower. In practice the effect is strongest on everyday words. At the default 50 percent for both, words such as “the” and “of” run about a quarter faster, while rare words, names, and terms with digits get a little more time than average.
Complexity scores are computed once at import. Playback uses the stored scores to adjust each word’s duration; this is the only adjustment that can give a word less than one base interval.
How the adjustments combine
Strobe builds each word’s time in a fixed order. It starts from one base interval, applies Smart Timing, and adds any compound or acronym share. Punctuation Pauses and Complexity Timing then multiply the result.
With Smart Timing at 4 percent and Punctuation Pauses at their defaults, the word “room.” at the end of a sentence has four letters, for 1.16 intervals, and a sentence-end pause of 1.5×, for 1.74 intervals. “FBI,” gets 1.12 intervals for its letters, 0.5 more as an acronym, and a comma pause of 1.3×, for about 2.1 intervals.
Then Strobe keeps your speed. With the same rules, it works out the document’s pace factor: the base intervals its words take on average under your settings, blanks after sentences included. It shortens the base interval by that factor, so the document reads at your WPM overall. If a document’s words average 1.25 intervals, the interval at 300 WPM becomes 160 milliseconds instead of 200: “room.” shows for about 278 milliseconds, “FBI,” for about 337, and the whole document still takes its word count divided by 300 minutes. Turning a setting on moves time between words rather than adding to the total, so the time left and each chapter’s length are simply the words divided by your speed.
When the voice reads aloud, it sets the pace of the words itself, at your speed. The per-word settings don’t apply then, but Blank After Sentences still does, and the voice pauses at the end of a paragraph, heading, or list item.
Tune timing one feature at a time. Punctuation Pauses are a good first step because they mark the structure of sentences. Add Smart Timing if long words flash by too quickly, and Complexity Timing if common words feel slow. Keep the adjustments that make the stream easier to follow, and turn off any you notice more than the text.
Sources
- RSVPEngine.swift: the base interval, Smart Timing, and the order adjustments apply in
- PunctuationPause.swift: which marks pause, and for how long
- CompoundWord.swift and Acronym.swift: timing for compounds and acronyms
- WordComplexityAnalyzer.swift: how complexity scores are computed
- BlockEnds.swift: pauses at the ends of paragraphs, headings, and list items
- ReadingPace.swift: how the speed counts the timing settings
Product sources
This guide is written by Jaafar Abdeen, Strobe’s developer. For current app compatibility and features, check the Strobe App Store listing. The public source code documents the implementation.