This isn't how driving works in practice. Suddenly stopping on a fast freeway isn't a reasonable thing to do unless it's absolutely necessary, and it's not reasonable to expect the following driver to constantly be considering the possibility that the driver in front will slam on the brakes for no reason.
Insurance companies (at least in some parts of the world) have a standing agreement to just hold the following driver responsible when there's a collision like this, because in the majority of these collisions, the following driver is at fault. It's efficient for them to agree to this convention to avoid the cost of investigating each collision individually. This has led to the common misconception that the following car is necessarily responsible if there is a front-to-rear collision.
> it's not reasonable to expect the following driver to constantly be considering the possibility that the driver in front will slam on the brakes for no reason.
It's totally reasonable. It's not hard to maintain a safe following distance. Sudden braking isn't the only reason to do so, and insurance claims aren't the only motivating factor. You drive defensively so as to reduce the likelihood of death and destruction while making life easier for other drivers.
It's not hard to maintain a safe following distance.
So if a car swerves into your lane 10 meters in front of you, then slams on the brakes, you're at fault because it should have been so easy to maintain a safe following distance? (This isn't hypothetical, I've had this exact scenario happen multiple times -- on/off ramps seem to bring out the worst in some drivers).
I don't think anyone is saying what you're suggesting. If you're following a car and they stop, you should be able to stop as well. If a car pulls in front of you and slams on your brakes then that is quite a different scenario.
> it's not reasonable to expect the following driver to constantly be considering the possibility that the driver in front will slam on the brakes for no reason
Whether or not it's reasonable is immaterial. If you constantly consider the possibility of the cars around you to do something unexpected, then you're more likely to avoid death and destruction. As well as prevent the death and destruction of the people around you. It's called defensive driving.
Maybe it's unfair, or too much to ask, or just too difficult. But it's reality.
I'm rooting for self driving cars because I believe that, theoretically, they'll do a much better job than people. In the long run.
However, today, you have to pay attention or you might die. And even if you pay attention you still might die.
My dad told me a story about a coworker he had who was in a car accident. He was sitting at a long line in the highway at a tollbooth. It was foggy. My dad's coworker was watching the fog behind him like a hawk because he didn't feel safe just sitting completely stopped in the highway. A semi-truck appeared out of the fog moving at high speed. My dad's coworker cranked his steering wheel and tried to accelerate off to the side of the road but got rear ended by the truck. He was lucky. Because he was already headed away, this car got bumped out into a field. His car was destroyed and he got a bunch of injuries, but he lived. The people in front of him in the line were not lucky. A bunch of them died.
It's not fair or reasonable. But being constantly considering possibilities saved this guy's life. The other people are dead.
That very much is what https://downdetector.com/ and https://downforeveryoneorjustme.com/ are, crowd-sourced downtime reports. HN as a whole doesn't care if some niche industry site is up/down, so would never surface past the 'new' page. It's also helpful to see if a problem is localized to a particular region.
Hah, I just did the same thing - before clicking through to the status page, I had a bet with myself that everything would be green. Imagine my surprise when indeed everything was green.
If companies like Amazon and Google are going to outright lie on their status pages, why bother having them at all?
Because somebody (customer) is monitoring the status page and measuring how long it was not green and hold you accountable for your service being down. So it‘s „better“ to update your status page afterwards when your legal team is all on board.
Technically, German should have them, but barely anyone bothers since they're not on a normal keyboard layout. Some word processors replace them automatically though.
I don't think status pages are so easy in practice. Me and everyone I know have not had any problems with google calendar today, so who is right? Together we're probably <0.001% of all google calendar users so I don't think our sample is very representative.
Presumably there is some internal threshold for when to flick the switch on the service dashboard, but without knowing anything about the scale of the outage or what the threshold is we're kinda shooting in the dark.
That's why you see the orange color instead of red. To indicate that 1. The survive is not fully functional, or 2. The service is not functional for some regions. And I've seen some companies add comments to each status to explain what's going on.
I'm sure the statuses are being very liberal at their reporting thresholds towards the end user. /s
Perhaps it would help if the dashboards gave a tiny inkling of transparency, like what the thresholds are so you could gauge the relative significance of your personal service outage. If my page is out and vendor shows green, then maybe those relying on my service ontop of vendor won't believe me as much when I pass blame to them and/or maybe the vendor isn't even aware of the issue, so I should contact them because I'm an edge case.
If my service is out and the status page shows red with a nifty "were working on it" I can very clearly show anyone I report to or who is dependent on my service the parent service outage causing the issue, maybe even link them to it. In addition, I know that I don't need to contact the vendors support because they're aware of the issue and actively working on resolving it. I'm sure their support staff will appreciate it that millions of people can avoid contacting their support service reporting the same outage and having to repeat the same information through more costly reporting mechanisms than a page everyone can simply observe.
Every power company I've been with for at least the past 10 years basically do this. If I'm out at work and come home to no power, I first load my power company's outage report site (service status dashboard). I check my area and magically I know if the power company is aware and likely working on it, I can even see their updated time estimates when service will be restored. Sometimes they even tell me what caused the issue (oh boy, information). I never even have to make a call.
Meanwhile if I'm sitting here sipping coffee and hear a loud noise down the street, power is out in the middle of the day and I look across the street and see the neighbor's interior lights on, check the power company's outage map and don't see it: I give them a call. Tada, I know my isolated outage will be addressed and the service provider is aware of the issue. I also know if it looks limited, I'm probably going to be a lower priority if there are multiple outages and limited maintenance staff, so I can sort of expect it may be several hours. I can head out and not waste my time and effort sitting around.
Let's treat critical internet service infrastructure (that's what 'cloud' wanted to be, so let them have all that entails) like we treat other critical service infrastructure. It works quite well.
The underlying issue I see is that my utilities are well regulated and watched over so there often is a lot of transparency about what's going on. Heck, they even have public hearings if they want to increase their prices. Meanwhile, private company offering some service isn't very regulated and has every incentive not to let you know to manage the perception of their image and reliability vs providing empirical actual data. So will we see any sort of transparency? I doubt it, just as I highly doubt the size of represntative truthfulness of any data they report.
What's the best way to prevent this for Chrome? Can the F-Cache be disabled entirely? Otherwise, would
a Tampermonkey script or Chrome extension which just GETs /favicon.ico on every page load work?
Maybe I'm being naïve, but why don't browsers ship with more popular fonts bundled to avoid problems like these? I have no issue with any of my browsers taking up fractionally more space for an extensive cache of the most popular web fonts when the payoff is better performance on so many sites.
Of course, servers should still be capable of serving the fonts that the client requires to render the content correctly, but the browser should be equipped to make that happen as quickly as possible.
I've always thought the same. I see the same web fonts being used time and time again. It just makes sense for browsers to have an intelligent "permanent cache" - not based on your specific history but a common set of frequently sourced fonts, libraries, etc.
This would be especially helpful now that shared caches are going away.
One other option is to actually install the font into your OS. Any correctly-coded website will try a local source first, which should help a lot for poor connections.
> Any correctly-coded website will try a local source first, which should help a lot for poor connections.
Then Google Fonts is not correctly coded, as it'll use remote font only. And myriads of websites reusing Google Fonts snippets. To try local source first, you have to explicitly ask for it in @font-face/src which Google Fonts does not do.
So installing font into your OS won't help you with any website using Google Fonts service.
> Then Google Fonts is not correctly coded, as it'll use remote font only.
For a good technical reason: the version installed on the computer may not really match whatever the version on Google Fonts serves (fonts have notoriously no semantic versioning aside from some programmer-oriented fonts, examples of these outside are Segoe UI (changed between Windows 7 and 8) and Liberation fonts (some versions notoriously lack some glyph symbols) and on Google Fonts platform the Exo and Exo 2 problem (which was resolved by renaming the second version to Exo 2)).
Of course, there are also some benefits to Google (you know what are those benefits are).
> Note that when browsers render websites that use the Google Fonts API, they will check if a font is installed locally on your computer, and prefer to use the local version over web fonts.
I've definitely seen use of src:local(...) in the CSS served by Google Fonts in the past, but they may have changed things, or perhaps it depends on details of the request, the detected browser, etc. YMMV.
I just checked on a website I maintain, and it's looks like Google Fonts behaviour has changed. It definitely used to prioritise local fonts, and now it doesn't. In a way, I understand, because local fonts aren't always identical to the online ones, leading to weird bugs that might not be noticed at first (especially in languages that don't use Latin characters). Fonts also get updated over time.
When you select fonts on Google Fonts, the website instructs you to link to CSS hosted by Google, which is simple to implement, but not performant. Really, you would want to load that CSS asynchronously, so that the rendering of the whole website doesn't wait for Google Fonts. (Here's how you load CSS asynchronously, by the way: https://stackoverflow.com/q/32759272/247696 ) Or even better, host the fonts yourself.
- 2. Everyone uses a different font (just like everyone uses a slightly different version jquery) so cache hit would be pretty small IMO. Do you really want a browser to be gigabytes large? Especially on mobile it's not viable
Maybe if browsers standardized on shipping, say, 20 carefully chosen fonts (not necessarily the most popular ones, just a good variety of different types of fonts), the smaller websites would follow and use them; but I think any major brand likes to distinguish themselves and have a custom unique font.
For example, Google Maps by default doesn't load maps of the entire world when you install it. However, it does let you opt-in to pre-downloading specific areas that you frequently travel.
Browsers could do the same by simply adding an opt-in to download / cache common assets like fonts, jquery, etc.
> Maybe if browsers standardized on shipping, say, 20 carefully chosen fonts (not necessarily the most popular ones, just a good variety of different types of fonts), the smaller websites would follow and use them; but I think any major brand likes to distinguish themselves and have a custom unique font.
It may be not really carefully chosen, but didn't Microsoft have done this already? (Core fonts for the Web, https://web.archive.org/web/20020124085641/http://www.micros...). The reason they have discontinued this programme is that it actually costs them some money (as the fonts are not owned by Microsoft.)
Also, how would you cater to non-LGC (Latin, Greek, Cyrillic) users?
You might be right, but the next question is fashion. Will the same fonts be used still in 5 years, or (more likely) the new hotness will arrive? Should the browsers update the list each year? Then some fonts that were available will suddenly be not? Not so great.
Web standards and browser features are generally built for the long term and backward compatibility. I mean, it's not impossible to find a solution, but it's definitely not "let's download some fonts and bundle with the browser, done" kind of problem.
When you control 70% of the desktop market share, and you are releasing an evergreen browser that updates weekly, if not more frequently, any argument about not being able to stay on top of changes in the environment become rather silly.
Copyright and size: fonts are larger than you might think because they need full Unicode support and good fonts have tuned variants for different weights, styles, and sizes, along with alternate symbols and ligatures, etc. which all add up.
Self-hosting is the way to go since it gives you full artistic control and you can use things like the Unicode-range CSS property to tell clients how to combine smaller fonts so you can support many languages without forcing a French browser to download a ton of Chinese glyphs which aren’t used on the page.
Another nice option we have now is using font-display to allow using a similar system font until downloads are completed, which can work really well for slow connections:
> fonts are larger than you might think because they need full Unicode support
Correct me if I'm misunderstanding, but don't the vast majority of fonts _not_ include full Unicode support, or even close to it? I know of GNU Unifont, but not many people are using that on the web...
I take your point on selectively downloading the relevant glyphs for the user's locale, but this could be done by the browser too - it is aware of the locale.
full coverage, yes, that's relatively uncommon but the most popular fonts will have a wide variety of languages and that adds up even if you don't support Chinese but do want coverage of the range of fonts designers want to use.
Because web tech (and Google in particular) is a mess of weird politics.
There are some things that are really well executed, and other things where the ball gets dropped completely.
Chrome will come along and do something like hide parts of the url, or allow scroll-jacking, but then say that fonts should probably be a system level implementation.
It would be trivial for the chrome team to establish something like a series of web-safe fonts like Roboto, Inter, Merriweather, etc. Stuff that gets used incredibly often. Even things like licensing aren't really an issue when most of these fonts are under their open license not to mention that Google has the money to be able to license it if they wanted to.
Why can't users install the fonts directly on their OSes instead? If it's on the OS, browsers can pick them up and I can install only the fonts I want.
StackOverflow ads are not the same as typical ads that technical users tend to block - they are typically just simple text links to job offers. Additionally, SO has fantastic analytics on logged in users which would drive the cost per impression up - if you've ever filled out their developer survey, you've given them everything they need to sell employers very expensive targeted ads directed at you.
Of course. Are you saying all programmers run ad blockers? Just visit any [usually divisive] ad blocking Hacker News post and you'll see people who aren't blocking ads. Chances of none of them being developers is slim. Also I don't block ads. So that's one.
> I'm personally not sure which VPN providers are supposed to be trustworthy to begin with.
I can recommend Mullvad[1] which takes none of your information for registration, and which ticks all the right boxes on That One Privacy Site's VPN comparison chart[2].
Have you noticed Slack slow down/use too many resources as a result of being an Electron app? Honest question, I've never used Slack, but have used other Electron apps and never really have any issues.
The Slack app on my mac kept using up a lot of RAM frequently. I'd have it running for a few days and suddenly the laptop would be unusable, with only ~200MB of RAM free. Slack would suddenly be using 2-3GB of memory. Kill slack and everything works fine.
I've restored to using slack on Safari now. This problem still occurs, but reloading the slack tab is easier then finding and killing the slack process.
I'm on a new computer and Slack takes at least a second to react to mouseclicks. It's completely ridiculous since, let's be honest here, Slack is a pretty basic chat app.
We moved away from slack due to it crashing peoples desktops (Mac, Windows and Linux all have had this problem). I've not used other electron apps though, so maybe I'll stop blaming the underlying tech :)
If it's true that Chrome on Oreo genuinely prevents picture-in-picture for YouTube specifically, that's a troubling precedent to set. Why not allow all websites to enable/disable PiP (maybe via a meta tag, in the way that tab theme colours already work)? If I query https://m.youtube.com while emulating a Nexus 5X, the response contains:
Just as a quick point and I will drop it in the article comments too. I'm the lead for our Chrome Developer Relations team.
Chrome doesn't disable picture in picture for Youtube, Youtube disable it in Chrome. They listen to resize events iirc and then exit fullscreen mode (the only way to currently get to pip mode in Chrome).
Then Chrome should have an option to stop the resize handler from firing when entering PiP mode. The user should always have the right to override what the website is doing.
So you would like us to not tell the page what the render is doing? I'm not sure how that would play out for any number of API's that exist on the web. Developer's have consistently had the means to override the default actions of the browser (think drag and drop) but I don't think hiding side-effects or user actions helps anyone.
I'd like to be able to tell my browser what it should tell the pages it's loading, especially if pages are leveraging it to do things against my will.
That applies to blocking Google ads, as well as fixing Youtube malfeatures.
Of course, it's understandable you won't see this from a browser paid for by Google. But you can't paint in broad brush strokes like "I don't think hiding side-effects or user actions helps anyone."
I'm disputing the fact there was a casual offhand design, and I don't think hiding the state of the render or the browser helps anyone not least developers who need the information about the state of their page.
I'm not saying that there can't be meaningful response from the browser to user hostile actions, I don't think anyone disagrees.
There's a broader question about a user's will and the sites intent especially when it comes to business plans of the site that I'm not sure if access to features native in the browser is aligned with say ad blocking or tracking etc... I don't know.
> There's a broader question about a user's will and the sites intent especially when it comes to business plans of the site
The site's business plans are not my problem. Basically, my phone and my computer should do what I want. Why is there even an API to make a video player enter/exit full-screen mode ? That's 100% a user decision and there is no valid reason why that should ever be exposed to JS.
>Why is there even an API to make a video player enter/exit full-screen mode ? That's 100% a user decision and there is no valid reason why that should ever be exposed to JS.
There absolutely are valid reasons and responsible uses for the browser to expose that API. Instead the argument should be around the irresponsible uses justifying hiding that part of the API.
Valid reasons to expose full-screen to the API:
* An "Always full-screen videos when I play them" button.
* Remote control of demo displays, kiosks, etc. Force them to all fullscreen and play a video synced up.
* Disable unnecessary features when website is full screen (e.g. stop polling website for changes)
* Exit full-screen on certain conditions. For example on a shared streaming site like Rabb.it, maybe if someone joins your chat room (assume this is configurable by the user)
In short, you can use JS to respectfully enact user decisions.
I'll also mention a related case. On Safari iOS, you can't autoplay a <video> element unless the user has interacted with it via tapping it. The goal, obviously, is to stop autoplaying videos. The goal, of stopping annoying autoplaying videos, is noble, but at the cost of removing the possibility of responsible usage. Maybe it's worth it, maybe it's not, but there is an undeniable tradeoff.
There is a long history of browsers disabling or crippling features because they get abused by web pages. In fact is is almost a rule that if a feature can be abused, it will be abused.
A possible solution is having a "responsible app mode" in browsers. Whitelisted webpages have full access to these privileged APIs which would otherwise be stubbed out and non-functional (hopefully in a way that a webpage can't detect).
Sounds like you are advocating for something very different than the current APIs. You're asking that the browser define its own UI for an exit button. How does it know where to put that? What if it is a game in a `<canvas>` element and the button overlays some important UI in the game?
I think you're overreacting to one bad-actor. Inevitably your suggestion here leads to good-actor pages having much less power to present good UI to its users. The browser has to think of all use-cases and have options for that, rather than defining lower-level hooks that pages can do what they want with.
Would it make you feel better that there already many other ways that pages can do user-hostile things? Have you ever visited a page that blocks right-click? Would you want to forbid Mouse Events because of this?
I like the trust model that current browsers do. If I trust a page they can use the full viewport or screen, and a lot of keys, etc.
> You're asking that the browser define its own UI for an exit button.
Yes. Currently firefox puts a "to exit full screen press esc" OSD already on videos, that also interferes with visual presentation of sites/directors. So ... directors already don't put shit there.
The same thing goes for walled gardens (like Apple's - they don't allow some things), the problem is not that it's curated, the problem is that there are insufficient tools available for users to put their walls where they want.
Why not just restrict it to user-initiated events that can exit or enter full screen? Similar to how you have to press a button to enter full screen mode. It seems to make sense to do the same thing to exit, or other various actions.
Well, the legal answer clearly places one side in the right (the user has the right to modify websites that are shown on their system however they wish to, and the right to circumvent all measures on that site, as in the countless ABP vs. ... cases has been ruled).
The historical answer does the same, as browsers were explicitly designated User Agents, as their whole purpose is to act in the name of the user, and fulfill whatever the user wishes to, which also clearly places the will of the user over everything a website may wish to.
How you interpret this is obviously left to you...
This is not a legal discussion, no one is saying that the user doesn't have a right to block this behavior.
> The historical answer does the same, as browsers were explicitly designated User Agents, as their whole purpose is to act in the name of the user, and fulfill whatever the user wishes to, which also clearly places the will of the user over everything a website may wish to.
The browser is a User Agent, I agree. This doesn't mean they can predict all user hostile behavior and fix it before it ever happens. Browsers often fix bad behaving websites over time. Recently there's been a lot of effort to fix pages that cause scrolling jank when they load ads in the background.
Simple, it means that if the browser would decide to force YouTube into allowing PIP, that would be the browsers legal (and moral right).
Additionally, there’s a precedent that users want to be able to control what a site does, and are willing to take extra steps to achieve this, so a browser should implement such functionality ideally in the first place.
There are already numerous examples where browsers intervene to stop user-hostile pages. The reason pop-up ads largely don't exist any more is because browsers intervened to kill them.
> I don't think hiding the state of the render or the browser helps anyone not least developers who need the information about the state of their page.
I don't care about helping developers who want to hinder my usage of my browser on my hardware. It's my CPU they are executing on, and thus it should be I & I alone who determines what is executed.
Actually, yes. I want that the user is able to force a page to do whatever the user wants, if they choose to do so.
Just like my browser blocks popups, and my browser blocks those sites that try to prevent right-click, and my browser blocks those sites that spawn dialogs when you try to leave them, Just in the same way I want my browser to force websites to allow PiP.
That would be an excellent way to force Google to switch distribution of all content via YouTube to HTML5 EME with Widevine DRM, given it's pretty clear their music agreements prohibit permitting this.
Most of YouTube content isn't music though. Why are they so user hostile - e.g. why can't I listen to talks/podcasters in the background while browsing the internet?
Try Firefox for Android - it allows background nedia streaming, and even puts controls in the notification drawer. It also allows adblocking, extensions, has the amazing reader mode which makes the most unusable websites readable again.
The current version 55 is a little slower than Chrome on my 3 year old phone, but performance in the past few major versions has definitely improved. The nighty developer build of Firefox 57 absolutely flies.
Mozilla is doing an amazing job with their Firefox modernization, it's a shame how little attention it gets on Android.
Another reason to use Firefox is to resist the monoculture of just one dominating browser, that's also made by the same company that makes the most common mobile OS and a lot of dominating web services, like Youtube. Allo for the web still only works in Chrome, because Google know they can get away with it.
Nice suggestion, but note that, since Google started abusing the page visibility API for their scummy ends, using Firefox is not enough by itself in order to play YouTube media in background. To restore its ability to do so, you also need this add-on:
But I'm not, so I'm not allowed to. I wouldn't have a problem with it if I could - paying for ad-free YouTube with added features seems like a fair deal to me.
I wouldn't call "letting me turn off the screen or switch to another application while still consuming media" an "additional feature". Especially since they must go out of their way in the first place to detect when that is happening and to prevent me from doing so, as they do on their mobile website.
Good question. As they normally serve their content as separate audio and video streams, it should be perfectly feasible to do that. I wouldn't bet on it, however.
In a similar fashion, Firefox for Android should prevent YouTube from pausing when it detects it has lost focus, as that's clearly an abuse of power with the shameless intent to inhibit non-Chrome browser functionality. See my other comment a little up the tree.
Too bad Mozilla won't ever dare to defend themselves from Google's bullying and will happily accept having background playback on YouTube, until now one of the primary motives for people to try Fennec out, being taken away.
Responsive Web Design (RWD) is a Web development concept focusing on making sites look and behave optimally on all personal computing devices, from desktop to mobile. [1]
The viewport meta tag is part of what makes RWD possible. [2] The viewport meta tag does not relate to PiP in any way that I can imagine.