Fennec/NativeUI

From MozillaWiki
< Fennec
Revision as of 22:07, 10 October 2011 by Dougt (talk | contribs)
Jump to navigation Jump to search

Features

Awesome Bar – Go to your favorite sites in just a couple of keystrokes with intelligent and personalized searching Firefox Sync – Sync your Firefox tabs, history, bookmarks and passwords between your desktop and mobile device for a seamless browsing experience Tabbed browsing – View open tabs as thumbnails to easily identify and select the Web page you’d like to go to next

Fast - Instantly startup (<300ms) Small - Low memory usage (consistenty with other browsers) Engery - Doesn't eat your battery


Background

[1]


Known Issue

Near Term

tabs (dougt) reload (gcp) progress handling session history (thebnich) Dialogs door hangers (gcp) preferences (alexp) addons bookmarking Panning perf (clord) zooming perf (clord) IME (For example, focus in a text area, then try move focus outside the text area.) Use AsyncTask. https://github.com/snorp/mozilla-central/blob/faster/embedding/android/GeckoApp.java#L304 Move AwesomeBar functionality in GeckoApp to avoid that kill brian was seeing (see http://stackoverflow.com/questions/3596446/threads-interrupted-when-new-activity-is-started-android) Don't initialize this early. https://github.com/snorp/mozilla-central/blob/faster/embedding/android/GeckoApp.java#L383. So far, the only usage is here: https://github.com/snorp/mozilla-central/blob/faster/embedding/android/GeckoAppShell.java#L1717 -- which is after a page has loaded. I would recommend the initialization happen right there, when the mDb is null. Or probably at the end of onCreate in GeckApp.java

https://github.com/snorp/mozilla-central/blob/faster/embedding/android/AwesomeBar.java#L178 -- This can be moved to an AsyncTask. A database access can happen in the background and the results can be pushed to the UI. In that way, the responsiveness of AwesomeBar will be faster and better.

Setting the FilterQueryProvider automatically processes the SQL in a background thread (see http://developer.android.com/reference/android/widget/CursorAdapter.html#runQueryOnBackgroundThread%28java.lang.CharSequence%29). I verified this by adding a Thread.sleep() call in the filter - the UI remains responsive.

Mid Term

Sync support (thebnich) ** see https://github.com/rnewman/clj-weave to start page info sharing Ability to pan around last screen shot. Remove unused cruft from the APK.

Longer term

Download find on page selection removing xul