Return-Path: X-Original-To: apmail-incubator-flex-dev-archive@minotaur.apache.org Delivered-To: apmail-incubator-flex-dev-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id C16BA9C13 for ; Sun, 26 Feb 2012 22:00:21 +0000 (UTC) Received: (qmail 94079 invoked by uid 500); 26 Feb 2012 22:00:21 -0000 Delivered-To: apmail-incubator-flex-dev-archive@incubator.apache.org Received: (qmail 94051 invoked by uid 500); 26 Feb 2012 22:00:21 -0000 Mailing-List: contact flex-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: flex-dev@incubator.apache.org Delivered-To: mailing list flex-dev@incubator.apache.org Received: (qmail 94043 invoked by uid 99); 26 Feb 2012 22:00:21 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 26 Feb 2012 22:00:21 +0000 X-ASF-Spam-Status: No, hits=-0.7 required=5.0 tests=RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: local policy) Received: from [80.237.132.80] (HELO wp073.webpack.hosteurope.de) (80.237.132.80) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 26 Feb 2012 22:00:11 +0000 Received: from p93782c.osaknt01.ap.so-net.ne.jp ([59.147.120.44] helo=[192.168.1.21]); authenticated by wp073.webpack.hosteurope.de running ExIM with esmtpsa (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) id 1S1m8E-0002ii-N6; Sun, 26 Feb 2012 22:59:51 +0100 Message-ID: <4F4AAB43.8080100@leichtgewicht.at> Date: Mon, 27 Feb 2012 06:59:31 +0900 From: Martin Heidegger User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:10.0.2) Gecko/20120216 Thunderbird/10.0.2 MIME-Version: 1.0 To: flex-dev@incubator.apache.org Subject: Re: [IDEAS] Flex: New user interface design References: <4F45B8B4.7030001@leichtgewicht.at> <4F45FB9D.4090406@fusecollective.com> <4F491851.2070906@leichtgewicht.at> <7C08FA4E-0C6A-4ECA-A689-7486E8DB81E3@lndgrn.se> In-Reply-To: <7C08FA4E-0C6A-4ECA-A689-7486E8DB81E3@lndgrn.se> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 8bit X-bounce-key: webpack.hosteurope.de;mh@leichtgewicht.at;1330293611;1b303d2b; X-Virus-Checked: Checked by ClamAV on apache.org Hello Erik, real world units are no problem in css/javascript allowing "cm". In Flex the problem is that the Flash Player does not offer proper DPI (as you mentioned). That means we need "workarounds" it can be implemented within the Web using ExternalInterface - a JavaScript bridge. It can be implemented in AIR using NativeExtensions. There is just no standard solution for that available in Flex..... yours Martin. On 27/02/2012 06:43, Erik Lundgren wrote: > 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 >