The best practice is to know the size of the screen your users will use. The reality is that you rarely know that information.
More and more of my clients are wanting an iPad solution in addition to their computers. So I have found that I try to design around a landscape iPad size solution since I can count on it fitting well on most any users' device. Also, FileMaker makes the grid to show you exactly the size of an iPad screen.
You can have multiple layouts and a script trigger on window open that runs and tests your available desktop window size and go to the layout that best fits the user's device. But I find that a pain and it means you have to recreate each layout multiple times.
My recommendation is to go with the iPad landscape size for layouts since it seems to work for the most devices. However, in particular, it won't be the size for an iPhone and count on making custom iPhone layouts if you need them.
1 of 1 people found this helpful
It is also a best practice to do different layouts for desktop vs iOS, simply because of the human interface guidelines differences, and the realities of touch-based input vs mouse-based. If your users are working over a WAN, there are also performance issues to take into consideration with your layouts, especially on iOS or WebDirect. Maybe not as much with the latest generation of A7 processors, but still something to consider.
For desktop, like Taylor said, it would be great to know the monitor sizes (and have them be uniform across the company/solution). However, you usually end up designing for the lowest common denominator, and using anchoring to stretch for those lucky enough to have a larger monitor. Or you could design for the mid- or larger-sized monitors and just say that is your requirement, hoping that the smaller ones get upgraded! Passive-aggressive hardware wish list, anyone?
But, to get back to the point, I usually let my desktop users size windows as they see fit, with the solution starting out at the minimum ideal size before uploading to Server. I do think you will need separate layouts for desktop, iPad and iPhone, if applicable. Check out the starter solutions startup scripts for good examples.
1 of 1 people found this helpful
+1 for flybynight's comments about iOS UI differences. There are a lot of different and fun things to do with touch screen that a regular computer doesn't do well such as swiping, etc. I guess my comments were focused on if you want to make a layout that has the least amount of work and least customization, use an iPad landscape setup. But as flybynight points out, maybe you want to go above and beyond the minimal amount of work to make a truly excellent solution customized to the platform and window sizes and you can do that too!
In server-side scripts and iOS, we can't set the window size by script in any meaningful way, so you may as well skip window sizing in those environments.
On the desktop, all I have to add is that you're better off specifying the window size by the content dimensions rather than the window dimensions. That way, your window sizes will accomodate the same layout contents the same way on different platforms (Mac vs. Windows) with different amounts of window chrome. Since the Move/Resize Window script step only lets you size the window by the exterior dimensions, you'll have to calculate the difference in the current platform so you can compensate:
Let ( [
_target = $height * Get ( WindowZoomLevel ) / 100 ;
_current = Get ( WindowContentHeight ) ;
_difference = _target - _current
Get ( WindowHeight ) + _difference
You can see an example of this in the "Resize Window by Content Dimensions ( height ; width )" script in the iOS Window Preview module.
Thanks to everyone that responded. Some excellent information to consider. Will be trying various methods taking into account everyone’s thoughts.
Thank You so much for your time.