Cameron Frye

Claris FileMaker 19’s ‘B-List Celebrities’, Part 1: Get ( PageCount )

When a new version of FileMaker comes out there are always headline features that developers can’t wait to get their hands on. These features open up new ways of working with the platform and allow us to build applications that were once impossible, and they rightly deserve the attention they receive. Keep looking down that new features list and you will come across some that are less glamorous, but still highly useful.

Just as Ferris Bueller needed Cameron Frye in Ferris Bueller’s Day Off, every new version of FileMaker needs its strong supporting actors. Now that FileMaker 19 has been out for a few weeks and you’ve had time to try out the ‘A-list’ features like JavaScript integration and card support in WebDirect I invite you to come back and take a look at some of the ‘B-list’ features without which no release would be complete.

In an effort to give these features their due, I’ll be putting out a short article each week highlighting one of these ‘B-List’ features.

Print Total Page Count

If you’re a long-time FileMaker developer you’ve probably been asked to create a report that shows how many total pages are in the report on each page. Something like: “Page 1 of 20”. It’s a reasonable request and it’s something you might assume was already in FileMaker’s feature set, but you would be wrong.

While there were ways to do this in the past (and I’m tempted to describe the technique I’ve used historically) I’ll content myself with saying that it was a pain and I’m glad I’ll never need to do it again thanks to the new Get ( PageCount ) function.

To use this, or any other Get function, directly on your layout simply wrap the portion that would normally appear inside the parenthesis with double curly braces. For example to make the bottom of each printed page show:

Page: 12 of 18

You would add the following to your layout’s footer:

Page: {{PageNumber}} of {{PageCount}}

Note: Be aware that the {{PageCount}} will display as a ‘?’ when you view it in Preview mode. I’ll admit I spent 15 minutes trying to figure out what I’d done wrong until I realized that it doesn’t get replaced with a number until you actually print it. This is probably due to the fact that different printers have different page margins and your last page (and thus your actual page count) can’t be determined until you select your printer from the Print dialog.

About Skeleton Key

Skeleton Key develops apps on the FileMaker platform making them easy-to-integrate, easy-to-use, and quick to build and deploy. Our team of experts takes a comprehensive consulting approach to focus on learning how your organization operates. With deeper insights into the way your team works, we’re able to create an ideal solution built around your operations while forming a partnership founded on trust and transparency. We hope you found this content useful and we would love to hear from you if we can be of any further assistance.

some-steroids-are-clearly-not-good-for-you

Is FileMaker Just Microsoft Access on Steroids?

Strangely enough, every few years some well-meaning IT professional asks us this question, and to be completely honest, we can understand why. Eons ago, in the early days of the FileMaker product, this comparison made sense, as both FileMaker and Access let a user author databases that were self-contained and for individual users. Since then, a lot has changed.

The short answer to the title question is: NO.

A slightly longer answer would be something like this: FileMaker is a development platform that supports modern standards, native servers on Windows and Mac OS, and hundreds of simultaneous users on both native and web-based clients across multiple operating systems and device types. Microsoft Access, on the other hand, is a database application for building locally-hosted databases for very small teams of Windows users only.

