How Can FileMaker Work for My Business?

FileMaker is frankly an unassuming name for what’s actually an incredible suite of development tools. Custom applications created through FileMaker can streamline business operations and maximize employee effectiveness. Even if you’ve used FileMaker in the past, the changes and additions made in the last several years mean it’s a drastically different, more robust application.

What is FileMaker?

FileMaker began as a way to allow anyone to create simple bits of code to help automate or streamline processes at their small to midsize business. And while it’s still designed to give anyone access to designing simple tasks, it’s grown into something much greater. While the barrier for entry is still low, the skill ceiling is much, much higher.

As FileMaker evolved, it became a system that allowed those same small to midsize businesses to create (or hire someone to create) custom apps and platforms tailored specifically to their business. It’s effectively giving everyone access to the kinds of tailor-made internal platforms previously reserved for massive corporations.

How Does it Work?

In the simplest terms, for anyone with a low-code background (meaning anyone who isn’t a developer), FileMaker works as a series of databases that look similar to an Excel spreadsheet. FileMaker makes it simple to then create relationships between these databases. In these cases, a business owner could create a “relationship” that automatically sends an email out to a customer after a payment is recorded.

However, as mentioned previously, FileMaker can be much more complex. Certified developers— like Kyo Logic— can create GUIs (Graphic User Interfaces) and overlays that make these systems much easier to use, and those relationships can be amazingly complex. For these developers, they can use FileMaker to create a fully tailor-made, optimized CRM or ERP system.

It’s best to think of FileMaker like a paintbrush and set of paints. Anyone can pick them up and draw a picture, but the difference between a first-time artist and seasoned professional is massive.

What Does it Mean for My Business?

In the hands of the right development team, it means access to a custom-built platform like Salesforce or Netsuite at a fraction of the cost. Business can create a system to replace outdated and outmoded platforms they’re currently using. FileMaker is secure and scalable, so it can be used to create anything from a payment portal for a website, to an in-store point of sale system, to inventory management, to payroll databases. If a solution is needed, it can be crafted through FileMaker.

Are There Any Drawbacks to FileMaker?

For small to midsize businesses or projects, the answer is frankly “no.” FileMaker is flexible and feature-rich enough that there is very little it can’t do out-of-the-box, or be programmed to do by a knowledgeable development team. While it scales very well, it’s not ideal for massive corporations with thousands and thousands of concurrent users. But that said, departments within those large companies could very well use a FileMaker-based program for their needs.

How Do I Use FileMaker?

FileMaker and its associated services are available online, so setup is quick and easy. While some tutorials are available online, it’s ideal to take classes and get hands-on experience. That’s typically all one would need if they’re just looking to create something simple. However, professional developers take years of classes and credits, and typically have multiple certifications.

We recommend having a conversation with a FileMaker developer before making any purchases or commitments internally. It’s critical to understand the scope, goals, and expectations of the product. We’re happy to have a conversation with you to best assess your needs and make recommendations. You can reach out to us here.

FileMaker Pro 19.1.2 Updates

This past month saw the release of Filemaker Pro 19.1.2. This update is notable not only for the changes it brings; it’s also the first update to be rolled out under Claris’s new approach to FileMaker revisions. They’ve seen fit to release smaller changes as needed, whereas previously updates and changes were tied to the yearly FileMaker release. So while veteran programmers shouldn’t expect to see a changelog with quite the same scale as previous updates, there’s still a handful of exciting additions and helpful shortcuts.

1. Support for external libraries. This is the feature Claris is touting as the most exciting part of this update, and for good reason. Developers can now easily pull add-ons from other libraries, like CoreML. And while the majority of these add-ons and features could work with FileMaker previously, the process is now much more straightforward. The end result is the ability to create feature-rich apps much more quickly. It also means FileMaker developers can create add-ons within FileMaker that can easily be ported to other apps. If a developer creates a new integration, they can even choose to offer it on the Marketplace for other users. Now everyone, across libraries, can pool resources and access more tools and tricks. In layman’s terms, it’s as if FileMaker just joined the developer-equivalent of the European Union.

2.  Two-way integration with JavaScript code. While JavaScript is technically just one of the libraries FileMaker now has access to, it’s worth discussing on its own. JavaScript has been around for 25 years, and has its own robust set of add-ons and tools that FileMaker can now easily take advantage of, including improved charting and integrated project calendars. Both of these are highly requested FileMaker features. Having access to them via JavaScript is nothing short of a game-changer.

