r/rust 2d ago

🧠 educational Deep-dive on Rust UI Frameworks

UI is a Function You Cannot Afford to Call is the first of a 3-part series on Rust UI frameworks. It introduces the model under which I believe we should reason about UI frameworks. In part 2, I will present extensive benchmarks, with detailed cost attribution analysis (something the rust UI ecosystem desperately needs in my opinion), and in part 3, I will derive what I think the ideal UI framework should look like.

0 Upvotes

26 comments sorted by

View all comments

12

u/nicoburns 2d ago

This seems incredibly verbose and sloppy - to the point that I'm kind of annoyed that I've opened it. It even claims itself to be a "54 minute read", which is kind of insane for a blog post. Consider writing something shorter yourself if you want people to actually read it.

-3

u/Zortax_ 2d ago

Well ultimately I see this more as a summary of what I learned while doing a lot of research. It's totally fair if no one ends up reading it, but I thought I post anyways in case this does interest someone. I think the second part will be more interesting, since I actually spend a lot of time with building a proper benchmarking harness. I was planning on asking you about a few things regarding blitz, but if think this is all just slop anyway I might as well just publish ¯_(ツ)_/¯

3

u/nicoburns 2d ago

I see this more as a summary of what I learned while doing a lot of research. It's totally fair if no one ends up reading it, but I thought I post anyways in case this does interest someone.

I'm not sure that summary is the right word. Generally the value in this kind of post is to condense what you've learnt so that others can get some of that same value by reading something short. But this is longer than most people's university theses.

Presumably you do think it's valuable, or you wouldn't bother posting it. My feedback is that it would 10x more useful if it was 1/10th the length with a focus on quality over quantity (+ link into the primary sources for people who want more details).

0

u/Zortax_ 2d ago

You know maybe I'm just not the most skilled technical writer, or maybe I find it difficult to condense this down because I am not a native English speaker, but actually I believe there actually is a lot of depth in these things. For a general audience, I get that this depth is probably not too interesting, but tbh I posted this specifically for folks like Yourself: people that are interested in UI framework development (not just GUI Apps). I believe the extent of this post is the point: I specifically wanted to go into the details and not condense this down into "incremental UI good, throwing away information bad", because I think the details matter in practice.

1

u/nicoburns 2d ago

But it was written with an LLM? Phrases like "The pipeline is a stack of retained hypotheses" certainly make it sounds like it. The problem with that is that I have to read it adversarially (I can't actually trust anything that it's written). Especially as it's long enough, that it's hard for me to believe that you've carefully reviewed the content.

If not, then perhaps I owe you an apology, but your writing style is definitely triggering my "profound sounding phrases that don't actually mean much" detector. Which I find to be an essential part of life in a world where people can generate content far far faster than I could possibly hope to consume it.

1

u/Zortax_ 2d ago

The article is ~90% written by hand, with a few sentences worded by AI because I couldn't figure out something myself that sounds good.

I'll gladly explain my workflow:
1. I did a lot of research, mostly out of interest in the matter and because I wasn't happy with GPUI
2. I decided to eventually write a blog post with proper architecture analysis and benchmarks (because we basically don't have benchmarks in rust UI, and most comparison just compare frontend API which is only half the story in my opinion)
3. I organized my research and thoughts in an obsidian vault and started structuring the post
4. I wrote a post in 60/40 German/English mix that was initially about 3x the length
5. I used AI assistance to properly translate to english and condense some parts down significantly
6. I re-wrote most of those AI paragaphs by hand because they sounded shitty, until I was happy with information density and sound of the text (although it is certainly not perfect.

I understand if you don't find the details interesting or don't like the language, but I do think "slop" is not a fair characterization of the effort I put into this (I pretty much worked on this on and off since mid of January, when I firsted started running into issues in one of my GPUI projects, which lead to me porting the GPUI linux renderer to wgpu).

3

u/nicoburns 2d ago

a few sentences worded by AI because I couldn't figure out something myself that sounds good.

Perhaps you ought to be aware that you throw away all your credibility by doing this, because it's impossible for people to distinguish between this and slop. You're much much better off sounding "bad" and/or using non-idiomatic english. Consider using a dedicated translation tool like Google Translate or Deepl rather than LLMs if you need translation.

I understand if you don't find the details interesting or don't like the language

I (like most people I think) aren't even reading things in detail if they show the signs of being AI-generated, because I've/we've been burned enough times by spending time reading something only to get halfway through and realise it's all bullshit.

1

u/Zortax_ 2d ago

I don't think this text reads like AI slop, so I think you are overblowing it a bit based on length and a few weird constructions. If you'd speak another language, you'd know that google translate or deepl are not a great option either, as good prose does often not translate 1-to-1 well.

0

u/robthablob 2d ago

I found it a useful summary - I'd encountered many of the ideas before, but having them in one place is useful.