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.

Text Search

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.

User-Flagged Functions

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.

Go and listen to to the podcast, and check out FMPerception.

 

To celebrate DevCon 2018, the newest release of the FileMaker platform, and all things JavaScript, Geist Interactive is pleased to begin a contest called GoCreate, where you get to go wild and show off your most unique use of GoDraw3.
Use all of the power of GoDraw3 to create a unique user experience to solve a particular use case. Read all about GoDraw3, but here are some things you might want to consider:
  • Any of the tools and functionality can be removed or customized.
  • The app is simply FileMaker. Use all of your knowledge and skills of FileMaker.
  • Tagged objects can be used in some awesome way.

Who can get involved:

This contest is open to anyone attending DevCon 2018 of any skill level. Since GoDraw3 is simply FileMaker, anyone can participate; no knowledge of JavaScript is needed.

Here are the details:

  • Use the fully-functional trial version and use that for your implementation.
    • Note: the trial version includes a watermark image. Ignore it.
  • Contest Date range: Now through August 9 at 8:00 a.m.
    • Feel free to work on it now!!! Get Started.
    • Or wait until DevCon.
  • Where: DevCon 2018. You must be a DevCon attendee to win.
  • Winner announcement at 3:30 p.m. on August 9.

Here’s what to do:

  • Download the trial version of GoDraw3 and create a unique implementation of it. Be creative. Create something that would work for any of your current work, or go wild and dream beyond your day job.
  • Email a link to your project to support@geistinteractive.com.

Rules:

  • You must use GoDraw3 in your implementation.
  • You can use any part of the FileMaker platform including FileMaker 16 or 17 to create your design.
  • You can design it for FileMaker Go or FileMaker Pro Advanced. You’ll let us know which device it is meant to be on.
  • Your work must not contain any real customer data.
  • You are limited to one entry per person.
  • Your work will only be considered if you’ve emailed a link to your project to support@geistinteractive.com.

Judging

A team of independent FileMaker developers at DevCon will judge each entry, scoring your submission as they reflect on:

  • How clever of an implementation is presented.
  • How does the submission ‘feel’?

Granted, these are rather subjective, but we’ll do our best to make it fair.

Support

You can get support and questions answered in the following ways:

We will be available to answer specific questions about GoDraw3, not about how you can implement it. We want to see what you can do! 🙂

 

GoCreate! Using FileMaker GoDraw for something awesome

We’re excited to see what you create with GoDraw3.

Terms and Conditions
  • You only officially enter the competition when you have emailed a link to your project to support@geistinteractive.com.
  • All submissions become property of Geist Interactive and will be used in promotional materials. We will credit the author.
  • Submissions have to follow the rules as set out above.
  • All entries must be submitted by August 9 at 8:00 a.m.
  • Geist Interactive have the right to remove any entry at their sole discretion.
  • Objectionable or offensive content will be disqualified.
  • The competition will be judged by an independent panel of FileMaker Developers from the community. The top three will be selected based on creativity, unique implementation of GoDraw3.
  • The winners will be announced at DevCon at 3:30 p.m. at the Geist Interactive booth and by email.
  • The winners have 7 days to respond and claim the prize; if no response has been received after 7 days, you forfeit your prize.
  • Geist Interactive reserves the right to exchange any prize for a prize of similar value.
  • The judges will be selected from folks outside Geist Interactive. 

This will be a short post because the new FileMaker 17 feature master-detail portal is simple in explanation and in its use. I won’t go into much detail about how the master-detail feature is set up and used. There’s been great work done already by Beezwax and Soliant Consulting and others. You can read about how this new object works in FileMaker. I want to take the opportunity to clear up a few lingering questions/confusions about master-detail.

Overall Concepts

It’s a current-found-set portal, really

The idea to keep in mind all the time is that the master-detail portal is simply a current-found-set portal. It shows the records from the current table that are in the current found set. These records completely adopt the attributes of the current found set. If there are 91 records in the found set, 91 records show up in the master-detail portal. If you sort the found set by City and LastName, the master-detail portal will sort the records by City/LastName.

Three records in the found set. Three records in the portal.

Three records in the found set. Three records in the portal.

One record at a time