3. More ways to integrate with cloud APIs through Claris Connect. While this particular feature requires Connect, this update to workflows bears mentioning. This update sees upwards of 50 pre-built APIs from popular cloud computing platforms like G Suite and Salesforce. While integration with these and other cloud APIs was always possible, this update makes the process of literally dragging and dropping the relevant connectors. It also makes it easier to automate workflows through these connectors, although Claris is officially branding these as “templates.” Seasoned developers can still use DAPI for integration purposes, but these additions make these processes easier for newer users.

4. Build apps in your browser. A tremendous quality of life change that allows developers to use the FileMaker Cloud service in their browser. It’s worth noting that this doesn’t allow access to all the features that would typically be available server-side (Claris has provided a list of what is and is not available here). However, it’s still a nice feature to add at a time when working remotely— and on a variety of devices— is incredibly common.

5. Support for Siri shortcuts and NFC tag reading. These additions are being introduced as a way to make mobile apps much more comprehensive. Users can now create shortcuts and activate them through Siri. It’s an addition that will make it much easier for mobile users to take advantage of the custom apps and FileMaker services. NFC tag reading will make it simpler for apps to read Near-field communication tags in retail stores and other locations as needed.

While these updates and changes won’t affect the end result for seasoned FileMaker developers, they certainly make certain tasks easier. Ultimately, this update is about making FileMaker more accessible for users, and it certainly succeeds. While developers won’t see their end results change, it does mean they’ll have an easier time navigating these (previously complex) integrations.

Truly, what’s most exciting here is seeing the additions Claris has been able to roll out without having to wait for the next annual update. We’re excited to see what’s in store in the months ahead, as Claris will undoubtedly continue to make changes and updates as developer needs evolve.

If you’d love to see how these features could work to streamline operations at your business, you can reach out to Kyo Logic here. We’d love to speak with you.

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.
Name(Required)

Improve Your FileMaker Development with These Five Tips

FileMaker can be a powerful platform that if used wittingly, can help you build robust applications. Here are some of the valuable tools that can take your development to the next level:

  1. The Script Debugger

An outstanding standalone tool provided in FileMaker Pro Advanced that offers the capability of debugging scripts, which can be launched from the script workspace by pressing a button or even a script trigger.

A screenshot of a cell phone

Description automatically generated

The script debugger gives you full control of stepping into each script step and provides full details in the call stack from script parameters to sub scripts. It even lets you know from which file the script is from. This can come in handy when working in multi-file solutions. For more information please visit FileMaker documentation on script debugger – https://fmhelp.filemaker.com/help/16/fmp/en/index.html#page/FMP_Help/debugging-scripts.html

  • The Data Viewer

It goes hand in hand with the script debugger like peanut butter and jelly. It displays real time values for a currently running script’s variables and fields.

A screenshot of a cell phone

Description automatically generated

The “Watch” tab on the top right will give you the ability to specify fields or calculations to monitor whether during debugging or simply during general development and it works like a charm!

  • The Shape Tool

An often-underappreciated friend of mine which may seem like a graphical block to many; to me, it is a smart image resizing element of a layout that helps with proportioning and sizing of an image. In layout mode, you can create the shape you desire your image to be, in the appearance tab, change its fill to an image, and after selecting the image, the dropdown just below the image sample will give you the option to “Scale to fit” and voila! You can resize your image while not losing its original proportion.

A screenshot of a computer screen

Description automatically generated

On the right we can see the rectangle object with an image as the fill and to its right we can see the imported image with some proportion issues due to resizing, not to say it’s everyone’s preferred method of handling images in FileMaker, but it can prevent a lot of headaches.

  • JSON Script Parameters (JSONSetElement calc)

Surely many of you know or heard of JSON and some may or may not have used it in FileMaker. Let’s say you are used to making script parameters a straight forward text or number, or even a field, but how would you pass multiple parameters during a script trigger or when the user clicks a button?

A screenshot of a cell phone

Description automatically generated

With a few adjustments and a little bit of knowledge of JSON syntax, the sky is the limit! You can pass as many parameters as needed by adding multiple JSON elements to the JSONSetElement calculation in the script parameter. And from the script side, you can call the JSONGetElement calculation to grab the value of the element needed. For more information on JSON calculations you may visit: https://fmhelp.filemaker.com/help/16/fmp/en/index.html#page/FMP_Help/json-functions.html

