The Ubuntu dash and scopes architecture
One of Unity‘s main features is the Dash. The Dash allows the user to quickly search for information both locally (installed applications, recent files, bookmarks, etc) and remotely (Twitter, Google Drive, etc).
The Dash achieves this by having one or more Scopes that are responsible for providing one category of search results for the Dash. The user may search the Scope either through the Dash home scope (called global search) or through the Scope’s own page or category filter.
The Unity Scopes API is provided by the Unity library, and the Scopes world is divided in two main components: scopes and master scopes, which communicate with Unity and directly between themselves.
- The search engine itself, talking to a web service or a local database. It can be exposed to the user in two ways in the Dash: as a standalone scope or as part of a master scope.
- Master scope
- The architecture used to merge multiple scopes in the same Dash view.
Write scopes with the server in mind
For performance and security reasons, most scopes should be written to be run remotely in the Smart Scopes Server. Do not use personal data unless the scope is to be run locally, which is the only legitimate use for these types of scopes.
Get started with the Ubuntu SDK
Follow these easy steps to install the Ubuntu SDK:
- Open a terminal by pressing the Ctrl+Alt+T key combination
- Enter the following command, pressing Enter at the end of the line and following the prompts
For Ubuntu 12.04 LTS, Ubuntu 12.10 and Ubuntu 13.04 users:
sudo add-apt-repository ppa:ubuntu-sdk-team/ppa && sudo apt-get update && sudo apt-get install ubuntu-sdk
Alternatively, for those using a development release:
sudo apt-get install ubuntu-sdk
Congrats! Now you’re all set to start writing a scope.
Design something beautiful
To enable you to design and build beatiful and usable apps for Ubuntu on the phone, we’ve also prepared a set of clear guides with everything you need to know about UX and visual design best practices.
The App Design Guides are a resource that keeps growing with new guides to make your apps stand out, so stay tuned for new content!
Got a question? Ask!
If you’ve got any question about Ubuntu on mobile devices or developing apps for the phone, our experts are here to help. Ask Ubuntu is a free, community-driven Q&A site for Ubuntu users and developers.