125
edits
(Add Product Roadmap) |
(Adjust headings to improve legibility) |
||
Line 19: | Line 19: | ||
|} | |} | ||
== Product Roadmap == | |||
* [https://trello.com/b/ojJPAvsU/universal-search Product Roadmap] | * [https://trello.com/b/ojJPAvsU/universal-search Product Roadmap] | ||
* [https://www.dropbox.com/sh/ud8lgj1kzfaytjf/AADmjISItw3rUfjnNVvkEpwua?dl=0 UX Mockups] | * [https://www.dropbox.com/sh/ud8lgj1kzfaytjf/AADmjISItw3rUfjnNVvkEpwua?dl=0 UX Mockups] | ||
== Developer Overview == | |||
The Universal Search project modifies the contents of the dropdown panel that is shown when you type in the urlbar. | The Universal Search project modifies the contents of the dropdown panel that is shown when you type in the urlbar. | ||
Line 36: | Line 36: | ||
We switched from HTML to XUL mid-Q1 in response to changes in product's short-term (Q1 2016) roadmap. Rather than experiment with the layout and appearance of the UI, we are now simply inserting a single recommendation above the results list, in order to see if users like recommendations at all. When we get a longer-term roadmap, the iframe-based prototype might turn out to be the better choice for some or all future experiments. | We switched from HTML to XUL mid-Q1 in response to changes in product's short-term (Q1 2016) roadmap. Rather than experiment with the layout and appearance of the UI, we are now simply inserting a single recommendation above the results list, in order to see if users like recommendations at all. When we get a longer-term roadmap, the iframe-based prototype might turn out to be the better choice for some or all future experiments. | ||
=== Github repositories === | |||
Current add-on: | Current add-on: | ||
Line 48: | Line 48: | ||
* The older add-on does work, and can be downloaded from https://people.mozilla.org/~jhirsch/universal-search-addon. | * The older add-on does work, and can be downloaded from https://people.mozilla.org/~jhirsch/universal-search-addon. | ||
=== XBL === | |||
XBL is the language used to modify the popup contents. XBL is a relic from the era of profound XML optimism, so code is written as XML data; and the documentation describes versions of the language that were never implemented, but no docs exist that describe how it actually works in Firefox. XBL shares the global window with JS, but has its own set of DOM bindings; you'll have to override XBL event handlers to hook into existing event-driven behavior, like key or mouse events, but you'll have fewer surprises if you actually handle the event in JS. | XBL is the language used to modify the popup contents. XBL is a relic from the era of profound XML optimism, so code is written as XML data; and the documentation describes versions of the language that were never implemented, but no docs exist that describe how it actually works in Firefox. XBL shares the global window with JS, but has its own set of DOM bindings; you'll have to override XBL event handlers to hook into existing event-driven behavior, like key or mouse events, but you'll have fewer surprises if you actually handle the event in JS. | ||
Line 55: | Line 55: | ||
* The [https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XBL/XBL_1.0_Reference/Binding_Attachment_and_Detachment XBL binding docs] and [https://developer.mozilla.org/en-US/docs/Web/CSS/-moz-binding moz-binding MDN page] are particularly important reading. | * The [https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XBL/XBL_1.0_Reference/Binding_Attachment_and_Detachment XBL binding docs] and [https://developer.mozilla.org/en-US/docs/Web/CSS/-moz-binding moz-binding MDN page] are particularly important reading. | ||
=== Existing Gecko Code === | |||
To understand how our prototype works, take a look at the code it modifies: | To understand how our prototype works, take a look at the code it modifies: |
edits