A screenshot of a cell phone

Description automatically generated
  • Claris Community

The FileMaker community, now known as the Claris community, may not be a standalone tool for FileMaker Pro Advanced, but it is the place where bright minds collaborate and help each other get through some of the most difficult obstacles that FileMaker can present. You may discuss FileMaker Server, FileMaker Go, FileMaker WebDirect, and the list goes on, if you don’t believe us just ask them yourself: https://community.claris.com/en/s/

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.

 

eSignature Add-on Download

Please complete this form to download the FREE file.

This field is for validation purposes and should be left unchanged.
Name(Required)

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=”https://kyologic.com/wp-content/uploads/2020/05/Signature.mp4″ /]

In the eSignature Application tool we utilize the open source signature pad code provided here https://github.com/szimek/signature_pad  (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 datatext/html,

Download eSignature Application

Please complete this form to download the FREE file.

This field is for validation purposes and should be left unchanged.
Name(Required)

Up and Running with FileMaker’s IOS SDK

FileMaker Pro’s iOS SDK can make distributing your app a lot easier!  If you’re dealing with a large user base, using SDK can create a ‘launcher file’ to distribute through MDM (Mobile Device Management). This can remove the steps of having your users download FileMaker Go, by pointing them to the correct host on numerous devices.  In fact, you can keep the host address private.

Customization is a huge benefit because your app and its icon can entirely carry your own branding. If your organization has a suite of apps, your launcher file can have a custom landing page completely designed by you.

Additionally, with a launcher file, you’ll have the added benefit of better error handling.  Since your launcher file will be a local app, you can trigger your own custom messages if a user can’t reach the host file. For example, reminding them to connect to a VPN.  Perhaps you configure your launcher file with an OnFirstWindWindow trigger to open your hosted app.

In order to create your own: You’ll need a Mac, Xcode (an Integrated Development Environment that pulls all the tools needed to produce an App and is free to download), your own .fmp12 file, and the SDK.  The SDK is only available through enrolling in FileMaker’s Developer Subscription: https://store.filemaker.com/product/FDS

Once you have these four items in place, you’re ready.  You’ll need to get your hands slightly dirty with the Mac’s Terminal and Xcode, but don’t worry we’ll only be scraping the surface of these powerful applications.

Consider this a quick “getting started” guide. For further reference, you can find FileMaker’s Guide for iOS app SDK 18 here: https://fmhelp.filemaker.com/docs/18/en/appsdk/index.html

Once you’ve downloaded the SDK and have stored it in a location of your choice, it’s time to open Terminal.  You can find this in your Mac’s Application’s Utility Folder or by simply typing “Terminal” in a spotlight search.

On your command prompt, you’ll need to type in “cd,” add a space, and then type in the path of the directory that has the SDK, and press return.  In this case, it was on my desktop.

*Pro Tip: Instead of typing out the path, drag and drop the folder right into the command prompt*

At this point, you’ve navigated in Terminal to the folder that contains the SDK and we now have to run the program “makeprojdir” in that folder.  We’ll do that by typing “./makeprojdir”, a space, the project path, another space, and then the name of your app; in this case “ourApp”. Lastly, add a unique bundle identifier for your app, com.kyologic.ourApp and then hit enter. 

./makeprojdir <projectPath> <app name> <appBundleIdentifier>

*Note: The project path doesn’t need to exist; the project folder and its contents will be created as specified*

Within your newly created project folder, you’ll find a .xcodeproj file. Within the folder, “ourApp,” a PlaceHolder.fmp12 file will be swapped with our launcher file.

*In a multi-file solution you’d place all project files in this folder*

Now you’re ready to open your project in Xcode. Go ahead and click on your .xcodeproj file.  Once Xcode is loaded, open up its preferences, navigate to Accounts, and be sure to enter your Apple ID if you intend to sign this application and build it into an iOS device during testing.

Xcode is a large program and can be daunting, but we’ll only be making a few edits.  The first is modifying the configFile, which you’ll find on the left panel.  There are a number of edits you can make here, but we’re just going to highlight the LaunchSolution variable to the name of your Launcher file.

Now you’ll want to import your app icons.  You’ll find the place to drag and drop them within CustomAppMedia from within the project folder.  You’ll want these icons sized according to Apple’s Human Interface Guidelines, found here: https://developer.apple.com/design/human-interface-guidelines/ios/overview/themes/

