| I worked on the Excel Add-Ins platform at Microsoft, yes. By OM call I mean "Object Model" call, basically interacting with the Excel document. The reason those calls are expensive on Excel Web is that you're running your add-in in the browser, so every `.sync()` call has to go all the way to the server and back in order to see any changes. If you're doing those calls in a loop, you're looking at 500ms to 2-3s latency for every call (that was back then, it might be better now). On the desktop app it's not as bad since the add-in and the Excel process are on the same machine so what you're paying is mostly serialization costs. Happy to answer more questions, though I left MSFT in 2017 so some things might have changed since. |
| |
| ▲ | Acmeon 8 hours ago | parent | next [-] | | Yeah, that makes sense. For some reason, I was under the impression that all calculations run locally in the browser, which would have been comparable to how Excel desktop works (i.e., local calculations). Is there a reason for why the Excel calculations run on the server (e.g., excessive workload of a browser implementation, proprietary code, difficult to implement in JavaScript, cross browser compatibility issues, etc.)? Furthermore, if the reason for this architecture is (or was) limitations in JavaScript or browsers, do you find it plausible that the Excel calculations will some day be implemented in Webassembly? Regardless, I have always preferred Excel desktop over Excel web (and other web based spreadsheet alternatives). This information makes me somewhat less interested in Excel web. Nonetheless, I find Excel Add-Ins useful, primarily because they bring the capabilities of JavaScript to Excel. | | |
| ▲ | strongpigeon 8 hours ago | parent [-] | | I don’t think Excel web will ever be running the calc engine browser side, no. The only way I could see this happen would be via compiling the core to wasm, which I don’t think is worth the engineering effort. Excel has this legacy (but extremely powerful) core with very few people left that knows all of it. It has legacy bugs preserved for compatibility reasons as whole businesses are ran on spreadsheet that break if the bug is fixed (I’m not exaggerating). The view code for xldesktop is not layered particularly well either leading to a lot of dependencies on Win32 in xlshared (at least back then). Is it doable? I’m sure. But the benefits are probably not worth the cost. | | |
| ▲ | Acmeon 8 hours ago | parent [-] | | Thanks for the interesting info! Yeah, maybe Excel web will someday support local calculations via wasm, but for now I think I will stick with Excel desktop with add-ins. |
|
| |
| ▲ | com2kid 8 hours ago | parent | prev | next [-] | | Does Excel for Web still spin up an actual copy of Excel.exe on a machine somewhere? I heard that is how the initial version worked. | | |
| ▲ | strongpigeon 8 hours ago | parent | next [-] | | No, as the other comment mentioned. But I’ve heard of more than a few customers running their own “server excel workflow” where they have an instances of excel.exe running a VBA macro that talks to a web server (and does some processing). | |
| ▲ | p_ing 8 hours ago | parent | prev [-] | | Never did this. WAC was the original version (integrated with SharePoint Server). Everything was server-side. | | |
| ▲ | com2kid 5 hours ago | parent | next [-] | | While working at MS I remember someone in the office team saying that the original version of Excel online spun to the actual Excel backend and had it output HTML instead of the usual win32 UI. Was I misinformed by chance? | |
| ▲ | strongpigeon 8 hours ago | parent | prev [-] | | > WAC Now that’s an acronym that I had forgotten about. |
|
| |
| ▲ | DaiPlusPlus 8 hours ago | parent | prev [-] | | > though I left MSFT in 2017 so some things might have changed since. Honestly, I struggle to think about what has actually changed between Office 2013 and Office 2024 (and their Office 365 equivalents); I know the LAMBDA function was a big deal, but they made the UI objectively worse by wasting screen-space with ever-increasingly phatter non-touch UI elements; and the Python announcement was huge... before deflating like a popped party balloon when we learned how horribly compromised it was. ...but other than that, Excel remains exactly as frustrating to use for even simple tasks - like parsing a date string - today just as it was 15 years ago[1]. [1]: https://stackoverflow.com/questions/4896116/parsing-an-iso86... |
|