Microsoft 365 Modern Comments

Murray Sargent

The new Modern Comments facility aims to give a similar commenting experience on the web and in native apps. On the desktop in Windows and the Mac, the editor component is RichEdit. The facility is a work in progress, and it is getting very nice. This post gives some background on incorporating RichEdit into the Microsoft 365 commenting experience.

The most powerful commenting experience to date was in desktop Word, which used Word text boxes for comments. This allowed users to use most Word features in Word comments. Meanwhile, RichEdit lacks many advanced Word features. So, some Word power users have found their workflows hampered or even broken. Initially, RichEdit lacked quite a few popular features, such as HTML interoperability, web image access, built-in autocorrect and autoformatting, considerable Word user interface (UI) functionality in multilevel lists, and so on. We have been working diligently on remedying the most grievous limitations.

On the other hand, RichEdit instances are much smaller and faster than Word text boxes which improves performance for documents that have many comments. Other apps don’t have all of Word’s editing power and it’s desirable to have a uniform experience across the apps. Another difference is that only the author sees comments until posted, as in chats. This behavior is hopefully less distracting in collaborative scenarios.

We have been enhancing RichEdit in the most requested areas, e.g., HTML conversion fidelity, image support, proofing (built-in autocorrect and most autoformatting options), multilevel-list UI, and more compatible hyperlink handling. PowerPoint has used RichEdit’s multilevel lists for many years, but PowerPoint has its own UI, and RichEdit’s multilevel list UI and accessibility have needed improvements. Together with the improvements needed for Notepad, RichEdit has been getting better and better 😊.

More work remains, such as grammar checking, text prediction, tables, and math typography. RichEdit has as good or better math support as the Office apps, but math isn’t currently enabled in Modern-Comments. Math might be easy to support. RichEdit plain text represents math zones in UnicodeMath starting with a ‘⁅’ (U+2045) and ending with a ‘⁆’ (U+2046). Inserting the plain text into a RichEdit control and calling ITextRange2::BuildUpMath builds up the UnicodeMath to OfficeMath. RichEdit has been able to roundtrip OfficeMath in plain text this way ever since Office 2007. For example, copy a document with math zones into Notepad, copy it back to RichEdit, and call ITextRange2::BuildUpMath(). The math zones are restored. The ”⁅<UnicodeMath>⁆” plain-text syntax is similar to the way LaTeX starts math zones with “\[“ and ends them with “\]”. In addition, the math ribbon would need to be integrated, although math keyboard entry is faster if you know UnicodeMath or LaTeX.