“Safari's buggy” is valid criticism, “Safari's behind Chrome in features” is not
twitter.com
twitter.com
A critique of Safari's influence on the web - https://news.ycombinator.com/item?id=27985783 - July 2021 (184 comments)
> "I want web sites to do everything a native app can do" is a suicidal mistake.
If you think you're ceding a lot of power to Google and Apple when it comes to browsers, I fail to see how "That webapp you're building can't use Javascript so build it in Objective-C/Swift for iOS instead" would cede less power to Apple.
At least I don't need Apple's approval to build my website...
The browser is inherently more locked down than native apps. A Facebook app on your computer can read anything on it without any pesky browser security and privacy features getting in the way.
This is not true, at least on OSX.
It will ask the user to confirm whether the app is allowed to read/write to key locations e.g. Documents, Photos as well as access key sources of data e.g. Contacts.
true this. day before yesterday, i had a webapp ask camera and mic permission and after giving yes to both got a third dialog immediately - i read it but gave yes accidentally before realizing it was permission for push notification -
such a dark patterns can be used for exploiting users.
This developer-dictated "defaults" strategy is developer-friendly but user-hostile; it's why we end up with power users commenting on HN along the lines of "I can't turn off X, because then all sites will break." Most users (non-power users) cannot even turn off X because they do not even know they can. They haven't got a clue. Developers like it this way. This is some highly manipulative maneuvering; this is unethical IMO, but I think like a user not a developer.
Defaults are definitive. Perhaps that's why the current CEO of Google, before he became CEO, worked so intently to get vendors to make Google the "default search engine". Users do not change these defaults.
This is already the case, isn't it? You can easily disable js for good, and then enable it as needed on a per-site basis.
You disable JS, you make most websites unusable out of the box. You don't even need to go that far; disable web fonts and half the websites' buttons become undecipherable.
Technically those might be options, but in reality you have no other choice if you want to use the web.
Imagine a technology where I can test my page on one browser and be confident it looks right everywhere, not because the browser has market dominance, but because all the hard work of targeting the lowest common denominator has already been done for me. When was the last time you thought "hmm I better check and make sure this markdown document renders correctly in safari"? I think this is where the world is heading, and it's why so many sites are supporting markdown syntax. But there are so many markdown flavors and engines that we've just pushed the problem to a different level of the tech stack. But I think the concept is sound, even if the technology is still evolving toward that ideal.
If you use today’s jQuery to build out some functionality today, it will likely work exactly the same for every browser since IE10.
For many sites it is not an option. If you disable JavaScript then it does not render at all. I've also run across web sites that do not work at all if cookies are blocked.
IMHO this kind of design is just retarded. If you want certain functionality dependent on those features being active, I can understand that. But them being disabled should not prevent the web server from sending me HTML and CSS so something renders on my screen.
I know this is HN, and there are a lot of people here who are resistant to social change, but please don't use this word
It doesn't matter what you say you support if the consequences of what you do hurts that goal.
What new walled gardens do you think would be created if JavaScript was removed from browsers?
MacOS and iOS apps will need to be written in Swift, so you better hope all devs know Swift and have Macs to write code in.
Windows Apps will need to be written in... uh, C#? Good like finding as many devs for that as there are currently for JS.
> "I want web sites to do everything a native app can do" is a suicidal mistake.
Most Mac users are just using MacOS as a windowing system to run Chromes browser engines multiple times across the bunch of Electron apps they use to do their work.
The age where Mac users were mostly working all day in native Cocoa apps is long dead, I think I might be the only person in my office that uses a text editor running on Cocoa not Chrome.
We didn't get here by accident, end of the day Figma is better than Sketch, Google Docs is better than passing Pages files around, Google Maps in a browser window where your actual research is happening is better than opening the Apple Maps app and Slack is better for work than Messages.
The world moved forward, Jeff might not like which tech stack it chose but no one is making anything written "natively" on Macs that can compete, and it's silly to say that it shouldn't exist while that fact is true.
There’s nothing that says “as an end user I’ll always prefer electron” - I don’t care what it’s written in. But from my perspective there seems to be a lot of high quality electron software that may not have existed otherwise.
But it's users who are creating these business reasons. Many people, myself included, simply don't experience native software as universally superior as platform purists would have it. So we're not paying for it.
And no you can't simply blame employers either. They may not care much about what their employees find more convenient or more beautiful, but they sure care about productivity and TCO.
Resource constraints are not a capitalist conspiracy. Free software suffers from the same issues and trade-offs between implementing actual features and re-writing software for six different platforms and UI technologies.
A choice free of any and all resource constraints cannot exist.
Also folks who want js go away web sites dont realize how massive the ecosystem is. How many unicorns are SaaS vs Native? You are asking them to go out of business?
Yeah this is honestly where I stopped reading. The ship has long-since sailed on this one - on-demand software clearly wins on utility over local software in most cases, a fact which is proven by how dominant web is over native software despite it's many shortcomings.
I actually think what we need to advance software is a better stack/tooling for web to bring it closer to the native experience. I.e. I can imagine a world where my laptop is mostly a platform for running WASM/WebGPU code downloaded from network on demand - and it would be nice if that type of software was not so reliant on the browser as a middle-man.
But I guess that's the whole point of the discussion :)
It might be true that it’s not competitive but no evidence that it’s deliberate.
Because browsers allow remote code execution and Apple wants to limit the attack surface.
This is about gullible users being protected from attackers by Apple.
I spend a lot of time on websites where I rely on JavaScript (Google Maps, navigating GitHub etc.), but it's always the same handful of sites. Having a "Trust this Website" button to whitelist these places would totally work. Everyone else can serve me static HTML or lose me as a visitor. (I realize that's kind of what NoScript extensions achieve, but they're not a standard with enough momentum.)
For instance, the modern web is a UX nightmare - every time you go to a site, you get bombarded with popups, requests to send notifications etc.
But how can you define which level of interactivity is allowed on a document without limiting creativity and the potential of the platform to grow?
I don't think the solution is in trying to draw such a line. I think the solution is to build something that covers 80% of the use cases, AND makes it sublimely easier than the technology we use today, AND is backed by someone with the power to deliver it to users.
There are examples in our history where we rejected a complex technology in favor of a simpler one, so there is some precedence. Remember HTML 3.0?
I wish it was, perhaps may be by numbers i.e. websites vs native software but if we take mobile ecosystem, native applications rule and many of the web pages are just landing pages for those mobile apps.
Smartphones are the first computers for majority of the world and significant population among them would have never opened a browser to enter an URL but perhaps would have used WhatsApp to click a link and opened it in built-in browser.
Even in web, mobile visitors has long overtaken desktop but again how much of it is organic i.e. direct or search when compared to those from social media, chat apps which again are likely to be native apps(and opened in built-in browser).
After a decade of developing mobile(native) apps for all major platforms I've quit native mobile app development and have started to focus my efforts back on web; My audience are intentionally those who wouldn't mind using a web application but I still occasionally receive questions from a new user like 'Is there an app for this'.
I strongly believe that until the duopoly in mobile ecosystem is fixed, Web is under serious threat.
Largely because iphone doesn't let you install a proper browser that doesn't lack most features from the past decade, and iphone users is where the money is at so that is what companies targets.
Easier than typing a web page once and then maybe clicking "add to my home screen"? Which is how PWAs work. They are great on Android, but iphone has deliberately not supported the standard.
> faster to use
Citation needed.
> Big Tech invest humongous amount of money in promoting those apps
Again, apple doesn't support the web, so companies that want to leverage web capabilities are forced to develop native apple apps.
Nevermind that this results in a system that is completely impossible to reason about, that this allows companies and corporations to play out business politics right on your hardware and that now suddenly apps can be taken over by malicious parties.
Suddenly, we need a privileged "app store" 3rd party that can constantly monitor apps and ban them, should they suddenly turn into malware.
That is suicidal.
Yes. But some day you may need Apple's approval for Apple's user to visit your website due to security / privacy / or other ideology them deem unfit for their user's consumption.
Yes an independent small-time developer cannot create a browser engine from scratch today, but Apple does not fall into that category. Their choices with Safari are not born out of lack of resources or expertise but deliberate planning.
Yes large companies have seized control over the web from W3C. Apple is one of those large companies. They refuse to follow standards that they themselves dictate for others.
Yes pushing more features to the web is going to result in loss of privacy. But Apple doesn't want vanilla websites, they want developers to make iOS apps (gated behind their store) which are worse in every way.
Plus it doesn't address the biggest argument, which is that even if you say Apple can do whatever it wants with Safari, what is their rationale for blocking other browsers on iOS? It sure isn't because Apple loves the open web.
The W3C is a consortium, that's what the "C" stands for. Said consortium is comprised of "very large companies" and it always has been. That's the point: cooperative game-theory.
The telcos almost won the wires for voice instead of IP based systems. It’s been a mix of Government, Scientists, University Academics, and corporations since the late 80s/early 90s if not sooner.
AOL got the masses on the web and things like Prodigy existed before them. AOL is more akin to Facebook nowadays.
Perhaps you're thinking of the IETF. The W3C was always more corporate than the IETF, but even the IETF had lots of corps, it just had more university reps than the W3C did.
The IETF doesn't have members. IETF participation is an individual activity for people. Your employer can (and many do) pay you to participate, but they're not the ones participating, you are. The IETF doesn't vote on anything, it doesn't have members so a vote wouldn't mean anything, it is looking only for a "rough consensus".
So for example, we were seeking to make extensions to IMAP that gave standards based email something competitive with the Blackberry experience. Some of the proposals specified protocol proposals specified yet another tunneled protocol for real time notifications over 25 or 143, but I objected that deploying this widescale was more difficult due to firewalls, I counter proposed a HTTP based solution which also was shot down. But the group did consider my concerns over deployment, and shipped a BCP document to encourage network admins to be prepared for Lemonade specs: https://tools.ietf.org/search/bcp143#section-6.1
That said, this whole thread really bothers me, because people's attitude isn't "well, Apple should counter propose improvements to achieve use cases, but with better battery/security/privacy", but just "Google bad, don't work with them, essentially boycott the W3C/WHATWG and freeze the web in place. Oh, and let's keep the web like it was 1998."
The Web has changed a lot, people's requirements and use cases have changed a lot. Just take e-commerce or passwords. We all know that sending your credit cards or password credentials to Web sites is bad for security. So login and payments need to be solved and THIS REQUIRES NEW STANDARDS.
You simply can't say "HTML4 was good enough. " because HTML4 meant cookie hacks, HTML4 meant storing your credit cards and password credentials on the server. If Apple cared about these things, they'd make sure to work with Google, and Mozilla, and Microsoft to ensure standardized, secure, private payments and logins were widely deployed and implemented for example.
I really tire of this tribalist fanboyism.
If you think Google is evil or shouldn't control the web, the solution isn't to boycott the standards committees, or to cheerlead a stagnant unchanging web platform (an unchanging platform is effectively a dead platform in the face of changing hardware and user demands), it's to get involved. And therefore, the proper court of action is to demand Apple fully fund their Safari team. It's obvious they's skimping on them, as the accumulated bugs alone are not a philosophical choice, but one based on resources.
Same reason you can’t install custom system fonts on iOS. They want to keep the iOS experience coherent. If you don’t like it, buy Android.
Edit: a system font is a font that system dialogs use. Not just any random custom font installed in the font library.
> You can download fonts from the App Store app , then use them in documents you create on iPhone.
https://support.apple.com/en-au/guide/iphone/iphb2517689c/io...
What do you think of Mozilla and Servo? Because quite honestly, I think a moderately sized team should be able to accomplish it with enough time. Yet Mozilla canned the Servo team. It feels like practically nobody can create a standards compliant browser engine from scratch these days.
How many are actually working on the browser?
80% of revenues which the money is from a single partner called 'Google'.
The future of the web is literally in Google's hands, and it is definitely not going to be any more private.
Mozilla appears to have given up the privacy-first browser selling point and has accepted getting paid by the anti-privacy club.
In 2007, Mozilla was actually going to walk away from Google's millions since they said "We've spent a lot of time and energy making sure that Google understands that it cannot turn us into an arm of Google" [0] This was an effort to make money without the reliance on Google.
Maybe this was the scare that made Google paranoid enough to create their own browser. which first released in 2008.
Since then, Mozilla knew that they were in trouble and Google became a direct competitor whilst they were still funding them and they ended up not walking away from Google's millions. Ever since Chrome came along, Firefox usage was struggling ever since. [1] Google's millions made up for 75% - 84% of Mozilla's entire revenue.
Now today, it has become a two horse race with tons of Chrome-based browsers and only Safari competing against it. With users switching to the Chrome ecosystem, Mozilla (and Firefox) is still on life support and dependent on Google. Even Microsoft Edge even jumped ahead of it [2].
Just like how Nintendo turned Sony into a competitor out of a partnership gone wrong, Mozilla turned Google into a competitor all by themselves and given they are still unable to walk away from them, they have to deal with a partner that is against their entire mission statement.
[0] https://web.archive.org/web/20120105090543/https://www.compu...
[1] https://www.theverge.com/2011/12/5/2612918/future-of-firefox...
[2] https://gs.statcounter.com/browser-market-share/desktop-mobi...
Eh, depends what you mean by "resources". Apply is (in)famously a relatively frugal and small company, given it's worth and value. Even it's native platforms, its crown jewels, suffer from this.
These are not the same category, and that's very much the problem. Well, a problem at least.
Have a website? Make a website! Please! Don't make a web-app, don't make me download megabytes of JavaScript, consume my bandwidth and power, and make me insecure just to read your content and maybe do some minimal form filling. Just give me some HTML+CSS.
If you have something that's an app, please make a real app. Don't make a web-app, don't make me download megabytes of JavaScript, consume my bandwidth and power, and make me insecure when I could be having a native app instead.
> A website is much more accessible, and can usually do the job.
Not sure why this is the "opposite" opinion, as I specifically wrote that most things should be web-sites. HTML+CSS.
A few things need to be (native) apps.
Nothing should be web apps, because those suck. In addition to sucking bandwidth and power.
Privacy and security.
That's their stated rationale. I believe the poster was asking for their true rationale.
I would guess it has much more to do with Apple wanting to exert control over webapps running on the phone. This makes sense considering how much money they make from native apps coming from the app store.
Then they added support for custom keyboards, and everything still works.
"iPhone shouldn't allow changing the default email app. It's secure and just works."
Then they started allowing you to change the email app, and everything still works.
"iPhone shouldn't allow widgets on the home screen. It's secure and just works."
Then they added widgets, and everything still works.
Same with changing app icons, adblock extensions, dark mode, and so many other user-requested customizations. Every time they have made the phone more open, overall user experience has become better, not worse.
People continue to say the same thing about browsers, locked app store etc., but one they they will open up as well and – guess what – iPhone will benefit from of it.
If you have an Android phone, Windows recognizes it as being a USB drive and everything just works. No shitty, bloated, slow, difficult-to-use, third-party app required.
It can be both.
Another example is that Apple believes native apps are the best end user experience. Generally I agree. Native apps also make Apple money by going through the store.
> Privacy means people know what they’re signing up for, in plain English, and repeatedly. That’s what it means. I’m an optimist, I believe people are smart. And some people want to share more data than other people do. Ask them. Ask them every time. Make them tell you to stop asking them if they get tired of your asking them. Let them know precisely what you’re going to do with their data.
> That’s what we think.
* https://www.youtube.com/watch?v=39iKLwlUqBo
What they're doing now seems to simply be a continuation of that thinking. (Sometimes better, sometimes worse.)
Imagine the much more common case of a small company (or individual) trying to make a useful app that is available to everyone. If they can make it in a browser, it's possible, if they have to make it for every proprietary platform (iOS, Android, Windows, Mac, Linux...).... often impossible.
I'm happy that web browsers can do a lot. Many of the "security nightmare" arguments don't make sense. It wouldn't be a security nightmare if, for instance, Safari could allow a MIDI keyboard to talk to the web browser as it does in Chrome (ignoring Sysex support, which is the security excuse for holding it back.... there is very little need for that in a browser). God forbid I want to do a piano learning app. This is just one of many examples that may not affect you, but affects some subset of apps. (there are tons more, that one happens to affect my app) People are quick to say "I don't need that in a web browser", but you could say that about just about anything, for instance camera support.
I do look forward to a day when most apps run in a browser rather than having to be platform specific, or require giant teams of developers to be cross platform.
I mean, if a platform doesn't support something, I wouldn't expect the browser to support it. Even if they decide that it is too hard to support a particular feature on a particular platform, doesn't mean they have to simply abandon the platform. They just don't support the feature.
In fact, Chrome originated as - and a lot of its code structure post-Blink-fork still signifies it as being - a meta-platform of its own with a WebKit port to it.
May not be the best example since Haiku's browser is often cited by people as a big reason they can't use it as a daily driver.
Cross platform is, frankly, overrated. Depending on the market you're aiming for you have a very limited set of platforms that matter and directly targeting a native look and feel, as well as accounting for hardware and OS constraints, will always produce a better experience.
Games? Target Windows and the consoles (web isn't a "real" solution on them anyway!), test on Proton if you care about Linux, and Mac isn't worth your time. Office software? Windows. Any kind of appliance (emulation station, kodi, etc), Linux. Developer tools? Linux and Windows. Bullshit addictive eyeball farming social media platform? Mobile. Artsy stuff? Mac-first and probably also Windows if you feel like it.
Even so, people were targeting many more platforms than exist today throughout the 80s and early 90s with native ports for each (or a custom VM target, see: SCUMM, Z-machine, Another World/Out of This World) and they had to deal with assembly and a lot fewer standard APIs and no universal toolkits. And they did it with fewer developers, worse tooling, and no Stack Overflow to copy-paste from. I don't really think having multiple native ports is the herculean task so many developers make it out to be.
You haven't given any reason why an app developer would want to rule out a subset of their potential audience. You seem to feel that users either a) have money to spend on redundant devices or b) fall neatly into groups.
In my case, I do music apps. They are educational, fun, and inspire creativity. They run best on a computer (screen size, speed being the main reasons) but work on mobile. There is zero reason I can think of that I should pick Mac vs. Windows. If they are running on a phone or tablet, there is zero reason I should pick iOS or Android.
So why should I have to pick just one? How is it better that, for technical reasons, I should be subdividing users like this? Your unpopular opinion doesn't really cover this.
But this discussion is not about what app developers should do today, given the current state of browsers. It is about whether the browser makers should support enhanced capabilities. This is different.
If the browser makers did support more, of course, your advice would become even less likely to be good advice, since you could make it "fit those platforms" just as well.
I mean, maybe you feel that an email apps that runs on a web page is somehow lesser than one that runs natively. Like, you have to go to a bookmark rather than click an icon, so that is going to feel out of place. I say people have gotten used to that a long time ago. Now it is just a matter of supporting all the things they might expect in the app.
I do, and I think this is obvious to anyone who has spent time using both.
> Like, you have to go to a bookmark rather than click an icon, so that is going to feel out of place.
It's much deeper than that. Native applications using native widgets integrate much better with the way the OS works. You can notice this in the little things like how windows behave, how drag and drop works, notifications, task management, system tray usage, etc.
> I say people have gotten used to that a long time ago.
I think that's a terrible metric. People have gotten used to having shitty local monopoly ISPs too, it doesn't mean that's the way we should be doing things.
I'm not feeing this "lack of integration" you speak of. I don't see how this could be improved if it was in a Windows app, and that reply button was coded using the Win32 API as opposed to being made in HTML, styled in CSS, and given interactivity with JavaScript.
Oh, you mean some other kind of app? What kind? Which apps should be native and which are ok to be web apps? Even if we restrict the discussion to the desktop (so mac, windows and linux native, vs running in a web browser), do you think that, say, YouTube would be better as a native app vs the web app that I currently use it as?
I use the Google's "messages for web" app that allows me to send and receive SMS messages via an app in a web browser. Drag and drop works as expected. And so on. How would it be better if it was a native Windows app?
I also use apps like Gimp and Inkscape, which are technically native but are horrible (because they are trying to be cross platform). And I use a native video editing app called ScreenFlow, which works great on a Mac. But now that my main machine is Windows, it is a huge pain in the ass to use because I have to get out my aging Mac and transfer large files to it.
I use Visual Studio Code. It is built on web technologies (i.e. electron, but it also can run right in a web browser over the web), and is every bit as slick the competing single-OS native app I recently abandoned for text editing (BBEdit).
In every case I am either using apps that are web based (or at least web-browser-engine based), or I am suffering from the downsides of apps that are not.
HN is a forum. It uses forms, which the web was more or less originally built for and for which a web browser is a suitable interface.
> I'm not feeing this "lack of integration" you speak of. I don't see how this could be improved if it was in a Windows app, and that reply button was coded using the Win32 API as opposed to being made in HTML, styled in CSS, and given interactivity with JavaScript.
Browsers used to be simple enough that buttons did use the native toolkit. JavaScript isn't even required for what HN does. My point is that HN is less an "app" than it is a "document" and the web is perfectly suitable for viewing it. The same way you use a native PDF viewer to interact with a PDF. Web apps are like if a bunch of people insisted on treating PDF as an application platform.
> Oh, you mean some other kind of app? What kind?
CAD software, audio software, art software, modelling software, development environments, office applications, diagnostic tools, emulators, video editors, photo editors, management tools...
> I use the Google's "messages for web" app that allows me to send and receive SMS messages via an app in a web browser. Drag and drop works as expected. And so on. How would it be better if it was a native Windows app?
It would take up less memory and CPU time, integrate with the system tray and native notification system, be easier to control with windows firewall, could keep a local log, and it would match the look and feel of the rest of the OS, reducing friction. If Microsoft hadn't bone-headedly remove Windows's theming capabilities it could also match your aesthetic preferences with no special effort.
> I also use apps like Gimp and Inkscape, which are technically native but are horrible (because they are trying to be cross platform).
Kinda my point really: they would be better if they used native interfaces instead of GTK. When I say native, I mean taking advantage of the integration provided by using native widgets and APIs.
> And I use a native video editing app called ScreenFlow, which works great on a Mac. But now that my main machine is Windows, it is a huge pain in the ass to use because I have to get out my aging Mac and transfer large files to it.
I'm sure storing your videos in the cloud for use with some kind of web-based editor would be completely seamless?
> I use Visual Studio Code. It is built on web technologies (i.e. electron, but it also can run right in a web browser over the web), and is every bit as slick the competing single-OS native app I recently abandoned for text editing (BBEdit).
> In every case I am either using apps that are web based (or at least web-browser-engine based), or I am suffering from the downsides of apps that are not.
Doesn't mean its a good idea.
But again, it sucks having to decide between mac and windows, or having a whole ton of effort going into supporting both. (and linux is lowest priority)
I don't see browser apps being janky. Certainly not mine, and it is an intensely graphical app that also takes full advantage of the web audio api. (it also does several things that native apps can't do, such as it's ability to synchronize and layer graphics on top of youtube music videos)
Some of them are indeed janky, but plenty of native apps are too. Do you do apps? I'd be happy to compare mine side by side to any native app.
But the main point is, why would you want to invest all your development efforts into a proprietary API that locks you in and is under the control of a single company?
What I'm arguing against is the idea that any 'universal' target will inherently feel out of place on every platform, that writing multiple GUI frontends targeting only the platforms that actually matter for your application isn't nearly as hard as developers make it out to be, and that ultimately native GUI frontends will make user's lives much better because they fit the system they're a part of.
> But the main point is, why would you want to invest all your development efforts into a proprietary API that locks you in and is under the control of a single company?
You're not locked in to anything, you structure your code such that the platform-specific portion can be swapped out for each platform. This is hardly a new concept.
Inherently? Why?
Maybe that's what the companies that make them want you to think, so they keep you trapped in their walled garden. I'm not falling for it.
I think it's more like Linux and Mac, and Windows users can use it via WSL if they want.
I don't really care whether an iOS developer considers this "invalid". My apps support platforms that I can afford to test on, and those that are compatible.
"DEVELOPERS! DEVELOPERS! DEVELOPERS!"
Do you? It sounds like you're implying that they can't do it, despite also pointing out that they easily could.
That's the AppleWin port which relies on non-redistributable libraries, using the iTunes compatibility libraries.
There's also upstream the WinCairo port, which is redistributable. (can be downloaded from Buildbot at https://trac.webkit.org/wiki/BuildingCairoOnWindows#Download...)
It's just that Apple doesn't want to make Safari as a whole available on Windows, while making it easy for others to develop browsers using that same engine - even on Windows.
(WebKit isn't enough; I often need to test Safari behavior specifically)
But whatever the exact number, the point stands. In most cases, not supporting iOS is a silly business decision.
[1] https://developer.microsoft.com/en-us/microsoft-edge/tools/v...
If you really want to you can test Edge on MacOS¹ or you can use the Windows virtual machines² that Microsoft provides for free.
1. https://www.microsoft.com/en-us/edge 2. https://developer.microsoft.com/en-us/microsoft-edge/tools/v...
Not a huge pain either, but given that there's still people out there that need to test on ie11 I wouldn't be surprised if Edge has befallen the same faith.
Technical previews synchronised with the Safari Technology Preview available at https://webkit.org/downloads/ too.
And it is part of WebKit's code base, not separately as only part of Safari. Consider Safari as just a UI layer.
It can't even be 1% of websites out there embracing this stuff. I'm guessing the biggest consumer for most of the new features in Chrome is probably Google web developers. There's quite a lot of things that only end up half implemented, too.
Although the RFC these days seems to just be a design spec doc for Google, I suspect you could carve it down to less than half of what it is and render 99.9% of websites out there just fine.
Some Google engineer’s promotion case.
This is all good but it's also a chicken and egg problem.
The lack of web push notifications for one of the two major mobile platforms will prevent that feature from being used + any adjacent features that would be used in more viable web apps.
In my opinion, nearly all good-guy arguments for Apple in this debate are negated by them not implementing that single feature. It is not new, obviously useful, obviously not a privacy concern and obviously blocked because it might impact their app store revenue.
I want Apple in this game implementing this stuff in a privacy concious way, rather than saying lol no make native apps and ceding the web to Google.
My argument isn't really a "good guy" Apple argument but more of an observation of the current kidnapped state of the web RFC's.
I usually adopt latest pretty quickly since I can afford ignoring Safari.
e.g. When createObjectUrl was a new thing. I ended up doing something using AJAX and doing some processing server side for IE and Edge. Now I could have done all the processing server-side. However 80%+ of the users use Chrome. So instead of checking everything on the server, I could offload 80% of that to the browser.
There is a tooling out there to assist you and most of the compatibility issues are well documented now. 10 or so years ago when I started that really wasn't the case.
I don’t expect small developers to be able to make a top-notch browser engine any more than I expect them to make software equivalent to Photoshop or Final Fantasy XIV. Standards are there to guide compatibility between products of large players and content producers. Apple is not a small company compared to Google or anyone; they’re merely not trying very hard. Mozilla is somehow doing a decent job despite not having $300 billion in cash stashed away.
I do believe that browsers doing what native apps can do is reasonable and useful. The arguments about security are not particularly persuasive. The biggest threats to mobile security currently seem to be apps in official app stores.
Procreate. Acorn. Pixelmator. Affinity.
All small developers. All successful and eating a chunk of Photoshop's lunch.
Sketch and Figma outright stole Adobe's lunch.
> or Final Fantasy XIV.
Not all games have to be FFXIV to be enjoyable or playable. And indie games are thriving.
However, you require a fully-features browser to browse the modern web.
That isn't really true since if it were we wouldn't have had the problem of IE back in the day or Safari today.
Since 1999 we've added anything from flexbox and grids to CSS to web components to DOM to classes, sets, symbols, workers etc. to Javascript. Even things like standardizing HTML rendering didn't happen until mid 00s.
Fire up a VM and run the modern web in IE 6. You'll fond a surprising number of browsers failing in subtle and not--so-subtle ways.
Sure, less comprehensive games than the most extensive MMOs exist. You could use a stripped down browser that doesn't implement every feature, too. <my question was, could a team of 10 people make games as extensive as the most extensive games like GTA5 or TESO from their own labor? That isn't possible nor would I expect it. I don't expect a small open source project to release something as polished as iOS next year, either. Given the potential security issues of any network software, I also don't want to use a browser made by a small team.
Specifically for this example I do strongly believe Photoshop will be dethroned in the next 5 years and the app that will achieve it will be by a <30 person dev team.
Think this is an outlier though because it's so antiquated and barely uses your computing power and the dev team clearly doesn't want to actually do anything challenging to fix it. Yet a team starting from scratch today would build it in a very different way, much more GPU focused and I think it will surprise us just how much better it is.
As a user, the constant misuse of dark patterns and the glut of careless unoptimized and insecure code and coders is nightmare fuel. Consider I grew up coding, trying to explain modern websites and web applications my folks is simply painful because quite often it just doesn't make sense. A lot of UX never actually asked a user how they want it to work, or disregarded their input.
The best websites for me are still those which adhere to pre web 2.0 design patterns. I find them easier to navigate and use, ie old reddit vs new - the new design doesn't bring anything useful other than nagware to register and install the app - reading a thread and click outside the main area by mistake, it navigates you back in history and you wait 10 seconds for all the ajax to finish popping into place. My old online banking interface was a simple list of my accounts and balances with links to common functions. The "new" app-inspired interface hides everything under animated menus and ugly graphs I don't need to want, while constant monte-carlo simulations mean basic features always move; my wife and I often have completely different UX, it's just another annoying half-baked web app with ajax popping in and out all over the place.
There's good stuff and well design applications of course. Shadertoy is amazing. For music there's fully-fledged DAW's in the browser - fantastic! Collaborative document editing in real time, brilliant!
But I think I am down with the concept of a different engine or mode for "web surfing" vs "web application execution" - it's a completely arbitrary distinction I know, but as a user I've got a completely different set of wants and needs when I'm just surfing, vs when I need an "application."
The situation is similar for Chrome with regard to APIs that dovetail with Google's business interests (e.g. Manifest v3 extension APIs and content blocking).
> Why did someone post my tweet on Hacker News?
> It's not news! It's not an announcement of anything. It doesn't contain any novel information.
> If anyone on HN is reading this tweet, post a link telling people to stop discussing my other tweet please. :-)
[1]: https://twitter.com/lapcatsoftware/status/142125132814429798...
HN discusses opinion posts regularly, including ones posted on Twitter, and this one is on a topic lots of people here are interested in.
I don't do Twitter, so that won't be me
--- start quote ---
He’s absolutely right. Implementing a browser engine from scratch was a lot of work in 1999/2000, it’s close to impossible today.
--- end quote ---
[1] https://twitter.com/LarsKnoll/status/1421121639845187585
Browsers are the new OS. Most attempts at a feature-complete OS that is able to run software intended for other OSes would be incredibly expensive.
Plan 9's been in development for over 29 years, and it's still niche.
Also what’s the point of standards if nobody can realisticly implement them?
Yes, I can see that Apple perhaps isn’t giving WebKit sufficient attention, but Google and Chromiums dominans is the bigger problem.
And sure, you could disable an API or this and that feature, but it means you're spending a lot of time to keep reintegrating upstream, because google changes a lot of things all the time, so you really have to pick and choose what diversions you afford yourself. you can poke around the brave repo a bit to see the devs bemoan that.
Even with the fork they can't keep up: https://web-confluence.appspot.com/#!/confluence
Mozilla survives by whatever money Google is giving them, laid off most of their staff and shut down development on engine improvements like Servo (whether you like it or not, Servo is dead).
That leaves WebKit as almost the only meaningful opposition in the face of Chrome's onslaught. And it's going to get worse.
No, no, that's incorrect ;)
I'm doing more work these days in a browser than in any other application environment. The browser loads arbitrary code from external storage and executes it. It provides a standardized abstraction onto the hardware layer (mouse, keyboard, screen, audio, and in my case head-tracking).
One could argue that it's less operating system and more glorified UI toolkit, but I can't name a UI tool kit that also has to provide security sandboxing to prevent arbitrary code from misusing its hardware interfacing.
Perhaps we could consider it a virtual machine running atop an operating system. On the other hand, I think Chromebooks suggest that you can build the host for that virtual machine very thin.
You mention that "[Google] rarely agree with users on what's important", but I'm not sure that's true. I think the HN crowd, and those adjacent to it, often disagree with Google's practices, but my intuition is that Google's browser changes have been effectively silent improvements for the vast majority of users. If you installed a massively outdated version of Chrome on a random user's phone or PC, they'd probably be almost immediately upset at some missing feature or function.
At some point, these selfish advancements either become obsolete via the "official" way of doing things being implemented, or become themselves part of the spec. Should Google, Apple et al. have this much control over the future of the browser spec? My instinct is "of course not", but when I think about the history of the web, and how important these selfish decisions have been, it becomes harder to decide.
My original point you're replying to was moreso "why should a small independant team be able to build a browser", and I'm not sure you replied to that.
They are not theoretical. Too bad webapicontroversy.com has been shut down (it looked like this [1]), but you can scroll down to "defer" and "considered harmful" in Mozilla's positions here: [2]
There are more, of course, but they are not visible unless you're willing to follow thousands of issues across hundreds of GitHub repositories. One that springs to mind is, of course Constructible Stylesheets. Mozilla and Safari: the spec describes an algorithm that leads to deadlock in trivial code, we wont implement it until this is fixed. [3] Chrome: ship it, because lit-html (developed by Google) wants it and is already using it. And then procedes to gaslight people and misrepresent their positions (cant' find the relevant link, but at this point I can't find the will to dive into the cesspool).
[1] https://user-images.githubusercontent.com/32768/108985355-3f...
[2] https://mozilla.github.io/standards-positions/
[3] https://github.com/WICG/construct-stylesheets/issues/45#issu...
Google and Apple are both anti-competitive in different ways.
A distinction needs to be made in regards to the anti competitive nature of controlling a large walled garden, and network effect stickiness.
Anti-trust laws will catch up and lead to regulation of big tech.
Though, we may actually see something soon with Apple depending on how the Epic case resolves.
I was already hesitant at the idea of somebody on Twitter telling me which criticisms are “valid”, but that premise threw me entirely.
I don't know. Maybe I'm reading too much into it but did you just feign empathy on linux developers and casually leave out the biggest developer group which happens to use Windows?
This is also because the web has a firing problem.
APIs and features barely get deprecated, even when they are obviously superceded. When they do its years and years after the fact. We also just except whacky quirks instead of fixing them and moving on.
A very clear example: we do not need CSS float anymore. It can be removed with zero impact on the development of new websites.
There's a new proposal for date-time features that replace the Date class. Except it won't, they will coexist and you have to support the Date class and all its bullshit indefinitely.
Do we really need anything other than template literals for strings?
I'm not sure what the solution is to these but an ever-growing spec seems like a big part of the problem to me.
> Who is going to use a [browser] that isn't able to display the sites they want?
Everybody who has more to gain than to lose from it.
The perfect solution would of course avoid this problem somehow.
Apple strategy is NativeApps with AppStore.
Microsoft strategy is half-half.
...
Google workers complain Safari bad. That's their job. So, business as usual
I'm personally extremely worried about the fact that Chromium's eating the world, but if you're dictating what is and is not a valid criticism of the browser space, and you're starting from the premise that browsers shouldn't have JS, it's not surprising that some people aren't interested in what you have to say.
Tencent do has one pretty much spec compliance browser engine (X5) for their own use. (Obviously not a small company either)
It is also a mobile only browser used mostly in China (so you are unlikely to test it during dev)
And I only got a few incompatibility reports from it (like 2 or 3?).
Compares to the nightmare on safari (dozens of bugs), it actually works surprisingly good.
PrinceXML seems to be doing reasonably well. Yeah, they're never going to catch up to Chrome, but they've been adding one or two new browser features every day for the last several years. And they have less than a dozen developers.
Surely if I believe that browsers should have many features, then criticising Safari for being behind is valid criticism.
Apple: "extinguish"
Google strongly depends on the web. Apple wants everybody to move to native Apps instead.
If you want to know which company to trust, look at their incentives.
Lets distinguish between browser frameworks (Chromium, Firefox) and web rendering engines (WebKit, Blink, Gecko).
Three rendering engines is more than enough. It is the lack of diversity in browsers that is problematic.
Most browsers use Chromium browser framework (which includes Blink rendering engine). Several use Firefox (Gecko).
We are using WebKit and building our own browser from scratch. When I say from scratch that means literally every little feature, menu item, setting, interaction like a toolbar button etc.
No, it is the lack of diversity in rendering engine that is problematic. When one rendering engine can dictate the web then it makes no sense to point to the rest of the browser as the point of need for more diversity. Chromium and every browser that uses it is part of the problem here. Using Brave for example is just as bad for diversity and the free web as using Chrome itself, likely worse as most users have no idea they are part of a problem even if they are aware it exists.
This is why we need a fast, capable, privacy-respecting, no BS, no ads or tracking browser with a sustainable business model, using whichever rendering engine (preferably one that is also well designed and fast) to come out.
Sure it might be doable with blink but why on earth pick a fight where the opponent basically desides the rules? It's like pissing against the wind. I very much doubt it will succeed and if it does it will likely just swap Google out with another corporate entity (like Microsoft). We need a rendering engine made by someone like Mozilla (or better) to succeed if the open web is ever going to be a reality.
5 years later, everyone hated IE 6. It was the new browser to hate. It was a buggy non-compliant mess, much as Safari is now. And again a new browser shook up the scene: Phoenix (which would later become Firefox).
Later, Chrome entered the market. It’s the superior browser now.
Browsers come and go.
Here's what one of the main authors of KHTML has to say about this: https://twitter.com/LarsKnoll/status/1421121639845187585
20 years ago you needed a fraction of what is in a modern browser today. And it's getting worse. Chrome ships 40 to 70 new Web APIs every 40 days or so: https://web-confluence.appspot.com/#!/confluence
- an insurmountable amount of work for backwards compatibility, and
- an insurmountable amount of work to keep up with the torrent of new features added to it
But a browser that is 'Written in Rust™' which that runs blazingly fast, prevents segfaults, and guarantees thread safety can save us right? That should also be a 'selling point' to challenge browsers written in unsafe languages right? /s
Apple has too much control over the web, we should build native apps, and nobody can compete with Google Chrome - including Apple.
I do agree that Safari is not actually lacking in features too much though, it has features the other browsers don't have. Features that Apple felt were important to develop for Safari.
This would solve the problem very quickly either by users migrating to another browser or by Apple feeling enough pressure to actually care.
Remind me, can I write a new browser engine for iOS if I wanted?
This is absolutely a colossal anti-trust violation, doing colossal harm to society at large, keeping the web from being viable again and again, with it taking years to support WebRTC, years to supoprt ServiceWorkers, years to support every single thing, and the gap seemingly growing. This is a huge abuse of colossal market position, restricting the internet itself from competing with a closed platform, purely because it benefits Apple not to allow the situation to be fixed.
Their warchest is huge, they could participate in calls to implement, could ship features, but they dont. Even if they did, I would still prefer users not to be locked in to a monoculture, to have to use a specific browser.
This rhetoric that the standards bodies have been usurped is insanity, is bedlam. Show some evidence, make a case. No one does. This age keeps being swept by cheap, lying, low-grade dismissive politicians & schucksters selling popularist rage, and this post is some low quality grade-A unsupported zeal-filled techie-politics rage. It's not true. Standards bodies are alive and well. TAG is still elected, of good healthy techie stock, who review each of the various efforts & emphasize the better critiques & raise their own.
The only selling out that's happened is that the ad-industry keeps Google from doing good things, and sells to sow dissent that someone is trying to ratchet up privacy, which Google has been slowly doing (yes to the benefit of their search engine, but first party traffic ought to have privileges over third party traffic).
Standards work is hard as heck. There is not enough participation, there are not enough players funding standards work. But I don't see people being blocked, people being cut out from the work. I see Apple standing aside usually & silently refusing the calls to implement. I see not enough people participating. But chalking this up to conspiracy & the web being sold out? Please. These techies care. They want a better web, genuinely. They are trying, really hard. Everything happens in the open, in documented meetings. Trying to ascribe conspiracy & great machinations to this is sickening, is revolting disinformation. Do not market yourself on selling distrust & doubt in the world; do ally yourself with those who do foment & tear down & sow doubts (especially so out of hand, so very lacking a case).
You can't seriously call Chrome-only web "tenable"? https://web-confluence.appspot.com/#!/confluence
Oh please. The native browser on a popular phone not being standards-compliant is not causing colossal harm to literally anything. You may make a compelling argument that it's a bad thing, but to describe it in the way one would describe e.g. the opioid epidemic is just absurd. Get a grip.
if it were the native browser I might agree with your sentiment. it being the only browser engine otoh is a farce, one far far far more vile than the horseshit Microsoft played for a couple years with IE before facing a massive anti-trust action that made them shape up. there is a real harm to society at large from this, & it's a vile act deserving harsh anti-trust response.
How?
If you refer to WebRTC, here's the timeline: https://news.ycombinator.com/item?id=27970623
> it continues to obstruct open innovation elsewhere & everywhere.
How about Google? https://twitter.com/johnath/status/1116871231792455686