Here's an idea: show me the top lists without the apps I already own! Why do I need to see Mountain Lion at the top of the App Store constantly in the #1 position? Just so I can know how little Mac Software gets sold and completely dissuade me from ever considering writing Mac software again? EIGHT of the top 10 apps are Apple apps. Most of which people probably already own (I happen to own all of them). Is this the image of the app store they want? If you really want to compell people to download Mountain Lion, just make it a banner at the top of the store that shows up if you don't have it!
The same applies to the iOS App store though. After I owned Angry Birds, why on Earth did I have to look at it as #1 for years? Showing a top 10 with apps you already own filtered out is good for everyone. The top selling apps still show up for new users. After its purchased, it gives other apps a chance to percolate up, which means more sales for everyone, and more 30% cuts for Apple.
EDIT: I'd like to point out that the OP's reference to a purely "editorial" list has the exact same problem. I don't understand why the Apple ecosystem seems hell bent on refusing to take advantage of the digital age. Creating a one-size fits all top 10 list, or editorial list, is a fine strategy for a brick and mortar store where they have to show everyone the same thing at the front of their store. And mind you, this is the absolute easiest online market place feature you can possibly program: don't show me what I already own and thus am literally incapable of repurchasing.
Why does Mountain Lion being at the top mean very little Mac software gets sold? Is it really that surprising that the OS itself is the most popular software on the store?
Perhaps not Mountain Lion per se, but by your own description it effectively turns the top 10 into a top 9, and for no reason. Now, when that is expanded to the point where the practical reality is that non-apple apps are basically competing for two slots in the top 10, then yes, you start to feel like maybe not that much software is being sold on the Mac App Store. When a spreadsheet program that hasn't seen a major revision in 4 years still chops the charts, yes, it feels like its probably not worth it.
More importantly, as a user, I've simply become blind to the top 10 charts on the Mac App Store completely. I have no desire to visually scan for the 2 apps that might be different.
You might find the genius lists go some of the way toward solving this problem for you. They try show things you're likely to be interested in, and don't show stuff you already own.
"Try" being the keyword there. Despite my very clear patterns of app consumption (action & puzzle games), Genius keeps suggesting me different podcast apps because I bought one 2 years ago (hint: nobody needs more than one). It has proven completely useless.
This seems a problem Amazon has as well. Because I bought an extra power adapter for my tablet, the My Amazon list is now full of various power adapters...
I am really unfamiliar with iOS but it blows my mind that this doesn't exist already. It seems like a no-brainer for a feature, especially since Apple basically invented the modern mobile app store.
I'm wary of this. Would like it as an option, but I don't necessarily want my app to change between uses, especially if it's something I need to use quickly. Loading up something with a changed UI, or data changes that need to happen, or whatever, when I wasn't expecting it.... won't make me a happy camper. A notification and ability to trigger the update from in the app would be nice, and having the option of 'auto update' would be nice too. I just don't necessarily want it to be the default with no option to opt out.
I think that as developers, we'll need to be very careful to update things incrementally to not jar users. But overall, it should be a win in that just like with a website, the user is always using the latest code. No need to maintain several old versions of web service APIs, which should have a good effect on reducing bugs.
The great thing is that Google has replaced their old Featuring concept with 2 sections of slots based on a recommendation algorithm. It recommends you a particular game/app based on what you have already installed on your device and other data. Despite this, it still recommends you games/apps you already have installed. Very surprising indeed!
From what I understand, google is even going further. They're ranking based on the usage of installed apps. ie. an app installed and never used is ranked much lower than one that's installed and used daily.
I think Apple should keep their software out of the top 10, but I think there is a bit of social reinforcement by having stuff you own in the top 10. You can feel like a taste maker if you got an app before it made it to the top 10, feel like part of the in crowd because you own 1, 2, and 3 etc. Editorial list? Sure filter the heck out of it.
Developers in particular like to know what spot on the charts their app got to. By not filtering the results everyone has a definitive view of the placement of these apps.
So they should filter the top list like you mention, but show a definitive list online.
This could be provided as a separate option on iTunes connect. If it was purely to cater for developers it doesn't need to be in the main app store interface.
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.
As a user-side filter, this is actually not that difficult to implement (assuming the device caches the list of purchased app ids for the current iTunes account, or even easier just the apps that are already installed on this device).
It means it'll take multiple requests to get all the results, sure, but if you weigh the initial request statistically (for the first 10, I think we'll need 12..) and so on, you can avoid even that.
Multiple requests that the client is paying for over a possibly flaky network connection and now you have to handle all sorts of edge cases and errors that you didn't before.
The app store (at least in the UK) has always been hideously slow and rubbish, even on a fast connection. I don't even try on cellular data anymore (to look at stuff, not even download/update.)
As I said, this wouldn't involve much more in the way of data transfer than the current setup. I assume that 15 apps instead of 10 preloading is the same order of magnitude; the latency is the kicker, not the tiny bandwidth required for metadata and icons.
Really? Sounds like about 20 seconds to throw a database query together to generate the list. Cache it until the user makes a purchase or we redo the statistics. If you consider the work involved in generating the top 10 list a per user filter is next to nothing in added computation time. Especially since it is just a marketing tool not something that needs to be updated in real time.
Now you've gone from "find the top 10, cache it once" to "find the top 10 200M times, cache it 200M times" (and 200M is lower than you need.)
Say you find the top 500 apps instead and cache that. You still have to iterate over that 200M times, looking up each users list of apps (~50-100 on the average, I have 400+ in my list), intersecting them, making sure there's still a top 10, and caching the results.
Either way, you've done a load of work - that needs development, maintenance, testing - to gain what?
The app store is already making billions for Apple with "flawed" top 10s. You might gain a few 10s of millions by implementing this scheme. What's the point?
They are already tracking what the user owns, what the user has installed on the device, and needs to be updated on each device the user owns, hell if you have genius turned on they track how much you use each app, or listen to each song. But whoa buddy filtering a top ten list is way to hard?
to gain what To not annoy users and gain a little bit more of that perfection they are known for. Increase purchases by a few percent. Not striving hard when you are at the top is how you end up in MS, IBM, and every other fallen giant's shoes.
Fully agree with that, just not the technically challenging part considering they can take 100 times more data and apply much harder algorithms at their scale.
...the point is to gets 10s of millions. Simply because they are already making a lot does not mean they should avoid optimizations. If they had that attitude, they would have "stopped" at whatever number was deemed to be enough. "Why make X change, they are already makings 100s of millions with the appstore?" A business's goal is to maximize profit. This is a clear option that has minimal costs in comparison to the returns that even you recognized. You are trying too hard not to be wrong.
But that's Google's entire raison d'etre = fast search results that are relevant. In theory, someone with faster and/or more relevant search results could steal Google's #1 place.
Who's going to steal Apple's #1 app store place if they can't be arsed doing per-user top 10 lists?
The same applies to the iOS App store though. After I owned Angry Birds, why on Earth did I have to look at it as #1 for years? Showing a top 10 with apps you already own filtered out is good for everyone. The top selling apps still show up for new users. After its purchased, it gives other apps a chance to percolate up, which means more sales for everyone, and more 30% cuts for Apple.
EDIT: I'd like to point out that the OP's reference to a purely "editorial" list has the exact same problem. I don't understand why the Apple ecosystem seems hell bent on refusing to take advantage of the digital age. Creating a one-size fits all top 10 list, or editorial list, is a fine strategy for a brick and mortar store where they have to show everyone the same thing at the front of their store. And mind you, this is the absolute easiest online market place feature you can possibly program: don't show me what I already own and thus am literally incapable of repurchasing.