So is FileMaker right for your organization? Here are some points worth knowing if you are considering FileMaker vs. Access:

  • FileMaker provides both a client-server architecture (for widespread deployment of a solution), as well as the ability to launch the very same solution locally on a standalone workstation or supported mobile device. This allows for both greater flexibility during the solution development lifecycle, as well as a hedge against interruptions to business continuity.
  • FileMaker offers native clients for Windows, macOS and iOS, and offers a browser-based client for several brands of supported browsers on virtually any workstation, tablet or mobile device, independent of the operating system.
  • FileMaker offers Encryption at Rest (EAR), Encryption in Transit (EIT), role-based security, field-level security,  conditional access and validation based on calculations, Active Directory integration, and OAUTH integration as native features of the platform.
  • FileMaker supports live integration with a variety of SQL sources within both the server and the native client. Supported SQL sources include Microsoft SQL, ORACLE, MySQL, PostgreSQL and Db2. This integration allows tables and views from those data sources to be commingled in the FileMaker data schema, along with native FileMaker data, and to be expressed in FileMaker layouts and manipulated by FileMaker scripts.
  • FileMaker offers a native REST API, and can integrate with third-party systems using REST, JSON, JavaScript and cURL.
  • On iOS, the FileMaker platform also offers camera, gesture, GPS and sensor integration.
  • The server and workstation components of the platform also support an extensible plug-in architecture with a rich eco-system of plug-in developers.
  • FileMaker can easily scale to support hundreds of simultaneous users on a single instance of FileMaker Server. FileMaker Server is available in the AWS Marketplace as FileMaker Cloud for AWS and now as FileMaker Cloud (Standard and Essentials), which offer secure and scalable cloud-based options for hosting solutions with high availability and an extra layer of security.
  • FileMaker, Inc. has been a consistently profitable business for decades and is a wholly-owned subsidiary of Apple. The platform has seen a growth in R&D in the past decade, with dramatic investments in the technology, annual releases of new versions, and a publicly visible roadmap that continues to embrace modern standards, additional enhancements to security, further scalability, additional integrations, etc.
creative-mind-creative-teams-data-in-FileMaker

How Does FileMaker Solve the Biggest Problems for Creative Teams?

Internal creative teams face diverse challenges for project, product and asset management. The same app often needs to serve as a project tracker, as well as a database for thousands of proprietary products and their associated rich media files. Because creative teams are well aware of how that app should function, the shortcomings of off-the-shelf databases and cloud solutions are all too apparent.

This is why larger companies (and agencies) often turn to their IT teams to build a custom app for them, as most teams are at least aware of the solutions landscape, and many have their own developers to support teams internally.

However, working on (and supporting) the evolution of a custom app (as opposed to an off-the-shelf software product) is a very different animal. IT managers need to stay more focused on implementation and management than on internal custom app development. IT specialists may not have the time or the flexibility, let alone the skill, to satisfy the complex and tailored needs of a marketing and digital creative team.

Developing an app requires flexibility, agility, and customization. Claris FileMaker remains one of the most well-known custom app building platforms on the market. It addresses the needs of creative groups that require a secure, robust, and most importantly, responsive database.

What Do Creative Teams Need from an Asset Management Database?

Digital marketing and communication teams work with a wide range of partners and audiences both outside and within the company. Internally, that same team often serves crucial income-generating sales, product, and e-commerce teams…all of which are demanding quality assets on an ongoing basis.

During any given day, internal communications and marketing teams interact with:

  • Multiple audiences (B2B and B2C)
  • E-commerce/product databases
  • Creative agencies
  • Production companies
  • Printing companies/fulfillment houses
  • Internal product and sales teams

Keep in mind (though we hardly need to remind internal marcom folks) that internal departments do not necessarily share the same location. Designers and creative directors also interface frequently with outside agencies, with those agencies both receiving and generating massive image and video files. Retail partners often have final approval over floor displays and graphics.

The cloud isn’t always the best solution for transferring and sharing resource-demanding files like high-res images and videos. You have no way of controlling the bandwidth speeds of offsite third parties, and those large files can be time-consuming to download.

As the team delivers different revisions of images and video, keeping them in one location undercuts the headaches of verifying which versions have been approved. A unified, searchable repository custom-built specifically for your workflow refines the entire resource management process.

creative team maximizing productivity

Why FileMaker?

Designers and creative directors will often tell us that they need something more robust than a searchable database. They also need a project management tool to ensure that everyone involved in the process turns in deliverables on time.

Creative teams often try to solve the problem of product definition and asset management with spreadsheets. Shared sheets do pose as a temporary solution. In the long term, however, reliance on spreadsheets leads to lost data, confusion, time-consuming manual updates, and reduced productivity.

FileMaker is a custom app building platform with endless integration opportunities for your individual data environment. We recommend FileMaker for creative teams for a few key reasons:

  1. Ties into different project management tools
  2. Easy to use
  3. Keeps records easily identifiable and organized
  4. Fast and easy to customize for your internal processes
  5. Manages thousands of individual pieces of creative (images, photos, etc.)
  6. Creates a paper trail of the workflow of your internal creative team
  7. Tracks the process that gets creative to deliverable status
  8. Offers features like project request forms

