A few weeks ago, Dave Ramsey, creator of FMPerception, sat down with Dan Weiss and Nick Smedira of Adatasol to talk in their podcast, of course, about FMPerception. It was a fascinating discussion. Even though I use FMPerception everyday and have read and watched videos on it, I learned a lot of great things about the Realtime Developer Intelligence tool. Here’s what Dave, Dan, and Nick talked about.
- The FileMaker Database Design Report (DDR) is a tool that produces an XML representation of one or more FileMaker files. Tools have already been created to analyze it in FileMaker. Dave says that we FileMaker developers see the XML and immediately our impulse is to build something in FileMaker to analyze it. That’s how previous tools have been built.
- As files grow in complexity, it is tough for FileMaker to process the data quickly. In recent versions, the developers of those tools have worked hard to speed up the import, which is great. They are fantastic tools, but the processing is still time consuming.
- The slowness causes a halt in development when there’s a question about some script or parameter or field which the DDR can answer. The developer has to wait for FileMaker to finish processing the XML to find the answer. (How many of us started an XML import into a tool, left for the night or for lunch?)
- Dave worked first on fmXRaySpecs to try and develop something outside of FileMaker to process an XML quickly (this tool processed the XML that FileMaker places in the clipboard when you copy objects on a layout ). This product is the precursor to FMPerception.
- Dave succumbed to the same thought that all great inventors have: “Hey I wonder if I can do this?”. And thus he sat down at his desk with Dr Pepper and Twizzlers and worked out FMPerception.
- FMPerception is built in Swift (macOS) and dotNet (Windows).
- It took about 3 months of development from first idea to first unveiling.
- Dave actually was interested in learning how to parse XML, and FileMaker provides the DDR XML, so he used that to learn how to parse the language. The fact that parsing the DDR XML told him how many tables there were in a FileMaker file (almost instantly) ‘forced’ him to build a full DDR XML parsing and reporting tool.
- He first showed a version of FMPerception at a user group late in 2015, and people were like “Just Take my Money!”
- FMPerception was officially unveiled at PauseOnError in 2016.
- Dave kicked it into high gear to put together a full version before DevCon 2016.
- The Windows side (which Dave does as well ) was released about 2 months after DevCon.
Three More Points
There are three more things I’d like to highlight from the podcast. Each deserves their own section.
FMPerception: Train up a [new-to-FileMaker person] in the way they should go . . .
Nick from Adatasol brought up a good point, which was expanded upon by Dan. Nick is relatively new to FileMaker, and at the beginning he was taught FMPerception. Now he uses it all the time. It’s his default go-to tool. Seasoned developers may default to other tools, but the young (in FIleMaker) can use FMPerception on day one of their development.
Its Own Category
FMPerception forms a whole new category of tool for a FileMaker developer. It is a RealTime Developer Intelligence tool. Any developer can use FMPerception to find out about their FileMaker file in real time. It takes only a moment to import an XML DDR, so we briefly turn to the processed XML, get a question answered, and then move back to developing in the custom app.
The Depth of FMPerception
Since the FileMaker DDR is XML, and since FMPerception processes the XML quickly, as FileMaker adds more information to the XML, FMPerception’s future features are endless. Dave already has eight-to-ten years of features in mind, and is always willing to listen to folks about feature requests.
Dave brought up two features of FMPerception that might not be as widely known: the Text Search and User-Flagged Functions. Here’s a brief description, but I’d recommend you explore these features.
Dave built a ‘slow’ (2-3 seconds in this context) feature that allows you to search for some text within the whole DDR or just within a script or table or layout.
This feature I knew nothing about. But it allows us to flag a function in Preferences.
There are already some functions there, and these show up in the reports throughout. I can add more functions in User Defined 1 and User Defined 2. Notice in my example I’ve identified the Position function.
That’s pretty cool.
FMPerception at DevCon
FMPerception will be running and strong at DevCon in Dallas, TX. Dave Ramsey joins Geist Interactive in our double-wide booth (we’re going to be across from the FileMaker one). Dave will be there from sunup to sundown (except for meals and breaks) to demonstrate FMPerception’s features and speed. He invites you to bring your XML DDR to the booth with questions. Dave will show you the magic of the tool.
On Tuesday, August 7 at 3:00 p.m., Dave will give a vendor demonstration of FMPerception. Every user of FMPerception as well as those curious about the tool should attend. No one has ever come away from one of these deep dives without learning some new feature they can immediately make use of.
As the podcast closed out, Dave said that as a FileMaker developer, “I would rather charge my customers less than spend my time doing slow, annoying busy-work. I’m far more motivated by avoiding pain than by getting money.” FMPerception avoids pain, avoids the slow, annoying busywork by helping you find exactly what you’re looking for in your complex custom app so that you can make whatever change in less time.