RevMobile: Native controls

J. Landman Gay jacque at
Sat Jul 21 21:24:35 EDT 2012

On 7/21/12 7:49 PM, Andre Garzia wrote:
> On Sat, Jul 21, 2012 at 9:34 PM, Chipp Walters <chipp at> wrote:
>> I typically think either we're designing for Tablets or Phones-- but not
>> for both at the same time. Most devs I've seen tend to develop 2 different
>> apps if they need to support both.
> There is one good case for developing a single application that runs on
> both the iPhone and the iPad. Universal apps rank higher on the search
> results from the iTunes App Store.

Another reason is to have only one copy of the stack to update. I am 
currently designing an app for any mobile device available: iPhone, 
iPad, Android phone, Android tablet, anything.

Monte asked how we manage resolutions and screen sizes. The way I do it 
is to ignore screen density and size and device type; I simply get the 
working screenrect and use pixels. All objects and placement are 
calculated by ratios. If a field needs to be a third of the size of the 
screen, then I multiply the width and height by .3 and that's how many 
pixels it is.

With this method I don't have to know anything about the device at all, 
only the number of pixels available. I don't need to worry that it won't 
fit some new device that comes out next week, and it doesn't matter what 
OS is currently running. It works with Retina displays as well as tiny 
2-inch phone screens. (I turn off the engine's auto-mapping for retina 

I don't use square cards, btw. I use a generically proportioned 
rectangular card to get an idea of where objects should be placed, since 
virtually all existing screens are rectangular. It helps me see how to 
organize and proportion the layout in both portrait and landscape views. 
Once I have a good layout for my generic screen rect, I calculate 
proportions from that and apply them in resize handlers.

Now I'm keen to see what Chipp has done, I'm off to go look.

Jacqueline Landman Gay         |     jacque at
HyperActive Software           |

More information about the Use-livecode mailing list