Fennec/NativeUI: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(Created page with "'''Known Issue'''")
 
No edit summary
Line 1: Line 1:
'''Known Issue'''
==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==
[http://dougt.org/wordpress/2011/09/fennec-and-native-android-uis/]
 
 
==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

Revision as of 22:07, 10 October 2011

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