Because it easily syncs and follows project management flows, it enables everyone to follow the same schedule. As a tool, it can be used within individual groups or company-wide, giving you an inherently future-proof data solution.

Why Localized FileMaker Hardware Instead of a Cloud Solution?

Storing items locally may sound counterintuitive in the age of the cloud. Even as memory gets increasingly cheaper, the cost of cloud storage can be unpredictable when you’re storing resource hogs like full-res graphics and photos.

There’s also an IP issue to consider with local storage: You own both the app and the data. You manage every single creative asset in a database that sits on hardware to which you control access.

With your own app, you’ve got utterly proprietary, private, and localized assets. As a department, you also control the fate of those assets. If, in the future, your IT management changes your cloud infrastructure, this saves you the headache of migrating those massive files from several different cloud-based directories to yet another cloud structure.

There’s also the issue of security. Creative images often feature products that haven’t yet been released, or are managed by strict NDAs. A local server gives project managers decisive control over embargoed materials. The cloud offers plenty of security, but a localized resource may provide even more oversight for pieces of creative that have a restricted “for your eyes only” audience.

Why Work with a Third Party Instead of Going it On Your Own?

Expertise is always going to cut down on development time and cost. A professional FileMaker developer like Skeleton Key evolves into an available partner utterly familiar with your business environment and your departmental needs.

A creative team can also have additional control when working directly with a development firm. As the primary user group for the app, your team knows what it needs, and it might be inefficient to try to communicate those needs through an internal IT manager. In other words: When you communicate your needs directly to a firm whose main mission is to deliver a custom app, nothing gets lost in translation.

Lastly, your needs will change. Tools—all tools—will depreciate over time. Maybe a UX will need a refresh. In the tech world, a year or two could represent a decade of evolution. Having a partner in place who already understands your departmental needs and culture makes those refreshes more cost-effective, faster, and well-informed. A reputable developer will help you take expedient advantage of new tools that come into the market over time.

work with a FileMaker Expert

Working with an expert provides:

  • Additional flexibility and resource/cost management
  • Improved collaboration across teams
  • Tried-and-tested efficient development process
  • Actions and customization based on your individual use cases

Creative Teams Drive Technical Innovation

Designers and digital marketing professionals need IT solutions that are sophisticated but simple to use. As a highly customizable solution, FileMaker is a well-resourced platform that functions as data repository, searchable library, and project management tool for your team, no matter your audience or your campaign.

We have extensive experience in customizing FileMaker apps for a wide range of creative leaders in companies that share a wholesale and retail audience. Use the contact form below if you want to find out more!

untitled copy 300x83

April – Meetup: FileMaker Web Service Integration With The FileMaker Admin API

Please join Skeleton Key’s FileMaker STL meetup, Tuesday, April 3rd, 6pm (CT). Colleague, Greg Lane, will present: FileMaker web service integration with the FileMaker Admin API. The FileMaker Admin API allows web services to perform administrative tasks on FileMaker Cloud. During this meeting, Greg L. will show how to use FileMaker Pro to connect to the FileMaker Admin API to manage users and perform other tasks. We’ll look at some general techniques for using the Insert from URL script step with cURL options to integrate with any REST-based web service, so even if you aren’t using FileMaker Cloud, you’re sure to find something useful. Our Meetups are always intended to create dialog among attendees and generate a renewed excitement for the love of what we all do as part of the FileMaker community. Be sure to RSVP now! FileMaker STL About Skeleton Key Skeleton Key helps turn complex, complicated, and outdated systems into true information platforms. Our team of consultants and developers do this by developing custom-fit software tools and reporting dashboards that help businesses find, use, and understand their data, freeing them to focus on and grow their core business. In addition to custom databases and applications, we also provide training and coaching for getting the most out of your existing systems and understanding your unruly data. Skeleton Key is an open-book management company and active player of the Great Game of Business.

sk alexa ask filemaker06

January-FileMaker STL Meetup: “Alexa, ask FileMaker…”

Please join Skeleton Key’s FileMaker STL meetup, January 23, 2018, 6pm (CT). Colleague, Jeremy Upton, will present: “Alexa, ask FileMaker…”.

