I'm pretty impressed with Edge. Browsing HN with it now, and it's definitely the best browser Microsoft ever made, by far. I really really hope they'll backport it to Win8 and Win7 like they didn't do with IE10/11, otherwise we're all going to be in the same shit again.
The list of supported tech is getting pretty real as well [1]. Not everything yet (wot, still no desktop notifications? do you even want people to use your browser for real work?), but a lot - e.g. very much of ES6 is in there and usable right now from the devtools console.
If I had to guess, I would guess they won't backport it, at least not before the end of the free Windows 10 upgrade offer. And if that goes as well as they hope, probably never.
1) The set of functionality it tests is pretty arbitrary. Some of the things it tests are basically single-browser-vendor with other browsers having clearly said they have no plans to implement them.
2) The point values it assigns to the things it tests are totally arbitrary. So you can implement various useful things but have fewer points than one less useful thing.
3) Its tests are easily gameable (and commonly gamed by various mobile browsers, though less often by IE/Chrome/Firefox/Safari).
4) Some of its tests are just buggy. E.g. it claims that a Firefox nightly doesn't support "script execution events", whereas in fact Firefox supports them just fine. It's just that the way the test runs its test script is relying on a browser bug that got fixed, so the script doesn't run at all.
So I would take any claims based on its summary score as pretty much meaningless. Results for specific things one cares about can still be meaningful, as long as you keep #3 and #4 in mind.
In the 11 years I've been a web developer, there is not a test where someone disses it for all the reasons you give, no matter who created it, including caniuse.com.
However, I would never take anything you say, Boris, with a grain of salt. Especially since, about 8 years ago, you tried to recruit me to work on Firefox ;)
Oh, sure. These are not problems unique to html5test.com. Pretty much anything that claims to boil down the quality of a browser or rendering engine to a single number will suffer from problems #1 and #2. As for #3 and #4, writing a test not susceptible to gaming is _hard_, and bugs happen.
It's just that people like to forget all this and treat the numbers they get as revelation from on high. Sort of cargo-cult quality measurement.
Microsoft could have added this years ago if they wanted to prioritize it.
I remember several years ago as a Microsoft dev when my boss thought Silverlight mattered and he had me trying to make the styles work exactly the same as WPF.
We were working on military software and they wanted browser-based apps, so we were building WPF hosted in a browser mixed with some ActiveX map component. About 5% of the software was _actually_ web based. The rest was just "let's jam MS-exclusive shit in IE".
Why isn't it done yet? Same story as the last decade of HTML 5 stalling and lies: a powerful compatible web conflicts with their business model.
If it made business sense then some of those resources used to build the numerous MS component technologies that have been developed and extremely successful over the last 20 years, from VB, OLE/ActiveX, to various .NET/WPF/XAML, Silverlight, etc. would have been applied to something like web components.
The engineers may not be stalling, but the business priorities direct the engineering.
Its like people asking Palmer Lucky about VR standards. Of course he is going to give you a load of bullshit about how it is really hard or whatever. They have absolute market dominance in VR headgear, like MS has in component technology. SteamVR is to Oculus as MS component systems are to Web Components.
If MS or Oculus actually tried to embrace standards, it could literally result in billions of dollars going to competitors instead of them.
Note that this comment will turn invisible as Microsoft shills and religious fanatics downvote it.
I dislike the comparison to IE6 because it's easily shot down with the many ways in which the situation is different. But Safari absolutely is falling behind other browsers in API support and could well end up holding the web back. Particularly on mobile, given that iPhone users are not able to install a different browser runtime.
Being pretty disingenuous to compare IE6 with WebKit in terms of implemented features. Many websites had to be specifically coded for IE as it wouldn't render correctly many basic parts of HTML/CSS. WebKit is deficient mainly in the newer, less popular features.
Also Microsoft would unilaterally add proprietary features and tie their software to it e.g. Outlook/Sharepoint which then encouraged corporations to do the same as well. Apple actively participates in standards organisations eg. one for Web Components:
Many websites had to be specifically coded for IE as it wouldn't render correctly many basic parts of HTML/CSS.
Was IE6 demonstrably less compliant than other contemporary browsers? I recall - similarly - sites that were "Best viewed in Netscape Navigator at foo x bar resolution."
Also Microsoft would unilaterally add proprietary features
IIRC, IE6 added XmlHttpRequest, which - though there were other workarounds to accomplish the same thing - enabled AJAX.
Do not other browsers even today add their own features (e.g. browser-prefixed CSS properties) prior to standardization?
...and tie their software to it e.g. Outlook/Sharepoint
Initially well, but soon very poorly, because IE6 remained a contemporary browser for an unusually long time.
Distilled down to the core, the fundamental problem with IE6 was the five year chasm where development was completely stalled. When the version was finally bumped in 2006, so much time had elapsed that the solution was unsatisfying for everyone: changes so major that compatibility was problematic, but still insufficient to bring it up to speed with its competitors.
Safari may not be implementing bleeding-edge features at the same rate, but at least the engine is being continually developed and improved.
> But Safari absolutely is falling behind other browsers in
> API support and could well end up holding the web back
I am afraid that hastily releasing half-baked APIs and moving on to the new shiny things will do web more harm in the long run.
IMHO web is suffering a huge identity crisis right now.
IMHO the problem is their yearly release cycle. Right now the feature might be too incomplete to include, which is fair. But in a few months it would be, but its still 10 months at minimum before Safari adds support for it.
That would be a very distant possibility. Chrome is indeed being used by a lot of Apple users however, the loyalty and fan base of any and all Apple products is too big and, pardon me, egoistic. They would not let it go that easy
Safari doesn't lag that far behind WebKit and iOS/OSX both have very frequent update cycles. And has WebKit really been that bad at adopting internet standards ?
Sadly yes. While it's not really as horrible as many people (myself included) have said, the problem is their release cycle, and iOS's lock in.
One a year means that it will probably be 2 years before any new features are "stable". (for example IndexedDB support came out and it was so buggy that it was unusable, it wasn't until ios8 that it was even somewhat usable, and it still has several game-breaking bugs)
So you run into problems like this where in 6 months every other major browser will have stable shadow DOM support, and safari will still be at least 6 months away from its first (possibly buggy) release, meaning there could be another 12 month wait after that to get a good implementation. And while any other platform can install an alternative iOS users are stuck with safari, and there is literally no way around it.
You could also argue that Safari on desktop is more likely to be updated as well since it is generally accepted that Mac OS X has a higher adoption rate of new versions since:
1. enterprise use of Mac OS X is pretty small, and its generally enterprises that are slow to upgrade OS/browser, etc (albeit for generally valid reasons)
2. OS X upgrades have been free for some time now.
Based on this post from a few months ago (which was on HN at the time), I wouldn't call Safari a holdout, though I don't know what's happened since then.
Can't see how is React winning here - FLUX won already but in new HTML's web component era React will be even less relevant. There will be no need for big frameworks since apps could be build from high level components.
I wonder if it would be possible to develop standard tests first on an open source non profit basis, and then somehow boycott non-compliant vendors.
But this might be the same age-old fundamental conflict between information technology knowledge management and business.
How can we effectively work together and yet still compete and evolve freely? Which words go in the dictionary? Whose language? Whose dictionary? Which words are so new no one acknowledges them?
With natural language this is a very hard problem, but I think with information systems eventually we will solve it. We could create and widely adopt something like a fully machine-processable specification source code for all protocols and languages etc. This would require building everything off of a common metalanguage with flexible representations that constantly evolves.
Define worse. There's an advantage to "vendor lock-in" in that having control over the whole product gives you advantages others won't have. It allows you to make guarantees others won't, too. Apple can warrant the hardware and software but Microsoft never will, for example.
I consider beeing coerced to use a limited set of services (for some functionalities) a huge disadvantage. It is a question of control and autonomy over your systems. Do you have control over your machine, or is it the other way around?
> having control over the whole product gives you advantages others won't have
And that is exactly what you abandon, as a user of locked-in software.
I concur infsofar, as there is a set of real world applications, where the advantage you describe really counts. Industrial control systems or hardware for medical applications for example.
You are ignoring the vast majority of users, most of whom aren't on HN or reddit, who don't want such control over their systems and just want them to do what they want and reliably so. Apple fulfills that need and does an excellent job of it.
Note: I own no Apple products except for an original iPad given to me on my birthday. I built my own systems from scratch, as a former electronic engineer, and create web sites on FreeBSD.
So, without knowing anything about how those scores are calculated, I'll point out that currently, desktop Safari (which is much less problematic than iOS Safari) is just behind Edge, a browser that isn't even at v1.0 yet.
Even the most literal "new Internet Explorer" -- Edge -- is a more standards-compliant browser than Safari, which has stagnated far behind every other competitor in the list.
So yeah, I don't mind saying it again: Safari is the new IE6.
Oh, and while you're on that page you linked, click over to "mobiles" and observe that even Blackberry scored higher than iOS (i.e. Safari, since you can't really get any other browser there).
Does anyone have a simple definition/explanation of Web Components? The only descriptions I find online call them "reusable widgets or components in web documents," which is kind of meaningless since all code could be considered reusable.
The simplest explanation I've come across is that web components lets you create pockets of html, css, and JavaScript that are self-contained and, importantly, not affected by the actions of external css and JavaScript.
The browser vendors originally created it for themselves so that they could do things like build a standardized html5 video player interface using html but without worrying about you iterating over the internal elements in js or screwing up the buttons with css.
The simplest and most straightforward explanation of Web Components is that they are a way for web developers to create new html tags instead of relying on the browser vendors to do so. For example, you're probably familiar with the <video> tag; it requires no additional dependencies to use, provided your using a browser that supports it, and its styling and internal logic is neatly encapsulated and hidden from the consumer. Web Components will enable you to create such tags and easily share them with the world.
It lets you bundle up the html, css and javascript in one place. Imagine a video player with css buttons and a video section. you include the component source then put in a <my-player/> tag somewhere. That's the gist anyway. kinda sorta like client side taglibs like you'd see in jsp pages.
not so familiar with ASP.NET, but yeah that sounds about right. The key is it runs in the browser itself, rather than being a bundle that's compiled and moved around at build or run time.
you take all your standard html5 stuff, bundle it in one file, and serve that to any client that wants a video player. You can, of course, play minification games or whatever to reduce the number of files - but the pure form is, one include == one component.
The list of supported tech is getting pretty real as well [1]. Not everything yet (wot, still no desktop notifications? do you even want people to use your browser for real work?), but a lot - e.g. very much of ES6 is in there and usable right now from the devtools console.
[1] http://dev.modern.ie/platform/status/?filter=c3e0000bf