Published:

Jarle Aase

Monthly update, October 2025

bookmark 2 min read

These monthly updates may be a bit technical. They’re written for my future self (to remember how I spent the month and to motivate me to do at least something remotely interesting), for friends and colleagues (past and future) to give them an idea of what I’m working on, and, of course, for potential clients of my C++ freelance business and fellow software developers.

The picture shows my dog by the lake, 7 km from the village where we live. I usually drive there once every two days with my bicycle and one dog to stay in shape.

Projects

NextApp

NextApp is a GTD/productivity application for desktop and mobile.

The work in October was primarily aimed at releasing Beta III, which I did.

Crash on Android

NextApp crashed on Android if I built it with Qt 6.9.3 or 6.10. The crash happened just after the main() function handed its thread over to Qt. It occurred because Qt 6.9.3 started to fetch the intent that launched the app and used it without checking for a null value.

My app overrides Qt’s QtActivity Java class and also checks the intent that starts the app. Unfortunately, it destroyed the intent when it was done. So that part is on me. Still, Qt should not use objects it fetches without checking for null.

This error was hard to track down because I had to debug it on a real phone, and the error was in a quite popular function (as it turned out) that calls from C++ to Java. I spent hours in the debugger before I nailed down the root cause.

Moved Flatpak build from GitHub to Jenkins locally

First, I tried to use the kde runtime for Flatpak. This is the recommended solution for Qt apps. However, my app uses some Qt components that are not available in the kde runtime, including Qt’s gRPC support.

I spent several days trying to build the missing packages with the Flatpak builder, but it was not doable — at least not with my current understanding of the builder.

I then switched to the general Flatpak runtime and created a two-step build where I first build NextApp for Linux using statically linked Qt with vcpkg, and then create a Flatpak using that binary. That worked, but it took several iterations to make it work in Jenkins, and each iteration took anywhere from 8 minutes to several hours.

Fixed macOS build

I fixed the macOS build so that signing is done properly. I still don’t notarize the binary, but I don’t plan to do that unless I add it to the App Store.

I also added a build of an x64 binary for macOS to Jenkins, using my aging MacBook Pro. The ARM build remains on GitHub.

Qt 6.10 update

Finally, I updated the code to work with Qt 6.10. That was a pleasant surprise — almost no issues at all. Currently, the Android and Windows builds use Qt 6.10, while macOS and Linux use Qt 6.9, which was the latest version supported by vcpkg at the time of the release.

Vibe-coding an Android app

It took more than two years to get NextApp into a good state. It’s a fairly advanced app, using C++ and Qt, running on multiple devices with automatic synchronization. The business logic is complex, and the app has rich functionality.

It took me ten days to produce a proof of concept of a wellness app — Settled — for Android, using Android Studio and Gemini. I promise I’ll shed more light on that project next year.

Freelancing

I’ve put my freelancing on hold for a long time. First, I needed to recover from a pretty damaging burnout. Then I decided to get NextApp into a state where it’s generally usable before I start looking for something new. I turned down a handful of potential clients over the past year.

I’ve been talking about NextApp to friends and colleagues for a decade, and I don’t want to be that guy who is all talk and no results. I talked a lot about DarkSpeak too, but eventually decided to put it on hold. It’s simply too dangerous to release something like that while living in a Western country. The arrest of Pavel Durov in France proved my concerns right.

There is nothing controversial about NextApp, though, so I wanted to see it through to completion.

Now I need to create some income again. If you know someone looking for an experienced and quite passionate C++ freelancer, please get in touch!