Are there good reasons for consumer Internet services to be unreliable or slow?
Adam Rifkin stashed this in Pinterest
Earlier this year, I used to believe that if you're connected all the time to a fast network, the browser is best for everything.
Nowadays I spend a lot of my time on websites that are fast and reliable, among them: Github, Gmail, Google Analytics, Google+, YouTube, LinkedIn, Flickr, and Facebook.
But this week I've noticed many of the services I love have become slow and unreliable. Quora gives 503 errors till I give up, Pinterest gives 500 errors till I give up, Posterous tells me pages I've authored don't exist, Tumblr takes minutes to load some pages, Twitter does not load tweets on a regular basis.
So I ask my friends at 106miles.net:
Should I attribute Twitter, Quora, Pinterest, Posterous, and Tumblr not working to them having success disasters?
That is, are there good reasons for consumer Internet services to be unreliable or slow in 2011?
In Pinterest's case, it might very well be success disaster:
On the other hand, Quora has 11 open questions on Quora Site Speed, among them:
...but no answer as to why they regularly throw 503 errors ("service unavailable") ...
This is something I've thought about a fair amount and it is not easy to resolve.
The Silicon Valley ethos of "build and iterate", pushing to get things up and out the door ASAP, "don't get it right, get it done", etc, has led to massive innovation, much conquered procrastination and many things the world should be and is very thankful for.
But, as with everything, there is a downside: a world of broken shit. We navigate in a sea of prototypes and proofs-of-concept, poorly masquerading as finished products.
When it comes to other devices, home items and tools we would NEVER accept the grief and inconsistency we do from software and websites.
If my TV took 15 seconds to load a TV show, I'd be apoplectic. If my ironing board collapsed one in three times, I'd throw it in the trash. And god forbid my car was prone to ANY problem analogous to the ones we routinely accept from software, because it would lead to recalls, lawsuits and flaming wrecks of twisted steel with lives lost.
It seems we must decide if we want cutting edge on a shoestring budget for free -- or do we want things that work? Or, viewed on a spectrum, how much grief are we willing to put up with in order to get the very latest drop of awesome?
All I know for sure is Batman must have one HELL of a quality assurance department at Wayne Industries because to be so cutting edge with such high stakes when you only have one user to report bugs... that's asking for trouble.
I give you TEN props for the Batmobile, Eric. :)
Your rant reminds me of the classic Scott Berkun article, Why Software Sucks:
No benevolent programmer has ever sat down, planning out weeks of work, with the intention of frustrating people and making them cry.
Bad software, or bad anything, happens because making things is hard, making good things doubly so.
The three things that make it difficult are:
Possessing the diverse skills needed not to suck.
Understanding who you’re making the thing for.
Orchestrating the interplay of skills, egos and constraints over the course of the time required to make the thing.
I suspect you're right: So much software breaks because we users are tolerant of software that breaks.
Speed and Reliability are hard but not impossible. Even at scale. Amazon, Google, Facebook, even Stack Overflow are all testaments that completely different strategies can succeed. If a heavy traffic website isn't staying up, it usually just means that the company has other priorities. An optimistic take is that those other priorities are in the interest of the long term good of the website or its users. A pessimistic take is that the company just doesn't prioritize it through ignorance or incompetence.
The end result is that uses typically don't care about the reasons/excuses for slow web sites. But they do notice and will come less often. Speed and Reliability should be "First Class Citizen" priorities, along with design, features and usability.