"Alexa, ask FileMaker..."

SK is Skeleton Key. Skeleton Key is host to FileMaker STL

Hey Siri. Hey Google. Hey Alexa…the holiday season was explosive with its ads for voice command devices. Wouldn’t it be cool if you could say something like “Hey Alexa, ask FileMaker how many contacts live in the state of Texas?”, and have the results of your FileMaker database said back to you? We think so too! And that’s why we are excited to have Skeleton Key’s very own Jeremy Upton lead the meetup topic this month. Jeremy will introduce you to the free, event-driven developer resource provided by Amazon called AWS Lambda. His live demos will use JavaScript, running as a Lambda function, that utilizes an Alexa Skill kit to allow voice controlled queries of a hosted FileMaker file. No JavaScript knowledge is required! Jeremy Upton has been a FileMaker Developer for 20 years starting with version 4. He has been a Skeleton Key crew member since October 2016. Our Meetups are always intended to create dialog among attendees and generate a renewed excitement for the love of what we all do as part of the FileMaker community. Be sure to RSVP now!      

About Skeleton Key

Skeleton Key helps turn complex, complicated, and outdated systems into true information platforms. Our team of consultants and developers do this by developing custom-fit software tools and reporting dashboards that help businesses find, use, and understand their data, freeing them to focus on and grow their core business.

In addition to custom databases and applications, we also provide training and coaching for getting the most out of your existing systems and understanding your unruly data. Skeleton Key is an open-book management company and active player of the Great Game of Business.

 

Skeleton Key is Headed to FileMaker DevCon 2017

Mark Richman, President, Greg Lane, VP of Application Development, and Application Developers: Chad Adams, Jay Sayers, Todd Stark, and Jeremy Upton, are headed to Phoenix, AZ from July 24-27 to participate in FileMaker, Inc.’s annual Developer Conference aka DevCon. They’ll be staying at The JW Marriott Phoenix Desert Ridge, host hotel of more than 50 DevCon sessions. They will join over 1,500 FileMaker developers to network, catch up with colleagues. Primarily, they will take advantage of the variety of session tracks, to further their knowledge with tips, best practices, and techniques to continue building powerful business solutions for our clients. Mark R., Greg L. and Chad A. will have the honor to host the following sessions:

Other Highlights:

Other Important Links – #FileMakerDevCon

About Skeleton Key Skeleton Key helps turn complex, complicated, and outdated systems into true information platforms. Our team of consultants and developers do this by developing custom-fit software tools and reporting dashboards that help businesses find, use, and understand their data, freeing them to focus on and grow their core business. In addition to custom databases and applications, we also provide training and coaching for getting the most out of your existing systems and understanding your unruly data. Skeleton Key is an open-book management company and active player of the Great Game of Business.

Web Service Int

A Simple Browser-Like Back Button in FileMaker

I recently tackled a request from a client to implement a back button that functioned similar in nature to the back button in a web browser. This is certainly not an uncommon request and a simple explanation as to why this isn’t practical normally results in the client withdrawing their request. However, the customer was adamant that they wanted this functionality. So, I set out to design a solution for them and came up with a solution using snapshot links.

Snapshot History Demo

Using snapshot links (.fmpsl), a user’s layout, found set, sort order and current record can be restored without any fuss. The trick is making this whole process as seamless as possible for the user. And a few other, minor, gotchas. The general idea behind this is simple and requires only a few aspects to be in place. I have split these up into the following categories: script triggers, snapshot history and restoring snapshots.

Script Triggers

The first step is to create a script trigger that saves a snapshot link every time the layout changes. This snapshot link will store the user’s current layout, found set, sort order and current record in the snapshot link. The snapshot link is generated with a timestamp in the filename to keep it unique and the snapshot links are stored in the temporary path. The second step is to create a script trigger that updates the snapshot history variable (detailed below) when a new window is opened. This script will remove the most recent snapshot link path from the history variable. One thing of note: On Layout Exit script triggers will not be triggered if you navigate away from the layout while in find mode. Keep this in mind when creating navigation scripts.

History

