FM Training TV Logo

The FileMaker Progression of Learning

Guide to FileMaker

Evaluating FileMaker

Is FileMaker right for me?
Free short video course

Free short video course to help you determine if FileMaker is right for you.


Try FileMaker
Daily livestream broadcasts

Daily livestream video broadcasts with FileMaker experts to answer your questions if you are a beginner or evaluating the FileMaker Platform.
Join us Monday - Friday (1PM Pacific).


Live on Twitch Live on YouTube

Learning the FileMaker Platform

How do I build FileMaker custom apps?
Option A:

Buy Video Only Training Bundle (if you already have the latest version of FileMaker).

$199.00

Buy Now More Info
Option B:

Buy Complete Annual Training Bundle Subscription. This includes one copy of the latest version of FileMaker Pro Advanced, ALL of the Video Courses, and a copy of our CRM.

$299.00

Buy Now More Info

Brand New

What defines a beginner in FileMaker? Generally, they are driven by the need to solve a business problem. They see FileMaker as a potential answer to their problem, a way to alleviate their pain. Their only concern when building a custom application is to “just make it work.“

As a beginning developer, you may choose to stop development once your new application meets your minimum needs. However, you might be inspired by your initial success and want to continue investing in your new FileMaker App. Either way, your initial application will look like a kitchen table cobbled out of spare wood boards in your back- yard. Is it level? No. Is it going to last a long time? No. Is it especially pretty? Not really. Does it hold a bowl of soup so you can sit down and eat? Yes!

In technical terms, you will likely struggle with calculations, different types of fields, layout mode, and other surface-level aspects of FileMaker. You might have a minimal idea of scripting or of using buttons to navigate between layouts. If you continue to invest time in the solution and improve your FileMaker skills, you will begin to move out of the beginner stage and into the intermediate stage.

Developing

Things happen between the beginning and intermediate levels of development, especially if you begin to show off your creation. People will see the application, see the benefits you derive from it, and want to use it themselves! Like a child with a giant bag of candy in a preschool classroom, you will begin to feel pressure to share. Not a problem! After all, you have been watching our training and know that FileMaker is meant to be shared. You will seek out FileMaker Server or FileMaker Cloud to allow other users to access it. Prior to hosting, FileMaker Server or (FileMaker Cloud) require a username and password to be set on your FileMaker file. As a result, you will likely put a single admin username and password on the application and share it with everyone.

Likely scenario:

• Basic security has been addressed - CHECK.
• Now the application is being Shared by Co-Workers! - CHECK.
• You are a Hero – CHECK.

What you might not realize is that by sharing, you have opened your-self up to user feedback – BRACE FOR IMPACT. People will begin to request features, point out flaws - real or imagined - and pester you with requests. These requests will likely incentivize you to improve your skillset. With time, something else will make itself apparent - your database’s performance is slowing. It used to be fast but slowed as more features got tacked on and more people used it concurrently. You might receive a lot of complaints about speed. As a result, you are likely to focus on performance optimization and reworking parts of the solution, so it runs more quickly. In some cases, this means minor fiddling and adjustments. In other cases, it might require that the application be rebuilt entirely. To continue our table metaphor, your friends came to visit and eat at your table! At this point, you begin to realize the table has a few problems - because John’s bowl at the other end slid off and hit the floor, Wanda suggested a different finish, and at some point, you realized that you needed different wood for the legs.

In summary, as a beginner, you were concerned with making an application work! Now, because your application is being shared (we assume it “Just Works”)... other aspects must be taken into consideration. Developers tend to only pursue security and speed as their application suffers growing pains, which is perfectly understandable. After all, you didn’t initially need it! You also might, as time goes on, cringe at your beginner solutions. This is totally okay! It’s a rare developer that doesn’t cringe at their beginner attempts to make FileMaker apps.

Intermediate

Intermediate developers are defined by their use of scripting to precisely control their FileMaker application. To achieve this level, you begin to realize that FileMaker has a habit of automatically running processes in the background. This automatic activation of calculations is appropriate for beginners but has the negative effect of dramatically slowing their application’s performance. This is ***ESPECIALLY*** noticeable if there are large numbers of records, say more than 100,000, and the solution is running across the internet to multiple remote users. This problem becomes increasingly obvious as time passes.

If your application is successfully received by your coworkers, then they will want access themselves. This, in turn, leads to more records being added to the solution. With the application growing in complexity, with more users, and more records, the application will suffer grow-ing pains.

For example, a solution may have a screen that allows users to see a list of invoices. It is common for beginners to have automatic financial calculations that will run when the user visits the list view. This calculation throws an unavoidable “Please wait for Calculation to Complete” dialog into the user’s face as FileMaker begins to crunch the numbers. The main concept to grasp is to stop FileMaker from talking behind your back. This means that ALL calculations are relocated to scripts. In more technical terms, calculation fields are turned into text/number/date/time fields. The removed calculations are then transplanted into scripts. These scripts are precisely triggered (by the user), only when the user needs to see updated totals, etc. This does a lot to improve your solution’s speed. The FileMaker platform allows you to put calculations in all sorts of places, and it takes experience to realize that some of those places are bad.

As an intermediate developer, calculations are a bit like bears (the big furry animals). A certain number are good for the environment. Beginning developers tend to create alot of "garbage" in their new files. This garbage is often extra calculation fields, or just slow calculation fields. Bears love garbage. One day you look outside and realize the bear has its head shoved in your garbage can. You might decide to relocate the “calculation-bears” back out into the forest. They’re still good for the woods, you just don’t want them in your front yard. Move your calc bear to a script where you can control them. In summary, intermediate developers will solve performance problems by replacing automatic calculations with precisely controlled scripts. This process of removing excessive automation and controlling the database at a much more precise level will define most intermediate developers.

Advanced

An advanced FileMaker developer is not defined by years of experience or time invested. Intermediate developers do not automatically ‘level up’ to advanced developers by working with FileMaker for a decade or two. As a result, many developers never reach an advanced level. There is nothing wrong with never reaching this level! Most developers will never feel the need to learn the skill set that defines advanced developers. Intermediate developers are very common and can have great-paying jobs and build great applications that solve business problems.

Advanced developers are instead defined by “lean design.” An intermediate developer is concerned with removing automation to speed up their database. In contrast, advanced developers are concerned with leveraging user interface design and FileMaker’s own performance idiosyncrasies to improve their application performance. Their knowledge of the FileMaker’s platform allows them to use scripts for improved performance and mix in custom functions, auto-enter calculations, and other less apparent techniques. This will generate the maximum available performance. It’s common for advanced developers to have additional programming skills that allow them to deploy solutions to javascript or to interact with custom-designed websites with PHP or other middleware technologies.

Interested in learning more?

guidetofilemaker.com No-Code/Low-Code