Control+N a new window for each mode is what I currently do. Then Super+<backtick> to cycle through them (if you’re on a Mac)
It’s not perfect though. If you accidentally open a few tabs in the wrong mode there’s no easy way to transfer them. And I’ll often forget that another window is open in the background
> I don't really think it would work as well for the "tab collectors" as they think.
I’m a collector and it’ll definitely help me a lot in one specific use case: I have a ton of tabs open and want to close some of them, but not all of them
Very often I’ll be growing the tab count on one subject (usually because I can’t find a satisfactory answer), finally I’ll piece that answer together and start applying the new knowledge elsewhere... then come back to my browser and all those extra tabs are now useless, but I can’t tell where they start or end
Sometimes I can find the “root” (the point where I started opening tabs on that subject) and know I can safely close everything to the right. But sometimes other important things are mixed in, so it’s not always possible, and even if it is that still means I need to find the root
The usual solution is having to cycle through every tab, take on the cognitive load of having to identify whether the tab only applied to that subject or not, then close it or keep it
Sometimes that means evaluating the relevance of 30 different tabs of 30 different sites that all look different, and rarely do they have “SUBJECT X” printed at the top
It’ll be really nice to be able to just close the group and not think about any of it and not worry about whether I closed something important, I’m really looking forward to this feature
Is there a reason you can't already do this with windows (which are a visual grouping of tabs)?
You're right that cycling through tabs and making individual decisions on closing each one has a high cognitive load. Closing an entire window is much easier.
A while ago I realized this, and started to front-load that cognitive effort and make sure that the "root" of each "subject" gets opened in a new window (or at least detached early enough once I realized that I was branching off into a new subject).
An example of the root of a subject could be an item in an issue tracker, and that window could also contain tabs for code search windows, Google searches on that topic, Stack Overflow answers, etc. Once I'm done fixing the bug, I just close the entire window/subject/group, without thinking about each individual tab.
The front page of HN is also usually the root of a subject. I'll open tabs for articles and comment pages, and then close the whole window once I'm done with my break and want to go back to work. If there's something particularly interesting that I want to save for later, I'll detach that tab and close the rest.
For the C++/RAII people, this is kind of like making sure that every object has an owner, and that memory is freed when those objects go out of scope. This is a lot easier than manually doing a mark-and-sweep over all your tabs :)
That's a great point. On my end, I do all my tab management by maintaining separate desktops for different broad topics (school, work, personal). Then I'll have different windows (history seminar, security engineering). And then it just becomes a whole mess and I keep very rough "version control" through note-taking apps.
I used to compress dozens of tabs into a bookmark folder with a date and topic, but now I just have dozens of those folders collecting dust. I often end up in the same situation you do when I mass-close tabs, except I might have to actively open so many tabs to do so that it actually becomes a strain on my computer.
All that said, I'm fully aware this is mostly my fault for being a tab collector/hoarder.
Edit: right now, at the end of the semester when I don't have much school work content open, I still have six Chrome windows. Yesterday I culled about 20 arxiv PDFs I had slowly accumulated since last August (lol).
I am not sure if this will work for you, but you can move the tabs next to each other and click on a tab, press shift, then select another one and all tabs in between will be selected. Press Ctrl-W and it will close all of those tabs at once.
I think GrubHub’s partnership and tie-in with Yelp makes this a very apples-to-oranges comparison. Food delivery apps operate with or without the restaurant’s approval and aren’t able to reach into the restaurant’s pocket the way Yelp and GrubHub can (and boy do they).
Also this is anecdotal, but I’m way more likely to place a pickup order through GrubHub than any of the other apps (if they even offer that). I think it might have to do with the Yelp integration, and me associating that experience with in-person dining... so maybe I’m just naturally in a “find a place to physically go to” mode when browsing Yelp?
The takeout side of this business would obviously have no issues being profitable.
Subsidized not only by VCs, but also by gig economy workers who genuinely don’t understand how little they’re being paid because their liabilities are complicated and often hidden/deferred.
This seems to happen a lot especially with food service startups, because of how price-sensitive that market is. Selling anything below cost or undercutting the competition by even a little bit in that industry will give you exponential growth for as long as you can sustain it, but the instant you want to turn a profit the market will turn their back on you and go somewhere else.
Ehh, but it's nothing new in the realm of food delivery (not saying that's -right-, mind you.)
Pizza delivery drivers have been getting the same bad deal for a long time. Most teenagers/young adults who take a delivery job have no idea that they require additional coverage on their vehicle and are one accident away from a lot of financial hardship.
You just see/hear about it much more now because rather than a small business offering the bad deal it's a (multi)national company. VC is just providing a way to scale the pain's visibility up.
Thing is, for a teenager / college student, it made sense as a side job. Bang around in a shitty car, make friends you work with, get a discount on pizza for yourself, get tips under the table with no tax, and enjoy that phase in your life.
With these services, it's like as though people somehow expect gig-work - already much less certain than being an employed drivers - to be a career. License and insurance requirements, PPE, and the sheer scale of the middleman operation involved in running a huge app like this - it's nuts to think that it could be done for the same price as the conventional delivery model.
And don't forget, your parents are still subsidizing your insurance... and those tickets don't show up on your record for at least 6 months, if you go to court!
Sure... until an accident happens, you find out that your insurance didn't cover the (undeclared) use for business purposes, and you're liable for somebody's million-dollar medical bills.
Not sure where you're from but if you're uninsured and cause an accident in France you're basically fucked. If you injure (yourself or someone else) or destroy public/private property you will have to cover it yourself. Many people end up paying hundred of euros per months for decades if not for their entire life.
In the US, we often has uninsured driver coverage. If the other driver has no insurance, our own insurance will cover us and then go after the other driver. But if they have no assets they are probably not worth going after as court cases cost money.
That sounds absolutely crazy. Nordic country. You may have to pay damages, but it would not be hundreds of euros for decades, that's just entirely unreasonable.
In Sweden that would be a real possibility if you do not have adequate insurance. Say that you cause 200 000 kr in property damage by wrecking someones car beyond repair. The owner or their insurance company can claim that money from you, and if you cannot pay in cash you are now in high interest dept where The Enforcement Authority (Kronofogden) can take money straight from you account on a monthly basis to pay off said debt. If you are a low wage earner you might never pay it off.
For any serious accident there will be an investigation to determine is the driver was meeting the insurance conditions. (did he have a valid license, did he take drugs/alcohol, was he on his phone, was the vehicle modified, &c.)
You would bet money that the insurance would cover it instead of finding a way out of it? What makes you so sure about that? There are examples of homeowner's insurance not covering issues caused by renting on AirBnB, so I would be surprised if motor vehicle insurance was any different.
Ex pizza-delivery driver checking in. I made about $15/hr (incl tips) delivering for dominos in 2007. I drove a $2000 truck and didn't much care about coverage on it. It was the best summer job I ever had.
If you have nothing, it's highly unlikely you're going to get sued. People who sue always look for the party with the most money, and try to shift the blame to them.
That's what I made around year 2000. Though I delivered 'Better Pizza, with Better Ingredients'!
Gas was $1/gallon and we got 70¢ per delivery. I asked a friend about 2008 or so, when gas had gotten up to almost $5/gallon briefly (part of the cause of the Great Recession, I'd imagine), and he said they were still getting 70¢ per run. That sucks.
Also, only 1/10 orders used credit cards, so nobody paid taxes on tips - all cash. By 2008, I'm guessing it was 1/3 using credit, and now, with apps, it's probably 9/10 using cards.
But yeah, it was a sweet gig if you weren't the social / beautiful type to be a successful waiter or waitress / bartender. It paid more and was way more fun than making $6-$8 / hour at McDonalds or Target.
What crushed us was when dominos implemented the "delivery fee". As drivers we only got ~1/4 of the ~$2 fee per run, but customers began treating it as though it was a tip.
I think there's more than just visibility: the pizza driver at least has a fixed rate which doesn't change all of the time and there isn't a third party hiding part of the billing. Most of the gig apps try to obscure their share of the money, especially from the customer and driver, and anything which has the concept of surge pricing can add noise which makes it harder to understand the impact of changes.
Former pizza delivery person (long time ago). Pizza works better economically because it transports better (stays hot longer) and has higher volume. I used to load up 5+ deliveries for the same small area of town. The dispatchers were hopefully good at grouping deliveries.
> but also by gig economy workers who genuinely don’t understand how little they’re being paid because their liabilities are complicated and often hidden/deferred.
After talking to several gig economy workers, and many of them understand in very concrete terms that they are trading the value their vehicle for cash now. It's a logical short-term choice when they have bills that need to be paid today, and have a vehicle they can stretch out for a few years.
The line between being unprofitable and selling at a loss can be very blurry. What one might call "selling at a loss" another might consider "making upfront investments for ensuring and sustaining long term success".
In one option, there’s high turnover (bad for customers, employees, and restaurants) leading to restaurants not signing up with future food delivery companies due to being burned in the past. In the other option, there’s a heathy competition leading to customers paying realistic prices (an undistorted market) and giving delivery workers and restaurants more stability.
It's not anti-competitive if you're a relatively small player or trying to build a market.
Comparison: when a new restaurant opens, it's very common to hand out coupons in the neighborhood for discounts or free meals. Those free meals will be sold at a loss, with the goal of building a customer base. Think of it as marketing.
EOD, "anti-competitive" is evaluated on the outcome -- does the success of the company running the discounts make the market more or less competitive if they succeed? If a company is already the dominant player in a market, it's anti-competitive to price dump to keep new entrants out.
But if the company is new and trying to disrupt established players (or trying to create a market where one didn't exist), it's very hard to argue that there's less competition due to their success.
> EOD, "anti-competitive" is evaluated on the outcome -- does the success of the company running the discounts make the market more or less competitive if they succeed?
This doesn't seem right. If they are price dumping then it will immediately affect the competition. No need to wait for an outcome or interpretation.
> Comparison: when a new restaurant opens, it's very common to hand out coupons in the neighborhood for discounts or free meals.
I'd say this is only acceptable because it is small scale (only few restaurants fit in a neighborhood) and the amount of money isn't endless like it (often) is with VC money. The short duration makes it possible for the competition to overcome the negative effects.
The problem with VC money is that all too often it is used to destroy competition and build monopolies.
It is ignorant of reality to expect a surfeit of recent antitrust cases, as those sort of cases are only made in the most egregious of violations, and long after the damage has been done. Such as around 1999, when the several states and the US Federal DOJ brought suit against Microsoft. Microsoft had been pulling anti-competitive moves for decades before, killing alternative operating systems like BEOS or OS2. The most recent related suit was brought up against the NFL for conspiring to violate the Sherman Act, but that was 10 years ago.
Microsoft - not a VC funded company.
NFL - government sanctioned monopoly, also not a VC funded company
Now, as to OS/2, people say "poor IBM", but IBM was the monopolist boogeyman in the 70's and 80's. BEOS simply wasn't good enough. Apple OS's and Linux did and continue to do quite well.
The DOJ went after Microsoft for giving away Explorer for free, which is what every browser maker does now, and has for 20 years. How that's bad for consumers I have no idea. As for Netscape, I switched from Netscape to Explorer because Netscape crashed constantly. That was hardly anti-competitive behavior on Microsoft's part, it was bad engineering on Netscape's.
Yes, I know IE crashed too, but nowhere near as often as Netscape.
I also give away the Digital Mars C and C++ compilers, the D compiler, and the source code to all of it. Is that anti-competitive too? How about all the other free software I use every day? Should the DOJ go after their creators, too?
> If you are a heart surgeon or Lebron James you can understand why you are making so much money — you have exceptional skill at something in high demand.
No need to reach for an analogy here, you could just say “if you are an engineer.”
In my experience what you’re saying is rarely true at the top tech companies, the managers there generally either come from a tech background themselves or they show an unexpectedly strong understanding of technical aspects of the product anyway, and typically have strong organizational and people skills that clearly stand on their own as rare and valuable.
What you’re saying is almost always the case at small- to mid-size tech companies (which is most of them), and I think it’s because they’re perpetually unable to attract and retain top tech talent... so anybody that can code is de facto placed and kept in a role where they’re coding, and ideally only coding.
A side effect of that is the pool of candidates for promotions and managerial positions is reduced to “only people who can’t code.”
It creates this bizarre situation where the company is looking to its least talented people and least impressive outside candidates to fill the management positions, and actively trying not to promote or give any credit to its most impressive and productive people (because then they might realize their value and demand something the company can’t give them).
These are also the companies most likely to be running against deadlines and having people work evenings and weekends, because again, they can’t attract or retain enough talent to comfortably hit those deadlines. They’re always able to create those deadlines though, because as it turns out, it’s a lot easier to sell software than it is to make software.
Then at 5pm on Friday when all the engineers are looking forward to another 4 hours of coding, all the managers get to throw up their hands and go “I’m useless anyway, I guess I get to go home now!”
And they might as well.
(If you’re an engineer and this sounds familiar to you, go apply to 50 tech companies right now because you’re way more valuable than you realize)
The difference in top companies is the people who got in, know they have it real good, because they specifically studied leetcode for 6 months to try and get in.
Average managers didn't and so they just derp around hoping everything'll turn out alright.
> ... as far as the app-like school of thought goes, the new facebook.com is a pretty remarkable achievement.
I agree, they’ve done a fantastic job. Not only that, but as far as corporate engineering blogs go, this article is one of the best I’ve ever read.
Usually I either know the subject too well to learn anything, or I don’t know the subject well enough to understand what they’re saying in the amount of time it takes to read an article.
In this case, they found the perfect depth, they had great judgment on when and how to use visuals, and what they’re conveying is so clearly valuable.
If you usually skip the article and just go straight to comments, consider actually reading this one!
How much are you willing to tell us about the income source?
I’m finding it difficult to think of anything that generates a small but consistent revenue stream with no babysitting, that is also completely unresponsive to low-effort attempts at scaling it.
Usually if there’s no babysitting, that means low-effort scale. Or if it is hands-free but still can’t scale, it’s because you’ve found the boundaries of the market opportunity (but when is that ever just 1k?)
I guess my question is what niche product/service did you find that the entire world only wants $1000/mo of??
My niche is "make knowledge of Germany approachable to non-Germans".
This website works because moving to Germany implies paying for certain things, like health insurance. It also works well because most of the existing information is only available in German. This content also ages rather well, unlike programming tutorial or cellphone reviews for example. I don't need to constantly create new content.
I can't think of any other topic I understand this well that provides this much value to the readers. I know a thing or two about long distance motorcycle travel, but nothing I couldn't summarise into a few articles, and nothing that could generate affiliate income. I had some other ideas, but none of them withstood scrutiny.
Instead, I'd rather grow the website to cover more complex topics that I'm currently dealing with, such finance and retirement planning in Germany. It feels good to help people answer the same questions I had.
It could be something as simple as a tool that costs a dollar and automatically checks out a popular book from the local library.
And it's only in German and works with one library system.
I think in language design there’s an expectation that if an expression or statement doesn’t make any sense, then people won’t write it that way.
I think that’s a pretty reasonable expectation, too.
In JavaScript, {} + [] evaluates to integer 0. That doesn’t make any sense, but it makes more sense after reading the ES spec for the addition operator.
There are many expressions you can write in dynamically typed languages that don’t make any sense, probably most of them actually, but they have to be considered valid because it’s a dynamically typed language. So they’re valid, they will evaluate to something.
The language designers aren’t so concerned with identifying every possible combination that makes no human-intuitive sense. The important part is that when it seems like types should be inferred and coerced in a particular way, then that’s how it should work. It should match human intuition.
I don’t have any intuition or opinion about how True == False is False should be evaluated, this kind of thing is going to receive superfluous parentheses from me every time for the benefit of the reader, and if someone else wrote it this way I’m always going to look it up or test it in a REPL...
10 < x <= 100 though, if that’s considered a valid expression and it doesn’t evaluate to true for numbers in the range (10,100], I’m going to stop using that language...
>In JavaScript, {} + [] evaluates to integer 0. That doesn’t make any sense, but it makes more sense after reading the ES spec for the addition operator.
It's the consequence of ill-thought mechanics when it comes to type coercion. It's the original sin of many scripting languages: "let's just add a bunch of shortcuts everywhere so that it doesn't get in the way of the developer trying to make a quick script". Then you end up with a bunch of ad-hoc type coercion and the language guessing what the user means all over the place, and eventually these bespoke rules interact with each other in weird ways and you end up with "{} + [] = 0".
> I think in language design there’s an expectation that if an expression or statement doesn’t make any sense, then people won’t write it that way.
That's either very idealistic or very naive. In either case I'd argue that's a terrible way to approach language design. I'd argue that many well designed languages don't make any such assumptions.
>but they have to be considered valid because it’s a dynamically typed language.
Nonsense. Try typing `{} + []` in a python REPL. You seem to be suffering from some sort of Javascript-induced Stockholm syndrome, or maybe simply lack of experience in other languages. JS does the thing it does because it was designed(?) that way, not because there's some fundamental rule that says that dynamically typed languages should just do "whatever lol" when evaluating an expression.
I don’t write JavaScript or have a strong opinion about it.
The widespread prevalence of JS transpilers and everyone’s apparent unwillingness to write pure JS makes me think it probably isn’t such a great language. It probably never had a chance given its history with browsers.
Just using it to make the point that every language has valid expressions that make no sense. You can find similar examples in every language. All you have to do to find them is start writing code in a way that no person ever would or should write it.
Especially in the case of dynamically typed languages, throwing an exception sometimes but not always based on the “human intuitiveness” of any given type inference would make the language even more unpredictable. It’s just instead of asking why expression a evaluates to x, we would all be asking why expression a evaluates to x but similar expression b throws an exception.
If you ask me, the latter is even more arbitrary.
These aren’t useful criticisms. The only reason these kind of critiques even get so much attention is because people reading the headline think: “I wonder how the hell that would be evaluated?” And so they click.
The headline is only interesting to begin with because nobody ever writes that, and nobody should ever write that.
If nobody would ever write it or have any expectations about its evaluation, then how is it even significant that the language will interpret it one way vs another?
I think these criticisms are a good springboard to have the debate about static vs dynamic typing, but arguing over whether True == False is False should be evaluated one way vs another is kind of pointless. If the result of that argument is agreement, then we might end up with people actually writing this, which should be the last thing any of us want.
> There are many expressions you can write in dynamically typed languages that don’t make any sense, probably most of them actually, but they have to be considered valid because it’s a dynamically typed language.
Not really - a language could throw an exception in these cases, as Python does for things like “a”+1. Not every dynamically-typed language is JavaScript.
That is the difference between a dynamically typed language (like Python) and an untyped language (like JS). The dynamically typed language checks types at runtime, whereas the untyped language doesn't.
JS is not "untyped". It literally has a "typeof" operator. You probably mean strongly vs. weakly typed. JS is dynamically, rather weakly typed. Python is dynamically, strong-ish-ly typed. C is statically, weakly typed. Rust is statically, strongly type.
There's no such thing as "strongly" or "weakly" typed languages. Those terms have no definition and are meaningless. Yes Wikipedia will tell you that C and JS are weakly typed, but what attribute is it that C and JS's type systems share? They share absolutely nothing in common.
Dynamic typing refers to checking of types at runtime. JS does not do this consistently or effectively. Python does.
The typeof operator cannot be the basis of a type system since you can count all the answers it gives on your fingers. JS needs a bunch of extra functions like Array.isArray() to determine if something is an array or not. The language itself has no clue, everything that isn't a primitive is just an "object" as far as JS is concerned.
"Strongly" and "weakly" typed is not a binary attribute of a language and there's a gradient so languages can be more or less strongly or weakly typed but I think those are still useful qualifiers. C lets you add ints and doubles without explicit cast, Rust doesn't. Rust is more strongly typed than C. It's not meaningless to say that. A metric being partially relative or interpretative doesn't make it useless.
For the rest I don't understand how anybody can seriously make the argument that JS has no types. Shell scripts have no types because almost everything is a character string and that's it. JS type system is very limited but it does exist and I don't see how it can be used to justify {} + [] = 0, which is where we started (especially given that {} and [] are objects in JS, but 0 is a "number", so different core types). Adding two objects and getting a number is not a limitation of the type system, it's a conscious decision by the designers (or at least the side effect of one).
In some ways yes, Java is not so strongly typed; a statically-typed language can be weakly typed.
See C where ints, pointers, floats, and bools can almost all coerce into each other, such that the compiler will allow you to use arithmetic/logic operators with most different types, whether you meant to or not.
That’s because the language designers overloaded the arithmetic operator (+) to perform string concatenation when the operands can be cast as Strings.
Without overloading the + operator, string concatenation which is a common operation, would have been unnecessarily verbose. Your example without the + operator would look like below:
String a = new String(“a”).concat(1); // String object concat
String a = “a”.concat(1); // String literal concat
Java doesn't get off scot-free for anything; nobody likes it, they just use it because they must.
Java just happens to be less prominent in tech media right now since JS on the server is the new(-ish) hotness. There's still plenty of dislike for it, but really, all that needed saying about it happened long before now.
It’s really not dynamic vs untyped, but the extent to which the language design chooses to coerce a value into a given type instead of raising a runtime type error. Python is guilty of this too with its truthy values, e.g. `if []` — an empty list of type `list` is suddenly apparently inhabiting the bool type and is equivalent to False.
It's just ASI (automatic semicolon insertion) and at the top-level {} declares a block not an object.
You can also do like ({} + []) and it will actually be "adding" them; the confusion solely comes from people typing into the JS console something that wouldn't make any sense to put into an actual script.
Amazon has had the lowest price for basically everything I’ve shopped for in the last 4 years. When it is higher on Amazon, it’s by pennies (because algorithms) and not for very long.
At home there’s a grocery store at the bottom of my elevator. It costs less money for me to buy groceries on Amazon Fresh with same-day delivery, than it does for me to go downstairs and buy my own groceries. Not a little bit less either, like 20% less. Same products!
I don’t even have to be home, the groceries just materialize at my front door whenever I schedule them to.
I think HN just gets on a negativity roll sometimes, and the most extreme or exaggerated comments float to the top.
I’m sure there are plenty of externalities, probably moreso with Amazon than most any other company... but let’s not pretend that Amazon isn’t doing amazing things for their customers. The efficiencies they’ve added to my life have saved me hundreds of hours.
They’ve done that with a business model that (allegedly) monetizes the widespread violation of all kinds of regulations while (allegedly) externalizing all of the liability, and it’s devastating hundreds of businesses, and a million other things ... but on the other end of all of that is a very happy customer.
There would be no point to playing so dirty if there was nothing in it for the customer. It wouldn’t even work, we would all just go back to K-Mart.
Your experience might be true in a big American city, but in Europe it's the complete opposite. Amazon is relatively fast (2 day shipping), but the grocery selection is limited and full of third parties charging extortionate prices. E.g. the same brand of nappies is 2x more expensive than getting it from Tesco. Anything specialty, such as musical instruments, PC parts, furniture, etc. is more expensive than getting it at the source, and all "cheap" items are 2x-5x more expensive than buying it from China, shipping included.
Amazon beats other shops in terms of convenience and selection (you can buy lots of random unrelated items and get them delivered fast), but often it's basically just a more upmarket eBay.
It's pretty great where I live in Europe in a country where they don't even operate. If I buy on Amazon.de, they ship products from Germany and items usually arrive within a week including going through customs, as they remove EU VAT and include local VAT at time of purchase (which probably clues you in to which country I live in). This avoids the massive customs processing fees, extra VAT, and wait times I would incur from most other international sellers.
Their prices are almost always the lowest I can find on books, similar to Book Depository which they also now apparently own. Other items like the small kitchen appliances I've bought on the DE site are also almost always cheaper than I can find in brick and mortar stores.
I'm not sure they have the same grocery service in most European markets that they have in the US, where as I understand it the grocery orders are handled rather separately with local selections.
I was curious about the lower prices you mentioned. And it isn't the case for items I usually buy.
For instance, my local grocery store has 2 liter Diet Coke Caffeine Free for $0.99 (on sale, sure, but it occurs like clockwork every 2 weeks), while Amazon Fresh has it for $1.74. Plain bagels are $1.99 at the grocery store, while AF charges $3.24.
Could it be the case that your local grocery store is simply overpriced?
I think "grocery store at the bottom of my elevator" was a give away, they have to be in metro area and the grocery store has huge markups due to real estate costs.
Maybe you shop for different things? I've seen things lately that were clearly cheaper at the local grocery store.
For things like PC components, I find them hit or miss. They might be the cheapest (or near it), but they might also be way more expensive than another legit retailer. These days, I always check, because they are so variable. A lot of that is probably that Amazon doesn't carry everything, and other sellers are a crapshoot.
I don't know where you live that their groceries are so much cheaper, but it isn't true here in Texas, where HEB (the dominant grocery chain) is hard to beat.
This has been my experience-- I don't check Amazon and stop for almost anything at this point because I often find computer hardware might be cheaper elsewhere. Newegg is hit and miss but sometimes comes out way ahead-- I saved $100 on a monitor by going Newegg instead of Amazon, even after shipping.
Groceries? I find that Amazon almost never wins there compared to the local grocery chain. That most certainly is going to end up being a "where you are right now" kind of thing compared to computer parts.
I’m not speaking on behalf of Google and I’m only speculating, but I think what you’re proposing could increase the per-user cost of service 10x or even 100+x, and could easily invalidate their entire revenue model and put them out of business
If a customer makes 1 phone call to support every few months because their Wifi is down and they think it’s Google’s problem, they would probably be losing a huge amount of money on that customer (relative to per-customer revenue)
Amazon only does this so well because they have so much revenue per transaction, and those transactions already necessitate a paying relationship directly with the customer, so it’s trivial to distribute the cost of support across all transactions as a minor and unarticulated fee
Again not speaking for Google and only speculating without any inside information on the details of this subject, but:
If Google didn’t exist because only customer-paid business models were permitted for the services they provide, you would be cutting the vast majority of humanity off from essential communications and information services, and they would only be available to the wealthiest people in the wealthiest nations
People in the Philippines for example have the same access to Google that you have (assuming they’ve paid to load enough data onto their phone that week, which some of them can’t afford, or they have access to wifi, which most of them don’t), and I think that isn’t just amazing but is one of the greatest boons to humanity that we’ve ever seen
That would never have happened if Google was required to provide human customer support to every user, and if that changed today Google would very likely have no choice but to scale their entire business back to only being accessible to the top n% wealthiest people (or go out of business)
There are a few billion people in less-wealthy nations who wouldn’t even be capable of paying Google, not only because of poverty but also for simple lack of the required financial infrastructure that you and I take for granted
This is what I try to point out every time someone tries to say that ad-based revenue models should be made illegal because of various reasons. It is ignoring how useful and accessible ad-supported web products are to pretty much anyone that isn't living in a first world country having easy access to credit cards.
As someone that has grown up in a second world country, barely having any money to pay for food in college, nobody I knew had even a debit card not to mention a credit card, I was very much grateful to have access to Google Search for "free" and the quality of the results it returned and I continued to be grateful and enjoy the products later developed (Mail, Maps, etc).
The people who can’t pay tend to be pretty low-value to google anyway when it comes to advertising. If they had to, they would quickly find a way to charge a very little amount to those people if advertising had to go away (e.g. agreement to charge cell carrier).
It’s not Google vs paid service, it’s Google vs another free service. They already exist, it’s just that Google has monopoly due to network effects, despite providing inferior product.
An example in Australia is consumer protection law. This saved me recently. My AppleCare has expired. I had raised a support case with Apple before that about a flickering screen. I live in bali where we have no Apple stores and authorised service centres take 5-6 weeks to do screen replacement. But after opening the case I call support to discuss this open issue and going to Australia to get it fixed. The supper guy said sorry your AppleCare expired and doesn’t matter that you already opened a case before it expired. But I went to australia and Apple Genius Bar and the guy said well your still covered under consumer law.
It’s not perfect though. If you accidentally open a few tabs in the wrong mode there’s no easy way to transfer them. And I’ll often forget that another window is open in the background