Fennec/Features/readability: Difference between revisions

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  ==
canmove, Confirmed users
1,584

edits