Hacker News new | ask | show | jobs
by gbalduzzi 20 days ago
I have seen lately a number of new productivity suite.

How is the Microsoft Office compatibility managed by these tools? There is a popular SDK providing the compatibility? I can't imagine everyone reimplementing the full compatibility layer

2 comments

Good question, TinyCld does uses docx/xlsx files on the drive package as the native storage for text/calc. Drive is exported via webdav so doing so lets native clients load the files as well. Locking is used though so web & native _hopefully_ do not conflict.

Text uses https://github.com/ZeroHawkeye/wordZero to read/write the docx, parse it into a y-prosemirror and served with yjs to clients using https://github.com/skyterra/y-crdt

And Calc uses https://github.com/xuri/excelize using the same techniques but uses plain Yjs Y.Map/Y.Array using a sparsely populated table

Office compatibility really runs into the xkcd workflow problem[1]. For the overwhelming majority of users, any of these alternative office suites will work exactly as expected. They can save and open MS Office files, and can do all of the tasks most users need. But there will always be some user who has some hyper-specific need that decide they just can't get away from MS Office. This often comes down to some plugin, or some strange behavior of MS Office that the user has come to expect. Often, there's no technical reason these plugins couldn't be moved to some competitor, but they haven't been. Frequently, there's no reason the user needs this exact workflow, but it's what they know, and they don't want to change.

So how is MS Office compatibility manged by these tools? It depends on who you ask.

[1] https://xkcd.com/1172/