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.
There are virtually countless considerations to make when designing a website or application: typefaces and font hierarchies, design elements, colorways, workflows, CTAs… the list is endless. Most importantly, brands must envision how these elements coalesce to provide a positive user experience that’s reflective of your offerings.
Half of all web traffic comes from mobile devices, and Apple and Android applications are naturally being accessed from a phone or tablet. Understanding how users interact with a mobile device is critical in optimizing the user experience.
When designing a website intended for both desktop and mobile, the most obvious difference is alignment. Monitors and laptop screens are traditionally horizontal, while phones are vertical. A gorgeous pop-out menu with dozens of items might look amazing on desktop, but squished or cut-off on a phone. Intricate fonts that make your brand stand out might be virtually unreadable on a mobile device. Text can get squished. Buttons may feel out of reach.
Organize Content for Mobile
As mentioned, great desktop sites don’t translate well to an optimal mobile experience. Cramming detailed menus and complex infographics onto a tiny screen just doesn’t work. Vertical dropdown menus make navigating a website much simpler for mobile users.
Collapsible categories are also incredibly useful. Browsing dozens of options on a desktop is fine, but daunting on mobile. Allowing users to hide or show relevant categories will ensure their precious screen real estate isn’t being taken over by info that isn’t necessary for their experience.
Be Mindful of Touchscreens
A critical button or menu at the top of a screen might not mean much for desktop users, but it’s effectively out of reach for visitors on mobile. People tend to browse on their phones with one hand. Their other hand might be preoccupied holding a subway pole, a baby, or any number of other things. As such, placing menus and CTAs at the bottom of the screen— where their thumbs can easily reach— makes for a much better user experience.
Streamline
The faster a user can complete a task, the better. Mobile applications and sites should prioritize their primary function above all else. For example, an ecommerce app should make it easy for users to open the app, find their products, and make a purchase. This may involve placing a core group of popular items front and center, as opposed to the eye-catching graphics they would’ve seen on the desktop site.
Long, drawn-out forms are also discouraging for mobile users. Simplify the number of fields when possible, or place them on multiple screens.
Integrate Other Phone Applications
Mobile users expect certain functionalities when selecting them on their phone. For example, a contact page with a phone number and email should open those related applications. Links to relevant apps in their app store and addresses that open a map application are also considered standard integrations.
Optimized mobile designs mean less obstacles and pain points for customers to navigate. The easier an app is to use, the more likely a customer can access the information they need to have a successful interaction. If you’re looking for ways to design a fantastic mobile app for your company, Kyo Logic would love to hear from you. You can contact us here.
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.
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:
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.
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.
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.
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?
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
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 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:
Report
to the user what the logic is for deleting time sheets.
Re-enable
this schedule on FileMaker Server after installing a new FMS version. Determine
which day of the week to set it up for.
As
a developer seeing this for the first time, determine the purpose and expected
result of this script.
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:
The
script is easy to find within the workspace; follows clean naming convention.
The
purpose of the code is explicitly stated at the top.
Any
parameters for the script are explicitly stated.
There
are clear “Sections” of the script.
Any
calculations that are beyond the “basic” level have commenting, which can
detail the expected result(s).
All
business logic should be commented throughout the script where applicable. The
future developer should not draw questions or have to make assumptions.
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.
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.
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 data:text/html,
Download eSignature Application
Please complete this form to download the FREE file.
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.
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.
*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!
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.
Startup script
Navigation script
Layout naming convention
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!
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!
We use cookies to ensure that we give you the best experience on our website. If you continue to use this site we will assume that you are happy with it.OkNoPrivacy policy