Will QPrompt have an online version like Imaginary?

Could be useful if a need for teleprompting arises and you don’t have equipment available or the existing computers are locked out of installing software.

Maybe… I’d like to say yes, but here are the caveats:

Unlike Imaginary Teleprompter, QPrompt is not a web app. It’s written in C++, which compiles to computer code that’s native to each platform that it runs on. This enables us to do a lot more and still get more or less the same performance. In theory, QPrompt can be made to work inside a web browser by compiling to web assembly (or WASM) using a special compiler called Emscripten, but this comes with certain limitations.

WASM programs are more limited than other web apps because of security reasons:

  1. Pasting is limited or impossible in some browsers.
  2. Programs runs with a fixed number of threads, meaning it’s not as optimal and the more threads it uses, the less computers it would work on.
  3. Saving a document would always result in a download of the document.
  4. Settings may not be preserved between sessions. (I’m not sure about this…)
  5. Similar to Android, you can only use a single screen.
  6. Similar to Android, you will be limited to fonts included with the program. System fonts will be unavailable.

Despite all of those limitations I have plans to create a build for WASM. This build would serve two purposes:

  1. Expanding the places QPrompt could be used.
  2. Enable testing translations close to in real time.

Nevertheless, with all of those inconveniences I still see Imaginary Teleprompter as the better option for people who want to run a prompter in their web browser. Because of this, I plan on keeping Imaginary Teleprompter online perpetually.

The reason I haven’t made a WASM build already, and believe me I have tried, is QPrompt’s dependency on KDE frameworks, which rely on an older version of Qt, which is Qt 5. There are two build systems which can be used for Qt apps: qmake and cmake. Qmake is being phased out and most libraries used to make QPrompt don’t support it. Unfortunately cmake cannot be used to create WASM builds with Qt 5, for that you must use Qt 6, which puts WASM support on a deadlock. The same limitation is also prohibiting me from supporting iOS and iPad OS; and similar limitations of this Qt 5 to Qt 6 transition are hindering my ability to adequately support Apple Silicon.

The bright side is, we will eventually have a version of QPrompt that can run in a web browser, and Imaginary Teleprompter will still be there for those who need it.