Provide values entered by the user into a bound cell directly to the Office.EventType.BindingDataChanged callback function
Excel Online and Office.js provide an excellent way of integrating Microsoft's tools with other cloud-based services, but latency is currently a barrier and this is a way of solving it.
I have developed an office.js task pane app that binds to many cells, each linked to variables in mathematical models running on an external server. When the user enters a value, that value is sent to a remote server, results are computed, and they are sent back to be written to various other cells in the spreadsheet.
However, a value entered by the user is not directly passed to the callback function for a bound cell, so there is a delay of usually a few hundred ms but sometimes a few seconds while Excel Online running within the browser contacts Microsoft to sync the entered value and then Microsoft sends it back via ctx.sync or myBinding.getDataAsync.
Without this unnecessary round trip, user-entered values can be passed directly into the callback function, sent to my mathematical model servers, processed, sent back and written to the cells. And all this can be done inside 100 ms and then sync to Microsoft it its leisure.
I have a SharePoint site set up for alpha testers with an example spreadsheet and the task pane app, so if you'd like to play with it and see what I mean, just let me know and I'll add you to the site.
