ArmLightweightBrowser

Differences between revisions 1 and 6 (spanning 5 versions)
Revision 1 as of 2009-11-02 19:24:49
Size: 2638
Editor: 75-27-138-126
Comment:
Revision 6 as of 2009-11-30 21:08:50
Size: 4580
Editor: pool-71-255-19-134
Comment:
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
 * '''Launchpad Entry''': UbuntuSpec:mobile-arm-lucid-lightweightbrowser  * '''Launchpad Entry''': UbuntuSpec:mobile-lucid-arm-lightweightbrowser
Line 5: Line 5:
 * '''Contributors''':
 * '''Packages affected''':
 * '''Contributors''': Paul Larson, David Sugar
 * '''Packages affected''': ubuntu-netbook-remix
Line 10: Line 10:
Mozilla is a fairly heavy web browser and suffers from less than optimal performance on ARM due to issues such as cache size. Lighter-weight web browsers should be investigated, and a more appropriate one should be picked as a default for ARM based releases. Mozilla Firefox is a fairly heavy web browser and suffers from less than optimal performance on ARM due to issues such as cache size. Lighter-weight web browsers should be investigated, and a more appropriate one should be picked as a default for ARM based releases.  Standard-compliance is essential, along with support for modern browser user experiences such as tabbed browsing, form fill-in, extensions, media playback, Java support, etc. For these reasons, a consensus emerged at UDS in favor of Chromium.
Line 14: Line 14:
This section should include a paragraph describing the end-user impact of this change. It is meant to be included in the release notes of the first release in which it is implemented. (Not all of these will actually be included in the release notes, at the release manager's discretion; but writing them is a useful exercise.)

It is mandatory.
To improve the user experience, the Ubuntu Netbook Edition for ARM now offers Google Chromium as the default desktop browser.
Line 20: Line 18:
This should cover the _why_: why is this change being proposed, what justifies it, where we see this justified. There are performance issues using Firefox on arm hardware. This blueprint was originally a question as well as a goal to try and find a lighter wight browser, perhaps based on webkit.
Line 24: Line 22:
Browsing is an essential user experience. This blueprint addresses issues which detract from that experience on small cache arm processors when using Firefox.
Line 25: Line 25:

That we can find an alternative that will still satisfy user needs including access to media (plugins), Java, flash (as it becomes available for Arm), as well as being sufficiently standards-compliant and meeting user expectations of a modern web browser.

That the Firefox user experience is too poor on ARM and cannot be easily fixed.
Line 28: Line 32:
You can have subsections that better describe specific parts of the issue. We will package Chromium for main and add it to the UNE seed.
Line 32: Line 36:
This section should describe a plan of action (the "how") to implement the changes discussed. Could include subsections like: We need to package Chromium in main and built it successfully for armv7 for Lucid. The UNE seed needs to be modified to insert Chromium in place of Firefox, and the default account skeleton needs to be changed to select chromium as the user's "default" browser in GNOME.
Line 36: Line 40:
Should cover changes required to the UI, or specific UI that is required to implement this Not applicable.
Line 40: Line 44:
Code changes should include an overview of what needs to change, and in some cases even the specific details. There may be a patch needed for armv7.

=== Effort ===

This may require up to several weeks to build, test, then commit changes to make this happen.
Line 44: Line 52:
Include:
 * data migration, if any
 * redirects from old URLs to new ones, if any
 * how users will be pointed to the new way of doing things, if necessary.
The user can export bookmarks from Firefox to migrate to Chromium. Stored account passwords and other aspects cannot be migrated easy, however.
Line 51: Line 56:
It's important that we are able to test new features, and demonstrate them to users. Use this section to describe a short plan that anybody can follow that demonstrates the feature is working. This can then be used during testing, and to show off after release. Please add an entry to http://testcases.qa.ubuntu.com/Coverage/NewFeatures for tracking test coverage.

This need not be added or completed until the specification is nearing beta.
We need to test Chromium on Arm side by side with Firefox to see how well this solves the performance issues we are addressing before committing to change the seed.
Line 57: Line 60:
This should highlight any issues that should be addressed in further specifications, and not problems with the specification itself; since any specification with problems cannot be approved. There is no UbuntuOne bookmark integration for Chromium at this time.
Line 61: Line 64:
Use this section to take notes during the BoF; if you keep it in the approved spec, use it for summarising what was discussed and note any options that were rejected. '''From UDS:'''

Why does firefox perform poorly on ARM and what should we do about it?

 * small cache on arm processors
 * memory usage
 * availability of plugins
 * usability (some plugins do not match certain environments such as touchscreens)

Can firefox be optimized for Ubuntu and/or ARM enough to compensate for performance issues?

 * Firefox replacements must support (in order of priority):
  * quick on ARM
  * UNR/touchscreen/small screen/scrolling
  * Good/Fast support for JavaScript
  * support for Flash
  * good extension support (unless it causes more problems)
  * Java

'''Considerations'''
 * memory usage and performance, what happens when opening lots of instances, lots of tabs, etc
 * Responsive upstream

'''Issues'''
 * which webkit, google vs ubuntu libwebkit?
 
'''Review'''
 * midori frustrating to use at times
 * epiphany limited but works, functional
   * uses webkit
   * "works" but limited by comparison to firefox
 * Konquerer - khtml, huge kde dependencies
 * Chromium
   * different user experience from firefox
   * is fast & gtk based
   * uses considerably less memory
   * Theming issues
   
'''Notes'''
 * can we improve/optimize firefox/xulrunner? Is there significant improvement gains even possible?
  * opinion not significant opportunity

'''ACTIONS'''
 * Determine the status of Java applets [and JIT?] on ARM Cortex-A8
 * Chromium on Arm performance
 * Chromium build issues on armv7
 * Mobile team to initially package Chromium
 * investigate with desktop team and security team who will own it, and how to handle updates
 * upload to archive (Michael Casadevall)
 * investigate test suite on arm
 * benchmarking over multiple browsers over all supported platforms

Summary

Mozilla Firefox is a fairly heavy web browser and suffers from less than optimal performance on ARM due to issues such as cache size. Lighter-weight web browsers should be investigated, and a more appropriate one should be picked as a default for ARM based releases. Standard-compliance is essential, along with support for modern browser user experiences such as tabbed browsing, form fill-in, extensions, media playback, Java support, etc. For these reasons, a consensus emerged at UDS in favor of Chromium.

Release Note

To improve the user experience, the Ubuntu Netbook Edition for ARM now offers Google Chromium as the default desktop browser.

Rationale

There are performance issues using Firefox on arm hardware. This blueprint was originally a question as well as a goal to try and find a lighter wight browser, perhaps based on webkit.

User stories

Browsing is an essential user experience. This blueprint addresses issues which detract from that experience on small cache arm processors when using Firefox.

Assumptions

That we can find an alternative that will still satisfy user needs including access to media (plugins), Java, flash (as it becomes available for Arm), as well as being sufficiently standards-compliant and meeting user expectations of a modern web browser.

That the Firefox user experience is too poor on ARM and cannot be easily fixed.

Design

We will package Chromium for main and add it to the UNE seed.

Implementation

We need to package Chromium in main and built it successfully for armv7 for Lucid. The UNE seed needs to be modified to insert Chromium in place of Firefox, and the default account skeleton needs to be changed to select chromium as the user's "default" browser in GNOME.

UI Changes

Not applicable.

Code Changes

There may be a patch needed for armv7.

Effort

This may require up to several weeks to build, test, then commit changes to make this happen.

Migration

The user can export bookmarks from Firefox to migrate to Chromium. Stored account passwords and other aspects cannot be migrated easy, however.

Test/Demo Plan

We need to test Chromium on Arm side by side with Firefox to see how well this solves the performance issues we are addressing before committing to change the seed.

Unresolved issues

There is no UbuntuOne bookmark integration for Chromium at this time.

BoF agenda and discussion

From UDS:

Why does firefox perform poorly on ARM and what should we do about it?

  • small cache on arm processors
  • memory usage
  • availability of plugins
  • usability (some plugins do not match certain environments such as touchscreens)

Can firefox be optimized for Ubuntu and/or ARM enough to compensate for performance issues?

  • Firefox replacements must support (in order of priority):
    • quick on ARM
    • UNR/touchscreen/small screen/scrolling
    • Good/Fast support for JavaScript

    • support for Flash
    • good extension support (unless it causes more problems)
    • Java

Considerations

  • memory usage and performance, what happens when opening lots of instances, lots of tabs, etc
  • Responsive upstream

Issues

  • which webkit, google vs ubuntu libwebkit?

Review

  • midori frustrating to use at times
  • epiphany limited but works, functional
    • uses webkit
    • "works" but limited by comparison to firefox
  • Konquerer - khtml, huge kde dependencies
  • Chromium
    • different user experience from firefox
    • is fast & gtk based

    • uses considerably less memory
    • Theming issues

Notes

  • can we improve/optimize firefox/xulrunner? Is there significant improvement gains even possible?
    • opinion not significant opportunity

ACTIONS

  • Determine the status of Java applets [and JIT?] on ARM Cortex-A8
  • Chromium on Arm performance
  • Chromium build issues on armv7
  • Mobile team to initially package Chromium
  • investigate with desktop team and security team who will own it, and how to handle updates
  • upload to archive (Michael Casadevall)
  • investigate test suite on arm
  • benchmarking over multiple browsers over all supported platforms


CategorySpec

Specs/ArmLightweightBrowser (last edited 2010-01-29 10:23:45 by g224090217)