Application Development – What Are Smart Scopes?

application-developmentscopes

I've heard Ubuntu 13.10 will ship Smart Scopes technology.

What are smart scopes?

Best Answer

Smart scopes is a technology that provides functionality to choose the best set of scopes to present to the user depending on the search term, whether the scope is locally installed or remotely available on Canonical servers.

The "smartness" is achieved by consulting Canonical's Smart Scopes Server with every search query made from the Home view of the Dash.

This technology will be available from Ubuntu 13.10 onwards, and it can be tested already in the Ubuntu "Saucy Salamander" development images, which will eventually become the 13.10 release.

How it all works

The journey starts when the user opens the Dash and types something to search for. The search query will be submitted to both local scopes in the user machine and to remote scopes in the Smart Scopes Server. You can think of scopes as dedicated search engines (e.g. the videos scope will search for videos), whose results can be combined and prioritized before they're presented to the user.

This is where the Smart Scopes Service kicks in: a remote service used by the Home Scope to determine the best matches for Scopes to trigger for a search term. It is also responsible for returning results of any remote scopes for that search term, as well as accepting anonymous metrics generated during that search.

Efficient

In order to provide a richer variety of results, a great number of scopes will be installed on the local machine. Each one of these will be activated only if the Smart Scopes Service deems it necessary, and all scopes will be unloaded after a period of inactivity.

This, combined with the lion share of the work being done on the remote server provides for a very efficient and modularized process, giving the user a fast experience in getting content despite of all the processing happening behind the scenes.

Smart!

The Smart Scopes Server will constantly learn about the results being clicked on the Dash according to the search terms, and adapts the returned results and their ranking based on the metrics it receives. The more the service is used and the more the Ubuntu user base grows, the more accurate the results will be.