14 ms·
The reckless, infinite scope of web browsers
- tsegratis 7y agoCompletely agree We can add to that the churn of websites trying to remain in sync with browser 'features'
- shadowgovt 7y agoWeb browsers make more sense when you think of them as emulators for a novel architecture / OS built atop an existing OS. It is "impossible" to build a new browser in the sense that it's "impossible" to build a new Windows 10. Of course, a key difference is that the web is specified atop an open standard so someone can at least try.
- MaxBarraclough 7y agoI don't think anyone will try. It's 'impossible' in the sense that both Microsoft and Opera threw in the towel and turned their browsers into Chromium skins. If even Microsoft can't pull it off, it seems unlikely anyone else is going to seriously try starting afresh. Mozilla have been successful in swapping out large chunks of their browser for superior replacements (for instance replacing the JIT, several times iirc), but that's not quite the same thing. Another point: why would a company bother? Amazon's 'Silk' is just another Chromium-based browser, but I imagine that works just fine for Amazon. What's the downside of taking Google's hard work and putting your branding on it?
- shadowgovt 7y agoExactly. It's much like asking "Why would a company bother writing a new OS from scratch when they could instead become a new Linux distro?"
- afoxley 7y agoLike Google's Fuchsia, oh wait...
- shadowgovt 7y agoFuchsia seems to be an exception that proves the rule. And it doesn't find the rule wanting. Three years since it stealth-launched, and forward momentum on Fuchsia seems... Questionable?
- lioeters 7y agoFuchsia looks pretty active as far as commits go: https://fuchsia.googlesource.com/fuchsia/+log https://fuchsia.googlesource.com/fuchsia/+log It also seems I regularly see new posts about it on HN, with a generally positive reception and optimism among its users. https://hn.algolia.com/?dateRange=all&page=0&prefix=false&query=fuchsia&sort=byDate&type=story https://hn.algolia.com/?dateRange=all&page=0&prefix=false&qu...
- skyfaller 7y agoThe only piece of Fuchsia that's excited me so far is the Xi Editor, which seems to be developing rather slowly if not stalled out completely. https://github.com/xi-editor/xi-editor https://github.com/xi-editor/xi-editor (Yes, it's not part of Fuchsia anymore, but so far I haven't heard anything about the remaining parts of Fuchsia that makes me inclined to care about it until Google forces me to care.)
- MaxBarraclough 7y agoLooks ambitious, and happily there's some recent GitHub activity, but I already have Vim and Notepad++. What does Xi have that those two don't?
- skyfaller 7y agoIt's just intended to be way faster than existing editors: "Incredibly high performance. All editing operations should commit and paint in under 16ms. The editor should never make you wait for anything." If it succeeded in that, I think it would pave the way for faster, less-bloated software in general, so I'm rooting for the project to succeed.
- cjsthompson 7y ago"Google's hard work" is a dangerous lie. First Webkit is forked from KDE's KHTML, the bulk of the work has been done by them. And then as a free software project it's far from being worked on only by Google wage slaves.
- angleofrepose 7y agoWhy is it impossible to build a new Windows 10? Shouldn't that be an area of great interest to Microsoft? What other endeavor would give Microsoft as great a leap forward as a ground up rebuild of the operating system?
- shadowgovt 7y agoMicrosoft doesn't need to build Windows 10 from the ground up; they have a Windows 10.
- linguae 7y agoIt's not impossible, but it will take an enormous amount of effort to replicate. Consider the ReactOS project, which strives for compatibility with Windows Server 2003. I use it occasionally in a VM and it is roughly at par with Windows 2000/XP, but this project has been going on for over two decades (granted, the target has moved over the years; originally it targeted Windows NT 4.0 if I remember correctly). It will take years of work for ReactOS to reach compatibility with Windows 10.
- contextfree 7y agoThey tried for 9 years and eventually (rightly or wrongly) gave up: http://joeduffyblog.com/2015/11/03/blogging-about-midori/ http://joeduffyblog.com/2015/11/03/blogging-about-midori/
- blakesterz 7y agoI think there's some good points in there, but I'm not sure about this one: "Firefox is filling up with ads, tracking, and mandatory plugins." I feel like I follow these issues pretty close, and I don't think that's accurate. Did I miss somethings? I know they've made at least a few bad moves, but in general they do the right thing, and have stepped back some of the bad things. It's entirely possible I'm missing something though.
- ddevault 7y agoAds: https://www.ghacks.net/2018/12/31/firefox-with-ads-on-new-tab-page/ https://www.ghacks.net/2018/12/31/firefox-with-ads-on-new-ta... https://www.zdnet.com/article/firefox-60-will-show-sponsored-stories-but-you-can-disable-them-says-mozilla/ https://www.zdnet.com/article/firefox-60-will-show-sponsored... Tracking: https://gist.github.com/0XDE57/fbd302cef7693e62c769 https://gist.github.com/0XDE57/fbd302cef7693e62c769 https://www.zdnet.com/article/firefox-tests-cliqz-engine-which-slurps-user-browsing-data/ https://www.zdnet.com/article/firefox-tests-cliqz-engine-whi... (ads, too) Mandatory plugins: https://news.ycombinator.com/item?id=9667809 https://news.ycombinator.com/item?id=9667809 There are more cases of each, but these are the ones I thought of off-hand. Setting up Firefox today still requires you to manually go to about:config and turn off a whole bunch of crap. A stock install of Firefox has ads and sends telemetry, searches, and more to both third- and first-party network services.
- progval 7y ago> Setting up Firefox today still requires you to manually go to about:config and turn off a whole bunch of crap. An alternative is to use packages provided by Debian (and possibly other distributions), which turn most of this stuff off by default
- 72deluxe 7y agoBut but but how do I do this on my Mac and Windows machines?? Time to go back to Linux. Hopefully the desktop has improved since the abandonment of 30-year-old UI paradigms for "cleanliness and focus".
- Nihilartikel 7y agoWhat I think is the takeaway from this is that there is a real need for a platform-agnostic application layer above the native OS. It's a peculiarity of history that HTML evolved into it, and not Java, Flash, Silverlight, Adobe Air, etc.. Probably because the timing was right for applications to exist at least partially remotely. It's fun to dream about a more deliberate replacement, with the same local/remote transparency of a web app, but with well thought out abstractions for local hardware and permissions.. Like, binaries are LLVM IR, Jit'd to the local architecture. Audio is openAL, graphics are Vulkan, local devices are [no-current-equivalent-standard-API], with fine grained security on all features. It could be run locally, or with resources streamed over network. Opening an application could just be a 'URL'.. A little like a progressive web app, but not a weird outgrowth of an old page layout standard.
- admax88q 7y agoCould also just bring back applets. Its what the web is doing already, slowly reinventing applets but worse.
- shadowgovt 7y agoI don't think I'd call it worse. The original implementation treated the DOM as, at most, an undesired wrapper environment and mandated Java as its implementation architecture. I think wasm's approach improves on both those issues.
- Datenstrom 7y ago> there is a real need for a platform-agnostic application layer above the native OS. It is rather focused on robotics but that is essentially what the Robotic Operating System (ROS)[1] is, although it is less for users and more for autonomous systems. It allows an operating system to be distributed across many machines and multiple entities to collaborate. There are many extensions available but ROS core is just the bare minimum abstractions needed to have a distributed operating system to build applications on. [1]: https://www.ros.org/about-ros/ https://www.ros.org/about-ros/
- bo1024 7y agoAgree very strongly. The amount of innovation we’ve lost because of the high barrier to entry is also staggering to try to conceive.
- shadowgovt 7y agoCan you give an example of what innovation we've lost?
- bo1024 7y agoThe first thing that comes to my mind is accessibility. If browsers were simpler to create and the web were simpler, people could much more easily develop accessibility tools. I think the privacy and tracker-blocking crowd would have a lot more options. You could also have browsers designed for low-power or weak-CPU environments. Better automatic limits on what code runs and when. Next category I picture are browsers with really customized interfaces and displays. Different approaches to navigation, hotkeys. Tiling sites across the screen. Browser functionality could be built into more devices and contexts (e.g. inside another application). I know none of these is "staggering" but I'm one person brainstorming for five minutes. If enthusiasts and hobbyists all over the world could more easily tinker and try things out, who knows what ideas would pop up.
- shadowgovt 7y agoSo curtailing the complexity of sites so that individual users can make heterogeneous deep content. That doesn't actually solve the problem. Excluding webgl so that someone can write an accessibility layer doesn't mean we have an accessible 3D site; it just means we can't do 3D sites.
- bo1024 7y agoThat's a tradeoff worth discussing. I think there should be an entirely different cross-platform layer for interactive and intense SPAs like Google Docs and 3D sites. But making it possible for 0.00001% of sites to have 3D comes at a huge cost.
- superkuh 7y agoPeople like to talk about how web applications are more secure than running something locally but that is only because web applications, for now, are significantly less powerful and have less hardware access than a native application running on your OS. But it's obvious to anyone that that is rapidly changing. As people try to do more and more with web apps the corporations now in charge of web standandards implement more raw access to system hardware and all the benefits of being in a browser go away while none of the downsides do.
- shadowgovt 7y agoI think it's more than that. Web applications run atop a user-agent-enforced security model that has been bought with decades of educational experiences. Building one's own native app that direct-binds to the networking layer, passes user credentials around without the paid-for-in-blood browser API, etc., is going to re-invent the wheel on a lot of security problems that browsers had to solve (and history has shown developers love to ignore given the opportunity). It isn't just whether the web app will be a better user experience; it's also whether the app will allow, say, exploits delivered via the server-side state (introduced to your web app via user-modifiable content on your site) to sniff the user's password out of the pastebuffer or some such nonsense.
- tcd 7y agoIs this a fundamental problem? I mean, all the code required to make your own browser is Open Source - Microsoft can customize the Chromium engine as much as they like, adding in their own patches and removing parts they dislike. I mean, would you write your own networking stack? Probably not. You'd take an existing tool and, if you really want, make it your own. Most of humanity and what we do is based on those who made our lives easier with tools they built, and that changed how the manufacturing process altogether.
- zzzcpan 7y agoAnother reason why this is not a fundamental problem is that a user agent made for the user would have to violate and ignore most of the standards anyway in order to honor user's interests. Reimplementing all those corporate and ad tech driven standards is simply a waste of engineering, if anything it will only hold back anyone attempting to do it and won't let them compete.
- AgentME 7y agoWhat specific standards would a user-respecting browser not implement? I can't really think of anything besides maybe EME and third-party cookies, though it's not like those are really core features.
- pfraze 7y agoThere may be a market for a "microkernel" redesign of browsers in the next 5 years. OP's point is right that the current design is impossible for new entrants to implement. That alone probably won't create a market for something new (in no small part because the 2 major engines are FOSS) but if we hit an intersection of new technologies along with a need to rapidly adapt the Web to new computing platforms (eg AR/VR) then it could certainly happen.
- shadowgovt 7y agoThe space seems ripe for someone to come along and re-implement the standard w3c model as an app running atop a more flexible strata (possibly wasm?).
- Funes- 7y agoI'd happily do away with web browsers and use only native programs for each site I usually visit. For instance, when I still used reddit, I did through a fantastic command-line program called rtv [0]. I'd most definitely use something similar for HN, or any other platform--Wikipedia, for example, or ArtWiki, or MUBI. We certainly don't need a web browser as it is conceived today. [0] https://github.com/michael-lazar/rtv https://github.com/michael-lazar/rtv. No longer maintained.
- shadowgovt 7y agoSo you'd happily do away with web browsers and use shell apps instead. rtv is still a hosted app; it's hosted in a command-line interface with command-line rules instead of an HTML-rendering interface with w3c standardized rules. Take away the shell, and rtv won't run any more than a web page "runs" without a browser to interpret it. But these things aren't quite so different as one may imagine (the capability set of one is much broader; the compatibility set of the other is probably much broader).
- plop_ 7y agoYou might be interested in weboob then. I am not using it, but I know they provide lots of small apps to access different websites. ttps://weboob.org/
- mschuetz 7y agoModern web browsers are the single best thing for security. I'm not going to install hundreds of apps from hundreds of sources.
- akling 7y agoWhile I agree that a lot of the W3C standards are silly and not worth implementing, I'm still determined to build a new browser from scratch.[1][2] I don't believe that it's impossible. It will take a lot of time and effort, sure. But not impossible. :) 1. https://github.com/SerenityOS/serenity/tree/master/Libraries/LibJS https://github.com/SerenityOS/serenity/tree/master/Libraries... 2. https://github.com/SerenityOS/serenity/tree/master/Libraries/LibWeb https://github.com/SerenityOS/serenity/tree/master/Libraries...
- shadowgovt 7y agoI support this idea. Other operating systems existed when Linus started on Linux, and it turned out not to be wasted effort at all.
- smitty1e 7y agoLinux is a kernel, not a full system like OSX.
- yjftsjthsd-h 7y agoThe statement holds; although it was arguably a bit unusual that Linus only built a kernel, it was just one more unix-like kernel in a world where that wasn't exactly rare. (Which, granted, worked out well with GNU's efforts to build a whole OS that did far better a userland and kinda dropped the ball on the kernel)
- shadowgovt 7y agoIt is almost universally understood in the vernacular that when someone says "OS like Linux", they mean "A non-specific probably-GNU-Linux distro." The space where that understanding is excepted is when discussing actual kernels. Much like the vernacular meaning of "A computer" usually includes mouse, keyboard, and monitor, even though those parts are completely interchangeable and you can run a computer headless with remote access (or no access at all, the computer simply churning through whatever program it was pre-loaded with and outputting to some exotic peripheral, or maybe even simply generating heat in the corner with no human-discernable output at all).
- classified 7y ago> it is impossible to build a new web browser. Mission accomplished. The W3C constituents have created facts with their own browsers, and then they burned the ladder behind them. The classical move to stop others to get to power the same way you did.
- shadowgovt 7y agoOr the complexity is irreducible and making something on-par with browsers that have had decades of development will require real effort. It isn't "ladder burning" that countries already have electrical grids so it's hard to build a competing electrical grid.
- pcr910303 7y agoThis post… probably doesn’t really mean anything. Firstly, judging a web browser’s compelxity by judging the spec catalogue is already unfair. The catalogue is basically a dump of things related to the web, for example the specs of JSON-LD. (Which probably has almost no relationship to implementing web browsers, since that’s just a data format of JSON.) Also, word count doesn’t correlate with complexity. That’s like…. saying that a movie will be more entertaining than another one because it’s runtime is longer. Web-related specs are much, much more detailed than POSIX-specs because of their cross-platform nature: we’ve already seen what happens if web-related specs look like POSIX: anybody remember trying to make web pages that work both in IE, Safari, Firefox in the early 2000s? (Or, just try to make a shell script that works on both macOS, FreeBSD, Ubuntu, and Fedora without trying out on all four OSes. Can you make one with confidence?) Really, it’s just tiring to hear the complaints about web browsers on HN, especially the ones about ‘It wasn’t like it in the 90s, why is every site bloated and complex? Do we really need SPAs?’ Things are there for a reason, and while I agree that not every web-API is useful (and some are harmful), one should not dismiss everything as ‘bloat’ or ‘useless complexity’.
- ddevault 7y ago>Firstly, judging a web browser’s compelxity by judging the spec catalogue is already unfair. The catalogue is basically a dump of things related to the web, for example the specs of JSON-LD. (Which probably has almost no relationship to implementing web browsers, since that’s just a data format of JSON.) https://paste.sr.ht/~sircmpwn/13c1951014a256e9f551296a129bf6d10e9303dc https://paste.sr.ht/~sircmpwn/13c1951014a256e9f551296a129bf6... Specs like JSON-LD are included but do not meaningfully change the numbers. Also, the word count I used in the article is less than half of the real word count I ended up with, just to put to rest any doubts like these about the margin of error. >Also, word count doesn’t correlate with complexity. That’s like…. saying that a movie will be more entertaining than another one because it’s runtime is longer. Web-related specs are much, much more detailed than POSIX-specs because of their cross-platform nature: we’ve already seen what happens if web-related specs look like POSIX: anybody remember trying to make web pages that work both in IE, Safari, Firefox in the early 2000s? (Or, just try to make a shell script that works on both macOS, FreeBSD, Ubuntu, and Fedora without trying out on all four OSes. Can you make one with confidence?) This doesn't seem right at all. How do you figure that POSIX is less specified than the web? Have you read either standard? Can you make a website with confidence which works on all browsers? When was the last time you found a browser-specific issue? Mine was three days ago.
- Carpetsmoker 7y agoI already posted this on Lobsters, but the "1,217 specifications totalling 114 million words" is pretty off-base. To copy my comment from there: This calculation is wrong. For example searching for HTML[1] reveals different versions of the same document, various informative notes ("HTML5 Differences from HTML4", "HTML/XML Task Force Report"), things no one uses like XForms, and other documents that really shouldn't be counted. I looked at the full URL list[2] and it includes things like the HTML 3.2 specification from 1997[3]. A quick spot-check reveals many URLs that shouldn't be counted. I'm reminded by the time in high school when I mixed up some numbers in some calculation and ended up with a door bell using 10A of power. The teacher, quite rightfully, berated me for blindly trusting the result of my calculations without looking at the result and judging if it's vaguely in the right ballpark. This is the same; 114 millions words is a ridiculously large result, and the author should have known this, and investigated further to ensure this number is correct (it's not) before writing about it. I wouldn't be surprised if the actual word count is two orders of a magnitude smaller; perhaps more. [1]: https://www.w3.org/TR/?title=html https://www.w3.org/TR/?title=html [2]: https://paste.sr.ht/~sircmpwn/fd74cf95eb6c1740f4af3aaaf2a0f4d22ce22719 https://paste.sr.ht/~sircmpwn/fd74cf95eb6c1740f4af3aaaf2a0f4... [3]: https://www.w3.org/TR/2018/SPSD-html32-20180315/ https://www.w3.org/TR/2018/SPSD-html32-20180315/
- ddevault 7y agoThose specifications from 1997 are still relevant. That's why we end up with things like quirks mode: https://quirks.spec.whatwg.org/ https://quirks.spec.whatwg.org/ And on the subject of WHATWG, all of them were excluded from the word count. And, the JavaScript spec, and nearly all of the JavaScript APIs browsers are implementing. Things omitted include WebGL, Web Bluetooth and Web USB, the native filesystem API, WebXR, Speech APIs... and, the informative notes you mentioned are (1) a rounding error when compared to the specs, and (2) are also included in the word counts for POSIX, C11, and so on. And the word count I gave in the article is half of the real count I ended up with, and I didn't even finish downloading all of the specs to consider. My full write-up on the methodology is here: https://paste.sr.ht/~sircmpwn/13c1951014a256e9f551296a129bf6d10e9303dc https://paste.sr.ht/~sircmpwn/13c1951014a256e9f551296a129bf6... Anyone who thinks that the web isn't hundreds or thousands of times more complicated than almost anything else out there is lying to themselves.
- haburka 7y agoThe premise of this article is false. It’s possible to build a new browser. It’s just not worth it. If you can simply just fork chromium like Microsoft recently did, why would any time restricted project not go that route? You can remove the google integrations fairly easily and still get patches from the main project for core browser work. My main point is that Microsoft could have written a new browser instead but they saw it was more efficient to just fork one.
- gritzko 7y agoI recently had similar thoughts on Unicode: http://replicated.cc/concepts/unicode http://replicated.cc/concepts/unicode Most of its complexity comes from its least-useful features. We must find some way to rollback that spiralling complexity. Or maybe, like in the old days, burn it all and start anew?
- dvfjsdhgfv 7y agoIt's because its creators were well aware of the shortcomings of the previous half-solutions and wanted to future-proof the standard.
- hathawsh 7y agoI can't help but wonder how they concluded that they should add arbitrary emojis to Unicode. Are emojis the future of language?
- gnulinux 7y agoIf not text, what even emojis are? How is a smiley face any different than "!" or "?" it carries a meaning in the text itself. As a programmer, I want my user to type text including emojis so I can store it as string, not a messy mix of string and images.
- Jasper_ 7y agoKeep in mind that the 16-bit limitation relied on the Han unification, an incredibly controversial project where related languages from three Asian cultures all got butchered in the process. It was culturally insensitive and limited the range of Unicode, and is a major reason Unicode is actually rare in these locales: China still majorly uses GB, and Japan Shift-JIS, and Taiwan Big5. The experience was one of the big reasons Unicode 2.0 raised the limit, as they never wanted to go through that process again.
- zozbot234 7y ago16-bit is also a non-starter if you want to include historical or rare CJK characters, historical/ancient scripts, symbol sets, etc. So a 32-bit encoding does make a lot of sense.
- kilian 7y agoA rendering engine is not a browser. Plenty of people are building browsers, yours truly included, but they're not building their own rendering engine, indeed for the reasons outlined in this article.
- jancsika 7y agoCan we agree that your imagined non-reckless, bounded alternative must be able to render the content of a document, where the content of a document includes both wrapping text and a button-triggered DOS version of Prince of Persia? https://archive.org/details/msdos_Prince_of_Persia_1990 https://archive.org/details/msdos_Prince_of_Persia_1990 If we agree on that then I'm very interested to hear about non-reckless alternatives to our current bloat web. If we don't agree, then I am not at all interested in hearing about Amish web.
- theandrewbailey 7y agoI can see a 'hipster' web browser with a reduced feature set coming along at some point, and all these heavy monstrous JS apps masquerading as web pages will fall out of style.
- phailhaus 7y agoHighly doubt that. The vast majority of users do not notice, or care.
- buckminster 7y agoPlenty of users notice that the web is slow, and complain about it. Unfortunately, they have no idea why so they blame their mobile or broadband provider.
- listenallyall 7y agowasn't that Chrome upon its introduction? compared to familiar IE and FF -- no title bar, no menu bar, no row of buttons, single Omnibar instead of address bar + search bar, separate memory process per tab
- dllthomas 7y agoThe history of the web browser looks intriguingly like the history of the terminal, although I'm not sure what lessons we can take from that.
- afandian 7y agoThe shiny new macs being advertised today will ship with a terminal that is compatible with standards established 45 years ago. That's quite a humbling thing to realise. I'm sure the various character sets, error correction and parity, control codes etc constituted standards hell for terminals back in the day. But a solid set of conventions seems to have survived. I'm not sure how much of HTML will survive in 45 years, and with what historical 'depth of field'. Is it more likely to contain <marquee> or web components?
- wrnr 7y agoYes, funny fact when debugging a problem with a new UI library, the Cocoa API for handling keyboard-shortcuts does not support Cmd-. because that was the original signal to terminate the proccess (like ctrl-c). The solution involves setting, calling a bunch of API just to listen to the signal.
- _wldu 7y agoEven worse, we trust web browsers to manage passwords now too. This is insanity icing on top of the complicated cake that no one can understand. I feel as if we are hurtling faster and faster to our ultimate doom. And all we seem to do is mash the gas pedal harder.
- AgentME 7y agoWe already trust our auth cookies and the actual content of the connections to our browsers. Having them be more in charge of the auth process makes a lot of sense. Especially given that modern browsers have a lot more security hardening (sandboxed multi-process architecture) and professional review than other applications.
- nepeckman 7y agoThere are a lot of valid critiques to be made about the web as a development platform. But the reality of the situation is there was a need for an OS agnostic, installation free, reasonably sandboxed application platform. A generation of developers turned a document viewer into that application platform, and that's the platform that has stuck with non technical users. I think developer energy is better spent improving performance, keeping the web free, and ensuring Google doesnt own the platform.
- surround 7y agoWhy is there no major Firefox (Gecko) based browsers? Microsoft, Opera, Brave, etc. have all gone Chromium.
- gok 7y agoThe over-complication is recursive too. CSS was already too complicated when it was initially written, and the main specification got so complicated itself that it has now been split up into a dozen internally-overcomplicated submodules. JavaScript went from a language that could be implemented in a weekend to a C++-like multiparadigm monstrosity, somehow without fixing most of the serious "WTF happened here" problems.
- lioeters 7y ago> The over-complication is recursive The phrase "fractal of bad design" comes to mind.. Although it was originally used for PHP, this anti-design-pattern seems to rear its head almost inevitably with popular and long-lived languages/systems (which I suppose includes C++, though I'm not qualified to judge). I've heard people pinning hopes on WebAssembly. It does seem possible that eventually it could allow new languages to replace CSS and JS, maybe even support the development of new kinds of applications that replace (the current paradigm of) the browser as a cross-platform VM.
- uk_programmer 7y agoJavaScript is getting simpler in a lot of ways. Things that are confusing to developers of others languages e.g. function scope can be avoided by telling people to use let instead. Also a lot of the things I wanted 5-10 years ago that I had to work around are now being included. For example there is a decent-ish http request API. I don't like web assembly. I think it is actually worse in a lot of ways than the huge JS frameworks that people think that it will replace.
- astrobe_ 7y ago> Because of the monopoly created by the insurmountable task of building a competitive alternative And if you go for a competitive alternative based on a more sane stack than HTML/CSS/JS/..., then you cannot compete with the content. Unless your new tech stack is really really really really better for current usage. It probably means designing it for mobile first: small footprint, low energy consumption and a lot of resilience wrt to network hiccups. Plus an integrated monetization scheme that doesn't waste half of the bandwidth for ads or half the battery capacity to try to circumvent ad blockers - all that without selling the color of the user's pants to anyone wanting to buy it. I know, utopia, utopia.
- 6510 7y agoIf I'm allowed to innovate here: Howabout a DNS server only for Protocols? since the list is short atm the broser or OS can periodically download the index and register each known protocol to a dummy handler that simply displays what one can do with it. Monetization (if needed) can be done by auctioning commercial slots in the list. (Marking clearly which are free and open source and which are commercial efforts to support that protocol.) Each entry can have an explainatory link to a world wide web document, pfd, text file, DOCX, XLSX, PPTX, etc (go nuts) explaining these new and exiting times. Ideally the software to work with the protocol can also be installed from or by the dummy at whim. If multiple [say] video:// handlers are installed the dummy can be configured to pick a default or present a menu every time thereafter. Then we can end the days of circular finger pointing where not explaining a protocol is always someone else's fault and we silently agree to have error pages (or worse search results) if one tries to open a link like ipfs:// gopher:// news:// nntp:// etc If all members of the collective of IT nerds know exactly what the user is trying to do or what desired behavior looks like we cant be hiding behind "I dunno!?" type error pages. Its just to embarrassing. It is our responsibility to teach grandma how to use magnet uri's if she appertains it.
- AgentME 7y agoWhat platform would the protocol handlers be built for? Would they have full access to the system like most native programs, or run through a sandbox? I think it would be ideal if the handlers were able to run on a platform that was defined by open standards and well-sandboxed by default... the web is a good example of this.
- 6510 7y agoyes
- AgentME 7y agoI have to admit I was being facetious; my point was that anything solving this problem is going to have the same scope of web browsers and is more directly solved by them. If you imagine your setup was in-place, and pretty much everyone defined their own protocol with their own app, then that's roughly equivalent to the web as it is now, except also that the web has already done the hard work of establishing the open standards and being cross-platform. It's not clear to me what benefits introducing the things in your post would add to the web.
- azinman2 7y agoSilly rant. If everyone who didn’t like the world changing got their ways, we’d be back in agricultural times. There’s no weight to this argument other than building a web browser is hard. It’s been hard for a long time well before CSS3!
- Chris2048 7y agoHere's a feature (technology) I wish more programming languages/ecosystems had: Gaoling (sandboxing) The unique thing about JS is the fact that it's locked down, and further permissions need user auth. Android API has a permissions model too. Any browser needs to run some kind of code, but in a safe manner, so we need watertight code Gaols - outside the above mentioned, it's not so easy.
- contextfree 7y agoWindows has a similar permissions model (in AppContainer/UWP)
- khana 7y agoAgree 100%.
- stevage 7y ago>Firefox is filling up with ads, tracking, and mandatory plugins. What's the basis of this claim? I use FF as my default browser, and I have not experienced anything like this?
- jsjddbbwj 7y agoI think it contains recommended articles ie ads by default on the home page. They also launched a campaign for booking: https://www.cyberciti.biz/web-developer/firefox-is-now-placing-ads-and-here-is-how-to-disable-it/ https://www.cyberciti.biz/web-developer/firefox-is-now-placi... Telemetry = tracking. Not sure about what he means regarding plugins.
- mook 7y agoI assume that was a reference to pocket (which was an extension that they shipped as a baked-in feature around the acquisition).
- SanchoPanda 7y agopocket support is implemented as a kind of extension, to my understanding. for example the about:config setting wording is `extensions.pocket.RelevantFeatureHere`
- Wowfunhappy 7y agoOne built into the browser that can only be disabled by going to a hidden configuration page that pops up a big warning not to change anything. I'm really glad it can be turned off, but I also wish it wasn't there. I have trouble wholeheartedly recommending Firefox to others, because the default experience (without about:config tweaks) feels messy.
- jdashg 7y agoTelemetry is not tracking.
- stuartd 7y agoAgreed. I have no idea what the author is referring to here. Every version of FF seems to have better tracking prevention, though Mozilla do advertise the services they provide. Which I don’t find unreasonable - as those services are otherwise not discoverable. Regarding ‘mandatory plugins’ I presume this is referring to the OpenH264 codec and Widevine CDM?
- austincheney 7y agoOf all the specifications, words, and complexity this article mentions there are only 3 really costly areas that the web browsers devoted a good portion of their net worth to solve: * Presentation (generally and CSS specifically) * JavaScript JIT (and other performance pipelines, DOM efficiency, caching architecture, and so forth) * and accessibility I know there is much more to the web than that and notice that I did not mention security. Those 3 things took years and lots of research and failure to get to today's status quo. Everything else is comparatively trivial when compared on the basis of man hours and money spent. If you can really nail those three quickly and cheaply then everything else is trivial from a perspective of money and time.
- eitland 7y agoI've started advocating for a subset of html5 that - drops all legacy features tht aren't needed to provide documents anymore - provide sane defaults - a choice between - 1) no JS - 2) JS based on a small number of vetted packages for stuff line autocomplete etc No DRM. No JS frameworks. Just plain old HTML goodness plus more modern goodness (autocomplete) on top. In my view there's even room for ads as long as they are injected server side and don't report back anything. Hopefully this could be so much faster that it could become a hit in tech and academic circles.
- krapp 7y agoThe problem I have whenever I see arguments along these lines is that nothing is stopping anyone from writing simple HTML using that "subset" if they want to, so a completely separate simpler HTML isn't necessary. If you don't want JS, don't use JS. If you want to vet packages, start a service that vets Node packages. That last part would actually probably be really useful.
- eitland 7y agoAlmost. The idea is to make our browser extremely much faster than the rest of them for rendering such pages. This should hopefully get people to switch to our new browser and force other browsers to start competing.
- krapp 7y agoMost people don't want the modern web replaced with an extremely minimalist version only good for publishing whitepapers, and they wouldn't want to use a browser that enforces such a restriction. Pages with minimalist HTML already render extremely fast in modern browsers, that's not a problem anyone actually has. So why would other browsers even bother to compete with you? Do they bother competing with Lynx?
- eitland 7y agoNo, it doesn't need to be minimalist. Styling is totally OK. And the browser could even be Firefox, just with a separate rendering path if it detects the page is html5core or whatever. Old pages works just as before. New, html5core compliant pages loads blazingly fast and displays just as nice though.
- giancarlostoro 7y agoSometimes I dream of a Gopher type of web where you're allowed to make simple input fields, SSL is allowed. That's it. No JavaScript, just basic input / output. I could imagine HN being on this simple web. Maybe some sort of markup to support the upvoting capabilities of HN but that's about it. I would even allow for ads since they would at best be banner images, not pop ups, not things that track you around the internet, and what have you. As for page style? Let the client decide, which ultimately means: let the end-user decide what they're most comfortable with.
- ciprian_craciun 7y agoLuckily Gopher is still alive, and in fact on the Gopher mailing list there was a thread earlier this week about `gopher://` over TLS [1]; in fact you can still use `gopher://` either natively (by using `lynx` or a number of Firefox plugins), or through a HTTP gateway like [2] [3]. (There are countless servers and clients out there.) Also there is a newly developed Gopher alternative called Gemini [4] that uses TLS by default, and supports natively as an alternative to HTML a Markdown-based simplified format. (Given that Gemini and Gopher are much alike, most of the content is also available over `gopher://`, and via an HTTP gateway it can be accessed from a plain browser, like for example [5].) [1] https://lists.debian.org/gopher-project/2020/03/msg00005.html https://lists.debian.org/gopher-project/2020/03/msg00005.htm... [2] https://gopher.floodgap.com/gopher/ https://gopher.floodgap.com/gopher/ [3] https://gopher.floodgap.com/gopher/gw https://gopher.floodgap.com/gopher/gw [4] https://gemini.circumlunar.space/ https://gemini.circumlunar.space/ [5] https://gopher.floodgap.com/gopher/gw?gopher://zaibatsu.circumlunar.space:70/1/~solderpunk/gemini/ https://gopher.floodgap.com/gopher/gw?gopher://zaibatsu.circ... ---- However if Gopher or Gemini is "just too much", one could be active in pushing web publishers (and thus browser providers) into simplifying their web presence by: disabling JavaScript and thus background fetches and workers, cookies, fonts (thus including "icon fonts"), etc., forcing HTTPS and caching, disabling anything except `GET` methods. I've tried some of these myself, and unfortunately the experience is one of two extremes: * either everything just works, and it works flawlessly, the page loads instantly, no pesky cookie consent popups, no adds, and it's just a pleasure to browse that site; (most "small" blogs fall into this category;) * either nothing works, and most of the times I get a "blank" page or just a paragraph "JavaScript is required to run this application"; (how hard is it to provide a basic HTML?) (and unfortunately even documentation sites fall in this category, like for example Go-lang's own documentation site...) (most of the times I just close that site, or if I really want to access it, I open it in a "normal" Firefox / Chrome profile;) So, like with any civic right, everything is gained through participation: if we want a simpler web, we need to actively start consuming a simpler web. :)
- pippy 7y agoThe increasing complexity of web browsers has less to do with companies using browsers to shoulder competition out (after all, why would they bother to make their engines open source?) and more to do with the web becoming the default application platform. And this has its roots in companies... trying to shouldering out competition with native UI frameworks. Microsoft just two days ago introduced WinUI, another propitiatory UI that's tied into their ecosystem. Bringing Microsoft's total non standard UI frameworks to seven (or is it eight?). Developers want cross compatibility, so they naturally turn to the web. Usually in the form of election or native web. And if they do choose to go native, iOS and Android on the top of the list now days. So developers expect native OS level API access from browsers. This is the true source of the bloat. And to be honest, we're converging on an open standard cross platform API. this is great.
- ksec 7y ago> and more to do with the web becoming the default application platform. I dont even see any trend to suggest that is the case. Even if you count Electron as being one. Most Apps are not web based, and dont ever intends to be. >So developers expect native OS level API access from browsers. Exactly. It was certain group of developers that want the Web to be the default Application platform, starting with Mozilla's Firefox OS and later Chrome OS. I think we need to differentiate a Web Page Engine and a Web App Engine. Although I would agree that even a Web Page Engine today is far too complex.
- tylerjwilk00 7y ago> and more to do with the web becoming the default application platform. >> I dont even see any trend to suggest that is the case. Even if you count Electron as being one. Most Apps are not web based, and dont ever intends to be. - Email - Chat - Music - Calendar - Word Processing - Spreadsheets - Social - News - TV A shorter list would be what isn't on the web platform? - Video games - Graphics programs
- ksec 7y agoNone of the first list needs to be or what I would even call them as Apps ( Apart from Spreadsheet ) , they could be "Smart Document", or HTMl with JS sprinkle on top, or Interactive pages. And the usage of Web Spreadsheets are not mainstream at all.
- JohnFen 7y agoI agree with the author's assessment of the state of the web and browsers today. Both are far, far too expansive and risky for my comfort.
- combatentropy 7y ago> I conclude that it is impossible to build a new web browser. The complexity of the web is obscene. The creation of a new web browser would be comparable in effort to the Apollo program or the Manhattan project. True. But if the web did not adopt those features, then you would have to install more native applications to fill the void. If you make a simpler web browser, one that is doable by a newcomer, with the subset of features that you deem appropriate for the web, nothing is stopping you. You could still visit most websites that are content only. But for some of the web applications you would have to install the native version of those applications to fill the void. Either way you have the same outcome. You have a simple web browser that can be made by newcomers, but you have this other application platform (Windows, Mac, Android, Linux) where "the complexity is obscene, the creation of a new operating system would be comparable to the Apollo program or the Manhattan project."
- carapace 7y agoI sometimes browse with Dillo ( https://www.dillo.org/ https://www.dillo.org/ ) and although there are a lot of sites that are broken, there are many that render just fine. (E.g. http://www.mathsinstruments.me.uk/page66.html http://www.mathsinstruments.me.uk/page66.html ) Dillo finishes starting before I finish clicking on its icon. (As in, it loads and displays itself all in the moment between the button-pressed and button-released events.) - - - - Check out Effbot's "Generating Tkinter User Interfaces from XML" https://www.effbot.org/zone/element-tkinter.htm https://www.effbot.org/zone/element-tkinter.htm There's a gulf between that and XUL, eh? ( https://en.wikipedia.org/wiki/XUL https://en.wikipedia.org/wiki/XUL ) "The Wheel of Reincarnation" has been turning for a long time now: http://cva.stanford.edu/classes/cs99s/papers/myer-sutherland-design-of-display-processors.pdf http://cva.stanford.edu/classes/cs99s/papers/myer-sutherland... X Windows!? NeWS? Postscript and PDF? (PDF has JS in now!) I'm sure we could fill a book just with languages and frameworks for GUI, eh? VPRI STEPS program created Nile, etc... Display problem, Y U NO solved yet? Why hasn't something (better than HTML/CSS/JS soups) congealed in this area? Is it really so hard? Are we just running in circles?
- jcranmer 7y agoI'm surprised no one pointed this out yet, but there aren't 1,217 W3C specifications. There are 1,217 published documents... which includes drafts, old versions, and notes saying "we're not developing anything anymore." Filter by level recommendation and latest version, and there's only 295 specifications remaining. Even then, there's still some duplication (e.g., HTML 5.1 and HTML 5.2 still count as separate), and scrolling through the list, well less than half are actually relevant for a web browser.
- IanSanders 7y agoMy take was that one needs to be "at least aware" of all mentioned documents, which, while not as bad, still isn't ideal.
- danbolt 7y agoI feel really torn about this issue. When I was a child, the web was much simpler and similar to the ideal the author proposes. I enjoyed it a lot and today appreciate a website (like HN!) that isn't an exploding mass of APIs and functionality. I worry about users with browsers that are less feature-complete or have less computing resources than I do. If computing resources ever become a scarcity, I want someone to be able to use the internet with a 15-year-old computer if they need to. That barely even covers accessibility issues as well. At the same time, I love the vibrant opportunities to be creative with the modern web. I recently made a submission[1] for the 7-Day Roguelike competition and used WebGL, WebAudio, and other various APIs to make something I'm really proud of. It's incredible that someone with little formal training can create art and easily share it with others over the web. Is there a balance here? I almost want webpages to have a "simple web" view and a "rich web" option that browsers both support. [1] https://danbolt.itch.io/nayr-odyssey https://danbolt.itch.io/nayr-odyssey
- skyfaller 7y agoThere's one thing I'd like to mention to everyone who says it is impossible to build a new browser: while that may be true today, I would just like to point out that the ancestor of the dominant browser engines of today, Blink and WebKit, is KHTML from the Konqueror web browser. While KDE has had some contributions from large corporations, it would be a gross exaggeration to call KDE (or any Linux desktop) a popular success. It more closely resembles a hobbyist project than a commercial juggernaut. While it may be true that KHTML/Konqueror was not as polished as WebKit/Safari or Blink/Chrome before those forks poured massive amounts of corporate development effort into those browsers, the fact is that it was a solid enough foundation for those later corporate contributors to leverage into world domination. In other words: Today's small scrappy upstart browser that only hobbyists use may be the embryo of tomorrow's near-monopoly. Please don't abandon your ideas for new browsers+engines, give them a shot. Even if you do not directly benefit from its future success, at least you may give the web a gift that everyone will someday enjoy. The new boss Chrome is an unqualified improvement for the web over Internet Explorer, if only in standards support and open source code. I only hope that someday we can replace it with something better than a new corporate overlord.
- udueebdhdu 7y agoI see these sorts of appeals a lot on HN but never really understood the point. Sure, software had a good run of small devs making big splashes, but it's pretty obvious to anyone watching that the garage days are over as far as big projects are concerned. The only real exception is the European software devs who, from a market perspective, exist mainly to sell the most promising projects to China or the US since they can deploy those projects in a way that drives growth. Why shame people for making smart moves?
- skyfaller 7y agoIs asking people to keep hope alive the same thing as shaming them for feeling hopeless? I hope my words don't come out that way, since it's certainly not what I intend. Also, one point I'm making here is that a small dev may not be able to make a world-dominating project by themselves, but it may serve as the foundation of something larger later. Is that really surprising or controversial? Perhaps a more important point I'd like to make is that neither Apple nor Google were quixotic enough to start a browser engine from scratch, for all of their expertise and cash. Without KHTML, we might still be suffering under IE or something even worse. It may take someone willing to tilt at windmills to dethrone Blink/Chrome, I don't think the suits will save us.
- SimeVidas 7y agoWhat’s wrong with WebVR?
- miles-po 7y ago"I've got 12 browser windows with 50 tabs each. And one of the tabs is playing a YouTube video while another is playing a movie on Netflix. And I've got a Facebook tab or two. Bunch of social media. Then there are the browser extensions. Gmail. A chat client or three. Basically running whatever quality of code and image optimization the sites I visit. "Hey! Why is my browser using up 10GB of RAM all by itself? It's so bloated!" tl;dr: don't just blame the browser
- PinkMilkshake 7y agoI'm optimistic. I think browsers will continue adding features until they become the inevitable end result, a portable operating system. Once browsers reach this point it will probably slow down and the next goal will be pulling it to pieces and making it modular so we can deploy whatever subset of browser we want for any given use case. And we will probably all be using some "distro" of chromium.