FileMaker Pro vs Zoho

Claris FileMaker Pro and Zoho are both popular database solutions. If you’re shopping around for a database that works well for your business, deciding between the two may feel overwhelming, or even confusing. But, there are several important differences between the two, and knowing these differences may help make your decision easier.


Zoho CRM’s Creator Tools are a low-code development platform designed for drag and drop application building. It comes with over 60 applications prebuilt, making it easy for those with no knowledge to snap something together (relatively) easy.

This accessibility translates to its entry fees. Zoho has a free trial that’s fairly limited: it only allows for a maximum of two users and three applications. However, it does allow small businesses to take it for a “test drive” at no cost. 

It also allows for slightly more flexibility in terms of pricing. Although it’s cost for individual users is more expensive ($25 per month per user for Zoho vs $19 per month per user for FileMaker Cloud), Zoho allows for single person accounts. FileMaker Cloud requires 5 users at minimum.

Zoho offers unlimited users which (pricing notwithstanding) makes scalability easy as businesses grow.

Zoho offers one major thing FileMaker does not: native Android support. There’s a Zoho app for both Apple and Android devices, making it easy to access regardless of the device employees are using. While Android users can use FileMaker, they have to do it via FileMaker’s web tool, WebDirect (as opposed to an application).

Claris FileMaker Pro

FileMaker Pro is also a database solution, this one a RDBMS (relational database management system) with its own front-end GUI. Frankly, it may not be as simple out-of-the-box as Zoho. Zoho prioritizes making things as easy as possible, while FileMaker can be incredibly powerful in the hands of the right developer. It may not be as intuitive for the average person, but virtually any database solution is possible through FileMaker.

Claris Connect also allows FileMaker Pro to interface with virtually any existing application. If your team already uses Outlook or Slack (or any other number of software), FileMaker Pro can easily communicate with them. It effectively slots into your existing infrastructure. It’s that simple.

That flexibility and simplicity can also be found in FileMaker’s reporting features. FileMaker Pro automatically creates table, list, and form views as databases and forms are added. Scripting and customization can all be done within the GUI with very limited coding knowledge.

FileMaker Pro also allows for scalability. The platform itself allows for nine simultaneous users, which at first glance, isn’t many. But FileMaker Server means that you can rent out servers as you grow, for hundreds of consecutive users accessing the database.

It should be no surprise that FileMaker Pro’s security measures are equally as flexible. Administrators can restrict users down to the most granular level, so departments or individual employees can access some databases, layouts, or fields and not others.


Zoho is a great alternative for smaller businesses and those who have no experience with building out low-code and no-code platforms. For small businesses that anticipate fewer than 4 users, it may even be cheaper.

Of course, Zoho doesn’t scale as well from a pricing perspective. FileMaker’s minimum of 5 users at $19 per month is  a total of $95. That’s already $5 less than 4 users on Zoho. As the number of users increases, so too will the pricing disparity.

While Zoho can be great (especially for smaller businesses), FileMaker Pro offers better pricing and potentially more flexibility and options in the long-term. This is especially true in the hands of a capable development team. If you want to learn more about developing custom platforms for your business, you can contact Kyo Logic here.

Claris FileMaker is About to Have a New Name

At its most recent Webinar update, Claris announced a name change that will impact its offerings. Long-time FileMaker users are probably aware this isn’t the first time the tech giant has changed names; Claris previously changed its name to “FileMaker” and then back to Claris in recent years.


What does this mean for Claris products? There’s a naming overhaul planned and a spiffy new gradient visual branding to go along with it. The name changes themselves are as follows:

  • FileMaker Pro is now Claris Pro
  • FileMaker Server is now Claris Server
  • FileMaker Go is now Claris Go
  • Claris Connect is now Claris Studio


It’s a pretty simple change to understand, and one that customers will pick up on quickly. Claris is ditching the “FileMaker” moniker and branding everything with the parent name. Interestingly, Claris promised that while Claris Studio will contain what used to be Connect, it will also be the umbrella for “new stuff.” Claris Vice President of Engineering, Peter Nelson, describes the new stuff as “functionality that will be available as part of the Claris platform.” While they didn’t get into the details, it sounds like they’ve got big plans in terms of expanding on what they offer their customers. Claris is anticipating the initial release of Claris Studio this fall.


