Back in the 1980s my job was to manage operating system teams. We would take the Unix operating system (what MacOS runs underneath and mother of Linux) and "port it," i.e. make it run on new hardware/CPU. It was a huge challenge initially as unless everything was up, you would not get a prompt from the system saying it had booted. Usually the process would last 2-3 nervous months.
The reality however was that as hard as that job was, getting the prompt was the easy part. Fixing the last 10% of the bugs in the system would take 90% of the time. As a result, the whole project would last 12 months or longer.
One of the things that makes software hard, is testing it. Finding the bugs properly. Letting them happen randomly means very slow forward progress.
Nowhere is that more manifested than when you include networking. It is hard enough to create test cases locally on one computer. It then becomes an entirely different matter when two computers are trying to hold hands to do something.
It is now three decades later though. You would expect that major companies have a better handle on this sort of problem. And most have. Except Google it seems. For a giant that does the most superb job of building a search engine, they sure do the sloppiest programming and testing of any major company I know. Take this simple example.
I changed my google password. Was happy to see the two-way authentication be more seamless on my Android phone. You tell Google you want to change your password and it sends a Text message to your phone as it always has done. But now, as soon as you pull up the notification, it knows it is you and you no longer have to type in the number it sends you. Nice! What is not nice is what happened to me today when I went into Chrome to change something in the settings:
The pink box as you may be able to read says, "Account sign-in details are out of date." Why on earth does it not say which account this is? I have two google accounts. Which one is it logged into? OK, so maybe it is a security thing and it is trying to not give the hacker a clue as to what my account is, should that person be sitting on my physical computer trying to login.
Remembering that I had changed my password, I go ahead and click on "sign-in again." What happened next was remarkable: I get a pop up, I type in my user name and password and I get an hourglass and the pop up hangs forever! I did this three times and it keeps doing exactly the same thing. Here it is:
Clicking anywhere causes the pop up to vanish with no error message. No indication of any problem.
Come on google. Simple login hangs? Why no time out and error message?
And oh, the incompetence does not stop there.
Last night I was trying to use youtube on my Samsung Android tablet. I forget the exact message but it would keep giving me this no matter what I tried to view in there existing running youtube session:
Of course hitting Retry button did absolutely nothing. I open up the browser and it has no problem accessing the Internet. I turn WiFi on and off and still the same problem. Then I remember that I had changed my gmail password. Sign-in using that and it all comes to life! Are you kidding me? No one tested what happens when you have Youtube open and you change your password from another computer?
Am I the only one on the planet to have done this? I don't think so. Apps on tablets and phones run in the background even when you switch out of them. So it is natural for them to be "running" for days and weeks until you reboot your tablet which I do maybe once every few months with a system update.
Youtube seems to be one of the worst offenders here. Start a video and pause it and put the tablet to sleep. Wake up the tablet and hit play on the paused video. Nothing happens! It waits a bit and comes back to the same screen with the play button. No error message. No nothing. It just goes away for a second and comes back and refused to play the rest of the video.
Don't tell me: no one thought that in long videos you may not watch the whole thing at once. All the testing must have been done on 3 minute cat videos!
The work around I have found is to add said video to my "watch later" list. Then pull up that option and then it plays from where I left off! So clearly there is no networking problem.
Yes, networking is hard. But when you are in charge of both the front-end (app) and back-end (your own service), such simple, simple bugs better not exist.
I mean this is beyond incompetence. For such common scenarios there better be no bugs. How did we hand our future of portable and networked computing to this outfit? I guess this is what happens when a company's core business is search and everything else an afterthought. These are problems that can be solved with a handful of testers.
I have to believe they have thousands of testers at Google but no one outside of their search group must have been given a voice to stop garbage from being released. Or else, search is the main division with revenues and all the good testers are there.
Shame on you Google. Shame....
The reality however was that as hard as that job was, getting the prompt was the easy part. Fixing the last 10% of the bugs in the system would take 90% of the time. As a result, the whole project would last 12 months or longer.
One of the things that makes software hard, is testing it. Finding the bugs properly. Letting them happen randomly means very slow forward progress.
Nowhere is that more manifested than when you include networking. It is hard enough to create test cases locally on one computer. It then becomes an entirely different matter when two computers are trying to hold hands to do something.
It is now three decades later though. You would expect that major companies have a better handle on this sort of problem. And most have. Except Google it seems. For a giant that does the most superb job of building a search engine, they sure do the sloppiest programming and testing of any major company I know. Take this simple example.
I changed my google password. Was happy to see the two-way authentication be more seamless on my Android phone. You tell Google you want to change your password and it sends a Text message to your phone as it always has done. But now, as soon as you pull up the notification, it knows it is you and you no longer have to type in the number it sends you. Nice! What is not nice is what happened to me today when I went into Chrome to change something in the settings:
The pink box as you may be able to read says, "Account sign-in details are out of date." Why on earth does it not say which account this is? I have two google accounts. Which one is it logged into? OK, so maybe it is a security thing and it is trying to not give the hacker a clue as to what my account is, should that person be sitting on my physical computer trying to login.
Remembering that I had changed my password, I go ahead and click on "sign-in again." What happened next was remarkable: I get a pop up, I type in my user name and password and I get an hourglass and the pop up hangs forever! I did this three times and it keeps doing exactly the same thing. Here it is:
Clicking anywhere causes the pop up to vanish with no error message. No indication of any problem.
Come on google. Simple login hangs? Why no time out and error message?
And oh, the incompetence does not stop there.
Last night I was trying to use youtube on my Samsung Android tablet. I forget the exact message but it would keep giving me this no matter what I tried to view in there existing running youtube session:
Of course hitting Retry button did absolutely nothing. I open up the browser and it has no problem accessing the Internet. I turn WiFi on and off and still the same problem. Then I remember that I had changed my gmail password. Sign-in using that and it all comes to life! Are you kidding me? No one tested what happens when you have Youtube open and you change your password from another computer?
Am I the only one on the planet to have done this? I don't think so. Apps on tablets and phones run in the background even when you switch out of them. So it is natural for them to be "running" for days and weeks until you reboot your tablet which I do maybe once every few months with a system update.
Youtube seems to be one of the worst offenders here. Start a video and pause it and put the tablet to sleep. Wake up the tablet and hit play on the paused video. Nothing happens! It waits a bit and comes back to the same screen with the play button. No error message. No nothing. It just goes away for a second and comes back and refused to play the rest of the video.
Don't tell me: no one thought that in long videos you may not watch the whole thing at once. All the testing must have been done on 3 minute cat videos!
The work around I have found is to add said video to my "watch later" list. Then pull up that option and then it plays from where I left off! So clearly there is no networking problem.
Yes, networking is hard. But when you are in charge of both the front-end (app) and back-end (your own service), such simple, simple bugs better not exist.
I mean this is beyond incompetence. For such common scenarios there better be no bugs. How did we hand our future of portable and networked computing to this outfit? I guess this is what happens when a company's core business is search and everything else an afterthought. These are problems that can be solved with a handful of testers.
I have to believe they have thousands of testers at Google but no one outside of their search group must have been given a voice to stop garbage from being released. Or else, search is the main division with revenues and all the good testers are there.
Shame on you Google. Shame....