Recommendations in Software Center

Registered by Gary Lasker

For the Precise cycle, we want to add the ability in the Ubuntu Software Center to make personalized recommendations to users for applications that they are likely to be interested in.

Feature specification: https://wiki.ubuntu.com/SoftwareCenter/Recommendations

Blueprint information

Status:
Complete
Approver:
Michael Vogt
Priority:
High
Drafter:
Gary Lasker
Direction:
Approved
Assignee:
Gary Lasker
Definition:
Approved
Series goal:
Accepted for precise
Implementation:
Implemented
Milestone target:
milestone icon ubuntu-12.04
Started by
Michael Vogt
Completed by
Gary Lasker

Related branches

Sprints

Whiteboard

== GOAL ==
Leverage the very large number of high quality reviews that have been submitted by Ubuntu users the world over to create a recommendations system for individual users to let them know about other applications that they would most likely love to use, but do not yet know about.

Work items (precise-alpha-1):
Initial planning calls with the server team to discuss the basic design for the feature, including server interactions and the data to be passed: DONE

Work items (precise-alpha-2):
[lukasz-czyzykowski] Make a first cut at a server API for recommendations: DONE
Define data sources we send to the server: DONE
[lukasz-czyzykowski] Stub out the API on the server side so that client work can proceed in tandem with the server work: DONE
[mvo] Add client piston-mini-client based API: DONE
[mpt] Specify opt-in functionality and privacy notice: DONE
[mpt] Specify the recommendations presentation for the home screen ("Recommended For You"): DONE
[mpt] Specify the recommendations presentation for the category screens (e.g. "Recommended For You in Games"): DONE
[mpt] Specify the recommendations presentation for the application screens ("People Also installed") (https://wiki.ubuntu.com/SoftwareCenter/Recommendations): DONE

Work items:
Define metric(s) for measuring recommendation quality: POSTPONED
Implement opt-in and privacy features: DONE
Implement upload of user profile data after opt-in: DONE
Implement display of personalized recommendations in the home screen: DONE
Implement display of personalized recommendations in the categories screens: DONE
Implement display of package-based recommendations in the application screens: DONE
[lukasz-czyzykowski] Select and/or design a recommendations algorithm/engine: DONE
[lukasz-czyzykowski] Implement the recommendations algorithm/engine: DONE

---

From notes for the UDS Software Center Roadmap session at UDS-P:

== Recommendations ==
 * Feature specification: https://wiki.ubuntu.com/SoftwareCenter/Recommendations
 * Helping people find the software that they most-probably will want to use, but that they do not yet know about
 * Discuss more in the server session roadmap.
 * Three places it is likely to appear
  1. Home screen ("Recommended for you")
  1. Category screens (e.g. "Recommended in Games")
  1. Application screens ("People also installed")
 * Potential problems with latency and server load
 * Need to discuss privacy too -- opt-in, all data anonymous

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.