Background: I’m building my first Sailfish app — a light meter for film photography. This post is me thinking out loud after wrestling with the UI toolkit for a while. Warm criticism, not a complaint. I’ve ordered the new Jolla phone and have only tested the SDK. Creating this free native app is a small way of showing my enthusiasm and say thanks to the Jolla crew! I’m excited!
The identity tension no one talks about
When I started building with Silica, I assumed the framework would just fade into the background and let me make the app I had in mind. It mostly does, but there’s a specific moment where it doesn’t, and it took me a while to articulate what was happening.
Sailfish’s design system is built around ambiences and theme colours. Your app inherits the user’s chosen palette, which is elegant in principle, but if your app has its own visual identity (a brand, a specific mood, an aesthetic that isn’t “Jolla default”), you hit a fork: either override the theme and break consistency with the OS, or follow it and feel like your app has no face of its own.
For Jolla-made apps, this isn’t a problem. They are the OS. But for Proton Mail, or a Meta app, or my little darkroom-aesthetic light meter, the mismatch is quite real. The transition between Silica’s default list patterns and a custom-designed page feels like flipping between two apps. You either commit fully to the Silica idiom and surrender your design intent, or you fight the framework constantly.
I’d love to know how others have handled this. Is there a middle path I’m not seeing? And from one who’s never used sfos on a daily basis, what do actual users expect and desire (not just thinking of the prejudiced phantoms in my head
)
On the “it looks dated” criticism
I see this in the forums occasionally and I always want to push back, but felt I think there’s something real underneath it that’s worth naming properly.
Sailfish doesn’t look dated to me. The motion, the edge gestures, the ambience system — it has a personality that a lot of Android skins would kill for. But I think what some users are actually sensing, without quite naming it, is an accessibility gap rather than an aesthetic one.
Modern UIs, especially post-2020 Material You, iOS 16+, and GNOME’s recent work — lean heavily on explicit structure: dividers, card surfaces, corner radii, generous padding, and slightly heavier default type weights. WCAG 2.1’s guidelines push the same direction. The reason isn’t decoration, it’s that these visual cues do cognitive work. They tell you where one item ends and another begins without making you measure the gap between them.
Sailfish is more minimal. Structure is implied through spacing and text contrast rather than drawn lines. That works well on a clear screen in good light. But at arm’s length, or in bright outdoor conditions, or for anyone with slightly reduced contrast sensitivity (which affects more users than most designers expect, a not small amount of men have some form of colour vision deficiency, and contrast sensitivity generally degrades from your mid-30s onward (I’m here
) ), the implicit structure gets ambiguous. Where’s the divider between these two list items? Is this a section header or a row label?
The thin system font makes this more pronounced. Text can meet contrast ratio requirements (WCAG’s minimum is 4.5:1 for normal text) and still feel visually light if the stroke weight is low. Contrast ratio measures luminance difference, not perceived weight — a hairline font at 4.5:1 reads very differently from a regular-weight font at the same ratio.
I think this is what might register as “dated”, not the aesthetics, but a certain visual fragility under non-ideal conditions.
A small thing that would make a big difference
An optional accessibility mode with bolder default type weight, explicit list dividers, slightly increased item height would probably address most of this without touching the ambience system or the core aesthetic. iOS has had something like this for years (Bold Text, Increase Contrast), and it made a real difference for a lot of users who didn’t identify as having accessibility needs. They just found the UI easier to read.
Even a community-level convention — “if you’re building a Sailfish app, consider adding a high-contrast text option in settings”.
*I’m curious whether others have run into the app-identity question, and whether the accessibility framing matches what you’ve experienced. Happy to share screenshots from my own app if that’s useful context. ![]()
Again, I really believe in sfos, jolla and it’s my first post, so don’t hate on me too much* ![]()
Warm regards from Sweden!





