Through out my career this is a question I am often asked. This question is mostly asked by people who I have just met who are asking ‘What I do for work’ as well as IT departments who are considering FileMaker as a platform for the first time.
I will start with a less technical answer to provide you with an overview. Following that I will provide a basic technical explanation for those IT departments who are considering using FileMaker.
The simplest explanation of FileMaker is this. It is an all in one database application development software that allows you to build custom databases for Mac and Windows really fast.
The all in one part means that it comes with the database engine for storing your data as well as a suite of features for building a user interface to allow your users to interact with the data stored in your database. FileMaker is an Apple subsidiary and just like Apple, FileMaker places a lot of emphasis on design and user experience.
For an overview of the platform you can read about it on FileMakers website.
TECHNICAL INTRODUCTION TO THE FILEMAKER PLATFORM
CLIENT SERVER ARCHITECTURE
FileMaker runs as a client server architecture. FileMaker has developed two separate products, FileMaker Pro and FileMaker Server. FileMaker Pro is used to develop the application as well as provide client/user access. FileMaker Server is used to host the FileMaker application. FileMaker server can host multiple FileMaker applications built with FileMaker Pro.
FILEMAKER IS CROSS PLATFORM
FileMaker runs on Mac and Windows. Users will be able to have the same user experience on both Mac and Windows.
FILEMAKER IS MOBILE READY
In addition to being cross platform, FileMaker has been designed to run on iOS. With the FileMaker Go app you can easily run your FileMaker application on an iPhone or iPad. There are some customizations that need to be made for mobile users. The main customizations needed are interfaces that are specifically optimized for viewing on mobile devices.
As mentioned earlier FileMaker Pro essentially serves two purposes. It is the software that FileMaker developers use to build FileMaker applications. It is also the software that clients or users need to access the application.
Explaining the differences between FileMaker and other application development languages is like explaining the difference between Baseball and Cricket. There are many differences but also many similarities. A bowler in cricket is like a pitcher in baseball right? Yes, but not exactly.
FileMakers core database schema is very similar to something like MySQLs schema.
A MySQL database is like a FileMaker file. Both can hold multiple tables. Both have a default level of security that can be customized.
FileMaker has tables and fields just like any other database. For each field you must specify a storage type such as number or text, similar to MySQLs int and varchar.
Just like MySQL, FileMaker allows you to connect tables together via logical relationships. They are called ‘Relationships’. This is fundamental to any relational database management system (RDMS). For example your contacts table should look to your companies table via a relationship so that you can see all the contacts who work for a specific company.
Once you have established the structure you need a way to add, view, update and delete your data. To do this you need what FileMaker calls a ‘Layout’.
Layouts essentially allow users to interact with their data. Layouts are one part of FileMakers Graphical User Interface or Visual Interface Builder.
Here is a basic description of how a layout can be used to view data from one of your tables.
When creating a new layout it is like starting with a blank canvas or a blank word document. It only comes to life once you assign it to a table and then add fields to it.
For the sake of this example, let’s assume you already have a contacts table containing 100 contact records. You start by creating a new layout. You then assign the contacts table to the layout.
You now have your blank contacts layout so lets start filling it in. Next you add some fields from the contacts table to the layout. For simplicity, let’s assume we add only the first and last name to the new layout. Finally, there are two popular options for displaying the contact records on your new layout. In list view or form view. Form view will display your data one contact/record at a time. A list view displays all your contacts in a list as long as your screen will allow. In list view, additional records that are outside your visible display can be accessed simply by scrolling up or down.
You now have all the basic functionality to create, view, edit, update, find (query) and delete records from your contacts table via your new contacts layout. It is that simple.
The examples below show you a very simple list and detail view using FileMaker’s default theme. It is very common to build your own style and designs to suit your users tastes and preferences. There are also many pre designed user interface themes that you can choose from.
Eg. Contact List View
Eg. Contact Form View
There are many features that come with FileMaker right out the box. So essentially, there is no programming required to use these features. There are too many features to cover in this blog and are worthy of multiple blogs. But just to give you an example, FileMaker has, sorting, finding (querying), printing, importing and exporting of data. All of these features can be utilized by your users. You will find that as you start using the system there are features that you repeatedly use over and over again on the same set of data. This is where it is advantageous to write scripts.
Scripts essentially allow you to automate many steps that you would otherwise have to manually do in FileMaker. For example, lets say you want to find all contacts who have an outstanding balance and sort them by their surname. You then want to export that data to excel so that you can send it to your accounts department. Perhaps this is something that you do frequently. All of these steps can be automated via a script.
Once you have written the script you can simply assign the script to a button. Now when you press the button to run the script it will automatically find, sort and export the data to a location you specified in the script or perhaps as an attachment in an email. Scripts are a powerful feature that can save your users a significant amount of time. Scripts also make your system more accessible to users as they are not required to have a high level of understanding of FileMaker. They simply need to know which buttons perform which scripts.
The database schema, layouts and scripts are the 3 fundamental building blocks of a FileMaker application. As I mentioned earlier FileMaker has many excellent features that have developed and evolved over the last 20 years. FileMakers website can provide a great overview of some of these features. I hope this article has helped to demystify FileMaker and answer your question, “What is FileMaker?”
FileMaker offers free trials to allow you to test drive the software. It also comes with some nice starter solutions so you can see straightaway some of the basic functionality and designs that can be achieved with FileMaker. Link to trial.
If you would like to find out more or have some unanswered questions about FileMaker, please give us a call.