4 ms·
It bothers the computer scientist in me that they set an artificial number as a contact limit. 2^16? Okay, they made a design decision that is problematic. But
by ghc 16y ago
It bothers the computer scientist in me that they set an artificial number as a contact limit. 2^16? Okay, they made a design decision that is problematic. But 10000? Obviously someone set an arbitrary limit based on their expert opinion about the number of contacts a person might need.
I am shocked that the "expert" was wrong.
- jimmyk 16y agoI would consider a design problem like that a bit worse than an arbitrary limit, from both the perspective that the artificial limit demonstrates someone considered that edge case and the perspective that the arbitrary limit will probably be easier to change in the future. If they're storing the contacts in a way that they're bumping up against some real constraint, it could be far more difficult to change it.
- endtime 16y agoThe question of whether stupidity is worse than malice is one for the ages.
- ghc 16y agoA design problem could be motivated by the need to save space (and even 2 bytes per row would save google a lot of database space). Even google doesn't have infinite storage, and there's always going to be a real limit somewhere.
- jauco 16y agoOr they did set a minimal speed target and are able to reach that target using the current systems/algorithms as long as everyone keeps their database under 10,000 contacts. 10,001 probably would work, but the programmers verified and are able to _guarantee_ the agreed speed with 10,000
- patrickaljord 16y ago> Obviously someone set an arbitrary limit based on their expert Google is known to based their decisions on actual data, they probably noticed that most people were below eg 500 contacts and 99.9% below 9000 (or such) and decided that 10000 would be safe.
- tnorthcutt 16y agodecided that 10000 would be safe aka, an arbitrary limit, rather than a specific technical limit.
- random42 16y agoNo, Its not arbitrary. In the above mentioned scenario, the decision is based on actual data points of the current system, with possible growth projections, and a judgement call from business perspective. Hardly arbitrary.
- kenjackson 16y agoMS did the same thing with Live Mesh. Noticed that few people were using more than 2GB, so they cut the limit to 2GB. Both of these seem like odd decisions. The people using more than your data driven limit are likely power users -- who are also probably your best evangelists. Furthermore, given that so few are using beyond the limit, unless there is a technical reason to set the data driven limit, you incur virtually no cost to keep the limit high. In fact it argues that increasing it to unheard of numbers, ala gmail back in the day, makes more sense. Again, there may be some technical reason they did this, which is fine. But if they looked at their data and saw that only 1% of their users had more than 10000 contacts, then they deserve to lose all those customers, plus the full wrath and bitterness they have as a result. They made a calculated decision to explicitly screw you over.
- ditojim 16y agothe could have rounded down to keep things simple? it is easier to remember 10k vs 10143. would you agree?
- EdiX 16y agoI would have been much happier if they had decided on 8138 or 16276, the latter being better.
- code_duck 16y ago
- pjscott 16y agoThe moral of this story is that, when you pick an artificial number as an arbitrary limit, you should always pick a power of two. Or a power of two, minus one. When people hear that you can only have 65535 contacts, they'll probably assume there's a good reason.
- portman 16y agoYou should coin this as "Scott's Law". It's brilliant.