At the time the snapshot link is created the full path for the snapshot link is stored in a global history variable ($$history). Every snapshot link gets added to the beginning of the history variable with a return character at the end. The result is that the history variable contains a return-delimited list of paths to snapshot links.

Restoring Snapshots

Here is where things get to be a little trickier and where making things seamless comes in to play. Here is a brief timeline of what occurs when a snapshot link is opened: 1. The solution is opened in a new window (at the default location and size) and the default layout is displayed. 2. The OnWindowOpen script trigger is fired. 3. The snapshot loads the layout, found set, sort order and current record. The first problem you will run into is that you haven’t actually navigated back to the desired layout and found set. You now have two open windows, one of which has a window name of the filename for the snapshot link. This new window is not ideal. I was able to resolve this with the following: Store the current window name, location and dimensions in global variables before opening the snapshot link and rename the current window. Restore the window to the location and dimensions we stored once the snapshot link is opened. This can be accomplished by the OnWindowOpen script trigger. NOTE: You cannot do this step in the same script that opens the snapshot link. You will need a separate script that is triggered and ran by the window opened with the snapshot link. Rename the new window then close the old window. But don’t create a snapshot for this window! See other notes below. This results in the user seeing a brief flash on the screen followed by their previous layout and found set now being restored. Nearly seamless!

Other Notes

The solution I built this feature for had some dialog windows at various points. I did not want to include these dialog windows in the history so I incorporated a bypass global variable. Any script that opened a dialog window would set the bypass variable to 1. I then incorporated an if statement at the beginning of my scripts that set bypass to “” and exited the script when bypass was set to 1. This effectively routes around the creation of the snapshot link, where desired. This was also useful when I realized that closing the old window caused a new snapshot link to be created. This technique is not the most robust method out of the box but it could certainly be expanded upon. One idea I had was to encode additional parameters into the snapshot link name. These parameters could identify active layout objects, local variables, window parameters, etc. This was not necessary for this particular implementation but could be added into future implementations.

Demo File

I have put together a simple demonstration file detailing the methods I described above. Click here to download the demo file.

Calvin Cooper is a FileMaker Certified Developer at Skeleton Key.

About Skeleton Key

Skeleton Key helps turn complex, complicated, and outdated systems into true information platforms. Our team of consultants and developers do this by developing custom-fit software tools and reporting dashboards that help businesses find, use, and understand their data, freeing them to focus on and grow their core business. In addition to custom databases and applications, we also provide training and coaching for getting the most out of your existing systems and understanding your unruly data. Skeleton Key is an open-book management company and active player of the Great Game of Business.

FileMaker CWP performance tip

If you have a website that connects to a FileMaker database, this simple tip might help improve performance. One particular site we built connects to a legacy FileMaker database that was built years ago by another developer. The solution has one of the more complex relationships graphs I’ve seen, and it takes over ten seconds for a FileMaker Pro client to open the hosted file. Ten seconds is not a big deal when you’re opening a database once per day. However, it turns out that this ten-second delay was also affecting our website. As we investigated the reports of intermittent performance issues, we found that the first page a user accessed would sometimes take more than ten seconds to load. When the FileMaker Server Web Publishing Engine (WPE) receives an XML or FileMaker API for PHP request, it opens a connection to the database and fulfills the request. After the request is processed, the WPE will wait three minutes before closing the connection. If additional requests are received while the connection is open, that connection will be reused and the three minute timer starts over. When we finally connected the dots and realized what was happening, the solution was obvious…we just needed to keep the database connection open constantly so that users never experience the delay. In our case, we simply created a FileMaker script with an “Insert from URL” script step that calls a PHP page that loads a small amount of data from the FileMaker database. We then created a schedule in FileMaker Server to run the script every minute. The same thing could be accomplished in a number of ways, such as the Laravel task scheduler or even a cron job. This simple change made a significant difference for the website users who no longer encounter that ten-second delay.

Skeleton Key helps turn complex, complicated, and outdated systems into true information platforms. Our team of consultants and developers do this by developing custom-fit software tools and reporting dashboards that help businesses find, use, and understand their data, freeing them to focus on and grow their core business.

In addition to custom databases and applications, we also provide training and coaching for getting the most out of your existing systems and understanding your unruly data. Skeleton Key is an open-book management company and active player of the Great Game of Business.

