Fennec/Features/readability: Difference between revisions
Jump to navigation
Jump to search
Team
| Line 29: | Line 29: | ||
== Open Issues == | == Open Issues == | ||
We need to choose a high-level approach. | |||
Whichever approach we choose will probably require iteration and tuning, so we should plan to enable it on mozilla-central at the '''start''' of a development cycle. (This means that if we start development work during the Firefox 6 cycle, we should probably plan on landing or enabling it no sooner than the start of the Firefox 7 cycle.) | |||
{| border="1" cellspacing="0" | |||
|- | |||
! Approach | |||
! Pros | |||
! Cons | |||
|- | |||
| '''Fennec 4.0 style''' - On double tap, change minimum font size based on width of tapped element ({{Bug|611555}}). | |||
| | |||
* Was possible to implement mostly in the front-end, late in the 4.0 cycle | |||
* Does not affect layout of pages until they are zoomed. | |||
| | |||
* Does not work well with pinch zoom. | |||
* Mangles layout of some pages. | |||
* Does not work well with elements like input fields. | |||
* Requires re-layout after zoom (can be slow). | |||
|- | |||
| '''Android style''' - On zoom, re-wrap text based on the zoom level ({{Bug|578179}}). | |||
| | |||
* Works well with pinch zoom - the user can zoom text to any size and it will still fit on screen. | |||
* Android users expect it and like it. | |||
* Does not affect layout of pages until they are zoomed. | |||
* Does not mangle layout on most pages. | |||
* Works well with elements like input fields. | |||
| | |||
* Requires re-layout after zoom (can be slow). | |||
* Will still mangle layout on a few pages. | |||
|- | |||
| '''iPhone style''' - Set a minimum font size per element based on its text width ({{Bug|627842}}). | |||
| | |||
* Does not require re-layout after zoom. | |||
* With proper tuning, can avoid mangling most layouts. | |||
* Can probably work well with elements like input fields. | |||
| | |||
* Does not work well with pinch zoom. | |||
* Will still mangle layout on a few pages. | |||
* Alters layout on pages even before they are zoomed. | |||
* For Safari, web developers often work layout mangling by adding -webkit-text-size-adjust CSS styles. Will they bother doing similar work for Fennec? | |||
* May not meet Android user expectations. | |||
* Some implementation issues need to be worked out to avoid feedback loops in the layout engine. | |||
|} | |||
== Related Bugs & Dependencies == | == Related Bugs & Dependencies == | ||
Revision as of 13:53, 15 April 2011
| Feature | Status | ETA | Owner |
| Text Readability | Concept | 2011-07-01 | Thomas Arend |
Summary
Optimize zoom, reflow, and font sizes for best text readability.
Team
Release Requirements
Next Steps
Open Issues
We need to choose a high-level approach.
Whichever approach we choose will probably require iteration and tuning, so we should plan to enable it on mozilla-central at the start of a development cycle. (This means that if we start development work during the Firefox 6 cycle, we should probably plan on landing or enabling it no sooner than the start of the Firefox 7 cycle.)
| Approach | Pros | Cons |
|---|---|---|
| Fennec 4.0 style - On double tap, change minimum font size based on width of tapped element (bug 611555). |
|
|
| Android style - On zoom, re-wrap text based on the zoom level (bug 578179). |
|
|
| iPhone style - Set a minimum font size per element based on its text width (bug 627842). |
|
|
Related Bugs & Dependencies
- bug 578179 - Option to wrap text to screen width rather than container width
- bug 611555 - should reflow on zoom [see dependencies for related bugs]
- bug 627842 - Allow minimum font size based on size of frame
Designs
Test Plans
Goals/Use Cases
Non-Goals
Other Documentation
Legend (remove if you like)
| Healthy: feature is progressing as expected. | |
| Blocked: feature is currently blocked. | |
| At Risk: feature is at risk of missing its targeted release. | |
| ETA | Estimated date for completion of the current feature task. Overall ETA for the feature is the product release date. |