Smart Scopes

Registered by Stuart Langridge

Ubuntu will include many new scopes, with many more in the future as part of the "100 Scopes" project. The Dash will get and contribute information from a central server on which scopes are best able to answer Dash queries, in order to make the Dash home scope maximally useful through community-contributed scopes and usage data. As before, the Dash can be restricted from including any online content or contribution in the Privacy system settings.

Blueprint information

Not started
Stuart Langridge
Needs approval
Michal Hruby
Series goal:
Milestone target:

Related branches




Work Items

Work items:
[mhr3] Remove lens class from public API: DONE
[stolowski] Support new file layout of .scope files: DONE
[mhr3] Add support for metadata defined by the scopes: DONE
[mhr3] Introduce session concept for queries: DONE
[mhr3] Enable scope to scope communication: DONE
[mhr3] API definition of master scopes and implementation including de-duplication and ordering by relevance: DONE
[mhr3] Adapt and fix the debug libunity-tool: DONE
[mhr3] Architect and implement preview of search results and activation: DONE
[mhr3] Consolidate the API to enable running scopes on the server: DONE
[mhr3] Documentation of public scope APIs: TODO
[mhr3] Full unit test coverage of public APIs: INPROGRESS
[nick-dedekind] Adjust dbus wire-proto implementation in UnityCore to support new scopes architecture and APIs: DONE
[nick-dedekind] Adjust dash view to display new result model: DONE
[nick-dedekind] Adjust filters implementation (no longer a global model per lens): DONE
[stolowski] Home scope: implement daemon that mimics current Unity behaviour: DONE
[stolowski] Home scope: query master scopes: DONE
[stolowski] Home scope: create result model that ranks results according to personal/semi/public flag: DONE
[mhr3] Port default scopes (apps, files, music, video shopping) to new API: DONE
[mhr3] Involve upstream to port other scopes (esp. social and photos): DONE
[stolowski] Extend unit testing, autopilot testing for default scopes: INPROGRESS
[stolowski] Home scope: start session with smart scopes service and send queries: DONE
[stolowski] Home scope: compile list of installed scopes to be sent to smart service: DONE
[stolowski] Home scope: implement direct search: DONE
[mhr3] Home scope: add support for starting and quitting scopes on demand: DONE
[nick-dedekind] Home scope+Dash: Implement advanced filter behavior as proposed by design: DONE
[stolowski] More tests for smart scope: INPROGRESS
[stolowski] Use the ranking information returned by the service to affect the overall ranking in the home lens.: DONE
[stolowski] Send metrics to smart scope service: DONE
[stolowski] Home scope: add support for remote scopes: DONE
[stolowski] Trigger searches in (any of 100) scopes indicated as relevant by smart scope service: DONE
[stolowski] Finish Smart Scopes Server results parsing. Push them to master scopes for sorting & de-dup: DONE
[stolowski] Enable/disable scopes via dash preview: DONE
[mhr3] Create instances of master scopes for all Home Scope categories: DONE

Dependency tree

* Blueprints in grey have been implemented.