FileMaker Meetups: Seattle, Portland, Santa Clara & LA
Beezwax’s Vincenzo Menanno is hitting the road this week to visit our FileMaker colleagues across the West Coast, talking about “FileMaker Collaboration, Performance and Insight with InspectorPro”. Vince will be presenting our latest research, development and product offerings to FileMaker Developer Meetups in Seattle, Portland, Santa Clara and Los Angeles. If it weren’t a 4-day work week, who knows what other cities we’d be visiting!
Here’s a schedule of events, dates and times — and a Big Thanks to Meetup organizers for your help in hosting Vince’s presentations.
This is Julian‘s Out of Office email reply. We thought it would be fun to share it, along with the work mentioned herein. Enjoy!
From: Julian Nadel
Subject: Out of Office; @ Burning Man
Hello. I am off-line, returning to email on September 7th.
I’m at Burning Man. It’s a fun place. And a place of great creativity and innovation. It is a testing playground – for art and music, for technology, for costumes, for self-expression, for relating to others. For me, helping to organize Burning Man camps over the years has informed my perspective on successful (and unsuccessful) organizational structures.
A successful Burning Man camp is based on Do-Ocracy, supporting and rewarding each person for contributing to the best of their ability. As is a successful company.
Optimized for FileMaker 15, the new version of bBox includes 160 examples
We are pleased to release another update to bBox, v0.84 of our free utility plug-in to extend FileMaker solutions to other programs, code libraries, and OS X functions including Python, Ruby, AppleScript, Perl, Bash/sh, XPath, and SQLite.
This version has the following changes:
added function descriptions (FileMaker 15 only)
was returning wrong error code if problem reading output from POSIX commands (Bash, Curl, etc.)
new “no wait” option for Bash, Curl, and Sort to run processes asynchronously
new bBox_PythonEval for quick & easy calls with larger Python scripts or classes
Ever wonder how you might be able to create a mobile app with data you already have in your FileMaker solution? I have, too! As it turns out, it’s not too outlandish of an idea thanks to the FileMaker Custom Web Publishing with XML API.
You might wonder, why build a native app? Depending on your data, or your use case, your users may benefit from the native functionality built into both iOS and Android which can provide advanced interfaces and features not readily available in FileMaker Go.
In this blog I will demonstrate how you can leverage the XML API to treat your FileMaker as a back-end and RESTful service. This technique allows for bidirectional communication from both a native iOS app in Swift, and a native Android app in Java. As a bonus, I will show you a workaround to upload container data to your database (according to FileMaker Inc. this is a limitation of the CWP XML API)!
Installation of FileMaker Server
FileMaker Intermediate to Advanced skills
FileMaker file with fmxml Extended Privilege set enabled
Permissions on the server to read and write
Ability to update the php.ini post_max_size and upload_max_filesize to allow large enough files
Installations of Xcode and/or Android Studio
Knowledge of Swift and/or Java programming languages, iOS and/or Android SDK’s
That sounds like a lot of prerequisites, doesn’t it? Well, this article doesn’t require you to know both iOS and Android development. You can be familiar with only one or the other, and still be able to follow along.
FileMaker 15 introduces a major enhancement for the Script Workspace that is a real boon for developers: editing Undo and Redo. This functionality continues the efforts at making the Script Workspace more like a “text editor”. It’s a stress-reducing development enhancement that I think will improve our ability as FileMaker Developers to write scripts. Undo/Redo gives developers a lot more freedom to experiment with code, without having to carefully manage the editing to avoid trashing existing code. When a refactoring doesn’t work as expected you can simply undo the change and get back to where you were. This new feature will even help you avoid embarrassing situations.
That said, it is helpful to understand exactly how FileMaker has implemented the script Undo/Redo so that you understand the capabilities and limits of the feature. I suggest you fire up FileMaker 15 and explore each of these points, hands on, as you read. Please also take a look at FileMaker’s documentation regarding this new feature.
SSL certificates are a very common way to secure client/server network connections, and the FileMaker platform has made use of them for many years. With version 15 however, FileMaker has made a number of security changes, in handling SSL and certificates, on both the server and the clients. But where do they come into play, and how might this affect your deployments?
In the transit-planning universe, planners and economists often get excited about 5 minutes shaved off of a 30-minute bus ride. The individual rider might shrug at a mere 50 minutes saved per week, but the planners and economists multiply that 50 minutes by the number of people who ride that route during a typical week and see something much bigger. There’s a compounding effect: it doesn’t take long before these small gains in efficiency add up to a huge economic impact overall.
What’s this have to do with FileMaker, you ask? Well, the new FileMaker 15 is now available, and the inevitable question comes up “should we upgrade?” Sometimes the best discoveries when a new version of FileMaker hits the shelves are the “sleeper” features and under-the-hood improvements. In the most extreme cases, these go entirely undocumented by FileMaker Inc.; such is the case with the improvements in portal performance that accompany the FileMaker 15 release.
Portals being a very important part of the FileMaker user interface, anything affecting their performance, good or bad, is going to have a major impact on the user’s experience. Users of a database application often spend large chunks of their workday in the application, so, like that 5 minutes shaved off the bus ride, small efficiencies add up through the same compounding effect. And, as you’ll see, this one is a “big” small efficiency!
No, I’m not talking here about the new, threaded portal rendering (aka “inline portal progress bar”) that is a key public feature point for FileMaker 15; I’m talking raw performance optimization. So impressive is this optimization, in fact, that I never even saw the new inline progress bar during my testing!
FileMaker gave us the ability to integrate iBeacon technology with the release of FileMaker 15 last month. This is a great way to enhance existing apps with microlocation features as well as build entirely new apps to solve problems we couldn’t solve before.
Some potential app ideas that have been floating around in my head include:
Time & Attendance Tracking: Combine iBeacons and TouchID to provide an entirely new, simple and streamlined “clocking into work” experience.
Parks & Recreation: A resource scheduling solution that eliminates printing and posting event reservations each week for locations all over town.
Professional Golf Tournaments: Stick an iBeacon in each player’s bag and provide an app for fans to find out who’s nearby, no matter where they are on the grounds.
Julian Nadel is president and founder of Beezwax. He’s celebrating the 20th Anniversary of Beezwax with this, his premier Beezwax Blog post.
Many CEOs of tech consultancies spend their time on the frontlines of code or clients. I remember coding; I miss it. And I like clients. (Hi.) But I focus mainly on Beezwax’s internal dynamics as an organization — our teamwork, our ability to effectively create together, to enjoy our jobs together. I’m focused on the Human Resource.
This has been immensely satisfying. I hear often, and agree: Beezwax is a place where we love to work.
And I think this has been a good business strategy.
Really smart people do really great work, which makes clients happy — and coming back for more. However, a lot of really smart people, I have found, don’t particularly want to have a boss, and yet want to work as part of a team — to enjoy intellectual community and the opportunity to complement their own skills with those of others.
So, I decided a long time ago — it’s been twenty years now — that I would try to build a company where everyone is their own boss and yet we’d work together cohesively. (Ok, not always perfectly cohesive — but we do pretty good.)
However, scaling Beezwax, while keeping the structure flat and collaborative, is a continual effort — the nature of it is precisely that: to try to stay continually attuned to the ever-evolving desires, needs, and potential of each member of the team.
We develop FileMaker applications because we want a place to store information for the long term. We track events, tasks, contacts, finances—FileMaker can track almost anything. To update information, the application might ingest a spreadsheet. You usually don’t want spreadsheet rows to feed directly into data tables, since you risk calamity should the columns be mismatched with target fields; you bring data into the application, validate it, and (often) massage it before updating regular data. After you process temporary data, you need to get rid of it.
In the past, Delete All Records represented the only option for removing large numbers of records. After a user performed a function such as the import mentioned above, the system would process the imported data, and then a progress bar would appear, informing the user that a (sometimes large) number of records was being deleted. You don’t want a user sitting through a slow process or worrying about losing information.
Removing the Wait and Concern
FileMaker 15 offers a means of reducing wait times and anxiety for users. Enter the new Most Dangerous FileMaker Command for Developers: Truncate Table. The word, “truncate” means to shorten or cut short; Truncate Table deletes all of the records in a table—the current table or one you select. “Remove Table Data” or “Delete All Records And I Mean It This Time” would be a more accurate name. (The name comes from a SQL command.) The only data not removed from the table when Truncate Table executes are values in global fields, with the exception of global container fields, which lose their values. Truncate Table will not delete child records–you still need Delete All Records for that requirement. Users must have full access privileges to run Truncate Table, which also distinguishes the command from Delete All Records.
We found that, when the Truncate Table script step is called either directly from a script or using Perform Script on Server, the user doesn’t see a progress bar or a message about deletion, and doesn’t have to wait—the records disappear right away.