Keep in mind too that a master-detail portal is usually placed on a form view and used as navigation: Detail view of a record on the right, master-detail portal on the left. So there is visible only one record at a time in the form view. Only one record. That means the sorting and filtering I have applied to the found set sort of only applies to the master-detail portal.

What’s in a name?

Finally, the master-detail portal looks like a portal, but it does not operate the same as related-records portals. I wish it looked different somehow or had a different setup dialog. But I assume we’ll all get used to it and be confused only a little while. These portals are portals in name only. They show not related records but current found set records.

Lingering Questions

Okay, we got the concepts identified. Now let’s turn to some commonly-voiced questions.

Can I apply a sort to the Master-Detail portal?

Yes, this can be done. I can sort the found set of records in any way I want, and the master-detail portal will reflect that. It’s that simple. Since this object is placed on a form view in most cases, I only see one record at a time, so the sort order in the form view isn’t that important. Even if I have navigation buttons on the form view as well as the master-detail portal, I’d want the NEXT button to go to the next record in the portal. So it all makes sense.

Sorting the records

Can I apply filter to the Master-Detail portal?

Like the sort issue, this one comes up often because we still think the master-detail portal is a portal like related records where we can apply a filter on the portal itself or in the relationship.

However, again, since the master-detail portal reflects the found set, I can find whatever records I want. I can add a button that finds only records with job description of “CEO”. That becomes the portal filter.

Can I do more with the master-detail portal?

I’m starting to see this a lot. Folks want to be able to do some of the things we’d do with a regular portal: use it as a pick list, add a new record, delete a record, to name a few.

A master-detail portal was meant to show the current found set, to go to a record by clicking on a row (no invisible buttons behind the fields required), and to show the active record. That’s it. Trying to do more with it veers into that ‘hacky’ territory. If we do these things, we’re subverting the normal functionality of the object, and that always comes with issues.

But I want to do more!

To address the functionality I listed above:

  1. A pick list specifically would be tricky to do. If I want to put a checkbox field in the portal and check it, I’m going to have to PREVENT the built-in functionality of going to the record of the current row.
  2. I can delete a record for sure, but again, any button placed in the row would first go to that record, then delete the portal row. But it is a workable use case, and one that doesn’t seem to follow other master-detail patterns. I should be able to click on a trashcan button to delete a row without going to it, as my email client allows.
  3. Master-detail portals do not have the blank row at the bottom into which a new record can be added. It’s best just to add a new record via the form view.

New feature, new thinking

The new master-detail portal is one of the biggest features in the newest release of the platform. It provides us a built in way to show this common user interface pattern. We can throw out complicated self-joins or other amazing-at-the-time methods and instead rely on FileMaker’s way of showing the current found set in a list on a form view layout.

Sure FileMaker is fun to hack on and make it do crazy things, but now that we get new features every year, it is harder to pretend that hacking crazy stuff is a good value for our customers.  This feature is really good and really simple, and that is a rare combination. We are going to use it pretty much as is, without much hacking. Hopefully, none 🙂

(Okay, this wasn’t too short, but it is shorter than other posts!)

Introducing Editor.

Editor is THE rich-text editing tool for FileMaker, for FileMaker Go, and FileMaker on the desktop (it does not work in FileMaker WebDirect). It is familiar for users and flexible for developers. Editor provides a full-suite of text-formatting tools for writing projects such as notes and blog posts. The formatting is saved, and can be retrieved for further editing. Editor is the best way to provide formatted text for FileMaker.

Familiar for the User

Editor provides many of the formatting options we use every day in online editing tools.

Any user can

  • Change the style of text: h1, h2, h3, normal, and code (among others).
  • Apply bold, italics, strike-thru, underline formatting.
  • Align text in standard ways
  • Add ordered or unordered lists
  • Indent or outdent text
  • Insert text or images
  • Change the font or background color.

Additionally, FileMaker scripts can be used to add pre-defined text and images.

Flexibility for the Developer

Editor is all Native FileMaker

