logoalt Hacker News

elpockoyesterday at 5:14 PM7 repliesview on HN

ImGui is great if you need an ad-hoc UI for development/debug tools, but it's not meant to be used in actual applications aimed at end-users. I can't speak for other devs but I certainly wouldn't want my development tools waste time with pointless animations. I hope this doesn't encourage even more devs to build inaccessible software featuring ImGui's idiosyncratic, non-standard UX.


Replies

hiltiyesterday at 5:54 PM

I agree with your points about ImGui's intended use case, though I think the landscape is a bit more nuanced. You're right that ImGui excels for dev tools and that its non-standard UX isn't ideal for end-user apps. That said, devs reach for ImGui in end-user apps because lightweight cross-platform alternatives are scarce. Qt is heavy, Electron is heavier, native toolkits mean multiple codebases. I built a techy tool with ImGui (JSONL Viewer Pro) and it works well enough for users who care more about functionality than polish. Not saying it's right for consumer apps, but for technical tools it can be pragmatic.

show 4 replies
dymkyesterday at 6:08 PM

IME, it's great for building full standalone applications. I've used it to build several internal tools for non-engineers. A tool like that doesn't need to work with a screen reader, or have native buttons, etc. It needs to be easy to build and iterate on.

This isn't to say a tool for non-engineers should have animations to make it useful. ImAnim should probably be used sparingly, if at all.

If you need the features of a full GUI toolkit, then by all means use Qt or wxWidgets etc, but that's a very big jump in project complexity.

johnnyanmacyesterday at 10:17 PM

>I certainly wouldn't want my development tools waste time with pointless animations.

On one hand I agree. On the other: where are these high performance real-time GUI kits these days? If it came down to IMGUI or shoving Electron into my app...

swatcoderyesterday at 6:07 PM

For applications where the aim is high sales volume and low support, you're absolutely right.

But "development/debug tools" is actually just a subset of professional or industrial utility applications where user count is low and support is on the extremes (either "capable self-support" or "Yes, Bob, of course we'll add that for you").

And in those utility applications, you probably don't need the noisy toy animations associated with modern consumer software, but animated data representations can be really valuable.

klaussilveirayesterday at 5:59 PM

imgui success is a silent protest from tons of C++ developers, fed up with the over-engineering and enterprise-ification of everything in this bloated ecosystem.

show 1 reply
SoufianeGfxyesterday at 7:37 PM

I depends on the field. On VFX/Game world, Dear ImGui seem to be the way to go. Almost all news comer in this field sells Dear ImGui based software. It's fast and light and trivially profilable that's what matter matter for real time applications. And bonus can be integrated in any platform in few hour of devs. Before having any ui in VR or game console (not necessary debug/dev tool) in Qt or anything else it will take ages.

Der_Einzigeyesterday at 10:41 PM

I’m still waiting for the day for someone to get a clue and build a pro or prosumer level LLM front end with Imgui. It’s the perfect use case for imgui to have a “blender” type product.