The overall result gives all powers to server owners, and IMHO is pretty terrible for users. Definitely much worse than current web, UX-wise.
- There is forced, instant auto-update. You don't get to postpone updates, and in fact, there is a system for real-time update of all of the clients.
- There is no inner links by design. It's like being in giant SPA, bookmarks are useless.
- User has zero power of customization (unless author designs a system for it). Adblock? Nope. Increase font size or change to more legible font? Not with A12. Custom userstyles? Not here.
- Oh, and if you want to extract information, there is no convenient HTML representation to parse, or an API to intercept. It's all internal state, driven by server. Maybe start reverse-engineering stuff.
- Special mention for search: it's all under server owner control. Server has to provide index for search engines, and inside page, implement Ctrl-F if they feel like it. There is no way to ensure that the index is up to date, nor that it actually has any relation to site's contents.
- About cookies and privacy: each user gets identity, and it is immediately sent to a server at each connection. That identity is salted so it's different between app, but within app, it's permanent.
I'll give credit to the author, it is very much like BBS. As a user, this makes me appreciate how great the current web is, even with all its downsides.
As a special mention, there are some _weird_ claims in here...
- Apparently "eval()" is disabled, to prevent "‘middleboxes injecting code’ adtech style tampering." I had to read this twice and check the calendar.. it's 2026, the last time middleboxes could inject code was over a decade ago, before https was everywhere.
- The only allowed connections are to originating host ("directory"), and it has to proxy whatever resources it has. It is no longer possible to keep control of HTML and offload large files to CDN - if you want CDN, you go all the way in and surrender all control.
(Author claims this means "request record/replay is trivial for both archival and development purposes.", but unless the script is fully deterministic, any application can easily defeat archival replay by putting a changing number into request and expecting it back. This is, again, 100% inline with author's vision of user having no control)
- Author talks a lot about local-first, and you can bundle media with code in initial downloads. But many examples are of regular remote apps. "image sharing" app which loads images on-demand. A video player which can only stream videos. A complex app which is backed by VNC-like remote desktop connection. None of this is local-first!