HN user

scrivanodev

53 karma

Developer of Scrivano for Handwritten Notes https://scrivanolabs.github.io

Posts2
Comments12
View on HN

I can only speak for Flatpak, but I found its packaging workflow and restricted runtime terrible to work with. Lots of undocumented/hard to find behaviour and very painful to integrate with existing package managers (e.g. vcpkg).

I also think Qt/QML is a very underrated technology. I have been developing a handwritten notes for Linux/Windows using Qt Quick for quite some time [0]. The experience has been a mixed bag though.

I've encountered tons of bugs (many of them still unfixed) that I had to find very ugly workarounds for. Also, while a declarative style UI language can have a lot of benefits, it does also have a lot of limitations. For example, in my application I required a (infinite) canvas to rendering the ink strokes, which would be a perfect job for QGraphicsView, but there is no equivalent in Qt Quick. So I had to roll out my own component (which uses Skia under the hood), but that was quite painful. Since Qt 6, the Qt Quick scenegraph is rendered with a custom RHI backend (abstracting over Vulkan, Metal, OpenGL and DirectX) which I had a lot of trouble integrating with third party engines (I really wish they had a WebGPU backend).

[0] https://scrivanolabs.github.io

QML is a great language to make GUIs. A few years ago I tried XAML, and it honestly kind of sucked in comparison (the verbosity alone made it painful to work with). I haven't tried Slint UI, but supposedly their DSL is even better since it fully compiles to native Rust code.

I have completely disabled the history feature, so when I navigate to the homepage there's no "recommended" content. I rely on search exclusively to find what I need. Also I don't have the YouTube app installed, if I need it I just use the browser. This helps minimising the distractions a lot.

As for content, it depends what you're looking for. For me, I'm mostly into maths and physics and there are so many channels and lecture series that were immensely helpful. For example, I recently went through this playlist on Lie Groups [0].

[0] https://youtube.com/playlist?list=PLN_4R2IuNuuRgJb00X2J53Iq9...

The vast majority of FLOSS projects are underfunded and we have far more cases of projects that had to shutdown because they lacked funding than projects that were successfully able to fund themselves.

Survivor bias backed examples are not a good argument.

I don't want to build a complete UI system from the ground up, but there are certain points where I'd like to be able to customize things, like adding new widgets and having some way to render 2D things without needing a graphics API surface -- think HTML canvas. I feel like ImGui does a pretty good job here, giving you drawing primitives.

Yes, Qt may not be super friendly with this. However, it is perfectly possible. Qt lets you integrate an "external canvas" that you can render with your favourite graphics API (e.g. OpenGL) and integrate it in the Qt Quick scene (or widgets if you prefer). For example, I did this with my notetataking application, Scrivano [1], for handwriting, where the main canvas is a separate OpenGL view that renders content using Skia, while the rest of the UI is standard Qt Quick.

[1] https://scrivanolabs.github.io