-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Matthew McGowan wrote on 13/06/11 23:22: > > My only concern is recommendations quality. > > In all the mock-ups recommendations are prominent. Are we able to > provide quality recommendations at this point? The zeitgeist based > recommendations we have at the moment seem lacklustre IMHO.
The current recommendations seem to be based on filetypes, which was an interesting idea, but I doubt it could ever produce good results. <http://launchpad.net/bugs/745662> > I know > there was some exciting conversation at UDS about tapping RnR and > contacts to make suggestions but when would this likely be ready? >... I guess in some cases basing it on contacts would produce results better than basing it on Ubuntu users in general. For example, if you had a lot of classmates or colleagues as contacts ("oh, everyone else here is playing Hedgewars and chatting on Mumble, maybe I should too"). To start with, though, let's design recommendations assuming that we can use ratings but not contacts yet. We can always juice them up with contacts later. On Friday I identified six problems to solve for each of these new features: generation, storage, serving, displaying, caching, and fallback. So, here's a straw-man sketch of what those might look like for recommendations. Please, everyone pick holes in it. :-) Generation By default, the "Recommended for you" box contains only a "Turn On Recommendations" button, and an explanation that turning them on will submit data about what software you have installed. When you turn it on, USC securely submits to the server a list of all the packages you have installed, together with a UUID and (if you're signed in) your SSO ID to link with your ratings. So you don't need to sign in to an SSO account to get recommendations, you just need to click one button. Whenever you submit the data (which is whenever you install, remove, or rate anything subsequently), the server uses a recommender algorithm <http://en.wikipedia.org/wiki/Recommendation_system#Algorithms> to identify the ~50 packages you don't have installed that you're most likely to rate as excellent. <http://cacm.acm.org/blogs/blog-cacm/22925-what-is-a-good-recommendation-algorithm/fulltext> Storage The server stores the list of each participant's installed packages, and a cache of the recommendations generated for them. Serving When sent a request containing the UUID, the server returns a space-separated ordered list of packages representing the recommendations for that UUID. Displaying USC asks the server for updated recommendations whenever the feature is turned on and, since it last requested them: - you've installed or removed anything - you've rated anything - at least a week has passed (in case anything hot has been released since then) - the cache is missing or unparseable. The top ~6 recommendations are shown in a box on the home screen, with an "All" link to a separate screen to show them all. Caching USC caches the list of recommendations. Fallback If USC can't contact the server, it displays the cached recommendations. If no cache is available, it either tells you to connect to the Internet or to try again later, depending. What have I got slightly wrong? What have I got completely wrong? What have I missed? What have I included that's unnecessary? One thing I am really fuzzy on is what should happen if you use multiple computers for different purposes. They'll have different UUIDs, but you'll be signed in to the same SSO account. Cheers - -- mpt -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk33McsACgkQ6PUxNfU6ecoM9wCdFOwSRU+bnDk6wo9QT51nFhhg ocEAoNJfypfiquED4NLF2B/ZsBlUt+eg =qY98 -----END PGP SIGNATURE----- _______________________________________________ Mailing list: https://launchpad.net/~software-store-developers Post to : [email protected] Unsubscribe : https://launchpad.net/~software-store-developers More help : https://help.launchpad.net/ListHelp

