Live data from Hacker News

LibreOffice running natively in the browser via WebAssembly

lab.allotropia.de

101–110 of 216 posts

Re: LibreOffice running natively in the browser via WebAssembly

#101
post #47

Wait... Isn't LO a Java application? Have we created a new way to shove Java into a browser, but this time with the JVM itself inside the browser ?

It's mostly written in C++, and the bulk of the effort which made this possible should probably be credited to Qt: https://wiki.qt.io/Qt_for_WebAssembly

Qt clearly deserves the credit for having a WASM runtime that gets us a working GUI toolkit. But this was still a gigaton of work to pull off inside LibreOffice (starting many years ago, actually natively using Qt as one of the GUI toolkits in the code, over to porting the build system, how the mainloop runs etc etc).

Also note that using Qt here is mostly a shortcut to get a demo out, longer-term we'd want to use native browser gui.

Re: LibreOffice running natively in the browser via WebAssembly

#102
post #75
post #12

Earlier quoted context omitted.

Even with a fast connection, it takes a very long time. I'm guessing the site is overloaded as the peak was a few tens of Mb/s, and generally much slower.

Makes me wonder if it is possible/usefull to make the download a two step process, first download a small wasm bittorrent client, then use it to download (and share) the 300mb file.

Webtorrent already exists, and does not require wasm.

https://github.com/webtorrent/webtorrent

Re: LibreOffice running natively in the browser via WebAssembly

#103

Earlier quoted context omitted.

I tried it awhile back, but it's also extremely slow on an M1 and I found the UI issues even more annoying than the ones I was used to in OpenOffice.

Please file bugs about these issues at: https://bugs.documentfoundation.org/ (but first search for pre-existing reports about them.) Also consider donating to the project, and writing relevant people (e.g. Engineering Steering Council?), petitioning them to work on the quality of M1 support.

I'll give it another go and file what I see. I can't recall exactly what problems I ran into, but I remember having trouble with choppy scrolling and some UI elements appearing blurred. But I'll need to play with it again. It was awhile ago. I'm always happy to support a project if I end up using it ;)

Re: LibreOffice running natively in the browser via WebAssembly

#107

Earlier quoted context omitted.

> Preventing a process from deciding itself which files to access disables so many attack vectors. It also disables a lot of existing use cases and file types (basically any multi-file file format): Multi-part archives, multi-part video files, playlists, videos with separate subtitle files, HTML documents containing links to other local HTML documents or referencing various sub-resources (images/videos/audio/style sh…

With LibreOffice, the nice thing is you can chose. if you want all of the above - install the native version.

In this particular instance yes, of course – this was more with reference to the dreams of some people who want everything to work like that.

Re: LibreOffice running natively in the browser via WebAssembly

#109

I started experimenting with Go-WASM recently and learnt that writing non-blocking code is very crucial, Timer even inside a Goroutine blocks & crashes WASM. Leading me to use unreliable JS timers(albeit mitigating it with a worker) and performing only non-blocking compute on WASM. Is this just a consequence of using Go for WASM(i.e. lack of WASM threads), What are people who built LibreOffice in WASM or Doom3 using?…

WebAssembly is having/going to have threads

https://github.com/WebAssembly/threads

Re: LibreOffice running natively in the browser via WebAssembly

#110

I'm hoping someone will port Firefox or Safari to WebAssembly. For fun, but also it could be useful as a double or triple (etc) sandbox.

I don't think Safari and its heavy dependency on macOS will show up on any other platform any time soon.

Firefox and the various WebKit browsers though, those should work. Theoretically they already work, as you can run them in JSLinux (the RISCV version or the Windows 2000 compatible versions), but that's a terribly slow method of running the software.

Post reply on HN