Microsoft Immersive Reader: Use this handy tool to make your own apps better

Having text read aloud, highlighted automatically or translated into different languages can make dense text much easier to work with. Now you can add this functionality to line-of-business apps.

How VR creates an immersive experience for readers
Penguin Random House is using virtual reality to enhance how people read and appreciate books. Author Romina Garber discusses how VR is used with her Zodiac series.

Assistive technology isn’t just for people with obvious disabilities. If you lose your glasses, or you’re trying to jot down a reminder with a baby in one arm, you can have what’s called a ‘situational disability’. Or maybe you just need to read a complex contract or technical paper and you’re finding it hard to follow. Microsoft’s Learning Tools, and in particular the Immersive Reader, are designed to help more than schoolchildren and dyslexics, providing tools that work for anyone who needs text made a bit more readable, whether that’s better contrast, bigger fonts, the right amount of space between letters and words, or extra help with grammar, or even using text to speech to read it aloud.

Immersive Reader in Microsoft apps

Immersive Reader is available in OneNote, in the Windows 10 Store app, the Mac and iPad apps and the OneNote Online web app, or as a free add-in for the desktop version of OneNote for Windows (IT admins can deploy the Learning Tools as an MSI with a choice of languages). Immersive Reader is also part of Word on Windows, Mac, iPad, iPhone and on the web, Outlook Desktop and on the web, Office Lens on iPhone and iPad (take a photo of a page and get a more readable version of the text), and inside Microsoft Teams.

Microsoft Edge has long had a ‘reading view’ that strips out all the adverts, banners, links, pop-ups and other elements that clutter up web pages and make it hard to concentrate on the text, with a Read Aloud option on the Settings menu powered by Immersive Reader. The new Chromium-based Edge takes that even further: when you click the book icon that appears in the address bar on websites that Edge can convert (which isn’t every site), you then get a plain background in a colour designed to be easy on the eyes and a more readable font. You can then customise the view by setting the text size and background colour, and have the text read aloud or broken up using grammar rules.

Depending on your version of Edge you might have to turn that on using “edge://flags/#edge-reading-view-grammar-tools” to break words up into syllables or have nouns, verbs and adjectives highlighted. If you have the Edge Canary channel installed, you can select text on any site and choose ‘Open in Immersive Reader’.

You can even use the Immersive Reader with a Windows Mixed Reality headset: reading in virtual reality can be tiring, so the ability to adjust the presentation of text to make it more readable can be particularly helpful.

Microsoft partners like Flipgrid have started building Immersive Reader into their apps, and now that it’s available as one of the Azure Cognitive Services it’s appearing in a lot more educational applications. But making text more readable is just as important at work, whether it’s for staff with dyslexia or ADHD, or the large number of people with vision issues.

ms-immersive-reader.jpg

Immersive Reader in action, with parts of speech and syllables highlighted. 

Image: Microsoft

Adding Immersive Reader to your code

Immersive Reader isn’t only for Microsoft’s own tools. Because it’s now an Azure Cognitive Service, an API can be embedded into your own code to improve readability in text-heavy applications. You’ll need an Azure account, and Microsoft provides SDKs for .NET and other familiar development environments to help you get started. As it uses web technologies, it’s best suited for use in web applications or using an embedded HTML view in a desktop app. The SDK is built around a JavaScript library that you embed into your content alongside the rest of your code. To get started, create an Immersive Reader resource in Azure with Azure Active Directory authentication, and set up access to it and the SDK libraries in your application.

Content needs to be tagged appropriately if it’s being passed to Immersive Reader, using ID tags in the HTML mark-up. You can apply language tags to define the content language, as well as indicating where you’re using right-to-left scripts like Arabic. Performance can be improved if you chunk text up into blocks to speed up processing, as well as defining multiple Immersive Reader resources in different regions in order to push processing closer to your users.

SEE: Choosing your Windows 7 exit strategy: Four options (TechRepublic Premium) 

When it’s launched, the Immersive Reader library parses the HTML document object model to extract tagged text and pass it to the Immersive Reader service, before being displayed in an iframe. The service handles formatting the content, as well as any text-to-speech, or links to visual resources. All you need to do is launch the Immersive Reader when a user clicks a link to the service — usually a button.

The reader is implemented as an asynchronous function, which uses JavaScript Promises to deliver an HTML object with the parsed content once the Immersive Reader has processed the data. Once you’ve rendered Immersive Reader content in an iframe, you can add a close function to manage shutting down your Immersive Reader instance. There is support for basic HTML formatting, including lists. However, you won’t be able to display images or tables — this is very much a tool for working with large amounts of text.

You’ll need code to use Immersive Reader, but it’s only a few lines, and the API’s requirements aren’t onerous. As it’s a preview service it’s currently free, and Microsoft has yet to announce final pricing. That suggests it’s best to treat any deployment as an experiment, to get usage statistics that can help plan any final release. Microsoft provides quick starts in the Immersive Reader GitHub repository for desktop and mobile applications, as well as cross-platform UWP applications.

Tools like Immersive Reader are an important part of any inclusive computing environment, bringing content to a much wider and more diverse audience. Providing supportive technologies like this shouldn’t have to be hard, and Microsoft is showing that a simple SDK and basic content tagging are all you need to add them to applications and websites.

Also see