Even though the editor and the text is a JavaScript application running in a web viewer, the developer has complete control of the implementation and customization of the app. Here are some reasons why.

  • The web viewer app is self-contained in a separate file, making it easy to integrate into an existing custom app.
  • The design of the layout and toolbar buttons (outside the web viewer) is all done in FileMaker. You can completely change how it looks just using FileMaker layout mode.
  • The buttons run FileMaker scripts.
  • The editor toolbar and theme can be controlled via scripts. If you want to remove the “h1” formatting option, remove that from the scripting.

See the possible customization options available.

The Best FileMaker Rich-Text Experience

Editor is the best way to format text in FileMaker We’re excited about the potential. We have lots of thoughts about how it can be used, and we will be sharing ideas.

Learn all about Editor

Download it for free to try it out. The demo comes fully functional, though it does have a 1000 character limit. So give it a spin and see how easy it is to format (and save) text in FileMaker.

 

We at Geist Interactive are excited about the newest (yearly) release of the FileMaker platform. It is a great step forward and provides a lot of game-changing features yet again. We get to throw out “hacky” ways of doing such things as master-detail and instead use the new features of native FileMaker.

Wednesday, June 20, we will examine the platform’s latest release. We will examine the features, and review the use and usefulness of each feature. It will be a discussion, so come prepared to talk about your favorite part of the newest release of FileMaker 17.

 

Where: WeWork Aventine (not WeWork B street) || 

When: June 20, 2018 || 3-6pm

Why: There will be refreshments, and we get to talk FileMaker 17.

 

Join us. Let us know through Meetup.com and we’ll make a space for yah!

 

Today’s post comes from my colleague Barbara Cooney. Here she reports on the PauseOnError 2018.

It was nine years ago that I attended the very first PauseOnError (PoE) in NY at the Ace Hotel. We crammed into each other’s hotel rooms, some sitting on the floor. There we presented and discussed new techniques sharing the challenges and accomplishments we had encountered in our effort to improve our FileMaker skill set. I was an independent developer, and somewhat isolated. So I was encouraged to meet the people behind the screen names with whom I’d exchanged countless discussions on the forums. It recharged me.

PauseOnError Hits the Big Leagues

Two weeks ago, I attended a much more structured and larger PauseOnError, sponsored by the WomenOfFileMaker.  The event was held in the welcoming and creative city of New Orleans. The hotel we stayed at was lush and extravagant and a perfect setting for an intimate gathering of FileMaker pros.

The hotel for PauseOnError was extravagant. Photo Credit: https://twitter.com/LauraJBetz

The hotel for PauseOnError was extravagant. Photo Credit: https://twitter.com/LauraJBetz

The Theme

PauseOnError was organized by the Women Of FileMaker, and the theme they choose was “Stand Tall”.

Martha Zink, Susan Dean Fennema, and Lisette Wilson kicked things off.

Martha Zink, Susan Dean Fennema, and Lisette Wilson kicked things off.

We stood tall by telling our stories from our name tags to an entire session called “Tell Your Story”. Many of the sessions included this theme in their discussion. It was inspiring to hear of others’ journey too and through FileMaker.

Our nametags gave a little insight into who we are.

A Wide-Range of Presentations

The sessions encompassed many topics. The range spanned growing your FileMaker business to leveraging its position as a platform that can integrate easily with other systems. Since joining Geist Interactive, I’ve already been involved in several API integrations. Here I choose to both validate and expand my knowledge in those integrations sessions.

Lots of API topics

In one of the first sessions, Jeremy Upton’s curiosity led him to explore the developer tools available from Amazon to integrate Alexa. Imagine being able to ask your FileMaker database “what were last month’s sales?” And have Alexa answer back!

Sol Rodriguez demonstrated the use of RestFM with Google’s JavaScript Framework, Angular, to quickly provide web-based access to a FileMaker system. His enthusiasm for how approachable this world is for FileMaker developers was contagious. I plan to sign up for the Udemy course he highly recommended.

Chris Irvine introduced us to an alternative to REST, GraphQL, created by FaceBook. This language lets the user limit the data received back from an API call and in doing so, improve performance when latency is a concern.

Overall, what struck me about each of these sessions is each developer used tenacity and trial & error to push through that initial learning curve hump. The message is clear:

  • You can do this too the tools are out there.
  • It’s achievable.
  • You’ve got a community of developers that will support you.

And Other Topics