Claris sees this as a way to create a central identity across all platforms while also allowing for better integration between platforms. This change will also make it easy for new clients to adopt these platforms. Claris also assures their existing users that nothing will fundamentally change for existing platforms. To put it more bluntly, these preexisting platforms won’t break as Claris updates their offerings.


Of course, this is just the foundation Claris is placing, and they promise to have more in store in the near future. At Kyo Logic, we’ll be sure to monitor and update as Claris rolls out new developments. We’re excited to continue to use Claris tools to create the best custom platforms and databases for our clients.

The Power of the Pomodoro – Time Management in the COVID World

The world we live and work in has changed drastically over the past few months, since COVID-19 entered our lives. It has been the biggest change that most of us have ever gone through. While this change has affected us in every aspect, from traveling, to socializing, to going to the grocery store, it has affected us equally in the workplace.

For the first time ever, it is now the rule as opposed to the exception to work from home. Thousands of companies are transitioning to full time remote workforces and this trend will not go away even if COVID-19 does. While it is certainly comfortable and easy to roll out of bed and start working, it is natural to lose focus more easily than when you were in the office.

If your new virtual work life has made it focusing on your work difficult, know that you are not alone and that we have a technique just for you. This is a technique that we at Kyo Logic have adopted for years and have found brings great results to our team, allowing our developers to focus on the task at hand even when all of the distractions in the world circulate around them.

The technique we use is called the Pomodoro, named after a tomato-shaped timer that the original inventor of the technique, Francesco Cirillo, used. 

The technique is pretty simple. You spend 25 minutes working on a task and then take a 5 minute break, making each Pomodoro 30 minutes. Now, there are no rules saying you have to do Pomodoros in 30 minute intervals. At Kyo Logic, we have modified our Pomodoros to be 60 minutes with 50 minutes working and a 10 minute break.

The reason why the Pomodoro is a powerful tool is because of two key factors: 

1. It breaks up your day into multiple smaller periods, allowing you to focus each period on a single task. Everybody has been there on a day where you have more on your plate than you can possibly accomplish. It’s petrifying and can get overwhelming. We have seen that a side effect of having too much on your plate is that you spread your focus around to too many tasks, ultimately completing none of them. If you start your day by scheduling out your Pomodoros, you can know that as long as you follow the plan, you will get to everything you need. No need to worry!

2. It includes short, frequent breaks, which allow you to clear your mind, handle the items that would normally distract you from your focus and get yourself ready for the next task. This part of the Pomodoro is really what makes it special, especially in the virtual workplace. One of the biggest struggles that I and most of my team members have is transitioning focus from one task to the next. With the Pomodoro, focus transitioning is a built-in feature.

So, are you ready to take on your new virtual workplace one Pomodoro at a time? To help make this a reality, please download our free Pomodoro Timer below.

Download Pomodoro Time File

Please complete this form to download the FREE file.

This field is for validation purposes and should be left unchanged.

Scannability in Scripting

What is Scannability?

Scannability is an attribute of any written piece, including FileMaker scripts, that help the reader find pertinent information quickly.

Why is High-Scannability in scripting important?

  • Easier and faster way to understand the purpose and actions of the script
  • Reduced errors in comprehension of the code and recollection of the specifics
  • Reduced strain on developer’s focus

What does High-Scannability look like?

It is a clear naming convention for scripts, which looks like:

You will also find a detailed purpose/notes, clear sections of scripts, business logic details, and effective comments.

What does Low-Scannability look like?

Below is the same script without all of the above elements discussed. Consider the difference in time spent between the Low-Scannability version and the High-Scannability version. Try to imagine these different scenarios considering the difference in the two:

  1. Report to the user what the logic is for deleting time sheets.
  2. Re-enable this schedule on FileMaker Server after installing a new FMS version. Determine which day of the week to set it up for.
  3. As a developer seeing this for the first time, determine the purpose and expected result of this script.
  4. Debug an issue when creating time sheets (especially if they are not properly linked to an appointment).

What practices should developers employ to ensure their code has a High-Scannability level?

It all starts with this: Adopt the perspective of a future developer. Assume this future developer is lacking any knowledge of business logic or any other elements of the code base.

