The story of PaintSupreme v1, by our CEO Markus Moenig.
I developed cross-platform desktop products most of my life. I just love the feeling to build up a useful application from scratch. My first application was one of the very first video editors, MainActor, back on the Amiga.
How things used to work for me
My apps were mostly coded using Qt and similar C++ based cross platform application frameworks. However I always had reservations about it all.
- Developing in C++ always felt like overkill for 90% of the tasks at hand. Considering that most code in an application handles the user interface (UI) and application states, C++ felt a bit like a cannon when you needed a hand gun.
- The number of target platforms (mostly Windows, Mac and Linux) and the 3rd party frameworks used, created something very complex very quickly. Your binaries became huge, many platform specific bugs in 3rd party frameworks needed to be sorted and the compiling and linking steps differed on each target platform.
- Once in a usable state, installing your application on a given target platform is non-trivial, sorting the binaries and dependencies needed for each platform is work, real work, creating the installer is too.
All in all I was not happy, I wanted to focus on the fun part, building the application itself.
A better solution: HTML5
The rise of the internet created over time a new generation of web browsers and related technologies. Modern web browsers are, I think it is safe to say, the most tested and robust application delivery platforms ever created.
HTML5 based applications are traditionally very popular on mobile devices. The reason being that the UI of a mobile app is very similar to that of a Website.
However, with new technologies emerging, full blown desktop applications are also now possible:
WebGL v1 / v2
The last problem: The User Interface
Having all these technologies available is great. But what about the user interface ? The DOM model of HTML5 is not really suited for Desktop like applications.
PaintSupreme v1 - Deployment
PaintSupreme has just become available in v1. And is not only available for the Web at PaintSupreme3D.com but also for Mac OS, Windows 10 and Linux and is already inside the Mac AppStore as well as the Windows Store.
Another great piece of technology which makes all this possible: Electron. It packages your HTML5 application and makes it available as native desktop applications on all major desktop platforms. It even offers support for various store specific formats like appx for the Windows Store.
What used to take me days creating all distributions for all platforms is now a matter of starting a nodejs module, i.e. a matter of minutes.
In my personal opinion, HTML5 is the future for cross platform development, not only on mobile, but also on the desktop, and yes, even for multimedia applications.
We will continue to work out PaintSupreme v1 with the target to provide the full feature set of native desktop applications (of course at the same speed).
Follow up 3D modeling and raytracing applications are already in the pipeline and we hope to deliver them within the next months.
The future is ... exciting!