Please consider not adopting Google WebComponents
forum.palemoon.org
forum.palemoon.org
Pale Moon is a fork of Firefox. The purpose of the fork was to retain support for various legacy technologies that mainline Firefox was abandoning, such as NPAPI plugins, XUL/XPCOM, and old-style themes.
If keeping up support for those old technologies and keeping up with the latest improvements in Firefox sounds like a lot of work for a small team to tackle, that's because it is. As a result, Pale Moon doesn't include all the performance improvements that shipped with Firefox Quantum, along with various other "modern Firefox" improvements like not running all tabs in a single process. (Pale Moon last rebased itself on mainline Firefox circa Firefox 52, which shipped three years ago.)
My suspicion is that, when Pale Moon asks you not to use Web Components, they're doing so because their engine is old, it doesn't have the necessary muscle to deal with things like shadow DOM in a performant fashion, and they don't have the resources necessary to give it that muscle. They could rebase onto a newer version of Firefox that did have that muscle, but they'd lose support for all the legacy technologies they forked away to keep in the first place; and re-implementing all those APIs on their own would be just as prohibitively large a project as tuning up their engine on their own would be. So, in the absence of some huge population of skilled developers volunteering to pitch in for free, their project is kind of stuck between a rock and a hard place.
Everything else is selfish and delusional!
I hate when that happens. I choose the applications in my workflow for specific reasons or for some unique value that they offer. It's one thing when a developer moves on from a project and leaves it in an unfinished state. It's an entirely different story when the developer basically throws up his hands and tells their users they give up because xxx is too hard. Just tell me what's wrong and let me decide! Then if your userbase crashes you can make the decision if you want to continue or not. Deciding for yourself what's important to me is extremely frustrating as a user. Kinda like when Microsoft deprecated the SmtpClient Class in .NET and told people to use MailKit instead.
So now it's taboo to use the perfectly good Microsoft class which only takes 6 LOC to send an email and everyone is crapping their pants trying to make 300 LOC mailkit scripts to perform the same task. Because some clown at Microsoft got a hard-on over MailKit and decided to burn their own house down.
You are attacking the post ad hominem. But, your comment does not change the validity original argument.
I’m interested in knowing your opinion about the arguments, thou.
There's no way to fix issues that run that deep without breaking backwards compatibility with all the existing code written for those platforms, which would negate the entire point of the exercise.
No, it was in the 2000's and 2010's. And even more than 10 years ago, people were aware of how Internet can be dangerous, as shown by Internet Explorer.
Moreover, Firefox had sandboxing before Chrom* and Electrolysis:
1. https://developer.mozilla.org/en-US/docs/Archive/Add-ons/Sec...
2. https://developer.mozilla.org/en-US/docs/Archive/Add-ons/Dis...
3. https://developer.mozilla.org/en-US/docs/Archive/Add-ons/Int...
Your suspicion is entirely wrong.
In what way? Could someone summarize these sources?
MoonChild also told everybody that Let's Encrypt is a terrible idea, untrustworthy and nobody should use it. How did that end up?
I will give them props for actually doing it (plenty of people went "I'll just fork it" when Mozilla decided to change things but very few of them actually did all the resulting heavy lifting) not just talking about it. That's not nothing, but it doesn't make them right.
It is not true
for the simple fact that the next milestone release (v29) of pale moon will support WebComponents
> Neither of those really even contradict what smacktoward said, much less disprove it.
smacktoward repeats the same tired oversimplifications that PM is just "rebased itself on mainline Firefox circa Firefox 52" both my links prove that the above statement is fundamentally wrong.
As flawed as browsers (and their vendors) may be, I come at it from the other direction: from the perspective of end-user adoption, the open web and federated email are our last two bastions of open computing ecosystems of any kind, holding back the tide of walled-garden apps and clouds and such from taking over completely. While radically-simple "good citizens" of the open web may not be the norm, at least they're possible, which can't exactly be said for the computer-as-appliance model.
They address this:
> Full disclosure: While it is absolutely true that it is in our direct interest that web developers don't use something we are still working on implementing ourselves (considering our limited capacity as a smaller non-profit community, which is likely the same for any other true Open Source/Libre projects out there), the impact of what is outlined above is much more far-reaching than just our own projects; not only is it pushing for a proprietary web that is vendor-locked, it also, as stated, becomes something that will be impossible to archive, save or process.
So, yeah, they have special interest, but that doesn't take away from their point.
> It takes away from the point when it's untrue
What exactly are you saying is untrue? Can you quote the part?
There are comments[1] right in this same thread that confirm Pale Moon's statements about the inability to save or archive pages.
> Web Components is a standard. Multiple implementations exist.
Are you sure it's not Google that's controlling what's to become "standard" and Firefox that chases after them? And I say Firefox specifically, because, besides Safari, they seem to be the only other implementation on the market. Edge uses Chrome's engine. Indeed, with Chrome's 64% in market share[2], anything they do becomes "standard" automatically. With Firefox's 4.5%, I don't think they can do anything but chase after the Chrome guys to wherever they decide to take the web.
Isn't the point of a standard to help foster a rich ecosystem of diverse, interoperable implementations? I feel that a standard that evolves too fast (as made possible by an implementation monoculture) fails at fostering one.
This is what I believe Pale Moon is getting at when they say:
> The more additional "features" are tacked on to these components, the less likely it is for non-Google clients to be able to display sites in full or properly.
It gets harder and harder to make a new web engine from scratch. It's a step backwards from gaining a more diverse browser ecosystem.
The fact that Web Components specifically makes it harder to parse content (for archival or indexing purposes, etc.) is a separate issue, and for it, it doesn't matter if it's standard. In fact, it makes it worse.
It's a web API. Browsers implement it. Including Safari and FF. If the argument is that it's hard to implement and makes it harder for new browser implementations, the same could be said of new CSS features, other APIs like Web Audio, etc. Trying to brand Web Components as Google-only may have worked in the v0 prototype days in like 2014, but it's factually not the case today.
This whole project appears to be a security disaster and nobody should use it.
Beautiful response.
Web applications are fully isolated and sandboxed, have fine-grained permissions, are easy to inspect, and the runtime is built with a modern threat model.
ChromeOS is probably the most secure desktop OS for this reason.
I want my browser to expose more functionality to web apps, because it means that I have to run less random unsandboxed code on my underlying OS.
An app on my smartphone or - much worse - an Electron app "sandboxed" in a flatpak on my desktop has access to far wider range of dangerous APIs than a web application. What's wrong with a browser as a high-level OS?
I don't mind Chrome OS and love my chromebook.
Some of this is aesthetic so I don't really expect to change minds, but if we lived in the world of "Life and Death of Javascript" and booted to some kind of Web OS I'd be annoyed at the loss of low level hackibility and get over it.
Booting to Linux, then booting a browser to get to a normal app that doesn't need network connectivity "feels" wrong.
If they took a Xerox approach, ChromeOS would have a tiny mikrokernel, hypervisor type 1 style, and jump directly into Chrome.
I value discoverability and comprehensibility of the underlying platform a bit more, and have recognized that isn't likely to happen any time soon.
I would actively block Pale Moon if I thought I worked with people silly enough to use a slow single-process browser in 2020. (Instead of a moderately slow multi-process browser. But I digress.)
Until they're delivery vehicles for obfuscated wasm to canvas rendering applications. Then nothing of the "web as graph of hypertext documents" will be left.
(also, wasm changes nothing here, you could always obfuscate js just as much)
It is a significant change because it lowers the bar to create a blackbox. wasm offers the performance, canvas provides an opaque, flexible render target. Without either you're limited to obfuscating your JS (which indeed already happens) and obfuscating your DOM (also happening). But the DOM still leaves enough surface for adblockers and other extensions to intervene. Perhaps throw in a websocket/webrtc to channel all your data over a single connection and you basically have created a single intransparent blob which extensions cannot interact with on the behalf of the user.
You turned the user agent into the site's agent.
> "DRM will be used even for text!!1" (wrt. EME especially)
I am not aware of EME offering a data path to bring encrypted text to the screen. Without such a path these claims have no merit, wasm + canvas on the other hand offer a clear path.
Once it's an application instead of a document the text just isn't there.
Somebody seems to be doing something right.
If you absolutely must have an XUL-based Firefox derivative: 1) you don't, 2) stop, and 3) don't use this one if you don't listen to #1 or #2.
Provide evidence.
Here's the output:
$ sha256sum palemoon-bin
0b7f4ad73fc671e20bfb2366aa9d9ad81e82a3c8f63acde7f37063e73fda2141 palemoon-bin
$ checksec --file=./palemoon-bin --output=json --extended | jq
{
"./palemoon-bin": {
"relro": "partial",
"canary": "no",
"nx": "yes",
"pie": "no",
"clangcfi": "no",
"safestack": "no",
"rpath": "no",
"runpath": "no",
"symbols": "no",
"fortify_source": "no",
"fortified": "0",
"fortify-able": "15"
}
}
Notably, the binary has not been compiled with -fPIE and -fstack-protector, which disables two very basic exploit mitigations - ASLR and stack canaries. Any self-respecting Linux distribution enables these compiler flags by default nowadays. -D_FORTIFY_SOURCE is also missing, unlike Chrome or Firefox. A modern browser uses dozens of custom binary exploitation mitigations in addition to this.Mitigations and sandboxing are the difference between an exploit a CTF player can write on an afternoon, and a multi-month expert-level endeavour.
Care to name one web API that doesn’t require development work?
Web standards evolve, new APIs are introduced. News at 11.
Checks written, can't cash, etcetera.
See Google's own Web Api tracking page [1] Chrome adds almost 1000 new APIs per year Only last year they added over 500 APIs that are not present in other browsers, and pretend they are standard and will not remove them even if other browsers are not going to implement them due to multiple explicitly voiced concerns.
So yeah, no. Your news at eleven is misleading at best.
So there aren’t 1000 new Web Component specs coming out each year, no. And fewer make it into W3C/WHATWG specs.
And then despite all the objections from all the other browser vendors Google releases an API in production and will not mark it as experimental. Yes, a Web Components-related API (Adopted Stylesheets).
Result - they are going to die and losing hope and faith, like the link here describes. Read especially the IRC link where they discuss things like that with their "ecmascript guy" Gaming4JC - who has the task... WITHOUT ADDITIONAL HELP" to make Pale Moon "COMPATIBLE WITH TODAYS WEB" - honestly... what a joke....
More here: https://www.reddit.com/r/palemoon/comments/fk4fnl/attention_...
Why is this the truth? They failed in the past with implementing stuff on their own, and they had to use new Firefox variants to re-base their UI towards them.
As there is not a way of going forward anymore without losing all their customization abilities, they are screwed as webcomponents is such a breaking point in time again where they can't succeed on their own because of their team missing guys who successfully would be able to implement stuff like this - uses Rust/Stylo/Servo - and that is way too complicated to them and they miss all the necessary knowledge how to convert it to their current codebase of Firefox 52!
The author basically walked into a community of Pale Moon enthusiasts and shouted: "Hey Palemoon fans! Y'know that thing you love? It's going to die! Sorry!".
The legitimately-concerned version of this post would go something like: "If Palemoon can't implement web components, does the browser have a future?"
It is better that the fans are learning WHAT COULD HAPPEN - because if they would not learn the truth, they are suddenly sitting around with a dead and even more outdated browser.
This is too important than to ignore it or not to post about it.
Without doubts - this will be Pale Moons final run - as the makers are fully unable to implement complex features on their own, as they do not have the tiniest bit of knowledge how to implement medium or highly complex Ecmascript features.
This link explains everything with all necessary details - also shared before: https://www.reddit.com/r/palemoon/comments/fk4fnl/attention_...
It's a tricky situation with no obvious solutions. The Pale Moon dev's plea to slow down isn't going to work; devs want these new features and they're not going to stop using them just because a smaller browser developer with no significant market share can't keep up.
There is, perhaps, the beginnings of a solution with the Extensible Web Manifesto[1], which aims to shift the focus of browsers from implementation of many high-level features to instead focus on smaller, simpler low-level features which high-level features can then be built on top of. (Though ironically, web components are a part of this movement.) CSS Houdini[2] is one such feature which seems like it might be relevant in this specific situation (though whether it's helpful I have no idea; in the short term I suspect it might just translate to a lot more work).
Except that they didn't asked for them, as shown there (and note that Google removed <style scoped> from Chromium):
1. https://github.com/whatwg/html/issues/552#issuecomment-17810...
2. https://groups.google.com/a/chromium.org/forum/#!searchin/bl...
Also, even Mozilla is having problems with Google WebComponents. There are 100 bugs open in Bugzilla about it.
Devs wanted Flash and real-player plugins pack in the day too. They wanted ActiveX plugins too. No-one else wanted them and it was ultimately the downfall of IE.
> Microsoft sort of gave up and killed their browser engine This will be the downfall of chrome. Google will ultimately be fined under anti-trust, chrome funding will dry up and browsers will stop supporting these absurd features. Have a nice time rewriting all your webcomponents in javascript in 5 years.
The idea that users didn’t want Flash is laughable. It was enormously popular and enabled all kinds of multimedia presentation that the web couldn’t come close to rivalling.
> Have a nice time rewriting all your webcomponents in javascript in 5 years.
Web components are JavaScript. And it’s a standard agreed upon by all the major browser manufacturers. They aren’t going away, no matter what happens to Google.
I can run Firefox or whatever for modern websites, and Pale Moon or 10 year old sites running deprecated technology.
No one will ever build a website using WebComponents and NPAPI, so what's the problem?
The only possible explanation I see is that Pale Moon team desires and thinks that Pale Moo can become more popular than Firefox or Chrome simply by hoarding their discarded old tech. It's delusional, like selling computers with parallel ports and VGA cables and begging people not to use DislayPort monitors.
WebComponents is adopted by Chromium (and with difficulty by Firefox).
It’s weird and cult-like, but without drugs, dancing, or women. It’s sort of alt-right, hating gays and foreigners just as much as post-2008 JavaScript, but there just isn’t any reasonable model explaining how that connects.
Not alone that, they are rude and shit into the face of a big part of the Linux community with threatening them in the worst way possible.
Then we had a server hack with compromised binary files....
People should be made aware of Pale Moon and their amateurish activity, so they can immediately uninstall this danger-ware from their systems!
Pale Moon is a fork of Firefox made before the removal of XUL (as I believe is their selling point). They would have to back-port Web Components (which may be impossible due to Quantum) or write it from scratch. This is all really hard for them because they likely have fewer than 10 active developers.
Even Mozilla is having problems with Google WebComponents. There are 100 bugs open in Bugzilla about it.
Anyway it's nevertheless troublesome that google has so much influence that they can just push new web features without much discussion of other developers/browser vendors. Due to differences in internal design some features can be simple to implement for google but hard for everyone else (or the other way around, in which case google can just reject them by simply not implementing them).
EDIT: Also the non-JS web is basically dead. People should to come and accept that even if it's not perfect.
Its a giant SSR machine, from what I can tell. Also web workers are leveraged to do alot of the heavy lifting when it can't be SSR'd
[0]https://github.com/WebReflection/document-register-element [1]https://preactjs.com/
No. I won't accept it. The JS web sucks. It's slow, bloated, provides nothing of value to me the user, and exists only to feed the maw of advertisers and platform providers who will never be satisfied with the tech we have.
HTML pages are still faster to use and 1000x easier to deploy than all this "modern" web crap that delivers less and less for more and more. Look at the site you are on!
I've never heard about this Webcomponents thing before today. I hate it already. No I'm not willing to give it a chance. I am certain, certain that it will deliver nothing but pages with 100K of actual content which need 10MB code downloads and 20s rendering times on an i5.
Web designers, developers, and especially browser developers are destroying the world wide web and replacing it with a glorified series of custom-flash apps. It's every bit as terrible as when flash was around no matter how much spin is put on these "standards". Google is the new Adobe and your website is awful again.
This is what it all comes to. Unparsable, terrible-to-use websites that are also not compatible with text-to-speech is the future because ad companies demand it. Users are complete non-entities in this decision.
Right now Gmail's HTML version is both faster and lighter than the regular version. The only advantage being not having to reload the entire page to load mails (which is still faster on the HTML version.)
So here we are. A website choke-full of people who constantly post about modulariy, protocols and advanced type systems, yet sheepishly accept that a browser with its zillion unrelated features is a giant, tightly coupled blob that cannot be tackled by anyone except an ubercorp like Google.
Imagine downloading dozens of different unsandboxed apps every single day on a classic operating system. You'd get so many viruses (and just broken software that breaks or slows down your system) doing that. But now we can do that safely in browsers with (web) apps. That's amazing.
All that applies to operating systems and has been like that for decades.
> You'd get so many viruses (and just broken software that breaks or slows down your system) doing that.
That is simply false, and if you can prove it, there is recognition/money waiting for you.
> But now we can do that safely in browsers with (web) apps.
No, bugs are still a thing the same way they are for operating systems.
Windows has had "great security sandboxing" for "decades"? Are you sure about that?
Anyway, Windows has had a proper kernel since Windows NT, 20 years ago.
If you told an arbitrary Windows user to try a game/app you made, and you link them an EXE file, then at a surely 99%+ chance, if they run it, they're going to do it in the default unsandboxed way that exposes their files on the computer to the executable, and gives your executable the chance to hook itself in persistently on their system. It may be technically possible to safely sandbox arbitrary applications from accessing all your user files in Windows by using special tools or by creating a user account per app, but the operating system does not guide users to do that, there's a ton of gotchas, and basically no one does that. I feel pretty confident labelling that as not "great security sandboxing by default".
>>But with great security sandboxing by default, with multiple interoperable open-source implementations, built on open standards, and cross-platform and not bound to any specific machine architecture.
>All that applies to operating systems and has been like that for decades.
Android is the only OS I can think of that almost ticks all of those boxes, but it still falls short. There aren't multiple separate popular/well-supported implementations of it. Its code is open, but by "open standards" I was referring to the whole decentralized standards process the web has; in Android, Google adds, deprecates, and discontinues APIs without any outside input. In the web, browsers generally only introduce browser-specific APIs in the short term and work towards unifying their APIs with other browsers. It's super rare for anything that makes it through the standards process to ever be removed; browsers prize backwards compatibility of standardized features far more than any comparable platform. Android apps generally aren't usable on non-Android devices; if you point an arbitrary Windows user or an iPhone user at an Android app, they won't be able to run it, at least not without some special expertise.
It was never a design goal of operating systems to assume a binary that you yourself ask to run is malicious. That makes no sense at all. And that is still the case nowadays.
It is the "Web" that brought us the "amazing", truly wonderful idea of running non-signed code on the fly. And, in Web's wisdom, instead of properly implementing sandboxing and using the operating system facilities for that, browser vendors decided to do a half-assed job. Then they realized how a bad idea that was (shocking!), and they have been patching holes of all kinds since then (and reimplement everything that was already there in operating systems, too). The last bits are the WebAssembly and WebGPU wonders.
And no, I was not talking Android. At all. If you study computing history, you will realize "decentralized standards" and "several implementations" are not something that first appeared with the "Web". We are talking the 80s here. Even earlier for some stuff.
So, please, if you have not studied the past, then do not claim what you know is the beginning of everything.
Firefox is also ahead in a few areas too: containerisation & privacy. It's also now the default browser on a few oses.
To me this does not indicate struggling at all.
Chrome: 65.54%
Firefox: 4.58%
Perhaps your sample size of people around you is too small?
Even if you are a firefox user who doesn't use third party plugins, firefox itself will block statcounter if you have enhanced tracking protection turned on. I couldn't find a similar setting in Chrome.
Your browser doesn't make a request to the analytics server if you're blocking it, so while the content server might know the user agent, the analytics server generally doesn't.
It isn't as though there is actually a mass defection from Chrome to Firefox outside of a very small number of people.
I keep testing it, because it has been my favourite browser all the way back to Netscape days.
That moment was never a stable equilibrium. Too few participants in the market. Too much money in it indirectly, so Google gives it away for free. This of course absolutely makes it impossible for a real market to emerge where someone pays for the browser tech itself directly.
Since I've been using the web it has been: Mosaic, then Netscape Navigator then still netscape for me but a lot of the web shifted to IE, then Mozilla or ie depending on platform, then Chrome
...there hasn't failed to be competition (ie people have tried) but they have failed to get traction.
Meanwhile the complexity of the web and its underlying protocols has increased a lot, user expectations have shifted from static page viewing to running all manner of apps in the browser, and necessarily browsers have become more and more complex.
Today only Blink and Gecko remain. And for some reason web developers want Gecko to dissapear.
Even though the major browsers are open source, the significant developments in the web platform and the code changes necessary for them are practically impossible to implement by an average developer. They're decided on outside the general OSS community. You simply have to have a large team to be able to keep up. It feels way different than just contributing to less significant projects on GitHub with fewer maintainers. OSS doesn't imply the people maintaining things mostly move forward with things between themselves and have goals set by larger organizations outside the general community, but with browsers it can happen.
I don't think there's any real solution to this. The alternative was to deliberately limit the browser featureset while it was still small, but now all those features will never go away. And many of them provide enough benefit to both developers and users. It's not at all that adding them was a net negative if it really meant only corporations can implement them successfully. The complexity is probably an unintentional and unavoidable byproduct due to the sheer number of features.
I'm starting to view browsers as complicated operating systems in themselves, like the Linux kernel, which has its own significant developer culture and massive codebase. How much can you simplify such a thing while providing all the features people want? It's a tough question.
In what way is Firefox struggling? And you didn't mention Apple, who seem very capable of maintaining Safari.
The "strange coincidence" phrasing makes it sound you're saying Google engaged in some kind of clandestine conspiracy. I think it's pretty clear that they wanted to make the web a more capable platform and I'm personally glad they did. Imagine if everyone was required to create a native app on Windows, Mac, iOS and Android to reach all their customers. It would be a nightmare. Google Docs alone is enough demonstration that this is something people want.
This is a strange take on what I think the author is fighting against: a less open web platform. What confuses me is how the adoption of Web Components will somehow make things worse than they already are. Take a look at any contemporary web framework and you'll see there's little overlap in compatibility or portability -- sometimes even between versions of the same library!
I've seen first hand how difficult web components can be, but they're still a better solution than trusting the foundations of the web to the teams at Angular or React. In my opinion we need an API that lets young developers start their web apps with plain HTML/CSS/JS without experiencing into the same decades-old issues that created frameworks in the first place. How should an intermediate developer beging organizing their CSS? Or importing helpful libraries? Or even something as simple as making a reusable HTML template without spending any time in Webpack?
The truth is that we don't have easy answers for these aspiring developers, and we won't get any sympathy from them by demanding the web return to it's document roots. I think Web Components can solve all these issues with some guidance from the community. The platform is ready and so are we.
As a developer who works in an enterprise environment, frameworks like React and Angular are our boon and bane. Beyond the advertised features, they are amazing at providing repeatable patterns for developers and offer structure to large and small projects alike. And in my experience, they have proven to be significantly smaller, more performant, and more maintainable than the vanilla JS apps that were being delivered to clients previously. Also, it is because of legacy browsers that we still need all the features these libraries and frameworks provide. Many of our clients are just now moving away from IE 10 and 11, and tools like these have kept us all sane.
So we take the cost of learning frameworks, bundling through webpack, and being tied into proprietary ecosystems, because the trade off is worth it to us when our focus is delivering value to the business and functionality to our customers.
Enter Web Components. Trying to maintain branding, coherent styles, accessibility, and a cohesive user experience across an entire enterprise can be a huge undertaking. Common component libraries help, but the multiple frameworks used throughout a company can result in duplicated and triplicated work. Web Components offer us the promise of creating these assets once and including them in any application we build, regardless of framework. And since they are spec compliant and framework agnostic, changing to a new framework--or no framework--in the future doesn't have the added cost of rewriting every component to match the new lib/framework API.
To address some other comments here, it's worth discussing who controls the specs, and what's the right path for the future of the web, but we still have to develop for the world we live in today.
I do think it was dumb that <style scoped> got removed though.
[1] https://bugs.chromium.org/p/chromium/issues/list
Edit: This might be fixed, see my first post https://news.ycombinator.com/item?id=22604632
Edit: to be clear, saved pages are HTML snapshots, not full web apps stored in a page.
I'm not sure in what sense web components are different from the components of any other modern application framework, except for the fact that they can be easily imported (probably wrapped) in your framework of choice. But if you're using one of the main frameworks, there is already no shortage of components available for it. Each component will come anyway with a complex behaviour that will need to be wired up with the rest of your application, so the idea of just "source some js then add the element to the page" seems naive.
And web components come with their set of problems: more opaque, harder to style, hard to make accessible. They break the paradigm of "everything lives in the same document" that it's part of what defines the web. They can evolve at a slower pace than frameworks because they're native apis that need to go through slow standardisation processes.
It sounds like an idea from the '90s: what if we could create those damn widgets ourselves with custom tags and drop them in the html? Well, it's been possible for many years. But it is only useful if you do it in the context of an application framework which already gives you the same feature, with better tooling.
Web design is the worst thing that ever happened to the web.
STOP MAKING YOUR PAGES SO SLOW!!
I'll stick to frameworks that emit standard HTML thanks.
[1] https://github.com/mfreed7/declarative-shadow-dom/blob/maste...
[2] https://groups.google.com/a/chromium.org/forum/#!msg/blink-d...
I also have no idea from that post what particular problems the authors see with WebComponents and Shadow DOM and why those would be Chrome-only.
It's likely the compatibility cost is making the browser unusable on many websites which is rendering their browser useless over time.
While I'll happily jump on the let's-bash-google-train, is there any effort to do the same thing in a non-scoped way?
I feel a set of 'web-components' would in fact be a super useful thing to have for everyone. Why does it have to be google-chrome / whatever-specific and locked down?
Webcomponents exist as a loose set of standards that are marginally cross-browser, but Google has the biggest/most popular framework using web components.
They even deprecated Chrome Apps in favor of the PWA standard. Google has nothing to gain from hurting the open web ecosystem.
I really want to believe this. But how does AMP fit into this? I feel it is quite counter to the idea of an open web. Please do not take this as an attack or criticism, I would like to, in fact, learn some better arguments in favour of why Google would support, rather than suppress an open web ecosystem.
To be clear, I'm not saying that it is necessarily representative of reality, but that's the idea.
Walled gardens like Apple News and Facebook Instant actually run counter to this open web. They can't be publicly indexed or crawled or searched, yet they have the valuable advantage of being really fast. I see AMP as an aggressive optimization designed to bring web performance up to par with native platforms like Apple News and Facebook Instant. When a publisher chooses AMP instead of exclusively using those closed platforms, it's a win for the open web when their content uses web standards (AMP is merely a strict subset of web standards) accessible by anyone, not just Apple or Facebook users.
I think nowadays "the open web ecosystem" has come to mean something different in discussions like this, closer in meaning to "the distributed web" or "a less corporate web". Google obviously doesn't care for that.
They've basically ensured that another Netscape/Chrome cannot happen, they've pushed the complexity of the web so quickly that only the biggest most well funded companies can afford to keep up.
Internet Explorer was terrible because they would drop some binary blob (ActiveX, Flash Player) into the interpreter. And those binaries were neither standardised, nor cross-platform, nor OSS.
None of that is true for Chrome. Google's additions tend be useful, which is why "too fast" and "bloated" is the only (generic and subjective) criticism people can come up with. With Safari on Mac and especially iOS, Google also doesn't quite own the same position that MS did. Nor do they have any incentives to harm other browsers: their competitors are Facebook and iOS native apps, i. e. the walled gardens that can't be crawled and searched.
In some ways, it's for the best that Microsoft basically stopped development in the days of IE6, as it didn't lead to the exponential feature bloat that has been the case the last few years.
This is already possible today - many Qt applications, for example, compile to WebAssembly with minimal changes required.
Look at this nice Qt rich text editor demo, rendered in a canvas: https://s3.eu-west-2.amazonaws.com/wasm-qt-examples/last/ind...
Even copy&paste works! But except for use cases like porting existing niche enterprise applications, I don't see why anyone would prefer this over standard web development.
Performance is worse, it's very slow compared to the DOM, accessibility is nil, it requires arcane tooling and the ecosystem is so much smaller.
And you don’t seem to be able to enter astral plane characters at all (though that’s just an implementation bug that they haven’t dealt with yet, and shouldn’t be a fundamental problem of the approach).
And controls are all wonky and non-native in look or feel. And keyboard control slips badly in many places so that you lose your place within the window easily.
Recompiling desktop apps to the web (and specifically Qt, but also excluding games, which live somewhat in a space of their own) is very niche.
It's already done! Web Components (Custom Elements + Shadow DOM) are web standards, ratified by W3C, and they already work great in Firefox and Safari. This whole article is simply incorrect.
http://w3c.github.io/webcomponents/spec/custom/ https://w3c.github.io/webcomponents/spec/shadow/
https://www.webcomponents.org/ see "Browser Support"
Therefore there was some conflict between the two groups until WHATWG emerged victorious. Here's the final agreement: https://www.w3.org/2019/04/WHATWG-W3C-MOU.html
It boils down to complete capitulation by W3C.
They cannot be serialized, they break accessibility, they break screen readers (AFAIR), they are not lazy loaded, they do not participate in form events, they...
But they work fine in screen readers, (you can screw this up with JS, just like any other HTML) and they "participate" in form events just like other HTML.
Since they require JS, you can lazy load them if you want (it's just JS).
Shadow DOM also throws off accessibility IIRC if aria-labeledby and similar cross shadow dom boundaries [1] but I do agree they should be largely accessible to assistive technologies.
You can't truly lazy-load them. See Rich Harris' (author of Svelte) take on Web Components [2] And these two articles by a Web Components proponent listing the many issues they still have [3]
[1] See for example this tweet https://twitter.com/sarahmei/status/1198069119897047041
[2] https://dev.to/richharris/why-i-don-t-use-web-components-2ci...
[3] https://dev.to/webpadawan/beyond-the-polyfills-how-web-compo... and https://dev.to/webpadawan/the-journey-of-web-components-wron...
Screen readers especially only do well on simple documents, and only work with apps well they’re specifically designed to interface with which for the most part are apps that are used in document creation or text communication like Word, or Skype.
*Disclaimer: “well” is in the eye of the beholder. It’s challenging to use them with arbitrary apps, and the time investment is only useful if that app is going to put food into your table.
Worrying about dumb technology is irrelevant. (If you want to worry about tech, worry about AI, that has the potential to really cause problems.)
Sure you could combine WebAssembly with some DRM thinks to close it off. But so can you do for normal JavaScript.
At the same time WebAssembly does open the web for more programming languages, more programs/use-cases (due to more close to hardware performance).
Lastly WebAssembly turned out to be very usefull for having a standartized cross platform, cross architecture sand-boxing system. I.e. what Java tried but failed to do.
Not everything done on the web is a "web site". Or blog.
There are untold numbers of Boring Business Applications that make the world go around. (like it or not...) These applications are increasingly built to run in web browsers. (not necessarily over the public internet)
These types of applications may be large and complex. They might have hundreds of forms, thousands of reports, etc.
Web Components, and other various web technologies might be great for this type of use. This isn't a web site where you want to "save" a "page". The application isn't organized as "pages". The browser is more like a remote smart terminal with a rich set of technologies available.
Next time you check out a library book, or a nurse draws your blood for lab work, or you get your oil changed, look at the application they are using. Is it running in a web browser?
Remember how everyone was adding stuff like lightboxes to their pages with jQuery Plugins? Well now that kind of thing is much cleaner and doesn't require writing a line of JS.
That ship sailed a very long time ago.
WebComponents is dead simple compared to React, TypeScript, WebPack and all the complex tooling which developers are essentially forced to use these days due to a lack of alternatives.
The alternatives were barebones HTML, CSS, and javascript.
They were forced, in 2013, by Google who used their monopoly search position to enforce 'responsive' design (i.e. frameworks) otherwise your page got delisted. This company is ripe for anti-trust.
You have to decide what you want the web to be. An opaque application or a document. Using the tools of applications for documents is pretty stupid even if it is hip and looks good on a resume. There are two webs. There's the money web run by coporate persons and then there's the web run by human persons. If you're being paid you don't really have a choice and that sucks. But if you do have a choice, please please, consider what Moonchild is asking here.
Pale Moon is an open-source web browser with an emphasis on customizability; its motto is "Your browser, Your way". There are official releases for Microsoft Windows and Linux, an unofficial build for Mac OS, and contributed builds for various platforms. Pale Moon is a fork of Firefox with substantial divergence.
(I also don't like that they removed <blink> but did not remove <marquee>; I don't want <marquee>, but I do want <blink>, which I have done with userChrome.css, which also allows me to program the blink rate, is good.)
Aren't web components now apart of the main spec via W3C acceptance?
document.querySelector('.content').style['max-width'] = '650px'https://www.reddit.com/r/palemoon/comments/fk4fnl/attention_...
Who knows the Palemoon team realizes pretty fast that when the developer is writing something like that here - https://forum.palemoon.org/viewtopic.php?f=1&t=24004
that it has the meaning that they can't move forward or have serious issues in attempting to do so. Google-Web-components... The next BIG thing in web development which is used in Youtube and other big pages will be most likely Palemoons undoing. Without it - no more videos on Youtube! Media and business sites are no longer loaded and can't be used properly, buttons can't be pressed anymore so pages are partly or fully broken! This is what more and more pages adopt, as it is the NEXT BIG THING! The Palemoon team failed in the past to implement highly complex features and the only solution so far was in the end to adopt fresh engines from Mozilla on a regular base, something which is NO LONGER POSSIBLE as future Firefox engines have not the features the Palemoon team sees as vital! Get slowly ready to start the search for a new browser to which you can switch in the near future - the best and most logical time in doing so is NOW!
Additionally - regarding this whole topic: https://freenode.logbot.info/binaryoutcast/20200314
WHY it most likely will die... While we all should be grateful for Gaming4JC and his attempts to bring over some code lately - Google Web components is TOO BIG - Seamonkey guys don't have it inside their new new 2.53 - which is based on Firefox 56. Waterfox - using the same code - also has issues. And if it is already problematic with Firefox 56 based code... how big is the chance to succeed with Firefox 52 based code? With the help of only one skilled guy? My suggestion is try as much as other possible browsers now to make the switch when it is forced on you as less annoying as possible.
> ...failed in the past to implement highly complex features...
This must the most toxic web community I've seen in a while. I basically agree with this troll but they still sound like some imposter failing miserably at faking confidence and competence. (Or, you know, the current leader of the free world).
Also if Web Development is now becoming a synonym to "ChromeOS", Chrome did not reach that state magically, rather thanks to the crowd that kept bashing IE and FF thorough the last decade.
> I used to be big into XHTML
I know :( > rather thanks to the crowd that kept bashing IE and FF thorough the last decade.
I like FF, but that's too simplified.Chrome was preinstalled on a bunch of devices (namely Android) and heavily advertised (through Google). Firefox and even IE is having an uphill battle fighting that kind of power.
What governments need to do is do to Google what they did to Microsoft. Lawsuit, hefty fine and mandatory choose your own browser. Although, I doubt even that would help.
Edge is backed by MS, Safari by Apple, so they are out. Firefox is a backed by a foundation, a not for profit. Brave is on top of chrome, and open source.
I guess the old Opera browser ran ads in the browser and was a commercial browser. And did people pay for netscape navigator?
Now, if only someone could stop Firefox managers from killing off the only good part of Firefox (it's diverse addon system).
So many extensions lost, like tears in the rain.
Linux comes with Firefox pre-installed (or some variant of it, depending on distro).
Windows comes with Edge pre-installed.
MacOS comes with Safari pre-installed.
OSX comes with Safari Mobile pre-installed.
Android devices appear to have a decent choice of browsers, and the default is chosen by the manufacturer. For a lot of them that's Chrome, but not all.
I don't think there's actually any large group of devices that has Chrome pre-installed.
Also, pure Android users are free to install any browser and set it as the default.
Chrome is so popular because it has been the best browser for years. Whether that's still true is open for debate. But I remember when it came out, finally an answer to the godawful shite that was IE. We may dislike it now, but it saved us from Microsoft's disaster. It's fascinating that you're now claiming that "even IE is having an uphill battle fighting that kind of power". How the tables have turned.
The problem is not so much with marketing power, but with coding investment. Writing a browser is a mammoth undertaking, with all the strange edge cases and standards. Even Microsoft has decided it doesn't see the point in writing one. We're going to be left with two browser choices not because of corporate power, but because it's just too much effort for not enough reward to write a third.
I see where TFA is coming from: if we could agree that browsers don't need to be this complex, then there would be more of them. But that would mean less flexible web pages, and we'd end up with something Flash-like being an attractive alternative.
A number of distributions ship with GNOME Web.
That wasn't Chrome at all. It was Firefox. Where is this history re-write coming from. Firefox lost market-share when they went to Australis and became followers of Chrome instead of leaders (helped in part no doubt by funding from Google).
"Linux" has a minuscule market share and the people that use it are already more likely to use Firefox than Chrome since FF is open source.
>Windows comes with Edge pre-installed.
Edge is now Chromium-based as not even Microsoft wants to deal with Google breaking websites for non-Chromium browsers "by mistake" and rushing to fix it.
>MacOS comes with Safari pre-installed.
>OSX comes with Safari Mobile pre-installed.
Which are minuscule portions of the market.
>Android devices appear to have a decent choice of browsers, and the default is chosen by the manufacturer. For a lot of them that's Chrome, but not all.
Irrelevant. All of Android's browsers use a wrapper around WebView which is Chromium. Only Firefox comes to mind as a non-Chromium browser and it's not preinstalled on anything.
>I don't think there's actually any large group of devices that has Chrome pre-installed.
Android phones, Microsoft Windows and every user that installed Flash or Avast! in the past 12 years.
>Also, pure Android users are free to install any browser and set it as the default.
Again, most browsers are a wrapper around Chromium. Again, most users don't change defaults.
>Chrome is so popular because it has been the best browser for years.
And anti-competitive practices like being bundled with popular software and having free advertisement from the most popular website in the world (which also happens to be the most popular email provider and video sharing platform.)
>I see where TFA is coming from: if we could agree that browsers don't need to be this complex, then there would be more of them. But that would mean less flexible web pages, and we'd end up with something Flash-like being an attractive alternative.
Websites are not flexible. They're flexible for ad companies and web designers who like pointless animations, but now they're harder to parse, modify, save and their compatibility with text-to-speech has gone down the drain the past years.
The problem with Flash is that it gave us a bunch of unresponsive, needlessly flashy websites that were harder to use. Web designers are doing the exact same thing with HTML5 and their 50 MB of JS libraries.
So yes I'm afraid that at some point we will all end up being servants of Google. Hopefully something will prevent this from happening.