From here, make sure your code meets the following criteria:

  1. The script is easy to find within the workspace; follows clean naming convention.
  2. The purpose of the code is explicitly stated at the top.
  3. Any parameters for the script are explicitly stated.
  4. There are clear “Sections” of the script.
  5. Any calculations that are beyond the “basic” level have commenting, which can detail the expected result(s).
  6. All business logic should be commented throughout the script where applicable. The future developer should not draw questions or have to make assumptions.

Kyo Logic eSignature Add-on – How to turn a Database Feature into an Add-on

With the recent release of Claris’ FileMaker 19, Claris introduced a new tool called an Add-on, which allows you to drag and drop a ready-built feature into your database at the drop of a hat. Watch the video below to learn how to take an existing feature in a database and turn it into an Add-on. We will be using our eSignature Application as a base, so feel free to download that file and follow along.


Download eSignature Add-on

Please complete this form to download the FREE file.

This field is for validation purposes and should be left unchanged.

Kyo Logic eSignature Application – Using the Power of CLARIS FileMaker 19 to Enhance your Application

With the recent release of Claris’ FileMaker 19, developers around the world are reveling in all of its new capabilities. Today we will be taking a deeper dive into two new capabilities: WebDirect Card Windows and JavaScript in Web Viewers. We will show you how they can be utilized to greatly enhance your FileMaker database.

WebDirect Card Windows

            Since the release of FileMaker 16, Card Windows have taken the FileMaker world by storm. They have allowed databases in FileMaker Pro and FileMaker Go to layer a window on top of another window as shown below.

Starting with FileMaker 19, this functionality has now been brought to WebDirect!

JavaScript in Web Viewers

FileMaker has added a new function to Web Viewers called “Allow JavaScript to perform FileMaker scripts.” You can see below where to navigate to turn this on in the Web Viewer Setup.

What this allows you to do is enter the below JavaScript function into the JavaScript code in your Web Viewer. This will trigger a FileMaker script to be run as a result of an action taken within the Web Viewer.

[arve url=”″ /]

In the eSignature Application tool we utilize the open source signature pad code provided here  (Thank you Szymon Nowak!) as the base for the web viewer code.

We have set up each element of the code in its own field in the HTM_Html table and combine the individual elements into the HTML_Calc field, which is what the Web Viewer reads and displays.

The elements in our code, which have been added to our FileMaker functions, are JSFM1 and JSFM2.

JSFM1 Is the Function that will be called upon selecting Save and JSFM2 upon selecting Cancel from within the Web Viewer.

Here is a look at what the field JSFM1 contains:

As you can see here, when the Save button is clicked the function will run and, assuming that it is not empty, will first save the image as base 64 encoded text and then run the script SaveSignature in FileMaker.

SaveSignature simply pulls in the dataURL as the parameter, decodes and formats it to be a png. Than sets it to the container field and closes the card window. It’s as easy as that. No more unnecessary data api work arounds!

It is important to note that with FileMaker 19, it is no longer necessary to base64 encode your web viewer code on WebDirect. In order for the FileMaker.PerformScript function to work from within a web viewer in WebDirect, the webviewer code cannot be base64 encoded and must start with data:text/html,

Download eSignature Application

Please complete this form to download the FREE file.

This field is for validation purposes and should be left unchanged.

One-time Setup Navigation Bar

Why implement a standard navigation bar across the system?

For most systems, it is imperative that the user can get to many areas of the system in only a few clicks. Implementing this method of system navigation not only solves this problem, but also has some other benefits. It brings clarity to which area of the system the user is in, promotes standard navigation behavior which helps the user experience, and is very easy to manage and update once implemented

What does it look like?

Without using a standard navigation bar, keeping things updated over time can be very time consuming and sloppy to manage.

By using this system, you only need to do a major setup one time. From there, any new layouts or modules will adopt and fit into the existing system without issue. You avoid having to go back to all other layouts and update their individual button bars.

Example: Adding a new module

In this case, I added the “ContactInfo” table and created a Form and List view to display this data. To update the navigation bar, all I needed to do was update one script and my navigation was already completely set up!

The video below demonstrates this update and also showcases how the nav-bar is automatically updated on all layouts.

There are a few key components to setting up this system navigation.

  1. Startup script
  2. Navigation script
  3. Layout naming convention
  4. Layout objects

1. Startup Script

2. Navigation Script

3. Layout naming convention

4. Layout objects

Layout in Browse mode

Layout in Layout mode

Naming convention for each individual button. Used in the “Active” calculation

Hide the condition for each individual button.

