Three Programming Tips to Speed up FileMaker
From the author who wrote “Easy Apps!” comes three tips to speed up FileMaker
I believe that the greatest problem encountered by FileMaker users is an unnecessarily slow FileMaker system. Why is it ‘unnecessarily slow’? Because if you program well, your FileMaker does not have to slow down even with tens of thousands of records.
- What I love about FileMaker is that it is really easy for anyone to get in there and start using it.
- And what I hate about FileMaker is that it is really easy for anyone to get in there and start using it!
The reason for this dichotomy is that so many people just start building their FileMaker application with no sense of relational database architecture, no sense of design colors and themes, and no understanding about how to program it for speed. I don’t have time to go into all of these, but I would like to address the speed issue.
I have already written two other blogs about FileMaker speed. You can find them here (https://highpowerdata.com/why-is-my-filemaker-so-slow/) and here: Why is my FileMaker so slow – Part Two. This is a very frequent problem for FileMaker users.
One reason for the frequency of this problem is that untrained users just start developing their FileMaker solution with no idea of what makes for a fast & zippy solution. And when they start, it is all fast, because there are very few records in the database. But as they begin to fill it up, and do crazy things like have 33% of their fields as unstored calcs [yes, I have seen that], or fill a giant listview with rows and rows of container fields [ that too ], or always treat FileMaker like an overgrown spreadsheet [ too many people do this ], it just S S S L L L O O O W W W S S S down the file terribly.
You can access my first two blogs above, which will tell you how to download two free white papers which I wrote on FileMaker speed tips. The first one is called “Top Ten Tips for FileMaker Speed”, and the second is called “Four Factors for Faster FileMaker”. Read the blogs above, and download the brief little white papers.
What I want to address now, are three additional tips which you as a developer can do to speed up your FileMaker solutions.
THREE TECHNIQUES TO MAINTAIN YOUR FILEMAKER SPEED
- FileMaker Development Technique #1: Go to Find Mode before navigating to a list view
There is often a need in FileMaker while writing scripts that you have to go to a layout with thousands of records in listview. When you go to such a layout, FileMaker has to load in all of those records from the server before you can take the next step in your script. But you may not need to see all those records. Maybe you only need one of them; or maybe you need to be on that table for other reasons. In either case, when there is no need to see all those records, then why do it?
Just go into find mode before using the Go To Layout command. Then none of the records will be loaded, saving you tons of time. At that point you can execute a find to search for the set of records you may want.
It is really surprising how many people program their FileMaker solution to go to a listview without taking this step. It can save you a lot of time, and make your solution feel much faster.
- FileMaker Development Technique #2: Keep a secret window hidden for fast layout access
There are many times that you may need to run a loop script through a series of records, and then go back to the found set of records, find another sub-set and process those in a loop. This technique will save you a lot of time. The process of creating a new window and then executing a find on that set of records, can be very time consuming in terms of CPU power. But what does not consume as much CPU is simply running a “Select Window” command.
So if you need to jump back and forth between a full set of records and a subset, just open one window at location -10,000 from Left and -10,000 from Top. This will make it completely hidden, even to people with large or multiple monitors. Then you can simply Select Window 1, and do your thing, and then Select Window 2, and do whatever else you need to do. Since there is no reforming of windows, and going to new layouts, and finding the records again and again, it will save you tons of time.
This is another technique that will make your FileMaker solution feel fast and zippy.
- FileMaker Development Technique #3: Go to an empty layout for behind the scenes programming work
The reason for this is that each time you go to a layout with fields on it, all of those fields need to be loaded from the server onto the layout. And if there are unstored calcs or summary fields on that layout, it slows the process down even more.
You can avoid all that “CPU drama” but just going to an empty or blank layout which is on the table you need to access. Go to the blank layout and then set your fields, or do your calcs as needed, and you will be good to go.
Again, this is a technique which will save you CPU processing cycles and make your solution hum along nicely.
Each of these three techniques alone may not seem like a lot, but if you build a large solution, using hundreds of scripts, and have a file with many thousands, tens of thousands, or even hundreds of thousands of records, the time you save will be amazing!
Good FileMaker development really comes down to paying attention to the details, and understanding how FileMaker operates behind the scenes. You can learn this by carefully stepping through the scripts, and observing how the data is behaving. You can also learn it by attending Claris training events.
Faster FileMaker systems are good for the entire FileMaker community, because they help the world to see what an amazing tool is FileMaker Pro when used properly by trained developers who know how to build fast systems.