{"id":11542,"date":"2018-09-10T19:01:57","date_gmt":"2018-09-10T19:01:57","guid":{"rendered":"https:\/\/www.directimpactsolutions.com\/?p=11542"},"modified":"2023-05-18T16:53:13","modified_gmt":"2023-05-18T16:53:13","slug":"one-layout-for-both-ipad-and-desktop","status":"publish","type":"post","link":"https:\/\/www.directimpactsolutions.com\/en\/one-layout-for-both-ipad-and-desktop\/","title":{"rendered":"One Layout for both iPad and Desktop"},"content":{"rendered":"<h3 class=\"wp-block-heading\">How to make a single layout in FileMaker that works (and looks good) on both desktop and iPad screens.<\/h3><p>Creating and maintaining two separate sets of application screens in FileMaker \u2014 one for mobile and one for desktop \u2014 has always been a pain in the butt. While there are definitely arguments to be made for creating much simpler functionality and screen design on an iPhone, the same argument is harder to make for an iPad versus desktop interface. Believe it or not, many people these days are opting to use ONLY a tablet with an attached keyboard as their primary work machine. Often, this occurs in the same workplace, where some users are on an iPad, and others are using a desktop computer.<\/p><p>Spending the entire day working on an iPad is a significant change in user behavior, and not simply because they are working with a screen that\u2019s smaller than even the typical laptop. The real reason this is a significant change is that this user will not only be entering data by keyboard,\u00a0<em>but will use their finger as well<\/em>\u00a0to interact with the software. Instead of moving around the UI with a precision mouse and cursor, they\u2019ll be smushing a fleshy digit on our beautiful software. As developers of this beautiful software, we need to\u00a0design our user interface\u00a0to meet users where they are, and not force them to do things that are more difficult in order to make our job easier. It\u2019s essential that we address the different interaction style so that the user will be able to use the software in the way that\u2019s most comfortable for them. But that has typically meant maintaining two separate (and potentially unequal) layouts for every screen \u2014 one with smaller type, smaller buttons, and more information for desktop, and one with larger type, bigger buttons, and more space between fields for iPad.<\/p><figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"394\" src=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2023\/05\/Glacier_Themes_Screenshot-1024x394.png\" alt=\"same layout for iPad and desktop\" class=\"wp-image-11543\" srcset=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2023\/05\/Glacier_Themes_Screenshot-1024x394.png 1024w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2023\/05\/Glacier_Themes_Screenshot-300x116.png 300w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2023\/05\/Glacier_Themes_Screenshot-768x296.png 768w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2023\/05\/Glacier_Themes_Screenshot-600x231.png 600w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2023\/05\/Glacier_Themes_Screenshot.png 1158w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><p>The two screens above are both the exact same layout \u2014 one is at 75% zoom on a desktop (left) and the other one 100% zoom on an iPad (right).<\/p><p>I maintain that it\u2019s possible to use one single layout for both the desktop-and-mouse user and the iPad-and-touch user, using a few simple guidelines. The main trick is to design for iPad using touch-appropriate font and button sizes, and to add a trigger on layouts that simply zooms out to 75% when on the desktop! There are some considerations, however \u2014 specifics are provided below.<\/p><h3 class=\"wp-block-heading\">Start with the right layout size<\/h3><p>Design for the smallest screen size in landscape<strong>*<\/strong>&nbsp;mode, which will usually be in the neighborhood of 1024 x 768 pixels (or points in FileMaker\u2019s inspector tab). On the iPad specifically, when menu and toolbars are displayed, your layout should be around 1024 x 660, although it\u2019s recommended that you disable menu and toolbars for iPad unless your users&nbsp;know what the hell they\u2019re doing&nbsp;are power users. With menu and toolbars off, 1024 x 743 seems to be just about right.<\/p><p>Pixel resolution is actually different than screen size, and it can sometimes be a bit difficult to know what exactly your user will see (depending on retina vs. non-retina, iPad Pro vs. Air vs. Mini, etc), so it\u2019s safest to make sure you look at your layout on the user\u2019s actual device (or an identical model). User screen sizes and devices can also be audited with some basic user logging. Early in the discovery phase, we always add a simple logging feature to the client\u2019s current system, where we then note their devices and screen sizes in the log file.<\/p><p><em>*For the purposes of this article, we\u2019ll focus only on landscape mode, since iPad users in an office setting will almost exclusively be using the iPad with an external keyboard in landscape position.<\/em><\/p><h3 class=\"wp-block-heading\">Add layout triggers that zoom in or out<\/h3><p>Here\u2019s the primary trick that makes this whole shebang work \u2014 add an OnLayoutEnter trigger to your layouts (including\u00a0card windows) and have it zoom out to 75% when the user is on a desktop machine. There are actually two ways to figure out what device your user is on, depending on your circumstances, but the simplest way is to use the Get(Device) function and look for a number 3 (which indicates an iPad). If the user is NOT on an iPad, you can have a script step zoom out to 75% (using the Set Zoom Level script step). If you also have users logging in using an iPhone, Webdirect, or even Android, your script logic gets a bit more complicated, and you may want to navigate to an entirely different layout, but either of the following functions will get you the info you want, and then you can Zoom to 100% for iPad, or 75% on desktop:<\/p><ul class=\"wp-block-list\"><li><a href=\"https:\/\/fmhelp.filemaker.com\/help\/17\/fmp\/en\/#page\/FMP_Help%2Fget-applicationversion.html\" target=\"_blank\" rel=\"noreferrer noopener\">Get(ApplicationVersion)<\/a><\/li>\n\n<li><a href=\"https:\/\/fmhelp.filemaker.com\/help\/17\/fmp\/en\/#page\/FMP_Help%2Fget-device.html%23\" target=\"_blank\" rel=\"noreferrer noopener\">Get(Device)<\/a><\/li><\/ul><h3 class=\"wp-block-heading\">Choose the right font size<\/h3><p>The default font size should be&nbsp;<strong>18 point<\/strong>. This size is perfect for a touch interface and is within the recommended design guidelines for touch interfaces from Apple. It has the added bonus of looking almost exactly like 14 point when zoomed out to 75% on desktop! My current favorite font for Mac and iOS is called&nbsp;<strong>Avenir Next<\/strong>; it has a great variety of weights (more than just regular and bold), and looks consistently good on both platforms. When I have users on Windows, I find it\u2019s safest to stick with 18pt&nbsp;<strong>Arial<\/strong>, which is kind of boring, but looks way better than&nbsp;<strong>Helvetica<\/strong>&nbsp;(according to certain high-ranking individuals here at AppWorks who shall remain nameless). Beyond 18 point, I usually fill out additional text object sizes with no smaller than 14 point, and no bigger than 36 point. It should go without saying that&nbsp;<strong>Comic Sans<\/strong>&nbsp;is to be avoided at all sizes and costs.<\/p><h3 class=\"wp-block-heading\">Anchor fields and objects so they fit a larger screen<\/h3><p>Anchoring objects to the right side of your screen will help them fill in the empty screen real estate when zooming out to 75%. Which objects should be anchored is sort of subjective, but keep in mind that fields will open up to allow more data to be viewed when anchored to the right. There are also ways to provide additional fields that are visible only when you have a larger screen. For example:<\/p><ul class=\"wp-block-list\"><li>Design a portal to contain, say, 5 fields. Then reduce the width of the portal by dragging the right edge so that it fits on your smaller iPad layout, and the fields at the right end of the portal rows are hidden. Then when you anchor the left and right edges of the portal, and the screen zooms out on desktop, the hidden fields at the right end of the portal are visible:<\/li><\/ul><figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"371\" src=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2023\/05\/Portal_Row-1024x371.png\" alt=\"anchor fields and objects so they fit a larger screen\" class=\"wp-image-11545\" srcset=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2023\/05\/Portal_Row-1024x371.png 1024w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2023\/05\/Portal_Row-300x109.png 300w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2023\/05\/Portal_Row-768x278.png 768w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2023\/05\/Portal_Row-1536x557.png 1536w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2023\/05\/Portal_Row-600x217.png 600w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2023\/05\/Portal_Row.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><p style=\"padding-left:var(--wp--preset--spacing--60)\">When the portal above is anchored to both the left and right sides, it widens to reveal additional fields when zoomed out on desktop.<\/p><ul class=\"wp-block-list\"><li>Create a \u2018data card\u2019 using a rectangle with some fields on it, all anchored to the top\/left. Behind this data card, place additional fields that are anchored to the bottom\/right. When the screen is zoomed out, the fields that are behind the card are revealed below or to the right of it:<\/li><\/ul><figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"371\" src=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2023\/05\/Hidden_Fields-1024x371.png\" alt=\"create data card \" class=\"wp-image-11547\" srcset=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2023\/05\/Hidden_Fields-1024x371.png 1024w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2023\/05\/Hidden_Fields-300x109.png 300w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2023\/05\/Hidden_Fields-768x278.png 768w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2023\/05\/Hidden_Fields-1536x557.png 1536w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2023\/05\/Hidden_Fields-600x217.png 600w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2023\/05\/Hidden_Fields.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><p style=\"padding-left:var(--wp--preset--spacing--40)\">Fields that are hidden behind the \u2018card\u2019 slide out from behind it when the screen is zoomed out on desktop.<\/p><h3 class=\"wp-block-heading\">Check your layouts on both platforms<\/h3><p>It may seem obvious, but you really need to view and test your layouts on both platforms. There are always small things that work slightly differently in FileMaker Pro versus FileMaker Go. Some of the things to watch out for in particular are:<\/p><ul class=\"wp-block-list\"><li><\/li><\/ul><ul class=\"wp-block-list\"><li>Animation \u2013 Go to layout script steps can (and should!) include animation in FileMaker Go. Screens can slide in or out from either side, below, or undergo fade \/ flip transitions, while FileMaker Pro doesn\u2019t yet support it.<\/li>\n\n<li>Custom dialog boxes are different sizes on FM Go and Pro, and some text may get cut off in long dialogs in FM Go<\/li>\n\n<li>The position of popovers can vary significantly when the screen is displayed at different zoom levels, covering portions of the screen that the user may need to see when opening the popover<\/li>\n\n<li>In most cases, a hardware keyboard will be used with an iPad in an office setting, but be aware of how much screen real estate the onscreen keyboard takes up in situations where a hardware keyboard is not being used \u2014 it can really mess with the user\u2019s ability to see what they\u2019re doing!!<\/li><\/ul><h3 class=\"wp-block-heading\">Caveats and gotchas<\/h3><p>There is only one real \u2018gotcha\u2019 using this zooming technique, and that has to do with layout Navigation Parts. Recall that a navigation part is different from other layout parts in FileMaker, in that it\u2019s always visible (except when in preview mode or printing), and it\u2019s always anchored to the top or bottom of the screen. The one other aspect of navigation parts that causes a slight problem here is that navigation parts don\u2019t scroll or zoom. If you design your layout for iPad and use a navigation part, any screen elements on that layout part will not get smaller when you zoom out for desktop, and if you\u2019ve lined them up with objects below them on the layout, they won\u2019t be lined up any longer when zoomed out.<\/p><p>If you avoid using navigation parts altogether, this is a non-issue. However, it\u2019s also not necessarily a deal-breaker if you<em>&nbsp;do<\/em>&nbsp;use navigation parts. Since the navigation area should be hierarchically superior to the record(s) below (meaning they are distinct from data and really only hold controls and navigation), they don\u2019t necessarily need to remain consistent with regard to the size of fields and objects below in the body area. But if it\u2019s really bothersome for you (as I know some design nerds would agree), you could fairly easily create objects sized for the appropriate zoom levels, group them, and conditionally hide them using the&nbsp;<a href=\"https:\/\/fmhelp.filemaker.com\/help\/17\/fmp\/en\/#page\/FMP_Help%2Fget-windowzoomlevel.html\" target=\"_blank\" rel=\"noreferrer noopener\">Get(WindowZoomLevel)<\/a>&nbsp;function. This is probably a bit distasteful, but certainly less so than maintaining two entirely separate layouts!<\/p><h3 class=\"wp-block-heading\">Conclusion<\/h3><p>If you dislike maintaining the same layouts in different sizes for desktop and iPad, or you have users that only occasionally jump back and forth between platforms, or you\u2019re just lazy, using the Set Zoom Level script step in conjunction with an OnLayoutLoad trigger and some basic design guidelines will save you many hours of layout time \u2014 Not to mention winning the adoration of your peers, a monetary bonus, and a lifetime of happiness. Probably.<\/p><p>If you have questions about the content in this article, feel free to <a href=\"http:\/\/directimpactsolutions.com\/en\/contact-us\/\">contact us<\/a>!<\/p><hr class=\"wp-block-separator has-alpha-channel-opacity\" style=\"margin-top:var(--wp--preset--spacing--70);margin-bottom:var(--wp--preset--spacing--70)\"\/><p class=\"has-small-font-size\"><em>*This article was originally written for AppWorks, which has since joined Direct Impact Solutions. This article is intended for informative purposes only. To the best of our knowledge, this information is accurate as of the date of publication.<\/em><\/p>","protected":false},"excerpt":{"rendered":"<p>How to make a single layout in FileMaker that works (and looks good) on both desktop and iPad screens. Creating and maintaining two separate sets of application screens in FileMaker \u2014 one for mobile and one for desktop \u2014 has always been a pain in the butt. While there are definitely arguments to be made &hellip;<\/p>\n<p class=\"read-more\"> <a class=\"\" href=\"https:\/\/www.directimpactsolutions.com\/en\/one-layout-for-both-ipad-and-desktop\/\"> <span class=\"screen-reader-text\">One Layout for both iPad and Desktop<\/span> Read More &raquo;<\/a><\/p>\n","protected":false},"author":23,"featured_media":11723,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"_uag_custom_page_level_css":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"","footnotes":""},"categories":[29],"tags":[209,39,211],"class_list":["post-11542","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-low-code","tag-desktop","tag-filemaker","tag-mobile"],"uagb_featured_image_src":{"full":["https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2018\/09\/Layout_iPad_Desktop.jpeg",680,452,false],"thumbnail":["https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2018\/09\/Layout_iPad_Desktop-150x150.jpeg",150,150,true],"medium":["https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2018\/09\/Layout_iPad_Desktop-300x199.jpeg",300,199,true],"medium_large":["https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2018\/09\/Layout_iPad_Desktop.jpeg",680,452,false],"large":["https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2018\/09\/Layout_iPad_Desktop.jpeg",680,452,false],"1536x1536":["https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2018\/09\/Layout_iPad_Desktop.jpeg",680,452,false],"2048x2048":["https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2018\/09\/Layout_iPad_Desktop.jpeg",680,452,false],"woocommerce_thumbnail":["https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2018\/09\/Layout_iPad_Desktop-300x300.jpeg",300,300,true],"woocommerce_single":["https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2018\/09\/Layout_iPad_Desktop-600x399.jpeg",600,399,true],"woocommerce_gallery_thumbnail":["https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2018\/09\/Layout_iPad_Desktop-100x100.jpeg",100,100,true]},"uagb_author_info":{"display_name":"David Weiner","author_link":"https:\/\/www.directimpactsolutions.com\/en\/author\/david-weiner\/"},"uagb_comment_info":0,"uagb_excerpt":"How to make a single layout in FileMaker that works (and looks good) on both desktop and iPad screens. Creating and maintaining two separate sets of application screens in FileMaker \u2014 one for mobile and one for desktop \u2014 has always been a pain in the butt. While there are definitely arguments to be made&hellip;","_links":{"self":[{"href":"https:\/\/www.directimpactsolutions.com\/en\/wp-json\/wp\/v2\/posts\/11542","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.directimpactsolutions.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.directimpactsolutions.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.directimpactsolutions.com\/en\/wp-json\/wp\/v2\/users\/23"}],"replies":[{"embeddable":true,"href":"https:\/\/www.directimpactsolutions.com\/en\/wp-json\/wp\/v2\/comments?post=11542"}],"version-history":[{"count":6,"href":"https:\/\/www.directimpactsolutions.com\/en\/wp-json\/wp\/v2\/posts\/11542\/revisions"}],"predecessor-version":[{"id":12300,"href":"https:\/\/www.directimpactsolutions.com\/en\/wp-json\/wp\/v2\/posts\/11542\/revisions\/12300"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.directimpactsolutions.com\/en\/wp-json\/wp\/v2\/media\/11723"}],"wp:attachment":[{"href":"https:\/\/www.directimpactsolutions.com\/en\/wp-json\/wp\/v2\/media?parent=11542"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.directimpactsolutions.com\/en\/wp-json\/wp\/v2\/categories?post=11542"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.directimpactsolutions.com\/en\/wp-json\/wp\/v2\/tags?post=11542"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}