The baseline for web development in 2022(engineering.linecorp.com)
engineering.linecorp.com
The baseline for web development in 2022
https://engineering.linecorp.com/en/blog/the-baseline-for-web-development-in-2022/
220 comments
It is pretty funny to defend Apple (or any other browser vendor) using the argument that standards are unfinalized. Running living standards was the coup done by WHATWG, a.k.a. browser vendors.
https://whatwg.org/faq
https://whatwg.org/faq
> The WHATWG was founded by individuals of Apple, the Mozilla Foundation, and Opera Software in 2004, after a W3C workshop. Apple, Mozilla and Opera were becoming increasingly concerned about the W3C’s direction with XHTML, lack of interest in HTML, and apparent disregard for the needs of real-world web developers. So, in response, these organisations set out with a mission to address these concerns and the Web Hypertext Application Technology Working Group was born.
Darn it, XHTML could have been so good if it got mass adoption! It would simplify parsing content and personally, working with XHTML is sane and easy (albeit in a somewhat dated Java stack with JSF/PrimeFaces, which build upon it). It also gets rid of the inconsistent tags in HTML which can remain open, which i think is a good thing.
Then again, i also like XML, maybe to the point of sometimes preferring it over JSON (or at i would if the ecosystem would be there - WSDL was leaps and bounds ahead of OpenAPI/Swagger, but seems like the interest in XML died down), so i don't doubt that many don't feel that way about all of it.
Darn it, XHTML could have been so good if it got mass adoption! It would simplify parsing content and personally, working with XHTML is sane and easy (albeit in a somewhat dated Java stack with JSF/PrimeFaces, which build upon it). It also gets rid of the inconsistent tags in HTML which can remain open, which i think is a good thing.
Then again, i also like XML, maybe to the point of sometimes preferring it over JSON (or at i would if the ecosystem would be there - WSDL was leaps and bounds ahead of OpenAPI/Swagger, but seems like the interest in XML died down), so i don't doubt that many don't feel that way about all of it.
HTML5 has an XML serialization, so if you really must you can use XHTML5 today.
But I think for most people it is in general a bad idea. XHTML parsed as XML means that anything that mashes together strings to generate a webpage, like much of webdev, is prone to generating invalid XML due to bugs in the code, and this in turn leads to catastrophic failure where the page doesn’t just have errors but fails to render entirely. During the period where people were swayed by the XHTML proponents’ arguments it was commonplace for me to visit a website and see only an XML parsing error.
XHTML parsed according to custom rules that are forgiving for errors yet consistent and straightforward to implement would have been a good idea, but nobody implemented it to my knowledge. Luckily HTML5 does specify such a forgiving parsing system, where pretty much any random sequence of bytes can be parsed consistently.
But I think for most people it is in general a bad idea. XHTML parsed as XML means that anything that mashes together strings to generate a webpage, like much of webdev, is prone to generating invalid XML due to bugs in the code, and this in turn leads to catastrophic failure where the page doesn’t just have errors but fails to render entirely. During the period where people were swayed by the XHTML proponents’ arguments it was commonplace for me to visit a website and see only an XML parsing error.
XHTML parsed according to custom rules that are forgiving for errors yet consistent and straightforward to implement would have been a good idea, but nobody implemented it to my knowledge. Luckily HTML5 does specify such a forgiving parsing system, where pretty much any random sequence of bytes can be parsed consistently.
Not only that, XHTML already had the ground work for web components.
XML is pretty much alive in the .NET and Java ecosystems.
XML is pretty much alive in the .NET and Java ecosystems.
There is nothing easy about XHTML. Or rather it is only easy if you ignore the essential parts of it.
The sell of the time to jQuery webmasters was:
XHTML's complexity is too much to deal with and the WHATWG is going to keep all this unnecessary stuff out so you won't lose control to generalized tools like an IDE and systems that favors formally educated language/tool writers, i.e. schema validators and, as we see now, transpilers.
The end result is still everyone using an IDE perhaps due to more irregular features after WHATWG encouraging a framework, but at any rate demonstrating XHTML was not the real source of webmaster stress and future angst.
So now you have more complexity, a still pointlessly irregular format that needs to identify it's magical elements, and, (to get back on topic,) features that must be implemented first in 2 browsers to become standard.
All of this is brought to you by employees of Apple and the other vendors. If WebKit isn't one of the 2 implementations most people choose to work with when pushing a standard then Safari is the dead implementation due to a constellation of choices all made with Apple's support and approval.
XHTML's complexity is too much to deal with and the WHATWG is going to keep all this unnecessary stuff out so you won't lose control to generalized tools like an IDE and systems that favors formally educated language/tool writers, i.e. schema validators and, as we see now, transpilers.
The end result is still everyone using an IDE perhaps due to more irregular features after WHATWG encouraging a framework, but at any rate demonstrating XHTML was not the real source of webmaster stress and future angst.
So now you have more complexity, a still pointlessly irregular format that needs to identify it's magical elements, and, (to get back on topic,) features that must be implemented first in 2 browsers to become standard.
All of this is brought to you by employees of Apple and the other vendors. If WebKit isn't one of the 2 implementations most people choose to work with when pushing a standard then Safari is the dead implementation due to a constellation of choices all made with Apple's support and approval.
Even caniuse lists those with an UNOFF (that is, unofficial) marker.
Just because Chrome rammed some of its internal API through standards bodies, released it in stable, and called it a standard, does not a) make it a standard, and b) mean that other browsers should rush to implement it. No matter how many HN commentators think otherwise.
Just because Chrome rammed some of its internal API through standards bodies, released it in stable, and called it a standard, does not a) make it a standard, and b) mean that other browsers should rush to implement it. No matter how many HN commentators think otherwise.
Safari sucks because it's only available on macOS.
It's really annoying when doing web development, especially as that's actually the browser that has the most chance to act different from the others.
It's really annoying when doing web development, especially as that's actually the browser that has the most chance to act different from the others.
Also, pisses me off that I need an Apple account to install Safari extensions.
And I need freaking XCode 12 (which requires Big Sur) just to convert my chrome extensions into Safari extensions. Just endless headaches for a simple task.
And I need freaking XCode 12 (which requires Big Sur) just to convert my chrome extensions into Safari extensions. Just endless headaches for a simple task.
And iOS also. At least on macOS I can use any other browser. On iOS I can only use Safari (either directly or under the hood).
Not impossible to compile WebKit for other platforms, but sounds hairy.
https://schepp.dev/posts/running-webkit-on-windows/
WebKit is not Safari. Someone on my team complained about the UI being broken in Safari. I debugged on Epiphany[0] which is also webkit based, it was broken in a slightly different way. After fixing it, it was still broken in Safari.
If you want to be sure that something works in Safari, you have to test in Safari...
[0]https://gitlab.gnome.org/GNOME/epiphany
If you want to be sure that something works in Safari, you have to test in Safari...
[0]https://gitlab.gnome.org/GNOME/epiphany
..for Windows ?
- Flock (version 3.0 and above) uses WebKit.. but the final release 3.5.3 was in Feb 2011 after:
Zynga Buys Social Web Browser Flock, Jan 2011, https://mashable.com/archive/zynga-buys-flock
Facebook and Zynga Enter Into Long-Term Relationship, May 2010, - (nothing left)
Zynga Buys Social Web Browser Flock, Jan 2011, https://mashable.com/archive/zynga-buys-flock
Facebook and Zynga Enter Into Long-Term Relationship, May 2010, - (nothing left)
You could just use Steam, afaik they’re still using WebKit and you probably have it installed anyway ;)
Or another WebKit based browser (ok, not so many): https://en.wikipedia.org/wiki/List_of_web_browsers#WebKit-ba...
Or another WebKit based browser (ok, not so many): https://en.wikipedia.org/wiki/List_of_web_browsers#WebKit-ba...
Steam has never used WebKit. They use CEF (Chromium).
Ok looked it up: Steam switched to CEF in 2010 (announcement read „WebKit based“), CEF3 with Blink was considered stable and recommended in 2013. So they probably used a WebKit base for at least these three years. But, unless they still use CEF1, it’s not WebKit anymore today.
Are they using an old, pre-Blink version?
Gnome Web on Linux (WebKit based) is sometimes a close enough approximation to troubleshoot Safari issues, but yeah, it sucks.
Safari : The new Internet Explorer (smh)
You can download Safari for Windows. I don’t know why you would, but you could.
Back when it was available, because the designer on the customer team is the only person with an iPad and somehow the rendering bugs on Safari need to be fixed for his milestone approvals.
No. You cannot. You would do it to test on Safari. Except you cannot.
> Apple no longer offers Safari updates for Windows. Safari 5.1.7 for Windows was the last version made for Windows, and it is now outdated.
https://support.apple.com/en-us/HT204416
I have a MacBook sitting on my desk that I only ever use to test something in Safari.
> Apple no longer offers Safari updates for Windows. Safari 5.1.7 for Windows was the last version made for Windows, and it is now outdated.
https://support.apple.com/en-us/HT204416
I have a MacBook sitting on my desk that I only ever use to test something in Safari.
I misunderstood. I thought someone said Safari on Windows didn’t exist. I wasn’t aware it was discontinued; thanks for that info!
I could have specified. "recent versions" ;)
Counterpoint: I don't think it matters much if something is final or not, because what matters more is market adoption.
Second, especially with HTML5 and Javascript I believe, they don't do big, formal versions anymore, but evolutionary and incremental design. This prevents a lot of administrative and bureaucratic overhead (see also Java's standardization process and stagnation after 6), at the cost of having fixed targets to work towards.
Second, especially with HTML5 and Javascript I believe, they don't do big, formal versions anymore, but evolutionary and incremental design. This prevents a lot of administrative and bureaucratic overhead (see also Java's standardization process and stagnation after 6), at the cost of having fixed targets to work towards.
Or, to take it a step further (and in a slightly different perspective):
Does Safari suck because it's not supporting actual standards, or does Chrome suck because it's trying to make sure that the web only works on Chrome, like Microsoft did with IE 20+ years ago?
Does Safari suck because it's not supporting actual standards, or does Chrome suck because it's trying to make sure that the web only works on Chrome, like Microsoft did with IE 20+ years ago?
Or Apple makes piles of cash from the app store. So having a native like app experience on web tech hurts their bottom line.
I keep hearing that BS argument. Do we have a "native like app experience on web tech" on Android?
Have people given up mobile apps (native or wrapping WPAs) there and use web apps on Chrome on Android?
Didn't think so....
Oh, and would you also be happy if your native apps on Desktop were replaced by more Electron?
Have people given up mobile apps (native or wrapping WPAs) there and use web apps on Chrome on Android?
Didn't think so....
Oh, and would you also be happy if your native apps on Desktop were replaced by more Electron?
I almost exclusively use web apps. I can't remember the last time I installed an actual native app. It's been at least a year.
Anecdotal evidence but I use plenty of websites where native apps are available.
EG Social Media, Google search, news websites, Youtube.
> web apps on Chrome on Android
I don't bother installing the web apps, but access them as websites through my mobile web browser (Firefox Android).
EG Social Media, Google search, news websites, Youtube.
> web apps on Chrome on Android
I don't bother installing the web apps, but access them as websites through my mobile web browser (Firefox Android).
devil's advocate: Safari is too good for performance so they can replace native app experience, meanwhile sadly Chrome isn't.
Safari haven’t actually beaten Chromium in most performance benchmarks for a while now.
https://twitter.com/slightlylate/status/1485387199738642432?...
https://twitter.com/slightlylate/status/1485387199738642432?...
More like Safari sucks because Apple wants people to buy native apps from its store. A lot like Microsoft wanting the web to suck so people would buy Windows apps instead. It's not a super secret conspiracy that requires inside knowledge and a network of spies to figure out.
This is such a lame argument. You want it to be true but have no evidence that it actually is true.
A lot of the Chrome team's "standards" have problems with accessibility, workability on mobile, security[0], privacy[1], or just battery life. Some are neat experiments that are or only will be used in the wild by advertisers to track and identify users.
Because the Safari/WebKit team doesn't have to chase users for revenue like Mozilla does they can afford to be more conservative with what Google "standards" they support. Being able to offer a tighter privacy posture or efficiency is part of the iOS/macOS sales pitch.
[0] https://github.com/WICG/webusb/issues/50
[1] https://www.theverge.com/2021/4/16/22387492/google-floc-ad-t...
A lot of the Chrome team's "standards" have problems with accessibility, workability on mobile, security[0], privacy[1], or just battery life. Some are neat experiments that are or only will be used in the wild by advertisers to track and identify users.
Because the Safari/WebKit team doesn't have to chase users for revenue like Mozilla does they can afford to be more conservative with what Google "standards" they support. Being able to offer a tighter privacy posture or efficiency is part of the iOS/macOS sales pitch.
[0] https://github.com/WICG/webusb/issues/50
[1] https://www.theverge.com/2021/4/16/22387492/google-floc-ad-t...
Safari implements different behavior on desktop vs mobile. They support push notifications on desktop but not mobile, they support large offline storage on desktop but not mobile. What convincing argument exists for this dichotomy except that they want to force people to ship on mobile through the app store?
Desktop Safari has a much different power domain than mobile Safari as mobile has alway-on cellular radios (in the nominal iPhone case). iOS has a very power optimized push notification system run through Apple's infrastructure. Notifications for a device are coalesced and sent as a batch to keep the background power of the cellular radio as quiescent as possible as often as possible. It's the same reason there's a background processing API. The notification and background processing APIs also work on iOS where an app can be jetsamed at any time. There's no swap on iOS. Web notifications aren't compatible with iOS' background processing policy and there's not a good way to make them so.
Desktop Safari doesn't have a cellular baseband to worry about. Even the wake-briefly-from-sleep-to-check-email feature in macOS is only activated when the Mac is on a wired or previously joined WiFi network. It doesn't randomly blast signals in your backpack on the subway trying to check e-mail and notifications draining the battery. There's also not the same jetsam policy on macOS since it does support swap.
Batteries have finite power density and an iPhone has a finite volume for a battery. So there's only so many watt/hours that can fit into an iPhone. Unrestricted background network/processing means much reduced battery life. That's a bad thing for a phone. It's doubly bad for a device that's a device that's also an electronic wallet and navigation aid.
Smartphones aren't laptops and neither phones or laptops are desktop systems constantly plugged into mains power. A system that makes sense for a desktop on mains power plugged into Ethernet with 32GB of RAM and essentially unlimited swap does not necessarily make sense on a battery powered device with only radios for connectivity and a fraction of the RAM and no swap.
But I get it, Apple Bad and everything they do is a vast conspiracy.
Desktop Safari doesn't have a cellular baseband to worry about. Even the wake-briefly-from-sleep-to-check-email feature in macOS is only activated when the Mac is on a wired or previously joined WiFi network. It doesn't randomly blast signals in your backpack on the subway trying to check e-mail and notifications draining the battery. There's also not the same jetsam policy on macOS since it does support swap.
Batteries have finite power density and an iPhone has a finite volume for a battery. So there's only so many watt/hours that can fit into an iPhone. Unrestricted background network/processing means much reduced battery life. That's a bad thing for a phone. It's doubly bad for a device that's a device that's also an electronic wallet and navigation aid.
Smartphones aren't laptops and neither phones or laptops are desktop systems constantly plugged into mains power. A system that makes sense for a desktop on mains power plugged into Ethernet with 32GB of RAM and essentially unlimited swap does not necessarily make sense on a battery powered device with only radios for connectivity and a fraction of the RAM and no swap.
But I get it, Apple Bad and everything they do is a vast conspiracy.
Chromium IS the standard. Firefox knows this and implements what Chromium supports. Safari doesn't, so Safari is the new IE. If you don't believe me, search for the phrase "is Safari the new IE" and see what web devs have to say about it.
> Chromium IS the standard. Firefox knows this and implements what Chromium supports.
This is untrue. There are many cases where Firefox has decided not to implement something Chrome has. Here is a list of specifications that Firefox does not yet implement but has considered:
https://mozilla.github.io/standards-positions/
Many of the ones listed as “harmful” are implemented by Chrome.
> Safari is the new IE. If you don't believe me, search for the phrase "is Safari the new IE" and see what web devs have to say about it.
I’v been developing for the web for over 20 years and that’s total nonsense. There’s nothing that makes a developer stand out as inexperienced quicker than saying that Safari is the new IE. It just shows they have no conception at all about how Internet Explorer held the entire frontend development world at a standstill for five years. Safari on its worst day is nothing like Internet Explorer.
This is untrue. There are many cases where Firefox has decided not to implement something Chrome has. Here is a list of specifications that Firefox does not yet implement but has considered:
https://mozilla.github.io/standards-positions/
Many of the ones listed as “harmful” are implemented by Chrome.
> Safari is the new IE. If you don't believe me, search for the phrase "is Safari the new IE" and see what web devs have to say about it.
I’v been developing for the web for over 20 years and that’s total nonsense. There’s nothing that makes a developer stand out as inexperienced quicker than saying that Safari is the new IE. It just shows they have no conception at all about how Internet Explorer held the entire frontend development world at a standstill for five years. Safari on its worst day is nothing like Internet Explorer.
Except that IE was never both faster and more battery friendly than the competition.
IE6/7 launch times were much faster than Firefox (this was important before SSDs were common) and general performance was better on IE. I used Firefox for about 15 years mostly because of it's ad-blocking capabilities, even though it was generally a slower browser than IE. IE was "slow" only after Chrome became a thing... which was faster than IE. Firefox wasn't.
Having said that, in this context, these things don't matter at all. You can make a barebones browser which only supports HTML and CSS and get several fold improvements in battery life and performance. That is why IE was bad. It did not support newer better functionality that other browsers did.
Having said that, in this context, these things don't matter at all. You can make a barebones browser which only supports HTML and CSS and get several fold improvements in battery life and performance. That is why IE was bad. It did not support newer better functionality that other browsers did.
> Does Safari suck because it's not supporting actual standards, or does Chrome suck because it's trying to make sure that the web only works on Chrome
This is a weird argument when Firefox supports many of the standards that Safari doesn't, as well.
This is a weird argument when Firefox supports many of the standards that Safari doesn't, as well.
It's not really weird at all, that's actually what happened with IE. It wasn't that IE was lacking but people used it anyway, IE was doing really cool stuff but in it's own way.
AJAX is one example, IE introduced XMLHttpRequest back then and it took 15 years to become a standart. So people built their cool websites around IE features that were not actually standards and once Microsoft screwed up IE people found out that you can't switch to alternative browsers because websites were built to support IE.
As the IE experience degraded(has become famous for crashing and taking the OS with it) and there was a room for improvement, Netscape become Mozilla and they introduced actually good browser that later will become Firefox but because most people used UI, web developers had to accommodate IE by writing IE specific code everywhere. That's where the hate for IE comes from, it wasn't fanboys hating IE, it was developers hating IE because they had to write extra code all the time.
Firefox may support some Chrome features but how sure you are that Google will keep making a good browser? For many, Chrome is already a degraded experience for what it was and it is actually very nasty in favouring Google properties and tracking that can be a disaster if switching away from Chrome becomes as hard as it was with IE.
AJAX is one example, IE introduced XMLHttpRequest back then and it took 15 years to become a standart. So people built their cool websites around IE features that were not actually standards and once Microsoft screwed up IE people found out that you can't switch to alternative browsers because websites were built to support IE.
As the IE experience degraded(has become famous for crashing and taking the OS with it) and there was a room for improvement, Netscape become Mozilla and they introduced actually good browser that later will become Firefox but because most people used UI, web developers had to accommodate IE by writing IE specific code everywhere. That's where the hate for IE comes from, it wasn't fanboys hating IE, it was developers hating IE because they had to write extra code all the time.
Firefox may support some Chrome features but how sure you are that Google will keep making a good browser? For many, Chrome is already a degraded experience for what it was and it is actually very nasty in favouring Google properties and tracking that can be a disaster if switching away from Chrome becomes as hard as it was with IE.
Or is Firefox willing to compromise on more technologies that aren't yet standardized than WebKit is?
Without knowing whether the "standards" being tested are actually standards, it's impossible to know.
Without knowing whether the "standards" being tested are actually standards, it's impossible to know.
Firefox has been copying Chrome for a long time now. Either Mozilla doesn't believe that they have the market share to succesfully challenge those "standards" (I think its the other way around, they keep loosing market share because anyone who wants Chrome uses Chrome) or they don't want to risk their primary funding source. Either way, something being implemented by Firefox does not mean that WebKit has to implement it too.
not some of the tools are propose or standard some of then from Mozilla foundations and try to be implemented safari tend to implement standard a lot more slow than the other because this isn't the core business, and let browsers do more things and you don´t need to use the app store.
Why make it so complicated? Just assume everyone has a 2G connection (you don't see them because of a demographics problem, but 2G users are out there) and make sure all static information is accessible without JS. Don't think about web browser compat at all because that's a software problem which costs nothing to fix on the user end, while 2G and slow processors are hardware problems which cost a lot to fix.
For the past 1.5 years I've been working on apps for the agriculture industry, mostly in Australia.
This means 2G, slow 3G or satellite using customers are extremely common. No G too, if they're using your product out in the field. I myself lived 30 minutes drive from a mobile connection in 2021. A sheep literally ate my internet by chewing through the cable from the satellite to the house.
So those users definitely exist in my demographic. And very much in the demographic of my clients, as potential customers.
Still, it seems to be a hard sell to make things work with crap connections or offline. First off, frontend devs resist because you're taking away their favourite toys. (Very rational from their perspective - their next gig is probably in banking or retail or somewhere else with ubiquitous fast internet). Second off, those allocating budgets are very hesitant to spend money on any software dev out of the mainstream. From their perspective software is risky enough given its expense, let alone doing something that might require specialists. (This may be more of an Australian thing, they're not risk takers like Americans).
So yes, you're very right on a technical level. I'm with you, and would love to talk to others who see this. On a more practical level - it's hard to make the stars align, even if it will land you customers.
This means 2G, slow 3G or satellite using customers are extremely common. No G too, if they're using your product out in the field. I myself lived 30 minutes drive from a mobile connection in 2021. A sheep literally ate my internet by chewing through the cable from the satellite to the house.
So those users definitely exist in my demographic. And very much in the demographic of my clients, as potential customers.
Still, it seems to be a hard sell to make things work with crap connections or offline. First off, frontend devs resist because you're taking away their favourite toys. (Very rational from their perspective - their next gig is probably in banking or retail or somewhere else with ubiquitous fast internet). Second off, those allocating budgets are very hesitant to spend money on any software dev out of the mainstream. From their perspective software is risky enough given its expense, let alone doing something that might require specialists. (This may be more of an Australian thing, they're not risk takers like Americans).
So yes, you're very right on a technical level. I'm with you, and would love to talk to others who see this. On a more practical level - it's hard to make the stars align, even if it will land you customers.
Do you ever write articles / blog entries about this ? I love frugal programming (and it seems there's some people interested in that too). You're experience is pretty telling.
Appreciate the comment. I do keep meaning to blog.
Anything in that post that caught your interest in particular? I'll make it happen.
Anything in that post that caught your interest in particular? I'll make it happen.
How do you think/design around the limited bandwidth. The initial payload, the message/ protocol size. The ergonomics too. I assume you try to be straight to the point very often.
Basically the idea is how much can we provide with 'only' a 2G link (afaik equivalent to 2 56k modems).
Basically the idea is how much can we provide with 'only' a 2G link (afaik equivalent to 2 56k modems).
> Anything in that post that caught your interest in particular? I'll make it happen.
Nothing can ever top the fact you have a cable from a satellite to your house!
Nothing can ever top the fact you have a cable from a satellite to your house!
It's interesting to read about people who build things outside the Bay Area scene. It would be interesting to just learn about your job and its challenges.
Would subscribe/read as well. Not original poster, but would be interested in these edge case challenges and solutions.
Agriculture industry specific user base and limitations, like you wrote.
> A sheep literally ate my internet by chewing through the cable from the satellite to the house.
That must have been a pretty long cable!
That must have been a pretty long cable!
Also, these customers are likely unprofitable to monetize. The cost for a single SWE likely exceeds the incomes of the whole town a few times over.
Do you know how many massive mining/logging/oil corporations operate most of their hardware outside of "normal" internet connectivity? There's for sure money in that market (if you can work your way past the environmental/ethical issues)
These customers are also businesses, sometimes pretty big ones. A lot of work gets done away from towns.
Also Australia is a pretty rich country.
Also Australia is a pretty rich country.
What about if it's all unpaid? FOSS is a thing, after all.
> Also, these customers are likely unprofitable to monetize.
I don't see why you think this would be the case. A friend of mine lives down in Gilroy, CA (south of the San Jose) in a veritable mansion. He and his wife have done very well for themselves. Because they chose land over some SF row house their only internet access is a spotty 4G connection that really acts like a spotty 2G connection much of the time. No ISP is willing to run a landline out where he lives and WISPs aren't much better than the 4G. He's definitely not the only monied person with shitty Internet access.
Lost 2G users don't necessarily have 2G (or equivalent) connections all the time. There's plenty of places or times where 4G gets congested and performs terribly even when the end users have high end devices and nominally good connections. A lost sale because someone couldn't complete a form because of poor coverage on the subway is a lost sale.
Mobile Internet should never be expected to be some fixed value for any user. Someone with a brand new iPhone on a network with great 5G coverage can still be standing behind a lamppost or something and get 2G levels of network performance. Since an overwhelming percentage of web traffic is from mobile it doesn't make sense to not degrade gracefully in poor network conditions or just minimize resource use.
I don't see why you think this would be the case. A friend of mine lives down in Gilroy, CA (south of the San Jose) in a veritable mansion. He and his wife have done very well for themselves. Because they chose land over some SF row house their only internet access is a spotty 4G connection that really acts like a spotty 2G connection much of the time. No ISP is willing to run a landline out where he lives and WISPs aren't much better than the 4G. He's definitely not the only monied person with shitty Internet access.
Lost 2G users don't necessarily have 2G (or equivalent) connections all the time. There's plenty of places or times where 4G gets congested and performs terribly even when the end users have high end devices and nominally good connections. A lost sale because someone couldn't complete a form because of poor coverage on the subway is a lost sale.
Mobile Internet should never be expected to be some fixed value for any user. Someone with a brand new iPhone on a network with great 5G coverage can still be standing behind a lamppost or something and get 2G levels of network performance. Since an overwhelming percentage of web traffic is from mobile it doesn't make sense to not degrade gracefully in poor network conditions or just minimize resource use.
Don't worry, we're slowly circling back to servers pushing out fully pre-rendered pages that don't require any scripts - or make it more convenient to create those, anyway. React's upcoming server-side components will likely be a very popular solution for achieving this.
It's like PHP but this time in JavaScript.
It's like PHP but this time in JavaScript.
It’s disappointing to see that the consensus among frontend devs is to just sit and wait for a new API from react to do all the work. Every framework out there has simple methods for rendering a component to string which can be returned to the client.
Trust me, no one who's actually working on this in the real world is banking on React's upcoming APIs for this at all.
Suspense is still not done, and it's been over 4 years. Server components aren't happening anytime soon IMO. The only reason why I think this year is still tenable is because Vercel ate up all the React devs who can contribute to such a task.
Most JS devs I've talked to or work with are writing code based on what we have now.
Suspense is still not done, and it's been over 4 years. Server components aren't happening anytime soon IMO. The only reason why I think this year is still tenable is because Vercel ate up all the React devs who can contribute to such a task.
Most JS devs I've talked to or work with are writing code based on what we have now.
To be fair, React's work is the most likely implementation of this concept for people to have heard about before. They've been talking about it for years, after all :)
You're either vastly underestimating the number of developers at that skill level, or overestimating the number of those devs you or I might ever have even heard of.
You're either vastly underestimating the number of developers at that skill level, or overestimating the number of those devs you or I might ever have even heard of.
As a non-expert outsider, I thought that was the promise of React since the early days? Isn't there already server side rendering?
What you describe, a PHP style server rendering of mostly static HTML, with small bits of JavaScript for interactivity, sounds great. But will that actually be possible?
I'm really really sick of web apps and mobile apps that flash the "no content here" version of widgets while they wait for data to be loaded. It's the very very worst sort of user experience.
What you describe, a PHP style server rendering of mostly static HTML, with small bits of JavaScript for interactivity, sounds great. But will that actually be possible?
I'm really really sick of web apps and mobile apps that flash the "no content here" version of widgets while they wait for data to be loaded. It's the very very worst sort of user experience.
> PHP but this time in JavaScript
a sizeable improvement maybe, also does using the same language on both side a pro or a con ? real question
a sizeable improvement maybe, also does using the same language on both side a pro or a con ? real question
Every time I've tried using typescript (sorry not using untyped JS) on the server and client, the mismatch between client and server libraries made it very hard to re-use the objects, frameworks or libraries. So much so that it felt like two different languages, or at least as different as writing react and writing CDK. I very quickly reached for any other server language and an IDL like GQL for the communications. This let me re-use code for the transport which was the max I was able to get from typescript/js only.
The other big issue is the things I was working on actually needed high parallelism, and node really provides concurrency, so I quickly hit issues there as well. I'm currently working in a GQL based world and the golang based one we use is massively parallel and very performant, and I'd be worried about the speed loss writing in node.
This makes me very sad because I really do like Typescript as a language, and writing everything in one language seems like it'd be great. But it's really brought down by all the typing issues with legacy javascript, node, and other tools.
But then again, I'm not writing crud apps at work or for fun so your mileage may vary.
The other big issue is the things I was working on actually needed high parallelism, and node really provides concurrency, so I quickly hit issues there as well. I'm currently working in a GQL based world and the golang based one we use is massively parallel and very performant, and I'd be worried about the speed loss writing in node.
This makes me very sad because I really do like Typescript as a language, and writing everything in one language seems like it'd be great. But it's really brought down by all the typing issues with legacy javascript, node, and other tools.
But then again, I'm not writing crud apps at work or for fun so your mileage may vary.
For the vast majority of projects it certainly means faster development and far lower production cost.
I was mostly worries that not having different PL would allow people to forget abstract interfaces.
We already have cheap and fast. Can only pick two out of three[1], I'm afraid :)
Jokes aside, theoretical knowledge is definitely lacking. There doesn't seem much interest either - that is, until you show how they could have saved days and get more reliable results more efficiently, if only they had known there's that 50+ year old algorithm they could have used. Experienced and knowledgable devs are still very important to have around.
1: https://paydirtapp.com/blog/wp-content/uploads/2012/11/FastG...
Jokes aside, theoretical knowledge is definitely lacking. There doesn't seem much interest either - that is, until you show how they could have saved days and get more reliable results more efficiently, if only they had known there's that 50+ year old algorithm they could have used. Experienced and knowledgable devs are still very important to have around.
1: https://paydirtapp.com/blog/wp-content/uploads/2012/11/FastG...
If I can't use an adblocker on it then count me out.
Thank the gods.
What I find funny was the whole idea of a "web app" used to be that having JavaScript on the frontend perform lean API requests to the backend would result in a snappier experience for the user. It's turned out to be quite the opposite, though I primarily blame the developers rather than the technology itself; pretty much everyone is using the technology wrong, otherwise so many blogs wouldn't completely fail to show content with NoScript enabled.
You are a 2G user when you most need the Internet. Just drive in parts of New York state or Northeastern Pennsylvania (I mention these two states because they are not remote empty rectangles like Idaho or Utah).
From the article:
1. Other mobile browsers update independently from the OS, whereas Safari is only updated when there is an update to iOS. iOS devices that are no longer supported with newer versions of iOS cannot update to the latest version of Safari.
2. All browsers in iOS are based on Webkit: There are Chrome and Firefox versions for iOS but those use the same engine as Safari in iOS. This is because of an Apple guideline which mentions that all iOS browsers must use Webkit.
These users can't fix this problem without getting a new device.
1. Other mobile browsers update independently from the OS, whereas Safari is only updated when there is an update to iOS. iOS devices that are no longer supported with newer versions of iOS cannot update to the latest version of Safari.
2. All browsers in iOS are based on Webkit: There are Chrome and Firefox versions for iOS but those use the same engine as Safari in iOS. This is because of an Apple guideline which mentions that all iOS browsers must use Webkit.
These users can't fix this problem without getting a new device.
> Don't think about web browser compat at all because that's a software problem which costs nothing to fix on the user end
Disagree. It costs them time and attention. If they don't have to do something, they won't do it.
Updating software is low on people's priority lists. And not everyone has automatic updates enabled.
Disagree. It costs them time and attention. If they don't have to do something, they won't do it.
Updating software is low on people's priority lists. And not everyone has automatic updates enabled.
OP is written by LINE employee, that's widely used messenger in some Asia. So it seems that it covers wide user range. Maybe Asia is good at 4G deployment, some developing country just skip 3G and deploy 4G. Or OP maybe only see Japan, where 4G coverage is enough high to stop supporting 3G on 5G phone.
If a user on 2G you'd probably be better off moving away from typical web dev entirely, and delivering a desktop or mobile app with as much clientside logic built in as possible (offline database, CRDT for syncing, no external dependencies, binary protocol for any critical networking, etc).
How are going to build something like Figma with these constraints?
Why does anyone NEED Figma?
Depends on your definition of "need". But most people I know that use it enjoy it a lot, and especially collaboration features that they didn't have in desktop software.
There's no particular reason why native desktop software can't support online collaboration - online video games all somehow manage to support networked interaction while running on the desktop.
I'm working on electron-based desktop software at my job. We support macos, windows and linux. Building the same software natively would take 4x developers, move much slower, and require a lot more coordination. We would also not have access to incredible ecosystem of libraries and tools that we have at our disposal now. And if we wanted to develop a web version, to enable potential customers to try it out without installation, it would be a separate project equal in complexity to what we're already doing right now.
Of these points, I think that (almost) free cross-compile to the web is the only one that really holds up to inspection.
Cross-platform desktop software has been a thing for decades prior to Electron showing up on the scene, there are frameworks designed explicitly to support that, and there is a truly massive ecosystem of native libraries and tools.
Cross-platform desktop software has been a thing for decades prior to Electron showing up on the scene, there are frameworks designed explicitly to support that, and there is a truly massive ecosystem of native libraries and tools.
I've had experience with crossplatform frameworks like Qt before. It doesn't come close to Typescript, React and CSS in terms of developer productivity.
"Developer productivity" is just the latest tech buzzword. What did devs do 20 years ago and how is there so much good software from back then by today's standards?
You're making the same mistake as people who ask how ancient buildings we're built that they stand so long. You don't see ancient buildings that crumbled down, and you don't remember a LOT of old software that was complete crap. I've used computers since 1995 with DOS 7, and my memories of these times aren't so rosy at all.
This also doesn't consider all the crap software you get today, so you are making the same mistake as well.
2G and 3G are going away soon, it's LTE/5G or GTFO.
> 2G and 3G are going away soon
Only in the most developed countries, as places like Bolivia are still hanging on to 2G. You just don't hear about those places because of that demographics problem, so people assume 4G/5G are all that's out there.
Only in the most developed countries, as places like Bolivia are still hanging on to 2G. You just don't hear about those places because of that demographics problem, so people assume 4G/5G are all that's out there.
How many companies are targeting their primary use case in Bolivia?
So what? With that line of reasoning, very few websites should care about accessibility for people with disabilities.
Well, this line of reasoning is why accessibility is federally required. It's something that most companies explicitly do not care about.
Probably not many, but there are two good counterarguments to that. The first is because that "primary use case" becomes a self-fulfilling prophecy. If Some Company isn't intentionally targeting places like Bolivia and instead feeds Big Macs to their website, then people in Bolivia could never discover Some Company's website because of its bloat. Because people can't discover it, Some Company never knows that it could target those people. The second is that not all websites are to promote some product or company, but only provide information. Information usually isn't country-specific, so ignoring the 2G demographic leaves them in the dust.
There are 660 million people living in Latin America, roughly twice as many as in the United States. You can bet that there are companies targeting them. I know a couple and I live in Western Europe, so locally I'd expect that number to be just about as high as in any other place where people live.
Hmm... at this point, someone with an entrepreneurial bent should probably be asking him- or herself "Just how much money is lying on the table in places like Bolivia?"
Wikipedia tells me that Bolivia has a GDP (PPP) of $89.018 billion, and there are a bunch of countries like Bolivia.
Wikipedia tells me that Bolivia has a GDP (PPP) of $89.018 billion, and there are a bunch of countries like Bolivia.
If Bolivia is like sweet home, that money is concentraded as fuck so either their schtick would have to be ubiquitous for it to be worth it, or they would be selling to the ~10% richest in Bolivia (which probably have decent internet access).
For all that people sometimes go on about untapped market potential in poor countries, it really isn't that easy when >90% of the population lives on less than 350 USD/month.
Sauce: spent the first 1/4 of century of my life living in a third world shithole.
For all that people sometimes go on about untapped market potential in poor countries, it really isn't that easy when >90% of the population lives on less than 350 USD/month.
Sauce: spent the first 1/4 of century of my life living in a third world shithole.
Well, yeah, you're probably not going to sell many Lamborghinis there (other than to the elites you mention).
On the other hand, Coca-Cola has a presence in Bolivia, and apparently controls about 60% of the Bolivian market.
With 11 million people, that's gotta be a nice piece of change.
If what you're selling is closer in price to a Coke than a Lambo, you probably shouldn't write Bolivia off.
On the other hand, Coca-Cola has a presence in Bolivia, and apparently controls about 60% of the Bolivian market.
With 11 million people, that's gotta be a nice piece of change.
If what you're selling is closer in price to a Coke than a Lambo, you probably shouldn't write Bolivia off.
> If what you're selling is closer in price to a Coke than a Lambo, you probably shouldn't write Bolivia off.
If what you're selling is BOTH:
a) closer in price to a Coke than a Lambo
and
b) closer in demand to a Coke than a Lambo
Then, sure, you shouldn't write it off.
However, if you're selling stock-trading software, even for the price of a coke, you might not make enough money back to justify supporting Bolivia.
Cokes, even in poor countries, are still purchased by tens of millions of people at least once a month. Selling a similarly priced item that may be purchased by a few hundred people at most is not the same thing as Coke.
If what you're selling is BOTH:
a) closer in price to a Coke than a Lambo
and
b) closer in demand to a Coke than a Lambo
Then, sure, you shouldn't write it off.
However, if you're selling stock-trading software, even for the price of a coke, you might not make enough money back to justify supporting Bolivia.
Cokes, even in poor countries, are still purchased by tens of millions of people at least once a month. Selling a similarly priced item that may be purchased by a few hundred people at most is not the same thing as Coke.
If what you are selling has to be 1/20 as ubiquitous as Coke to be viable, you are already killing off approximately all business ideas.
Is that the right question to ask? Shouldn't we rather ask: how many companies care about users in Bolivia at all?
Bolivian companies I guess, duh.
Not in the Berlin U-Bahn, or on German intercity trains. Not in large swathes of rural land. Not for people who ran out of data, but still need to Google stuff.
In the USA, the major telcos are shutting off their 2G and 3G towers, this year -- after which if you are not reachable with LTE or 5G, you will simply have no service.
That doesn't account for private stations or congested areas where the service is technically 4G or WiFi, but you get 2G speeds.
To me it's surprising and unsettling to see how small the market share of Firefox has become.
Firefox was in its prime when it was the main competitor to IE. It was just a no-brainer for users: it was faster and it had tabs!
Now Chrome has become dominant. I don’t know all the reasons, though I’m sure marketing is a big one. Firefox can’t compete with Google’s marketing budget, and as a user and a web dev, I haven’t found any other compelling reasons to make FF my primary browser. Their dev tools weren’t as nice as Chrome’s the last time I checked, and it seems like common (for tech folks) Chrome plugins make up the privacy differences.
We do need a healthy multi-browser ecosystem in order to prune web tech to follow a user-centric direction. I want FF to convert me. I just haven’t seen the substantial arguments yet.
It’s kind of telling that Microsoft didn’t either, so they switched Edge over to Chromium, a tool from one of their main competitors. It’s possible that this puts FF into the same position of being “the outsider” that it was in before. I hope that stress makes them do something radical to sway more users. If they do, it will likely be related to browsing privacy (especially if it’s a default) and will upset the status quo again.
Now Chrome has become dominant. I don’t know all the reasons, though I’m sure marketing is a big one. Firefox can’t compete with Google’s marketing budget, and as a user and a web dev, I haven’t found any other compelling reasons to make FF my primary browser. Their dev tools weren’t as nice as Chrome’s the last time I checked, and it seems like common (for tech folks) Chrome plugins make up the privacy differences.
We do need a healthy multi-browser ecosystem in order to prune web tech to follow a user-centric direction. I want FF to convert me. I just haven’t seen the substantial arguments yet.
It’s kind of telling that Microsoft didn’t either, so they switched Edge over to Chromium, a tool from one of their main competitors. It’s possible that this puts FF into the same position of being “the outsider” that it was in before. I hope that stress makes them do something radical to sway more users. If they do, it will likely be related to browsing privacy (especially if it’s a default) and will upset the status quo again.
Firefox had kind of stagnated in terms of innovation and design when Chrome rolled around. Not to mention performance: we are spoiled today with recent versions of Firefox, but I remember a lot of people I know who switched to Chrome did so because of crash-resistance, performance, and the ability to run relatively large numbers of tabs. People like to complain about Firefox chasing Chrome in terms of feature set and design, but I think at least some of that chasing led to a better Firefox.
That at least explains how Chrome gained dominance. Sites that don't fully support Firefox + the "outsider" effect you identified are contributing to FF's continued decline. Safari will probably keep going for years and years solely because of users who don't care or know how to change their default browser (and some people do actually like it more than other browsers).
That at least explains how Chrome gained dominance. Sites that don't fully support Firefox + the "outsider" effect you identified are contributing to FF's continued decline. Safari will probably keep going for years and years solely because of users who don't care or know how to change their default browser (and some people do actually like it more than other browsers).
> a lot of people I know who switched to Chrome did so because of crash-resistance, performance, and the ability to run relatively large numbers of tabs.
Firefox was stable with a lot more tabs open than Chrome, because it didn't have a thread per tab. Chasing Chrome brought down the number of tabs you could comfortably have open in Firefox.
Firefox was stable with a lot more tabs open than Chrome, because it didn't have a thread per tab. Chasing Chrome brought down the number of tabs you could comfortably have open in Firefox.
But if one tab crashed or hung up, the whole browser crashed or hung up.
Why is that surprising? Firefox doesn't have a narrative that's compelling for the typical user and I'm not sure it's ever had one that was really viable. 'Not-google' really isn't good enough for the average user, and no amount of 'we care about your privacy' is going to convince the common user that Mozilla _does_, in fact, care about their privacy.
The reality is that most typical users care about their privacy a lot less than we might expect or want. That's probably not a great sign for society in general, but I think it's the truth.
The reality is that most typical users care about their privacy a lot less than we might expect or want. That's probably not a great sign for society in general, but I think it's the truth.
They needed to differentiate themselves years ago. The value prop in the early days was "very light & fast, blocks popups, has tabs, is totally free with no ads". It was a no-brainer to install it on every barely-technical relative's computer a nerd could get their hands on. The only thing that approached it and wasn't incredibly obscure was Opera, and that either cost money or displayed ads.
FF is no longer "very light & fast" (it may no longer be possible to attain that and actually support modern web browsing—Safari is the only mainstream browser that's even close, AFAIK) and does have ads. Their various interface redesigns have made it confusing as hell to my parents. Old-school popups are handled well enough by ~every browser and they just about all use tabs and have for over a decade. Meanwhile they've added... what? To differentiate them? Plugins. But now those are the same as Chrome's. Very good dev tools—but now those are available elsewhere, too.
They needed to go all-in on something radical years ago to have a long-term shot at relevance. Decentralized social networking or chat built-in to the browser. Aggressive built-in ad blocking & unique user-empowering controls. More, not fewer, non-HTTP Internet protocols built in. Something. And clearly not Pocket.
Now I don't think their market share's big enough for even something like that that to save them. In fact now it'd likely just kill them even faster.
FF is no longer "very light & fast" (it may no longer be possible to attain that and actually support modern web browsing—Safari is the only mainstream browser that's even close, AFAIK) and does have ads. Their various interface redesigns have made it confusing as hell to my parents. Old-school popups are handled well enough by ~every browser and they just about all use tabs and have for over a decade. Meanwhile they've added... what? To differentiate them? Plugins. But now those are the same as Chrome's. Very good dev tools—but now those are available elsewhere, too.
They needed to go all-in on something radical years ago to have a long-term shot at relevance. Decentralized social networking or chat built-in to the browser. Aggressive built-in ad blocking & unique user-empowering controls. More, not fewer, non-HTTP Internet protocols built in. Something. And clearly not Pocket.
Now I don't think their market share's big enough for even something like that that to save them. In fact now it'd likely just kill them even faster.
> FF is no longer "very light & fast"
I beg to differ. It's certainly faster and uses less resources than even Ungoogled Chromium on the same machine.
I beg to differ. It's certainly faster and uses less resources than even Ungoogled Chromium on the same machine.
> Firefox doesn't have a narrative that's compelling for the typical user
Firefox doesn't sell you off to the highest bidder?
Firefox doesn't sell you off to the highest bidder?
My point is that far fewer people care about this than one might expect. And a non-trivial number probably don't believe it anyway.
Oh, they absolutely do, like 90% of the funding for Mozilla comes from Google.
Google just does that so they don't get broken up. But that doesn't mean Firefox is sending your data to Google.
It does exatcly mean that Firefox is (by default) sending your searches to Google.
Mozilla also uses Google Analytics on their websites and keep testing the waters with putting ads right into the browser. Users are absolutely justified in not trusting Mozilla's claims about caring for privacy.
Mozilla also uses Google Analytics on their websites and keep testing the waters with putting ads right into the browser. Users are absolutely justified in not trusting Mozilla's claims about caring for privacy.
[deleted]
Webkit was made to be embeddable, so it spreads faster. More webkit-based browsers exist.
Firefox as a project seems directionless. New releases anger its users with unwanted feature. Its custodians wasted so much energy on silly projects that people are reluctant to donate.
Oh and of course the competition comes pre-installed on millions of devices. Operating systems even remind you when you're not using their bundled browser.
Firefox as a project seems directionless. New releases anger its users with unwanted feature. Its custodians wasted so much energy on silly projects that people are reluctant to donate.
Oh and of course the competition comes pre-installed on millions of devices. Operating systems even remind you when you're not using their bundled browser.
I ask this every time it comes up, but how do you know the market share of Firefox, and are you sure you aren't only counting Firefox installs with no ad blocking? There is definitely a larger ratio of ad-blocking on Firefox than Chrome, Safari, or Edge.
Hypothetically:
I don’t care to burn calories on being an “activist.” I just want to visit the sites I visit and get on with my life.
Sell me on Firefox.
I don’t care to burn calories on being an “activist.” I just want to visit the sites I visit and get on with my life.
Sell me on Firefox.
Firefox still has best-in-class privacy features:
- Enhanced Tracking Protection isolates third-party cookies and site data into separate containers based on both the origin and the site you're currently on. It also blocks trackers. https://blog.mozilla.org/security/2021/02/23/total-cookie-pr...
- Fingerprinting Protection, originally developed for use in Tor Browser, prevents Firefox from disclosing some data that uniquely identifies you. This feature needs to be manually activated. https://support.mozilla.org/en-US/kb/firefox-protection-agai...
- uBlock Origin works on Firefox on both desktop and Android. While Chrome will block an API used by uBlock Origin in 2023, Firefox will continue to support the API. (https://github.com/uBlockOrigin/uBlock-issues/issues/338) The current version of uBlock Origin does not support Safari.
- Enhanced Tracking Protection isolates third-party cookies and site data into separate containers based on both the origin and the site you're currently on. It also blocks trackers. https://blog.mozilla.org/security/2021/02/23/total-cookie-pr...
- Fingerprinting Protection, originally developed for use in Tor Browser, prevents Firefox from disclosing some data that uniquely identifies you. This feature needs to be manually activated. https://support.mozilla.org/en-US/kb/firefox-protection-agai...
- uBlock Origin works on Firefox on both desktop and Android. While Chrome will block an API used by uBlock Origin in 2023, Firefox will continue to support the API. (https://github.com/uBlockOrigin/uBlock-issues/issues/338) The current version of uBlock Origin does not support Safari.
Brave does all of that and it it's Chromium underneath so the websites will always work.
Firefox has stronger extension support on Android, since Brave doesn't support any extensions on Android at all. On the desktop, Firefox's container tabs feature allows you to log into the same site with multiple accounts without needing to open a new window for each account.* Firefox's Gecko engine gives me no issues on the web.
Brave is a better choice than Chrome and Safari, in my opinion. But Firefox still has some advantages.
* https://support.mozilla.org/en-US/kb/containers
Brave is a better choice than Chrome and Safari, in my opinion. But Firefox still has some advantages.
* https://support.mozilla.org/en-US/kb/containers
> Firefox has stronger extension support on Android
Whitelisted extensions are not extensions at all but optional browser features developed by third parties.
Whitelisted extensions are not extensions at all but optional browser features developed by third parties.
There's no difference. All extensions provide optional features for the browser.
On Android, I would recommend Mull (a Firefox fork) over Firefox:
https://f-droid.org/en/packages/us.spotco.fennec_dos/
On Mull, you can install any compatible extension from https://addons.mozilla.org even if it's not whitelisted.* But a whitelisted extension is no less of an extension than a non-whitelisted one.
* Instructions (steps 1-3 not required): https://blog.mozilla.org/addons/2020/09/29/expanded-extensio...
On Android, I would recommend Mull (a Firefox fork) over Firefox:
https://f-droid.org/en/packages/us.spotco.fennec_dos/
On Mull, you can install any compatible extension from https://addons.mozilla.org even if it's not whitelisted.* But a whitelisted extension is no less of an extension than a non-whitelisted one.
* Instructions (steps 1-3 not required): https://blog.mozilla.org/addons/2020/09/29/expanded-extensio...
https://news.ycombinator.com/item?id=29894463 My reasons for using Firefox over Chrome, unrelated to any form of activism.
Also backspace and shift+backspace still work for back and forward.
Also backspace and shift+backspace still work for back and forward.
> backspace and shift+backspace still work for back and forward.
That's no longer the default. It was disabled because it confused regular users and could cause data loss if people think they're typing in a form and the Backspace instead navigates back.
But good news! You re-enable Backspace as a keyboard shortcut to navigate back by setting the about:config pref "browser.backspace_action" to 2.
That's no longer the default. It was disabled because it confused regular users and could cause data loss if people think they're typing in a form and the Backspace instead navigates back.
But good news! You re-enable Backspace as a keyboard shortcut to navigate back by setting the about:config pref "browser.backspace_action" to 2.
Correction: set to 0, not 2.
It works great (in my experience) and doesn't sell your privacy to the highest bidder.
Firefox is sometime a good tool to have for webdev, in some case Firefox(desktop)(i think i need to us a camera) work more similar than chrome(desktop) in comparison too chrome(android), i will totally pay money for a tool-set web development of quality but as browser most advance things use some quirks of chromium to work, isnt as secure as other people say you need to twist thing here and there and download extensions, in general is more worth use brave, if you really want to have control use librewolf.net is a fork of Firefox focus on privacy and work out of the box
Firefox on Android allows you to use uBlock Origin. That's all the reason I need.
Use Firefox and if a site does not work just move on with your life. It passively improves our future to squander our attention on the less egregious actors.
> Use Firefox and if a site does not work just move on with your life. It passively improves our future to squander our attention on the less egregious actors.
I do this, and I do not remember the last time I actually had to 'move on' from a site because it did not work.
Anyone wants to start a list of sites that do not work with FF? I am genuinely curious which sites these are that do not work with FF.
I do this, and I do not remember the last time I actually had to 'move on' from a site because it did not work.
Anyone wants to start a list of sites that do not work with FF? I am genuinely curious which sites these are that do not work with FF.
Are you a dev logging into multiple profiles for the same service? Firefox has the Multi Account Containers extension. Also great for dealing with sites with limited article paywalls like Medium. Do you use Android? Firefox Mobile let's you install uBlock Origin. If you sign into the browser with a Firefox account on all your devices you can "send" a tab between them. This has proven to be way more useful than expected. That's all I can think of.
uBlock Origin on Android.
And it doesn't tie your browsing history to your account with an advertising company.
And it doesn't tie your browsing history to your account with an advertising company.
I moved back to Firefox for 80% of my browsing back in 2018 or whenever Quantum update was released.
At this point it's only idealism that keeps me there. Tiny things just don't work well. And it is so endlessly frustrating.
- I want the bookmark bar only to be shown in the new page tab. This does exist, but accidentally hitting _cmd+b_ resets it.
- The new-tab page is awful. It's trying to be clever when it really shouldn't be. So I have it all switched off.
- The container idea is nice, but so damn unusable in practice.
- I use Kagi as my search engine, but can't set the tokenised search URL so it works in private mode.
- The Settings are just so clunky. I wince every time I change something.
- When typing something in the omnibox, the suggestions are at the very bottom of the list. So far away, that I might as well not have them.
At least the dev tools are nice.
At this point it's only idealism that keeps me there. Tiny things just don't work well. And it is so endlessly frustrating.
- I want the bookmark bar only to be shown in the new page tab. This does exist, but accidentally hitting _cmd+b_ resets it.
- The new-tab page is awful. It's trying to be clever when it really shouldn't be. So I have it all switched off.
- The container idea is nice, but so damn unusable in practice.
- I use Kagi as my search engine, but can't set the tokenised search URL so it works in private mode.
- The Settings are just so clunky. I wince every time I change something.
- When typing something in the omnibox, the suggestions are at the very bottom of the list. So far away, that I might as well not have them.
At least the dev tools are nice.
Those are total market shares including smartphones, which Firefox has very little presence. Most people look at Firefox market share tends ( or used to ) focus on Desktop market share. ( The term Desktop actually includes Laptop LOL, which used to be a separate category. )
>Safari is the baseline in terms of web standards: The sites we develop must work in Safari versions at least 2 years old.
How can anything work reliably when software's lifetime is less than the time I can store meat in my freezer? Future shock has hit the software world hard and nowhere harder than on the web. I can understand the financial motivations for for-profit businesses and why they behave this way. And I know that's not going to change.
But as people, as human people and not just an employee fufilling a corporate person's goals, we can write, support, and use software for far longer than 2 years and we should.
How can anything work reliably when software's lifetime is less than the time I can store meat in my freezer? Future shock has hit the software world hard and nowhere harder than on the web. I can understand the financial motivations for for-profit businesses and why they behave this way. And I know that's not going to change.
But as people, as human people and not just an employee fufilling a corporate person's goals, we can write, support, and use software for far longer than 2 years and we should.
Who is using a browser build that is more than 2 years old on the open web? Is that a sensible enough use case that it should be supported?
An sufficiently large org will have a non-trivial amount of users on "outdated" (aka older than 2 years old) versions of software.
Any public service (aka government site) will have a huge amount of people on "outdated" software and hardware.
Also: how the f... did 2 years become "omg it's so old we're no longer supporting it"?
Any public service (aka government site) will have a huge amount of people on "outdated" software and hardware.
Also: how the f... did 2 years become "omg it's so old we're no longer supporting it"?
You're being generous with two years. In my experience, if it's older than 20 minutes, burn the program, salt the disk, it's horribly obsolete, you'll be hacked and your identity stolen. Oh, and by the time you've updated, it's obsolete so update again.
I hate it.
I hate it.
So they stick IE? There are no browser supported over 2 years now in same version. Good luck.
Right now I'm in a team that doesn't expose anything to the web. However, three years ago I had a stint at Spotify and our project was exposed to the web. We would routinely get up to 3 million visitors a month from IE 11. That's more people than some countries.
Any public service (at least in theory) must support browser versions significantly beyond the arbitrary 2-years-old mark.
Any public service (at least in theory) must support browser versions significantly beyond the arbitrary 2-years-old mark.
Almost every government and/or military organisation in the world. Do you know how long it takes to certify a new OS for deployment on a warship?
I do and it's perfectly sensible as a human person. It's just not a sensible design your business around people like me to make a profit, usually. That said, businesses that actually want to take your money and aren't just selling you do tend to support very old browsers. For example, I can use my browser from 2016 to browse and buy things from Amazon.com very easily. Even with JS disabled.
That's not sensible from a security perspective at all.
I believe Safari is supported for roughly 1 year and they expect users to keep updating their OS because they control the OS and know it will get updates.
To say it the other way round: Use HTML/CSS for information purposes (JS where needed, nice explanatory animations etc), get back to using real nice native code for applications, using the OSes capabilities to the fullest, providing an experience integrated with the rest of the OS, having full performance.
You'll have to make some really convincing arguments to get me to install your software on my computer. I much prefer an instantly accessible, sandboxed web app.
Pretty much a non-starter. If you're selling a desktop app and your competitor is a browser-based SaaS you will lose every time. It's one of the rare things both end-users and IT will agree on.
IT will gladly put those native applications available via Citrix/RDP, no biggie.
...right up until users complain that they can't access critical work information on their phone or tablet in the field, unless they use a shitty RDP app to move a cursor around their desktop at 3 frames per second.
Users are free to complain, and IT is free to ignore them unless management says otherwise.
Anecdotally we're able to differentiate ourselves by offering a native mac app over what our competitors offer but it's a niche, mac-heavy industry.
I wish we'll finally get some regulators to force Apple to allow use of other browsers and installation of standard web apps in iOS. Seems like a pretty clear cut case of abuse of monopoly/platform power. I bet once that happens all of a sudden Safari will make an about face and also get many of the features it's resisting now.
The outsized chrome bars atop every graph say "Safari monopoly" to you?
On the contrary, seems like Safari (webkit, which Chrome used to be as well) is one of the few moats against total chrome, and one of the few to remain up to date across devices. For this you want regulators involved?
On the contrary, seems like Safari (webkit, which Chrome used to be as well) is one of the few moats against total chrome, and one of the few to remain up to date across devices. For this you want regulators involved?
I just recently redid my company's website and used CSS grid this time. Our designer used a grid-based layout as well so it was super easy to lay out elements according to the design. I'm fortunately in a position where we don't need to support every browser under the sun, so using a lot of the modern standards was overall pretty fun.
I'm not really a frontend guy so hopefully next time I need to make a website the standards will have advanced even further.
I'm not really a frontend guy so hopefully next time I need to make a website the standards will have advanced even further.
I'm using more and more grid elements on my website. I'm surprised by how easy it is to make them responsive. Small features like grid-gap are also very useful.
Instead of asking "how bloated can we allow to make websites" we should ask "how can we make this run faster and better and use less resources"
It seems that Vue has some points in its favor over React in terms of speed, despite React's finner control over reactivity.
In the article they associate that with React's internals, but I wonder if also their philosophy to leverage the developer to trigger reactivity makes it easy to generate inefficient code, and in that case it may be that Vue's reactivity model has it's perks after all.
In the article they associate that with React's internals, but I wonder if also their philosophy to leverage the developer to trigger reactivity makes it easy to generate inefficient code, and in that case it may be that Vue's reactivity model has it's perks after all.
Although preact is about par with Vue and that has the same model/API as react right?
The most surprising chart was how large bundle sizes are when using React to build components.
It’s also the most popular framework. With popularity the overhead of inexperienced developers npm installing everything starts to show.
That graph is data from real websites, right?
So it might be selection bias: sites with logic requirements, app like, tend to use React, when simplest static websites don't have any reason to.
So it might be selection bias: sites with logic requirements, app like, tend to use React, when simplest static websites don't have any reason to.
[deleted]
Is Safari on MacOS and Safari on iOS the same? I'm confused when it says things like Safari is the new web baseline, but I'm not sure which version it means. I would think Safari on iOS would be more important than Safari on desktop. Everyone that has an iOS device is using Safari (whether directly or under the hood), while I'm not sure I've ever met anyone that uses Safari on desktop (other than to download a different browser).
way over 95% the same
> not sure I've ever met anyone that uses Safari on desktop
Odd conversation starter, I certainly haven't polled most of my acquaintances. The ones who have nerd-ish leanings overwhelmingly use it, though, as Chrome is a crapfire for laptop batteries and privacy.
> not sure I've ever met anyone that uses Safari on desktop
Odd conversation starter, I certainly haven't polled most of my acquaintances. The ones who have nerd-ish leanings overwhelmingly use it, though, as Chrome is a crapfire for laptop batteries and privacy.
Yep. I use Firefox when my laptop is docked and Safari the rest of the time. It might not matter for the M1 laptops, but with Intel, the difference in battery life is extremely noticeable.
It definitely matters for M1. https://www.forbes.com/sites/brookecrothers/2021/02/21/this-...
I find the framework part difficult. There are so many factors that impact bundle size and performance. To start what type of apps? How much content do they pull in? How much interactivity is there?
If you for example compare a few very minimal mostly static site vs let's say data dashboards your comparison stops to make sense.
Also consider the people who use the frameworks; some of the frameworks are quite new, you can expect a higher percentage of "early adopters" which are likely to be more experienced and write more performant code in general.
It reminds me a bit of Wordpress. Can be very quick, but most sites were/are just 100 plugins bundled together into a slow mess. Its popularity and ease of use messing with its "score".
Anyway, it's definitely interesting to see such numbers, but I won't be using them to make decisions or draw conclusions.
If you for example compare a few very minimal mostly static site vs let's say data dashboards your comparison stops to make sense.
Also consider the people who use the frameworks; some of the frameworks are quite new, you can expect a higher percentage of "early adopters" which are likely to be more experienced and write more performant code in general.
It reminds me a bit of Wordpress. Can be very quick, but most sites were/are just 100 plugins bundled together into a slow mess. Its popularity and ease of use messing with its "score".
Anyway, it's definitely interesting to see such numbers, but I won't be using them to make decisions or draw conclusions.
I follow a different set of criteria for my content-based website. Some are stricter, and some are more relaxed:
- It must be readable on the shittiest monitor money can buy
- It must be readable at night without straining the eyes
- It must be understandable by non-native English speakers
- It must load quickly even in the Berlin U-Bahn (underground train)
- It must work fine with the strictest ad blockers
- It must work fine with JavaScript turned off
- It must be respectful of people's data plans
- It must work in Reader Mode, in Pocket, or as a printed document
- It must work in any reasonably modern web browser
Web developers tend to forget that many people access the web from places with poor reception, on cheap devices, with poor eyesight, and with ad blockers.
- It must be readable on the shittiest monitor money can buy
- It must be readable at night without straining the eyes
- It must be understandable by non-native English speakers
- It must load quickly even in the Berlin U-Bahn (underground train)
- It must work fine with the strictest ad blockers
- It must work fine with JavaScript turned off
- It must be respectful of people's data plans
- It must work in Reader Mode, in Pocket, or as a printed document
- It must work in any reasonably modern web browser
Web developers tend to forget that many people access the web from places with poor reception, on cheap devices, with poor eyesight, and with ad blockers.
who are the groups of people actively turning off JS?
I have JavaScript disabled on my phone.
Without technical measures, the web is just painful. Sites take long to load, they jump around, obscure the viewport with all kinds of sticky content, show maliciously compliant cookie screens, interrupt reading with delayed newsletter popups - there's just no end to it.
On the desktop there are extensions to get an acceptable experience but not on iOS. Disabling JS may be radical but it yields a butter smooth, battery efficient, mostly crap-free experience. For problematic sites there's the back button or a back up browser with JS enabled.
Without technical measures, the web is just painful. Sites take long to load, they jump around, obscure the viewport with all kinds of sticky content, show maliciously compliant cookie screens, interrupt reading with delayed newsletter popups - there's just no end to it.
On the desktop there are extensions to get an acceptable experience but not on iOS. Disabling JS may be radical but it yields a butter smooth, battery efficient, mostly crap-free experience. For problematic sites there's the back button or a back up browser with JS enabled.
I open a lot of tabs and my battery would die within a couple of hours if I left JS on.
It's like turning your car's engine off because that uses fuel.
The engine is HTML. No more is needed to give me the information I want, though CSS and images are certainly nice. JS would be more like the infotainment system: Sometimes nice, sometimes annoying, sometimes dangerous.
That was certainly true in 2005, when JS was used more to impress the audience. The modern internet is mostly useless if you do not have JS running. I would imagine you have to turn it on and off all the time because you can't do simple things, like log in.
Eh, it took a few cumulative minutes to build a nice whitelist and I don't ever notice it. I do notice it, however, when I visit a news site and I'm not inundated by confirmation dialogs, ads and two auto-playing videos at once.
It's like turning your car's engine off overnight because that uses fuel.
Idle-stop is (annoyingly) a thing, now.
I honestly don't know. They're overrepresented on Hacker News for sure.
However my website is just text on a page and I see no reason for it to break when JS is turned off. Only the calculators and other widget will stop working.
However my website is just text on a page and I see no reason for it to break when JS is turned off. Only the calculators and other widget will stop working.
Any time your JS code breaks, you've effectively turned off JS for that page.
And this happens orders of magnitude more often than people consciously turning of JS
And this happens orders of magnitude more often than people consciously turning of JS
[deleted]
I think you are onto something but you are following with wrong conclusion.
Web developers don't forget about those people - it is businesses that forget about those people.
Those people are a niche and probably a niche that is not profitable catering to.
So they are excluded from the internet by a lot of companies. If there would be enough money to be made, a lot of web applications would have at lest 50% of those requirements implemented already.
Web developers don't forget about those people - it is businesses that forget about those people.
Those people are a niche and probably a niche that is not profitable catering to.
So they are excluded from the internet by a lot of companies. If there would be enough money to be made, a lot of web applications would have at lest 50% of those requirements implemented already.
I wouldn't say so. Designers tend to forget about low contrast screens. Developers tend to take liberties with bandwidth and CPU usage.
I see those things as part of the craft.
I see those things as part of the craft.
unsurprisingly jekyll remains the most performant option for frontend JS in 2022
React is so slow, so hard to reason about with everything just "it will update at some point and everything is pinging around off each other reactively", and just generally terrible to use. I find it hilarious that it ever gained popularity. I am releasing a framework soon (well it is already on github with no documentation and not in release form) that uses web components and it has similar amounts of characters to type to perform tasks as React, yet thousands of times better performance. The library is so small, initial page load is probably the same as server-side rendering when you take into account users computer vs server.
JavaScript is not really a factor in anything, it is just how it is used by people that is the factor.
JavaScript is not really a factor in anything, it is just how it is used by people that is the factor.
Any criticial web sites (banks, administration services...) without noscript/basic (x)html compatibility should not be deployed.
On IE
* Sunset on Nov 2018.
* Support and compatibility from other MS products for IE terminated in Nov 2020.
* Security support terminated 15 June 2022.
* Sunset on Nov 2018.
* Support and compatibility from other MS products for IE terminated in Nov 2020.
* Security support terminated 15 June 2022.
IE will effectively be supported until the current version of OS it was shipped on stops being supported.
Also: ending IE support doesn't mean people magically just stop using it.
Also: ending IE support doesn't mean people magically just stop using it.
You can continue supporting IE6 if you wish. Regardless, on 15 June IE becomes abandon-ware.
> Regardless, on 15 June IE becomes abandon-ware.
People don't care about some technical company doing something. https://news.ycombinator.com/item?id=30112310
People don't care about some technical company doing something. https://news.ycombinator.com/item?id=30112310
It sounds like you have a fully self-imposed restraint qualified by expired data.
No, it doesn't. It only shows that I understand that the world doesn't care about "EoL" of tech. products.
Close to half of Android users run on Android versions first released more than three years ago. Just because Google waves and magic wand and says "version X is unsupported" does not make them vanish from the face of the earth.
Caniuse shows IE 11 at 0.66% global use. It means there are ~30-35 million users still using IE11. Depending on what service you run and who your target audience is, these users can make up a significant chunk of your user base.
Windows 7 EoL was in 2020. As any smug know-it-all commenter on Hacker News knows, this means that it's now gone, never to be seen again. As reality shows, it still holds a 13% market share.
And so on. Examples are too numerous to list.
Do you have to support all these systems? It depends. It doesn't depend, however, on the arbitrary "two years is more than enough, drop support now".
Close to half of Android users run on Android versions first released more than three years ago. Just because Google waves and magic wand and says "version X is unsupported" does not make them vanish from the face of the earth.
Caniuse shows IE 11 at 0.66% global use. It means there are ~30-35 million users still using IE11. Depending on what service you run and who your target audience is, these users can make up a significant chunk of your user base.
Windows 7 EoL was in 2020. As any smug know-it-all commenter on Hacker News knows, this means that it's now gone, never to be seen again. As reality shows, it still holds a 13% market share.
And so on. Examples are too numerous to list.
Do you have to support all these systems? It depends. It doesn't depend, however, on the arbitrary "two years is more than enough, drop support now".
iOS Market Shares in Japan 66.5%,
Tim Cook: Apple doesn’t have a ‘dominant market share’ in any of its market.
Tim Cook: Apple doesn’t have a ‘dominant market share’ in any of its market.
[dupe] from yesterday
https://news.ycombinator.com/item?id=30093502
https://news.ycombinator.com/item?id=30093502
[deleted]
It's only an HN-dupe if it has some non-trivial amount of HN comments.
https://hn.algolia.com/?dateRange=all&page=0&prefix=false&qu...
https://hn.algolia.com/?dateRange=all&page=0&prefix=false&qu...
fairplay, I just dunno how it gets resubmitted over when the orig post is right there with upvotes
"over-dependence on JavaScript are hindering our sites’ performance"
Hmmm...going to need a citation on that one. The most severe energy and performance hog I have seen are the tracking "pixels." I loath that shit. It brings a site to it's gnees and barfs out twenty requests to Facebook every time someone touches something. These tracking services and cookies are the worst abomination literally ruining the web.
Hmmm...going to need a citation on that one. The most severe energy and performance hog I have seen are the tracking "pixels." I loath that shit. It brings a site to it's gnees and barfs out twenty requests to Facebook every time someone touches something. These tracking services and cookies are the worst abomination literally ruining the web.
> going to need a citation on that one
> It brings a site to it's gnees and barfs out twenty requests to Facebook every time someone touches something
Does not compute
> It brings a site to it's gnees and barfs out twenty requests to Facebook every time someone touches something
Does not compute
Is that actual web standards, or just what is listed on caniuse.com? The reason I ask is that a lot of "standards" aren't actually standards:
Service workers are not yet a standard: "This is a living document. Readers need to be aware that this specification may include unimplemented features, and details that may change. Service Workers 1 is a version that is advancing toward a W3C Recommendation." (https://w3c.github.io/ServiceWorker/)
Web Application Manifest is not yet a standard: "This document was published by the Web Applications Working Group as a Working Draft using the Recommendation track.
Publication as a Working Draft does not imply endorsement by W3C and its Members." (https://www.w3.org/TR/appmanifest/)
Background sync is not a standard: "This specification was published by the Web Platform Incubator Community Group. It is not a W3C Standard nor is it on the W3C Standards Track." (https://wicg.github.io/background-sync/spec/)
Cookie store is not a standard: "This specification was published by the Web Platform Incubator Community Group. It is not a W3C Standard nor is it on the W3C Standards Track." (https://wicg.github.io/cookie-store/)
Streams is not a standard, it's just a specification: "This specification provides APIs for creating, composing, and consuming streams of data that map efficiently to low-level I/O primitives." (https://streams.spec.whatwg.org)
So does Safari suck because it's not supporting actual standards, or does it only suck in comparison to Chrome because Chrome is willing to implement technologies that aren't finalized standards and technologies that aren't even on a standards track?