Back in 2018, Microsoft started working on PWAs for Windows 10 to improve the user experience and compete with Google who currently dominates the PWA space with their own set of apps. With PWAs Microsoft also hoped to close the app gap on Windows 10 and the company has been successful. In the last year or so, we have seen big names like Uber and Twitter jump on the PWA bandwagon.
Now, Microsoft hopes to improve the whole PWA experience with their new proposal (via Windows Latest). Published on GitHub, the new proposal talks about the ‘EditContext’ API which would allow developers to integrate a web app with advanced text input methods on Windows 10. The API will allow users to take advantage of different input methods like Emoji picker, Handwriting recognition and more. According to a video demonstration published earlier this year, Windows 10’s emoji picker doesn’t work on Google Docs. Microsoft notes that the implementation of the new API will allow PWAs like Docs to take advantage of ext input features like an IME for composition, as well as enabling the emoji picker and other advanced text input options.
Google Docs uses an off screen contenteditable element to facilitate integration with the OS text input services. Integrating with the OS text input services gives Google docs access to text input features like the IME for composition in Chinese, Japanese and Korean languages, and also to the emoji picker and more.
Google Docs listens to events to ensure the contenteditable element is focused and positioned appropriately near the insertion point before composition starts, but isn’t aware of all events (or in some cases doesn’t receive any events) when other text input UI like the emoji picker is displayed. As a result the emoji window is positioned near the top of app (not near the insertion point) and input isn’t received since focus isn’t currently in an editable element.
The EditContext API (http://bit.ly/32gSs0z) solves this problem by allowing the author to report the position of the insertion point, even when not using the native caret, and without requiring that focus be placed into an editable element.
– Bo Cupp, Microsoft
While mosts PWAs come with advanced editors, the experience is not consistent and sometimes even lack features. With the implementation of the API, Microsoft wants to ensure the experience is consistent across apps. Microsoft has already added a commit to start implementing the API on Chromium framework which could be used by all the Chromium-based browsers like Microsoft Edge and Google Chrome.