This is a very interesting idea that could save a lot of time and pain in big projects.
The example shown reminds me pf Zed's CRDTs [1], and their journey to build a fine-grained version control system for agentic development [2]—I imagine this work could prove useful to the Zed/Cursor team, and likely shares a lot of functionality with DeltaDB [2].
I’m pretty sure one of the Zed founders wrote tree-sitter, so I’m sure there’s some overlap
It’s really cool to see tree-sitter unlock so many of these use cases. I love using [difftastic] for my diffing tool to get context aware diffs. So in the example from the article, the diff would highlight the `void` and `int` changes with a heavier background of red and green respectively
Max Brunsfeld in fact, yep. He went along to Zed from the Atom team.
But curiously Zed hasn't been very interested in Tree-sitter. They don't seem to see it as having much strategic value to their company, which is odd because lots of other people do see it as a valuable platform. You have Tweag building code formatting on it, you had GitHub building stack graphs on it, you have Merigraph. You even have sone really "out there" stuff like the Software Evolution Library!
It comes down to tree sitter being the heart of a semantic IDE. If you use Tree sitter's data to apply a fix for a formatting problem or a lint error you are making a semantic edit to your code using it: you aren't describing that change in terms of the line/col in a text buffer then, but first in terms of the path to the node you wish to adjust in the syntax tree and the semantic rules used to target it.
Zed doesn't want to build a semantic IDE. They've said it a million times, they want to build a text editor, so they just aren't going to put the tree representation at the center of the experience. A text editor's UX is built around the text buffer so that it emulates experience of coding while sitting at a typewriter filling out punch cards. We can do better than the typewriter as the anchoring metaphor for all UX!
I think those projects I listed that build on top of Tree-sitter (all ignored by Zed) all see the potential of semantic changes and of Tree-sitter as a platform for making them.
I don't mean a standalone syntax highlighter, I mean it's a whole environment in which you can write software and in which things integrate. An Integrated Development Environment.
But Zed doesn't want that product. That product, if they cared that they owned it, would compete with Zed
It's a great idea and challenging YouTube's monopoly is noble, but I don't see how the economics work out. The current pricing [1] charges $20/month for videos up to 20 minutes of video, which is reasonable but still far too expensive for most people to use.
It's a great first step, but I struggle to see who this would be used by. So far Bluesky seems to be the only decentralized platform that's broken into the mainstream, and it'll only be more difficult for the video market.
Was curious about Cloudflare's pricing as a comparison... it looks like $1 per 1000 minutes viewed, which means a 10 minute video will cost #1 to have 100 views... That just seems prohibitively expensive to me, it's pretty much 100% of the lower end of video advertising just for delivery fees.
I know there are competing and cheaper services, but it still seems to be a big burden to get into. I've been trying to use Rumble a bit more, as well as appreciate the entry of Pepperbox, Floatplane and others. It's still a bit of a mess and none of them match the 10' experience of YouTube on Android TV, but it's getting better.
If you're not streaming live I believe you can serve video content out of R2 instead, which still somehow only charges for storage but offers completely free outbound bandwidth (egress).
Cloudflare Stream isn’t just for live-streaming, it’s for generic video hosting too. It does transcoding, adaptive bitrate, HLS, etc. It’s terrible and you shouldn’t use it, but it does a lot more than just serve static video files like R2.
Just to add, you should never serve video straight from R2 unless you pre-render all your videos for all major devices. Otherwise you get very, very subpar device buffering performance. Generally use R2 as a cache layer over your stream processor (CF Stream).
I may be misremembering, but I thought R2 terms disallowed video streaming content... I'm unable to find any references to this now, though I didn't do an exhaustive search.
> [...] Finally, we made it clear that customers can serve video and other large files using the CDN so long as that content is hosted by a Cloudflare service like Stream, Images, or R2.
Making a 20 minute long video is a sizable time investment. I imagine many people who are willing to invest that much effort into creating content would be happy to pay $20/month for hosting.
That's a fair point, especially considering everything else you get with the plan.
However, the pricing is still a far cry from non-decentralized solutions (for example, MUX's free plan offers 100K minutes per month [1]) and so the only other selling point is joining the fediverse—which is a good thing, but hard to get people to convert on (in Bluesky's case the turmoil that is now X was required).
It's a nice idea, but the execution is taking the wrong path in my opinion. By rendering everything to a `<canvas>` they're sacrificing any hope of accessibility and compatibility with browser standards for UX.
I would have much preferred a React-Native-style approach, where they render to true HTML instead. Even then, WASM files are too heavy for quick loading times without good internet (and sometimes even with).
The projects I see that would most benefit from something like this are complex internal apps that need to be used in different places but aren't worth porting over/rewriting, but they would also suffer from terrible UX given the constraints of this design.
For all other projects, it makes for more sense to use React Native.
Accessibility is for all user experiences, not just websites. WCAG is still a good resource for native apps even where some specifics do not 100% apply.
If Qwasm is referring to Quake, it absolutely should have, for example, legible color contrast and be usable if you are colorblind.
What else do you build on the web with a UI framework if not a website? If you're making a distinction between websites and webapps, it's equally important for both to be accessible and work as expected with a browser.
VSCode is a webapp [1], that is most often used wrapped in a shell that lets it act as a desktop app.
Even if you do consider it separate from webapps, it should still work with tab navigation and screen readers, which rendering to `<canvas>` doesn't allow for (at least without some very hacky workarounds).
Flutter faces a similar problem; to render cross-platform, they use a custom layer not standard to the system, and then try to emulate all the behaviors of a native app, which often feels broken and unnatural and is wasted work because the engineers are just rewriting and reshipping everything the platform already offers—at the cost of accessibility and general user experience.
Great framework: one additional factor that should be considered (maybe this is implicit) is the platform you're building for.
You can run lots of languages on the web now thanks to WASM, but it's very hard to justify something other than TypeScript. If you're building a cross-platform app, React Native is the modern standard.
If you're building something similar to what everyone else is building (from a technical viewpoint), use the tech they use.
100% agree. These factors are generalized and without context. The context you bring is essential to making the right decision. The next post I'm writing is all about how to apply this framework to your specific context.
The example shown reminds me pf Zed's CRDTs [1], and their journey to build a fine-grained version control system for agentic development [2]—I imagine this work could prove useful to the Zed/Cursor team, and likely shares a lot of functionality with DeltaDB [2].
- [1]: https://zed.dev/blog/crdts
- [2]: https://zed.dev/blog/sequoia-backs-zed