Skeleton Key is headed to FileMaker DevCon 2016

top, right: Mark Richman; bottom, left to right: Calvin Cooper, Chad Adams, Greg Lane top, right: Mark Richman; bottom, left to right: Calvin Cooper, Chad Adams, Greg Lane Mark Richman, President, Greg Lane, VP of Application Development, Chad Adams, Senior Developer and Trainer, and Calvin Cooper, Developer, are headed to Las Vegas from July 18-21 to participate in FileMaker, Inc.’s annual Developer Conference aka DevCon. They’ll be staying at The Cosmopolitan, host hotel of more than 60 DevCon sessions. They will join over 1,500 FileMaker developers to network, catch up with colleagues and take advantage of the variety of session tracks including core, design, innovation, mobility, business & web, to further their knowledge with tips, best practices, and techniques to continue building powerful business solutions for our clients. Mark and Chad will have the honor to host three of these sessions. SESSIONS:

  • Mark will contribute to the business track in his session, Developing a Sales Process, on Tuesday, 7/19 at 10:45am. You’ll get the most from this session, if you believe that influencing others is part of your job, and that repeatable success depends to some degree on repeatable behavior.
  • Mark will also contribute to core track in his session, Designing for WAN Performance, on Wednesday, 7/20, 9:00am. To get the most out of this session, attendees should be familiar with most aspects of the FileMaker Platform (i.e. schema, security, structure, and business logic) and should have some experience deploying and administrating FileMaker Server.
  • Chad will contribute to core track in his session, Relationships Graph Techniques: Which is Best – and When? on Wednesday, 7/20, 3:45pm. To get the most out of this session, Attendees should have some experience building FileMaker custom apps and be familiar with the concept of FileMaker relationships and the Relationships Graph. Scripting experience will be helpful.

COMPETITION:

During the conference, small teams will demonstrate their creativity and expertise, competing in an informal hackathon to design simple-but-useful custom apps for three Las Vegas area nonprofits. Learn more here. Skeleton Key’s Chad Adams & Calvin Cooper will participate on team Four Empty Coffee Cups in competition with 5 other teams, creating a custom solution for the Nevada non profit, Foster Kinship. DC5-Full w-no-names OTHER HIGHLIGHTS:

  • Ask The Experts: Tech Support Central – drop in Tuesday – Thursday
  • Ask The Experts: Visionary Bar – sign up for a time slot Tuesday – Thursday
  • Ask the Experts: Office Hours – sign up for a time slot Tuesday – Thursday

OTHER IMPORTANT LINKS – #FileMakerDevCon

About Skeleton Key Skeleton Key helps turn complex, complicated, and outdated systems into true information platforms. Our team of consultants and developers do this by developing custom-fit software tools and reporting dashboards that help businesses find, use, and understand their data, freeing them to focus on and grow their core business. In addition to custom databases and applications, we also provide training and coaching for getting the most out of your existing systems and understanding your unruly data. Skeleton Key is an open-book management company and active player of the Great Game of Business.

Sizing layouts for Android devices for FileMaker 15 WebDirect

With the release of FileMaker 15 Server the Chrome browser on the Android operating system is now supported for use with FileMaker 15 WebDirect when using devices with a five inch or larger screen. I have spent some time testing this out and I’ve found that things seem to work as well as it does on the other platforms. However, during my testing I did come across something I found to be a bit odd and not quite as intuitive due to the variety of Android screen sizes and resolutions. iOS has historically used whole number multipliers to scale to the native screen resolution. Using either a 2x or 3x multiplier they can scale the output resolution to the native screen resolution and keep all elements of the items large and legible on the device screens. Android uses multipliers in the same manner as iOS, however the difference is that Android strays from simple 2x and 3x multipliers. Depending on the device resolution the multiplier may be anywhere from 1.3x to 3.5x! With the increasing density of new devices this problem is only going to get worse. Fortunately, there is a very nice reference available at https://design.google.com/devices/ that provides the dp (density-independent pixels) of various popular devices. Using the dp value you can determine your starting point when designing the size of our FileMaker layout. But the fun does not stop there! To complicate things the actual usable space that is available on the device is further limited by things such as the notification bar, status toolbar and button bar. And…one last thing: There is no defined cut off between pixel density for tablets. I’m not going to go into too much detail since the Android developer documents do a great job of explaining why this is complicated. I will just say that a general rule would be that if the width is 600dp or higher the device is most likley a tablet and will behave slightly different from a phone. https://developer.android.com/guide/practices/screens_support.html#DeclaringTabletLayouts

