I get very impressed by Spritz technology for text reader, and tried to reproduce a simpler version in Wolfram Language.
Here is my code:
centerWord[str_String,maxString_]:=Module[{centerLetter,formatedWord,midlePoint,paddedWord},
centerLetter=Ceiling[StringLength[str]/2,1];
midlePoint=Ceiling[maxString/2,1];
formatedWord=Table[" ",{i,1,midlePoint-centerLetter}]~Join~MapAt[Style[#,Bold,Red]&,Style[#,Bold]&/@(Characters[str]),centerLetter];
Grid[{formatedWord},Spacings->0.1.5]
]
spritzIt[text_String,wordsPerMinute_]:=DynamicModule[{maxString,textList,stopWords,n},
maxString=StringLength/@StringSplit[text]//Max;
textList=StringSplit[text];
textList=Flatten@MapAt[{#," "," "}&,textList,Position[textList,n_/;StringQ[n]&&StringMatchQ[n,"*."]]];
textList=centerWord[#,maxString]&/@textList;
Grid[{
{Style["Simple Spritz on Wolfram Language",FontSize->20]}
,{Dynamic[textList[[n]]~Magnify~2]}
,{Animator[Dynamic[n],{1,Length@textList,1},wordsPerMinute/60]}
,{Style[Row[{"Words Per Minute: ",wordsPerMinute}],FontSize->20]}
}
,Alignment->Left
,ItemSize->{Automatic,3}
,FrameStyle->Gray
,Frame-> All
]
]
Now Let’s test it!
text="Here is a simple test using Spritz on Wolfram Language. Spritz is a Boston based startup focused on text streaming technology and its integration into modern communication. The founders are serial entrepreneurs with extensive experience in developing and commercializing innovative technologies. We have assembled an international team of experts in reading methodologies and software engineering. Spritz offers a variety of licensing options for the integration with operating systems, applications, wearables, and websites.";
spritzIt[text,400]
Here is the result:

Now at a faster rate! 600 words per minute.

Feel free to improve it!
