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

This is solved in a distributed fashion. The end user machines know which apps they have, and the ordering of the top 11 doesn't change if you already have the first one. So you ship down identifiers for top 20 or 50, which, even with metadata, is going to be smaller, bytewise, than the average apple.com homepage. When you go to display them, you remove the ones the user has and display the top 10 of the remaining set. If there are none left, request another block of apps. The size of the first block to send can be honed in on over time based on the number of subsequent blocks requested by clients.

But even doing this server side isn't that bad, calculating the difference between two sets, the top 100 apps and the apps a user owns, iterating with more if the size of the result is less than 10, is a lot less work on a per-user per-request basis than a lot of sites do to customize their experience.

Of course, Apple most likely doesn't want anyone to know which app is the 11th or something, which means a lot of server side processing to customize the exact list of 10 sent to the client. Sites like Facebook already do this kind of stuff for calculating the timeline for hundreds of millions of accounts.



Why do you want to ship more data to the client - which they're paying for, btw - to solve a problem that most of them seem to not care the blindest bit about? And why do more work on the server side when you don't have to?

I appreciate there's a nerdy "IT MUST BE CORRECT" aspect to this but Apple are making billions - why would they bother doing work and creating potential support problems for themselves to gain maybe a fraction of a percent more?


Nice way to move the goal posts. You said He unsuggested it after I walked through the umpteen problems involved in implementing this over hundreds of millions of accounts. which has nothing to do with how much money Apple makes, or what fraction of a fraction of a fraction of a percent of Apple's income it would take to implement and maintain, or what kind of support problems there would be. Considering how Apple already doesn't do anything with the top 10 lists, they could continue to ignore a new implementation and have the same set of support problems/costs. There's nothing about "IT MUST BE CORRECT", in fact making it customized per user means there is no single "correct" top 10 list to show.

You're welcome to start listing the actual umpteen problems that a billion dollar company would incur rather than just talking out of your ass about "Apple's billions" to a bunch of people, myself included, who have most likely implemented similar personalization systems at countless other sites using a lot less human, financial, and processing capital than Apple has. Apple "wastes" a megabyte for a picture of a wave on their current home page. Any change here is likely to move the needle in a positive direction more than the increased sales from having a massive picture of a wave on their home page.


Every engineering problem involves the "how much effort vs how much profit" calculation. In fact, in a sane environment, it's the first problem you solve before you start thinking about intersecting millions of lists.




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

Search: