Can I please congratulate you on your README. It rapidly tells me what I'm looking at, and why I might be interested in the project. There are so many READMEs around that ... just don't do that. They ramble about technical implementation details, how their language choice is amazing, and a third of the way through the README, I'm still left wondering, "but what does this project do?".
I find it to be confusing LLM spam. It spends a lot of time talking about Qt APIs, and dearimgui... most of which could go in a separate page.
But the worst part is all code snippets are followed by an image which is not related to the code snippet. It's not what you get by typing the code... it's something completely different.
Many of my old >1K star GitHub projects were not that great, but I always made sure to create the cleanest, simplest possible READMEs, inspired by things like the Python requests library's docs (https://github.com/psf/requests). I think it helped a lot in their success.
I remember someone once created a GitHub issue requesting I turn the README into some verbose technical thing with full API docs and a bunch of people replied saying they greatly preferred the "pitch + high-level examples" style.
Yes, this is so important and yet so often not considered. This README was pretty good, thorough and not ambiguous. The number of projects that assume you know what their obscure idea relates to is huge, mainly as the authors can't put themselves in the shoes of their audience.
It still sounds like LLM which is nauseating to read. For instance: "Blender's interface is famous for how it feels. You press a number field and drag: the cursor vanishes, the value glides under your hand, and you never hit the edge of the screen. " that's ChatGPT writing.
It is ALL AI generated I can say that because I recently worked on a landing page and wrestled with Claude Opus the WHOLE way through. Claude has no idea how to write copy. Neither do any of the others, you have to edit with a fine-toothed comb.
To the project maintainer: don’t ask people to read a terrible AI generated sales pitch novella that quantifies your AI generated port against every UI framework out there.
Here’s the obvious giveaways:
“ 4. The many ways in”
“ Python, four ways”
“ tkinter: all 7,846 public names of tkinter and ttk. Nine real programs behave identically on the standard library and on BUI.”
“ Rust: the web platform, natively”
Ugh it’s excruciating. You’re better off with a readme that shows a few screenshots and installation instructions.
If you're working on a small game project without an existing framework/platform, you usually build a really bargain-basement game editor alongside it. That editor takes a long time, and it's often spent in arranging UI stuff.
If you're already using Blender to make assets, there's some benefit to stuffing Blender's UI into your game editor too.
>If you're working on a small game project without an existing framework/platform, you usually build a really bargain-basement game editor alongside it. That editor takes a long time, and it's often spent in arranging UI stuff.
Not in an age of AI.
I mean if you want to code all this stuff by hand, I get it. But that's a choice. And since it's a choice that means shoehorning a Blender UI into a "bargain-basement game editor" (and having a "bargain basement game editor) isnt really needed. You absolutely don't need to spend a lot of time arranging UI stuff.
Game tooling is pretty trivial now and it's not user-facing. Again, I fully understand why someone would want to do this themselves still but let's not pretend thats not a choice at this point.
Blender had a very different ui before and a big redesign, so most people have different opinions between the old and the new design. It sounds like you find all of them awful. I find that surprising and wonder what 3d program you find have good ui.
I have used every version of blender and it has always felt harder than it should.
I have used 3Ds max, maya, lightwave, cinema4D, milkshape, wings, Houdini, unreal engine 1 - 5, Hammer, Threejs editor and probably more. The Blender UI is worse than all of the above.
At the time of blender's old ui 3Ds max had menus nested 5-6 level deep in an ui that would make gimp very good design. Between that 3Ds max praise, conflating old blender ui and new blender ui, and not providing any specifics on what makes blender so bad (I just provided some about 3D max) I have to assume there is no truth to it. We will agree to disagree. I think blender ui is excellent, but a 3d editor is a specialised app.
The question was which one do you think has a good UI... I'd be keen to know your opinion on this as well, what you think the current high water mark is in 3D design software UI is, or do you think they all suck, but Blender just sucks the most?
With 3Ds Max listed as good UI we really must just have different tastes, hah! :D
You've given quite a list of tools with different purpose.
For 3D work I would personally rate
Modo 3D, Zbrush > Blender, Houdini > Softimage XSI > Maya > space intentionally left empty :P > 3Ds max
Blender UI looks very nice and is very customizable. I think it's "ok" in beginner discoverability (none of 3D softs is great at that really) but when you get experienced with it it's one of the best.
I really like how they managed to keep all the tools and views pretty consistent given how many things you can do in it. Whether you are working on objects, vertices, nodes, movie clips you get the same shortcuts where possible.
> I think a lot of the new blender generation has baby duck syndrome.
Maybe some of them do, but even though I disliked the UI at first, I've come to appreciate it as I've learned it. It's simply different from most other software, so that obviously causes friction. However, I think once you learn it, it's quite a good system. There's a tradeoff between optimizing for familiarity/new users, and providing an optimized experience for advanced users.
I'm not a professional designer or 3D modeler but I've used Blender quite a bit. I know what you mean but the latest UI post redesign isn't bad.
Blender does a LOT of stuff. Its not an easy product to create an UI for. But I think the problem is much bigger when coming from a different 3D package than when learning from scratch.
My teenage kids use Blender as the first 3D package they've ever learned. I was impressed with how quickly they ramped up through videos and learning from each other.
> Baby duck syndrome is a cognitive bias where people automatically prefer the first system, interface, or product they learn to use, judging all later versions or alternatives by how well they match that initial experience.
That's actually extremely common in scientific (GUI) software. And in any professional setting I guess.
> That's actually extremely common in scientific (GUI) software. And in any professional setting I guess.
I don't think that qualifies. There's an important distinction to be made between an aesthetic preference versus a professional not appreciating a tool being mucked with. Anything that interferes with my workflow without immediately providing substantial benefit is something that's actively harmful. In fact even if it does hypothetically provide huge benefits I still might not want to deal with it right this second.
So if it's for an employer it's rational but if you're making the same choice for yourself it isn't? If one of those is baby duck syndrome they all are.
I think they're noting how the nature of baby duck syndrome might depend on whether the change introduced is within something that is for work or for play.
As in, that people who refuse change in their play activity are in some way different (less rational? more "syndromatic"?) than those who refuse change in their breadwinning activity.
I see the distinction, but am not sure I agree. It's just a neurotype spectrum of the same phenomenon. Baby duck is baby duck
Why not? For similar applications it would be really beneficial to not have to reimplement all the little UI interactions they've polished over the years
This is just repeating a common meme. Blender's UI layout and organisation is fine, but this is a UI library. There's nothing wrong with blender's UI technically, in fact its pretty decent overall
I absolutely detest it (TBF I haven't used it for the past ~2 years) but I also recognize that it's an incredibly difficult problem space that lacks an obviously good solution, the tool itself is inherently and irreducibly complex, it's a free project with extremely limited resources, it's been consistently improving over time, etc, etc.
Everybody hates all serious 3d application interfaces… they’re just complicated. I’m professionally competent in Houdini, Maya, Max, Blender, Zbrush, Marvelous Designer, the UE editor… they all suck in various ways but it’s all a giant set of trade-offs and priorities. Beyond that, lots of these programs have lineages that go back decades longer than almost any modern dev environment and being so complex, UI changes can be quite disruptive. Kind of like why so many *nix cli tools are the same as they were decades ago. A lot of (no, not all) developers think they have the most complex tooling in the computer world — they definitely don’t.
There's a lot of thought in Blender's UI, and a lot of improvements over the years.
Fundamentally all 3d modelers have inherent degree of complexity. The ones that give a "simple" facade with fewer options make other things harder or having to look into obscure places.
All of that are beside the point however: people will use this as a GUI library, not as a Blender's UX design.
No? I think there would easily be other use cases where Blenders UI would be very suitable, e.g. Audio software.
It is not a UI paradigm that you would use for just anything, but for certain poweruser software it is one of the best paradigms I have seen, especially since they managed to get rid of 90% of the rough corners in the past decade of development.
Despite rumours to the contrary not everything is best interacted with via an LLM. If you want to go to that degree then have at it, all you need is an old school TTY on a serial cable, but the rest of us quite like having UIs designed to fulfil a purpose rather than a soup of Claudeish prose describing a progress bar.
That's really cool! I burned some tokens trying to develop something similar but gave up halfway. A lot of people criticize Blender's UI but as someone who has been using blender for more than a decade now I just find it so elegant. Just the customizability itself is something I miss on most 3D software, if not all of them. Being able to just split screens and change their functionality, paired with the tabs for different workflows, it is a really good solution for a very complex software. I'd like to see a game engine with this much UI freedom.
For anyone looking at Rust GUI: don't expect GPUI to be the fastest. From what I've heard, Iced, Slint, Dioxus Native, Freya, etc are all faster. Despite claims of being blazingly fast, GPUI isn't that optimized. Zed gets away with it because it's UI is simple.
These are CPU-only times for the state management / style / layout / etc, but don't include rasterization (additional work in the benchmark harness required to measure GPU time sensibly), probably aren't fully apples-to-apples, and could probably do with testing some more complex layouts.
Why the snarky comment? We already have to data points: one person heard it was faster, another person heard it was slower. If more and more people tell what they've heard then we will know the truth. Please go read how science works!
If only the game I am surely going to develop some day would not waste 7% of the rendering budget on drawing the menu sliders! Must research all options now before I start. Must make an objective choice, so I need number that can be compared neutrally between frameworks. So, rendering performance it is.
This matches my findings. Asides from some performance footgun, it all strikes me as a single purpose, low level thing with a DX only an LLM could love. I suppose many today don't need more than that but I found the other Rust GUI solutions to be maturing rapidly with better stories across the board.
The main thing GPUI has going for it is mind share and that's a great thing to have. The mind share is unfortunately highly fragmented though as the original authors are not interested in selling a GUI library. Hopefully the community efforts will come together to produce a more polished and general library. A well used library is better than a better designed one maintained by a single person.
One of the biggest problems with GIMP and Inkscape is how GTK renders numeric inputs. Look at the size of those +/- icons on the toolbar. For drawing software with lots of numeric inputs, that means an insane waste of space. Proprietary software like DaVinci and even Photopea have much smaller inputs, allowing them to create far more complex GUIs and featuring without cluttering the window.
A lot of these UIs were built around icons, following the direction MS Office took in the early 2000s. These once had colours and were somewhat distinguishable.
When they tried to jump on newer trends they made them all monochrome, and they don't have distinctive sillouettes so it's just completely inscrutable. That Inkscape screenshot is horrible. I count 129 icons.
And yet they still devote so much space to their bizarre colour palette, which is huge but still manages to omit most of the gamut? It's the kind of design that really only comes from decades of OSS development.
I just want to be able to crop and draw on top of images. Like old Paint. That is literally all I want to ever do with images. What should I use in Linux for this purpose
Photocraft has been working alright for me. I really struggled to learn GIMP, and I haven't found any easy lightweight image editing tool that replaces Paint.NET for me before trying Photocraft. It's still a little confusing since I'm not used to photoshop-like bindings and layout, but it hasn't been too hard to adjust. (I also only ever use it for small simple edits, drawing, cropping, color gradients, background removal, etc.)
I easily modified pinta to do exactly this. You mean overlay, right? It can overlay, draw, manipulate, and I added a better file navigator so I can see which imagery I want to overlay to begin with. My use case was scientific in nature. What is yours, if you don’t mind my asking?
Inkscape is actually one of the few FOSS apps that is actually pretty intuitive to use. In fact, way back when I first started using vector design tools, I found it more intuitive/had better feedback than Illustrator (same thing can't be said about GIMP vs Photoshop). Inkscape really is great, but I have one huge gripe: I'm sure there's a system to it, but the file export name never stays what I want it to be...
I'm surprised how much everyone's opinions differ in this thread. I've always found blender's UI incredible but inkscape's awful (though nowhere near as bad as gimp)
People are confusing UX with UI. Inkscape UX might be better for many people but it would be hard to argue that Inkscape UI is better - it got better recently but it's still far from blender polish.
Ive been thinking this would be amazing to do for ages. happy someone finally did it. its the perfect system for interfaces where speed matters. hope to see more 3d modellers, video editors, daws and simulation systems built on this.
This looks like a nice quick option for python scripts. I've made a web interface using fastapi for my python script because that seemed the most sane choice at the time but I would've used tkinter but for my lack of familiarity with tk/tcl and it's retro look.
I have a python "DSL" which allows to create a simple UI for synth parameters you also make in python. It uses Tk and looks like, mmm, Tk with all other Tk issues. Project was abandoned because of it. Looks like it's time to revive!
I was just a kid in 2002, so couldn’t contribute, but I remember checking the MoneyMeter going up every day, so that the community could buy out Blender and make it free software. GPL does restrict it, but it’s also only the only reason Blender is not a long forgotten piece of software from the 90s.
Well.. Old discussion but I actually think it's the better way (sorry. MIT, you are more free then anything).
Either contribute back or stay away from open source work that others did for you.
My understanding is that the LLM stripped away the non-UI code from Blender. The majority of the code is ported directly from GPL'd code from the Blender code base.
After further exploration, it does work, but not without fiddling around with the tkinter code that exists. Not bad results; better than the original Tkinter rendering, anyway, unless you like that retro look.
But, can it work without GPU? All native toolkits have fallback to software rendering. I do not uderstand what is gained, cpu was good enough for that since Windows 95 era? Just do not redraw every frame like in games but retain instead?
I'm excited, and will try this! Its provenance speaks loads, as Blender is a beacon of software design, open-source or otherwise.
I'm an EGUI fanboy, but am looking to truly compare it to other things, especially non-immediate mode. I have no gripes with EGUI, other than it seems to create an application size floor, and I suspect memory use could be better. It has never blocked me, including for complex applications with GPU rendering etc.
Blender is peak OSS. I'm in! Will give this a shot for my next limited-scope application. I'm also experimenting with GPUUI.
I will try Slint if I ever do embedded with a full GUI.
I will poke at this, because I saw the same sentiment in a HN thread yesterday:
>" You write Rust or React and want a native desktop UI without shipping a browser." You don't need to ship a browser to do GUIs in rust. Some people do, and justify it through comparisons to Electron (Tauri) - I suspect this is a pushback against that?
Another thing I will poke at from comments: If you're going to dismiss this as a non-native UI and therefor inferior: Post specifically what features your OS-native toolkit or OS conventions have that won't work here. (Is it hotkeys, color scheme, a Je-ne-sais quoi? What OS specifically? My pet theory is these are all MacOS users, but I'm not sure)
I have the same idea 10 years ago. :D I am so happy seeing that somebody was capable of making it. I always admire blenders UI and all the work developers did on making it.
This is excellent. I thought about this years ago for an OpenGL based desktop UI. Apple's UI is using something similar I believe. And the Windows UI too is mostly rendered using Direct3D (which is comparable to OpenGL) since Vista.
I hope someone else uses this for a new Linux distro.
Well, given that so many folks always argue they are Linux distros even though it is an implementation detail for userspace APIs, ChromeOS, WebOS and Android.
Others have noted that GPLv3 is required (which is a show stopper for many) but I'd like to mention that I find the pill saying "GPLv2 or Later" in the project itself misleading.
Especially since v2 and v3 have vastly different consequences.
Nice. I have my own GPU GUI toolkit I'm satisfied with and developed because I did not want to have yet another imgui looking app that required gpu accelerated UI toolkit.
But, if I did not invest last two years into my own toolkit, I'd definitively consider.
The project is dishonest. Maybe AI agent was instructed to split Blender UI code, but what happened instead is AI implemented a classic immediate UI, not even reading the code.
I just tried few very standard operations that every Blender user knows:
1) Drag vertically across multiple number inputs to enter multiedit mode - failed (even though main page advertises this: "Drag down across X, Y and Z to edit all three at once")
2) Hover on field, press Ctrl+C, hover on another field - press Ctrl+V - failed
3) Press shift while dragging - it glitched
4) Scale UI - failed
5) Collapse collapsible block - failed
6) Right click - reset to default - failed
7) Jump to next field with Tab (while editing) - failed
8) Automatic alt accelerators - failed
9) Tooltips - N/A
10) AI slop: funny cursors, focus outline
So basically it is more like styled imgui (less polished than Blender), rather than Blender's UI.
I'm not saying that it is impossible to do a honest implementation, but one needs to kick agent much more to prevent cheating, and actually know how Blender UI works.
Probably it works in other implementations (I did not try); in web it produces <input type="text"> and agent likely gave up trying to simulate such details there.
Nice! I've been waiting for someone to do this for a long time. Now I'll just need to wait a bit longer for someone to apply this to FreeCAD. Boy oh boy!
I don’t buy arguments like much faster than X. Take X let claude work on it for 2 days and it will be fast. In case of gpui I took the community version as a part of my project and it is quite fast because it is optimized for my app.
What makes you say that? It was the part that goes...
> The repository is built entirely using LLMs, with no human-written code. The drawing and interaction code is ported from Blender's sources, and the behavior is checked by tests: C, Python, Rust and JavaScript suites, the tkinter side-by-side programs and the GPU parity test.
and thats fine. without LLMs no human would have invested so much required time and effort to do this! and now such awesome things are possible with a bit of tokens and a small prompt. overall a win
It would be nice if the original chat history with claude is included in the repo. That way design choices are clear and its easier to review and improve upon.
Super curious about the limitations you see in GPUI! I built a custom rust UI framework for the software i am developing but i always kept an eye on GPUI, what is limiting about it in your opinion?
GPUI and Makepad are the two Rust UI frameworks that seem the most interesting for what I'm looking for in a UI framework (hybrid immediate/retained mode, self-drawn widgets, open source).
Not so much limitations. Rather behaviors I'm used to, around scrolling content, input fields, splitters for resizing panes etc. Can't recall specifics right now. Just small things that I usually get out of the box had to be implemented here.
Definitely a worthy goal but they've gone down a super weird route by providing clones of other GUI toolkit APIs on top of this. Your target audience is people that are ok with vibe coding. They don't care about switching to a proper Blender-style API.
GPL is the best opensource license. But seeing this as a library, it might need to be LGPL rather than pure GPL (ala, you can use it as a library without "tainting" your source, but if you make modifications to the library, you must release it).
May be, but AGPL is intended for server based apps, rather than local apps (which i presume this library is intended, but i suppose the javascript part can be considered to fall into the server category).
Most native widget toolkits don't actually support rendering into 3d canvasses very well, nor very compact UI layouts. I generally prefer native widgets, but for a dense prosumer application, they aren't always the correct choice (and you'll see even Apple stray from their native UI widgets for, say, Logic Pro)
None of the apps on my computer have any sort of cohesion with each other. It might just be me but I think this idea is dead, on Windows and Linux at least.
But the premise is silly: if Linux has two native toolkits, how is this a sensible recommendation?? Hint: it isn’t, because GTK/Qt are not the native, but rather simply the most used.
Also, go to Mac, and SwiftUI still doesn’t support all that AppKit used to, leaving an incentive for developers to deviate from the platform’s recommendation.
And back to Windows, WinUI still doesn’t fully replace Win32 or Windows Forms, so same conclusion applies.
> But the premise is silly: if Linux has two native toolkits, how is this a sensible recommendation?? Hint: it isn’t, because GTK/Qt are not the native, but rather simply the most used.
I’m going to hazard the claim that in probably most people’s conception of the term, GTK is native in GNOME, Cinnamon, Xfce, etc. and Qt is native in KDE, LXQt and Sailfish OS.
I am pretty sure HN is an enclave of the only remaining people in the world who think this way. A sanctuary preserving the last specimens of an endangered species.
Can I please congratulate you on your README. It rapidly tells me what I'm looking at, and why I might be interested in the project. There are so many READMEs around that ... just don't do that. They ramble about technical implementation details, how their language choice is amazing, and a third of the way through the README, I'm still left wondering, "but what does this project do?".
I find it to be confusing LLM spam. It spends a lot of time talking about Qt APIs, and dearimgui... most of which could go in a separate page.
But the worst part is all code snippets are followed by an image which is not related to the code snippet. It's not what you get by typing the code... it's something completely different.
Many of my old >1K star GitHub projects were not that great, but I always made sure to create the cleanest, simplest possible READMEs, inspired by things like the Python requests library's docs (https://github.com/psf/requests). I think it helped a lot in their success.
I remember someone once created a GitHub issue requesting I turn the README into some verbose technical thing with full API docs and a bunch of people replied saying they greatly preferred the "pitch + high-level examples" style.
Yes, this is definitely one of my pet peeves. Just give me input --> output, then everything in between.
Yes, this is so important and yet so often not considered. This README was pretty good, thorough and not ambiguous. The number of projects that assume you know what their obscure idea relates to is huge, mainly as the authors can't put themselves in the shoes of their audience.
It still sounds like LLM which is nauseating to read. For instance: "Blender's interface is famous for how it feels. You press a number field and drag: the cursor vanishes, the value glides under your hand, and you never hit the edge of the screen. " that's ChatGPT writing.
It is ALL AI generated I can say that because I recently worked on a landing page and wrestled with Claude Opus the WHOLE way through. Claude has no idea how to write copy. Neither do any of the others, you have to edit with a fine-toothed comb.
To the project maintainer: don’t ask people to read a terrible AI generated sales pitch novella that quantifies your AI generated port against every UI framework out there.
Here’s the obvious giveaways:
“ 4. The many ways in” “ Python, four ways”
“ tkinter: all 7,846 public names of tkinter and ttk. Nine real programs behave identically on the standard library and on BUI.”
“ Rust: the web platform, natively”
Ugh it’s excruciating. You’re better off with a readme that shows a few screenshots and installation instructions.
Not to mention that it includes screengrabs! Which a shocking amount of gui and web projects dont do
I can't figure out if you're being sarcastic
The very first line of their README:
"Blender's user interface, as a library you can use from Python, Rust, JavaScript (React, Svelte), C, C++ and Dear ImGui."
This tells me a huge amount of what I need to know, if I'm interested in this project or not.
Compare it to another very recent example posted on hn: https://github.com/rivet-dev/rivet - You need to get some way down the page until it discloses what you might be able to do with the project. https://github.com/rivet-dev/rivet#use-cases
But by that stage, even though it isn't very far down the page, I'm already checked out.
thank you, I thought you didn't like it lol. let me know if you use it.
We also have a discord server, lmk if you're planning on using BUI!
I love the general idea behind Blender's UI.
And I do appreciate the effort that goes into it, especially in the latest versions as it got much better,
But I really really really REALLY don't want that UI in anything else other than Blender.
Please don't.
If you're working on a small game project without an existing framework/platform, you usually build a really bargain-basement game editor alongside it. That editor takes a long time, and it's often spent in arranging UI stuff.
If you're already using Blender to make assets, there's some benefit to stuffing Blender's UI into your game editor too.
In that case it would be competing with imgui, egui and similar libraries, but the submission is comparing it to GPUI.
>If you're working on a small game project without an existing framework/platform, you usually build a really bargain-basement game editor alongside it. That editor takes a long time, and it's often spent in arranging UI stuff.
Not in an age of AI.
I mean if you want to code all this stuff by hand, I get it. But that's a choice. And since it's a choice that means shoehorning a Blender UI into a "bargain-basement game editor" (and having a "bargain basement game editor) isnt really needed. You absolutely don't need to spend a lot of time arranging UI stuff.
Game tooling is pretty trivial now and it's not user-facing. Again, I fully understand why someone would want to do this themselves still but let's not pretend thats not a choice at this point.
After trying blender for about 20 years I still find the UI/UX awful. I think a lot of the new blender generation has baby duck syndrome.
Blender had a very different ui before and a big redesign, so most people have different opinions between the old and the new design. It sounds like you find all of them awful. I find that surprising and wonder what 3d program you find have good ui.
I have used every version of blender and it has always felt harder than it should.
I have used 3Ds max, maya, lightwave, cinema4D, milkshape, wings, Houdini, unreal engine 1 - 5, Hammer, Threejs editor and probably more. The Blender UI is worse than all of the above.
At the time of blender's old ui 3Ds max had menus nested 5-6 level deep in an ui that would make gimp very good design. Between that 3Ds max praise, conflating old blender ui and new blender ui, and not providing any specifics on what makes blender so bad (I just provided some about 3D max) I have to assume there is no truth to it. We will agree to disagree. I think blender ui is excellent, but a 3d editor is a specialised app.
The question was which one do you think has a good UI... I'd be keen to know your opinion on this as well, what you think the current high water mark is in 3D design software UI is, or do you think they all suck, but Blender just sucks the most?
With 3Ds Max listed as good UI we really must just have different tastes, hah! :D
You've given quite a list of tools with different purpose.
For 3D work I would personally rate
Modo 3D, Zbrush > Blender, Houdini > Softimage XSI > Maya > space intentionally left empty :P > 3Ds max
Blender UI looks very nice and is very customizable. I think it's "ok" in beginner discoverability (none of 3D softs is great at that really) but when you get experienced with it it's one of the best.
I really like how they managed to keep all the tools and views pretty consistent given how many things you can do in it. Whether you are working on objects, vertices, nodes, movie clips you get the same shortcuts where possible.
> I think a lot of the new blender generation has baby duck syndrome.
Maybe some of them do, but even though I disliked the UI at first, I've come to appreciate it as I've learned it. It's simply different from most other software, so that obviously causes friction. However, I think once you learn it, it's quite a good system. There's a tradeoff between optimizing for familiarity/new users, and providing an optimized experience for advanced users.
I'm not a professional designer or 3D modeler but I've used Blender quite a bit. I know what you mean but the latest UI post redesign isn't bad.
Blender does a LOT of stuff. Its not an easy product to create an UI for. But I think the problem is much bigger when coming from a different 3D package than when learning from scratch.
My teenage kids use Blender as the first 3D package they've ever learned. I was impressed with how quickly they ramped up through videos and learning from each other.
Apparently there is a crowd still using 2.79b, the last version with the old UI (current LTS is 5.2)
My baby duck fingers could probably pick up LightWave 3D again in an hour or two. I could never gel with Blender.
First time I hear "baby duck syndrome".
> Baby duck syndrome is a cognitive bias where people automatically prefer the first system, interface, or product they learn to use, judging all later versions or alternatives by how well they match that initial experience.
That's actually extremely common in scientific (GUI) software. And in any professional setting I guess.
> That's actually extremely common in scientific (GUI) software. And in any professional setting I guess.
I don't think that qualifies. There's an important distinction to be made between an aesthetic preference versus a professional not appreciating a tool being mucked with. Anything that interferes with my workflow without immediately providing substantial benefit is something that's actively harmful. In fact even if it does hypothetically provide huge benefits I still might not want to deal with it right this second.
......huh?
So if it's for an employer it's rational but if you're making the same choice for yourself it isn't? If one of those is baby duck syndrome they all are.
I think they're noting how the nature of baby duck syndrome might depend on whether the change introduced is within something that is for work or for play.
As in, that people who refuse change in their play activity are in some way different (less rational? more "syndromatic"?) than those who refuse change in their breadwinning activity.
I see the distinction, but am not sure I agree. It's just a neurotype spectrum of the same phenomenon. Baby duck is baby duck
Why not? For similar applications it would be really beneficial to not have to reimplement all the little UI interactions they've polished over the years
Polished is not the word I reach for when I think of Blender's UI
This is just repeating a common meme. Blender's UI layout and organisation is fine, but this is a UI library. There's nothing wrong with blender's UI technically, in fact its pretty decent overall
> Blender's UI layout and organisation is fine
I absolutely detest it (TBF I haven't used it for the past ~2 years) but I also recognize that it's an incredibly difficult problem space that lacks an obviously good solution, the tool itself is inherently and irreducibly complex, it's a free project with extremely limited resources, it's been consistently improving over time, etc, etc.
Everybody hates all serious 3d application interfaces… they’re just complicated. I’m professionally competent in Houdini, Maya, Max, Blender, Zbrush, Marvelous Designer, the UE editor… they all suck in various ways but it’s all a giant set of trade-offs and priorities. Beyond that, lots of these programs have lineages that go back decades longer than almost any modern dev environment and being so complex, UI changes can be quite disruptive. Kind of like why so many *nix cli tools are the same as they were decades ago. A lot of (no, not all) developers think they have the most complex tooling in the computer world — they definitely don’t.
There's a lot of thought in Blender's UI, and a lot of improvements over the years.
Fundamentally all 3d modelers have inherent degree of complexity. The ones that give a "simple" facade with fewer options make other things harder or having to look into obscure places.
All of that are beside the point however: people will use this as a GUI library, not as a Blender's UX design.
Can you give examples of what are polished UIs in your opinion?
No? I think there would easily be other use cases where Blenders UI would be very suitable, e.g. Audio software.
It is not a UI paradigm that you would use for just anything, but for certain poweruser software it is one of the best paradigms I have seen, especially since they managed to get rid of 90% of the rough corners in the past decade of development.
Egui also has terrible defaults: https://github.com/emilk/egui
But a good design system does the trick. Artcraft apps use this library and their Adobe clones come very close to the original apps.
Every Arftcraft app and non Artcraft related software clones trying to reuse the Artcraft libs (craft-libs) already have everything ready to use.
Yeah but, this can’t possibly be any worse than tkinter.
Q: “Whats wrong with tkinter?!?!”
A: It sucks, that’s what!
Imagine this spinning off and becoming this generation's GTK.
Not going to happen, as it's GPL.
Akin to Java in Oracle vs Google case, keeping the API but LLM-ing the implementation can be considered as fair use.
There's this thing called Qt...
Typical HN top comment negativity :)
That UI is fine to be on many more places than Blender, given that many libraries people use are way worse. Imgui for one example.
How about a simpler UI consisting of just a text input field for AI.
Yeah, nothing like e.g. watching a video or drawing something and changing settings by asking AI.
Despite rumours to the contrary not everything is best interacted with via an LLM. If you want to go to that degree then have at it, all you need is an old school TTY on a serial cable, but the rest of us quite like having UIs designed to fulfil a purpose rather than a soup of Claudeish prose describing a progress bar.
"Oh you talk about different paint brushes and pigments? How about just hiring a painter?"
Yeah you can do that. If you have low standards and don't need control of the details.
That's really cool! I burned some tokens trying to develop something similar but gave up halfway. A lot of people criticize Blender's UI but as someone who has been using blender for more than a decade now I just find it so elegant. Just the customizability itself is something I miss on most 3D software, if not all of them. Being able to just split screens and change their functionality, paired with the tabs for different workflows, it is a really good solution for a very complex software. I'd like to see a game engine with this much UI freedom.
Do you think it's with trying to revive Blender Game Engine? Edit: just learned there's a fork https://upbge.org/
BGE underperformed in my machine a lot, since AMD Athlon days. Godot it's far better.
I still think Softimage|XSI was the best UI/UX that ever existed. Moving to Blender from it was... painful.
Hi, the creator of BUI here.
I do hate vibe coding. So I took a different approach for BUI.
Instead of asking the agent to decouple the UI, I asked it to remove all the parts which isn't a part of UI logic.
Turns out AI is pretty good at removing than generating.
For anyone looking at Rust GUI: don't expect GPUI to be the fastest. From what I've heard, Iced, Slint, Dioxus Native, Freya, etc are all faster. Despite claims of being blazingly fast, GPUI isn't that optimized. Zed gets away with it because it's UI is simple.
Really? From what I've heard, Iced, Slint, Dioxus Native, Freya, etc are all slower.
If only there were some way to determine speed based on observable data. Oh well maybe some day.
Some actual numbers (vibe coded benchmark ported from the JS framework benchmark):
Dioxus above is Dioxus Native.These are CPU-only times for the state management / style / layout / etc, but don't include rasterization (additional work in the benchmark harness required to measure GPU time sensibly), probably aren't fully apples-to-apples, and could probably do with testing some more complex layouts.
Why the snarky comment? We already have to data points: one person heard it was faster, another person heard it was slower. If more and more people tell what they've heard then we will know the truth. Please go read how science works!
If only the game I am surely going to develop some day would not waste 7% of the rendering budget on drawing the menu sliders! Must research all options now before I start. Must make an objective choice, so I need number that can be compared neutrally between frameworks. So, rendering performance it is.
This must be the lowest effort hacker news comment ever. And I've made some really low effort myself.
It is enough to counter the original claims though.
This matches my findings. Asides from some performance footgun, it all strikes me as a single purpose, low level thing with a DX only an LLM could love. I suppose many today don't need more than that but I found the other Rust GUI solutions to be maturing rapidly with better stories across the board.
The main thing GPUI has going for it is mind share and that's a great thing to have. The mind share is unfortunately highly fragmented though as the original authors are not interested in selling a GUI library. Hopefully the community efforts will come together to produce a more polished and general library. A well used library is better than a better designed one maintained by a single person.
It would be such a boon if GIMP and Inkscape could adopt blender's fantastic GUI
A side by side screenshot of inkscape/gimp/blender for those who don't have them installed
https://cleanshot.com/share/WW9yFdMy
One of the biggest problems with GIMP and Inkscape is how GTK renders numeric inputs. Look at the size of those +/- icons on the toolbar. For drawing software with lots of numeric inputs, that means an insane waste of space. Proprietary software like DaVinci and even Photopea have much smaller inputs, allowing them to create far more complex GUIs and featuring without cluttering the window.
Tbh, you could summarise a lot of the issues with their UI as "GTK"
A lot of these UIs were built around icons, following the direction MS Office took in the early 2000s. These once had colours and were somewhat distinguishable.
When they tried to jump on newer trends they made them all monochrome, and they don't have distinctive sillouettes so it's just completely inscrutable. That Inkscape screenshot is horrible. I count 129 icons.
And yet they still devote so much space to their bizarre colour palette, which is huge but still manages to omit most of the gamut? It's the kind of design that really only comes from decades of OSS development.
It's just pointless to port GIMP over at this stage, you may as well do a greenfield project without the cultural baggage and poor foundations.
I just want to be able to crop and draw on top of images. Like old Paint. That is literally all I want to ever do with images. What should I use in Linux for this purpose
Perhaps Gradia [0], Pinta [1], or Krita [2].
[0]: https://gradia.alexandervanhee.be/ [1]: https://www.pinta-project.com/ [2]: https://krita.org/en/
Photocraft has been working alright for me. I really struggled to learn GIMP, and I haven't found any easy lightweight image editing tool that replaces Paint.NET for me before trying Photocraft. It's still a little confusing since I'm not used to photoshop-like bindings and layout, but it hasn't been too hard to adjust. (I also only ever use it for small simple edits, drawing, cropping, color gradients, background removal, etc.)
There is paint.rs[0] as well which is intended to be paint.net open source alternative which works on Linux.
I’d be interested to know what you think about it
[0]: https://github.com/daijro/paint.rs
https://photoflare.io/ is the one I've found to be most usable. Pinta is just unpleasant to use at high resolutions and it's buggy.
I easily modified pinta to do exactly this. You mean overlay, right? It can overlay, draw, manipulate, and I added a better file navigator so I can see which imagery I want to overlay to begin with. My use case was scientific in nature. What is yours, if you don’t mind my asking?
Use KolourPaint, it's a windows 9x/XP paintbrush clone with only a few improvements tacked on.
IrfanView in Wine, f12 opens a really old-school paint toolbox.
GIMP of course.
KPaint
Inkscape’s UI is much, much better than Blender’s, IMO.
Inkscape is actually one of the few FOSS apps that is actually pretty intuitive to use. In fact, way back when I first started using vector design tools, I found it more intuitive/had better feedback than Illustrator (same thing can't be said about GIMP vs Photoshop). Inkscape really is great, but I have one huge gripe: I'm sure there's a system to it, but the file export name never stays what I want it to be...
Weird, I find it to be an unscrutable turd
I'm surprised how much everyone's opinions differ in this thread. I've always found blender's UI incredible but inkscape's awful (though nowhere near as bad as gimp)
People are confusing UX with UI. Inkscape UX might be better for many people but it would be hard to argue that Inkscape UI is better - it got better recently but it's still far from blender polish.
With a much simpler set of tasks to accomplish.
Fantastic is the last word I would use the describe blenders UI/UX.
and then rename it blimp
De gustibus et coloribus non est disputandum.
Gustus est sicut nates - divisus est.
lorem ipsum
vel adrogantia
This feels like those AI models suddenly switching to Chinese mid-conversation
This entire thread caught me off guard lmao
cum emptore
expecto patronum
Ive been thinking this would be amazing to do for ages. happy someone finally did it. its the perfect system for interfaces where speed matters. hope to see more 3d modellers, video editors, daws and simulation systems built on this.
Love Blender, but it’s GUI, especially anything that could use native OS components, is not what I love about it (judged on macOS).
This looks like a nice quick option for python scripts. I've made a web interface using fastapi for my python script because that seemed the most sane choice at the time but I would've used tkinter but for my lack of familiarity with tk/tcl and it's retro look.
I have a python "DSL" which allows to create a simple UI for synth parameters you also make in python. It uses Tk and looks like, mmm, Tk with all other Tk issues. Project was abandoned because of it. Looks like it's time to revive!
Hi, the creator here.
It's time to do it! Also we have a discord, if you end up reviving it, do share it over here:
https://discord.gg/MWXZfdyM3D
It looks good, but the GPL license restricts the use cases
I was just a kid in 2002, so couldn’t contribute, but I remember checking the MoneyMeter going up every day, so that the community could buy out Blender and make it free software. GPL does restrict it, but it’s also only the only reason Blender is not a long forgotten piece of software from the 90s.
Well.. Old discussion but I actually think it's the better way (sorry. MIT, you are more free then anything). Either contribute back or stay away from open source work that others did for you.
Can you even copyright LLM output? Even the readme points out humans didn't make any of the code.
My understanding is that the LLM stripped away the non-UI code from Blender. The majority of the code is ported directly from GPL'd code from the Blender code base.
In this case you just can't spin it any other way than it being a derivative work of Blender. And this is great.
This is not the spirit of open source.
Is it bui's author decision or a consequence of Blender itself being GPL?
in what way?
Three things one must never ask: a woman her weight, a man his salary, and an HN commenter what “use case” the GPL ruined for them.
In this case LGPL would be a more expected license for UI libraries, at least.
But that wouldn't work for a straight derivative of a GPL project.
I gave it a quick try (Fedora 44/Python/pyenv) with some Tkinter code which is supposed to just work... It doesn't.
After further exploration, it does work, but not without fiddling around with the tkinter code that exists. Not bad results; better than the original Tkinter rendering, anyway, unless you like that retro look.
Can you please tell me exactly what happened, so I could fix it? Thank you!
The readme suggests it's a port of the blender code, at least the renderer is claimed to be so:
> The drawing code is a C port of Blender's own widget code
How can we guarantee BUI is still performant?
But, can it work without GPU? All native toolkits have fallback to software rendering. I do not uderstand what is gained, cpu was good enough for that since Windows 95 era? Just do not redraw every frame like in games but retain instead?
Yes, it defaults to CPU and explains when you might want to use the GPU and why in this section https://github.com/ppmpreetham/BUI#18-rendering-on-the-cpu-a...
I'm excited, and will try this! Its provenance speaks loads, as Blender is a beacon of software design, open-source or otherwise.
I'm an EGUI fanboy, but am looking to truly compare it to other things, especially non-immediate mode. I have no gripes with EGUI, other than it seems to create an application size floor, and I suspect memory use could be better. It has never blocked me, including for complex applications with GPU rendering etc.
Blender is peak OSS. I'm in! Will give this a shot for my next limited-scope application. I'm also experimenting with GPUUI.
I will try Slint if I ever do embedded with a full GUI.
I will poke at this, because I saw the same sentiment in a HN thread yesterday: >" You write Rust or React and want a native desktop UI without shipping a browser." You don't need to ship a browser to do GUIs in rust. Some people do, and justify it through comparisons to Electron (Tauri) - I suspect this is a pushback against that?
Another thing I will poke at from comments: If you're going to dismiss this as a non-native UI and therefor inferior: Post specifically what features your OS-native toolkit or OS conventions have that won't work here. (Is it hotkeys, color scheme, a Je-ne-sais quoi? What OS specifically? My pet theory is these are all MacOS users, but I'm not sure)
> The GPU renderer is opt-in: Direct3D 11 on Windows (gpu/intern/gpu_d3d11.c) and OpenGL 3.3 core on Linux (gpu/intern/gpu_gl.c).
Direct3D is at version 12 on Windows[1].
What tech on macOS? OpenGL?
[1] https://en.wikipedia.org/wiki/Direct3D
Be aware of the license. You can only use it in GPLv3 programs.
It'd be awesome if kitty[1] and calibre[2] adopted the Blender UI.
[1] https://github.com/kovidgoyal/kitty
[2] https://calibre-ebook.com/
Why should kitty use Blender UI? It's just a terminal emulator with no GUI elements and is already GPU accelerated.
I have the same idea 10 years ago. :D I am so happy seeing that somebody was capable of making it. I always admire blenders UI and all the work developers did on making it.
This is excellent. I thought about this years ago for an OpenGL based desktop UI. Apple's UI is using something similar I believe. And the Windows UI too is mostly rendered using Direct3D (which is comparable to OpenGL) since Vista.
I hope someone else uses this for a new Linux distro.
Well, given that so many folks always argue they are Linux distros even though it is an implementation detail for userspace APIs, ChromeOS, WebOS and Android.
Others have noted that GPLv3 is required (which is a show stopper for many) but I'd like to mention that I find the pill saying "GPLv2 or Later" in the project itself misleading.
Especially since v2 and v3 have vastly different consequences.
Nice. I have my own GPU GUI toolkit I'm satisfied with and developed because I did not want to have yet another imgui looking app that required gpu accelerated UI toolkit.
But, if I did not invest last two years into my own toolkit, I'd definitively consider.
I'm interested to learn more, do you have link?
The project is dishonest. Maybe AI agent was instructed to split Blender UI code, but what happened instead is AI implemented a classic immediate UI, not even reading the code.
I just tried few very standard operations that every Blender user knows:
1) Drag vertically across multiple number inputs to enter multiedit mode - failed (even though main page advertises this: "Drag down across X, Y and Z to edit all three at once")
2) Hover on field, press Ctrl+C, hover on another field - press Ctrl+V - failed
3) Press shift while dragging - it glitched
4) Scale UI - failed
5) Collapse collapsible block - failed
6) Right click - reset to default - failed
7) Jump to next field with Tab (while editing) - failed
8) Automatic alt accelerators - failed
9) Tooltips - N/A
10) AI slop: funny cursors, focus outline
So basically it is more like styled imgui (less polished than Blender), rather than Blender's UI.
I'm not saying that it is impossible to do a honest implementation, but one needs to kick agent much more to prevent cheating, and actually know how Blender UI works.
Hi, the creator here.
It works perfectly on my machine, and another friend's machine. Just to be sure, which demo did you try? the website or python or rust?
I checked only web samples in https://bui.preetham.top/
Probably it works in other implementations (I did not try); in web it produces <input type="text"> and agent likely gave up trying to simulate such details there.
Oh yes, the web implementations there for mockup.
Let me update the web samples. Thank you!
Nice! I've been waiting for someone to do this for a long time. Now I'll just need to wait a bit longer for someone to apply this to FreeCAD. Boy oh boy!
I don’t buy arguments like much faster than X. Take X let claude work on it for 2 days and it will be fast. In case of gpui I took the community version as a part of my project and it is quite fast because it is optimized for my app.
so, why gpui not taking Claude?
It's obviously vibe coded, but it's quite well done by the look of the ideas and implementation.
What makes you say that? It was the part that goes...
> The repository is built entirely using LLMs, with no human-written code. The drawing and interaction code is ported from Blender's sources, and the behavior is checked by tests: C, Python, Rust and JavaScript suites, the tkinter side-by-side programs and the GPU parity test.
...wasn't it?
Amazing Amazing Project
I have been remaking a Blender style UI in Kotlin for my Umamo project because I love Blender's UI that much.
I think I will keep going with my own efforts, but this looks nice!
Yess, never stop building!
We also have a kotlin binding support coming soon, btw!
not a single mention of a11y or accessibility, so please be careful before using it for general purpose applications.
That was my first thought as well. It would have been reassuring to at least see it on the roadmap.
It'll be added soon!
>Who wrote it?
>The repository is built entirely using LLMs, with no human-written code. ...
and thats fine. without LLMs no human would have invested so much required time and effort to do this! and now such awesome things are possible with a bit of tokens and a small prompt. overall a win
It would be nice if the original chat history with claude is included in the repo. That way design choices are clear and its easier to review and improve upon.
Until the project gets abondoned after a few days, perhaps months. :)
Maybe, or maybe not. Let the fittest survive. Also what is developed in a few days can be easily picked up in a few days.
And that is fine; until an malicious actor pushes a PR of "add a botnet that connects to an IRC CnC" somewhere in the code.
"Decoupled from project by external developer" generally means "with a very high chance of immediate bitrot".
But is it built in Rust?
The source code is in C/C++, there's no need to port it to rust
If you're going to ask Claude to write a library with a web version, can you also ask Claude to write a web playground?
That sounds like an amazing idea. I've been using a lot of Rust+GPUI and sometimes behaviors that I'm expecting to be there just aren't.
Swapping it for UI that's as battle tested as Blender might improve things.
Super curious about the limitations you see in GPUI! I built a custom rust UI framework for the software i am developing but i always kept an eye on GPUI, what is limiting about it in your opinion?
I'm curious about the limitations too.
GPUI and Makepad are the two Rust UI frameworks that seem the most interesting for what I'm looking for in a UI framework (hybrid immediate/retained mode, self-drawn widgets, open source).
Not so much limitations. Rather behaviors I'm used to, around scrolling content, input fields, splitters for resizing panes etc. Can't recall specifics right now. Just small things that I usually get out of the box had to be implemented here.
But is there a UI editor?
Is it retained mode UI?
I’ve thought many times “Man, those widgets look terrible!”
I’ve not once thought “Man, those widgets are slow!”
I never found them terrible, but I guess I spent a long time staring at them so maybe I just got used to them.
Do Maya and others have better UIs? Honestly, I find them more repulsive than Blender's
No system theme matching? No system fonts? A fast UI toolkit is great, but so is one that matches the rest of my desktop.
Is this even a thing anymore? The only app I can think of that matches the system theme is GIMP… not exactly a paragon of design
Definitely a worthy goal but they've gone down a super weird route by providing clones of other GUI toolkit APIs on top of this. Your target audience is people that are ok with vibe coding. They don't care about switching to a proper Blender-style API.
Just because you can...
More like a “why not both” situation, imho. I have apps I could port to use this immediately.
always liked blenders design language, looks cool!
Blender continues being the GOAT
Cool but Blender's interface is not a general purpose UI. EGUI/GPUI and the rest are.
License of GPUI is Apache and BlenderUI is GPL, which is limiting for adoption.
GPL is the best opensource license. But seeing this as a library, it might need to be LGPL rather than pure GPL (ala, you can use it as a library without "tainting" your source, but if you make modifications to the library, you must release it).
Hello, creator here.
I don't think we can use LGPL since we were derived from Blender's Source code, which is GPL.
AGPL if you wanna be serious about it.
May be, but AGPL is intended for server based apps, rather than local apps (which i presume this library is intended, but i suppose the javascript part can be considered to fall into the server category).
OK who's gonna burn the tokens rewriting a whole Linux system with BUI? You know you want to...
Lol, I'll showcase that project in the website if someone actually does that
BlenderOS
This project would benefit from a longer Readme.
Use the native widget toolkit if the platform you target; your users will love you more.
Most native widget toolkits don't actually support rendering into 3d canvasses very well, nor very compact UI layouts. I generally prefer native widgets, but for a dense prosumer application, they aren't always the correct choice (and you'll see even Apple stray from their native UI widgets for, say, Logic Pro)
They actually do, just not on GNU/Linux, **BSD worlds.
Apple bought Logic.
> Apple bought Logic.
A quarter-century ago, yes. If they haven't migrated to native widgets in 25 years, that might be an indicator of something
None of the apps on my computer have any sort of cohesion with each other. It might just be me but I think this idea is dead, on Windows and Linux at least.
I target all platforms, and so does most other desktop software today.
Ok for linux it's GTK and Qt. What's native for windows in 2026? It's a complete joke of system UI.
In 2026 it’s WinUI. Microsoft has been clearer about it: https://learn.microsoft.com/en-us/windows/apps/winui/winui3
But the premise is silly: if Linux has two native toolkits, how is this a sensible recommendation?? Hint: it isn’t, because GTK/Qt are not the native, but rather simply the most used.
Also, go to Mac, and SwiftUI still doesn’t support all that AppKit used to, leaving an incentive for developers to deviate from the platform’s recommendation.
And back to Windows, WinUI still doesn’t fully replace Win32 or Windows Forms, so same conclusion applies.
> But the premise is silly: if Linux has two native toolkits, how is this a sensible recommendation?? Hint: it isn’t, because GTK/Qt are not the native, but rather simply the most used.
I’m going to hazard the claim that in probably most people’s conception of the term, GTK is native in GNOME, Cinnamon, Xfce, etc. and Qt is native in KDE, LXQt and Sailfish OS.
I am pretty sure HN is an enclave of the only remaining people in the world who think this way. A sanctuary preserving the last specimens of an endangered species.