20 April 2025

An online Qt GUI version of bibref

This is a short blog entry on the online availability of the Qt GUI version of bibref.
With quite a little of work I managed to make a web version of the bibref Bible study tool. My deepest respect to the Qt team for making this option as smooth as possible. Definitely, with just a couple of minor changes in the codebase (mostly, in the cmake configuration file), this was more like a great adventure than a nightmare (which is quite usual in computer science). Actually, I had to make some tiny modifications on the way I create a new window in Qt, namely, to use QWidget::showNormal() instead of QWidget::show(), otherwise the newly created window overlaps the previously defined window without any option to access the old window again. But this was easy to figure out and resolve.

The build steps are documented in the bibref wiki.

The result also proves that with an affordable amount of work it is possible to turn a desktop Bible application into an offline web application as well. Actually, the program runs quite nicely also on a mobile phone, unless the fonts are too big and the main menu cannot be displayed fully. But this can be fine-tuned in the program in the Edit > Preferences menu.

Technically, the program consists of 5 files: an HTML skeleton (3 kB), the application logo (about 90 kB), the Qt WASM loader (12 kB), the Qt application as a WebAssembly program (35 MB) and the available Bibles (as SWORD modules, here KJV, LXX, StatResGNT and SBLGNT) with their pre-cached index databases, plus the 240+ statements (24 MB), in total, about 60 MB. According to a recent study, U.S. Internet users had an average download speed of 200+ Mbps in 2024, so startup of such software can be expected in less than 3 seconds on a usual machine. Although this (and the general speed of the application) is far behind the speed of a native application, for everyday use, this can be more than acceptable for many users since the web browser is nowadays “always at hand”.

The web application includes almost all features of the native desktop application. It has the same menu structure, the different windows of the program are shown similarly, and their intercommunication is supported in the same way. The two extra fonts being used (a variant of Greek Koine, designed by Alan Bunning, for greekcntr.org, and a typewriter font called Inconsolata, designed by Raph Levien) in the desktop application are available in the web version as well, by exploiting Qt's resource bundling mechanism via .qrc files. This also allowed to include the application logo in the web version, however, the rest of the icons and some built-in translations of the Qt system were left out (since they are not included automatically – this should be fixed someday).

On the other hand, built-in visualization of the BRST diagrams had to be skipped for this first version, since an out-of-the-box compilation of GraphViz for the web was not successful. This remains for future work. Instead, the users can still export the diagram as a GraphViz file and display it directly in another web application on a different tab in the web browser.


Continue reading…

See also a filtered list of the entries on topics GeoGebra, technical developments or internal references in the Bible.


Zoltán Kovács
Linz School of Education
Johannes Kepler University
Altenberger Strasse 69
A-4040 Linz