Taking a break from API approaches, I attended Anton Anderson’s session. It offered instruction on the use of graphical tools such as FlowCharts and ERDs to communicate complex workflows and relationships, so that you and your client share the same understanding.

Mike Beargie demonstrated how to build modular files which allow you to reuse functionality across several solutions, using JSON to pass parameters and results.

Women of FileMaker

The last session that I attended was dedicated to Women in FileMaker. Here, Martha Zink interviewed several community leaders and asked them to share their challenges, achievements and how their attitudes have changed during their careers.

 

Photo Credit: Credit: https://twitter.com/LauraJBetz

I was struck with the similarities to my own experiences in my 25 years as a women developer in a male-dominated industry. I gained a sense of confidence listening to how they too overcame the need for perfection and crisis of confidence with which many women are burdened. The top developers, as I saw first hand in the sessions I attended, and witness at Geist, learn by trying, making mistakes, revising and ultimately accomplishing their goal. No one gets it right the first time and expecting to do so is self-defeating. As Dave Ramsey of FMPerception fame explained, “errors allow me to see how it can fail, and that is important info to have too.”

A Fulfilling Pause

Poetically, I ended PauseOnError by running into Ernest Koe, one of the founders of the first POE, in the elevator. He was curious of my reaction to this experience of Pause. I assured him that the camaraderie was still there and the excitement of interacting with community leaders hadn’t diminished. I’m more than ever optimistic of FileMaker’s future and my ability to help my clients accomplish their goals. I’m looking forward to DevCon.

Congratulations. You’ve upgraded to the latest version of the FileMaker platform. That’s a good thing. We always recommend folks do that quickly. There’s compelling reasons to keep your app fresh. The FileMaker platform, in its current 17 version state, is exciting and new and quite game changing (again). Let’s take a moment to look at the new features and consider what changes we might make to our current custom apps. Let’s look at the FileMaker 17 features and consider when and where to use them.

When to Change

Most folks would begin using these new features in new custom apps, but I want to explore how we might use them right now in our current apps. We did only a year ago when this when the platform gave us JSON functions and card windows, to name a few. Many folks immediately changed some popovers to card windows.

Of course the changes make sense only if your clients are on the latest platform. And with version 17 of this platform, we find the licensing options are even easier and less confusing.

Why Change?

There are a few good reasons to at least consider changes to your already-working custom apps.

  • First, it’s what we do. When new features come out, we see where we can begin to adopt them. It’s fun and exciting.
  • Second, we can remove our ‘hacky’ attempts to do what FileMaker 17 now includes. The Master-Detail portal rids our solutions of any other self-made or modular techniques. We can use what FileMaker provides.
  • Third, this version includes many ‘more-efficient’ tools for us to use. The Advanced tools, default fields, etc., make our developer-lives easier.

Let’s look at some of the new features and stop for a moment to consider their use in our current custom apps. Some of these are a ‘must’.

FileMaker 17 Features Considerations

The application name change

FileMaker Pro, which most clients had, is no more. FileMaker Pro 17 Advanced is the new name of the application whether or not the advanced features are in place. So we should use the Database Design Report, one of the advanced features, to check and see if we were using Get(ApplicationVersion) to check for “Pro”. If so, we should update those. Our Realtime Developer Intelligence tool, FMPerception can help with that. You can run a DDR and then very quickly open the DDR in FMPerception and find the words “FileMaker Pro” in any place the calc dialog is available.

Use the Advanced Tools

If you’v’e never used the advanced tools, be sure to get a good understanding of them right away. With them, you can further customize your application (custom functions, custom menus), add security (Encryption at Rest, remove Full-Access privileges) and analyze your system (Database Design Report). Check out how to use those tools here.

Get Used to the new Layout Mode

Our design interface is completely changed, and I think that is a good thing.

The Layout-Mode Window. Redesigned.

The Layout-Mode Window. Redesigned.

Yes, it feels awkward at the beginning, but so did riding a bike, and we all learned that. And yes, it does feel a bit scrunched on a laptop. But I think we’ll get used to it and, in just a few months look back at previous versions and wonder how we did anything.

Layout Mode Considerations