Setup for each individual button

Setup for Active Calc

In Conclusion: Adding a new module

Utilizing this Navigation Bar can save many hours in the long run, especially if you make frequent updates or additions to your system(s).

If you’re struggling with implementing any of these concepts, or have any questions, please feel free to email where we can help you further!

The Session Table

What is it? Why should every file have it? How do you add it to your file?

What is it?

The Session Table is a utility table created for each individual instance of a user’s access to a file. It is created upon entry of the file (OnFirstsWindowOpen script trigger) and closed out upon shut down (OnLastWindowClose script trigger) of the file.

This is a sample of what a Session Table would look like in the Database Manager:

Why Should Every File Have it?

  • Helps to track Users Entry and Exit from File – It is critical that administrators know who is entering and how often and how long they are staying in the file. This can be useful for analytical purposes as well as for security. If you know that something malicious happened in a file during a specific period of time, you can go to the Session table to find the users who were in at that exact time.
  • Collects User metadata – Using FileMaker’s built-in calculation functions, you can acquire metadata about the user such as the type of device they are using, how they are accessing FileMaker (FileMaker Pro Advanced, FileMaker Go, WebDirect, etc.), the user’s IP address and many more pieces of information. Being aware of all of this can help the file administrators analyze what kind of user is spending time in their file in order to help make decisions.
  • Can be utilized to track user actions – If it is imperative that all user actions are tracked (an example being for HIPAA compliance) then the session table is where this can take place. You can create a login in the Session Table by using script triggers on fields and layouts.
  • Can be utilized for Creating Session-Based Tables – There may come a situation where you have to build a report or list that combines multiple data into one table multiple users can access this at the same time. As a result, there needs to be a way to distinguish which records are for which user session to make sure that one user does not see other users’ data. The Session table comes in use here. By utilizing the user’s specific session ID, you can determine which records are for that user’s list/report simply by including their session ID. This can be quite complicated, so we will have a blog in the future based solely on this topic.

How can you add it to your file?

After creating the Session table, you must make sure it is connected to your files GLOBAL, SYSTEM, or UTILITY table (this table should be the table in the file that contains all global fields).

At Kyo Logic, we like to name our global table the SYSTEM Table. (We also like to use three-letter codes as part of the names of our tables to make the table occurrences in the relationship graph easier to understand). And we connect SYSTEM (SYS__Sys) to SESSION (SYS_SES__AC) through this simple relationship:

Now that we have the infrastructure in place, we need to build the script to create the Session record.

The script that we have built, “Startup,” we have running OnFirstWindowOpen.

This script first creates the user’s unique SYSTEM record and then creates their unique Session record. It then sets all of the metadata fields that you would want to acquire. Finally, it sets the user’s Session ID to a SYSTEM global field so that the file can obtain the user’s session ID at any time.

We also include the “shutDown” script OnLastWindowClose to set the logout metadata field.

And, there you go. You now have a session table that you can use to track your user access into the file and so much more!

Welcome FileMaker 17!

FileMaker 17 Overview!

FileMaker 17 is finally here, and we are excited to review all the new features included! FileMaker releases new versions of the powerful database annually and this year may be the best release yet. In this post, we will review all the new features that have been released in FileMaker Pro Advanced, FileMaker Go, FileMaker Server, FileMaker Cloud, and FileMaker WebDirect. In separate articles, we will provide a more in-depth look at some of our favorite new features and a breakdown of the new licensing programs!

What’s New in FileMaker 17!

  • Layout Mode was redesigned for streamlined development
  • FileMaker now allows users to add default fields when you create new tables
  • FileMaker will now be able to handle multiple email attachments
  • FileMaker Data API is no longer a trail feature and supports scripts and uploading files to container fields
  • FileMaker Go will now support local notifications
  • Users can now drag and drop text, photos, and files between apps while using FileMaker Go!


Group Object Selection

While developing in FileMaker you have had the ability to group together objects but when you needed to modify, reposition, or resize an individual object inside the group you would have to undo the groupings. With the Group Object Selection, you are able to select individual objects within a group and modify as needed.

Redesigned Layout Mode

FileMaker has redesigned layout mode for a more streamlined design environment. The Inspector, Fields tab and Objects tab will now be pinned inside the document window, so you will no longer lose them on other screens while working!

Default Fields

