6 ms·
The problem is, we're trying to write desktop applications on top of browsers which were designed for navigating hypertext documents. It's akin to writing apps
by hcarvalhoalves 14y ago
The problem is, we're trying to write desktop applications on top of browsers which were designed for navigating hypertext documents. It's akin to writing apps with macros inside Microsoft Word. Somehow, everybody still thinks this is sane.
Something has to give. Either browsers just turn into JS VMs with HTTP capabilities and get away with window chrome and the page interaction model (aka, back/forward), or we give up on web apps. Right now, web apps are all about endlessly duct-taping the browser together in JS to try and get a decent UX with a new, ground-breaking framework someone released this month, but developer productivity still sucks and polish is never quite there.
- mistercow 14y ago>we're trying to write desktop applications on top of browsers which were designed for navigating hypertext documents I think that's a rather silly thing to say. You might as well say that computer games are doomed because we're trying to render complex scenes using hardware that was designed for simple calculations. Just about all successful technology comes about through an evolutionary process, building on older technology and morphing into new applications. When people notice this and say "this technology was originally designed for something else! It must be wrong, so let's reinvent it from scratch!" it usually doesn't end well.
- hcarvalhoalves 14y ago> I think that's a rather silly thing to say. You might as well say that computer games are doomed because we're trying to render complex scenes using hardware that was designed for simple calculations. We certainly aren't trying to render complex scenes using hardware designed in 1995. Browsers, on the other hand, have the same interaction model since 1995, but we're trying to use it for a totally different intent (static vs. interactive). I'm talking about user experience here. > When people notice this and say "this technology was originally designed for something else! It must be wrong, so let's reinvent it from scratch!" it usually doesn't end well. It's not about reinventing from scratch, it's about actually evolving the browser. It's semi-broken currently. Mobile made the problem even more apparent (show me a useable mobile web app).
- blowski 14y agoCan you give specific examples of what is broken and how you would fix it?
- mattmanser 14y agoThis entire thread started off about one of the many things that are broken.
- randomdata 14y agoBroken may not be the best description. People are managing to make it work just fine for the most part. Unnecessary may be a better way to put it. What benefit do we really gain from doing all kinds of crazy DOM manipulations to return to what effectively amounts to a framebuffer and a few built-in drawing functions, emulating what we've been able to do on the raw hardware for decades? "It exists" seems to be the best justification at this point. And that is a pretty strong justification, don't get me wrong. There is simply nothing better for on-demand distribution of network applications. However, if we were to rebuild the model from scratch, I see no reason why we would want to include HTML as the basic building block. HTML rendering would more appropriately be an application built on top.
- mtrimpe 14y agoIf you step back and look at these apps they basically are JS VMs with HTTP capabilities with a very powerful visual templating engine driven by HTML/CSS.
- mattmanser 14y agoIt's not 'very powerful' at all. Have you used any other modern GUI templating engine?
- kitsune_ 14y agoWhat are those powerful GUI engines you talk of? I'm generally interested because most "modern" GUI frameworks seem to be huge, bloated and utterly messy. Conceptually, XML/QML/XAML and databinding, as used in QTQuick or WPF on the desktop, are not very different from mixing HTML and JavaScript frameworks such as angular.js on the web. I don't like the approach, be it on the desktop or with web applications. Are there alternatives?
- mtrimpe 14y agoI'm just talking about rendering a page based on what you specify in HTML/CSS, not the component model you might want to add behind. I'm pretty sure there's no technology more optimized for displaying content-rich visual information than HTML/CSS and the browser's rendering engines. It's that combined with the fact that this has been the lingua-france for every web-designer wishing to express himself for the past decade that makes it a winning combination...
- KaoruAoiShiho 14y agoPeople are already working on this. ChromeOS / FirefoxOS and Chrome local apps features will solve this.