Here’s a couple of thoughts and pointers about the layout window:

  • The Inspector panel and Field/Object panels are docked to the right and left side respectively. No more do we have to hunt on our large screens for the inspector to find it buried behind the object layout window (since the latter got called to the front when selecting an object).
  • We can add more undocked inspectors using the menu command View / Inspectors / New Inspector. That might be useful
  • We can hide the docked panels with a shortcut ( Command/Control + I for the inspector, Command/Control+Option/Alt + T for object window, and Comand/Control + K for field panel). This is useful when we are on a laptop and we need a bit more screen space. We can hide a panel quickly to view something, show the panel quickly to adjust something, and move on. With a short keystroke we can hide/show a panel, giving us the exact view we need.
  • The Field and Object windows are together. But pressing one of their short cuts hides BOTH panels. That’s great. I don’t have to first hide the layout object window and then the field panel.
  • We will probably do more scrolling of the layout to adjust it to the place we want. That’s okay. We can also use the zoom controls to focus in on one spot. Well-designed layouts require microscopic attention.

SubGroup Selection

A small but powerful feature, the sub-group selection feature is amazing. I’ve been using it for awhile and can’t even imagine how I could select items in a group. I can select objects within a group and move it within the group.The dotted line around the group shows the boundaries of the group, and it changes as I move the object far away.

The SubGroup Selection

The SubGroup Selection

Default Fields

The default fields feature provides a custom way to auto-build fields in each new table. It is easy to set up and useful. We can set up our development to start using default fields, automating one more part of our development. Or not. Consider also getting rid of them.
The default fields that are included look like this:

Default Fields

You can change these in name and in calculation fairly easily. To do so, shut down FileMaker Pro 17 Advanced and do the following:

  1. Go to the folder where the defaultFields.xml file is saved
    1. /Applications/FileMaker Pro 17 Advanced/FileMaker Pro Advanced.app/Contents/Resources/en.lproj/DefaultFields.xml
  2. Copy that file. DO NOT remove or edit this file.
  3. Open the file in a text editor or something like Visual Studio Code.
  4. Place the xml file in the shared folder:
    1. Windows: <drive>:\ProgramData\FileMaker\Shared
    2. macOS: /Users/Shared/FileMaker/Shared
  5. Open it in a text editor and make changes as necessary. There’s no documentation yet out there, so be careful.
  6. Save the file.
  7. Open FileMaker Pro 17 Advanced. Create a new table and test to see if the fields were created.

To prevent the default fields from being created, simply add a blank “DefaultFields.xml” file in the same shared folder location.

I think this feature is worthy of attention and use. It provides auto-consistency and removes one more step (copy/pasting fields) from one table to another.
But of course you have to consider using this in teams. Each developer that creates tables will need this xml file in the correct location on their computer. That’s hardly a big deal. We do this with plugins, so finding and placing this file in the correct location barely takes time or effort.

The Current Found Set Portal

Throw away your list views. Get rid of them.
Or at least consider it.

The new master-detail or Current Found Set native feature of FileMaker is a game changer in data presentation. Combining a list view and detail view into one layout is a great compact way to get users to their records quicker.

Current Found Set

This feature should be considered strongly in current and upcoming projects.

Current Found Set Considerations

Here are some factors to consider:

  • The current found set portal shows the current found set of records in the current table.
  • The records in this portal are sorted the same as the current found set.
  • The portal has a built in navigation. Click on a row and that record becomes active. (no more list views with hidden buttons that use Go To Related Records).
  • The current record in the portal can be identified with the new function Get(ActiveRecordNumber). Buttons can be hidden (or visible) unless it’s the active record.
  • There’s an active-record highlighter already in place.
  • A current found set cannot show subsummary parts as easily as a list view/report, but there are already doable workarounds.
  • This may be subjective, but this look is more modern.
  • You can put the portal on the second panel of a slide panel object and do some work to ‘hide or show’ the portal.
  • The records in the portal reflect the found set. If you find students in 6th grade, the portal will only show those.
  • Finally, The Master-detail pattern is very common. People expect it.

Should you replace your list views? It depends on how you think of the factors above. (I would).

Take a break

We will come back in the next blog post with more FileMaker 17 Features Considerations.