How To Calculate Usable Screen Size

First, some important numbers: 1 dp = ~1pt

iOS:

iOS Screen Elements Notification Bar and Safari Search Bar Height: 64 dp Safari Tab Bar Height: 32 dp Status Toolbar Height: 44 dp

Android Phone:

Android Screen Elements Notification Bar and Chrome Search Bar Height: 80 dp Status Toolbar Height: 44 dp Button Bar Height (Portrait): 48 dp Button Bar Width (Landscape): 48 dp

Android Tablet:

Notification Bar and Chrome Search Bar Height: 120 dp Status Toolbar Height: 44 dp Button Bar Height (Portrait and Landscape): 48 dp

iOS calculations:

For iOS devices it is simple to calculate how much space the notification toolbar and status toolbar take up since the layout elements are consistent across phones and tablets. For iOS devices use the following formula to determine the usable vertical dp: Without Status Toolbar and no tabs = vertical dp – 64 dp With Status Toolbar and no tabs = vertical dp – 108 dp Without Status Toolbar and tabs = vertical dp – 96 dp With Status Toolbar and tabs = vertical dp – 140 dp

Android calculations:

For Android devices it is slightly more complicated since chrome is displayed differently on tablets than on phones. You also have to take into account the button bar for devices that have on-screen buttons. Tablets always move the button bar on the bottom of the screen when switching between portrait and landscape orientation. Phones keep the button bar on the bottom or right, depending on orientation. This, of course, only applies if your Android device has on-screen buttons.

For Android phones without on-screen buttons:

Portrait and Landscape: Without Status Toolbar = Vertical dp – 80 dp With Status Toolbar = Vertical dp – 124 dp

For Android phones with on-screen buttons:

Portrait Orientation: Without Status Toolbar = Vertical dp – 128 dp With Status Toolbar = Vertical dp – 172 dp Landscape Orientation: Without Status Toolbar = Vertical dp – 80 dp With Status Toolbar = Vertical dp – 124 dp Available Width = Horizontal dp – 48 dp

For Android tablets without on-screen buttons:

Portrait and landscape: Without Status Toolbar = Vertical dp – 120 dp With Status Toolbar = Vertical dp – 164 dp

For Android tablets with on-screen buttons:

Portrait and landscape: Without Status Toolbar = Vertical dp – 168 dp With Status Toolbar = Vertical dp – 212 dp

Calculating WebDirect Screen Size The Other Way

As an alternative to the math: FileMaker 15 has some built in functions that will calculate the usable space available to you. You can use the Get(WindowContentHeight) and Get(WindowContentWidth) functions to return the usable space in pts that is available at the time you call the function. Showing or hiding the toolbar will allow you to determine the usable space for either scenario. Of course, you need to be calling the function on the device while connected with Web Direct to get a result on the device. This makes it a bit more time consuming to set up if you don’t already have FileMaker WebDirect configured and running.

Calculating WebDirect Screen Size the Easy Way

To make calculating the screen size even simpler I have created a simple utility that will calculate the usable space available for your device. This Javascript based utility uses the formulas above to determine the usable space for your device. To use this tool simply navigate to the link below from your target device and view the results! https://skeletonkey.com/webd_screen_calculator.html Calvin Cooper is a FileMaker 15 Certified Developer at Skeleton Key. About Skeleton Key Skeleton Key helps turn complex, complicated, and outdated systems into true information platforms. Our team of consultants and developers do this by developing custom-fit software tools and reporting dashboards that help businesses find, use, and understand their data, freeing them to focus on and grow their core business. In addition to custom databases and applications, we also provide training and coaching for getting the most out of your existing systems and understanding your unruly data. Skeleton Key is an open-book management company and active player of the Great Game of Business.