Most developers include a group of standard default fields in every application that is created, FileMaker has now added default fields to help streamline the process of creating new fields such as primary key, creation date, modification date, and who the record was created or modified by. Just add a new table within FileMaker and these fields will automatically be created. These fields can be customized or removed via an XML file.

Scripting Enhancements

FileMaker has added two new scripting enhancements to FileMaker 17. First, they have enhanced the Perform Script and Perform Script on Server script steps by adding the ability to specify which script should run by name. Second, They have added support for using variables in the input field to populate and retrieve text within a Show Custom Dialog script step.

Multiple Email Attachments

FileMaker has had the ability to send emails directly from your application for some time but up until now, users have been limited to only one attachment. In FileMaker 17 users will now have the ability to add multiple attachments when sending emails.

Copy and Paste Custom Menus

Save time while developing but reusing custom menus that you have created in other FileMaker apps. All you have to do is copy menu sets, menus, and menu items and paste them into your file!

FileMaker Data Migration Tool

Using the FileMaker Data Migration Tool developers will be able to cut the time it takes while importing large data sets in half. The new command-line tool will help when you update your deployed custom apps.


FileMaker Server Admin Console

For easier administration of FileMaker applications, the FileMaker Server Admin Console was redesigned to provide a streamlined user interface. The Admin Console will feature a Dashboard page to easily monitor hosted apps, connected clients, and system statistics. Administrators will also receive notifications that will provide more detail on how to handle errors if they occur.

Work While Reconnecting

If a network connection to FileMaker Server is lost while you are working you will be able to continue working on files that do not depend on the host until the connection is restored.


FileMaker Cloud will support all new features for FileMaker 17. Users will also have the ability to use the Comodo SSL certificate for 60-day free trails.


Configure Local Notification

FileMaker Go will increase iBeacon technologies to include local notifications. Any iPad or iPhone that is using FileMaker Go that is running in the background will display local notifications such a meeting reminds, or when an iBeacon is near. Just set up scripts that will send local alerts based on info from your device!


Auto-Complete has been a great tool on the Desktop in FileMaker Pro but now this feature will be coming to FileMaker Go! Start typing a letter or two into a text field and a list of items that match what you are typing will appear!

Drag and Drop

FileMaker users will not have the ability to drag and drop text, photos, and files between apps on the iPad while running a minimum of iOS 11.


FileMaker Data API

FileMaker first introduced the FileMaker Data API as a trail in FileMaker Server 16 as an easy way to integrate your FileMaker data to other popular apps and we services using the industry standard REST API. In FileMaker 17 this will no longer be a trail and will include powerful new features including support for FileMaker Server scripts and the ability to upload files to container fields. FileMaker has also added more standardized API formats to make the FileMaker Data API easier to work with.


Account Lockout

Security has been the main focus for FileMaker in the most recent releases. To continue strengthening security throughout the FileMaker Platform, users will now be temporarily locked out of accounts after failed login attempts. Users must wait 5 minutes before they can attempt to log back in.

To learn more about FileMaker 17 or incorporate these awesome new features in your FileMaker database today give Kyo Logic a call!

Introduction to FileMaker and SQL

Introduction to FileMaker and SQL

Are you looking for a way to take your FileMaker Database to the next level? Harnessing the power of SQL in FileMaker can help you streamline and easily access more of your data.

What is SQL and what are the benefits?

SQL is an abbreviation for structured query language and is a standardized programming language best used for managing a relational database. SQL also allows you to perform various operations on data and is used by developers to write data integration scripts and setting up and running analytical queries.

When using SQL in FileMaker you can there are many different benefits such as:

    • Quickly obtaining data for use in scripts
    • Versatility: Summarize, Join, Union, Find Within
    • Requires no persistent structures
    • Potentially very fast
    • Completely programmable

Well, this all sounds great but how do you get SQL to run in FileMaker?

With the latest versions of FileMaker, you can utilize the ExecuteSQL() function right within FileMaker which will allow you to perform select queries. SQL works well with Let functions and is often used to store data in global variables. Both simple or complex arguments can be entered into an SQL statement.

Additional FileMaker and SQL Recourses:

SQL is a great way to utilize your data in FileMaker. Whether writing simple or complex arguments you will be able to quickly use the ExecuteSQL() function in FileMaker to perform queries.

If you would like to harness the power of your data in FileMaker but do not want to do the heavy lifting contact us today.