Cloud Cloud

Iva Horn

Notes from a software engineer for iPhone, iPad and Mac apps.

Memoji

Nextcloud Desktop Client Size Shrinking

July 29, 2026 • #MacOS #Nextcloud #Qt

Earlier this year I wrote about why the Nextcloud desktop client is so big. Today, I can happily write about how our recent work made it much smaller.

If you look into the macOS folder of the desktop client installers on the Nextcloud download server, you will see a notable size difference between the 33.0.7 and 34.0.0 packages.

While Windows and Linux do not profit so much from the changes, they are significant on macOS. Partially, this is also because the Qt framework we use adapts differently on its target platforms and requires more or fewer resources on one platform than the other.

The biggest relief was the removal of the Qt Web Engine. Due to requirements for the single sign-on process and some deeper interference with a self-managed web view, we needed to ship what basically is a whole Chromium browser engine. That did not just blow up the app size but also our build times and our download server traffic. In a multi-step effort — which included server-side changes — we could overhaul the single sign-on process to work without this.

Further, the Qt Multimedia framework could also be dropped because it caused a massive overhead on macOS just for the single use case of playing an unencoded, uncompressed 900 KB WAV file for the Nextcloud Talk ringtone, should someone call you over it. This was replaced with a minimal wrapper for the platform-specific APIs.

a memoji

Comparison

Those two changes alone result in a much lighter app.

33.0.7 34.0.0
Installer Package ~ 350 MB ~ 148 MB
Installed App Bundle ~ 941 MB ~ 406 MB

The installer is slightly less than half of its previous size. The installed app bundle in /Applications is even less by proportion. Let’s see how the new client can be broken down in a pie chart.

piechart
  • Frameworks continue to consist of Qt libraries and dependencies.
  • Plug-ins are about 72 % of our file provider extensions. They might shrink in the foreseeable future by dropping the Realm database dependency.
  • Resources are things like translations which turn out quite big (in my opinion).
  • Binaries are the actual executable code files in the whole bundle. They also include some Qt dependencies and other libraries.

The Multi-Platform Tradeoff

Please note that the multi-architecture overhead for macOS still applies. We still support Intel and Apple Silicon Macs. This still doubles the binary sizes. On a distant day in the future, we can probably also drop the Intel binaries and it will again reduce the app size notably. Naturally, it is much more important to cater to our Intel users than to shrink the app just for the sake of it.

a memoji

Now, in regard to app size, we are in the same league as our major competitors again. It might not be obvious, but this has an impact in various ways. Not just for ourselves as the developers but also for our users and customers. Smaller apps improve a lot of processes and situations. And this is a substantial improvement. We are not done yet, though!