Privacy/Reviews/ Fennec integration with global Android search
Contents
Document Overview
Feature/Product: | Fennec integration with global Android search |
Projected Feature Freeze Date: | (tbd) |
Product Champions: | Sriram Ramasubramanian |
Privacy Champions: | (the privacy Friend you're working with) |
Security Contact: | Mark Goodwin |
Document State: | [ON TRACK] ready for privacy champ |
Timeline:
Architectural Overview: | (date TBD) |
Recommendation Meeting: | (date TBD) |
Review Complete ETA: | tbd |
Architecture
The main objective of this feature/product is: To integrate the Fennec's AwesomeBar results with the Android's search. When a search is made in Android's Quick Search Box widget (or Google Search app), it has the potential to give the results from the apps installed. Fennec could expose the bookmarks and history to this search, there by creating another end point for the user to use Fennec.
Design Documents:
- The architecture of QSB: http://developer.android.com/guide/topics/search/index.html
- Permission in ContentProviders in Android: http://developer.android.com/guide/topics/providers/content-provider-creating.html#Permissions
- Android's GLOBAL_SEARCH permission: http://developer.android.com/reference/android/Manifest.permission.html#GLOBAL_SEARCH
Components
The major components are Fennec's "BrowserProvider" and Android's Quick Search Box.
Quick Search Box
The Quick Search Box (QSB) is the universal search box in Android. This is similar to the Spotlight search in Mac OS. Similar to indexing in Spotlight, QSB allows apps to expose their search results to the user. This has to be manually enabled by the user in the QSB's settings. Once enabled, Android requests the app for results based on the keyword, and displays them in a standard format. If the user selects the option, the app is opened -- which may in turn show more details about the search result.
Communication with Fennec
Direction | Message | Data | Notes |
---|---|---|---|
Out: | Keyword | A search keyword string | The usual URL is: content://org.mozilla.firefox.db.browser/search_suggest_query/q=keyword. The request comes with a read path permission for Global search. |
In: | A cursor for the results | A table of results based on the keyword, with the columns formatted as per Android's guidelines. |
Fennec's BrowserProvider
BrowserProvider is Fennec's ContentProvider for bookmarks and history. This adapts the Gecko's table to be used by native UI and Sync. By default, the provider has a "signature" level permission restriction. The QSB has a "read-permission" only for its path, which other applications cannot use.
User Data Risk Minimization
In this section, the privacy champion will identify areas of user data risk and recommendations for minimizing the risk.
Alignment with Privacy Operating Principles
In this section, the privacy champion will identify how the feature lines up with Mozilla's privacy operating principles.
See Also: Privacy/Roadmap_2011#Operating_Principles:
Principle: Transparency / No Surprises
(How the feature addresses this)
Recommendations: (what can be improved)
Principle: Real Choice
Recommendations:
Principle: Sensible Defaults
Recommendations:
Principle: Limited Data
Recommendations:
Follow-up Tasks and tracking
What | Who | Bug | Details |
---|---|---|---|
[NEW] Initial Overview Discussion | ? | Meeting time TBD |