Developers of any platform love the new shiny things, and we should explore all that FileMaker has in its latest release of the platform. We should learn all about how these features work and how they’re useful. Along the way, we should consider how a new feature may be used in our current apps as well as in the future. And we need to consider and learn quickly, for the next batch of new shiny things is less than a year away!

Welcome to the big leagues. If you own FileMaker Pro 17 Advanced, then you now are able to use the entire set of tools for your development needs. And if you do not yet have this version, you should strongly consider upgrading today. We will explain our thoughts on upgrading in a future post.

You should be excited that you get to be a part of the “Advanced” group. You get to be more efficient with finding the bugs in scripts and enhancing security. And for me, no longer, on the community forms, do I or others have to ask the OP (original poster) what version they use and if they have FileMaker Pro Advanced or not. I only have to ask for the version Number. Half the initial question is removed.

More Tools in FileMaker Pro Advanced

FileMaker Pro Advanced gives FileMaker developers many more tools than they had when using only FileMaker Pro. Everyone who works in FileMaker now has the options to use them. (“options” really isn’t the right word. Developers will come to rely on these tools like they rely on their right hand or their nose to smell).

I’ve been writing about the advanced features for some time. None of these are new features, but they are features that everyone now can access. So take some time and review these old features. Read about FileMaker 17 features here, but also take some time to know how to use all the tools:

  • Data Viewer – a window showing values in fields and variables, as well as a place to check calculations.
  • Debugger – a window that steps you through the script one at a time and allows you to control the flow of the script.
  • DDR – The essential report that identifies locations and uses of layouts, fields, scripts, calculations in your file(s).
  • Developer Tools – an oft overlooked panel that allows you to work with the file as a whole to beef up security, change the file(s) name(s) and much more.
  • Manage Custom Functions – Write your own functions in FileMaker!
  • Custom Menus – change the buttons in the menu bar and add your own shortcuts.

To activate FileMaker Pro Advanced’s features, go to the Preferences and check the box “Use advanced tools”. This requires a restart. Do that and you’re set. By the way, this is persistent. The advanced tools will remain available every time you open FileMaker Pro Advanced.

 

I look forward to being able to help answer questions without first asking which flavor of FileMaker you have. If you own version 17, you have FileMaker Pro Advanced and all the features that come with it.

I think it is time we stopped getting too worked up about product version numbers. FileMaker is not a Product. It is a Platform. Platforms are different. They don’t really have a product release every 2 to 4 years. They have regular releases of whatever is ready to go.  That’s why I don’t care much about the number 17.  It has great new features and capabilities that once again improve how we approach how we build apps, just like last years big game changer. Let’s take a closer look, shall we?

Missing the Point

I see a lot of bitching about how FileMaker 17 should be FileMaker 16.5 because it doesn’t have enough new features for end users to get a new version number. Frankly, those forum posts are missing the point. First, this release does have several game-changing features and capabilities.  Second, as I just said FileMaker is a platform, not a product. If you know the difference between the two, all this kvetching over a given release and its number seem pointless. We get a new version every year. It always includes new great stuff. The next batch of new stuff is about a year away.

FileMaker 17 Features I won’t be Talking About

Most of them :-). We’ll have other blog posts that will go into more detail on each of the new features and how they work.  In this post I want to focus on just a couple that I think have major implications for the platform and not necessarily because of what they do specifically in your apps, but because of how they might affect how we approach building high-value FileMaker apps for our organizations and customers.

The End Of a Two-Class System

FileMaker 17 Pro Advanced is now the only Desktop client. There is no more FileMaker Pro. That means that everyone has access to the advanced tools:  custom functions, the DDR, custom menus etc. Everyone can copy and paste the code. Everyone can take advantage of RealTime Developer Intelligence Tools like FMPerception and Analysis Tools like Base Elements and Inspector Pro.

There are no more “haves” and “have-nots”. Just “haves”

This means that product developers can no drop the ridiculous work-a-rounds to handle the fact that most of their customers wouldn’t be able to copy custom functions into their files.

Modular FileMaker 2.0 Guidelines when they are released at FileMaker DevCon 2018 will drop the guideline about not using Custom Functions completely. I was famous for advising against Custom Functions in the past because it decreased the likely hood that code could be re-used by other people, who didn’t have advanced. Since it was focused on sharing code, Modular FileMaker 1.0 Guidelines suggested not using them. While I have moderated that position over the years somewhat, but now we can embrace them fully.

