Creating a Fundamental FileMaker Go Layout – Understanding Scroll Lock

This is the first blog post in a series about Creating a Fundamental Layout for use in FileMaker Go. The goal of this series is to offer practical advice and specific instructions for creating FileMaker Go layouts that look and act the way you, and your users, expect. The first topic we’ll cover in the series is ‘Understanding Scroll Lock‘. Scroll lock on an iOS device refers to the ability or inability to move an application’s background. The desired result (and expected behavior) for an iOS application is:

  • If all objects are shown on a layout, lock the layout so it can’t be moved.
  • If not all of the objects on a layout are visible, unlock one or more sides so that you can scroll horizontally or vertically in order to reveal the additional objects.

The expected behavior for an iOS application is very different than the expected behavior on a desktop application. The difference is based on this: on a desktop or laptop computer, the window you view your content in can be resized. On an iOS device, the window (your screen) cannot be resized. On the other hand, a desktop application the expected behavior for a layout is:

    • If there are objects on a layout that are not contained within the window, show scroll bars.

 

  • If everything that is supposed to be viewable on a layout is contained within the window, don’t show scroll bars.

In a desktop application’s window, the presence or absence of a scroll bar gives us a visual clue as to what to expect as far as navigating through a layout to access all of it’s objects. In an iOS application however, even if there is more to a layout than what will show within the iOS device’s screen, scroll bars will not be shown:

Instead, the default behavior of scroll bars on an iOS device is that they will appear as you are in the process of physically interacting with the layout, i.e. you’re already scrolling. This means it is up to you, as a developer, to design a layout that either shows all elements within the iOS device screen, or gives logical, visible, navigation clues. Furthermore, when a user can see all objects on a layout, they should be able to reasonably expect that the layout will remain fixed and static – meaning they can’t drag the layout horizontally or vertically. This is where scroll locking comes in: When all objects on the layout are within the size constraints of the window, scroll locking will engage and the layout itself will not move (or scroll). Designing within the size constraints for the device will engage scroll lock. The second blog post in this series will cover the detailed steps for designing layouts that will achieve scroll lock. Once scroll lock and ‘zoom lock’ (which will be covered in the third installment of this series) are engaged, the user will only be interacting with the layout you give them, and not accidentally navigating through a layout (unless that is desired behavior). When would layout scrolling be desired? You’ll likely want to disengage or only partially engage scroll locking when showing data in a list view, or when viewing a form view that contains objects that extend past the normal screen constraints (e.g., think of editing a contact in the iOS Address Book; you might scroll vertically to access more fields for more phone numbers and addresses). While it’s expected behavior on an iOS device to be able to scroll through a layout to display more objects in list view, even here it’s expected that the horizontal movement of the screen will remain scroll locked, while vertical movement will be free for scrolling. To get a good idea of ways you would use scroll locking, look through various apps on your device and think of how they would work as a FileMaker Go layout, stay tuned for part two in this series.


Christopher Schmitz is a FileMaker Certified Developer at Skeleton Key. About Skeleton Key Skeleton Key is an accomplished team of technology consultants who solve business problems. We specialize in the rapid development of custom applications, integrating Macs and PCs in the professional workplace, and providing personalized FileMaker training and coaching. Despite our end-to-end technical skills, we are consultant first and technologist second. We know that you don’t just need technology. You need to know that the technology you choose to deploy will provide the results you desire. Skeleton Key is a Platinum Level FileMaker Business Alliance company, an Authorized FileMaker Trainer, a member of the Apple Consultants Network and a Microsoft Registered Partner. …

FileMaker’s Developer Tools: A Love-Hate Relationship

FileMaker is a great platform for development and I owe most of my professional success to its success. There are some things about FileMaker Pro that I love and, of course, as with any passionate relationship, there are a few things I would like to see improved. This article will strive to expose my passionate feelings about certain developer features in FileMaker Pro that I both love, and hate, with equal verve. Love Hate Image

Layouts

I love Layouts. FileMaker makes it easy to display data from a table in your FileMaker solution via the use of Layouts. You can tie a Layout to any table in your solution and it will display the records for that table. This can be done with little or no effort by even a non-developer-user and in a very short amount of time. We’re talking seconds. That’s pretty amazing, especially considering the learning-curve and setup time that many other Relational Database Management Systems require to get that far. I hate Layouts. FileMaker made the decision to tie one, and only one layout, to one, and only one table, in order to provide the ease-of-use most developer-users seek. While this keeps things simple for non-developers, it greatly constrains the flexibility of how data can be displayed within a single layout. Any data shown must either be related to the layout’s base table in some fashion, or cached into variables to achieve a desired effect. It would be nice to dedicate portions of the layout to certain tables rather than the entire layout outright. This might make FileMaker more complex, but it would also make layouts, and thus the interfaces they express, much more flexible and elegant.

