I think one of the problems of the web imo is that we are trying to solve two quite different problems with one tool. I.e. publishing documents for reading and making applications for interactions. I think the browser is a pretty good tool for browsing information (think wikis, blogs, news, etc) but we are shoehorning applications (think project management tools, calendars, mail..) into them. I would like to have the…
I agree with this sentiment, but I'd take it a step further. I personally think, the fact that we're shoehorning so much app-like stuff into the web highlights the need for a good web-based app delivery mechanism. If we provide a solid app delivery mechanism, then people can create their own document publishing apps/mechanisms using that. I know this might lead to fragmentation of document formats, but hopefully ther…
Ask HN: If you could reinvent the web browser, what would you do differently?
31–39 of 39 posts
Re: Ask HN: If you could reinvent the web browser, what would you do differently?
#32I'm pretty sure today's web is going at least two different directions that can't be easily merged together. On one side we have textual and basic graphical data that is supposed to be controlled by user, like resizing, scaling, copying, bookmarking, drag and drop, and so on. On the other side we have interactive applications supposed to work strictly as-designed with complex handling of internal state, like Adobe Fl…
Thank you for this incredibly detailed answer. I too am an SPA guy, specifically because I like the clean separation between data and presentation they allow, which HTML simply doesn't. This was exactly the kind of answer I was looking for when I asked my question, so thanks again!
HTML was never intended to separate data and presentation. That's what PHP and other server-side languages (ColdFusion, Perl, etc) were used for, because HTML specifically is a presentation. Moreover, DOM, as HTML representation, is also a presentation. Considering high availability of network bandwidth, I'd say there's no more need to squeeze data into client-server channel, that's where server-side rendering comes into play with thin client just doing presentation thing.
Re: Ask HN: If you could reinvent the web browser, what would you do differently?
#33Earlier quoted context omitted.
Thank you for this incredibly detailed answer. I too am an SPA guy, specifically because I like the clean separation between data and presentation they allow, which HTML simply doesn't. This was exactly the kind of answer I was looking for when I asked my question, so thanks again!
>I too am an SPA guy, specifically because I like the clean separation between data and presentation they allow, which HTML simply doesn't HTML was never intended to separate data and presentation. That's what PHP and other server-side languages (ColdFusion, Perl, etc) were used for, because HTML specifically is a presentation. Moreover, DOM, as HTML representation, is also a presentation. Considering high availabili…
Today, we see a mish-mash of HTML + CSS (+JS) being used for presentation, since neither HTML, nor CSS can successfully solve every problem on their own. They often also need to rely on JS.
Regarding bandwidth and SSR, I disagree also. I think we should do things more efficiently where possible, not less. In my current SaaS product, if we were doing SSR instead of client side rendering, our hosting costs would be through the roof right now. As it stands, we have one large-ish download at the start, followed by very small JSON payloads thereafter. Plus, using service workers, it can work offline, which is not really possible with SSR.
Re: Ask HN: If you could reinvent the web browser, what would you do differently?
#34I'm actively exploring/implementing this, which has shaped my thoughts on the topic. 1. I'd have the browser recommend apps to install to open otherwise unsupported MIMEtypes & URI schemes. I think most desktops support this now (certainly FreeDesktop.Org-compatible Linux & BSD ones do via "AppStream"), it'll free webdevs from compatibility worries, & allow low-cohesian features like videoconferencing & (like brimste…
>7. Drop support for CSS `position:`, there's better alternatives now & it does more visual harm than good Tell me an alternative to flexbox scrolling with "position: absolute; left: 0; top: 0; bottom: 0; right: 0". I do agree "position: sticky" and "position: fixed" are harmful though.
My reasoning is that I want to prevent elements from overlapping and obscuring important information. CSS is generally designed to avoid that, which is what the "CSS is awesome" memes like to illustrate.
Re: Ask HN: If you could reinvent the web browser, what would you do differently?
#35While Tim Berners-Lee was indeed mostly concerned with (scientific) documents, with form support HTML 2 already introduced application-like features. HyperCard, one of HTML's spiritual precursors also was very much about applications. That said, I'd like one feature of the original web browser to be much more prominent (or in fact to be available at all): In-place editing and instant publication of changes, alongside…
Re: Ask HN: If you could reinvent the web browser, what would you do differently?
#36If you want to use an interpreted language you can compile the interpreter to WebAssembly (https://github.com/iodide-project/pyodide and https://github.com/RustPython/RustPython are examples).
Re: Ask HN: If you could reinvent the web browser, what would you do differently?
#37Earlier quoted context omitted.
>7. Drop support for CSS `position:`, there's better alternatives now & it does more visual harm than good Tell me an alternative to flexbox scrolling with "position: absolute; left: 0; top: 0; bottom: 0; right: 0". I do agree "position: sticky" and "position: fixed" are harmful though.
I'm not clear what you're describing with "flexbox scrolling"? My reasoning is that I want to prevent elements from overlapping and obscuring important information. CSS is generally designed to avoid that, which is what the "CSS is awesome" memes like to illustrate.
"position: absolute" can be used to disrupt the two-way size propogation. Without it you either get shrinked content on y, flexbox wrapping problem on x, scroll appearing on a wrong element in some cases (or cropping for "overflow: hidden"), or you have to set width and height of the block with scroll using css "calc()" — all these solutions are ugly.
>My reasoning is that I want to prevent elements from overlapping and obscuring important information
The most simple example of overlapping elements is a background/border. You can look around this page and find a lot of overlapping graphical elements — it's not the problem, but overlapping text (and other content) is.
"CSS is awesome" example formally has no overlapping DOM elements, no "position" attributes. It's just a block with "border" style and "width" set to some fixed amount. Often this problem happens without border on the block and remains invisible, unless two such blocks are really close together and the text begins to overlap. Still no "position" involved though.
Re: Ask HN: If you could reinvent the web browser, what would you do differently?
#38Earlier quoted context omitted.
>I too am an SPA guy, specifically because I like the clean separation between data and presentation they allow, which HTML simply doesn't HTML was never intended to separate data and presentation. That's what PHP and other server-side languages (ColdFusion, Perl, etc) were used for, because HTML specifically is a presentation. Moreover, DOM, as HTML representation, is also a presentation. Considering high availabili…
I disagree. I think HTML was originally a structured document format. And CSS was another layer on top of HTML, specifically for presentation. Today, we see a mish-mash of HTML + CSS (+JS) being used for presentation, since neither HTML, nor CSS can successfully solve every problem on their own. They often also need to rely on JS. Regarding bandwidth and SSR, I disagree also. I think we should do things more efficien…
>In my current SaaS product, if we were doing SSR instead of client side rendering, our hosting costs would be through the roof right now
It's good you mentioned your product instead of generalizing implicitly. Because SSR in some cases allows you to prerender pages and host them statically, thus significantly reducing server CPU and RAM load, and also making page loading time very fast.
>Plus, using service workers, it can work offline, which is not really possible with SSR
Similar scenario is possible with SSR, allowing for completely offline operation. SSR implementations usually require scripts to be run on the client side, and also allow for defining explicitly server-side-only and client-side-only scripts, including full transition into kind of SPA for specific pages, as well as a full SSR prerendering with dead-static content on both server and client. And gzip can help to reduce the bandwidth required.
Re: Ask HN: If you could reinvent the web browser, what would you do differently?
#39- built-in collaboration
- offline storage, data cache
- internet-archive's client, permanent web