Why are you giving the secrets and methodologies to NautilusFM away when you could just keep it to yourself?
Well, I already use NautilusFM for every project I develop. (I’m currently on the 9th by the way). The response has been amazing and I wanted to share it with the community but the only way to get it out there was to release it under an Open Source license which is what I’m doing and why.
But isn’t doing that going to cost you money?
Possibly, but that really wasn’t a consideration. Sharing it was.
Didn’t writing the ebook take a lot of time; time that you could be getting paid for?
Again, that wasn’t the motivation. I work on the book early in the morning and when I need to take a break from billable projects. Admittedly, it has taken much more time than I had anticipated (well over 100 hours) but I don’t regret the time or the effort.
Does the relationship graph use anchor-buoy?
Remember that the portal, on the left side of the Home screen, displays all Companies with the ability to see just those beginning with a single letter and you can also type a letter or two in the filter to find the record you want. Then you click on it.
There is absolutely no need to go into Find mode, type what you are looking for and then hit the Enter key to perform the Find.
(Traditional finds are, of course, available if you need to create a complex request or search on different fields)
Yes it does and you end up with two sets of relationships; the first of which are the ‘traditional’ relationships, i.e., invoices to invoice items. NautilusFM requires those relationships because they are the fundamentals of relational design.
NautilusFM has its own set of relationships where there is one anchor (the Home screen) and many buoys directly attached to that anchor. It is, in my opinion, an advanced implementation of anchor-buoy.
Let’s explain this a little further. In a typical solution, you have customers who have invoices and those invoices have invoice items. You go to the Customer record and see all of their invoices and then go to another screen where you see an invoice and its items. Hoever, in order to accomplish this; you’ve had to go to several screens.
In NautilusFM, you start in the Companies panel and select a Company from a filtered portal listing all companies so you can get to any company without using Find.
When you click on a Company, it stores that CompanyID in a global field (G_CompanyID) which displays all of the information about that company; that relationship is called Selected_Company and is a buoy to the Home anchor. Another buoy from the Home anchor uses that same global to see all of the invoices for that client. When you click on an invoice, it sets the primary key of that invoice into another global field (G_InvoiceID) and displays all of the items from that invoice in a 3rd buoy from the Home anchor; the only difference is this relationship is using both G_CompanyID and G_InvoiceID.
All of this happens on a single screen with no Find required and just a couple of clicks.
I keep getting this error?
In every one of my solutions, I have a Backup script that saves a copy of the current file to my Dropbox folder, via an Install OnTimer script (Auto_backup) every 20 minutes. This allows me to always have a pristine copy and, if a crash happens, I dump the damaged file, grab the backup and re-do any work that I’ve done between backups.
The ‘path’ only references that from my particular machine and, for other machines and users, the file path has to be added to the script.
Kirk Rheinlander correctly pointed out that once a file is hosted on the server, this procedure is no longer necessary but during development when there is little other than test data, it is, IMHO, absolutely necessary. Thanks, Kirk.
The Relogin script isn’t working?
Modify the script per the illustration on the right and then set up the different options as necessary.
The Admin login doesn’t have a password set.
Is NautilusFM suitable for every type of project?
Yes, absolutely. The projects that I’ve already used it for are very diverse and it works perfectly for all of them. It’s also very easy to take an existing solution or even the Example file and repurpose it very quickly.
As a matter of fact, I’ve just done exactly that to keep track of all the Example file requests that are coming in. In less than an hour, I was able to take the Example file and create a custom solution just to manage those requests.
Does NautilusFM use the data separation model?
No, it does not. I’m not in favor of the model in the first place and there are, in my opinion, very few instances where it is worth doing, especially now that FileMaker has released the data migration tool.
NautilusFM is a single file, single screen solution. Having said that, however, you could easily adapt the methodology and use the data separation model. Up to you.
Who do you see adopting NautilusFM?
That’s a good question and, to be honest, I’m not sure. My initial thought was that it would be embraced by in-house developers and, with 90% of the Example file requests coming in being from that group, it seems that I was right.
How difficult would it be to take a solution we’ve been developing for years and convert it to NautilusFM?
I’ve already done this with a very complicated solution I developed originally. Yes, it was a lot of work because you have to create a completely new set of relationships and then redesign the solution module by module, repurposing scripts and functionality.
It does require a systematic approach which is what I’ll be giving workshops on.
Is it worth doing a conversion?
Yes. It simplifies and streamlines such solutions and gives them a new lease on life.
Why do you think that in-house developers are most likely to be interested in NautilusFM?
Multiple reasons. There are a lot of BEST practices used in NautilusFM; some useful custom functions, some simple, but powerful, scripts and some different ways of managing relationships that a few developers will have never seen before. Any in-house developer should pick up a few tricks by spending some time with the Example file.
I think where it might resonate most though is as a standard for development within organizations so that every solution looks and works identically and it will be easy to go from one solution to another either as a developer or as a user.
How would converting my organisations various Filemaker solutions to NautilusFM benefit the organisation?
Firstly every solution would look and feel the same. Yes, the content and functionality of each solution will be different but the consistency will be there. You would make it a rule that all new solutions that are being developed has to use the NautilusFM framework which is very easy to adapt and develop with.
The consistency also means that it will be, relatively, easy for a different developer to work on a project without having to spend a lot of time gettting into the mind of the previous developer.
Existing solutions could be converted over an extended period of time and thus brought into line with all new solutions.
Do you see professional developers adopting NautilusFM?
I really hope so. It is a completely different methodology from what most, if not all, of them are familiar with but it does offer significant benefits and includes a very well developed custom theme.
How could offering NautilusFM solutions to clients benefit my career as a FileMaker developer?
You’ll be able to go back to existing clients, show them the video that demonstrates the functionality and ease of use, and offer your services to give fresh life to existing solutions by not only improving the look and feel but also enhancing the general functionality.
You also won’t have to re-invent the wheel every time as the NautilusFM example file not only has a very well developed custom theme but a lot of scripts and custom functions that you will need/use for every project.
Is the example file a fully developed solution?
No, it is not but it does have the core functionality that virtually every business needs (Companies, People, Products, Invoices and Invoice Items). Now while these modules are not fully developed, you can take the file, make any necessary changes, additions and use it as a starting point for any project.
Does that mean the Example file is a template?
I suppose it is but I hate the term template. The purpose of the Example file is so that somebody new to NautilusFM can look at it and understand how it works rather than reading a book and trying to figure it out or starting from scratch which would discourage a lot of developers who simply don’t have the time. As an aside, I had to build it in order to write the book so it just made sense to give it away as well.
Remember NautilusFM is not a solution; it is a framework, a development methodology.
The Example file is too big to display on my laptop without having to scroll?
On a 15″ Macbook, go into System Preferences, click on Displays, then choose Scaled insteaad of Default for Display. Then click on More Space. That should fix the issue.
(If anybody has a 13″ Macbook, please try this and, if the display cuts off on the right, please take a screenshot of the entire screen and send it to me so I can figure out the correct dimensions for it).
Not sure about Windows because I don’t have a Windows box but I’ll do some research and post the answers here.
What do I do if the solution I want to develop doesn’t require any or all of the tables in the Example file?
Just rename the tables to represent what you need, change the fields in that table and then rename any table occurrences that use the original table name. You may also have to change the fields in some (or all) of the portals that allow you to find records for that module although if you keep the name field, you won’t need to do that.
How easy is it to extend the Example file?
It’s actually very easy. You can either add new tables as needed and set up the relationships or you can duplicate existing tables, rename them and use them in different ways.
A classic example of this would be adding quoting to the Example file. Quotes (and Quote Items) are always going to be virtually identical to Invoices (and Invoice Items) so you would duplicate the Invoices and Invoice Items tables, rename them to Quotes and Quote Items, set up the relationships and then write a script to convert a Quote to an Order. You’d also need to remove the lookup for the price as that will have been done in the Quote and the ‘used’ price will be set as part of the conversion script.
I’m going to be putting together a step by step tutorial showing you how to do exactly that and I recommend that you follow along and do this on your copy of the Example file as most solutions will require quoting. It’s also a really good exercise for you as you will learn much more by doing than just by reading or watching a video.
But why wouldn’t I download one of the free starter solutions instead?
You can but that’s not the point which is to learn and use a new way of developing. The starter solutions that are available are, for the most part, fully developed and can be customized but that work is not for the faint of heart or the novice.
The NautilusFM example file is a great starting point but you have to build on it which means learning the framework which you’ll do by diving into the file and reading the eBook.
But what if I don’t like the color scheme/palette the Example file uses?
Change it. NautilusFM uses a custom theme allows you to use any colors and you can change any element, i.e., the color, save that style change and then save the theme.
Most solutions that I design use the clients corporate colors for emphasis and it only takes a few minutes to completely re-skin a solution.
You can, if you wish, create different variations of the theme and give users a choice of which one they find easier on their eyes.
The possibilities are endless.
There must be a catch?
Nope, not one. NautilusFM is free to use for anybody who wants to.