Layout Tools

I love Layout Tools. FileMaker provides quick-access to field, button, tab control and portal widgets so you can quickly get things done, without mucking around with getting the tools to work. They already work; you just point them to the table and fields from which you want to display data. I hate Layout Tools. FileMaker’s current interface widgets harken back to the times of early black and white Macintosh interfaces. While I love the Mac, some of these widgets are horribly antiquated. So much so that some developers see fit to obscure them with images or methods involving complex stacking and grouping of objects to pretty them up. Revisiting such a layout to make a change can be frustrating, especially when it requires unlocking or ungrouping multiple sets of items just to make quick changes to a text label or to change the position of an item or to add a field.

Scripts

I love Scripts. It’s like a huge Lego kit – it provides a list of script steps in the left pane that allows a developer to create a script by combining different steps to solve a particular problem. Just like a big enough pile of Legos can be used to build a Death Star, the vast selection of script steps in FileMaker scripting engine can be used to create a sales report. Much to Darth Vader’s chagrin, however, it’s far easier to create a sales report in FileMaker than to build a Lego Death star. That says something profound about FileMaker’s ease-of-use, it’s second-to-none (and stronger than the dark side of the force). I hate Scripts. As a developer, sometimes I need more power than FileMaker’s Script Editor can provide. I might need to make a sweeping change across several scripts or even multiple files, especially in the case of a conversion from an older, multiple-file solution created in an older version of FileMaker Pro. I might not want to visit each file and script to make the change, but I have to. If I create a php application, I can search and replace all the text in all my scripts in one fell swoop. I’d like to be able to do the same in FileMaker Pro.

In Conclusion

FileMaker’s flexibility and ease-of-use keep me coming back, and I’m optimistic things will only keep getting better with time. FileMaker, I love to hate you. Graham Sprague is a FileMaker Certified Developer at Skeleton Key. About Skeleton Key Skeleton Key is an accomplished team of technology consultants who solve business problems. We specialize in the rapid development of custom applications, integrating Macs and PCs in the professional workplace, and providing personalized FileMaker training and coaching. Despite our end-to-end technical skills, we are consultant first and technologist second. We know that you don’t just need technology. You need to know that the technology you choose to deploy will provide the results you desire. Skeleton Key is a Platinum Level FileMaker Business Alliance company, an Authorized FileMaker Trainer, a member of the Apple Consultants Network and a Microsoft Registered Partner. …

FileMaker Training: Wherever You Are

photo by OfficeNow

Skeleton Key will kick off its 2012 FileMaker online training schedule this week with FileMaker Server 101. Take a look at the line up of trainings available for you to attend from your desk, home office, or anywhere you’ve got a good internet connection.

  • FileMaker Server 101, Wednesday, January 11th, 1pm to 4pm (CST). FileMaker Server is often the most critical component of a multi-user FileMaker system, but surprisingly, many installations of FileMaker Server or FileMaker Server Advanced are configured incorrectly, putting the entire solution at risk. Subsequently, FileMaker Server 101 will be offered on the 2nd Wednesday of each month. Learn more and register here.
  • Understanding FileMaker will follow the week after on Wednesday, January 18th, 1pm to 4pm (CST). This 3-hour online training will focus on FileMaker Pro – a powerful, easy-to-use database that helps you and your team get any task done faster… if you know how to use it. Understanding FileMaker will continue to be held on the 3rd Wednesday of each month. Learn more and register here.
  • Developing for Maximum WAN Performance Workshop Wednesday, January 25th from 1pm to 4pm (CST). In this web-based workshop, we’ll start with a basic overview of premises behind developing for maximum WAN performance. Then, we’ll roll up our sleeves and have each participant tour us through their FileMaker application, inside and out, especially the bottlenecks. If you can’t make it in January, take heart we’re offering this course on the 4th Wednesday of each month. Learn more and register here. Visit us for a complete listing of Skeleton Key’s online and classroom trainings. What is a web-based (online) course? WebEx is an efficient web-conferencing tool that we use to connect with anyone, anywhere in real time. WebEx combines desktop sharing through a web browser with phone conferencing and video, so everyone sees the same thing while you talk. Once your registration is complete, we will send you the invitation to connect with your FileMaker Authorized Trainer. It’s that simple.