Connect an iOS device and at the top left of Xcode choose your device and hit the play button to see your app load onto your device’s springboard.

The goal of this post was to quickly get you up and running.  It is recommended to go through the other steps in FileMaker’s iOS SDK Guide.  If you were building beyond a launcher app, you may need to enable iCloud capabilities, access the phone’s camera, location, etc.

It is important to note that the SDK is binding your FileMaker solution(s) to a copy of FileMaker Go, so all of the iOS limitations that come along with FileMaker Go still remain.  Another difference to note, the “Close File” script step will not work due to the nature of how iOS apps remain in memory and need to be quit from the app switcher.

There are tons of exciting possibilities using the SDK and we’d be excited to learn about how you use it.  If you need help configuring and deploying your own custom app, reach out to us today!

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 support@kyologic.com where we can help you further!

Here’s What We Found Interesting From WWDC18

Headline:

“Apple aims to put the customer at the center of everything we do”- Apple at WWDC18

This is something Kyo Logic and Apple have in common. We aim to provide the most user-centric services with everything we do, whether it is consulting, training, or FileMaker Development, making your business easier to run is our primary goal.

Here are some takeaways in iOS 12 that we found best upheld Apple’s promise:

Screen Time:

Smartphones have become an addiction, especially amongst the younger generation. Apple (being the number one contributor to that addiction) has begun to address this issue by implementing a new feature on iOS 12 called Screen Time. Screen Time provides you with a weekly report of how much time you have been spending on your iPhone, how often you check your iPhone, and what apps you’ve been spending the most time on.

The user-centric aspect of Screen Time is how customizable it can be. Users can:

  • Set limits for the time they spend on specific apps, with warnings when you get close to your limit
  • Set limits on their children’s devices remotely to help limit their usage
  • Set Downtime for when apps won’t be displayed and indicate when specific apps aren’t usable
  • Screen Time is Apple’s way to contribute to solving a social issue that they’ve helped create, all while keeping the user’s decisions to choose their settings in mind.

Security and Privacy:

In the tech world, people are always worried about their online presence, and whether their data is safe or not. Apple and Kyo Logic are two companies that show a similar drive to keep our user’s data safe. As per usual, Apple touched base on how up to date their security and privacy software is, but something especially interesting popped up that we found notable.

We have all seen the relentless “like” and “share” buttons on almost every website nowadays. These buttons can track and take down information from the user without even clicking them. Apple has made the stride to get rid of their user’s worry by disallowing this ability with iOS 12’s new Safari. To keep with Apple’s general theme of the conference of keeping the user at the center of everything they do, Apple has made this function optional. Every time one of these buttons is in effect, the user will have to allow access.

Apple is keeping the customer in the center of its update by thinking ahead of possible security threats, yet also allowing the user to bypass this security measure if they choose to do so.

Swift and The Apple Learning Community:

As any FileMaker user could tell you, coding is the language of technology and the future. Apple has been spreading the idea of how learnable the ability to code is through the implementation of Swift and Swift Playground. Both technologies have been out for a couple of years now, but Apple is pushing to get the public involved in coding for free.

Apps like Swift Playground make learning how to code very easy, and especially fun for inexperienced coders. Apple says, “We think everyone should have the opportunity to create something that can change the world. So we’ve designed a program that lets anyone learn, write, and teach code.”(Apple)

This entire movement falls under Apple’s overarching goal of the Apple Learning Community. Apple is pushing to get coding classes in all schools, enabling the next generation to create mind-blowing and groundbreaking apps that could change the world. For even more information on the Apple, Learning Community click here.

With the release of iOS 12, Apple includes an entire learning community with abilities of the public to become teachers and students to spread valuable knowledge.

By creating an available source of valuable education, and catering towards our youth, Apple has been continually showing us how customer-driven they are both for-profit and the betterment of society.

iOS 12 Beta

If you would like to access the Beta of iOS 12, click here, and help Apple make it their best release yet!

Work Cited:

iCrackUriDevice. “LIVE: Apple WWDC 2018 – IOS 12 & MORE – Video Stream (June 2018 Keynote)!” YouTube, YouTube, 4 June 2018, www.youtube.com/watch?v=61U4_ygZolo

“Everyone Can Code.” Apple, Apple.inc, www.apple.com/everyone-can-code/.