Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

This makes me wonder if Google developers ever get feedback from outside the company, it feels like some feature is released and developers move the the nsxt shiny thing and most feedback (the one that does not reach on a news paper) is ignored. Probably this is expected when you have many users and most of them are not paying.


I wonder this about a lot of "tier 1" software, whenever I get easy to access critical business logic breaking bugs in Amazon, eBay, etc...

I just find it utterly unacceptable. I'd drag my developers over hot coal if they somehow released what I see from these trillion dollars companies.

I wasn't able to "add to cart" with my Amazon app for instance and things like YouTube and Instagram constantly crash when I'm adding new content. And many banking apps totally freak out when I use a password manager. This is pretty core operation. It's really amazing.

I really don't know how the valley operates sometime.

I'd imagine they supposedly have entire departments and dozens of people who are supposed to make sure this stuff works.

Sometimes I find it so unbelievable that I try multiple devices to take the possibility that it's just me out and it's invariably reproducible on all.

Maybe nobody at the company uses Android or maybe nobody uses their own product? (Maybe people who work at, say, Facebook don't actually like using it...thats understandable, but also unacceptable)

I really don't know how it happens. Maybe their tests are 100% automated and no human checks it? I don't know.


Maybe their quality control can be improved, but you give no insight in QA practices they are obviously skipping. Unless you're counting "dragging developers over hot coal" as your advice. In which case, I have serious doubts the system you're comparing them with is actually of better quality.


It's a problem with many developers. They think that because there can be a root cause analysis, they didn't fuck up.

But there are times when something simply shouldn't be, definitionally. As in, if X happens, it doesn't matter what the root cause analysis is, something is wrong.

To give a real life example, if you're driving drunk, the events and reasons leading up to the act don't really matter. They're not without value, but they're not important for determining that someone fucked up.

This is what the poster you're responding to is saying. That the problems are so goddamned egregious that they simply shouldn't be. It's not up to the aforementioned poster to fix the problems, it's up to the companies in question wanting to be better.


Fair point, but that's obviously not true. All evidence we have points to both amazon and google following excelent software development practices. They are even drivers of good practices in certain parts. So, we'd need stronger evidence to show that they are not doing their due diligence before releasing new versions. I'd say that releasing software without tests, code review and incremental rollout would be akin to drunk driving. However, I believe they do all of that and more.

Moreover, I don't know about the many developers you have experience with, but if the developer considers the behaviour to be a bug, I have a hard time believing they don't consider the behaviour to be a failure (ie. someone made a mistake somewhere). Though, I can definitely see people shifting the responsability to someone else, specially if there's a blame culture in place. Obviously, that's easier to do once you know the root cause. However, a company will be better off by putting solid QA practices in place and measuring "fuck ups" as a decrease in productivity instead of measuring it as the number of times each developer break production.


Maybe the issue they are doing too much dev and less contact with real users. You can unit test all your code but you can't cover all possible real data, so you need to accept user feedback. Sometime ago in one of our products there was an issue with RTL languages, as a developer it was first time I hit this concept, I got the report, I informed myself, I fixed the issue,the ticket was closed,the user was happy. In this case it is clear the developer assumed that they can always find someone picture, the assumption is wrong but probably all the TDD and good dev practices won't catch this issue until someone listens to the user reports.


I think they are passive aggressively telling you something essentially. The public complaints bin would wind up such a useless cesspool of entitled idiots and nuts complaining about "bias" because it doesn't conform to their warped worldview or issues that aren't even theirs like slow boot times. Actually processing that would be a massive sisphyean task with little actual gains from it. You know the "fire your bad 20% of customers that take 80% of your time" advice? Their numbers at large are looking far worse so just didn't hire them preemptively essentially. Strategically it makes no sense to do so.


Google does offer a feedback button in the knowledge panel. However, I assume they are unlikely to take any actions unless there's at least a certain amount of agreeing feedback.


I am wondering if they also put an algorithm to decide when "a certain amount of agreeing feedback" is reached. But TBH compared to other search engines Google is much better in general, my doubts are on the "summary" Google is doing presenting stuff as fact instead to just link you to the source directly.


^ exactly this.


^ this is exactly the attitude I'm referring to. Let me give you an anecdote to further illustrate.

Last friday my internet went out (Cox) and I called into support. The first thing the guy told me? My equipment is too old.

This is simply unacceptable as a reason why my internet stopped working at 6 in the morning. I suspect it was an attempt to upsell me a new modem, but I have a docsys 3 that's under 5 years old. It doesn't matter. Any series of events that results in technical support leading with blaming "old equipment" on the outage is wrong, period. Maybe the equipment went bad, it happens, but that's not what you lead with. Certainly not before trouble shooting.

This is what I mean when I say "definitionally". It doesn't matter what their motivation is. It doesn't matter if it's possible that my equipment died. That employee fucked up.

This isn't about technical excellence or software practices. This is about decision making.


I'm not sure if that employee fucked up. That may be company policy. Support people usually follow a script and they very rarely venture much beyond that. Partially because they lack technical knowledge and partially because it could actually get them in trouble. If I understand it correctly and you were calling your ISP at 6am, I don't think the person you were talking to was a developer. That said, I have no expertise in customer relations, so I wouldn't know if they were following good practices or not in that instance.

I get your point that people make bad decisions, but in software development, those bad decisions shouldn't break the user experience, but decrease the developer's (and/or the team's) productivity instead. Doing root cause analysis is part of the process to achieve that, as it can give insight on how to avoid that class of problems in future. That said, if someone is not doing a good job, they'd hopefully figure it out by themselves, but constructive feedback can also go a long way. Ultimately, if you have a good process in place, it should help you to make an educated assessment of who is underperforming (eg.: their PRs take very long to merge, they are full of beginner's mistakes, their code is never properly tested, their releases are always rolled back a few times until they get it right, etc). All of that without playing the blame game on the (hopefully) rare ocasion that a major bug is found in production.


To a user "The employee fucked up" and "Management fucked up" and "The developers fucked up" are indistinguishable.

Your blame-free production line won't help you if you're making the wrong thing and/or your UX doesn't help the user.

Example: someone at Google decided that if you make a general area-based query - e.g. vets in SF - street view is disabled.

It doesn't matter why they made that decision. To a user, it's an annoying inconvenience. The fact there may - or may not be - some kind of management rationale doesn't make it less annoying or less inconvenient. Nor does the fact that the code doubtless passes the tests it's designed to pass.

The same applies to Amazon's search options. I don't want to see results for 1.5TB external hard drives or any internal drives at all if I search for "external hard drive 12TB". I also don't want fake reviews, or reviews for unrelated products.

I don't want my own videos with my own music hit with fraudulent copyright claims when I upload them to YouTube. Especially if "my own music" is white noise. [1]

I don't want to have to deal with bugs like Heartbleed, Meltdown, or Spectre. I don't want Excel in Office 365 to fail to respond to double-click select. I don't want my card to be declined for no reason when I'm buying groceries.

I don't want the airliner I'm on to crash because management cut corners.

And so on.

Some of these issues are serious, some are less serious. But what's lacking is seriousness across the industry as a whole. There's an underlying attitude that software is either an annoying cost which can be pared to the bone, or a financial optimisation process, or an interesting puzzle to tinker with. And there seems to be too little deep understanding that it exists outside of a laptop screen, and when it fucks up it causes very real issues for very real people.

[1] https://www.bbc.com/news/technology-42580523


> Your blame-free production line won't help you if you're making the wrong thing and/or your UX doesn't help the user.

Blaming someone will not help either. As you said, the user doesn't care who fucked up.

Some of the problems you listed are still open research areas, so I wouldn't call not solving it lack of seriousness. And for the street view thing, given that there's no clear right or wrong, the best they could do is look at the data and see which approach seem to improve the user experience. I hope they've done that, but I don't know.

Then, there are bugs in excel, online shopping, aeroplane systems. Maybe those would be explained as a lack of seriousness, but I don't see how blaming someone would help avoiding those issues.

Finally, there's the recent intel/amd bugs. They were out there for a long time and it took quite a bit of time and ingenuity to find that there was a security flaw there. I think we can hardly classify that as lack of seriousness or understanding that it can have bad effects to people's lives.


This is probably going to come across rude, but I feel like it needs to be said.

nothing in your post was really relevant to this discussion. The fact that it may have been a company policy or that the person wasn't a developer is completely irrelevant to the larger idea. It's literally missing the forest for the trees.

I've been doing software dev for over 20 years and one of the things I'm known for is building very stable systems. Part of the way I do this is by not allowing myself to use these sorts of things as a defense.

When designing and/or building a system I ask: What should not be? Then I build the system to actively look for those situations. Put another way, I don't build systems with the assumption that there are no bugs. Too many developers push the responsibility outside of themselves. As if bugs are inevitable, therefore the fallout from bugs is inevitable. You just do a root cause analysis and move on rather than asking what you could have done differently to avoid the fallout.

I've lost count of the number of times systems I've built have actively refused to do something and then sent out a notification explaining why.

My point here is that you're doing yourself a disservice by insisting that root cause analysis should be enough. Yes it's important, but it's not enough. Some things simply should not be, and they're avoidable.

The problem is that many companies don't really care.


I don't think it's rude to point out someone is missing the point, though I can see why you're considering that given the overall aggressive tone of your messages. Let's backtrack, then. My main point is that scolding an individual for a problem in production is not going to improve the quality of the software produced by a company at all. Do you disagree with that?


Not relevant. You responded to another poster, I responded to that response to try and explain what the other poster was trying to say.

Neither of us said anything about scolding anyone, that's a strawman.


Hm, then is your point that many developers become careless while programming because they are in an environment with safeguards in place to avoid screw ups?


I think the main reason is that they can afford to not care. There is no pressure. They can afford to be inefficient because they know that as long as the core features work, customers will not leave.


Maybe the reason they are trillion dollars companies because they care about more important things than obscure or unprofitable bugs and berating their staff.


Because they care about filling their pockets and mostly nothing else, that’s the reason.


True. Apple has bugs that have been posted on their forums for like 10 years that haven’t gone away and rack up hundreds and sometimes thousands of comments. They don’t care. In some cases they block further comments without ever fixing the bug. They figure something that only affects 1 percent of people Of whom only half of them will actually get annoyed, they don’t need to fix at all. It really adds up though when you have hundreds of bugs.


Seconded, I think they don't want an internet where there is 0 pictures available of some known figure and that's why they don't take such a case into consideration.


In large organizations like this you tend to do what advances your own career, not what's useful. Mainly because it's not going to affect Google's bottom line in the short term.

See how many chat/social networking offerings they have done.


In small companies feedback from customers reaches support or the CEO(sometimes) and tickets are opened for all(most) issues. So are this companies have no support people or what are those people doing? Their job is to collect this feedback and put in tickets and advocate for the user witht he developers. Many times I had some feature implemented in a clean.logical way from coding point of view but it had to be changed so custoemers are satisfied and not me the developer.


They have billions of users, it's not scalable to treat each of them individually. So, they take more scalable approaches to identify problems and assess user satisfaction. That means that an individual should expect not to have much influence over the direction the product takes and which bugs are prioritized.


Except Google's approach doesn't seem to serve the needs of any user.

Even search quality has degraded notably in the past 5 years, mainly because of the automated smartness that more hinders than helps.

I used to get answers to my problems, now i have to wade through piles of manure that is only vaguely related to what i'm searching. And they're even overhelpful. I had to plan trips with Bing maps because Google helpfully routed me around a road closed in winter. Except it was winter but I was planning a summer trip...


You can tell google maps when you're going to be making the journey. Maybe you couldn't back when you tried. Related to worse search results, I don't know. But the fact that you're finding it less relevant doesn't mean it doesn't serve the needs of any user, but that it doesn't server your needs. And that's the point. Microsoft pushes people pretty hard towards bing, yet Google keeps coming on top, I assume people know about bing but are preferring google. They only need to be better than the competition they have.


Oh, google is perfect for finding the opening hours of a pizza joint near you.

Unfortunately, it used to be perfect for more advanced searches too. Not any more.

Btw, I don't see where to enter the date when i just ask for directions on google maps. Maybe it's available in the phone app but i use the web page for planning because I can open it on a real screen...


It exists in the web UI too. You need to select the precise time and day, not just the general time of the year, but you can tell it when you want to depart or arrive. See my screenshot below. By default, the dark blue section will have "Leave now" selected.

https://rafael.kontesti.me/screenshot.png

Regarding the results, I feel like I'm better at finding things when I have no idea what I'm actually looking for. However, when I know what I'm looking for, it seems more difficult at times, I can't say it was easier before, though.


The question is if they dont' collect feedback they don't know how many users are affected. If you break feature X and all users are affected but you send them to read some FAQ and not record the reports then the only way you get informed about this is from Hacker News or a news paper, maybe this is the Google and Apple strategy, if it causes an issue that reaches a news paper then we investigate it, otherwise we fix only the bugs that upset our developers or bosses


Most of their feedback probably comes from their metrics. Things like sudden drop in the number of purchases, an unexpected increase in refinenment of certain queries, increased number of 500s, etc. In order to respond in scale you have to try to detect unusual patterns showing up in your data. That said, they do have some avenues to contacting them. There are feedback buttons in the knowledge panel and in the translations. There's an actual support in youtube (albeit it will take a while until you get to a real person) and so on. As it is, they are likely already getting more feedback than they can process on a daily basis. Bear in mind that not all feedback is useful. A big chunk of the work in any support hotline is wading through the mountain of useless feedback. I can only imagine how that'd be like at google's scale.

Note: by useless feedback I don't mean that the user is wrong because they don't understand the interface, when it's actually the interface that's not intuitive. I'm saying that people are often calling in trying to solve something completely out of your control. Just talk to anyone in support and they will tell you the craziest things that pop up. One example I've heard was a user who could not wrap around the idea that an app on the phone needs internet access to order food delivery. Something like that can easily take 30 minutes for a supporter to handle, for instance.


Let's try a thought experiment. There is a `Feedback` button on the bottom right, imagine that Google developers actually look at them. Let's assume some numbers:

- Once every ten searches there is that "smart" box. - Once every thousand "smart" boxes a user spots an error and clicks the `Feedback`. - There are a hundred developers behind this feature, working 8h/day.

So, according to [the result in a smart box](https://kenshoo.com/monday-morning-metrics-daily-searches-on...) there are 228 million searches per hour. So, to go through all the feedbacks, your developers need to average well over 600 per hour.

An alternative approach to get this estimation: imagine every tenth user reports one error per year. There are [2 billion gSuite users](https://www.zdnet.com/article/google-g-suite-now-has-2-billi...), so intuitively there should be at least as many Google search users. By simple division, your developers would need to go through almost 700 feedbacks per hour.

Having these numbers: how do you think Google engineers should actually react to the feedback?

Disclaimer: I work at Google, but on something not exposed to the outside world. However, we do hit similar scale issues with our users being only Google engineers.


Solution: Hire 10,000 people to vet the feedback and funnel it into the org. Those people vet 6-7 feedback per hour, or 18-21 if you keep the operation running 24/7.

But that would cut into the Profit from the Money Printing Machine.

Saying "We're doing business on a scale that's too big for us to be (profitably) accountable" isn't an acceptable answer.


Imagine Google is a public utility. Would it be worthwhile for the society to spend that much manpower to funnel the feedback brute-force way like that ? To me, it clearly is a waste of money for the society, and an inefficient and pointless way to improve the product.

This kind of deontological approach is not very useful unless it's applied to a morally important issue, and even then, an utilitarian/consequentialist approach is needed to cross-check to make sure deontological approach doesn't go astray.


Very slippery slope, since you can use that argument to justify anything you want.

The bottom line is this: You guys are actively spreading misinformation and profiting from it. That's a bad thing.


Do you have any alternative ideas on how to make this better?


> Probably this is expected when you have many users and most of them are not paying.

Everyone pays one way or another otherwise google wouldn't exist.

I leave feedback on Google results and apps all the time. Either no one reads them, a computer reads them and based on keywords pushes them to a queue that reaches a human or /dev/null, or no one in the company wants to accept responsibility for mistakes otherwise they may not be promoted.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: