incubator-flex-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Erik Lundgren <e...@lndgrn.se>
Subject Re: [IDEAS] Flex: New user interface design
Date Sun, 26 Feb 2012 21:43:55 GMT
Dear list,

I would like to spend some time thinking about the "high level" concepts in flex – the present
and the not yet present.

As I scribble in my notebooks my first halt seems to be the methodology used for UI-measurement,
and I need some community input:


Should Flex measure layouts in "real world units" or "device units"?


USE CASE PROBLEM

UI layouts * should be tuned to the human motoric and sensory systems. This can be achieved
through the use of "real world units" (myTouchButton always renders as 0.5 cm x 0.5 cm). If
UI elements are laid out using "device units" (eg pixels) different screen densities distorts
the layout experience as layouts are reused across screens (or print).

* Layout = element size and position (and layering?).


PREFERRED SOLUTION

Compose layouts using some "real world unit" (I would promote points). Have Flex read the
pixel density of the runtime screen and transpose the layout to "device units" (eg Pixels).


PROBLEMS IMPLEMENTING THE SOLUTION

The unit-translation-concept is present in flex today through the applicationDPI property
on Application, but its implementation is not exact and based on the precondition that the
FLEX can read correct screen ppi values from its runtime. Sadly, this is not always the case.

Present runtime: The flash class Capabilities seems to be reading the operating systems abstractions
of "real world units". On my computer (mac) flash reads the screen ppi value as 72 px/inch.
In reality my screens density is 113 px/inch. This problem seems to be present on windows
and mobile operating systems as well.

Possible future runtimes: On the HTML/CSS stack new "resolution" media queries seems to be
implemented. On the "native" stacks implementations seems to be able to read the correct screen
ppi values, though the web is full of issues with broken values returned by drivers etc.


If there is no way to implement the unit-translationsolution described above, Flex should
implement some other concept for laying out UI elements. 

I've done research but some community input would be great: Can we find reliable bridges between
flex and the ppi values of the screen that renders it? Thoughts?

All the best
/Erik
Mime
View raw message