Since everyone is on an equal playing field now it will be easier to teach people to share code and build products that everyone can use.

Less UI Hacks, More Business Logic.

I spent years developing workarounds to UI limitations in FileMaker. Back when we got one release every 30 months and they NEVER included new UI widgets and patterns, this might have made sense, but FileMaker 17’s Master-Detail feature has convinced me that is no longer a good use of time.

Over the last couple of years, FileMaker has added major new UI features that change the way you might develop your interface. We have Popovers, button bars, Top Nav, Card Windows, just to name a few. With this release, we get Master-Detail. It no longer makes sense to waste cycles building up massive leaky abstractions like my old version of MasterDetail.

Instead, I think we should focus on the parts of our system that aren’t going to change as much, the data layer and the logic layer. Maybe design systems so you could rebuild the UI at any time, without having to rebuild the data layer and the business logic.

Data Migrations

The fmDatamigration tool is a game changer. Using our soon to be released Otto product, we have fully automated multi-file GB data migrations going from Development servers to Production servers in just minutes. That is not a typo. GB data migrations from server to server in just minutes! The implications of this are massive and wide reaching.

You may still choose to separate your solution into multiple files, there are many reasons to do so. But avoiding data imports no longer needs to be the reason to do it. Becuase you are free from worrying about data imports, you can find different ways of separating that make more sense for your scenario. You might want to make some features more of a self-contained module that can be maintained separately. Or you may shover everything back into one file. It’s up to you.

Live development on production servers has always been frowned upon.  But it was almost a necessity because some systems could take hours or even days to go through the data migration.  That excuse is now gone.  If you run a busy complex FileMaker solution, you should be doing development on a development server, and doing regular automatic migrations.

The Data API is Out of Beta

The Data API is now out of beta and includes a tiered pricing model that fits nicely into the new simpler overall licensing model.  Finally, we have a pricing model that makes sense.

Developers can feel confident about building on top of the new Data API, because it is official, and generates revenue for FileMaker.  I know some folks wanted it to be free so they could get around FileMaker License costs, but really that is a very shorted sighted view.  If you rely on the FileMaker platform you should want the vendor (FMI) to thrive.

Continuous Improvement

This year’s release ( notice how I didn’t say “17” ) includes a number of compelling improvements both to the end user experience and the developer experience. It is another step in a continuous process of improvement. Each year it gets better and better, and we would do well to work that fact into our plans.

Last week, the Adatasol FileMaker Podcast, hosted by Dan Weiss of Adatasol interviewed Todd. He spoke about Geist Interactive: our history, where we are, and things we love.

Dan’s podcast focuses on the FileMaker platform: development, trends and history. It completely makes sense that Todd would join them. Dan asked great questions that got to the heart of Todd’s history in FileMaker development and where we are headed. Here are some highlights:

  • Todd realized that ‘scripts had to work’ during his work at New Millennium while working on their accounting software, Genesis. And If they fail, there needs to be a safe and complete rollback.
  • Database transactions came along (mostly) in FileMaker 7. These are essential to our work.
  • FileMaker is at our core, but we love and use JavaScript a lot.
  • Some of our products have come from great minds in the community. We partner with them in promoting and supporting them.
  • SaaS products work for some folks, but most businesses need and want custom software.
  • We want all customers to have their own custom software. We can provide products, videos, blog posts, presentations for the DIY crowd. Or we can build the client’s custom-development services.
  • FMPerception is our Realtime Developer Intelligence tool. It has saved Adatasol innumerable hours since it is something a developer can review stats about a file at any moment. We use it daily.
  • JavaScript is eating the world. It is supported entirely on the FileMaker platform. There isn’t anything we can’t do with FileMaker and JavaScript in the small- to medium businesses. GoDraw3 uses JavaScript.
  • We are excited about FileMaker DevCon 2018. It’s our favorite time of the year, and the conference is extremely inspiring and important. We can’t wait to be there and be part of the the week.

Thanks to Dan and Nick at Adatasol for talking with us. It was fun. Check out Adatasol and the podcast here.