Their architecture, like ours, can't just be split into fastlane and slowlane.
So while I appreciate what the guy is asking for, it just isn't that easy.
Their architecture, like ours, can't just be split into fastlane and slowlane.
So while I appreciate what the guy is asking for, it just isn't that easy.
Really the only way I can think of providing fast vs slow with most sharded architectures is to slow down the non-payers as opposed to speeding up the payers (which is obviously a horrible idea).
I'd like to focus on the two benefits that the OP mentioned: speed and reliability.
The obvious idea to speed up the pro experience would be to isolate pro accounts on their own shard with fewer accounts per shard as compared to the non-pro shards. This might provide some improvement but not much. And here's why:
1) People that pay for pro generally use the site more which means that they have more photos, more comments, more faves, more everything. The advantage of not fighting others for the same resources is quickly dwarfed when you have an order of magnitude more things to keep track of.
2) The majority of the site is still non-pro. This means if there was some speed-up by isolating the pro accounts (which, as stated, I doubt there would be), you'd only enjoy this speed when you're visiting other pro accounts which would limit your ability to have a fully fast experience.
The second request concerns reliability.
This one is easy. Maintaining two versions (ie, the fast and the slow versions) of an application involves two paths through the code. More code and/or differing architecture means added complexity. More complexity means more opportunities for things to go wrong, either in code or deployment. More things going wrong means a less reliable site, so by definition increasing reliablity for a subset of users but not another set makes the site less reliable.
Thing is, if there are queues at the load balancer, something already went wrong.. so it only really benefits subscribers on certain, rare occasions.
It's time for some real upgrades. And they do have a user base to support that. I would most definitely pay for better Twitter services if they were available. I think the question is, how do you not neglect the people are unable to pay for these services? How do you make it a fair service?
I used to be in Web publishing. I understand how difficult it is to make money off of smart people on the Web. They know how to block your ads, and even if they refuse to block them, they ignore them. The real money is in stupid people who use IE6 and click on everything that blinks.
If it were easy to figure this shit out, there would be a lot more valid competition.