Live data from Hacker News

Clojure Desktop UI Framework

github.com

71–80 of 139 posts

Re: Clojure Desktop UI Framework

#71
post #34

Earlier quoted context omitted.

Native look&feel makes for a consistent UX across apps. Users learn one set of conventions and UI controls that uniformly applies to all applications. In addition, all applications benefit from enhancements made to the native UI toolkit and integration with the OS (input methods, file dialogs, keyboard navigation, automations, …). Moreover, web UIs tend to be less sophisticated and less power user friendly, due to HT…

I don't personally believe it's ever been true that users want the same UI styling across apps. When given the option to customize the colors or layout of an app, users will do that. People want their applications to follow common UI patterns, but applications should have some kind of personality to them, otherwise they just look like Microsoft or Apple products

If you follow common UI patterns, your app will look like Apple or MS app, and there's nothing wrong with that. For a long laundry list of reasons: https://news.ycombinator.com/item?id=41368184

Re: Clojure Desktop UI Framework

#72
Clojure and Flatlaf [1] tick all the boxes for me. If I want declarative-ish UI, I can always throw in Seesaw [2]. Everything else I find cumbersome, pulls tons of unnecessary dependencies and (usually) ends up abandoned in a year or two. With Swing, I know it is well-documented and will work for the next 30 years. But YMMV and I'm hoping that HumbleUI could be an exception.

[1] https://www.formdev.com/flatlaf/

[2] https://github.com/clj-commons/seesaw

Re: Clojure Desktop UI Framework

#74
post #65
post #32

The readme says it is aiming for a “web look”, with no intention to make it look — and, presumably, behave — native. As a user, that’s not what I expect and hope for from a desktop application.

Professional software (think Clip Studio Art, 3DS Max, Autodesk Fusion and alike) are almost exclusively disconnected from "native" looks, behavior and theming, which is perfectly fine, better than having a different experience depending on your OS. I feel like it's mostly consumers who ask for native look, and particular users on macOS, as almost all other professional-oriented software doesn't offer that. But yet i…

I doubt most consumers ask for a native look. It's more like an HN meme.

I don't even think native macOS UI is so great cross-plat programs should target it. It's full of its own weird conventions like a "New item" button being a tiny "+" at the bottom of the left sidebar, the last place I always look.

Safari is an example of UX that has stuck to hard macOS conventions and was always worse off for it. Not until recently did it begin relenting, and now it's bearable to use as a daily driver. Xcode is another classic example of hostile native macOS UX conventions. Finder.app is another.

I'd rather software ask "what's the UX that makes the most sense?" rather than "how can I make my UI look native?" On HN people seem to think by solving the latter, you solve the former. But that isn't the case.

Re: Clojure Desktop UI Framework

#75
post #64

Earlier quoted context omitted.

At this point it feels like this argument is dead an buried. So many non-native apps on every platform, most platforms even have multiple official GUI toolkits/widget styles so even first party apps are inconsistent.

The most consistently-looking desktop I have runs under Linux. With a few settings and a right theme, all GTK2, GTK3, Qt, and Java apps look and feel pretty much the same, in a pleasant way. MacOS is a close second, with a few native apps that can't decide exactly what a checkbox or a button should look like. And Win10 on my wife's machine is a salad, reminding me of Linux desktop experience from 1998.

> And Win10 on my wife's machine is a salad, reminding me of Linux desktop experience from 1998.

This is pretty funny, because if you just use Gnome apps + desktop environment, you have a consistent experience. But if you only use Microsoft/Windows GUIs, panels and applications, it nowhere near as consistent.

So even the Gnome team can build better UI and UX than Windows themselves can, pretty telling.

Re: Clojure Desktop UI Framework

#76

Does anyone close to the project know when/if it will no longer be in "No docs, and everything changes every day" release status?

We have workshop planned for the middle of September, after that, I hope things will start to stabilize a bit. I already started documenting some stuff in examples app, sort of self-documenting integration tests. Will have normal docs too, of course

https://s.tonsky.me/share/Screenshot%202024-08-27%20at%2017....

Re: Clojure Desktop UI Framework

#78
post #10

I'm sure Clojure is a great language for some tasks... But, looking at the examples (picked the Wordle one since I know that game): https://github.com/HumbleUI/HumbleUI/blob/main/dev/examples/... I find it extremely hard to read. Even small snippets, say line 56 to 74 which define this "color", "merge-colors" and "colors"... then the "field" one lines 76 to 117 is even harder. is it more natural read for people famil…

As someone who’s written a lot of Clojure and have been using it on and off since 2009, this looks like decent quality code to me.

I think it’s just a familiarity thing. Clojure is different from most languages in that it’s a lisp and it’s immutable-first functional. That gives it a bit of a learning curve compared to other languages, but I find other simpler languages quite dificulte to read until I’m familiar with them, too.

Re: Clojure Desktop UI Framework

#79
post #70
post #31

where did the myth that people prefer apps that look native to the platform come from? There are two types of apps: 1. the ones that professionals use and 2. the ones that consumers use. for 1. they don't care if it looks native, as long as it works and is performant e.g. DAWs, Video Editing tools, Trading, etc. 2. likewise I don't think it matters that much. my guess is the myth came from OS makers.

When apps have native look and feel, they have consistent behaviour, affordances and accessibility: - buttons are labeled and placed correctly, and respond to expected input (including secondary focus and secondary action on MacOS, for example) - dropdowns/selects behave correctly, and respond to expected input (for example, you can type to select in MacOS dropdowns). - windows have OS-defined areas for drag/resize,…

All good points, all true. But what’s also true is that current trend is to come up with arbitrary-looking controls even on apps made by Apple themselves. Nobody knows what native is supposed to look like. I’m not saying it’s good, it’s just what is happening.

Re: Clojure Desktop UI Framework

#80
post #32

The readme says it is aiming for a “web look”, with no intention to make it look — and, presumably, behave — native. As a user, that’s not what I expect and hope for from a desktop application.

It’s a tradeoff. You either make your app native but only for one platform, or you make it look “universal” and run on all three.
Post reply on HN