Gaia/Browser: Difference between revisions

no edit summary
(Created page with "The Gaia Browser app is a web browser implemented as a web app. This app will depend largely on the Browser API, which is tracked by {{bug|693515}}. == Current Features == * Ca...")
 
No edit summary
Line 1: Line 1:
The Gaia Browser app is a web browser implemented as a web app.
The Gaia Browser app is a web browser implemented as a web app, for the front end of [[B2G]]


This app will depend largely on the Browser API, which is tracked by {{bug|693515}}.
== Status ==
* Feature Name: Gaia Browser App
* Stage: Development
* Release Target: [https://wiki.mozilla.org/B2G/Roadmap#Milestone_2:_Product_Demo_Q1_2012 B2G Demo Phone], Q1 2012


== Current Features ==
== Team ==
* Can navigate to a user-entered URL
* Front End Developer: Ben Francis
* Can navigate back (but using re-implementation of History API inside the app)
* DOM API: Justin Lebar
* Loading indicator (throbber) works for user-entered URLs
* UX: Josh Carpenter & Trond Werner Hansen
* Product Manager: Chris Lee
* Tech Lead: Chris Jones
* Reviewers: Olli Pettay (back end), Vivien Nicolas (front end)


Note that B2G currently ignores X-Frame-Options headers for the whole of Gaia so that popular sites like Google can be rendered inside iframes. This is a hack.
== Issues & Risks ==
 
* [https://github.com/andreasgal/gaia/issues/25 Browser content doesn't scroll with touch events]
== Next Steps ==
* Need a better solution for ignoring X-Frame-Options headers for <iframe mozbrowser> elements (B2G currently just has a pref which disables them for whitelisted domains)
 
* Continuing to work on Browser API ({{bug|693515}})
* [https://github.com/andreasgal/gaia/issues/288 Browser Title & URL Update on Navigate] (depends on {{bug|710231}})
* [https://github.com/andreasgal/gaia/issues/181 Stop Button] (depends on {{bug|709759}})
* Find a way to use the iframe's window.history instead of having to re-implement the history API inside the app. (some discussion in {{bug|708179}})
* Find a way to use the iframe's window.history instead of having to re-implement the history API inside the app. (some discussion in {{bug|708179}})
* Window.top should stop at the iFrame to prevent parent navigation & frame busting ({{bug|704037}})
* Re-design UI to be more consistent with Fennec Android Native UI ([[Fennec/NativeUI/UserExperience]])
** Make [https://github.com/andreasgal/gaia/issues/61 navigating to a URL] and [https://github.com/andreasgal/gaia/issues/62 navigating back & forward] work more like Fennec Native UI.
** Add the ability to [https://github.com/andreasgal/gaia/issues/66 create], [https://github.com/andreasgal/gaia/issues/67 switch] and [https://github.com/andreasgal/gaia/issues/287 close] tabs.


== Open Questions ==
== Definition ==
* Should the Browser app rely on a hardware back button? If not, where should the back button go?
=== User Stories ===
* Should the Browser app rely on a hardware menu button?
* [https://github.com/andreasgal/gaia/issues/61 Navigate to URL]
* Where should the menu go?
* [https://github.com/andreasgal/gaia/issues/62 Back & Forward]
* Should the Browser app have an "awesomescreen" like Fennec including bookmarks, or could that be part of the homescreen? See [https://wiki.mozilla.org/B2G/UI#Ben.27s_Gaia_Concept here] for a design concept which features an "awesomescreen" as part of the homescreen app.
* [https://github.com/andreasgal/gaia/issues/181 Stop]
* Should the Browser app use the same visual theme as either the Gingerbread or Ice Cream Sandwich native versions of Fennec? Are re-usable assets available?
* [https://github.com/andreasgal/gaia/issues/63 Reload]
* [https://github.com/andreasgal/gaia/issues/288 Browser Title & URL Update on Navigate]
* [https://github.com/andreasgal/gaia/issues/66 New Tab]
* [https://github.com/andreasgal/gaia/issues/67 Switch Tab]
* [https://github.com/andreasgal/gaia/issues/287 Close Tab]


=== Dependencies ===
Largely dependent on a new Browser API {{bug|693515}}


* mozbrowser{loadstart,loadend,locationchange} events for <iframe mozbrowser> {{bug|710231}}
* titlechange event {{bug|719459}}
* iconchange event {{bug|719461}}
* stop method {{bug|709759}}
* Window.top should stop at the iFrame to prevent parent navigation & frame busting ({{bug|704037}})


== Design ==
The current intention is to mimic [https://wiki.mozilla.org/Fennec/NativeUI/UserExperience Fennec Native UI] as closely as possible, but further UX input will address:
* Where the back button goes
* Where the menu button goes
* Any Gaia-specific theming
* Whether to implement bookmarks at the browser level or at the homescreen level
* Whether to move tab management to the homescreen level
* Whether there should be an "awesomescreen" at the browser level or the homescreen level [https://wiki.mozilla.org/B2G/UI#Ben.27s_Gaia_Concept here]


A mockup of a fennec-like address bar for Gaia's browser app.
Mockup of a simple Fennec-like address bar:


[[Image:fennec-like_address_bar.png]]
[[Image:fennec-like_address_bar.png]]
== Development ==
[https://github.com/andreasgal/gaia/tree/master/apps/browser Source code on Github]
Confirmed users
394

edits