Privacy/Reviews/ Fennec integration with global Android search

From MozillaWiki
Jump to: navigation, search

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:

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