Closed
Bug 938032
Opened 12 years ago
Closed 12 years ago
Geeksphone Peak (and Peak+?) should set it's dppx to 1.5 instead of 1.6 or 1.6875
Categories
(Firefox OS Graveyard :: Vendcom, defect)
Firefox OS Graveyard
Vendcom
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: timdream, Unassigned)
Details
(Whiteboard: [geeksphone][POVB])
(dppx is short for device pixels per px, related to Gecko pref "layout.css.devPixelsPerPx")
According to @ppk: https://twitter.com/ppk/status/400244668031840256
Peak shipped with B2G 1.0.1 is config with 1.6875, and the nightly images I flashed is config to 1.6.
This comes with many side effects:
* Gaia is not prepared with bitmap assets other than 1 and 1.5 (maybe 2 in the future), and we will never prepare assets other than these sane values, so Gaia apps will be blurry on phones configured with 1.6 or 1.6875 dppx.
* As majority of the devices are configured to 1, 1.5, 2, or other integral numbers (see https://en.wikipedia.org/wiki/List_of_displays_by_pixel_density). 1.6/1.6875 phones will be troublesome for web developers because they would have to output more bitmaps assets just for these phones.
Therefore Geeksphone should stop being the black sheep of the mobile web devices, and naturally falls to 1.5 as Gecko does by default.
Thanks!
Flags: needinfo?(gp)
| Reporter | ||
Updated•12 years ago
|
Whiteboard: [geeksphone][PVOB] → [geeksphone][POVB]
Comment 1•12 years ago
|
||
I've got a Peak currently on 1.1hd production build myself... is there a way to check on the device what's the value of layout.css.devPixelsPerPx pref?
| Reporter | ||
Comment 2•12 years ago
|
||
(In reply to Gabriele Svelto [:gsvelto] from comment #1)
> I've got a Peak currently on 1.1hd production build myself... is there a way
> to check on the device what's the value of layout.css.devPixelsPerPx pref?
Gabriele, sorry about the late reply, the way to do so would be probing the value of |window.devicePixelRatio| on a webpage, maybe with a simple web app.
Comment 3•12 years ago
|
||
I created a quick test page here http://people.mozilla.org/~gsvelto/ppxtest.html
Their latest stable image (which is based on the v1.1.0hd branch) still uses 1.667.
Comment 4•12 years ago
|
||
We use this device pixel ratio, because is the correct ratio for peak (qHD display). 1.5 is the correct ratio for WVGA and is smaller for Peak, to make a correct user experience, we modified the device pixel ratio.
We can change it to "the standard" on all our versions, except stable versions, because we think that users on stable versions need to see the UI on the correct size.
The real bug, is that Gecko must to support the correct device pixel ratio for each resolution. Not only the commercial devices resolution.
Peak is one of the first devices with Firefox OS system and does not have a correct screen adaptation.
Regards.
Flags: needinfo?(gp)
| Reporter | ||
Comment 5•12 years ago
|
||
(In reply to Geeksphone from comment #4)
> We use this device pixel ratio, because is the correct ratio for peak (qHD
> display). 1.5 is the correct ratio for WVGA and is smaller for Peak, to make
> a correct user experience, we modified the device pixel ratio.
>
> We can change it to "the standard" on all our versions, except stable
> versions, because we think that users on stable versions need to see the UI
> on the correct size.
>
By quoting the word "the standard", I assume this is the essential essence of the disagreement.
GP simply disagree setting the phone to 1, 1.5, or any other integral numbers is a de-facto standard of the web platform and what Mozilla had configured Gecko (specifically, Gonk) to do so in [1], without addressing known concerns in comment 0.
What can we do to resolve the disagreement? As long as this bug this bug is unsolved, the second bulletin of comment 0 will continue puzzle web developers.
> The real bug, is that Gecko must to support the correct device pixel ratio
> for each resolution. Not only the commercial devices resolution.
No, Gecko supports all of the values. The same graphics bits is used on full page zoom. Having the support doesn't mean we should ship that.
The problem is Gaia does not supply graphic assets other than 1/1.5 (first bulletin), and I doubt any website on the web would ever support 1.6667dppx. With that the web will never be pixel sharp and prefect on beautiful qHD screen of Peak.
[1] https://mxr.mozilla.org/mozilla-central/source/widget/gonk/nsWindow.cpp#539
Comment 6•12 years ago
|
||
(In reply to Tim Guan-tin Chien [:timdream] (MoCo-TPE) (please ni?) from comment #5)
> By quoting the word "the standard", I assume this is the essential essence
> of the disagreement.
> GP simply disagree setting the phone to 1, 1.5, or any other integral
> numbers is a de-facto standard of the web platform and what Mozilla had
> configured Gecko (specifically, Gonk) to do so in [1], without addressing
> known concerns in comment 0.
No, we disagree on being the black sheep ever. If we use 1.5 and gaia dont shows all the contect correctly on the Geeksphone Peak, we will need to use 1.68, because it shows it correctly. If we change it to 1.5 ask Mozilla to fix it and the answer is Peak is not a release device, what could we do?
>
> What can we do to resolve the disagreement? As long as this bug this bug is
> unsolved, the second bulletin of comment 0 will continue puzzle web
> developers.
Make it work adapted with the screen of Peak on Gaia and we will fully agree with 1.5.
> No, Gecko supports all of the values. The same graphics bits is used on full
> page zoom. Having the support doesn't mean we should ship that.
Yes, this values are suported as we demonstrated increasing it (the reason of this bug). Is not the same saying that support it than can support it.
> The problem is Gaia does not supply graphic assets other than 1/1.5 (first
> bulletin), and I doubt any website on the web would ever support 1.6667dppx.
> With that the web will never be pixel sharp and prefect on beautiful qHD
> screen of Peak.
Just being polite, the user experience should be the same at 1.5 in all HD devices and not only in the devices with WVGA resolution.
Comment 7•12 years ago
|
||
I think the misunderstanding here centers around what's "right" for dppx. Now, from all I can find in specs, what this should be set to seems way underspecified, and that causes the issue here as well, from what I see.
For one thing, dppx is "device pixels per reference (CSS) pixel", which means you have to go back to what a reference pixel in CSS is.
http://dev.w3.org/csswg/css-values/#absolute-lengths defines it like this: "The reference pixel is the visual angle of one pixel on a device with a pixel density of 96dpi and a distance from the reader of an arm's length. For a nominal arm's length of 28 inches, the visual angle is therefore about 0.0213 degrees. For reading at arm's length, 1px thus corresponds to about 0.26 mm (1/96 inch). "
Now, a mobile device will not always be at exactly the same distance from the user's eye (mobile device are also rarely actually held "at arm's length"), so you can see how this comes down to not being an exact science in the end, but more one of choosing a reasonable value within a suitable range. (As an exercise, I end up holding my Peak at roughly 40cm distance from my eyes, so I get to a reference pixel of 0.15mm, with the physical 256dpi of the Peak I get to 1.5 reference pixels per device pixel.)
Now, the main guidance for choosing a "reasonable" value for CSS is also that any website or app wanting to have crisp images needs to provide them in all dppx variants that it can encounter. And that means that it's reasonable to only use a small set of values on devices by convention, so to make the app/website developers' lives easier.
If you look at what values Android and iOS phones give us, there seem to be 1.0, 1.3, 1.5, and 2.0 - and not much else. So as long as it falls within a reasonable range as depicted above it's best to use one of those values when you make the settings for your device.
And that is why we believe that you should set it to 1.5 for the Peak.
Does that make sense?
Comment 8•12 years ago
|
||
(In reply to Robert Kaiser (:kairo@mozilla.com) from comment #7)
> (As an exercise, I end up holding my Peak at roughly 40cm distance
> from my eyes, so I get to a reference pixel of 0.15mm, with the physical
> 256dpi of the Peak I get to 1.5 reference pixels per device pixel.)
Erm, the other way round, device pixels per reference pixel. Man, those things can get confusing. ;-)
Comment 9•12 years ago
|
||
Hey Geeksphone guys, do the above comments make sense to you as an explanation?
Flags: needinfo?(gp)
Comment 10•12 years ago
|
||
As Mozilla requested we are using 1.5 in the nightly images.
Flags: needinfo?(gp)
Comment 11•12 years ago
|
||
(In reply to Geeksphone from comment #10)
> As Mozilla requested we are using 1.5 in the nightly images.
Thanks, sounds like we can close this then. Tim what do you think?
Flags: needinfo?(timdream)
Comment 12•12 years ago
|
||
BTW, given the output on screen size I see in a test site of mine, that 1.5 ratio is what I'm seeing in Nightly (1.4) now, so I can confirm this.
| Reporter | ||
Comment 13•12 years ago
|
||
Thanks everyone. Not sure when will the release builds be updated to 1.5dppx through.
Status: NEW → RESOLVED
Closed: 12 years ago
Flags: needinfo?(timdream)
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•