Brand New
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
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 skill set. 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
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 a lot 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
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.
Guide to FileMaker
Evaluating FileMaker
Is FileMaker right for me?
Free short video course
Try FileMaker
Free short video course to help you determine if FileMaker is right for you.
Try FileMaker
Daily livestream broadcasts
Live on Twitch Live on YouTube
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