To be honest, I don't want a browser. Browsers fundamentally suck, because they never fit the bill perfectly. I want a collection of loosely coupled programs that functionally compose into a user agent application.
I'd wish someone with sufficient resources would someday look at the current behemoths, decompose them into independent subsystems (as small as physically feasible and rationally possible), clearly define the interfaces between those, and release it all with an opinionated glue that makes the whole thing "just work" out of the box. So if one wants to tweak something, they're not in for forking the whole unholy mess, but just the relevant piece.
Basically, I want an user agent built out of Lego-like blocks, in spirit of the original UNIX way (I don't mean pipes as a method of communication though, of course). If I don't like some piece, I can pull in an alternative, or splice in a filter/router/adapter in front of the existing implementation to tweak the behavior. This is fundamentally different to current approach to extensions that merely sit aside and are consulted by the monolith. E.g. if I want an alternative cookie storage with own ideas on site isolation and cross-site interactions, I can realistically have it. Or e.g. if I want a reader-mode decluttering solution - it can be a filter spliced in somewhere appropriate - heck, a smart enough filter can replace the whole website with a different frontend. Consider that we had alternative IM clients piggybacking on the official backend APIs back in '00s and that was really good for the users.
Then automation (AI or not) becomes a matter of having pieces small enough.
(Making it tolerably performant is most likely going to be a giant issue bordering on impossible, but - hey - a man can dream, right?)
Comments
To be honest, I don't want a browser. Browsers fundamentally suck, because they never fit the bill perfectly. I want a collection of loosely coupled programs that functionally compose into a user agent application.
I'd wish someone with sufficient resources would someday look at the current behemoths, decompose them into independent subsystems (as small as physically feasible and rationally possible), clearly define the interfaces between those, and release it all with an opinionated glue that makes the whole thing "just work" out of the box. So if one wants to tweak something, they're not in for forking the whole unholy mess, but just the relevant piece.
Basically, I want an user agent built out of Lego-like blocks, in spirit of the original UNIX way (I don't mean pipes as a method of communication though, of course). If I don't like some piece, I can pull in an alternative, or splice in a filter/router/adapter in front of the existing implementation to tweak the behavior. This is fundamentally different to current approach to extensions that merely sit aside and are consulted by the monolith. E.g. if I want an alternative cookie storage with own ideas on site isolation and cross-site interactions, I can realistically have it. Or e.g. if I want a reader-mode decluttering solution - it can be a filter spliced in somewhere appropriate - heck, a smart enough filter can replace the whole website with a different frontend. Consider that we had alternative IM clients piggybacking on the official backend APIs back in '00s and that was really good for the users.
Then automation (AI or not) becomes a matter of having pieces small enough.
(Making it tolerably performant is most likely going to be a giant issue bordering on impossible, but - hey - a man can dream, right?)
This is a bold vision!
Framework-like laptop but for browser :)