Urgent plea to users. The Team has reached an impasse: we don't know how to majorly improve NoteMaker other than minor modifications that have been slated for the upcoming 1.5.2 release. What can we add to NoteMaker to make it better? So far, we see NoteMaker does everything essential a note-making data processor ought to do. Feedback from users is more than ever needed.
NoteMaker's fragile endnote facility. Sometimes users may wish to use endnotes or footnotes to list sources and asides, matters that, should they appear in the main text of the note, may be seen as clutter. To help with this possible issue, NoteMaker has an endnote facility. It works, but it's not robust, it is fragile and must be "handled with care". The Team acknowledges it may be confusing for users, so here goes.
The facility provides up to 99 endnote markers per note: 1, 2, 3 ... 97, 98, 99. So far, so good. However, as the note grows or is being edited, the interpolation of an endnote marker is often required. All right, this is how it works. If an interpolation is required before the first established endnote marker (1), there are a range of markers from 0 to -9 to accommodate this situation.
For example, place 0 in the Next Endnote Number field at the bottom of the Note-Focus Card, then place the cursor in the note where you wish to place the 0 marker and click the Insert Endnote button (next to the Next Endnote Number field). This action will place the 0 marker above the 1 marker.
Say an interpolation is required, say, between established markers 2 and 3. There are four inbetween markers that may be used: 2+, 2a, 2b or 2c. Should any one of these, say "2+", be entered in the Next Endnote Number field, then the cursor is placed in the main text of the note between the 2 and 3 in-note markers and finally when the Insert Endnote button is clicked, the "2+" marker will be inserted in the main text of the note and also in the endnote area (under the main text) between established endnotes 2 and 3.
These inbetween endnote markers are good for all positive numbers to, but not including, 10. 10 and beyond, inbetweeners are not possible.
Fragility also applies to the dashed line that separates the main text of the note from the list of endnotes. Change it in any way and the endnote facility will go awry. Our advice is: work carefully with the endnote facility and it will work for you. Please, don't put it to any kind of test or experiment. Use it with care. NoteMaker's endnote facility may lack the elegance of the endnote facilities in Word, Pages and LibreOffice Writer, but remember NoteMaker is a data processor not a word processor. (Also bear in mind, the endnote facility is generally "for your eyes only").
Code on code. The Team is ever grateful to the FileMaker people for doing all the code necessary to build the framework for us to create single resource managing (SRM) databases such as are NoteMaker and ScriptPlanner. The code needed to build the complex internals of FileMaker could number (here, we're purely guessing) a million lines or more of code. To build NoteMaker on top of that took anywhere between 10,000 to 50,000 lines of code, counting a script step as one line of code and each line in a calculation). But imagine if the Team of two had to build the database framework ourselves from scratch, say, with C++. It would takes us decades. No can do, thank you. We are so grateful for FileMaker for saving us from starting from scratch in creating our data processors.
The curious case of NoteMaker's calendar. The Team loves using NoteMaker's calendar (by the bye, ScriptPlanner's story-calendar is not as full featured as it is intended for timelining a story — in other words, it isn't meant for personal use). NoteMaker's calendar is the Team's default real-world calendar: we use almost every day in conjunction with a hardcopy calendar (and for important dates, in tandem with NoteMaker's event-notes). What is curious about the calendar is that it is a standalone: it isn't related to any other table. At one time, we thought of offering it on its own, independent of NoteMaker, but we changed our mind when we reminded ourselves of the strategy to use the calendar to entice users to open NoteMaker on a regular basis: if for nothing else, to check (and update) the calendar.
Having decided to keep the calendar inside of NoteMaker, we are now wondering if we could have it in a relationship with another table. But there is a saying, "don't fix what works". We find the calendar so useful, we don't want to interfere with its workings too much, so we may leave it as is, as a standalone inside NoteMaker, an independent application inside an application, so to speak.
If NoteMaker's calendar has become your default digital calendar, the Team suggests that, unless you're a student, that you just have the one NoteMaker file for all your notes, so that the one calendar is always there for you. The Team's real-world NoteMaker file, called My Notebook, does all the notes. We have collection labels ranging from "Analysis" and "Biography" to "Entertainment" and "Point of Interest" to "Recipe" and "Word and Phrase" and another 20 labels somewhere in between those. One NoteMaker file for all notes works for us and because of that we don't have to worry about multiple manifestations of the calendar. Should you use multiple files of NoteMaker, our suggestion is to designate one as primary, the one you make use of its calendar. (Of course, none of these matter should NoteMaker's calendar not be your default digital calendar — then, go ahead and have as many NoteMaker files as you wish ... but even then we still suggest one file because that's the way we designed the data processor: to be inclusive of all kinds of notes and to be able to efficiently manage them all).
(REVISED). The power of table occurrences. One of the most difficult concepts to grasp in FileMaker is table occurrences as they appear on the Relationship Graph. Let's start from the beginning. The Relationship Graph was born of the revolution called FileMaker version 7 some two decades ago. In short, the Relationship Graph is a visual tool that shows tables as rectangular diagrams with table names at the top and fields underneath. If that's all, that would be fine: a simple and straightforward graphical representation of tables. If only it were just that. The difficulty and the power comes when they're not just that. Instead, they're occurrences. "Of course they are", one may retort, "they are representations after all: one table has its representation or occurrence in the Relationship graph — where's the difficulty in that?" True, but this is the power: a single table may have multiple occurrences. No mere one to one representation, no one table having only an expected single visual existence on the Relationship Graph.
We've jumped ahead too quickly: let's go back to the norm. Most relationships are between occurrences from different real tables. For example, the real NoteMaker table is related to the real ReOrderAble table via their occurrences on the Relationship Graph: a line from the PrimaryKey of the NoteMaker table occurrence is drawn to the ForeignKey of the ReOrderAble table occurrence. Result: each note in the database has its own list due to the type of relationship (in this example, "one to many", joined by the equal sign). This type of relationship is understood to be the most common: for example, one supplier to many invoices, one hospital to many patients, one shop to many products, one aircraft to many passengers, one company to many employees — all, "one to many". That in itself is powerful. It is why FileMaker Pro is lauded as a platform for creating relational databases. And as such places it up there with other creators of relational databases, and is only a couple of notches away from being in the same league with Oracle and SAP.
What is less common but incredibly powerful is the scenario of multiple occurrences of the one real table. NoteMaker's central table is called NoteMaker. However, on the Relationship Graph this one real table is represented by five occurrences.
Multiple
occurrences of a single
real table is
where the hidden power is. NoteMaker's real central table is
called NoteMaker, but it has
five occurrences
(representations) on the Relationship Graph, thus:
NoteMaker
NoteMaker 2
NoteMaker 3
NoteMaker 4
NoteMaker 5
All five occurrences are the same as the original
real NoteMaker table (which they represent on the Relationship
Graph), all
with exactly the same fields. But each plays a special role in
uncommonly empowering
NoteMaker. We'll take two examples.
The
NoteMaker 5
occurrence
is involved in creating a conditional value list whereby each
Collection field has a set of Collection sub-labels. For example, the
Collection label, "Medicine", may have as its Collection Sub-Label
"Aspirin", "Codeine" and "Paracetamol". The three sub-labels only appear
on the condition that "Medicine" is chosen from the dropdown list on the
Collection field. Another Collection label,
say, "Transport", will have its own sub-labels, say, "plane", "ship" and
"train". The
two occurrences
that make conditional value lists work*
here are:
NoteMaker
NoteMaker 5
The "join" that makes this possible is NoteMaker's field, Collection, to NoteMaker 5's field, Collection (yes, the join is Collection to Collection). On the Relationship Graph, it appears as a line connecting the two fields from one occurrence of the NoteMaker table to another occurrence of the NoteMaker table. In the middle of the line is a symbol showing how they are "joined" or connected: in this case, via the equal sign in a "one to many" relationship.
The other example is the Link popover, whose button
sits next to the Links popover button,
which in turn sits next to the Contextual Statement field. When you open
the Link popover, it's like experiencing a "database within a database"
as it has the same notes as the notes in NoteMaker, but it is
independent of NoteMaker. For example, when a found set is activated on
the Link popover, no such found set occurs in NoteMaker: it is unique to
the Link popover. How is this possible? The short answer:
occurrences.
Furthermore, you may notice that the current note isn't listed in the
notes displayed in the Link portal: the reason for this is we're not
allowing the current note to link to itself. How is this done?
Occurrences. The
two
occurrences involved in this second example are:
NoteMaker
NoteMaker 2
There are two connections between the two above occurrences: one for bringing about a "database within a database" and the other for excluding the current note from the list on the Link popover. NoteMaker's PrimaryKey is connected to NoteMaker 2's PrimaryKey (yes, PrimaryKey to PrimaryKey) in what is called a Cartesian (all is equal to all) relationship** AND NoteMaker's PrimaryKey is connected to NoteMaker 2's PrimaryKey (yes, again, PrimaryKey to PrimaryKey) in an unequal (not equal) relationship. (Both types of connection are in the one drawn line from NoteMaker to NoteMaker 2). "What the h#*l is this nonsense about!?", a frustrated reader may posit. Understandably, it is almost impossible to understand and the Team is not sure if it fully understands. This is our interpretation of what's going-on using plain English: the portal on the Link popover is to independently list all the notes from the NoteMaker database except the current note seeking the link and that this list will be available to all Link portals for each note in the database.
By these two examples, the Team hopes it has shown that once a conceptual understanding of occurrence(s) (as one or multiple representations of a real table on the Relationship Graph) is achieved, that it can hopefully be seen how powerful occurrences are in the hands of hobbyists.
SUMMARY. Real (schema) tables are represented as visual occurrences on the Relationship Graph. These occurrences cannot alter real tables. But their power lies in having diagrammatic existence on the Relationship Graph (one may say they act as "visual metadata" of real tables). The most common use of the Relationship Graph is to create "one to many" relationships between two different real tables via their occurrences. What is less common but is wonderfully powerful are multiple occurrences of a single real table, enabling incredible internalised relationships. The central real NoteMaker table has five occurrences on the Relationship Graph empowering the NoteMaker database in four ways, two of which are to create conditional value lists and to create a "database within a database" (à la Link portal). Once hobbyists understand occurrences as representations of real tables, the "sky is the limit". The Team confesses that it hasn't done enough exploration of the possibilities using signs other than "equal to" and "the Cartesian", with signs such as "greater (or equal) than", "less (or equal) than". Nor has the Team explored the possibilities of more uses for the "not equal to" sign except for that one occasion. The Team is guilty of having "its nose to the ground" and not seeing what lies beyond. The Team has a partial fear of willy-nilly exploring the unknown unless a necessary functionality demands it do so. The Team, right or wrong, is too often guided by needs rather than by curiosity. To have a link feature whereby one note is directly connected to another note we needed to have an independent list of the same notes from those in the database, thus, NoteMaker (PrimaryKey) x NoteMaker 2 (PrimaryKey). We didn't wish to have the current (linking) note listed as it mustn't connect to itself, thus, NoteMaker (PrimaryKey) not equal to NoteMaker 2 (PrimaryKey).
There you have it: the power of occurrences lies in the possibilities.
* (other steps are needed to
effect a conditional value list but it begins with the relationship
and then involves the Value List editor).
** (a Cartesian join is
represented by the "x" symbol).
One NoteMaker file only? Due to the inclusion of a visual calendar, the Team recommends that users only have one NoteMaker file for all notes. The argument the Team makes is that one and only one file is capable of meeting all your note-making needs. If you can keep all notes in the one file, you have the optimal scenario. NoteMaker was not developed to be a multi-file solution. Our real-world version of NoteMaker, called My Notebook, has reached 1,513 notes and at no time during the writing of those notes did we even think of running another file.
With collection labels (and sub-labels), you can have any category of notes in the one file. There may be a special need to create another file, but generally if you can manage all your notes in the one file, you're doing good. Whether you have 30 notes or 3,000 notes, you won't feel the difference (of course, some searches with 3.000 notes will take longer than the same searches with 30 notes). The Team's success in design rests on users being able of managing 3,000 notes as easy as managing 30 notes.
The exception to the rule may be students, who may have one file per subject or course. One file may be for English, another file for Modern History and another for Philosophy and so on. That way, students will have a "permanent found set" of notes specific to the subject or course, whereas all in the one file (each subject or course has its own collection label) a found set for, say, Ancient History can easily be lost when, as often is the case, some searches require all notes be shown. We would go so far as to recommend that students have one file for each learning area, but with the proviso that the calendar be ignored or at most be subject-or-course specific (eg, noting due dates for assignments). There is no reason why students, like the Team, cannot have a generalised NoteMaker file for notes other than those for educational needs. It is in this generalised file that students may make full use of the visual calendar. (As always, we recommend a hardcopy calendar — for example, a school diary — be used in tandem with any digital calendar).
Code-headers. The Team always attempts to place contextual headers at the top of all their scripts. For example:
DATE CREATED: 15 June 2025.
PURPOSE: to show only Marked Special notes on the home page for easy en
masse reviewing.
ATTACHED TO a button on the bottom of the Marked Special popover.
ACHIEVEMENT. Successful combining of a Loop module with an enclosed
While function.
PROBLEM? It took two days to get While() working.
LESSON LEARNT: look for the simpler way when complication begins to pile
on complication and no apparent headway is being made.
LAST UPDATED: 18 June 2025.
(By the bye, green is our chosen colour for
commenting in scripts).
Though it's not always done, it is our policy to implement code-headers for scripts. However, we rarely put code-headers in what FileMaker calls "calculations" due to a sense of clutter as, here, no colouring of code is possible. Scripts have colouring of code, but calculations don't. The sense of clutter is great in commented calculations without code-colouring. The Team has urged the FileMaker people to implement colour-coding in calculations for years with, to date (19 June 2025 AEST), no success. There is what is called a "plug-in" that enables colour-coding in calculations, but it's the policy of the Team — whose members are hobbyists and offer their data processors free of charge — not to spend more money than is needed to purchase only FileMaker upgrades. Should upcoming version 22 have colour-coding in calculations — plus a modernising revamp of the Custom Function dialog in line with the already modernised Specify Calculation dialog — oh, and, of course, a couple of script steps and functions useful for hobbyists who love creating single resource managing (SRM) applications of value in-and-of themselves — it could almost be a certainty we would upgrade to v22, our first such since upgrading to v18.
Great news: NoteMaker has been updated to 1.5.1. Users can now easily group Marked Special notes on the home page for purposes of reviewing these special notes (possibly removing some from continuing to being listed on the Marked Special popover). Two new commands have been added to the Note menu: Hide "Clutter" and Show "Clutter". There are also a dozen minor improvements, here and there, and "corrections" of a couple of "sort-of" errors. All told, a wonderful update. However, it's not an urgent update (as was 1.5.0) and users may use their own judgement as to whether or not to update to 1.5.1.
Another improvement heading your way with NoteMaker 1.5.1 update. A feedback indicated to us that hiding the "clutter" on the home page isn't as intuitive as it could be: the Hide Clutter checkbox next to the Note-Focus Card button is almost invisible. Therefore, two new commands have been added to the Note menu: Hide "Clutter" and Show "Clutter". So as to remind users where the Hide Clutter checkbox is, its frame remains highlighted after either operation.
Script Debugger and Data Viewer. Our best friends when it comes to resolving Loop modules, While functions and other coding issues are the Script Debugger and Data Viewer tools. The Team cannot over-emphasise the roles these two dialogs play in making breakthroughs; we would venture as far as to say that some issues would have been (near) impossible to resolve without the Script Debugger and Data Viewer working together. Our advice to fellow hobbyists is: use them with any coding that hints at being complex; if nothing else, they're great "teaching" tools: one may gain insights to how coding works and how things unfold in FileMaker.
New While function has successfully been implemented in upcoming NoteMaker 1.5.1. The Team felt it would be helpful for users to be able to group all the Marked Special notes on the home page, where they may be reviewed. It took the Team two days to get it right. Here it is:
GetAsBoolean (
While (
[
$output = "" ;
// If you know the result is going to be a number,
$output = 0
will also do.
$listIDs = List ( Mark Special::RecordID ) ;
$limit = ValueCount ( $listIDs ) ;
// Notice once
$listIDs is
initialised, it can be used again.
$passes = 0
] ;
$passes ≤ $limit ;
[
$passes = $passes + 1 ;
$output = $output + If (
NoteMaker::GetRecordID = GetValue ( $listIDs ; $passes ) ; 1 ; 0 )
] ;
$output
)
)
CONTEXT. The above code is inside a Loop module to determine which notes to omit so that what remain are only the Marked Special notes.
Of course what took two days to work out was this piece of logic:
$output = $output + If ( NoteMaker::GetRecordID = GetValue ( $listIDs ; $passes ) ; 1 ; 0 )
Q. What is the difficulty in the above line of code?
A. The concept of self-referencing: that
$output can equal itself plus what-else (the accretion).
Q. Which variable represents the (final) result?
A. $output.
Q. Which symbol is the "growth" (accretion) "mechanism" (ie,
will be gobbled by the "parasitic" inside
$output variable)?
A. The "+" sign.
Q. What are two other "growth" (accretion) "mechanisms" that
are common in While functions?
A. "&" and ";" (the ";" as in a List function, but not necessarily so in
other contexts).
Q. What is the "growth" (accretion) "material"?
A. "+ If (
NoteMaker::GetRecordID = GetValue ( $listIDs ; $passes ) ; 1 ; 0 )"
Q. Is it always "growth" (accretion)?
A. No. Some While functions may be de-growth or
reducing, where minusing and taking away material
are the norms (two examples are given by Mark Conway Munro in
Learn FileMaker Pro 2024,
pages 330-331).
Q. Which variable counts the tickovers?
A. $passes.
Q. What other name can be given to represent tickovers?
A. Other names may be "counter", "count", "iterations", "turnover",
"rounds", "tally" or any other that can be used to monitor the number of
passes or tickovers. It's crucial to perceive logic components as not
static — not as is, but as becoming — as "growing" (accreting) — or
"reducing" in some cases — with each pass or turnover. It's a
perception-imperative that a While function is seen as passes:
one pass followed by nother pass then another and so
on.
Q. What other role is $passes playing as the second
parameter of Get Value()?
A. To grab, one-pass-at-a-time, items listed in $listIDs
from first (top) item to last (bottom) item.
Q. What is the If
function testing?
A. Does the current note's unique identifying (UID) number match any of
those UID numbers listed in the fields from the Mark Special table (as
collected by $listIDs)?
Q. What two results are possible?
A. 1 or 0.
Q. What does 1
represent?
A. True.
Q. What does 0
represent?
A. False.
Q. So what's it all about?
A. If the current UID number does not match one of the numbers listed in
$listIDs, the If function will return 0
and therefore, since $output started
with nothing (zero), we have
$output = $output + 0
(in effect all of the If
function dissolves here to a zero)
$output = 0 + 0,
which comes down to
$output = 0. (Another way of seeing
is there's no "growth").
Because the While function is enclosed
in a GetAsBoolean function, the zero
result reads as False.
The consequent step in the Loop module is to execute the Omit Record
step.
However, should the If function return
1, indicating the note has been marked
as special,
$output = $output + 1
$output = 0 + 1
$output = 1
the Loop module will leave this note alone and will skip over to the
next note for testing by If().
The point of the exercise is to give another example of the difficulty the Team faces every time it confronts a While function. There are up to 50 While functions operating in NoteMaker and ScriptPlanner and none have been easy to implement. But without the wonderful While function both data processors would be the poorer.
From the two-day trial and tribulation of our latest effort to implement the While function is this take-away: when things are becoming ever more and more complicating but no headway is being made, have a rethink: look for the simple — you'd be surprised how many times it's there, but only needs somehow to be seen it's there.
AFTERWORD. Yet, one can't help thinking simpler could be simpler still by altogether stepping away from a script with a Loop module and a While function: it may have been possible to achieve the same goal simpler and quicker by a find operation using a "phantom", "tag" field. Both the Loop module and While() have a fascination for the Team (more specifically, for one half of the Team): every While function especially is like the kind of challenge someone may experience putting pieces of a complicated jigsaw puzzle together: successful effort leads to boundless joy.
"My Notebook" has passed 1,500 notes! The Team's real-world version of NoteMaker, "My Notebook", has reached the milestone of 1,500 notes. And the wonderful news is all the notes are easily manageable. Whether searching for a single note or for a group of notes ... no problem. NoteMaker has been so successfully structured that having only 10 notes or 1,500 notes makes no discernible difference in terms of management. We feel that this would still be the case when one day way in the future "My Notebook" reaches 15,000 notes.
One file, one calendar — a must! Based on "road testing" NoteMaker — as "My Notebook" — we recommend keep all your notes in the one file. Tempting as it is to have multiple files (one for this subject, another for that topic), we advise against doing so. One major reason is the inclusion in NoteMaker of event-notes and a visual calendar. To have more than one file may present problems in tracking event-items and calendar entries. We will go as far as to say that the idea of event-notes and calendar will be in practice unworkable if used with more than one file.
NoteMaker is structured to store as many categories as you may think of due to its concept of "collection labels". If you're a high-school student you may have collection labels for History, Science, Mathematics, English, Economics and Art — and still have, in the same one file, a collection label for (keeping a) Diary or Journal.
Suggested names for the one file may be "My Notes", My Notebook", "Notes", "Making Notes" or even leave as "NoteMaker".
The Team has never ever considered of having more than one file because one file is truly all inclusive of any category of notes we may think of.
A Letter to Users from the NoteMaker Team.
Dear Users,
Recently we fixed a serious fault with NoteMaker's calendar whereby the little "dash" button — to rid default yellow highlight from day-entries — when clicked, would actually delete other day-entries with the same content. This fault could be defined as a mission-critical error as crucial appointments or vital deadlines may be missed (which is why the Team from the get-go has always suggested a backup in the form of a hardcopy calendar — and now also recommends using Event-Notes as well to be doubly — or triply — sure mission-critical calendar-items aren't missed).
The Team immediately emailed verified users to notify them of the serious problem and at the same time deliver the correcting 1.5.0 update as an attachment.
But our problem is that we could not contact those who received their copy of NoteMaker via the download mechanism. We therefore recommend that should you have downloaded NoteMaker (or ScriptPlanner), to please take that extra step to add your email address to our verified-users list by emailing us either via the Contact Form or via support@notemakerdatabase.com, so that should there be another error of a mission-critical kind we can immediately notify you.
We like to take this opportunity to thank you for downloading our data processors and hope these single resource managing (SRM) applications are of some benefit to you. (If you are not on our verified-user list, please make sure to visit this website on a regularly basis for the latest news, update notices and reviews).
Sincerely,
The NoteMaker Team
Cursor to enter field in popover. Users may note that when the "+ Why" popover button is clicked it opens to a single field called, WhySpecial. But the cursor doesn't automatically enter the field; the user has to click into the field and then type. For a long time the Team has tried to automate cursor entry, but failed as it tried to place triggers on the popover button. It took Mark Conway Munro's book (Learn FileMaker Pro 2024, pp 766-767) to show a possible way forward.
We were looking at the wrong place to attach triggers. Mark hinted at the possibility of placing triggers on the popover itself (what Mark calls the popover "panel"). We did this. We placed an OnObjectEnter trigger on the popover itself that, once the popover opens, will place the cursor in the WhySpecial field. The script is essentially a one-liner: Go to Field. However, we could not use this step because it would take the user to the WhySpecial field in the Mark Special popover instead. So, we used the Go to Object step and, when NoteMaker 1.5.1 is released, you'll see for yourself that it works. A tiny improvement among another half-dozen such improvements to look forward to in the upcoming 1.5.1 update.
To set a calendar month in NoteMaker: on only the first day of each month, choose from the dropdown list of days (Sunday, Monday, etc) the day that is actually the first day of that month of that year. Use the calendar attached to the Calendar Guide field situated on the header to pinpoint the actual day.
Urgent NoteMaker 1.5.0 release.
Due to correcting a serious error in the Calendar in relation to the tiny "dash" button that rids default yellow highlight, an update to NoteMaker is now downloadable or may be ordered via the Contact Form. The Team recommends strongly for current users to take up the update. (Our verified users have already been sent NoteMaker 1.5.0 as an attachment). The issue is as follows ...
Each tiny "dash" button is found on each day of the calendar month. It only comes into view when the day is designated as passé. The problem is this: each of these "dash" buttons has a parameter, so when the "dash" button is clicked, Get (ScriptParameter) = Calendar::c1, (c1 is the name of the field representing the first day of the month), the code block for that day is triggered and the default yellow highlight is rid. The Team fell into a misperception thinking that the parameter would be the field itself, not the content of the field. As it was, it was the content. So that would trigger the "dash" button for days with the same entry, alarmingly – because the result may go unnoticed – other days with the same content will not only have their default yellow highlight rid, but the whole entries will disappear.
A wonderful function came to our rescue: GetFieldName ( fieldName ).
So, the parameters were no longer simply Calendar::c1 or Calendar::c2 or so on up to Calendar::c31, but instead GetFieldName ( Calendar::c1 ), GetFieldName ( Calendar::c2 ) … GetFieldName ( Calendar::c31 ). No longer was the parameter referencing the content of the day, but its field name.
The result is that duplication of parameters is now impossible. Each block of 31 (representing 31 days ‒ in order to do so, the module ran to over 300 lines of code) would be triggered by Get (ScriptParameter) = GetFieldName ( Calendar::c1 ) and so on to Get (ScriptParameter) = GetFieldName ( Calendar::c31 ). Problem solved: no more disappearance of content with the same entries. It's the first time ever the Team has used the GetFieldName ( fieldName ) function ‒ we bow in gratitude to it.
CAUTION. Failure to update to 1.5.0 and you're a regular user of NoteMaker's calendar, day-entries that have the same content, will – upon pressing the tiny "dash" button that rids default yellow highlight – disappear, resulting in perhaps missed appointments or missed deadlines. Should you wish not to update to 1.5.0, the workaround is to rid any instance of default yellow highlight via the formatting toolbar.
How does the Team see itself?
We are developers but we rather see ourselves as builders. In creating and improving NoteMaker and ScriptPlanner, we feel more like builders. We start with the foundation (the table and layout) and we build the superstructure (design the user interface, create automation with code and provide storage facilities). Sometimes, we think of ourselves as data-processor "engineers". Software engineers can create a FileMaker, we create – via FileMaker – data processors.
Book review: Learn FileMaker Pro 2024 by Mark Conway Munro (Apress publishers, 2024). Amazon.com price: $US c80; $Aust 150-169 (includes free delivery).
Rating: ۞ ۞ ۞ ۞ ۞ (five out of five stars)
Once upon a time, there were many books published about FileMaker. Those days are largely gone: almost everything that can be read or is readable is on the internet. Yet, tangible books still hold a magical purpose – remember the heydays of the Harry Potter phenomenon? Books are what versions on the internet aren't: physical, things you hold in your hands, which give you the tactile experience of turning pages. They have instant access – no switch-on mechanism, just open the book. They’re healthy: not the slightest radiation is emitted. And they’re independent: no reliance on servers far away at data centres or even dependent on your local solid state drive. And finally who doesn’t enjoy reading a physical book in the sun?
That Learn FileMaker Pro 2024 is hardcopy is a wonderful manifestation in today’s rapidly digitalising world. That, furthermore, it is a book on FileMaker (FM) makes it a minor miracle. To top it off: it is a superb book, covering the latest iteration of FileMaker Pro, version 21 (aka version 2024). The author, Mark Conway Munro, has made a superb effort in introducing what the NoteMaker Team believes is the most wonderful database-creation platform for hobbyists ever put together – beating Microsoft’s powerful Access program hands down – and we’re Windows OS users who are saying this!
As we do, Mark too loves FileMaker. To write a book over a thousand pages long, you have to love the subject. The book, however, doesn’t necessarily radiate a labour of love. The writing is in the style of the clinician. It is largely bereft of wonderment. Instead the narrative is straight forward and explanatory. Which is a great thing in a how-to-do manual. Mark doesn’t have to prove his love of FM – the fact of writing about FM is proof enough. No embellishments needed, right?
Learn FileMaker Pro 2024 is packed with information, diagrams, examples and how-to procedures. The Team believes it is a must-have book for hobbyists and professional developers alike. We thought we knew a lot about FM but the book has made us realise how much we don’t know and, furthermore, made us aware of the precious stuff we once knew but have long – unknowingly – forgotten, stuff we shouldn't have forgotten. One may look at Learn FileMaker Pro 2024 as a refresher course for experienced developers and a beginner's course for newcomers.
Here is an example of how the book is littered with little gems. Rows in a portal can automatically be created when “Allow creation of records ...” checkbox is ticked for the related table in the Edit Relationship dialog (bottom right). Once done, a blank row is automatically created in the portal row; okay, but there could be a problem. We’ll let Mark tell the story. “This feature may confuse users since the empty row appears like an actual record with no field values. If a user thinks it is a mistakenly created empty record, they may try to delete it. Use a Hide formula ... to make the [delete button on the blank row] invisible when the related [foreign key] is empty” (ibid, p 544). The Team immediately seized on that for the “Cast per event” portal in the middle of our ScriptPlanner’s Event page. Now the delete button on the new blank portal row is hidden until a value is entered in a field. (This little improvement is slated for ScriptPlanner’s 1.0.4.3 release sometime in the future). The insight that Mark provides (which the Team has had no idea of) is this: a blank row in a portal is not a record (it’s more or less a placeholder row); however, it becomes a record when a value is entered into a field on the blank row. Once that happens, FileMaker will “stealthily deliver” the value of the Primary Key of the current table to the Foreign Key of the related table. Bingo, a related record has been created.
It’s interesting to note that Mark offers an alternative way to creating related records. He writes: “However, some developers disable the feature entirely and use a custom script to perform the sequence required to create related records” (ibid, p 544). This alternative way is the preferred method by the Team and used extensively in ScriptPlanner and NoteMaker. (To see the sequence of script steps for doing this kind of thing, please see Sunny Chu’s superb video on relationships from his YouTube channel, FileMaker Beginner).
From the get-go, Mark explains why FM is a wonderful piece of database-creation software. It operates at three levels: the user interface (the "shop front", one may say), the middleware (programming) and expansive storage facility. All three are in the one program, which is not the norm among many other database-creation programs (especially, among giant ERP software – think of Oracle and SAP). It’s one of the reasons the Team loves FM: it makes us designers, programmers and storage supervisors all at once. (Do not let being a “programmer” put you off; it’s a FM in-built language you’ll learn bit by bit, but, this is the crux: every bit learnt will empower you a lot, that's the magic of coding).
There is a treasure-trove of wonderful diagrams and examples. These are the highlights of the book. However, with some of the more difficult procedures, a set of step-by-step diagrams (a sort of storyboarding) would help even more: some things are best expressed as a series of diagrams. rather than with a single diagram. Mark gives plenty of examples to study and each is treasured. You may be surprised how much more can be revealed with worked-out examples than can be learnt from mere explanatory narration. The one nagging point the Team has is that too many examples are business-oriented (involving companies, contacts, invoices, employees and the like). The Team would love to have seen more everyday examples that would appeal to hobbyists from other walks of life.
Mind you, the narrative is solid, staying consistent with the use of terminology. If you follow the instances of terminology and understand each, they become yours, whereupon a situation arises where there is a shared language between author and reader. But this can be a drawback. Sometimes, keeping to consistency in terminology, when explaining basics, may take away points of entry for understanding by beginners. What Mark tries to do throughout the book is appeal to beginners and professionals alike but, sometimes, the two groups are conflated in the same narrative. There are moments when Mark needs to digress and speak to beginners with a different language: perhaps forego consistency in terminology and instead use, aplenty, metaphors and analogies (even referring to real-world experiences, something like "I tried this but the problem was this ..., the way I got around it was by ..."); and, yes, as a breakaway from a consistent clinical presentation to even infuse narrative moments with embellishment. After all, AI does well simulating clinical presentation of things – in today’s world, we need to somehow signal to readers we’re human writers, not chatbots (not that Learn FileMaker Pro 2024 could ever be mistaken for a chatbot product, it's only to say authors today in general need to convey some form of a human signature in their writings).
Speaking of AI, we have never to date read a better explanation than the one offered by Mark. “A large language model (LLM) is an advanced artificial intelligence system designed to understand and generate humanlike text in response to prompts. They are a type of machine learning model trained on vast amounts of textual data to establish a statistical foundation from which a wide range of natural language processing tasks become possible. The scale of these models is staggering, typically measured in billions of parameters. Similarly, the data used to train them is diverse and extensive, drawing from articles, books, websites, and various other sources of information. From this training, LLMs learn language patterns and acquire an understanding of conversational context. Once trained, they use probabilities to formulate content that can answer questions, translate languages, summarise text, identify sentiment, generate content, and engage in realistic conversational interactions with humans” (ibid, p 976). Wow, this is writing at its best.
What Mark has to say about FileMaker is worth listening – very carefully. He knows what he’s talking about. That doesn’t mean you take in everything. There are many instances the Team and probably other readers do things differently – or don’t do at all. Often Mark realises this and the language of choice is used, but more of that kind of language is probably warranted. It’s a good thing in writing to give the reader the power of choice – or at least its semblance – and not for the author to appear as a commanding force (which is a good thing too – author knows one's stuff). It’s a balancing act. As great an expert Mark is about all aspects of FM, of that there is no doubt, humbleness says to the reader: I’m at your service, your understanding is more important to me than the consistent demonstration of my expertise, necessary as that is. Sometimes, by sticking to consistency in the use of terminology, a good thing in the overall scheme of teaching/learning, there may, however, occur lapses by beginners in following some explanations. Sometimes, plain words and phrases can be beneficial to short-term understanding, even if it means sacrificing the deliberate long-term strategy by the author of training readers in the consistent use of terminology, so that more advanced concepts may be better understood later.
Don’t misunderstand us, the writing in Learn FileMaker Pro 2024 is of the very highest quality, we only wish to illustrate the problem of writing for two audiences: beginners and professionals. In order to prepare beginners for more advanced topics, Mark gradually introduces them to the prerequisite vocabulary for future understanding. The problem is some of the vocabulary comes too soon – or are miss-timed; that is to say, are assumed to be understood before there is reason for beginners to become comfortable with them. The Team suggests a quirky writing-style element we call, for want of a better phrase, "reminder inserts". This entails taking time-out to remind readers of what has been learnt, before proceeding to something new. It's another way of "setting the scene", to borrow a phrase used in film-making. It may entail using a lot of parenthetical interpolations here and there. (It can be presumed many may read the book by jumping around from one chapter to another, one section to another, not necessarily sequentially: reminder inserts could be helpful to those kind of readers).
Every book on software or about a programming language the Team has read do not have concluding chapters, Learn FileMaker Pro 2024 included. All these books have wonderful introductions that set the scene for what's to come. But at the end of the journey there isn't a sense of release, of completeness. Instead, the feeling is one of being left stranded, hanging. On the other hand, a concluding chapter may pull the thematic threads together, give us the major takeaways and present reworded passages from the introduction in the light of confirmation or possible re-assessment.
In conclusion, Learn FileMaker Pro 2024 is one terrific book. Without hesitation, we recommend it to every hobbyist and professional developer. In a world facing a dearth of physical books on FileMaker, Learn FileMaker Pro 2024 is a precious possession and Mark Conway Munro is to be lauded for his courage to give the world of FM developers a tangible how-to manual that can "stand" outside one's computer – "for goodness sake", don't we need any excuse to take our eyes off the computer screen and re-focus on real-world objects? The critical question is: is it worth $Aust c150? It comes down to a question of affordability and therefore only each hobbyist alone can answer that question. Our recommendation is: if you can afford it, buy it.
In closing, we have but one wish. We wish that one day Mark may consider writing a reference book listing all the functions, script steps, triggers and error codes in FileMaker, complete with syntax, definitions, many and varied examples (not based on an example database file as is sometimes the case with Learn FileMaker Pro 2024) and some illustrations. One of the dearest possessions held by the Team is FileMaker 12 Developer Reference by Bob Bowers, Dawn Heady, Steve Lane & Scott Love (Que publishers, 2013). But it could do with an update (eg, it doesn't have an entry on the While function). Of the dozen books on FileMaker the Team possesses, it is still the book we most often turn to when challenges in programming arise, more than the other FM books combined.
Forensic examination of a highly useful While function.
This example of the While function is taken from an official video released after FileMaker 18 came out some years ago. It enables an application to find designated keywords in a text field.
While (
initialVariable component (initialising
variables)
[
output = "" ;
iterations = 0 ;
input = Assets::Description ;
keywords = List ( Keywords::Keyword ) ;
count = ValueCount ( keywords )
] ;
condition component (or exit condition)
iterations <= count ;
logic component (or logicVariable component)
[
iterations = iterations + 1 ;
output = List
(
output ; If
( PatternCount
( input ;
GetValue (
keywords ; iterations )
) ;
GetValue (
keywords ; iterations )
)
)
] ;
result component
output
Deconstruction follows ...
initialVariable component
Here, variables are initialised and declared.
All that means is that storage boxes have been set up that may
contain almost anything: text, number, fields, other variables and so
on. One purpose of creating variables is to use shorthand notation (eg,
look at what follows
output =
in the logic component without shorthanding,
understanding List(), hard as it
already is to comprehend, would even be more incomprehensible).
output =
""
says that at the start the result we're after, named here as
output ("a rose by any other
name is still a rose"), is unknown. It's what we're hoping While() will
make known at the end of the process.
iterations = 0 is no different to
counter = 0 (we could use the term "tickover" or any term we choose);
this variable will tally the passes (may aka "loops",
"recursions", even "iterations"); it's 50:50 whether
iterations
starts with 0 (zero) or 1 (one) (nb, if it starts at 1, it should go at
the bottom of the logic component).
input = Assets::Description
says in order to help us get a result for our
output, let's have an input; in
this example, it's a field, Description,
in the Assets
table, a field which describes an asset (if a café, assets may include
tables, chairs, a coffee machine, a grill and the like).
keywords = List ( Keywords::Keyword )
is a huge shorthand variable: it says that a list of all the keywords in
the field, Keyword, from the table,
Keywords, will be encapsulated in the variable called
keywords
(nb, the easy confusion that could come from the variations of keyword
(keywords [the variable], Keywords [the table] and Keyword [the field]).
count = ValueCount ( keywords
)
is one half (the other half is iterations)
of our stopper, a set limit to the number of passes While() is
allowed; here, count stores a function called
ValueCount, which counts the number of keywords in the previously
initialised variable, keywords; this
is an important concept to understand: instead of the parameter for
ValueCount
being List ( Keywords::Keyword )
it is now the variable, keywords, where is
stored List ( Keywords::Keyword );
here, we have a good example of using variables for shorthanding.
condition
component
A problem with the While function is its addiction to (Toy
Story's) Buzz's idea of "infinity and beyond". It may be great for
Buzz, but rarely a good thing for the While function. We have to have a
limiter, a way of stopping the passes (by default, FileMaker
limits passes to 50,000 - thank goodness we have a built-in
stopper because going to "infinity and beyond" is going to happen to all
of us if our stopper isn't full-proof).
iterations <= count
says that if the tickover of passes as tallied by
iterations
is less than or equal to count, all is
good, but once iterations
is greater than count
(ie, greater than the number of keywords in the
Keyword
field; ie, the equation - yes, this time it is the mathematical
equation, not an assignment operator - becomes false) all operations
cease.
logic
component
In this part, action happens that normally leads to a result. The moment of truth is upon us; if the
logic is awry, the result (output)
will go awry.
iterations = iterations + 1 is our tickover mechanism, it is our
way of counting the number of passes. But it also teaches us,
by example, the concept of self-referencing. This
output = List
(
output ; If
( PatternCount
( input ;
GetValue (
keywords ; iterations )
) ; GetValue
(
keywords ; iterations )
)
)
is the one piece of logic the Team
approaches with dread. Upfront, we wish to posit this disclaimer: we're
not 100 per cent sure what we're talking about, but at least we're talking about it.
Let's come to terms with the elements comprising this piece of logic. Here goes ...
"output
is a list of itself?"
How's that? That sounds okay, what do you think?
"output
is becoming a list of itself?" Wow, we think that hits the mark. That's better as it hints at
the all-important concept of
passes. Yes, we think this is good to go with.
But it cannot become
a list out of nothing: the act of self-referencing does not on its own
provide the "growth material":
"output = List
(
output
)"
means nothing as output
starts with nothing (remember its initialisation:
output = "").
Let's go back to iterations = iterations + 1.
Here the "growth material" is "+ 1".
Are we safe to say that the "growth material" in our second piece of
logic is the
second parameter of the wonderful List
function? That is:
If
( PatternCount
( input ;
GetValue (
keywords ; iterations )
) ; GetValue (
keywords ; iterations )
)
If we agree with each other that
it
is so, let's go on.
The first parameter in any
If
function is a test that results in either true or false. In
this example,
If()'s first parameter is occupied by PatternCount
( input ;
GetValue (
keywords ; iterations )
) -
that is the test. The PatternCount
function is itself Boolean; that is to say, if its search result is 1
(one) or greater than 1 (one), then it's true, if it's 0 (zero), it is
false. So, the test for the
If
function is PatternCount().
What PatternCount()
will do is pick a keyword from the variable
keywords list (but which keyword in the list? the one pointed to
by the number represented by
iterations) and search the keyword in the
input variable (remember: input = Assets::Description,
which in effect means the search is carried out in the
Description field) and if the selected
keyword matches to one or more words in input, PatternCount()
will give its enclosing
If
function a true value.
If(), in turn, will activate its second parameter,
GetValue (
keywords ; iterations ),
"telling" its enclosing List
function to list that selected keyword and which List()
then in turn will add it to its first parameter,
output (the mechanism by which List()
does this is explained later).
And so the process will build with
every pass, so long as the exit condition stays true:
that is,
iterations is less than or equal to
count
(remember, count
is the total number of keywords in the list stored by the variable
keywords).
Let's look at
If()'s nested functions individually ...
PatternCount
( input ;
GetValue (
keywords ; iterations )
)
PatternCount
( text ; searchString ) is a fantastic Boolean function that
asks to get the value (or keyword, in this example) from the list in the variable,
keywords, and see if it matches a word in the
Description
field, which field, by the bye, is stored in the variable,
input. If it does, it gives the thumbs up to the
If
function to (by way of GetValue
(
keywords ; iterations )) add the
selected keyword to the list being created by the List
function for output.
GetValue (
keywords ; iterations )
is a
superb function that "grabs" the value from the list stored in the
variable, keywords, which value
depends on what the variable, iterations,
stores at any one pass. Whoa, hang on a moment, wow, iterations
plays two roles: as a counter but also serves as the second parameter of
the GetValue function, telling it
that with each pass to
get the first value in keywords, then
the second, then the third and so on (until the exit condition is
reached). Wow, "three cheers" for iterations.
result component
Whatever output
is, is our result. It will be a list of keywords that match words in the
Description
field. To see a version of the example at work, open NoteMaker, enter
keywords in its Keywords popover and see what turns up in the Keyword field
adjoining the Note field when notes are written.
There you have it: the example of While function forensically deconstructed. What the Team is hoping is that if the enigma of the While function continues to remain a mystery - as it still does to the Team - at least other things may have been learnt along the way.
What is the "enigma" the Team speaks of? It's how output in the above example relates to itself. Let's begin by looking at the simpler
iterations =
iterations + 1
here, we can see that outside
iterations
grows
because "growth material" is attached to its inside
iterations
, that
is, the "growth material" being, + 1
. We can clearly see that because inside
iterations
has 1 (one) added to it, outside
iterations
will grow by one. Say,
outside iterations
stores the value of 5, then (because
inside iterations
is outside
iterations
) we have:
5 = 5 + 1
Outside iterations
is now 6, meaning at the next pass,
inside iterations
will be 6, thus
6 = 6 + 1
That, the Team can comprehend. What the Team finds enigmatic is the second piece of logic
output = List
(
output ; If
( PatternCount
( input ;
GetValue (
keywords ; iterations )
) ;
GetValue (
keywords ; iterations )
)
)
We know from first principles that outside
output
will grow because of what
happens to inside
output
. But
it's not clear here how: there is no "+
1
", the
+
operator making it
obvious something is being added. We don't have that here.
By what mechanism is inside
output
being
added to by what's in the second parameter of
List()
, that is the
If
function which is separated by a semi-colon from the first parameter?
Here, the mechanism of "growth" is not clear - that's the enigma. How does
the second parameter of the
List
function, occupied by the
If
function,
"feed" the first parameter, where resides inside
output
?
The suspicion is that the Team doesn't fully understand
the power of the
List
function and its optional fields. So we've
embarked on research. Our first go-to is
FileMaker 12 Developer Reference by Bob Bowers, Dawn Heady,
Steve Lane & Scott Love (Que publishers, 2013).
To paraphrase the authors,
List()
works to collect and
itemise all entries in a related field (we think that's when
List()
is "at its best"), to itemise all entries
in a single repeating field, to itemise only the first entry from a set
of repeating fields (for us an exemplar) or finally (and for us another
exemplar) to itemise single entries from a group of non-repeating fields
(ie, your "normal" single-entry fields with
labels like
"suburb", "state", "postcode" and the like).
There is a clue in the last two cases mentioned above.
It's not so much that the
List
function will gather the first entries of its optional parameters that
hold the other repeating fields but that it piles them under the first
parameter, which holds the first repeating field. We start with:
List ( repeating field 1 ; repeating field 2 ;
repeating field 3 )
Say, the first entry in
repeating field 1
is "train", the
first entry in repeating field
2
is "plane" and the first entry in
repeating field 3
is
"ship". Thus:
List ( train;
plane ; ship )
is virtually the same as:
List
( train¶plane¶ship )
Thus the result is:
train
plane
ship
Is what we have done correct? Is our reasoning full-proof? We're not sure. But assume it is, then, there you have it:
the semi-colon in the List
function simulates the
+
operator in
iterations =
iterations + 1
. This could be the
conceptual breakthrough
the Team has been longing for. But more is needed to confirm
what is still only a hypothesis.
Let's try non-repeating (ie, single-entry) fields, thus:
List ( non-repeating field 1 ; non-repeating field 2 ;
non-repeating field 3 )
Say, non-repeating field 1
is for first name,
non-repeating field 2
is for middle name and
non-repeating field 3
is
for family name. Say, the entries are "Mary", "Middleton" and "Turing"
respectively. Thus, we have:
List ( Mary ; Middleton ; Turing )
Because of the piling-under mechanism inherent in the
List
function we have:
List ( Mary¶Middleton¶Turing )
The result is:
Mary
Middleton
Turing
To us, it confirms that instead of the plus
+
sign, we
have the "pile-under" sign ¶
(pilcrow
- sometimes
referred to as a paragraph marker). Therefore, we may conclude that the
"growth material" that "feeds" into the
output
inside the
List
function is List()
's optional parameter containing the
If
function. That's it, we believe that's the
mechanism by which inside
output
captures
the "growth material" for its outside
output
. A
somewhat analogy may go like this: inside
output
is a
parasitic agent sent by outside
output
to gobble
up the nourishment provided by List()
's
"hardworking organs". (Please let the Team know if there has been a
fallacy in our solution to the While() quiz)
But for the Team, the While function will always be, like, "crazy, man". We think we have got to its essence, but the paradox is it has many essences. Given another type of problem to solve, While() may become an enigma to us all over again.
The While function is one of the most glorious functions in FileMaker. It is one of the most wonderful gifts the FileMaker people have given to us pure hobbyists. It takes our programming to new heights. We can build data processors in-and-of themselves that may be highly useful and perhaps even unique. But While() is one of the most complex: it will nearly always present some kind of challenge. Nearly every time the Team has successfully implemented the While function in NoteMaker and ScriptPlanner it has been an experience possibly equal to someone entering correctly all the words in a crossword puzzle. In both cases, the joy of success can be quite intoxicating.
News for Saturday, 31 May 2025 AEST
NoteMaker's calendar thoroughly tested. Access to a calendar is vital to many, if not most, people. The NoteMaker Team is using this "need" to encourage users to open NoteMaker (NM) on a daily basis, just to check their calendar entries and while NM is open to think about what new note is worthy of entering in the Note field or editing existing notes for greater clarity or updating them with new information. The wonderful news is that the calendar has passed all tests thrown at it by the Team and has come out with "flying colours".
There is no reason why users may not make NM's calendar one of two default calendars: the other is a hard-copy version, the kind bought at newsagencies, a copy which the Team believes is necessary not only as backup but also perhaps as a first go-to (it's there in physical form, not inside a digital device).
Revision notice. Please note: the forensic deconstruction of the While() quiz example (news item, 27 May 2025) has been again revised for the purpose of greater clarity.
News for Friday, 30 May 2025
"My Notebook" now has 1,489 notes! My Notebook is the real-world application of NoteMaker. It's where we're testing, on an almost daily basis. After 1,489 notes, it's going great. Never has it come to us to look elsewhere for writing and managing notes. Please obtain your free copy of NoteMaker and let us know how we can make NoteMaker even better for you and every user.
News for Thursday, 29 May 2025
Revision notice. The solution to the While() quiz (news item, 27 May 2025) has been revised for the purpose of greater clarity and increased consistency, and also for spelling corrections (Expression Web 4, our web-builder for this site, does not have spell check - therefore, we normally copy a news-item and paste it into LibreOffice Writer for spell checking - but sometimes we forget to do this - apologies to our readers).
ValueCount() and the List function. ValueCount is a function that will count the number of items in a list. For example, ValueCount ( List ( Keyword::Keyword ) ) will count the number of keywords entered in the field called Keyword belonging to a related table called Keyword. Say there are 12 records in the Keyword table, it can be expected to be an aggregated 12 entries in the Keyword field as spread over the 12 records. Therefore, ValueCount ( List (Keyword::Keyword ) ) will be expected to give a result of 12. However, List() has a peculiarity: it won't itemise empty (Keyword) fields. Keeping this in mind may one day come in handy for hobbyist developers. It did for the Team. Here's our short story ...
In our real-world My Notebook application, a NoteMaker "offspring", a problem arose with the Saved Notes history popover: sometimes blank entries appeared. The reason for this is the Note field having been saved without first entering a contextual statement (or heading). The fix, however, is easy. On the Saved Notes history popover click the search button next to the blank field ... once at the note, copy the heading ... and finally paste it into the blank field on the history popover. Done: no more empty field.
For some reason it came to the mind of the Team to institute a button, "Find blank Contextual Statement field(s)". We wanted the button to only appear when a blank field appeared in the Saved Finds history popover, otherwise we want it to go "into hiding". Then, came out the real reason why we created the button: to re-engage with the thrilling While function. (Spoiler alert: we failed, but amazing how sometimes failure has the seed of success). We wanted While() to hide the button. Effort after effort went by ... we just couldn't make it work; we got close, very close, but no, not close enough. This is when the wonderful Data Viewer came to the rescue. We took out pieces of code we had put into While() and placed them one by one into the Data Viewer to see their individual results and then came the revelation: one piece of code, ValueCount ( List ( Saved Notes history*::Contextual Statement ) ), gave a result of 29, not the expected 30 (bear in mind, the Saved Notes history popover has a maximum 30 entries at any one time). It was then we realised the List function doesn't itemise empty fields. Wow, that was the breakthrough! From the failed While function came the one-liner, ValueCount ( List ( Saved Finds history::Contextual Statement ) ) . To make the button go into hiding we placed in FileMaker's "Hide object when" field the following one-line code:
ValueCount ( List ( Saved Finds history::Contextual Statement ) ) =** 30
So, when the above equation is true, the button goes into hiding; when false (ie, less than 30) the button will appear. We are grateful to the List function for having this peculiarity of not itemising empty fields.
Lesson learnt. When something has complication piling upon complication (the While function got to the stage when it enclosed something like 20 lines of code) it could be an indicator that there may be a simpler solution and that it may very well be found somewhere in the complication itself. Sometimes, the saying, "it's better to have tried and failed than never to have tried", can be so true and can even lead to itself embedding the kernel of success, given the (sometimes, accidental) perception to find it. To put the lesson learnt in one sentence: look for the simple at every opportunity.
(By the bye, the "Find blank Contextual Statement field(s)" button will appear in the upcoming 1.5.0 update of NoteMaker).
* "Saved Finds history" is the name of the
related table whose portal appears on the Saved Notes popover.
** This is the mathematical equal sign, not the assignment operator
(please do not put the asterisks in the actual equation; the asterisks
are there for learning purposes only).
News for Wednesday, 28 May 2025
NoteMaker is going fantastic: "road testing" proves it. The Team's real-world version of NoteMaker, called My Notebook, has now 1,483 notes. And everything is working super smooth. Despite the huge number of notes, it only takes a few seconds or less (sometimes almost instantly) to find a particular note. Search systems are everywhere and many of them at your fingertips. So, given this huge number of notes, My Notebook is a winner in managing them. To every owner or subscriber of FileMaker version 18, 19, 20 or 21, please don't miss this golden opportunity to own NoteMaker, yours free of charge, no strings attached. If it fails to live up to your highest expectations, simply delete the file - that's all it is, a file: it's the installed copy of FMPro that brings it to life as a full functioning application.
There's no 30-day or 45-day trial period because NoteMaker is yours forever free. The Team sincerely urges every one with access to FMPro to give NoteMaker a go. In making this plea, we have absolutely nothing to gain, but you may have the opportunity to discover something that may be useful to you, your family or friends.
It doesn't matter if your purchase of FMPro is strictly for business purposes - every professional FileMaker developer has a personal side and may wish for an application to write and manage notes; or, having a copy of FMPro at home, may see benefits to loved ones having access to NoteMaker, perhaps an offspring who is a university attendee, a high school student or a primary school pupil. You have nothing to lose but the chains of inaction!
To obtain your copy of NoteMaker please do one of these:
If downloading, please send us a quick email to let us know if the process of downloading went smoothly. It'll be greatly appreciated by the Team.
We're experimenting for a suitable slogan, which we may use at the top of the website in the future: we're trying this one, "NoteMaker, the way to make notes". Can users think of another one?
Generative AI vs non-generative AI. Nowadays, many people are quick to dismiss anything that is not the fashion. In respect to generative AI (gen-AI), for some people it's either that something is imbued with gen-AI or it's not worth a further look. Therefore, for some people NoteMaker would be immediately dismissed as it doesn't have gen-AI. The Team loves AI: we see it in action in many areas (eg, when composing an email in Gmail where correcting suggestions are fantastic and c85 per cent spot on). But should gen-AI be the single criterion to judge the whole value of NoteMaker? We love writing in Gmail because of the oversight by gen-AI, but we love equally as much writing in NoteMaker's Note field, which doesn't have gen-AI, though it has a modicum of non-generative-AI (non-gen-AI). For us, that NoteMaker doesn't have gen-AI does not detract from its usefulness - believe it or not, not in the slightest. Please, don't misunderstand us, it would be lovely (of a luxury kind) if the Note field had gen-AI oversight, but that it doesn't, only means one becomes one's own oversight, one learns to become one's own correcting "resource". Another consideration is that NoteMaker is mostly for one's eyes only, not like an email that is destined for the eyes of another when it's imperative that communication should be as error-free as possible. One half of the NoteMaker Team has never gone as far as to ask gen-AI for rewrites, which that Team member believes is a "bridge too far". Gen-AI that raises the level of non-gen-AI kind oversight on one's writing is great, but suggestions from gen-AI for complete rewrites of paragraphs is considered by the Team member as an intrusion on one's style, on one's individualism. The Team member believes it's better to make syntax or grammar errors and to maintain one's individual style rather than even to look at, let alone accept, a rewrite suggestion by gen-AI. NoteMaker does have some non-gen-AI but, we believe, it's not the worse for not having gen-AI. Judge for yourself by downloading NoteMaker and start making notes and clicking the Scan button. Please tell us what you think? Do you feel NoteMaker is missing something valuable by not having gen-AI? We would love to hear from you.
Archived News has items (news, comments, reviews and coding examples) from past days, but the items are not passé and may have relevance for today. See for yourself by clicking the Archive News button in the above navigation bar.
Regarding downloads. Should you download either NoteMaker or ScriptPlanner, please let the Team know if the process has been a total success. This information will be invaluable to the Team.
News for Monday, 26 May 2025
Perception and While(). For all the understanding the Team has given and gained from its tutorial in the news-item two days ago, we still have a problem of conceptualising something like
result
= List ( entry ; result
)
in the logic component of a While function.
We think we understand the above line of code, that
result
builds on itself with every pass, right? But as soon we think we
understand, doubt in the form of a question creeps in. Why can't we get
a result simply with this simpler assignment:
result
= List ( entry
)
? That is,
result
is assigned a list of values obtained from a field named
entry
. Try it, if the opportunity arises to do
so, and see that the result, however, isn't exactly what is wished for.
What if we look at it this way:
result
nested as a parameter in the
List
function acts like a parasite controlling
its host. For some reason,
"result
="
appears unhappy to stay outside of
List()
and simply call it, but instead it inserts
itself inside the
List
function like a parasite growing by feeding
on its host. Does this analogy work for you? If it does, problem of
conceptualising is solved by an example of perception, by a way of
seeing.
Sure, but the Team's experience tells it that at some
time in the future,
result
= List ( entry ; result
)
will once again present itself as a
renewed conceptual problem. We feel sure many others don't have a
problem with While() and it could come down to the way half of the
population's brain is wired. It doesn't mean the half of the population
that has difficulty isn't capable of successfully using it (the Team has
executed While() dozens of times in NoteMaker and ScriptPlanner - with,
of course, much trial & error), it's just saying that many have
struggles with one of the most complex of functions.
Quizzing While(). In yesterday's news-item, the NoteMaker Team presented this:
While (
initialVariable component (the
preparation or setup)
[
output = "" ;
iterations = 0 ;
input = Assets::Description ;
keywords = List ( Keywords::Keyword ) ;
count = ValueCount ( keywords )
] ;
condition (or exit condition)
iterations <= count ;
logic component (where the action happens)
[
iterations = iterations + 1 ;
output = List
(
output ; If
( PatternCount
( input ;
GetValue (
keywords ; iterations )
) ;
GetValue (
keywords ; iterations )
)
)
] ;
result (or a "rose by any other name")
output
We've attempted to sort-out the somewhat confusing parentheses with
colour. Does it help to make sense of the reassignment of the
output
variable? Or does the colour-coding make
matters more confusing? Notice these points about this example:
iterations = iterations
+ 1
is at the top of the logic component
because iterations
has been initialised with zero; the question is where in the logic
component would iterations
= iterations + 1
have been placed had
iterations
been originally assigned one, that
is iterations = 1
?List
function is, to be able to enclose all those other functions
output
variable replicated itself and
implanted itself in List()
as if to posses it, to capture the result of its functionality (it's
by going inside that it captures), it's as if an agent for
output =
,
intending to "steal" whatever the List
function produces and then hand over the "stolen goods" to its
"parent" waiting eagerly outside List()
(the List
function and the functions nested inside do all the work but
output
takes all
the credit, is another way of looking at it) input =
Assets::Description
(important for our next
point ...) PatternCount
is Boolean; here, if it finds one of the keywords appears in the
Description
field it will give the "thumbs
up" to the If
function, which will respond by listing that
keyword; otherwise it will pass on to make the next keyword
in the list of keywords
as the one to search for in the
Description
field and so on it goes until all
the keywords have had their turn to be searched in the
Description
field (ie, until,
iterations <= count
becomes false, meaning all keywords have been given a go) If()
is
the second parameter in the List
function and by way of passes inherent in the While
function produces a list, which "inside
output
"
grabs and gives with every pass - list-item-by-list-item - to its
"parent", the "outside
output =
"
output
variable inside other functions
is what often leads to a result (or "output" in our example)Even if we only end-up half-learning about the essence of the While function, we can't help but admire how powerful are functions like ValueCount, GetValue, List, PatternCount and If. The more we see this, the more we appreciate them, the more we can use these functions successfully in future coding.
News for Sunday, 25 May 2025
The wonderful but difficult While function, part 2. Once one may succeed in implementing the While function, there is a wonderful sense of empowerment - and for a good reason: While() is powerful. But success also brings relief: the "wild" While function can be tamed. The takeaway from the tutorial given in yesterday's news item is how to see While(). Two keywords, it terms of perception, are passes and growth. Each and every pass, actions the lines in the Logic component to increment (or decrement), to grow (or "reverse grow"). When you encounter the wild creature known as While(), try to see it for what it is: a build-up (or, in other cases, "build-down"). When the NoteMaker Team doesn't perceive While() for what it is, even if off by just a fraction, we become disoriented. The slightest misperception will cause problems. A good antidote is to treasure every example of While() you come across. In Mark Conway Munro's book, Learn FileMaker Pro 2024, (pp 324-331), are presented both simple and complex examples of While() in action. Study them and work out how each piece fits in the puzzle. Go to the internet to find examples. Aim to become a master (something the NoteMaker Team isn't yet) of the While function , the rewards will repay effort doubly.
Quiz. Can you explain this While function?
While (
[
output = "" ;
iterations = 0 ;
input = Assets::Description ;
keywords = List ( Keywords::Keyword ) ;
count = ValueCount ( keywords )
] ;
iterations <= count ;
[
iterations = iterations + 1 ;
output = List ( output ; If ( PatternCount ( input ; GetValue ( keywords
; iterations ) ) ;
GetValue ( keywords ; iterations ) ) )
] ;
output
This While function has been transcribed by the NoteMaker Team from a brilliant FileMaker video that followed the release of version 18. The video attempted to explain how the new While() worked by using the example of picking out and listing keywords in a description of an asset.
A similar While() was used in NoteMaker. A user lists keywords in the Keywords popover and While() will pick them out from the Note field and itemise them in the Keyword field adjacent to the Note field.
Clues:
While (
[
output
= "" ; *
iterations = 0 ; **
input = Assets::Description ; ***
keywords = List ( Keywords::Keyword ) ;
^
count = ValueCount ( keywords ) ^^
] ;
iterations <= count ; ^^^
[
iterations = iterations + 1 ; #
output = List (
output ; If ( PatternCount ( input ;
GetValue ( keywords ; iterations ) ) ;
GetValue ( keywords ; iterations ) ) )
##
] ;
output
* output plays the same role as result
in our tutorial of a day ago
** iteration is another word for
counter; both are tick-over mechanisms
*** input is a variable that stores a
field, Description, from the Assets table
^
keywords is a variable storing a
field, Keyword, in which keywords are
entered from the related table, Keywords
^^ count here sets the
limit
^^^ the exit condition
(to escape from Buzz Lightyear's "to infinity and beyond")
# ticks over
with each pass
## it took one
member of the Team hours, spread over days, to comprehend this
reassignment of the output
variable; there are an incredible four functions nested inside the List
function - mind boggling stuff (and you may have thought the
reassignment of the result variable in yesterday's tutorial was a
shocker) - nonetheless, it says a lot about the power of the List
function
Please email your explanation to the Team, support@notemakerdatabase.com, for assessment. We'd love to see how you may have unravelled (or recovered from the shock of) the reassigned output variable.
Stay tuned to our website over the next few days as the Team will further attempt to explore the grandeur of the While function.
News for Saturday, 24 May 2025
The wonderful but
difficult While function is one of the most
bedevilling concepts to understand and execute, yet it is one of the
most powerful, beautiful and rewarding programming elements. NoteMaker and
ScriptPlanner are littered with the While function, even embedded in
some tooltips (eg, ScriptPlanner's Total Duration field, top right Event
page). But the Team wishes to confess to four
out of 10 attempts to implement the
While()
have failed. But they weren't
total failures. For some, we used the Loop script step instead and,
surprisingly, they worked fine at the field level (whereas, normally,
Loop steps operate at the record level). And other times we found a simpler way -
often a much simpler way, bypassing While() and the Loop step,
both (as will be revealed at the end of the tutorial).
The syntax for While()
is:
While (
// opening parenthesis
// introducing variables (ie, "storage boxes" for
data)
[ initialVariable ] ;
// a stopper to "infinite" recursions (thnk of brakes in cars
heading for the cliff)
condition ;
[ logic*
] ;
// where the action happens to achieve an
output
//
finally, the output, the
return ("them's gold in them hills")
result
)
// closing parenthesis
Already, just in the names of the component parts of the
While
function, it may be seen the difficulties to come. Sometimes, to succeed,
the Team would spend days trying to get
While()
to work. What helped us is to
think of While()
in terms of passes - just like the Loop step,
which goes from one record, where something happens or doesn't (the 1st
pass), and then goes to
the next record , where something happens or doesn't (the 2nd pass), and so on
to x number of passes.
A common sample line of code in the logic
component of
While()
is something that looks like this:
result
= List ( entry ; result
)
**
What? This thing, result
, is assigned the
value of a part of itself? What is going on? This idea remains to
this day difficult for the Team to
conceptualise, to actually reconceptualise: we get it one day
and don't the next, meaning we have to again and then again (like Groundhog
Day) to relive the
understanding we once had. But the reward for effort is great. Look at the tooltip
for the Total Duration field: users are given a list, in real-time, of
events (scenes) that have yet to be timed (that is, given approximate
duration of events in minutes and seconds).
To understand the above line of code, think in terms of passes. think of
how a 3D printer builds a model ... layer by layer: it passes over the
previous layer and builds on it and then with next layer builds on what has been built,
and on and on, layer by layer, until the model is complete. A similar
process happens with passes in
While()
.
With every pass, the
result
variable extracts what itself has become as the second parameter for the
List
function, thus with every pass it "grows".
But let's start
from the beginning. The variable result
is the output at the end of it all. In the
initialVariable
component, result
,
as a variable, is assigned nothing:
result = ""
.
But the wonderful thing about While()
,
like the 3D printer, is that it builds-up
result
to be something. It starts with nothing but has to become something if
it is to have meaning for us. The logic
component is all about making something out of nothing, making
result
give us what we want. Thus far we have:
While (
// double quotation marks with nothing between
them equals empty
[ result = "" ] ;
condition ;
[ logic
] ;
result
)
Okay, but we need some kind of a stopper, like the Loop step normally has, otherwise we're
going to "infinity and beyond" (good for Buzz Lightyear in Toy Story
[1995], but rarely good in programming). Think of
condition
as the stopper. A Loop step without a stopper will go on and on - theoretically
-
forever. How can we stop the potential for the
While
function from doing the same?
What's
the one thing the Loop step has taught us? Use a counter to count the
passes.
Let's be good learners and
use a counter. In the initialVariable
component, let's create a variable,
counter
,
to store the number of passes. Before we can stop the runaway train that is
always
potentially the
While
function, let's limit the number of passes. We command
the
While
function to stop after 10 passes - and
we do it by creating another "storage box" and we put the numeral 10 in
it and we call it limit
.
Now we have the two variables for a stopper, thus:
While (
// at the
beginning we don't have a result, but
a result is our ultimate goal
[
result = "" ;
// our
counter = 0 ; counter
will start at zero
// we arbitrarily set the
limit = 10 limit
to 10 passes
// the
] ;
counter <= limit ; condition
is
that when the
counter
reaches
the
limit
of 10, no more passes
)
[ logic
] ;
result
"Hang on a moment, the counter
isn't ticking over: it's stationary at zero. How will it ever reach 10
to stop the passes?" Good question. So far there is no
mechanism for the counter to build to10. Unless we create one,
While()
always has the potential to
go to "infinity and beyond" (though FileMaker has a built-in
stopper at 50,000 passes, which by the bye, can be increased by the developer). Okay,
we're going to fix the problem of the dreaded "infinity" by making counter
tick over with each pass, with this line of code placed in the logic
component of While()
:
counter = counter + 1
This line says that with each pass,
counter
is to be reassigned the
value of itself plus one. Expressed with numerals, it looks like this
(on the 1st pass):
0 = 0 + 1.
So, counter
having started as zero and because we're in a world of passes where things
"grow":
counter
is now 1. At the next pass, it well
become 2, thus
1 = 1 + 1
then 3, thus
2 = 2 + 1
... until
9 = 9 + 1
the locomotion that is the
While
function stops when the magical 10 has
been reached.
What's important to remember is that "=" is not the mathematical equal
sign. In programming languages it's called the assignment operator. The
storage box that is counter
is reassigned the values with each pass respectively 1, 2, 3, 4,
5, 6, 7, 8, 9, 10. It grows by an increment of one.
But wait a moment ... remember
result
= List ( entry ; result
)
? Just like
counter
, once you have something that reassigns
itself it will "grow" with each pass. Therefore,
result
will build on itself: it won't remain static. When a variable reassigns
itself, it "grows"***.
Okay, so with each pass, counter
grows by one. Because the "real" action happens in
the logic
component, the counter = counter +
1
line of code must be placed there.
While (
/
at the beginning we don't have a
[
result = "" ;
/
result
// our
counter = 0 ; counter
will start at zero
// we arbitrarily set the
limit = 10 limit
of passes to 10
// as long as
] ;
counter <= limit ; condition
states
counter
is less than or equal to limit
,
keep going
//
[
counter = counter + 1
counter
is itself plus one (ie, it "grows" by
"feeding" on 1 with each pass)
)
] ;
result
Because counter
has been initially assigned the value of zero, it would normally go at
the top of the logic
component, assuming other lines of code have been placed there (which at
the moment there aren't). If counter
had originally been assigned the value of 1, which often it is, it
normally would go at the bottom of the logic
component, assuming there are other lines of code there (which at the
moment there aren't). The reason for this is that
counter
should start at 1 once the "real" action
begins in tthe logic
component.
Okay, let's come back to the here and now. The only "real" action we
have so far is counter =
counter + 1
. We're building on
counter
but we're going to end up (after 10
passes) with result
still giving us what it started with: nothing. The primary objective of
the exercise is to get an output, a result. We don't really wish to know
the
While
function can
count up to 10. Good that it does, but, that it can, is merely a
mechanism to achieving the greater goal: the
result
.
So what is it we wish to achieve?
Now, we're coming to the "home straight" of our tutorial, the "finish line" is in sight.
Pretend we're professional FileMaker developers for a
radio station (in real life, we're amateur hobbyists and proud of it).
The radio station is running a competition: the first ten callers win a
prize. Thousands are expected to ring in.
We create a table, named Competition, with, among other fields, this one:
Phone-In First Name. We add to a related table, Contest, the field,
Contest Winners. It's in this field
we're going to embed the
While
function.
(By the bye, it is a peculiarity of the List
function that it works best with related records, but, we believe, it doesn't
work well
with records from its own table except if already a list or the first
entry in repeating fields).
While (
/
at the beginning,
[
result = "" ;
/
result
is empty
// our
counter = 0 ; counter
will start at zero
// we arbitrarily set the
limit = 10 limit
of passes to 10
// the
] ;
counter <= limit ; condition
is when the
counter
reaches
the limit
of 10, no more passes
//
[
counter = counter + 1 ;
counter
is itself plus one (ie, it "grows" with
each pass)
result = List (
GetNthRecord
( Competition::Phone-In First Name ; counter ) ; result )
)
] ;
result
"Whoa, what just happened? What is this
thing, this line of code just thrown in?"
result = List ( GetNthRecord****
( Competition::Phone-In First Name ; counter )***** ; result )
Everything was going swimmingly. We were
progressing fantastically and now we're hit with "this thing", this
monstrous line of code. "Give us a break", we plead. "It's too much for
us".
But know this: understand the "monstrous" line of code and we may well
have uncovered the very heart of the
While
function.
To calm ourselves down, let's go over some basics.
The "monstrous" line of code is the second action in the logic
component. It's crucial that it comes after the reassigning
counter
(to 1 in the 1st pass) because
counter
is going to reappear in the "monstrous"
line of code to kindly help us out by being a 1 (one); it remaining as zero
is no good to us.
The next basic (or it should hopefully have become basic) is that
result
, after
having been originally assigned with nothing, now has been
reassigned
with something - and what a something!
Now we have made the acquaintance of one of the most handy pieces of
code, the List
function. Its parameters (ie, input data) are generically speaking
List
(
field
;
"optionally another field" ; "and optionally more fields ...")
. What
in this example is
powerful about List()
, in
respect to the
While
function,
is not the first parameter (which of course is by far the most useful)
but the optional second parameter. In the second
parameter we placed the variable
result
(by the bye, in the first
parameter is nested
GetNthRecord
( Competition::Phone-In First Name ; counter )
). Should
we care that result
is not technically a field? Well, we shouldn't because a variable can
store a field. It virtually becomes a field within the
While
function.
Let's again go back to basics. We learnt from the line of code, counter = counter + 1
,
that a variable referencing itself, "grows". Well, guess what? So too does
result
.
With each pass, a first name will be added to it as a list-item. The
beautiful thing about the
List
function
is that it makes a list for any of its parameters, thus result
will become a list of items: in this case, a list of first names.
Say, the first 10 call-ins to the radio station were made by
Mary
Collin
Tracy
Ali
Tan
Su-Ann
Amira
Fiona
George
Wendy
that finally is the result
in the form of a list - the output - in other words, what we wanted
While()
to tell us.
And we may bow and say "thank you" to the "mighty god" that is the
While
function.
No, sorry, it's not quite over yet. In
Learn FileMaker Pro 2024,
Mark may wish us to simplify the logic
component, so we'll create one more variable,
winners
.
While (
[
result = "" ;
counter = 0 ;
limit = 10 ;
winners = GetNthRecord ( Competition::Phone-In
First Name ; counter )
] ;
counter <= limit ;
[
counter = counter + 1 ;
result = List (
winners ; result )
)
] ;
result
OR
While (
[
result = "" ;
counter = 0 ;
limit = 10
] ;
counter <= limit ;
[
counter = counter + 1 ;
winners = GetNthRecord ( Competition::Phone-In
First Name ; counter )
;
result = List (
winners ; result )
)
] ;
result
Some of us love creating variables. (Our preference is
for
winners
to be
declared up front in the
intialVariable
component).
WHY NOT INITIALISE
counter
TO ONE
INSTEAD OF ZERO AND SEE WHAT WE CHANGED
While (
// please note: previously we assigned zero to
[
result = "" ;
counter = 1 ;
counter
limit = 10
] ;
counter <= limit ;
[
winners = GetNthRecord ( Competition::Phone-In
First Name ;
counter )
;
result = List (
winners ; result ) ;
// crucial to place
this line at the botton, so
counter = counter + 1
counter
will tick over
to 2 for the next pass
)
] ;
result
Quiz question: why did we put
counter = counter + 1
at the bottom of the logic
component? Please email us,
support@notemakerdatabase.com,
and let us know your answer. The Team will gladly reply to your answer.
"For goodness sakes, surely, now the story of the
While
function has
come to end?"
Again, sorry:
While()
will always
present challenges. That is its fascination and sometimes its
frustration. So it is truer to say, it's only the beginning of the
While
story, a
never-ending story.
LeftValues (
text ; number ). If all is good with
the While function above, we've just discovered (by accident) the
foundation for
LeftValues ( text ; number ),
a wonderful FileMaker built-in function. The significance of this
discovery is we now have a rough clue as to how FileMaker's software
engineers may have created LeftValues() by using a programming language
(possibly C, C++ or Java).
Left ( Competition::Phone-In First Name
; 10 ) will give us a similar answer: a list
of the radio station's 10 competition winners. "So, the above exercise
was a waste of time?". Absolutely, not, because:
Rather than possibly wasting our time, we've shown how a powerful and highly useful LeftValues() can be reproduced by "mere" hobbyists using the While function. Of course, in practice, you'll use LeftValues() because in one form or another it encloses our While function. But think of what else can be done with the While function? We have and NoteMaker and ScriptPlanner are the better for it. It is our belief that an important aspect of understanding the While function comes down to the module-cum-template demonstrated in this tutorial.
"Finished?" Yes, this tutorial, really this journey, has come to an end. Thank you for staying the course.
* (Mark Conway Munro,
Learn FileMaker Pro 2024,
(p 324) has instead logicVariable
,
which is a better description as variables may still be intialised and
declared in the logic
component).
But for the purpose of this tutorial, we'll stick to the original and
simpler logic
,
even though it's less accurate.
** (ibid, page 331).
*** (Mark in
Learn FileMaker Pro 2024, pp
329-331, posits the reverse idea: "reduction" as the opposite of growth.
The idea is of the counter
reassigning itself minus 1, rather than plus 1. But for
purposes of beginner-learning, we'll stay at this stage within the terms
of "growth": ie, increment by 1).
**** (GetNthRecord( fieldName ;
recordNumber )
is one of the "stars" of the
While
function -
please learn it well).
***** (Here, the order is crucial:
winners = GetNthRecord ( Competition::Phone-In First Name ; counter )
must come after counter = counter + 1
and must come before result =
List ( winners ; result )
.
Also note that
winners
can be initialised in the
logic
component, which may probably be why Mark prefers to call the
logic
component
logicVariable
) .
News for Wednesday, 21 May 2025
Single Resource Managing (SRM) software. NoteMaker and ScriptPlanner are SRM applications as opposed to, for example, Oracle, which is an Enterprise Resource Planning (ERP) system, which provides a range of applications. NoteMaker manages notes as a resource. ScriptPlanner manages a screenplay's components (events [scenes], characters, props and the like); in other words, story-planning becomes a resource. The Team is exploring the idea if all software may fall into one or the other category. Still, it's a nice thought to have NoteMaker and ScriptPlanner tagged with the initialism SRM. Why should only the "big guys" like Oracle and SAP have their own category? We hear of ERP — perhaps it's time SRM is heard. The keyword in both intialisms is "Resource". It it the current belief of the Team that nearly all databases plan or manage one kind of resource or another. (Please let us know if there are exceptions).
NEWS for Tuesday, 20 May 2025
Download facility. Our download facility makes it quick and easy to obtain a copy of NoteMaker or ScriptPlanner. Just a few pointers:
Please, let us know how the download facility has worked for you, especially if any problems arose.
Ongoing review of Mark Conway Munro's book, Learn FileMaker Pro 2024 (Apress publishers). One of the most powerful functions is Substitute(). It replaces something (word, phrase, symbol and the like) with something else. It is used extensively in NoteMaker. As a developer, you can code a field so that whenever a user enters, say, three full stops (...) it will become an ellipse (ie, instead of three characters, one symbol character). (In Windows, the ellipse symbol may be copied from the Character Map). The Team has used several tricks with the Substitute function, but it didn't know about this one presented by Mark (p 289).
Say, you wish to rid single paragraph spacing, but not double
paragraph spacing. That is, we wish a paragraphed sentence or a group of
sentences to be inline with the last sentence of the previous paragraph,
we write this code:
Substitute ( text ; "¶" ; "" )*
.
That is, replace paragraph spacing with no paragraph spacing. However,
you may wish to leave intact double paragraph spacing, but the code will
rid that too. How solve the problem? Mark offers this (slightly modified
here):
Substitute (
// syntax: Substitute ( text ; searchString ;
replacementString )
)
"When ...
// using this heavily paragraphed text as the example
// double space-paragraphing between "when ..." and "days"
days
// single-spaced paragraphs follow ...
gone
// (assume a space after each of the words "days
" and "gone ")
by"
[ "¶¶" ; "%PP%" ] ; // **
[ "¶" ; "" ] ; // get rid of single
paragraph spacing
[ "%PP%" ; "¶¶" ] // bring back double paragraph
spacing from "hiding" behind "%PP%"***
* When more than
one pair of "replace what" and "replace with", use brackets as shown in
the example.
** Because we wish to only rid single
paragraph spacing, we need to protect double paragraph spacing from falling
"victim"; therefore, we encode or "disguise" "¶¶" as "%PP% " so as to
"escape the hit".
*** This is possible because replacement is sequential: the first pair
is executed, then the next and so on.
The result is:
When ...
days gone by
Mark's book is littered with excellent examples. In our final review, we intend to mention as a highlight this aspect of the book. Even though the Team considers itself proficient in FileMaker's Rapid Application Development Environment, the more we read Learn FileMaker Pro 2024, the more we realise what we don't know and what we've forgotten to know.
NEWS for Monday, 19 May 2025
Message to users: we welcome comments about your experiences with NoteMaker. To use the clche: "your feedback is important to us". And it really is. We wish to upgrade NoteMaker to the milestone 2.0.0, but we just need a major improvement or a new feature as the excuse to do so. From our end - and only momentarily of course - it looks like we've run out of ideas. Your suggestions will be valued. Please use the Contact Form or email us, support@notemakerdatabase.com, if you have any ideas to offer. Please bear in mind: improvements made to NoteMaker will only make the data processor more useful for you.
Images added. Two screenshots of NoteMaker have been added and one existing screenshot (of the ReOrderAble list) has been updated to 1.4.5.4). The screenshot of NoteMaker in declutter mode has been included.
Embarking on milestone NoteMaker
2.0.0 release. Time has come to go upgrade NoteMaker to
2.0.0 now that the calendar appears to be working well. Perhaps we're
waiting for one more new feature as an excuse to make the leap. The Team
is desperate for NoteMaker users to suggest a new feature that would
enhance the data processor in-and-of itself. What is it we're missing in
making NoteMaker more powerful (ie, more useful)? Using our real-world
NoteMaker, My Notebook, the Team feels it's all there in making notes
efficient and pleasant. Our last big new feature is the calendar. Though
it's not directly related to note-making, we feel if it becomes the
default calendar for users, that may give incentive for habitually
opening NoteMaker (NM), say, every day or every second day. It's a
classic case of synergy: the calendar is a reason to open NM and once
opened one might as well make a useful note, should one come to mind -
and vice versa. The Team is now in the habit of whenever opening NM in
order to enter a new note or revisit an old one, we check the calendar,
which, with our hard-copy calendar*,
is now our default calendar. For everyday use, the calendar is
fantastic: it is simple, efficient and easy to set up for each new
month. Once you try it, you too, like us, will fall in love with its
simplicity.
* (The kind one may buy at a newsagency).
NEWS for Sunday, 18 May 2025
NoteMaker 1.4.5.4 is available. It includes:
Great news! The Team has just found another way to uploading updates to its notemakerdatabase website (hosted by HostPapa):
Sure, not as quick nor as convenient as when uploading from Expression Web 4, but, hey, it's a breakthrough to the current impasse.
* (It appears that a folder will not be accepted for updating or uploading, only files will).
NEWS for Saturday, 17 May 2025
Apologies. We have been unable to update the website since the hosting service, HostPapa, has migrated to a new server system since Tuesday, 13 May 2025.
NEWS for Friday, 16 May 2025
Apologies. Two or three days ago, HostPapa migrated its services to a new server system and Expression Web 4 (EW4) has been unable to reconnect local files to remote files. HostPapa's Support Team has been fantastic in its efforts to resolve the issue but it has been unable to succeed. The focus of the solution has been on our end, we tried this suggestion and that remedy, but none have worked. The error message EW4 would give is: "Could not open data connection to port [here the number for the port changed every time from 51022 to 51027 to 51178 and on and on]: Connection refused (425)". We kept entering our normal news items for each of the past few days in the hope reconnection would happen. Strange that for three and a half years everything's been good; only when the new server came online did the dreaded message appear. It got to the stage that the last email we sent to HostPapa (yesterday) asked that we all take a break in our correspondences until tomorrow (today's) morning Today we are going to ask HostPapa to have a technician look into the new server to open up the required port (channel) from EW4 to HostPapa's new server system. We're going to try to upload this very moment. (To paraphrase a statement attributed to Albert Einstein: it's madness to try the same thing again and again hoping the result would change. We're crossing fingers for a minor miracle) ... In the end got the same message: "Could not open data connection to port 53853: Connection refused (425)".
NEWS for Thursday, 15 May 2025 AEST
FileMaker as a pastime. We know people who love doing puzzles, all kinds of puzzles: crosswords, find-a-words, sudokus and the like. Puzzlers enjoy doing them and receive great satisfaction in solving them. What we suggest is - if you have the time and money - is use FileMaker (FM) as a puzzle. The difference with FM as a puzzle and the ones mentioned is that with FM you may create in the process a database that may have ongoing real-world use-value, whereas a typical puzzle normally doesn't (some puzzles, like crosswords, can increase one's vocabulary and knowledge). There are challenges in FM as great as any from, for example, a crossword puzzle. It took us some time to work out how to programmatically convert minutes > 60 into hours and minutes for use in ScriptPlanner to total the minutes allocated by the user to each event (scene). In other words, the challenge was no different to it being a puzzle. But be warned that FM can become addictive: there's a sense of power in creating something that may be useful in the real world.
Dark Mode. Besides the add-ons, a post-18 version of FM has introduced dark mode that may be of interest to pure hobbyists. Switching it on, reverses light background colour to dark colour: generally, light to dark and dark to light. Though not exactly a must-have, many may appreciate the more relaxing colours on the eyes at night.
NEWS for Wednesday, 14 May 2025
Hours and minutes. It hasn't been easy for the Team to
find a way to programmatically
convert minutes > 60 to hours and minutes. For ScriptPlanner we found our own
way to do so (we're proud of this effort). But there is a more elegant way (modified example*
taken from Learn FileMaker Pro 2024
by Mark Conway Munro, 3rd edition, Apress publisher, 2024, p 273).
Problem: convert 310 minutes programmatically to hours and minutes.
Solution: use the one-line code (or variation thereof)
...
Int ( 310 / 60 ) & " " & "hours" & " " & Mod ( 360 ; 60 ) & " " & "minutes".
The code ...
Int ( 310 / 60 ) & " " & "hours" & " " & Mod ( 360 ; 60 ) & " " & "minutes".
... explained ...
Int
is a built-in function that results in a whole number
(fractions don't register). Int is short for
"integer"
( 310 / 60 )
says "310 divided by 60". This will give us 5.16667. But thanks to
the Int function - which encloses the division
operation - the result is 5, because only the whole number component is
extracted.
& " " & "hours" & " " & says
"and followed by a space character and then comes the word hours and
then another space character and then ...".
Mod ( 360 ; 60 )**
Mod is a built-in function that gives us the leftover in a
division
operation; it is crucial in
capturing the remainder, which, in our example is 10, which are, in this example, the minutes.
& " " & "minutes" says "and
after adding a space character comes the word minutes".
The end-result is: 5 hours 10 minutes.
The lesson for the Team is this: we knew of Int and Mod but we failed to connect the two functions to programmatically convert minutes > 60 into hours and minutes. We created our own, but it would have been easier to use a variation of the one-liner presented by Mark. It's cases like these we recommend Mark's book. Examples given in Learn FileMaker Pro 2024, as witnessed here, are particularly valuable sources of learning. For example, on p 276 are 16 examples of the way dates may be "parsed"*** that may be invaluable to beginners.
A note to beginners. You may notice the line of code is almost in English. "Int" is short for integer. The symbol, "&", acts like "and" or "+" - but don't use "and" or "+" instead of "&" because "and" and "+" have different purposes in FM programming. Strictly use "&" as a joiner**** as shown above. When you see "Mod" think of a remainder from a division operation. (Accept the forward slash as a division operator as in the line that separates a numerator over a denominator, like 6 over 2 - which gives us 3. Why the slash is used is because on the keyboard there isn't the normal division operator). Finally, "Hours" and "minutes" are pure (literal) English.
* (Mark's example only serves as a template and
is not copied here verbatim).
** The syntax for Mod is Mod ( number ; divisor ): "divisor"
(eg, 60) is the number that does the dividing into the "number"
(eg, 310). (By the bye, "number" and "divisor"
are known as parameters: that is, they "feed" the function; that is,
they give something for the function to act on).
*** "Parsing" is extracting a part from something. FM's programming
language is extremely powerful in parsing, especially with its text
functions. For example, LeftWords ( "The day is bright"
; 2 ) will extract the first two words, "The day". If the second parameter is
changed to "3" - thus LeftWords ( "The day is bright" ;
3 ) - the extracted words are "The day is".
**** (formerly speaking, "&" is an ampersand symbol and its job in
FM code is to
"concatenate" - to join).
NEWS for Tuesday, 13 May 2025
Why NoteMaker 1.4.5.3 has been released? Even though the Team isn't comfortable releasing updates in relative quick succession, we had no choice but to do so with 1.4.5.3 because of an oversight on our part. If a user goes into Find Mode on the home page and then uses the Layout menu from the thinner top toolbar to go to the Calendar layout, users will still be in Find Mode, which is not what the Team wishes to happen because we haven't designed the Calendar layout to allow access to Find Mode. Therefore, despite our determination to minimise updates, this time round we had to address the issue by cutting access to Find Mode on the Calendar layout. That's the negative reason for the update, the positive reasons are the two improvements. A button to go to the calendar has been implemented in a prominent way on the home page and the row of seven buttons just below the Note-Focus Card button will implant part or whole of the contextual statement into the Note field whether or not the field is active.
There are three ways to obtain your copy of NoteMaker 1.4.5.3:
1. download the file (see facility at the bottom of the website) (please
note: the file isn't the application as such);
2. fill out the Contact Form and receive the update as an email
attachment;
3. or send an email to
support@notemakerdatabase.com and a copy will be sent as an email
attachment.
If you use the download facility, please send us an email to tell us if the download was successful or not. Once you make contact with us, you'll be registered as a verified user, meaning you will be on our mailing list. If you're a first-timer to NoteMaker, we will reply with tips on how "best" to engage with the data processor.
NEWS for Monday, 12 May 2025
NoteMaker 1.4.5.3 is now available. Two improvements. One, the row of seven buttons, one of which is $cs, on the home page will now implant whole of, or in part, the content of the Contextual Statement into the Note field whether or not the cursor is in the field. Previously, a message would pop-up asking for the cursor to be placed in the Note field - no longer. The other improvement is that the go-to calendar button is now a "permanent" fixture on the home page. Please accept our apology if these regular updates are irritating. If current users are happy with the previous 1.4.5.2 or earlier version, please don't feel you have to update. A lot of the updates are aimed at newcomers to NoteMaker to ensure they have the latest and best.
Calendar. NoteMaker's calendar has been given more prominence. As part of the Team's strategy to entice users to open NoteMaker on a daily basis, there now is a "permanent" go to calendar button on the home page. It's easier than ever for users to check the visual calendar for notices and to update it.
Conditional value lists. NoteMaker has one conditional value list. It involves two fields: Collection and CollectionSubLabel. The values of the CollectionSubLabel field will be a subset of a value in the Collection field. For example, in our real-world NoteMaker file, My Notebook, the Collection field has as one of its entries, "Computer & Technology". In the CollectionSubLabel field are about two dozen entries that only appear when "Computer & Technology" is selected in the Collection field. The CollectionSubLabel field has a conditional value list at work. When "Entertainment" is selected from the value list for the Collection field, about 10 entries will appear in the CollectionSubLabel field specific to "Entertainment". The value list from the CollectionSubLabel field is conditional to what is selected in the value list from the Collection field.
Conditional value lists are one of the hardest concepts to understand and implement. We don't really know why the way we implemented the conditional value list works. This is what we did:
However, there is a problem. The conditional value list for the CollectionSubLabel field does not work in Find Mode. We have tried this and that to make it work, but all efforts have failed. Is it that conditional value lists in general are not supposed to work in Find Mode or is it the way we created the conditional value list that is the cause? Please note: there are at least two other ways to create conditional value lists. (By the bye, the value list for the Collection field works fine in Find Mode). NoteMaker users are asked to remember an item from the conditional value list in Browse Mode before going to Find Mode to enter it into the CollectionSubLabel field - a workaround we apologise for, but seem unable to do anything about it at this stage.
NEWS for Sunday, 11 May 2025
New email address, support@notemakerdatabase.com, is ready to facilitate communication. Now it's easier than ever to get in touch with the Team. Our thank-you goes to HostPapa's cPanel for making it easy to create an email account for this website's domain.
NEWS for Saturday, 10 May 2025
Believe it or not it's the first time the Team has accessed this website from a smartphone. Surprisingly and happily, our website has been automatically scaled to fit the aspect ratio of the smartphone. We also realised the need for a Go to Top button at the bottom of the site: we didn't realise the amount of scrolling needed to go back to the top of the site.
Refurbishing website. Please note: this website has undergone a few tweaks here and there. The focus has been on alerting visitors immediately that the website will particularly interest those who own, or subscribe to, FileMaker.
The idea of client-side version of FileMaker. In terms of distributing NoteMaker and ScriptPlanner, the Team is limited to owners of, or subscribers to, FileMaker Pro (FMPro). How many owners of the business-oriented platform are going to be into screenwriting? The Team is guessing only a very few will go for ScriptPlanner. We love to appeal to a near-universal audience. The only way forward that we can envision is for Claris, owners of FileMaker, to make freely available an application that only enables files created with FileMaker Pro.
FileMaker Go could be used as an analogy. As far as we understand, FileMaker Go is free and when installed on an iPhone or iPad it will enable a FMPro file (specifically designed for mobile devices) to be fully functional. Another analogy is Acrobat Reader. It can't create PDF files, but reads those created by other applications like Word or Final Draft - or by Adobe's own Acrobat Pro.
What we would love to see is a "FileMaker Reader" (or what could also be called a "FileMaker Renderer" or a "FileMaker Enabler") for desktops and laptops to be freely downloadable from the Claris FileMaker website. You can't create a database with it - all it does is enable. Imagine the breakthrough for us hobbyists. Imagine on our websites having a block of text that reads: "To obtain our free data processor, please first download a free copy of 'FileMaker Reader' from http://www.claris.com to your desktop or laptop". Wow. Imagine NoteMaker and ScriptPlanner being freely available to anyone in the world with a desktop or laptop*. But unfortunately there currently isn't a "FileMaker Reader".
* (We would never ask anyone to buy FileMaker Pro in order to make functional a copy of NoteMaker or ScriptPlanner. FMPro is extremely expensive. The most we would do is recommend FMPro if you love the idea of creating databases as a hobbyist and have money to spare).
Expression Web 4 vs Wix. We have two websites: this one, powered by Microsoft's Expression Web 4 (WE4), and Wix. We neglected Wix for a couple of years, but when we came back to it, to update it, we were amazed how nearly everything is automated: much click and select. In comparison, EW4 is raw, even primitive. It is like going underground to the foundation of building a website. The three pillars of the foundation are html, css and JavaScript. It is like entering a scary underworld of programming. But html and css are nothing like C++, they're much easier to learn. EW4 has a design mode which makes touching html and css code less needed. On the other hand, Wix almost does it all. On this website you are now viewing, the Contact Form was inserted from Google (to this day, we are grateful for Google for giving us a free Contact Form). With Wix, however, the Contact Form is instantly provided, with us needing only to modify it. So, which is better: EW4 or Wix? Both are free, yes, but our guess is Wix would be more popular with amateur website-builders. The free version doesn't provide your own domain name (eg, notemakerdatabase.com) but instead provides a dependent domain (eg, notemakerdatabase.wixsite.com). However, Wix will provide an independent domain name if you move up to one of four paid plans. HostPapa, which is hosting this website, has given us a wonderfully cheap 3-year plan, partly because we didn't use their web-building facility (instead choosing EW4) and their customer service is superb, truly world class (we haven't yet needed to contact Wix's customer service so we can't comment on the quality of their service).
NEWS for Friday, 9 May 2025
Sibling website, part 2. The Team has decided it will no longer neglect the sibling Wix website. This Expression Web 4 built-site will be the intellectual one (anything FileMaker will be up for discussion) and the Wix site will be the "shop front": simple and more attention-grabbing.
NEWS for Thursday, 8 May 2025
Sibling website. NoteMaker has another website with Wix. It hasn't been updated for a couple of years until today. Wow, quite an experience. Building this website with Expression Web 4 is "raw" compared to the fully automated Wix website. Wix makes it easy to build a professional-looking website. The drawback with having everything automated is that you don't learn html, css and JavaScript. If creating relational databases with, say, Caspio, is nearly as easy as creating websites with Wix, our sympathy goes to Claris with what its FileMaker has to compete. But please bear in mind, from a cursory look-in on Caspio, it would be impossible to build a NoteMaker or a ScriptPlanner with the same level of sophistication on that platform. FileMaker is powerful, Caspio is convenient. Still, we worry how many potential customers Claris has lost to these click & select type of services. If you wish to check our Wix website, please click https://notemakerdatabase.wixsite.com/notemaker. Please tell us what you think.
Learn FileMaker Pro 2024 (by Mark Conway Munro) update. In the chapter on "Forming Relationship", Mark gives a philosophical underpinning to relational databases: tables are entities and fields are properties of tables: "To serve as a digital model of real-world phenomenon, a database uses tables to represent entities and fields to store properties of entities" (p 163). It clearly appears that Mark is connecting databases to the real world as metaphors to it. So what do relationships do? According to Mark: "Relationships transform a bunch of isolated tables into an interconnected network of information that can be dynamically accessed, displayed, and manipulated in numerous ways" (p 164). The way the Team understands it is that large amounts of connected data can be manipulated (in the good sense of the word) to gain meaning. As can be seen Mark's writing style entwines appeals to both the novice and the professional. So far we're up to page 169 and find the book not only a refresher course but also a learning experience. We think we know a lot, but it is surprising what we've either forgotten (involuntarily unlearned) or haven't learnt in the first place; stuff, that could be conducive to making breakthroughs in our efforts to improve NoteMaker and ScriptPlanner. The book is not always easy going as the author attempts to take readers to higher levels of understanding. We suggest bookmark the pages and at a later time come back to the more advanced passages and see if experience helps to unlock the concepts. Confession: there are a few passages we don't fully grasp, but it appears Mark is challenging us to not only grasp the concepts but to gain an insight that is as individual as one is; that is to say, our individual experiences in using FileMaker will eventually provide the insight "personalised" to each of us, like the proverbial "light bulb" moment. (Please note: on our long journey to reading the whole book, we may provide more occasional updates, so stay tuned. In the end, a full and proper review will be presented).
NoteMaker and OneNote. When yesterday the Team used a search engine to see at what level notemakerdatabase.com would appear in search results (based on criteria such as "note-making", "note-taking* apps" and the like), we encountered names of other software, one being Microsoft's OneNote (ON) being highly rated -- and free. The Team has nearly always urged lovers of making notes to go with professional note-making applications. The Team does not wish NoteMaker (NM) to appear that it is in competition with these excellent offerings. For lovers of note-making, we say: "Go with professional software" and stay loyal to what works for you. The only case we make for perhaps having a look-in to NoteMaker is that:
For owners of FileMaker, NoteMaker may be seen as a showcase for what can be done that isn't business-related. Everyone who loves making notes is an individual, different to every other individual, and perhaps one in a hundred of them may take to NoteMaker's workflow options. In other words, their personalities, nay, perhaps their needs, may "click" with NoteMaker's design, workflows and rationale. Testing search results for NoteMaker, we saw a diagram or two of OneNote and it appears to be fantastically designed. Furthermore, we learnt every Windows 11 laptop and desktop has an installed copy. We checked ... yes, we do too. But to this day, to this very moment, we haven't launched it and, strange and irrational as it may sound, it appears we'll try not to. We don't want to be put in a position of comparing NoteMaker with OneNote or with any other note-taking applications. We desire NoteMaker to be its own: to have an evolution unique to itself. In short, we don't wish to be influenced by excellent and professional note-taking applications out there (or, in the case of OneNote, in our laptop). NoteMaker grew out of our needs, our particular love for making notes, though we also imagined what may be the needs of others and thus we've created various workflows (eg, one for students). How long we can hold out from checking OneNote, we don't know, but we'll try not to. We really wish for NoteMaker to be unique unto itself (perceived shortcomings and all). 99 out of hundred people who have experienced both NM and ON may conclude that NM "doesn't come close to matching OneNote" -- we don't mind if NM is seen as not as "good" as ON, but for every reason for not being as "good", we desire NM to be, nonetheless, a unique (and hopefully inviting) immersive environment for some. The few for us is equal to the many: it makes no difference to our commitment to make NoteMaker highly useful for one user or for a million. You see, we use NoteMaker (in the form of My Notebook) for making notes and we want it to work for us, to meet our real-world needs for writing, grouping, linking and searching notes. If there is an aspect of NM that is not as good as it could be for ourselves and for our other users, we'll work to make it better. If users suggest features that could make NM more powerful (ie, more useful) -- and we have the skill-set and resources to match the request -- we'll act on it. There is one telling fact in favour of NM in relation to ON: we never felt the need to look elsewhere for making notes. For years, we've stayed with NM and have never regretted doing so. And we say the same for those using ON or any other note-taking application: stay with the one you know and love -- it's called loyalty. In Australia there is an expression: "If you're on a good thing, stick to it". If you've found a note-making application that works for you, stay with it, there is really no great reason (other than perhaps curiosity) to have a look-in to NoteMaker.
* (There is a difference between "note-making" and "note-taking", but for the purpose of streamlining the above news report they are used as if they are the same. Note-making has the quality of summarising, whereas note-taking is often noting down information as received. Note-making more filters, note-taking more copies. One may make notes from a chapter in a book. A student takes notes listening to a lecturer. A reporter takes notes at a press conference. A student makes notes from a website visit. Here, the Team has to be careful because NoteMaker differentiates note-making and summarising. Yes, note-making has the quality of summarising but it isn't structured summarising, the kind informed by Essay Paragraph Construction theory as posited by NoteMaker for students).
NEWS for Wednesday, 7 May 2025
(Reposted from Saturday, 3 May 2025)
Review: Learn FileMaker Pro 2024: the Comprehensive Guide to Building Custom Databases by Mark Conway Munro (third edition, Apress publishers, 2024). $Aust c169 (includes free delivery by Amazon); $US c80. We've received our copy yesterday and due to time pressure we can only review the 1057-page volume piecemeal (bit by bit).
"Table of Contents" and "Introduction". Often, Claris, owners of the incredible FileMaker Pro platform, are busy uploading videos conferencing this and conferencing that. But Mark is staying turned-in with beginners and hobbyists alike. Look at some of the chapter headings: "Introducing FileMaker", "Exploring Menus (Browse Mode)", "Working with Records", "Building Tables", "Defining Fields", "Forming Relationships", "Introducing Layouts", "Creating Layout Objects", "Automating with Scripts" and "Using Script Triggers" -- stuff, those new to FileMaker would love to know about. The book also caters to professional developers, those earning an income implementing FileMaker solutions for clients, with, for example, a chapter on "JSON". Mark is fully aware to whom he is primarily "speaking" to. In the introduction, he writes: "Many sections have been clarified and expanded [in relation to the previous edition], with advanced material moved to the back to make the early lessons more approachable for new developers". To repeat: "more approachable for new developers" -- a phrase we don't hear too much of in the last few years. (Mind you, we can be a little picky. Mark writes on page 1: "FileMaker Pro is a document-based desktop application". The Team never thinks of FileMaker as being an "application" but rather as an application builder -- but everyone else understands what Mark means). Learn FileMaker Pro 2024 is so far promising to be a fantastic how-to for newcomers and hobbyists.
"Chapter 1: Introducing FileMaker". In this chapter, Mark sets the record straight as to what space FileMaker occupies: "FileMaker Pro is a software platform used to create relational database applications" (p 3). Many beginners will probably first create a database with only one table, called a flat-file database. For example, a Recipe database. From the Introduction, it is clear Mark is talking to newcomers: "An integrated architecture combines data, logic, and interface layers into a seamless programming experience ... which is especially welcoming for beginners" (p 3). You may create a database that has only one table, but that table can have many layouts. So, possibly the first line of code you may write is the Go to Layout script step. However, most of the chapter tells the history of FileMaker -- and it has quite a pedigree.
"Chapter 2: Launching the Application". Here, Mark discusses preferences and gives a brief introduction to the menus in Browse Mode.
"Chapter 3: Exploring a Database Window". This chapter deals with views. Browse Mode is the view presented to users. Find Mode is the view for users to search for items. Preview Mode "acts like a print preview" (p 31). And the most important view for developers is Layout Mode. Mark essentially separates the Status Toolbar from the "Content Area" where fields, buttons and other objects you've created are placed. He notes that each of the four views has its own unique Status Toolbar. Additionally, for Browse Mode there are three views: Form, List and Table. (Table view is the closest FileMaker comes to simulating a spreadsheet like Excel).
"Chapter 4: Working with Records". This chapter is probably the most important -- and certainly longest -- so far. It details working with records, the heart of any database (without records, a database is halfway to being a word processor). One of the legendary features of a database is its efficient search capabilities. Even among a million records, FileMaker has the capability to find the one record you want -- and do it quiet easily. Mark introduces some half-a-dozen methods of searching in FileMaker. Also discussed are "found sets", "saved finds", "find and replace" and "printing", among other aspects.
The review so far.
The Team has read Mark's previous books on FileMaker 16*
and FileMaker 19 and is finding Learning FileMaker Pro 2024
to be his best yet. The command of language is a level higher than
evidenced in the book on FileMaker 19. The balance between text and
diagrams is excellent and the diagrams often have inserted text-based
labels that are especially helpful. Not in all places is the language
simple: this can't be helped as some concepts need precise -- and
sometimes difficult -- language to explain them. For example, explaining
what "find requests" are never been easy for any author. Overall,
however, there is a wonderful consistency in the use of vocabulary, the
consistency leading to readers building a firm foundation for
terminology. The book so far appears to have been written for beginners
but there is an underlying current that Mark wishes his book, from the
beginning, to be of interest to the class of professional developers.
Unless something horribly goes wrong with the forthcoming chapters this
book is headed for the "must-read" category. It's going superbly.
* (In the latest two books, the print size is —
thankfully — much larger than in the book on FileMaker 16).
Our review is skipping the following chapters:
"Chapter 7: Building Tables". Now we are in the "big league". Records are the heart of a database, tables are its essence. A database may initially have no records, but it must have at least one table. Mark introduces the phrase "database schema", which, as the Team understands it, is the structure leftover once all records are removed. When we make a clone copy of My Notebook to distribute as NoteMaker all that is left is the schema: no records just the structure expressed as fields, buttons and the like. But the primary structural organisers are tables. "A table", writes Mark, "is the fundamental unit of the schema ..." (p 117). The chapter goes on to discuss how database tables may be compared to spreadsheets with columns (fields) and rows (records). Also in the chapter are pointers regarding naming conventions.
Please note: the review will end here. We have decided to read the whole book and then present a comprehensive review. The process may take some time: two to six weeks or more. We'll say this much: Learning FileMaker Pro 2024 looks promising for beginners and hobbyists. It is well written and well illustrated. Not wishing to "jump the starter gun", to us it looks like a winner. We feel sure we'll be giving it the must-read seal of approval.
Notes on a
revolution.
Claris is the owner of FileMaker Pro (FMPro). The company is viewed by
the Team from the narrow perspective of pure hobbyists. The Team dearly
loves FMPro and has no more a wish than to grow with it. As pure
hobbyists, the Team feels it is being alienated from that growth with
versions 19, 20 and 21. Though the Team tries to see the overall
perspective that includes independent professional FileMaker developers
(IPFDs), a vital source of Claris's income, ultimately the Team is
judging
corporate strategy from the self-interested view of pure hobbyists, who are the
least source of income for any company. Claris has a legitimate
corporate strategy of positioning IPFDs as a world force so they may be
competitive with an incredible number of database-creation software and
off-the-shelf databases. Like some other pure FileMaker hobbyists, the
Team was taken aback upon the release of FMPro 19 some years ago, not so much with the
upgrade itself but with the language used by Claris personnel from
thereon. It was an abrupt change of dialect from that used up to
and including version 18. For the Team it was as if "hit" by an immediate
sense of alienation, it felt it was losing what it loved -- it was a different company, one that landed
on earth from another planet. The Team felt hurt in terms of feeling
isolated from its love of
FMPro. The shock lingers to this day and may explains why the Team has
stayed with version 18. Looking back, perhaps Claris could have
implemented a softer transition from v18 to v19, used a compromising
language, but the feeling of the Team is that Claris desired a
revolution in the belief that was the best way forward to the brave new
world it envisioned for its IPFDs. There could be no half-measures.
Half-measures were perhaps seen by the company as a threat to the
success of the revolution. As is the case with revolutions of all kinds, it
usually is all or nothing. It is our belief that the company believed those who
did not go, lock-step, with the revolution would need to be left behind. Of course,
those left behind were many pure hobbyists who had no ready way of
catching up to understanding the new dialect. The new alienating language made it clear that it was
time to "storm the barricades" of what was: there no longer should be a
was but what will be. The Team is not wishing to say whether
the corporate strategy is right or wrong -- a company has every right
to decide what is the best way forward -- but only presenting the narrow point
of view of a team of pure hobbyists, who are the major losers from the revolution
as evidenced by the Team still on v18. The Team asks of Claris that in
the upcoming v22 there may be implemented new design-enabling features
and programming functions that help pure hobbyists to build data processors of value
in-and-of themselves. In other words, enhancements that improve RADE*
with especial focus on hobbyists. The Team feels, however, that the
revolution has too great a momentum (in its desire to bring the brave
new world to reality for its IPFDs) for the company to pause and undergo
a moment of introspection: to count the number of loyal hobbyists lost
to the cause. As may be witnessed with NoteMaker and ScriptPlanner, much
can be done with v18 and the reason for this is that the improvements
from v19 on are mostly to do with connectedness, distribution and
commercially enhancing website presence, little it seems in the way of
improving database-creation in-and-of itself. With a cursory scan of the
new programming functions and design-enabling features (not withstanding some
fabulous free add-ons), the Team feels, right or wrong, that upgrading
to v21 would bring only marginal benefits in the way of tools for
creating databases of value in-and-of themselves. Should v22 bring a
feature the Team believes empowers it in its mission to make NoteMaker
and ScriptPlanner more "powerful", we would not hesitate to upgrade --
if we didn't, we would suffer the guilt of feeling we're "betraying" the
progress of our two loved data processors. Should v22 disappoint, we'll
be looking forward with hope to v23. In the meantime, thank goodness for
v18, the last great upgrade for hobby purists. It's a shame Claris no
longer offers v18 that may have been a great entry-point for potential
hobbyists to buy-in cheaply, build dataprocessors with and sit on till
v22 or v23 offers an incentive for them (and us) to upgrade. The thing
about staying with v18 is we don't feel we're missing out on a "must-have" feature
from versions 19 to 21 (re what appealed to us most, v19's calendar
add-on, we eventually built our own and though the AI-powered "semantic
search" from v21 appeals, there may be a monetary cost involved). In
conclusion, the wonderful thing about the future is it always -- by
definition -- offers hope. The NoteMaker Team wishes to upgrade and
v22 may be the excuse to do so. Crossing fingers it has what it takes
for pure hobbyists.
* (Rapid Application Development Environment).
NEWS for Tuesday, 6 May 2025
A little improvement to NoteMaker. "Please pretend you didn't hear this from us". We realise that the user-action of clicking any of the six buttons in a row on the home page that copy whole or part of the content from the Contextual Statement field and pastes it into the Note field can become irritating. For example, the "$cs" button copies the whole content of the Contextual Statement field and places it in the Note field, but only if the field is active (ie, has the cursor in it). If the field is not active and the "$cs" button is clicked a message will pop up asking the cursor be placed in the Note field. No longer. No message. NoteMaker will automatically place the copied content into the Note field. Unless we receive pressure from users (that is, they tell us they too feel the irritation as we did), this minor improvement will be stored away for inclusion in the milestone 2.0.0 release. (Unofficially, NoteMaker is in reality now 1.4.5.3).
The While function and culture. It has been the argument of the Team that once there is a culture wherein hobbyists who wish to create applications of value in-and-of themselves are low-prioritised and speaking directly to them is a rare occurrence, attempting to connect to, and teach, the beginner-class becomes awkward, nay, difficult. Yesterday, the Team viewed a video* on YouTube (uploaded a year ago) on the mighty While function ... and it was difficult to watch. The instructor nobly attempted to teach the While function, a difficult task in itself as the While function is a complex concept, but, from the get-go, learners were faced with the visual awkwardness of the semi-colon, rather than being at the end of a line of code, it began the next line. It took some time for the Team to get used to and probably would be disorienting for many beginners. The instructor may be a product (victim?) of a culture neglecting pure hobbyists in the rush by Claris (since the release of FileMaker v19) to lead its independent professional FileMaker developers (IPFDs) to a brave new world. Neglect speaking directly to hobbyists, how do you learn to begin to talk to newcomers? How does one connect to the mind-set of beginning learners? The Team believes it's important for Claris** to pause, take a deep breath or two, and look back at those left behind, which paradoxically are its future, and begin to relearn the language of speaking to hobbyists and learners. Claris has the opportunity to do just that with the upcoming release of version 22 of FileMaker and the presentations that follow. We wish Claris to lower prioritising its IPFDs a tad and raise the priority-level of hobbyists a lot. It won't be easy: a culture set in over versions 19, 20 and 21 is likely to be difficult to change. Perhaps when Claris realises it is jeopardising its long-term future by not catering to beginners (and hobbyists) may then it take the drastic step to take time out from its revolution and take stock of the winners and losers and hopefully make appealing to hobbyists a vital part of its long-term strategy. The Team can only cross its fingers this may happen.
* (Please note: this video is not an official
video from Claris, owners of FileMaker).
** (The Team understands Claris was faced
with perhaps an existential dilemma for its incredible FileMaker
software. In a world where databases are everywhere for nearly
everything, FileMaker faces fierce competition all around. From its
old foe: the ubiquitous Microsoft-owned Access. From prepackaged
business databases like Xero and Quickbooks. From browser-enabled
software, like Caspio, that truly are "low code" [actually, no code in
the case of Caspio as far as we know] that can relatively easily create databases
primarily with clicks and selections. Finally there's competition from
the big end of town: Oracle, SAP, SAS and the like, who are increasingly
encroaching on FileMaker's turf: medium-sized businesses and
organisations. We understand (but not necessarily agree) why Claris felt
the need to set in motion the revolution, we're merely making the case
it's time for a cessation from the revolutionary storming the barricades
and instead count the
casualties among the hobbyists and beginners, take them back to a safe
space to nurture them back to health).
NEWS for Monday, 5 May 2025
NoteMaker has reached an impassé. The Team has reached a point where we can't see a way forward to improving NoteMaker. We stare at the home page and ask ourselves: what can be done to improve the user-experience in making notes? What more can we add? There are two histories: one, manual and the other, automatic. We have a Collection field and also a Sub-Collection field. Notes can be directly linked to each other. Students are catered to with provisions for structured summaries. And on it goes. We have a mechanism for spotting predefined keywords in the Note field. Notes can be marked as special. There is a facility for endnotes. And on it goes. The Note field has been made extensible with a ReOrderAble list, a Storyboard, a restricted table and a mini spreadsheet. There is a comprehensive User Manual. And now there is a visual calendar for students to enter due dates for assignments. And on and on it goes. We have become desperate for user-input to help us value-add to NoteMaker. We're close to reaching 1,500 notes in our real-world NoteMaker file called My Notebook. For us, everything necessary for making notes is there: we haven't been motivated to check out the professional note-making applications out there. NoteMaker does everything we need it to do. But are we missing out on a feature that users feel NoteMaker should have? If you don't tell us, we won't know. Remember: everyone, including the Team, is confined within their own experiences. We have our own workflow pathways in NoteMaker that may be different to those of others, which means we may be unaware of the needs other users may have. (Please keep to one-suggestion-per-correspondence so we can give it our utmost attention and return feedback to you -- thus, providing evidence that we have studied the suggestion and looked at ways how it may value-add to NoteMaker ... once you receive our return feedback, then send us another suggestion -- should you have another and wish to. That way, things become manageable for us).
NoteMaker 1.4.5.2 has been stabilised. It's wonderful for the Team not to have received reports of errors in the latest version of NoteMaker. We continue to test the calendar day-by-day and so far find all is good.
Suggested approach for beginners new to FileMaker. We believe one way to come to terms with FileMaker is to go slowly. Savour whatever little you learn. FileMaker is highly complex but reveals itself as simple at each gradated level. Use our NoteMaker to record what you learn (the Team continuous to use NoteMaker to note new learning experiences -- collection label = "FileMaker"). FileMaker becomes complex if you try to learn too much too quickly. When, for example, you learn the Go to Layout script step and that it works for you, cherish the moment. Don't be in a hurry. Don't dive into the depths of complexity, but instead shallow-wade through water. The Define Calculation dialog is ruled by syntax -- it's a language structure of its own. FileMaker wonderfully alerts you to errors in syntax. At first these error messages will be abundant, but rest assured these will lessen over time. When you first write a successful If function, time to celebrate, you are making your database super-intelligent. From memory, it took the Team (slow learner it is) months to understand and execute a successful Loop script step (the Loop script step is similar to the While function in the Define Calculation dialog). Once you learn the Loop script step, you have majestic rule over records. The great While function is not easy to learn, but once learnt, its power is yours. But along the way in learning these milestones of programming, be joyful of learning to colour field backgrounds, aligning objects on the Content Area, working out how to write accurate field labels and choosing the overall colour scheme -- little as these may appear they in a sense are just as important as the Loop and While functions. Then comes relationships between tables. This is the holy grail of database schema. Create a relationship between two tables and you have channels to data galore. For example, a police database on offenders comprises basically two tables: Personal Detail and Criminal Record. The two tables, once related, come together on a single Personal Detail layout: the upper half has the name and address of the criminal and a description (including a photo) and the bottom half has a portal with channels to the data from the Criminal Record table, which becomes a list of offences or instances of law-breaking. There you have it, once beginners learn to join tables, they can easily create a database hypothetically useful for the police force (professional developers will know how to connect your -- hypothetical -- database to this and that network so police officers across the nation will have access to all rap sheets of offenders, but it was you -- hypothetically -- who created the core database). Yet, in the real-world, it is likely the big guys, Oracle, SAP, SAS and the like, who possibly have already created the systems for police departments across the world. Nonetheless, the example serves to show the power of FileMaker as a relational database: that is, we hypothetically can create a core database that may be useful for police departments in tracking offenders. Imagine what else can be created that may be useful to others?
The Team's wish for upcoming version 22. After six years on version 18, the NoteMaker Team is considering upgrading. Between versions 19 and 21, the Team feels there hasn't been much to entice us to upgrade. Script steps such as json and others pertaining to servers and the cloud are great perhaps for professional developers, but may not be the kind that excite pure hobbyists. Sure, there would have been fine-tuning and marginal improvements for hobbyists, but so far the Team believes it has not reached the critical mass for upgrading. Resources are limited for any company, but given that so much of it has been given to improving server, the cloud and website-building side of things in versions 19, 20 and 21, the Team feels it's time to put some of the resources into creating enhancements that help pure hobbyists build applications of value in-and-of themselves. It's time to make FileMaker more hobbyist-friendly. Give us that wow factor we've been longing for as an excuse for us to upgrade. If incremental, give us enough of those to upgrade for. In a strange sense, the Team wishes to support Claris by paying the upgrade fee ($Aust 548.90). Claris is not govt-funded and thus its primary source of income comes from its paying customers. By holding out from upgrading to versions 19, 20 and 21 (that is, by staying with v18 for six years), the Team has accumulated enough money in reserve to pay the $Aust 548.90. We truly desire to do our bit to contribute to the upkeep of FileMaker -- it's up to Claris to give us, the hobbyist purists that we are, cause to do so by enhancing FileMaker's RADE* with perhaps primary consideration given to hobbyists. Fingers crossed for a decisively hobbyist-friendly version 22.
* (Rapid Application Development Environment).
NEWS for Sunday, 4 May 2025
Pricing for FileMaker 21 (2024). If you are interested in data processing as much as you may be in word processing, FileMaker is the goods. However, the Team has been taken aback to learn yesterday of the pricing for FileMaker 21. The situation for would-be beginners and hobbyists is dire. For the full version downloadable from the Claris Store is $Aust 913.00 for a one-time purchase -- it's yours forever. But $Aust 913.00 is forbidding for many (there is a c30-40 percent discount if you're an academic). The good news for those with v16+: the upgrade price is "only" $Aust 548.90. We believe Claris may consider a suggestion for a new special pricing category for bona-fide hobbyists, say, a 50% discount: that is, $Aust 456.50 (and for upgrades, half of that: $Aust 228.25)*. At that price, the Team would not hesitate to say that FileMaker is worth every dollar. Yes, it's still very expensive but FileMaker is no ordinary piece of software: it is a hugely capable rapid application development environment (RADE). Look at NoteMaker and ScriptPlanner to see what can be done on the FileMaker (v18) platform. FileMaker's programming language is highly sophisticated (despite Claris's use of the promotional phrase "low code"). The design tools are superlative. And in practical terms, there are no limits to storage capacity. FileMaker is a powerhouse. Though not in the same class as Oracle, SAP, SAS and the like, none of these, however, are hobbyist-friendly in the slightest. For newcomers, we recommend go for the free 45-day trial period (see link at bottom of webpage). In that time create a useful but simple database ... and see how you feel. If you like FileMaker, find out if v19** is available and, if so, if it is much cheaper than the latest v21. In the end, it's up to you: what you can afford -- or can't afford. It's a shame Claris is pricing its fantastic software out of the reach of many potential beginners and hobbyists. In one respect it may be said that Claris is undermining its long-term future. Except for the one-off purchase, beginners and hobbyists are not likely going to bring much more money for Claris as, on the contrary, do its independent professional developers, but it may be argued that is shortsightedness: beginners and hobbyists, whether Claris fully realises it or not, are its future. It is from among them that will come the next generation of FileMaker enthusiasts who will one day go forth into the real-world and conquer existing database systems with their love for FileMaker. But, in terms of pricing ($Aust 913.00), there may not be a point of entry for perhaps many newcomers. Claris may, not that it consciously wishes to do so, be missing opportunities for nurturing a new generation that may one day replace the old.
* (These are only suggested prices from outsiders and no way does the Team wish to appear to know what the best pricing for FileMaker is. The Team has no experience in what is good corporate strategy. What is posited by the Team re prices is more wishful thinking than anything else).
** (Version 18, our version, is sadly no longer offered).
Regarding the Status Toolbar. Many developers forego use of the Status Toolbar (topmost toolbar) and implant its functionality into the Content Area (the editable design area below): it saves on screen real estate and makes the application appear more independent of the platform it has been created on. Others, such as the NoteMaker Team, believe the Status Toolbar is integral to their data processors.
Mark Conway Munro's Learn FileMaker Pro 2024 is not only for beginners ... as we continue to read, we may also describe the book as a "refresher course" for professional developers. For hobbyists, such as for the Team, reading Mark's book makes one realise no matter how much one thinks one knows, it's surprising to realise how much has been forgotten, stuff which may -- as incredible as it may sound -- be keys to breakthroughs in development. Yes, the book is important for beginners, hobbyists and professional developers. We're hoping to thoroughly read the book from cover to cover in a few weeks and present a full review. At this stage, the Team has no doubt it is a valuable addition to the library of FileMaker literature.
Can NoteMaker be used as a diary? Yes. Just remember to enter in the Collection field "Diary". Place the cursor in the empty Note field and click "Insert Current Date" button (to the left of the Keyword field and start writing your day's experiences, emotions and thoughts. Since NoteMaker may contain a thousand other notes, enter Find Mode and select in the Collection field "Diary" and only your diary entries will be visible (in FileMaker terminology: the result of a find will become the "found set"). Once a found set has been established, your diary may be printed or published as a PDF file (it's recommended to go to the Collection layout for this task).
NEWS for Friday, 2 May 2025 AEST
# The fear of "layout triggers"* explained. These are the big-picture triggers. They're not the small-object triggers such as OnObjectEnter. By "big-picture" we mean the following:
We've had success with OnLayouEnter and OnModeEnter, attaching to each of these triggers simple code. But with roughly up to half of them we've had trouble (often ending in crashes). Our message to fellow hobbyists is: "handle with care". We suggest use a test-copy of your data processor when experimenting with any of these layout triggers, especially when attaching complex code that makes their repercussions hard to fathom — and use the Script Debugger as your companion when venturing into the "dark recesses" of their ramifications, which may protect your test-copy from experiencing (possibly file-damaging) crashes**. Our fear of layout triggers may be a healthy thing!
* ("Layout triggers" is the generic term used by FileMaker for these big-picture triggers).
** (It's extremely rare for FileMaker 18 to crash. In the six years we've been on v18, we've only had a dozen crashes and anything up to 10 of them have been due to complex code attached to layout triggers).
# Evolution, again. It's hard to plan everything for a new piece of software a priori — before (real-world) experience. Planning can go so far until it meets — sometimes "clashes" — with real-world usage — a posteriori (after experience). The example is NoteMaker's calendar. Planning as much as possible, the Team could not envisage every possible real-world contingency, a priori. Which is why feedback — a posteriori — from users is crucial to our bettering NoteMaker. Feedback from users is an application's "life-blood". Even though we have the real-world file, My Notebook, our way of using it is perhaps unique to us, therefore we love to know your workflow pathways or channels. For example, we rarely use the pathways formed by accessing the single-note practice-essay environment — students may. We rarely use the Storyboard facility — some users may use it often and thus provide us with real-world pluses and minuses of the facility that may help us to improve it. We had the incredible experience of one ScriptPlanner user providing us with something like a c*20-point feedback. About half of them have been implemented, making ScriptPlanner so much better. Theory and practice have a dynamic relationship: one feeds on the other, spiralling upwards. The result is evolution: growth, improvement, adaptation.
* ("c" = roundabout).
# Feedback. Ironically, the c20-point feedback (see above section, "Evolution, again") was also the trigger for us to institute our "one feedback per email/Contact Form policy" — not because we didn't appreciate the c20-point feedback, just the exact opposite: we so much valued every single point that we believe we have not done justice to half of them due to having to deal with other feedback or other pressing matters. By giving feedback one suggestion at a time we make this promise: it will be studied to see if it fits with NoteMaker's rationale (no clearly-stated suggestion will be dismissed out-of-hand). If it doesn't fit in, we will thank you for taking the time to make the suggestion and give you nothing less than a full explanation as to why at this stage we are unable to make use of it. If it does fit in, we will thank you and show how your suggestion has been implemented. That's why we wish feedback to be one at a time: so we can give singular attention to each of them. Sometimes feedback can be gibberish, to those we will not reply; please, explain your suggestion clearly (imagine we have no idea what your suggestion is getting at — in other words, please give context: that is, the big-picture before the "little-picture"). Remember this: we have no idea how to make NoteMaker better for you, as an individual user, unless you tell us. All we have is a generalised idea — not always accurate per individual.
NEWS for Thursday, 1 May 2025
Release of 1.4.5.2 — why? Though the Team is trying to reduce the number of quick-successive updates for NoteMaker, having adopted a policy of only releasing updates in urgent cases of errors, nonetheless, that the Event layout would show both event and "normal" notes, though not an outright error, did jolt. A user expects event-notes but instead is met with also the clutter of "normal" notes. By now, regular users, it is presumed, might have discovered the Due Only (Sorted) button, but what concerns us are the newcomers. It doesn't make a good impression when the Event layout is similar to the Collection layout and we can almost "hear" the question: "What's going on? Why isn't an Event layout only showing event-notes?" With 1.4.5.2, there is no longer a need to ask that question.
This should have been righted a long time ago, but sometimes we accept something that is not quite near perfect by using rationalisation. "Hey, let's not risk involving the OnLayoutEnter trigger, you know, the big-picture kind of trigger that has caused us trouble in the past — whose ramifications have been unpredictable. Surely users will eventually click the Due Only (Sorted) button and discover that is how to make the Event layout only show event-notes?" We became comfortable with the rationalisation, but admittedly it did trouble us a little every time we entered the Event layout when both types of notes showed up. Now it's over: the OnLayoutEnter trigger has ironically come to our rescue. Still, looking back, it's funny how one can find ways to allow oneself to accept situations less than near perfect.
# NoteMaker 1.4.5.2 now available for download. Please note: this update does not correct an error but only hides "normal" notes when a user enters the Event layout. Please do not feel you need to update if you are happy with the workaround, which is, that once entering the Event layout, click the Due Only (Sorted) button to show Event-notes and exclude "normal" notes. (This update will not be sent as an email attachment to our verifiable users — which is our normal practice — as we have already sent too many updates in too short a time and don't wish to risk irritating them).
# Collections as folders. Unlike the great novel-writing software, Scrivener, NoteMaker's main directory (on the home page) doesn't have the facility for creating folders. Instead, NoteMaker's Collection field (top right home page) simulates the idea of a folder. Once a note is tagged with a collection label, the note belongs to a group (or virtual folder).
Look more closely at the Collection field, look at the two buttons to its right. When the icon with the triangle is clicked, a list of all notes with the same collection label will appear. Clicking any list-item will bring up that note. Let's take an example: in our real-world testing file, My Notebook, we have 33 notes on "Wisdom", just the 33 will be listed in the popover. This may be equivalent to looking inside a folder named Wisdom.
But if you click on the icon with multi-lines further to the right, the 33 notes will appear on the Collection layout. The whole database will only show just the 33 notes — that becomes your simulated folder writ large. The main directory (on the home page) will only list the 33 notes on Wisdom. The main directory in effect has become a sub-directory, a (sub-)folder.
It's all about perception, the way one looks at things. Collection labels are names for virtual folders, if it helps you to see them that way.
# "What's wrong with the Event layout? When I go to it, it shows all notes, both event-notes and 'normal' notes". Yes, not straightforward. We've known about this for a few years, but kept hoping the user would eventually find one's way to clicking the Due Only (Sorted) button on the header of the Event layout.
As easy as it is to provide the workaround, as we just have, it doesn't prevent new users from themselves asking a similar question: "What's with the Event layout?" Even back then we knew the big-picture solution lay with the OnLayoutEnter trigger, but held off implementing it due to troubles we've had with big-picture triggers ("Once bitten, twice shy" — in our case, thrice bitten, six-fold shy).
Oh, oh, it looks like we have no choice but to use the big-picture trigger, OnLayoutEnter, risky as that trigger and others like it can be if their ramifications are not tracked and controlled properly (we're still reeling from our recent encounter with the OnRecordLoad trigger in attempting to implement Auto-History). We "plucked up" a little courage (knowing we recently did successfully implement OnLayoutEnter trigger for NoteMaker's calendar) and have attached the trigger to the Event layout. Early testing shows no side-effects (all we did was attach the four-liner code from the Due Only (Sorted) button to the OnLayoutEnter trigger). However, we are not intending to release the improvement in an update but are at this stage intending to include it in the milestone 2.0.0 release. We simply don't have the nerve to bother our users with yet another update*. However, if this issue doesn't really bother you and the halfway solution provided by clicking the Due Only Sorted button is good enough at this stage, please be patient until the 2.0.0 release. Please bear in mind, there is still some testing to be done.
* (Consideration is, however, being given to provide 1.4.5.2 as a download, that way it's up to the individual to decide if one wishes to have it or wait till the 2.0.0 release).
# "Sharing is caring". The NoteMaker Team encourages users to share NoteMaker and ScriptPlanner to anyone who may have access to FileMaker version 18, 19, 20 or 21. If you know a friend who is toying with the idea of writing a screenplay and has an installed copy of FileMaker, please send a copy of ScriptPlanner. If a family member is a student, download a copy of NoteMaker and see if the family member may click with it. The Team places no restrictions on how many times either data processor is sent to others who have access to FileMaker — "the more the merrier" could be our motto in terms of our distribution policy. What we're trying to say is that it may be natural for you — as it is for the vast majority of the population — not to have a real reason for engaging with NoteMaker or ScriptPlanner (re the former, you may not have an inclination to making notes; re the latter, you may not have an ambition to write a screenplay), but if you do know of someone who loves making notes or wishes to have a go at planning a screenplay, don't hesitate to give that someone the opportunity to trial either data processor respectively. Both data processors are merely files, meaning no installation is necessary: the installed copy of FileMaker (18-21) will make them behave as fully functioning applications — that means if you're not 100% happy, simply delete the file, no uninstalling is required. Another of our mottoes is: "you have nothing to lose but the chains of inaction". Please fill the Contact Form or download either data processor. If you decide to download, please fill out the Contact Form anyway, thus making contact with us. We'll reply with gratefulness and give some tips on how to first engage with either database and we'll put you on our mailing list: updates, upgrades and important information will be sent to you ASAP. You'll become a special member of a small group of verifiable users. Of course, that's up to you — what you're comfortable with.
NEWS for Wednesday, 30 April 2025
Evolution. Evolution is happening everywhere, including application development. Take for example, NoteMaker. From the first day of its creation, it has continuously evolved. Let's take a more recent example: NoteMaker's calendar. It first was planned on paper. There were questions and brainstorming. Then came executing the ideas into NoteMaker. An unrelated table was created. We configured the layout: each day was a square-shaped field. Then came one of the most code-and-labour intensive periods we have ever experienced. But in the end there it was: a workable calendar. We used it in our real-world testing file, My Notebook. Okay, from dropdown menus you choose the month and year. Next comes the most crucial step: you have to match the first day of the calendar to the actual first day of the month. For example, take the month coming; May. When you look at a hard-copy calendar, the first day of May is a Thursday. Alright. The first day of NoteMaker's month — and only the first day — has a dropdown menu of the seven days in the week: choose Thursday. That's it: the rest of the days in the month will be automatically allotted the correct days. You're good to go. But Evolution is a restless creature. So the days in May have been set up, but it is so easy to accidentally change the month and year from the dropdown lists. Once May 2025 has been set up, one could unintentionally change the month to June and the days set up for May 2025 are wrong for June 2025. When earlier we were planning the calendar on paper it never came to us the possiblilty of this real-world mishap. It's in practising the calendar in the real world that "told" us of this possibility. So, NoteMaker evolved: we created a checkbox, Freeze, that fixes the days to the month and year. Calendar days, beginning with Thursday, are fixed to May 2025. Try changing the month or year ... sorry, can't do — unless you uncheck "Freeze". Evolution marches on: why should users have to refer to an external calendar to find what the first day of each actual real-world month? So, on the header of the calendar layout we created a date field with a calendar attached to it. Now it is easy to match the first day of the calendar month to the first day of the actual real-world month. "But wait", questioned Evolution, "why not have the date field also give the current date (eg, Wednesday, 30 May 2025), thus the one field — wonderfully and economically — is now serving two purposes?" Done. Evolution, however, doesn't stop. "What happens when a user creates a month out of sequence?" posits Evolution. "Say, instead of creating a calendar month for the next month, May, a user creates a calendar month for September because the user wishes to enter someone's birthday and then when the user does create May it is out of sequence since September was created before it was?" Evolution dictates that we create a Sort Month button that would sort calendar months in the correct chronological order. Evolution, however, was not altogether happy with our solution. "Automate it further", it said to us. So we took the risk of using a "big-picture" type of trigger: OnLayoutEnter. It was a simple code, basically a one liner. We used the same one-liner attached to the Sort Month button and then attached it to the trigger. It worked. Now every time a user goes from, say, the home page to the calendar layout the code attached to OnLayoutEnter is triggered: months are placed in correct order. Evolution pats us on the back: "You have used OnLayoutEnter in a controlled fashion unlike what you did with the OnRecordLoad trigger — you sure messed things up with that one. But look at the calendar: the distinction between days gone by and days to come is not clear enough. Fix that, please". All we had at the time to mark a day as having passed was a red strikeout, so we went to work to make a day passed look more passé. We greyed everything including the strikeout and rid the faint yellow background. Evolution smiled on us — but suddenly there was disappointment. "What's this little 'dash' button? Why is it deleting entries? What's going on? How dare you expose this bug to your users?" We became embarrassed. We gave the excuse that we had an urgent problem to attend to with notes disappearing when the Insert Endnote button is clicked and because of that we neglected fully testing the "dash" button. "I'm not into blaming", Evolution said, "I'm into finding solutions". So we fixed the "dash" button. We know from experience that NoteMaker's calendar can always be made better over time — Evolution won't have it any other way.
# About ScriptPlanner. For a few months no news of bugs concerning ScriptPlanner have come to the attention of the Team. After update after update for NoteMaker, it's good news that ScriptPlanner seems to be solid at 1.0.4.2.
# Testing NoteMaker's calendar. The way the Team is testing the calendar is on a day-by-day basis. To complete the test will take 31 real-world days. So, we can't be 100% sure everything works until we have completed checking each day as each day goes by in the real world. For example, today is the 30th day of the calendar: we check the current date fields (number "30" and day "Wednesday") are highlighted (when the previous day's Day Over checkbox is ticked), we check the entry-delete button works, we then look at when the current day's Day Over checkbox is ticked, everything expected happens. Finally we check the Calendar Guide field on the layout's header has updated to "Wednesday, 30 April 2025". Because testing is in real time, it will take some more real-world days before we can say the calendar has no errors whatsoever. So, if you find an error before we do, please let us know ASAP so we can fix it. Yes, it will mean yet another update, but — at the risk of appearing a nuisance to our users — we feel we have no choice but to deliver the latest error-free version of NoteMaker (enhancements we can hold off from releasing, but not errors). The good news is that it appears the calendar is error-free so far. Crossing fingers it stays that way. We believe the recent inclusion of a visual calendar will increase the uptake of NoteMaker. Our strategy is this: should users make the calendar their default calendar (in tandem with a hard copy calendar one may buy at a newsagency) there is another reason to open NoteMaker every day — and to take the opportunity to write notes. In other words, we wish using NoteMaker to become a habit for users. Which is why the visual calendar has to be 100% error-free. Better still, we wish users to give us positive suggestions for making the calendar more the go-to calendar. Therefore, NoteMaker's calendar is central to our making NoteMaker "addictive" (in the good sense of the word) for users. In all this, there is still a place for Event Notes for important dates because the day before due date an alert notice appears on the footer of the home page. Don't hesitate to join the verifiable* small group of NoteMaker users by filling out the Contact Form or using the downloading facility (if you use the latter, please fill out the Contact Form anyway to let us know the download has been successful — once on our email list, you'll be provided with the latest version of NoteMaker — as an email attachment — the moment it is released and also you'll be given the latest urgent need-to-know news. We are unfailingly courteous and totally respect your privacy. We have a policy of helping users to solve any problem presented to us).
* ("Verifiable" here refers to known users we have email contact with).
NEWS for Tuesday, 29 April 2025
NoteMaker at 1.4.5.1 is solid. The past week or so have been hectic as the team attempted to make changes to the data processor. Allowing the OnRecordLoad trigger to run amok has been a scary time, causing crash after crash. Now things have settled. NoteMaker stands on its own as a sturdy and worthy application. If you love making notes give NoteMaker a try. It's free, forever, and all updates and upgrades are free. If you have access to FileMaker version 18, 19, 20 or 21, there are two ways to obtain your copy of NoteMaker: fill out the Contact Form or download it. In the end, NoteMaker is a note organiser: you write your notes, store them, group them, link some of them and retrieve them any time you wish. If for nothing else, you may use NoteMaker to store your favourite recipes. This is one way how: create a note, call it "My Favourite Recipes Directory", click on the ReOrderAble list extension, and enter the names of your delicious recipes and for each of them click the Link button ... and in the end, each recipe will have its own note. So, within NoteMaker you now have a directory of recipes. Go to "My Favourite Recipes Directory" any time you wish to decide which recipe to follow in order to prepare or cook the next mouth-watering dish. Even if you're a professional developer who uses FileMaker to seriously create systems for clients, having NoteMaker on your computer is there for any special personal use you may have. Once you have NoteMaker, you may be surprised at the kind of uses you may discover for it. If you're a student, you may take advantage of the single-essay practice-essay environment to do preliminary work on a set assignment. If you're a coder learning C++, use NoteMaker for writing and storing learning notes. For all them use the collection label "C++". In the future you may do a search in Find Mode using C++ as the search term in the Collection field. Click Perform Find. When the search result shows, click on the little triangle next to the Find button on the toolbar and click Save Current Find. If you wish to work again exclusively on your C++ notes, click the little triangle and click the now listed "C++", and there you have them, unencumbered with the clutter of other notes.
The Team wishes to no longer release updates in quick succession as it has been doing for the past week or two. We believe it's not fair to our users. The next release may be the momentous upgrade to 2.0.0. For that to happen a new features is needed. (Of course, if an error is found, we'll be looking at a 1.4.5.2 update: in good conscience, we can't let our users suffer an error).
# Design error at the bottom of NoteMaker's User Manual. Two buttons and a link are misaligned. This has been corrected in the 1.4.5.1 update. Please accept our apologies.
# About NoteMaker 1.4.5 update. The "dash", button bottom right corner on each day in the calendar, was intended to rid yellow highlights after the Day Over checkbox had been ticked, but would instead delete entries for the day when clicked before ticking the Day Over checkbox. Our apologies. The fix is in: the "dash" button in 1.4.5 will only appear after the Day Over checkbox is ticked, thus preventing unwarranted deletion of entries. The idea of easily ridding yellow highlight is that, when the day has passed, any entry for the day may no longer need to be prominent.
The other error is that the "dash" button was missing from days 1, 8 and 15. That is no longer the case in 1.4.5. Please accept our apologies, but there was an urgency to bring out the previous 1.4.4 update due to the somewhat disturbing issue of the disappearing note when the Insert Endnote button was clicked. We left the calendar without it being fully tested. Again, we haven't 100% tested the calendar because we felt the urgency to stop the "dash" button from deleting entries that would irritate users.
The wonderful news is the introduction of History of Saved Notes with the 1.4.5 update. It's another way NoteMaker helps users to easily find a note among even thousands in the one file. When a user edits a note and saves it, its contextual statement will automatically appear in a portal on the History of Saved Notes popover, a great backup should the user forget to manually enter the note on the User-Defined History popover.
# The world of databases. Digital databases are not "real" reality but instead are "virtual" reality; yet, if they were to suddenly disappear en masse the world would be in a mess. The world would not miss NoteMaker nor ScriptPlanner, but it would miss dearly enterprise resource planning (ERP) database systems. One may go as far as to say the economy would freeze — instant depression. The FileMaker platform provides ERP for small to medium businesses, organisations and government agencies and Claris, owner of FileMaker, is aiming for larger institutions dominated by the big players in the game such as Oracle, SAP, SAS and others. NoteMaker and ScriptPlanner are single resource management (SRM) systems. They are specific to a task, to a person, not to a company or any other institution. They are not crucial to the economy, but, at most, may be crucial to some individual users. FileMaker hobbyists will tend to create SRM systems, whereas professional FileMaker developers will tend to create ERP systems. For example, a hobbyist may create an invoice data processor for a freelance photographer friend — the invoice in this case is an SRM system. But when an invoice becomes part of a host of other data processors, that system is an ERP. So, for example, when a professional FileMaker developer provides an invoice database, an inventory database, an employee database and a sales database, collectively, to a small business, one is providing an ERP system. Should hobbyists provide ERP systems for payment, they are strictly-speaking no longer hobbyists. The NoteMaker Team has created data processors for personal use and for friends that manage resources such as books, DVDs, tax deductions and the like (none, however, have the built-complexity of either NoteMaker or ScriptPlanner). And that is the joy of owning a copy of FileMaker: as a hobbyist you can just about create any SRM system! A copy of FileMaker puts a lot of organising power in your hands.
NEWS for Monday, 28 April 2025
Great news: update to NoteMaker is available for download. The update has fixes to the calendar, plus a new feature: History of Saved Notes. When a note is edited and saved it will automatically be listed on the History of Saved Notes. It will serve as a backup when you're busy editing a note and forget to manually list it on the User-Defined History popover.
# Flaws discovered in NoteMaker's calendar. On the bottom right corner in each of the 31 days is a "dash" button, which when clicked rids yellow highlight. However, it only works as expected after the Day Over checkbox is ticked. When "dash" button is clicked at any other time, it will delete the entries for the day. The fix is in with the 1.4.5 update. In the meantime, please use the button after checking Day Over. The fix will see the dash button hidden until the Day Over checkbox is ticked. Please accept our apologies. We prematurely released NoteMaker as a matter of urgency to address the issue of the disappearing note when the Insert Endnote button was clicked. Shortly, the 1.4.5 update will become available. In the meantime, please avoid clicking the "dash" button until after the Day Over checkbox is ticked.
We also detected three day in the calendar are missing the "dash" button (days 1, 8 and 15).
Both sets of problems have been repaired and 1.4.5 will be released as soon as possible, hopefully within the hour or two.
# Ignore hobbyists, beginners suffer. The problem for Claris may be this. Imagine you're a beginner to FileMaker (FM). You bought your first copy: the latest, FMv21. You go to YouTube to look for instructional videos on "Claris FileMaker version 21". You may find, as we have found, there are hardly any beginner tutorials for FMv21. But there are plenty galore of tutorials on FM for beginners up to and including version 18. Try this exercise yourself: imagine you know very little about the workings of FM and you go to YouTube searching to learn how to create fields and what field types such as text, number and calculation stand for — judge for yourself what's available that is recent and specific for FMv21. For a beginner to visit YouTube for v21 could be a dispiriting exercise. By not catering to hobbyists, using the appropriate language hobbyists can readily understand, Claris may very well be denying entry points for beginners to master the basics of building databases on the FileMaker platform. It's possible Claris may have forgotten how to speak to beginners because they have stopped speaking to hobbyists. Take the screenwriting software Final Draft. When an upgrade is released, some dozen and more videos, most of which are about the basics, are updated for the new version. The Final Draft people continue to know how to speak to newcomers. But it doesn't seem Claris does. Having forgotten how to speak to hobbyists, they've inadvertently forgotten how to speak to beginners. By not adequately catering to the future in the form of catering adequately to beginners is to take a pillar of foundation away from FileMaker's future. Every software wanting a future needs beginners and one of the best bridges between beginners and reaching the mastery class are hobbyists or professionals with a hobbyist mindset who can speak to beginners. If you're a beginner, go to the YouTube videos of old such as those by Sunny Chu, Guy Stevens and others — most of them won't let you down. Another way forward is to buy a book. The latest is Learn FileMaker Pro 2024 by Mark Conway Munro ("2024" = version 21). Mark has written books on FileMaker versions 16 and 19. The Team has ordered the latest book and may soon do a review of it.
# FileMaker 18. For pure hobbyists — such as the NoteMaker Team — version 18 of FileMaker Pro is the last great iteration before Claris took its incredibly wonderful software in a new — nay, revolutionary — direction to make its major clientelle — the independent professional FileMaker developers who are self-employed or run database consultancies — competitive with fierce rivalry from Microsoft Access, from various easy-to-put-together database offerings from the internet and from the big "guys" such as SAP* and Oracle** who are more and more encroaching on what used to be FileMaker's territory: the medium-sized businesses and organisations. So urgent does Claris see the situation that it has taken its independent developers on a rocket-fuelled flight to the stratosphere, leaving pure hobbyists behind standing on terra firma with nowhere to go — but only for some of them to stay with version 18. True, Claris's financial future rests with its paying independent developers, but it is the belief of the NoteMaker Team that the health of the company's image rests with hobbyists. It is they whose enthusiasm for FileMaker is infectious. It is from among the hobbyists who may bring the wonders of FileMaker to the workplace, even to the attention of Chief Technology Officers. It is probably one from among 100 hobbyists who may one day have decisive influence in companies, organisations and government agencies as to which database system to bring in to manage resources. Claris may be making a long-term strategical mistake in dropping its hobbyists by the wayside***. It is hoped that the upcoming version 22 will give evidence that Claris has had enough of the thin air provided by being up in the stratosphere for so long and comes back to earth to improve FileMaker's rapid application development environment (RADE) for hobbyists (and professional developers) who wish to create apps of value in-and-of themselves (and then think about distribution and deployment — almost as an afterthought).
* (SAP provides database systems for Coca Cola, Amazon, BMW, App Store and iTunes — to name only a few).
** (Oracle provides ERP software for KFC, eBay, Qantas, Netflix, Linkedin and Airbnb — to name only a few).
*** (Please note: the NoteMaker Team has no experience in corporate strategies, so the above sentence is merely offered as a hypothetical).
# The power of language. Language can empower but it can also disempower. One half of the NoteMaker Team yesterday surveyed YouTube videos brought up by the search criterion, "Claris FileMaker version 21". The titles of so many of these videos continue to exhibit, from the perspective of a pure hobbyist, alienating language that started with the promotion of version 19. But amongst these came the older videos, uploaded before v19, that were wonderful to behold: they spoke about everyday working in FileMaker that benefited both the professional developer and the pure hobbyist. Most of these videos were uploaded over four years ago. For example: Sunny Chu's video on conditional value lists and Guy Stevens's beginner's guide, "Related tables — Conditional value lists" — uploaded 12 years ago! These have greater use-value for the pure hobbyist desiring to build apps of value in-and-of themselves than most of the recent "crop" (there are some exceptions as the relatively recent video on the While function demonstrates). Language may disempower when it alienates. The Team member could not begin to engage with many recent videos: there was little connecting language, little "common ground". There was no "first base". Language tells of reality. The world before and including version 18 is different to the one after and including version 19. "Language says so". The new world is one in which there is little accommodation for pure hobbyists and by doing so, Claris may not be going out of its way to cultivate the beginner class.
NEWS for Sunday, 27 April 2025
"In-and-of itself". Some of our news items below use the phrase "in-and-of itself". It has become the creed of some hobbyists, such as the NoteMaker Team, who wish to build mostly self-contained applications that are useful within themselves. For example, NoteMaker and ScriptPlanner. NoteMaker helps people to write and manage notes and ScriptPlanner helps screenwriters to plan their next story. Some hobbyists wish Claris, the owners of FileMaker, to improve FileMaker's rapid application development environment (RADE) in a way that empowers us to build innovative or, simply, helpful data processors, in-and-of themselves. From version 19 on, barring some seemingly wonderful add-ons (as seen on YouTube), little else has been done to make RADE a more empowering workspace for pure hobbyists. A case in point: a new and highly promoted enhancement in the latest version, 21 (aka 2024), of FileMaker is the Perform Script on Server with Callback script step. This kind of enhancement is great for professional FileMaker developers who have to make a living developing and installing systems for their clients, be they corporate or governmemt. There are many new such connecting, web-facilitating and advance deployment enhancements, like json script steps and like Perform Script on Server with Callback, from v19 through to v21, but none so far of the kind exemplified by the While function which is useful for hobbyists who wish only to build apps of value in-and-of themselves and share them in cost-free ways such as email attachments or as downloads from their websites. Historically, it was one of the most amazing things to witness (for one half of the NoteMaker Team) the change of language used by the FileMaker people up to and including v18, which implicitly gave recognition to hobbyists (to them we existed then), and then came the alienating vocabulary used to promote v19 onwards by the (new?) FileMaker people: it appeared the FileMaker people were no longer speaking to pure hobbyists. FileMaker is a product we cherish and to have a sense of being alienated is to feel a little "hurt". We've stayed with v18 since. We are hoping the upcoming version 22 makes a small gesture of welcoming us back into the fold by, say, taking time out from the rush to "conquer the world of database services" to do a little housekeeping by, say, modernising the Custom Function dialog (please ignore if this has already been done*) or to give pure hobbyists new functions to help us create quality — perhaps even exciting — applications in-and-of themselves. Power to the little people!
* (We have yet to have a look-in on versions 19, 20 or 21).
# History of Saved Notes vs Auto-History. It must be pointed out that we did not fail to create a history of navigation among notes, but we did fail in understanding the full ramifications of the OnRecordLoad trigger, that, we believe, led to the unheard of crash (twice) when exiting Layout mode, which shocked us to the core, resulting in our raising the white flag of complete and utter surrender. Everything to do with Auto-History has been expunged from NoteMaker. But how often does good come from bad, success from failure? Instead of an ambitious use of the OnRecordLoad trigger, we settled for something whose ramifications are manageable ... from which we developed History of Saved Notes, which may very well be more useful than the now-defunct Auto-History. Rather than listing any note passed by, wouldn't it be more useful to list a note that has been given the kind of attention that involves editing it?
History of Saved Notes, combined with User-Defined History, will greatly assist users to find the notes they desire. It's a great backup when a user, busily editing a note, forgets to manually list it on the User-Defined History popover. My Notebook — the Team's real-world application of NoteMaker — has, so far, 1,462 notes and there is never the sense they're unmanageable and never the sense the one note among the 1,462 cannot be easily found. We feel the same sense would be true for 10,462 notes in the one file. That, to us, is NoteMaker's greatest achievement in design and functionality. Bring on a million notes in the one file ... NoteMaker is up to the challenge.
Is Auto-History missed? Not really. The trouble it caused, the crashes, were unhealthy for NoteMaker, but we had to prove to ourselves we could do it. Now we remember when about two years ago we first attempted same but were met with a crash or two ... but the difference is that at the time we had the sense to quit. This time around, like "mad scientists", we felt we have to succeed at any cost. And we did, but with paying the ultimate price: twice crashing when exiting Layout mode. To achieve our goal got more and more complicated as we had the goal of implanting code to some 150 buttons and commands in order to give them immunity from the ramifications of the OnRecordLoad trigger. But we could not ultimately guard against the shocking two instances of the unheard-of exiting-Layout-mode crashes.
When things become more and more complex, it probably is a sure sign the simple has been missed somewhere along the way — or from the very start. History of Saved Notes is the simple way to go. Henry David Thoreau (1817-1862) said it best: "... simplify, simplify". When complexity piles on complexity, stop and "take stock", look for another — simpler — way. Perhaps, look for the exit.
(Please note: all the crashes that happened in our experiment to implement Auto-History have nothing to do with FileMaker 18 — it is totally our fault. We have come to know and experience many software — none are as stable as FileMaker. When FileMaker does crash, it's a sure warning we are doing something seriously wrong).
NEWS for Saturday, 26 April 2025
Failure put to good use. Auto-History was achieved. The Team succeeded. Notes visited were listed automatically. But when the shock of NoteMaker crashing after exiting Edit Mode for Browse Mode — twice — there was no hesitation in (surgically) excising all remnants relating to Auto-History from the bowels of NoteMaker.
A few lessons were learnt.
The attempt to automate a history of navigation, though eventually abandoned, nonetheless brought success: we've created a modest "History of Saved Notes". When the content of the Note field is changed and then saved by clicking outside the field on a non-active area, the note's contextual statement will be listed in a portal on a popover, it's button sitting next to the User-Defined History popover button.
# Auto-History dropped. The "final straw" came when NoteMaker crashed twice on clicking the Exit Layout button on the top minor toolbar in order to return to Browse Mode. We had Auto-History working fine, but when clicking the Exit Layout button crashed FileMaker — an occurrence that has never ever happened before and we've being using FileMaker since version 5 (for two-and-half decades) — we couldn't help blaming it on some kind of ramification from the OnRecordLoad trigger. We apologise for raising expectations. We tried to do an automated history on our own, no guidance from anywhere. Next time we try, we'll search YouTube for a video that could show us how to create such — without having the same trouble we had. For the moment we're enjoying being re-acquainted with the crash-free version of NoteMaker, the version prior to venturing into creating an automated history. Mind you, we don't regret having a go: we've learnt a lot, one of which was our first-time use of the Exit Script [] instead of the Halt Script "step" to escape a subscript without terminating the parent script. The experience, though ultimately a failure, has been good in terms of learning, but admittedly having no more of it is pure relief.
NEWS for Friday, 25 April 2025
PART ONE. Panic: two crashes. Please note from the outset: when NoteMaker crashed during testing today it is not the fault of FileMaker (FM). In the six years the Team has been using v18, crashes are extremely rare. FMv18 is the most stable sorftware the Team has ever encountered. The dozen crashes that have happened over the six years (two today, four a few days ago) are absolutely due to our "bad" code, code that has serious (one may say existential) flaws. Code attached to the OnRecordLoad trigger if not 100 percent error-proof can lead to an "earthquake" in the internals of the FM software. But even if the code is error-proof, it's the trigger itself. The two crashes today immediately panicked the team into contemplating abandoning Auto-History. OnRecordLoad trigger is frustratingly highly resistant to damage control. It's like we've unleashed a monster. Is Auto-History worth suffering for? Even though we think Auto-History is dispensable from our early real-world trialling, we don't give up easily on an idea. We believe Auto-History is something some users expect to have.
PART TWO. Good news: we have re-stabilised NoteMaker — crossing fingers — so far. We are trying to secure every module that may be affected by the OnRecordLoad trigger. We're rewriting code all over the place to strengthen those modules against the vagaries of the OnRecordLoad trigger. To our surprise, many modules are thus affected. We have much to do.
# Work yet to be done. Yesterday's moment of glory has today given way to hard yakka. The NoteMaker Team is implanting code to disable Auto-History in as many search routines (mostly attached to buttons) as possible. Continuous testing has hardly stopped. Along with testing is trialling. Our My Notebook is put through real-world scenarios. Early indications point to a psychological twist in that we created Auto-History to meet a two-year challenge more than to meet a real-world need. Strange to say, we prefer User-Defined History: we hardly had a need to look in Auto-History. At this very early stage it looks like we'll be working hard to near-perfect a facility that appears to have little use for us. We're hoping when 1.4.5 comes out, users may tell us differently: that Auto-History is useful. But the feeling lingers: we created Auto-History to show the world and to ourselves we could do it rather to evaluate its use-value. The thing is this: when one comes across a note that needs ongoing editing, one will manually list it in the User-Defined History, so as to — at a later date — easily retrieve it and work on it some more. It's funny ... when we created User-Defined History, we felt a tinge of guilt in that it felt like a "cop out" from our — at the time — failure to create an expected automated history. Now that we've got an automated history we are beginning to realise with failure came success in the form of the User-Defined History. But it's early days: real-world trialling continues, in-house testing continues.
# Point of clarification. When in a previous entry, mention was made of NoteMaker crashing due to infinite looping, the fault did not lie with the FileMaker platform but bad code implanted in NoteMaker. FileMaker v18 is solid.
NEWS for Thursday, 24 April 2025
It's done: NoteMaker now has an automated history list. What took two years trying to work out, took only two days to accomplish. If you don't wish to, you no longer need to manually create your own history list, NoteMaker will do it for you. However, users may wish to do their own listing: in that way, they can be selective as to which note they wish to go back to in the future.
The key to the breakthrough was right in front of us in the code for the sibling User-Defined History: it took a long time for us to see it as the loop breaker. The lines of code were never written to break a loop; instead, they were meant to stop the module from putting on top of the history list the same contextual statement. Who would have thought that was the trick?
Discovery as accident. That those lines could break a loop was discovered as an accident. We copied the module from the User-Defined History and made it the template for the code for Auto-History. When we attached it as a trigger, OnRecordLoad, to the home-page layout and ran it, it didn't loop, it stopped with the message that the contextual statement is already at the top of the list. We thought: nah, we don't need that for Auto-History, so we disabled those lines. We ran the module ... it looped endlessly and then crashed. When we opened the file it would not stay open for more than two seconds. We eventually deleted the file: thank goodness is was a test-copy of our My Notebook. Not aware we had actually discovered the loop breaker, we tried this and then that ... result: looping > crash. It took the next day before we realised that the only thing that didn't cause a loop were those disabled lines. We enabled them, except for a couple of lines, such as the the Show Custom Dialog "script step", which gave the message regarding duplication (we didn't need for that to show up). Result: no more loops. And then we built from there. Now, NoteMaker has an automated history.
The moral of the story is that sometimes a solution is there in front of you, it's a matter of seeing it.
We're looking to bringing out 1.4.5, but we may wait a while to include more improvements. Plus we need to test Auto-History in every possible scenario we can think of. Plus bringing out 1.4.3 and 1.4.4 in quick succession, users may want a break. So, we're not in hurry to bring out 1.4.5.
# New auto-history in the works. Wonderful news is the Team is working on NoteMaker itself automatically creating a history of notes (records) being "visited". NoteMaker already has a User-Defined History popover (situated above the Keyword field), whereby users may timestamp their "visit" to a note and be able to search for the note in the future. But for some time, the Team has been wishing to automate the process, but when it tried, it met an existential enemy: "infinity". We were met with infinite looping and crashes (we're thankful we experimented on a test-copy of NoteMaker, actually a test-copy of My Notebook). We were pretty sure code, in the form of a trigger, had to be attached to the home-page layout. At first we tried OnRecordCommit ... a mistake ... then we tried OnRecordLoad — we knew instinctively that was the way to go, but, as with OnRecordCommit, we met with infinite looping and crashes. We gave up ... but not forever. At the back of our minds, we knew we'll come back trying — we really don't give up easily on an idea. The good news is we have succeeded: no more infinite looping and crashes. We've created a new popover called "Auto-History", which automatically houses a list of note-visits. And it works. When a note is visited, its contextual statement and time of visit is listed in the portal on the popover. Wow. Finally. But the fear of the "ghost" of the "infinite" hasn't left us altogether: much more testing is needed. Also, there is a fractional slowdown every time a user navigates from one note to another: not in the appearance of the note — that's instant — but the way the main directory responds. Its response time is about a fifth of a second more than instant and the note's contextual statement listing goes to the bottom of the viewable directory (the latter is really not a problem). Nonetheless, the plan is to allow users to disable Auto-History. We'll be working on that today. The problem to come is the search mechanism for finding listed visits: in the process of going through a thousand notes, will each of those notes be an act of OnRecordLoad? If so, the slowdown will be too telling and the listing terribly useless. Once we get the code right for the search mechanism, we may create another test-copy of My Notebook reduced to three or four notes in order, with the help of the wonderful Script Debugger, to see if it is or isn't so (even if so, we have an idea on how to couteract it).
Conclusion. The wonderful news is that the automatic listing of visited notes has met with success, which may — if all else goes well — serve as a "backup" should you forget to manually list a note's contextual statement on the User-Defined History popover.
# Commenting code. There's relief the drama of the disappearing note is over. Because we looked at the single-note practice-essay environment recently, which we haven't looked-in for three years previously, we "touched" something that affected the code attached to the Insert Endnote button. It is a fear the Team these days has: the interdependencies and interconnections of modules and of this thing with that thing such that "touch" one module or "touch" one thing and hard-to-know consequences follow. NoteMaker has become complex and we're lucky in that we commented our code liberally. The style of the comments was us talking to ourselves in six-months time, like a time capsule. So when we comment an aspect of code we are imagining how we would understand the "what" and the "why" as future persons. Still, the trepidation of going inside code-heavy objects like the Scan button and the Insert Endnote button is always there.
NEWS for Wednesday, 23 April 2025
Wonderful news: NoteMaker 1.4.4 is now available. The update includes a major bug fix: no longer will clicking the Insert Endnote button result in the note disappearing. In addition, a "contextual statement to titlecase" button has been added next to the Contextual Statement field. Also the User Manual has been updated. Please obtain the latest version by using the Contact Form or by downloading.
It's been a harrowing last few days with notes disappearing. But in the end it was relatively easily fixed with the assistance of the fantastic Script Debugger. Part of the problem is the fear the NoteMaker Team has in touching complex code such as that which has been attached to the Insert Endnote button. The erratic persistence of the bug, however, forced the Team to take a chance by delving into the code — but not without the Script Debugger. The problem code was found on Line 45. It was in a group of code relating to the Essay Paragraph Construction (EPC) environment. Not only did we disable Line 45, but the whole group, which included a possibly innocent few lines of code that would prevent students from endnoting an exit paragraph (in EPC theory, the assertion and exit sentences should not reference sources). It's possible that instead of delicately removing a cancer from a kidney, we cut out the whole kidney — so harrowing has the last few days been that we rid the whole lot of code to do with the EPC environment — didn't wish to have more problems cropping up some time in the future (however, we only disabled the lines of code, not deleted them; perhaps once this is over we'll have another look-in and see what we can salvage).
In conclusion, we are happy to report that your notes will remain in place when clicking the Insert Endnote button.
# GREAT NEWS! The problem of the persistent disappearing note (upon clicking the Insert Endnote button) has been solved. The long code for the Insert Endnote button has been found to have unnecessary legacy code relating to the Essay Paragraph Construction (EPC) operations. When, after three years neglect of the single-note practice-essay, we entered the environment, we triggered something that awakened the legacy code in the Insert Endnote module that made the content of the Note field disappear. The legacy code has been disabled. Testing shows there are no more problems in this respect. We are now preparing for a 1.4.4 update. Until its release, please avoid using the Endnote facility if it is causing a problem.
# Emails have been sent to our users. Notification* has been emailed to our registered users regarding the "disappearing note" conundrum when the Insert Endnote button is clicked — with advice on how to minimise the possibility of permanently losing a note. We apologise that this issue of late has a persistency to it (we have been endnoting notes for years on our My Notebook real-world testing version and nothing like this level of persistency has ever happened). We are clueless: there appears to us no rhyme or reason. We are drawing plans to replace the Endnote facility — if somehow it doesn't right itself — with a portal. Fields relating to referencing a source will be included in the portal. The portal will be sturdier but the loss of the current facility will be sad as it took lots of "creative" coding to make it work — and a great deal of labour (not hours but days). However, the prospect of building a revamped Endnote facility using a portal is exciting for us: we're sure it will have many challenges.
What is crucial is for users to provide feedback on their experiences in using the Endnote facility. More than anything else, this feedback will determine if there will be a replacement for the Endnote facility.
In the meantime, we strongly advise before clicking the Insert Endnote button to please copy the content in the Note field to the clipboard or to NoteMaker's Oft-Used text popover. And to remember to immediately click the Undo button TWICE once the note disappears.
* (For those who have downloaded NoteMaker but have chosen not to make contact with the Team, please fill out the Contact Form so we can register you as a user ... that way, we can send you urgent messages [and also great news] — if electing not to make contact, please visit this website on a regular basis).
# ATTENTION PLEASE. Erratic behaviour of the Endnote facility has worsen. It has just been documented that clicking the Insert Endnote button on the Note-Focus card leading to the disappearance of the note can be persistent, not necessarily random and rare as initially thought. The NoteMaker Team is baffled and has no idea why the problem has worsen. We now advise users to copy the content of the Note field before clicking the Insert Endnote button. We've tested other notes and there isn't a problem, so why there is of late a persistency in the new notes is unknown. If you forget to copy the content of the Note field, remember to immediately (before the record is saved) click TWICE the Undo button. We also advise that if the problem continues to be persistent, not to use the Endnote facility and instead use the Harvard in-text system of referencing (or the APA system). We feel disheartened by the persistency of this problem but have no idea where to begin to fix it. Please accept our many apologies. We will be monitoring the situation. We ask users for feedback: what are your experiences with using the Endnote facility? Please let us know. If the problem is universally persistent the Team will give thought to ridding the Endnote facility altogether. We are considering replacing the facility with a portal with designated fields (eg, Author, Title, Source [book, website, etc], Comment and the like). A lot depends on your feedback and further testing by us.
NEWS for Tuesday, 22 April 2025
What it means to be a hobbyist? A simple definition of a hobbyist is probably someone who loves one's hobby. The NoteMaker Team are hobbyists. There are two things we love: the data processors we are building and the FileMaker platform that makes it possible. How far we can go in building our data processors, NoteMaker and ScriptPlanner, depends a lot on FileMaker's Rapid Application Development Environment (RADE). If it grows, we grow. Bear this in mind: as hobbyists we wish to build applications of value in and of themselves. Yes, we like to share them around, but deployment has to be cost-free and simple. On our website we deploy our data processors in two ways: as email attachements or as downloads. In terms of the scope of deployment we are limited to those who already have a copy of FileMaker (18, 19, 20 and 21) installed on their machines. The only cost-free way around this — that we can think of — is to have an enabling software like Adobe has Acrobat Reader, which opens PDFs created by Acrobat Pro. Imagine if FileMaker Pro had a similar cost-free enabling software — call it "FileMaker Reader" — that can be downloaded by everyone, rich or poor, from around the world? Imagine the possibility of the world being exposed to useful applications created by hobbyists and from the publicity may excite some users to want to create their own applications by purchasing a copy of FileMaker Pro. But the Team is as happy to have one user each for NM and SP as if each data processor had a million. The same effort and enthusiasm goes into building NM and SP even if we were to know there is only one user ... that's partly due to self-interest because we too are using both data processors in the real world of making notes and planning screenplays. We want them to be better not only for our users, but also for ourselves. By using them, we are constantly testing them, but there is a problem. The way we use them is specific to our workflow-pathways often in exclusion to many other possible workflow-pathways (eg, we haven't touched the single-note practice-essay feature for a period of three years). Which is why we are desperate for feedback from users. If we are to correct errors arising from other workflow-pathways, we need users to let us know of errors (eg, we need students to let us know of their experiences with single-note practice essays).
But we would also love to hear suggestions for improving our data processors. The only request we make regarding this kind of feedback is to send us only one suggestion at a time* and thus to give us time for providing a report of what we made of the suggestion before sending us another. That way, you know if the suggestion has been absorbed or, if not, a courtesy explanation from us will be given as to why at this stage it may not quite fit into our development plan or it may not be possible in respect to RADE limitation or we may not be able to find a way to implement the suggestion (our skill-set may not be up to it — though we'd rather build-up our skill-set than to give up — we don't give up easily when it comes to challenges).
Conclusion. For us, it's wonderful to be FileMaker hobbyists.
* (The exceptions to the one-suggestion-per-communication request are of course notification of errors: there is no limit to reporting errors to us in the one communication).
# Upcoming FileMaker version 22. The NoteMaker Team has a longing to upgrade to Filemaker v22 when it comes out. There are two considerations:
It'll be interesting to see what version 22 offers. Anticipation is great and fingers are crossed.
# About NoteMaker's storyboard. Storyboards are often associated with outlining films. Any phenomenon that has phases can be storyboarded. For example, birth of stars and the caterpillar-to-moth cycle. Storyboards comprise illustrations and captions and greatly appeal to one's visual sense. The storyboard in NoteMaker is one of several extensions to the Note field. So if a particular note requires a visual step-by-step representation, please use the storyboard. Also the storyboard can be a container for individual photographs and pictures relevant to the note's theme.
# About NoteMaker's extensions. NoteMaker has eight extensions (one, the bibliography, is invisible until the single-essay practice essay is triggered). We therefore say the Note field is extensible. What may not fit easily in the Note field is provided with an environment of its own. Storyboard and ReOrderAble list are two examples. But there are others (eg, one of the other extension holds a ready-made table and a mini-spreadsheet).
NEWS for Monday, 21 April 2025
Release of NoteMaker 1.4.3 update. Yesterday saw a major update to NoteMaker become available for download or via the Contact Form. The release was somewhat hurried due to an ongoing issue whereby clicking the Insert Endnote button (situated along the bottom row of the Note-Focus card) would make the content of the Note field disappear (to see one's note disappear can be a disturbing experience, made worse when clicking the Undo button does not bring the note back). In response, the Team has placed an alert message in the tooltip to the Insert Endnote button and also implemented a popover notice. Our message to users is this: please do not be alarmed. The disappearing note "trick" happens once in a blue moon and — "waving the magic wand" — clicking the Undo button (top right of the Note-Focus card) TWICE brings the note back. The Team has been aware of this problem for a long time and, upon knowing, immediately posted a notice on the tooltip to the Undo button. But beginning yesterday, the realisation has come to us that it's not enough and more notices have been posted. We are unable to pinpoint the cause of this irregularity and are therefore unable to fix the problem, and the reason for this is that it happens rarely and randomly — no pattern so far has been discernible by the Team.
However, the positive news with the update are the improvements made to the calendar: a simple calendar that is getting better "by the day". It's similar to the tangible calendars one may buy at a newsagency (in Australia, a newsagency is a shop that sells newspapers, magazines, stationery and lottery tickets). If it's in our place to do so, we recommend having a calendar in hard copy, no matter if you have the best digital calendar "in town" or have no digital calendar. You may be surprised when a physical calendar may come in handy. We recommend that NoteMaker's calendar work in tandem with a physical calendar, primarily because it may not be everyday that you launch NoteMaker — mind you, we would like users to get into the habit of opening NoteMaker everyday, but in a busy real world, that's unlikely to happen.
As a general principle, testing a new feature should be near-endless. Every possible attempt should be made to find errors of all kinds (including textual and design — not just programming ones). But the Team has not tested the calendar near-endlessly due to the urgent need to bring out 1.4.3 with alert notices regarding the disappearing note issue. The Team begs users of 1.4.3 to use the calendar and to notify the Team of any errors.
NEWS for Sunday, 20 April 2025 AEST
Fantastic news! A free copy of NoteMaker 1.4.3 is now downloadable.
The update includes:
Please also consider ordering 1.4.3 via the Contact Form. By doing so, you make a first-time connection to the friendly and ever-helpful NoteMaker Team. Or do both: download 1.4.3 and also fill out the Contact Form and let the Team know the download has been successful in every way. The Team will reply with a heartfelt thanks and provide tips for ways to start interacting with NoteMaker.
# ALERT to an irregularity in NoteMaker's endnote facility. NoteMaker has an endnote facility whereby users may provide sources or points of clarification at the botton of their notes. Once in a blue moon, a strange behaviour happens: when the Insert Endnote button is clicked, the note disappears! Please don't panic: clicking the Undo button TWICE will bring back the note. The Team has known of this strange behaviour for some time, but because it happens so irregularly and so randomly, the Team has been unable to pinpoint the cause and thus has been unable to fix it. It's extremely difficult to fix a bug if there is no established pattern to its occurring. For the 1.4.3 release, a notice has been placed in the tooltip to the Insert Endnote button to the effect that should it happen to you please click the Undo button TWICE.
Should it have happened to you and you did not know of the correction, please accept our many apologies (we had placed a warning in the tooltip for the Undo button, but it's now perhaps recognisably not enough).
To repeat: the problem of the disappearing note has been around for a long time; from the start notice has been placed in the tooltip to the Undo button, but now more has been done to bring awareness of this problem to users. Because of this, it has been decided NoteMaker 1.4.3 will be released today.
# Are all databases simply Resource Management Systems? Databases at the highest level are called ERP systems: Enterprise Resource Planning systems. Here, the big players are Oracle, SAP, SAS and others. The biggest companies in the world, the largest organisations and big government use them to manage their resources, human or otherwise. Let's now go to the "low end of town". One of the simplest databases — Recipe — single table in a single file — manages cooking resources: what's needed to, for example, bake a cake. And it manages knowledge resources: the how. NoteMaker, too, manages knowledge resources in the form of notes. ScriptPlanner manages story-resources of fictional characters and fictional events. Is it safe to equate databases universally with the term, Resource Management System (RMS)? That is to say, can we say all databases manage resources of one kind or another? If we can say such, then we can answer the question what is database? with a database is a resource manager. Therefore, the subject of all databases is resources.
# Non-competitive products. NoteMaker (NM) and ScriptPlanner (SP) are not offered as competition to other truly professionally-built products out there. NM and SP are being developed by hobbyists on the back of FileMaker. Judging from active email correspondences, there are only a few who use NM and fewer still who use ScriptPlanner. We are proud of those few and we go out of our way to provide the highest quality customer service. We attempt to personalise correspondences as best as we can (even though there are only a few users, personalising emails is labour-intensive). We are proud of NM and SP: we truly believe they can be highly useful — comments from several users have praised our data processors.
In a scenario where 100 people — who have access to FMPro — already use "better" professional note-making applications but give NM a trial run ... and after the trial run, only one out of the 100 decides to stay with NM, that one person is all that matters to us: we're not for numbers, only for those who click with NM. From the perspective of that one person, it no longer is a question of other applications being "better" when one is in tune with NM's workflow & rationale and design & functionality. "Better" is both relative and subjective. The Team uses a working NM file called My Notebook and it truly meets our note-making needs such that we haven't tried other applications out there — from the perspective of our subjective needs, have had no need to. The imagined 99 who don't click with NM have our total respect and we are happy they're into note-making — we believe everyone should be into the habit of making notes: it can be a useful manner of gathering bits and pieces of knowledge. You may say it's a great way of learning in a casual sense.
# When NoteMaker 1.4.3 update release? Today, being a Sunday, may be the day to bring out the 1.4.3 update. A lot has been done to enhance the calendar. Even though we feel more can be done, perhaps enough has been done to warrant a mere 0.0.1 update. Still, the worry is that near-endless testing of the calendar hasn't been done. If 1.4.3 is released today, we'll be begging users to rigorously test the calendar ... and if errors are found to please let us know ASAP.
# Notice of error re usage of ".fmp12". Except for a few instances to indicate the compatibilty of FileMaker versions 19, 20 and 21 with NoteMaker and ScriptPlanner's file extension, ".fmp12" has been wrongly used in place of stating explicitly versions 18, 19, 20 and 21. The reason is NM and SP are not fully operational with versions lower than 18. Even with v17 many operations will malfunction. Please do not open NoteMaker and ScriptPlanner with versions 12 to 17, even though they share the same file extension .fmp12. For example, NM and SP are riddled with the While function, a function that did not exist before FileMaker 18. NM and SP will simply be unworkable with FileMaker versions 17 and under.
NEWS for Saturday, 19 April 2025
Latest news: removal of highlights in NoteMaker's calendar will soon be easy. The Team has decided to make ridding user-highlights as an option by implementing a button that when clicked will rid the (default) yellow highlight. The button is invisible unless hoverd and is situated on the bottom right of the Day field, next to the "Day over" checkbox. Sometimes calendar-entries have great significance and users may wish to highlight them using the default yellow highlight. However, once a day is passé, users may wish to remove the highlight — it soon will be as easy as a click of the button.
# Good news for NoteMaker's calendar. To make it more visually clear when a day is passé (once ticking the "Day over" checkbox), the text content in the day turns from red to grey, its background colour turns from faint yellow to white and the 45-degree stroke turns to grey, no longer red. It's all about evolution. Testing the calendar in the real world with the Team's My Notebook (which now has 1,454 notes [ie, records] and counting), one begins to see what more needs to be done to improve the calendar. The upcoming 1.4.3 update will be very much about enhancing the calendar.
Please accept apologies for holding back on releasing 1.4.3. The feeling is the calendar has possibilites for further enhancements — when given more time for testing in the real world. For example, the Team is considering automatically ridding any user-yellow-highlighting of content in the day, once the day is passé, but not sure if users may want that, instead wishing to keep highlights in, even if the day is passé.
The major current thought-process is on the fact that the Calendar table is a standalone (not related to any other table in NoteMaker). The Team is wondering if benefits may be had should the Calendar table be connected. Yet the Team is also thinking isolation has benefits too. By keeping the Calendar table unrelated, it's like having a separate database within a database: that is to say, the Calendar table could theoretically be in a file of its own, called Calendar, and therefore have an existence outside NoteMaker. So the Team may one day offer three data processors: NoteMaker, ScriptPlanner and Calendar (to those who own, or subscribe to, FileMaker 18, 19, 20 or 21) — all three free.
"But hang on a moment, FileMaker, since v19, offers a much more sophisticated calendar as an add-on, why bother with the Team's calendar offering?" In response it may be posited that not always is sophistication triumphant over simpleness. Our calendar is a standalone (but within NoteMaker) digital version of the hard-copy calendar one may purchase at a newsagency. It is simple, unconnected to anything else; meaning our calendar is straightforward (what you see is all there is — and sometimes that may be all some people may want). And never is anything offered by the Team meant to compete with any other offering. NoteMaker is not meant to compete with any other note-making application, nor is ScriptPlanner meant to compete with any other planning environment. There are probably many standalone calendars — built on FileMaker — freely available — if there are, that's great.
However, before the Team makes the Calendar table live in its own file, independent of NoteMaker, we would like to have more time to enhance it via ongoing testing in the real world and by way of feedback from current user. Still, the thought of offering a third data processor is exciting. Stay tuned.
NEWS for Friday, 18 April 2025
Relational databases. Databases developed for banks have at least two tables: Customer and Transaction. Those two tables explain what you get on your bank statement. The Customer table has fields for your name, address, bank-account number ... in short, details about you as a customer. The Transaction table records every deposit and withdrawal you make (for the designated period, usually a month). The bank statement you receive combines the information from the two tables: your details and your transactions.
Of the many fields the Customer table provides, there is a special one and yet it contains no real-world information. It works behind the scenes to combine the Customer table and the Transaction table. The special field is an identifier. Each customer has a unique identifier: no other customer has same. "Hang on, isn't a customer's name unique, why not use that as your identifier?" The problem is the Name field is a real-world field: a huge bank like Citibank, which has millions upon millions of customers, is likely to encounter duplication of names. For example, among the millions there are likely to be two "John Smith"s, maybe more. We have to get away from the real world. We have to have a field that is useless in terms of the real world but is vital within the database system.
We call this field the primary key. The term, "primary key", half-clues us in to its role ("key" is helpful; "primary" is not too great a help). But in database parlance, "primary key" is the term given to the unique identifier. There is a reason why the Customer table has a field dedicated to the primary key: it is the "key" by which the Customer layout brings records from the Transaction table, specific to that customer. You don't want a customer to have transactions listed on one's bank statement belonging to another customer — that would be quite alarming. So, though the Primary Key field in the Customer table is useless in being a repository for real-world information, it is a "life-saver": it is crucial to the integrity of the database system.
Therefore, whatever goes into the Primary Key field must not be duplicated by another Primary Key field belonging to another record in the Customer table (ie, belonging to another customer). Each record created from the Customer table must have a unique primary key. The simple way to do this is to have a serial number that automatically accumulates by one with each new record created. The first record (the first customer) in the Customer table for a very, very small bank has the serial number 0001, the second record has 0002, the third record has 0003. The thing is this, if the bank decides to delete record 0003 (because the third customer has closed one's account), the serial number 0003 does not go to the fourth customer; instead, the fourth customer gets tagged with 0004. The 0003 tag is never repeated.
But all this has been one-sided. It does nothing for the Transaction table unless it too has a useless field in terms of real world data. It does. This field is called the foreign key. It is totally empty, it has nothing in it. And unlike the primary key it has no conditions attached: it doesn't have to be unique and it doesn't have a mechanism for cumulating serial numbers — nothing, totally empty, nothing attached. The most nothing field in the universe until the moment a primary-key identifier is entered, then the record from the Transaction table becomes the "property" of the Customer layout. Like what they say about "dark matter" in the universe, so too the foreign key becomes an "invisible" binding agent.
If somehow we could put the second customer's unique 0002 identifier into the Foreign Key field of, say, three transactions (ie, three records) from the Transaction table — transactions undertaken by the second customer — magic might just begin to happen ... but not quite yet.
So, we have the real-world situation of the second customer having made three transactions (say two deposits and one withdrawal) and these have been recorded on the Transaction table as three records with their Foreign Key fields no longer empty: each of the three Foreign Key fields has been entered the same 0002 primary-key identifier. Those three "child" records are now tied exclusively to their "parent" Customer record (of the second customer). Those three transactions belong to no-one else except to the second customer. If you withdrew $10,000, it won't be taken out of someone else's account, only yours.
Because it's a very, very small bank (with no ATMs, only counter service), we could say 0002 was entered manually by the bank teller. Fine, but still nothing happens. Those three transactions are not linked to the second customer in terms of them appearing on the list of transactions on the monthly bank statement. They are only visually linked: when the bank teller sees 0002 in a transaction's Foreign Key field, one knows it belongs to the second customer. But it's all visual. (By the bye, to see how tagging foreign keys with a primary key can be automated, please view Sunny Chu's brilliant, FileMaker Relationships Explained on YouTube — Sunny is probably the best-ever teacher of FileMaker basics for beginners).
In comes FileMaker's magnificent Relationship Graph, which brings the elements together. It is here magic begins to happen. On the graph are two rectangularised tables (Customer and Transaction) with their respective fields listed within. All you do is click and hold down on the Primary Key field on the Customer table and drag the line to connect with the Foreign Key field of the Transaction table. That's it. Wow, a truly relational database is born — glory be! There you have it, before your very eyes, two tables are "wedded in holy matrimony". It's time to celebrate. Where are the rice and confetti when you need them? At last, the cloud of mysticism surrounding relational databases has been hopefully blown away.
But the story doesn't end here, one may say it's a new beginning. Let's go back to the Customer layout. On the layout are fields for storing personal information about the second customer (name, bank-account number and the like). On the layout we will plant a special object called the portal. From the perspective of the Customer layout, the portal is a foreign object.
The foreign object we call "portal" on the Customer layout brings in data from the (now connected) Transaction table. So, on the Customer layout you can view stuff from the Transaction table. (Several writers of FileMaker books describe a portal as a "window" to another table). What "stuff" or data you bring in is up to you. When the portal is set up, you decide what fields from the Transaction table to include in the portal row (each row represents a record belonging to the Transaction table). In our example, the fields placed on the portal row are likely be Date of Transaction, Type of Transaction (ie, deposit or withdrawal) and Amount.
The Customer layout is beginning to look like this: in the middle is a portal, a stranger from another land; above the portal are fields native to the Customer table, text objects (usually field labels) and probably a logo. On the bottom are likely to be text objects that state the bank's static information such as phone nnmbers, a website address and the like.
Finally, our very, very small bank needs to post a monthly statement to its customers who request such a statement be posted. The contracted professional FileMaker developer may create a second layout for the Customer table, the Print layout. Not too much fancy stuff here, only "bare bones", which includes necessary customer information and a list (the portal) of all the transactions for the month. The bank prints out the statement and posts it to the second customer — among others. When the mail comes in, the second customer reads the statement that shows three transactions (two deposits and a withdrawal). The second customer ticks-off each of the three listed transaction as correct. Everyone is happy. End of story for our simple take on — or tale of — relational databases.
NEWS for Thursday, 17 April 2025
Go to Layout — where the magic begins. One can build a simple one-table database on the FileMaker platform that needs no programming. For example, a table, Recipe, that has a single (default) layout, Recipe, and three fields: Name of Recipe, Ingredients and Method. You enter the name of your recipe, the ingredients needed and the steps to follow to make the meal. Not wishing to "sin against simplicity", this is a great database: you have a system of storing and retrieving recipes. However, you may not wish to take your laptop to the kitchen and follow the instructions from its screen. Instead you may wish to print out the desired recipe and take it to the kitchen. If it gets a splash of grease, it may not worry you as much as having grease land on your keyboard.
So you decide to create a second way of showing those three fields that is as plain as possible: no colour except black and lots of white, no graphics, no fancy stuff. So now the table has two ways of showing its three fields; that is to say, two layouts. The second layout, Print, need not be shown to anyone and that's when programming comes into play. We will create a button and attach to it code that will:
In other words, we want wonderful magic to happen so we end up in our hands with a hard copy of a recipe we can take to the kitchen.
The actual code in FileMaker looks like this:
Go to Layout "script step" is the magical beast. However, as is, presents a problem. Which layout to go to? The Go to Layout is magical but it isn't all-seeing. It needs an input. Of course, we want it to take us the Print layout, thus:
The "script" or routine tells FileMaker to quickly go to the Print layout, set the printer in motion to print what's there and quickly come back to the originating layout, Recipe. So quick is this action we don't even get to glimpse the Print layout.
The real problem is addiction: once you see the magical power of the Go to Layout "script step", you want to stir the cauldron and do more incantations.
# A question of aesthetics. If you look at the screenshots of ScriptPlanner and NoteMaker, it is the opinion of the Team that ScriptPlanner's looks more beautiful. ScriptPlanner's is based on the layout theme provided by FileMaker called "enlightened", whereas NoteMaker's was designed by the Team. Moral of the story: unless you have a strong design sense or are fully clued into colour schemes, go with one of FileMaker's many wonderful layout themes (colour schemes).
# The importance of testing. Testing the change made to the Calendar Guide field that it should update to the current date has found it was stuck in yesterday's "Wednesday, 16 April 2025". The Team has experienced this "stuck" thing several times before and knows where the problem stems from: the Team forgot to tick "Do not store calculation results — recalculate when needed" in the Storage Options for the calculation field, Calendar Guide.
NEWS for Wednesday, 16 April 2025
Enhancements to the calendar. Two improvements have been made to NoteMaker's calendar:
For NoteMaker, there are now six considerations for the upcoming 1.4.3 update:
Some of the six considerations will need thorough testing. It's not good enough that they seem to work okay, it's crucial to find the exceptions when they don't work. "You can bank on users finding odd, unpredictable ways to break your system" (Scot Love, Steve Lane & Bob Bowers, Sprecial Edition Using FileMaker 8, Que publishing, 2006, p.257).
# Attachable Programming Language (APL). FileMaker's internal programming language comprises "scripts" (routines, modules or what we may call code) and "calculations" (formulae, modules or what we may call code). Because FileMaker (FM) provides the objects or allows us to create objects, it may or may not surprise how much of the coding in FM is attaching code to objects. For example:
When programming in FM, it's hard to get away from the overwhelming empirical evidence that coding is the act of attaching modules to objects. The NoteMaker Team calling FM's programming language an APL, is an attempt to inform other hobbyists of a perception that may be useful: take any object, provided or created, "cast a spell" on the object and magic happens — or, put another way, any object in FM is programmable. By positing such a perception, the Team's only goal is to empower some hobbyists by attempting to provide a way of seeing that may possibly be a breakthrough to understanding how programming in FM is done.
Many of our programming modules have three headings:
For example:
(Telling is the Team's mandatory inclusion of "ATTACHED TO:").
By describing FM as an environment with an APL is a way of reminding hobbyists (including the NoteMaker Team) to a way of seeing one's relationship to FM's rapid application dvelopment environment (RADE), to a way of working with RADE. That's all.
# "Database" vs "date processor". FileMaker is not strictly-speaking a database; instead, on its platform, databases, such as NoteMaker and ScriptPlanner, are created. But so too are created data-processing apps and database systems. Leaving systems aside, which term is better as a description: "database" or "data processor"? The Team will argue "data processor" is better, but fully acknowledging "database" is the far more widely used and the better understood term. It's about the implied meaning from the terms themselves. When a question is asked, "What is a database?", the answer provided within the term, "database", is that a database is a base for data. Okay. When the same question is asked of "data processor" the answer may be: "data being processed" or "the processing of data". Both "database" and "data processor" are nouns, but there is the hint of the verb in the term: "data processor". What is a data processor? Answer: something that processes data (by the bye, contextually that "something" is an application).
The problem using "data processor" is that it has other meanings for other people and in other contexts, whereas "database" has no such issue: a database is a database is a database ... However, the Team wishes visitors to this website to understand the way "data processor" is used: for the Team it is interchangeable with "database" and both terms are used, one for its greater intrinsic meaning and the other for being far more widely understood.
NEWS for Tuesday, 15 April 2025
Is "better" better? Does NoteMaker have to be "better" than any other note-making application to be worthwhile? From what we have heard, there are fantastic note-making applications out there built by professional software engineers; NoteMaker is built by hobbyists. What does "better" mean when it comes down to what clicks. If ten people have "better" note-making software and each of the ten decides to try out NoteMaker and out of the ten triers only one person clicks with NoteMaker's approach, what does "better" mean to that one person? Those who may be verified as NoteMaker users are small in number (and to us each of them is precious). But if the number of users is one, that one to us is all users. We would put in the same effort to make NoteMaker better for that one person as we would if there were a million users.
Triers may ask which application clicks with me? Which application meets my individual needs best? Or, if not comparing, ask: is NoteMaker sufficient for my note-making needs?
As may be seen "better" is about which approach clicks. If NoteMaker clicks with one out of a 100 who try it, wow, that's wonderful. NoteMaker is not put out there to compete (we have little idea of the "compettion" out there — we've heard some names — but we haven't checked them out). NoteMaker has its own design plan, its own workflow, its own underlying philosophy and — dare we may say — its own warmth or comfort level. We don't wish NoteMaker to be "better" than others, we want NoteMaker to be NoteMaker — the best it can be but as NoteMaker.
Conclusion. If you have a note-making application you are happy with, we are happy, and advise no need to try NoteMaker. Stay with what works for you — isn't that what loyalty is about? However, if you have an installed copy of FileMaker.fmp12, but haven't an allegiance to a particular note-making application, please try NoteMaker — it's free. Contact the NoteMaker Team or download it (please go to the bottom of the website for the download facility). If you have a note-making application or are using NoteMaker, isn't accumulating and organising notes a great way to stored and retrievable knowledge?
# Good news. The bullet points for the ReOrderAble list have been completed yesterday. With only a little code involved, most of the work was aesthetics: getting the size and colour right. It's getting the little things done that makes it fun to work on the FileMaker platform. This and other improvements and corrections for NoteMaker won't come out until the 1.4.3 update is ready for release. We're waiting for a critical mass of improvements to be reached before releasing 1.4.3.
# Yesterday, emails have been sent out to users giving the good news that this website has undergone refurbishment and that it has a download facility. It also alerted users to daily updates now becoming a feature of this website. So, please stay tuned for the latest news, tips and opinions.
# Book review: Special Edition Using FileMaker 7 by Steve Love, Bob Bowers, Scott Lane & Chris Moyer, Que publishing, 2005. The release of version 7 of FileMaker Pro (FMPro) two decades ago was nothing less than revolutionary in the history of a piece of software we have come to know and love. For starters, v7 freed FMPro from the constriction of one table per one file. Thereotically, up to a million tables could now be had in the one file. Wow. NoteMaker is one file that comprises dozens of tables, so too is ScriptPlanner one file with dozens of tables. To this day in 2025, the NoteMaker Team pays homage to v7. One half of the Team who bought into version 5, instantly falling in love, and who experienced first hand the release of v7 will never forget the impact this version had: it blew open the game of developing data processors. Not only did v7 release FMPro from "one file, one table", it also released the imagination to soar high in the sky as never before. The psychological impact of v7 can never be underestimated.
And then there was the 1,082 pages Special Edition Using FileMaker 7 to witness and document the revolution in all its glory and detail. The authors sensed something big was afoot and they wrote a big book about it.
The authors know their stuff, take the following as a sample:
The Let function, new to v7, creates local and global variables (in the above case, it is local). Let()*** brings to life a variable named tempArray**** and in that variable will happen a replacement of all pipe characters, "|", found in the pre-existing variable, myArray, and change them to pilcrows, "¶". Once that is done, it will count the number of paragraphs (if the array is text-based) in the new tempArray. Now we know the answer to the question: how many paragraphs or elements***** are there in variable, myArray?
*
"Return-delimited" is the separation caused by pressing the Return or
Enter key.
** An array
is a variable that holds more than one value.
*** The
parentheses next to "Let" tells us that "Let" is a function.
**** By the
bye, variables are named storages (it's an important concept to
understand).
*****
"Element" is the general term for a member of an array as it also covers
a member of a number list.
The sample given above is indicative of the high quality of the writing by the authors.
Then came FileMaker Pro version 8 and version 8.5 — the heights reached were dizzying! The realisation came to hobbyists that v7 was only the beginning of the revolution. To record the "storming of the barricades" came Special Edition Using FileMaker 8 by Scott Love, Steve Lane & Bob Bowers (Que publishing, 2006) and companion volume, FileMaker 8 Functions and Scripts, a total of 1,336 pages.
Listen to these:
PatternCount is a function that counts how many times, say, a word you're searching for, appears in a piece of text or in a field (one may imagine how PatternCount-like mechanisms may be useful for generative AI), but also, and wonderfully, PatternCount has a useful built-in Boolean quality.
Without the Set Variable script step, many vital programming routines in ScriptPlanner and NoteMaker would be inelegant, being forced to use instead global fields as variables.
To this day, so much can still be learnt from these books, despite some parts being outdated and despite not covering the later features and improvements to FMPro. The NoteMaker Team continues to look up these books and feel richer every time for doing so. In the realm of FileMaker literature, these volumes are truly classics.
NEWS for Monday, 14 April 2025
Today the Team has been working on NoteMaker, mostly in the form of testing certain routines, with a few touch-ups here and there. Everything that has been looked at and tested are in good working order, as the expression goes.
# Good news: the single-note practice-essay environment seems overall to be workable — so far. The Team is waiting for feedback from users with access to MS Word and Apple Pages to see if the PDF file from NoteMaker can successfully be saved to an editable document in both dedicated word processors. Unfortunately, it appears the word processor the Team uses, LibreOffice Writer (great in most other respects), has been found not able to import the content of the PDF file into an editable Writer document. (Users of Writer, please fill in the Contact Form to tell us we are wrong and there is a way).
# The other good news is that the Team is gaining memory of how and why the single-note practice-essay environment was set up years ago and is increasing in confidence that the environment is surprisingly functional in its own way — all is starting to make sense. Though the idea of revamping the environment has been thought about, it may not happen: what is, seems okay. But further investigation is still being undertaken and feedback is continously being sought from users.
(In a strange way, there is an upside from the embarrassment the Team faced with its momentary lapse in accessing the single-note practice-essay environment: NoteMaker has depth, it has envionments within environments or, put another way, it has not-easy-to-spot under-the-surface channels — still, let's hope there aren't anymore — a major design goal for NoteMaker has been and continues to be transparency — but sometimes it is transparency vs clutter, which may explain why the practice-essay facility has been tucked away: transparency in this instance lost to decluttering — and also to a desire by the Team at the time not to give the general public the impression that NoteMaker is a student-only application).
# Further good news. The ReOrderAble list will, by the next update, have bullet points when the checkbox, "Disable Order", is checked. So, on the list for the next update are four considerations (so far):
# The ReOrderAble list. Of all the extensibles to the Note field, the ReOrderAble list is currently the most worked on by the Team. Listings may now become subdirectories due to their linking capability. For example, have a look at screenshot fig 4 listing Scooby-Doo! animated movies ... each list-item can be linked to a note with the list-item's heading as the contextual statement. The Note field will give you the opportunity to do a lengthy review of the movie title. To contnue the example from screenshot fig 4, take the list-item at the top, Sccoby-Doo Camp Scare (2010)*, click the button with the icon of a magnifying glass (next to the Delete button) and a dialog will ask whether you wish to create a note. If affirmed, NoteMaker will create a new note with Sccoby-Doo Camp Scare (2010) as its contextual statement and in the Note field you may write a brief review (two samples follow):
* (Though the exclamation mark after Scooby-Doo is standard [Scooby-Doo!], NoteMaker has problems with list-items with exclamation and question marks in their headings [the problem is related to search criteria]. Please, delete certain punctuation marks from list-item headings to avoid the inconvenience of answering to an error dialog).
NEWS for Sunday, 13 April 2025
This website offers owners or subscribers to FileMaker Pro (versions 18 to 21) the opportunity to own a copy of two data processors entirely built on FMPro and forever free, no strings attached, as are their future upgrades and updates.
NoteMaker (NM) has come a long way to becoming a mature product and its sibling, ScriptPlanner (SP), covers just about every aspect in planning screenplays.
By adding both data processors to your computer you are value-adding to your copy of FMPro, even if you may not have an inclination to use either often. Please remember: these are not business-oriented applications that normally are developed on the FileMaker platform, but applications that may also interest, or be useful for, a loved one or a friend.
(Please bear in mind: both NM and SP are mere files and are only enabled as full-blown applications by an installed copy of FileMaker 18, 19, 20 or 21, thus NM and SP are never installed and therefore never need to be uninstalled — if they don't meet your highest expectations, simply delete as you would with any other file).
There are two ways for owners or subscribers of FMPro to obtain copies of either data processor: fill out the Contact Form (whereupon a copy will be sent to you as an email attachment) or download either from this website (please go to the bottom or click the asterisk above).
Using the Contact Form gives the NoteMaker Team an opportunity to greet you and provide some contextual tips. It is recommended that even if you go by way of download that you may nonetheless — totally up to you — fill out the Contact Form to simply state the download was successful ... the Team will reply effusively with thanks and provide some relevant tips.
Why does the Team offer NoteMaker and ScriptPlanner free-of-charge? Our stock answer, which is truthful, is that the "world" has overall been good and kind to us and we wish to say thank you. Plus, developing applications with FileMaker is a hobby we love: it's exciting, challenging and provides opportunities for problem-solving — we are no different to those who love doing puzzles. Both activities exercise the brain, the only difference is our activity may result in applications useful to others.
(Even if visitors to this website may not have an installed copy of FMPro, why not go for the 45-day free trial offered by Claris, owners of FMPro, that way you may test not only FMPro but also NoteMaker or ScriptPlanner — a link is provided at the bottom of our website).
# Single-note practice essay. The three-year absence from the single-note practice-essay environment has caused the NoteMaker Team disorientation. When in a previous news segement discussion centred on the Essay Paragraph Construction theory (EPC), the question naturally arose as to, hey, whatever happened to this thing we call "essay practice" or was it "practice essay"? We had no idea how to access the environment: it took us a good two minutes of trial-and-error to work out the point of access — when it should have been instant. We tried this and that — panic began to set in — until we hit jackpot: the Bibliography icon on the bottom of the Note-Focus card. Right or wrong, the rationale at the time was the fear that NoteMaker may be perceived as a student-only application by the general public. So, we tucked away the single-note practice-essay environment: "out of sight, out of mind". Well, we lost sight of it. (Of course, reading the User Manual would have revealed all, but it's not the point: for a telling two minutes, we, the creators of the environment, were at a loss).
Before we can regain full equilibrium and move forward, things have to settle down. To help in this process is to bring to the fore the positives. Below is a suggestion on how the single-note practice essay may be worked-on by students.
Of course once the first draft is completed transfer the practice essay to a dedicated word processor for future drafts and for proofreading suggestions.
NEWS for Saturday, 12 April 2025
NOTICE OF UPDATE. Please note: NoteMaker has moved to 1.4.2.1 in order to rectify a design mess-up at the bottom of the User Manual.
# ScriptPlanner's fantastically useful "Scenario" popover. Though ScriptPlanner does not have the facility for writing screenplays, it does have the facility for writing chunks of dialogue as practice scenarios or "rehearsals" before writing the stuff in earnest in a dedicated screenplay application such as Final Draft*.
Every event (scene) in ScriptPlanner has its own Scenario popover. Four screenwriting elements are present: character, dialogue, action and parenthetical. You may practise to your heart's content how a scene — in whole or in parts — may play out.
The Scenario facility is a fantastic feature in helping screenwriters practise writing chunks of dialogue before committing to Final Draft.
So, if you have access to an installed copy of FileMaker 18, 19, 20 or 21 and have a creative inclination to plan and write screenplays, don't hesitate to obtain your copy of ScriptPlanner, forever free, no strings attached — and all updates and upgrades thereafter are forever free. You have nothing to lose but to gain a highly useful data processor for planning screenplays**.
* (Please accept our referencing "Final Draft" as generic for any dedicated screenplay you may call your own. Therefore, when you see "Final Draft", please see it as "Final Draft or your dedicated screenplay software of choice", unless otherwise referring specifically to Final Draft).
** (ScriptPlanner equally allows planning for a TV/streaming series and all its episodes).
# NoteMaker's single-note practice-essay facility — where is it? If students
think accessing EPC isn't as obvious as it could be, accessing the
practice-essay facility is downright cryptic. Apologies. Right or wrong, practice essays
are victims of our emphasis on NoteMaker not to be seen by the
general public as a note-making tool for only students.
To access the practice-essay environment, you first have to attach a
bibliography to a note — talk about the horse before the cart!?
The word processor will proofread your practice essay and make corrections or suggestions — and thereafter you must stay with the word processor, hopefully never having to return to NoteMaker's single-note practice-essay facility for that particular essay.
That's it. Sure a long-way-around journey to finally output your practice essay, beginning rather counter-intuitively with setting up a bibliography — it's the bibliography that tells NoteMaker the note is marked for a practice essay.
CONFESSION.The NoteMaker Team has not looked at NoteMaker's single-note practice-essay facility for over three years and only put it through its paces now in order to verify the correctness of the 11 steps above — but nonetheless found it wanting in one respect. There isn't a problem in transplanting the body of the practice essay into a word processor, the problem is transplanting the bibliography with the body. One way around is to select "Also" with the "Print 'Bibliography' radio set on the "Welcome to single-note essay options card" and then publish the essay and bibliography (now as one) to PDF, afterwhich open (or import) the PDF file in a dedicated word processor. LibreOffice Writer appears to have let us down because it opens the PDF file in LibreOffice Draw, not in Writer — not the solution we're looking for. No longer does the Team have access to Word (not for a year now, electing to go with Writer), but it is hoped it will open a PDF file such that its content — as is — is successfully transplanted onto an editable document. If that is the case, problem solved. (Same goes with Pages — does it open a PDF file as an editable document? Mac users, please let us know). An appeal is sent out to students who have utilised practice essays to generously give of their time to provide the Team with a brief feedback on their experiences. Because it has been a long time since the facility has been visited, the Team is currently slightly disoriented on this one — not knowing what exactly to look for, where to look and how to proceed toward a solution ... we may possibly be looking at redoing (overhauling) the schema for practice essays ... that is, once we regain our balance. (On a minor issue, please note that the Team has noticed there isn't a closing parenthesis in the placeholder text on one of the fields in the "Welcome to single-note essay options card"; a correction has been ear-marked for the next update).
For all the roundabout ways and the (so far) one problem (outlined above), the single-note practice essay facility provides students with an opportunity to do the very first draft of a practice essay destined to be implanted or rewritten in a dedicated word processor.
# EPC checkbox. Due to a couple of "complaints" (actually wonderfully helpful feedback), attempts have been made to declutter NoteMaker's home page, which has led to our minimising the presence of things. Victims of this effort have been students trying to access the world of Essay Paragraph Construction theory. There is an EPC checkbox along the bottom of the home page (see fig 3). Once checked, the world of structured summarising will soon opens up to you. Note, too, at the bottom of the User Manual a button is present that takes the student to a sampling of EPC theory in action.
NEWS for Friday, 11 April 2025
UPDATE NOTICE: urgent update to NoteMaker. Due to a design fault at the bottom of the User Manual where the link to this website is superimposed on text belonging to the User Manual, update 1.4.2.1 has been released. (PLEASE CONTINUE TO LET THE TEAM KNOW ASAP SHOULD YOU ENCOUNTER A BUG OR A DESIGN FAILURE — we are ever thankful for such. If you wish to be credited by being named on the website with your first name or pseudonym, please indicate such by giving us explicit permission to do so).
# In terms of making notes, NoteMaker is a general purpose
application. NoteMaker is for everyone who loves making notes.
But it specifically may also serve students. NoteMaker
espouses the theory of Essay Paragraph Construction
(EPC) exclusively for the benefit of students. EPC is based on a
template of the five-sentence paragraph that is at the heart of EPC:
1. assertion (making the point)
2. elaboration (clarification of the point)
3. evidence (supporting the point)
4. discussion (points of view for and against the point)
5. exit (the most dynamic of the five sentences)
The exit sentence needs further explanation. It
can be many things or have many purposes. It may reassert the point in
an affirmative fashion or it may hint at the point to be made in the
next paragraph (or it may revitalise the existing paragraph by
extending it with more EPC-type sentences) or it may actually challenge
the assertion resulting in a more accurate rephrasing of the point — or
simply conclude the paragraph.
(Think of the "confrontational" possibilties should the exit sentence follow immediately after the assertion sentence, with no other sentence between them).
Please note: rarely is the five-sentence structure implemented in the real-world act of summarising. Here, for example is a four-sentence paragraph (re English history) ...
The passing of the Reform Bill (1832) averted revolution {the assertion}. It had just enough benefits for the people — or the illusion of it — to satisfy them {a clarifying sentence}. By granting voting rights to the middle class, the Reform Bill pacified a class that in the French Revolution led the masses against the aristocracy {a discursive — weighing — sentence}. Initially opposing the bill, it was only after it was passed in parliament that the landed gentry realised that in fact it consolidated their position {the exit sentence}.
Often it can be a simple two-sentence paragraph (re English history) ...
Pre-1800 laws made crimes against property capital offences {the assertion}. Thieving and possession of stolen goods, killing or wounding cattle, destruction of growing trees, breaking fences or gates were all punishable by death {a supportive sentence, presenting a list of facts as evidence}.
When it comes to EPC paragraphs, there is no judgement call that says more sentences are better than less.
Though the exit sentence is optional, like the other sentence-types (of course, excepting the assertion, which is mandatory), its dynamism warrants practice in creating them at the end of EPC paragraphs. For example, to the two-sentence paragraph above, one may add an exit sentence:
Pre-1800 laws made crimes against property capital offences {the assertion}. Thieving and possession of stolen goods, killing or wounding cattle, destruction of growing trees, breaking fences or gates were all punishable by death {a supportive sentence, presenting a list of facts as evidence}. The pre-1800 laws not only are cruel in terms of incurring the ultimate punishment but lack any sense of proportion in that killing or wounding cattle is equivalent to murdering humans in the eyes of the law at the time {the exit sentence}.
(The exit sentence is like you coming into the summary with a judgement, opinion or assessment — the other sentence-types tend to be clinical, whereas the exit sentence allows for flourish, for you to show a bit of flare, perhaps a little courage).
Judge for yourself which of the two EPC paragraphs above is more poignant. But it must be reiterated: left as a two-sentence paragraph is just fine — in fact, it is an excellent EPC paragraph: it makes a point and it supports that point.
NoteMaker attempts to help students in writing effective summaries in-and-of themselves and at the same time making summaries essay-ready. However, students would be hard pressed to enter the world of EPC in NoteMaker, save for a humble, rather shy checkbox along the bottom of the home page, veering to the left (please see Fig 3).
Conclusion: though NoteMaker is generally for making notes, it also caters to students wishing to write effective summaries.
# About Expression Web 4. This website is being built with Expression Web 4, yet as far as Microsoft, its creator, is concerned, official support ended in 2015 (though effectively in 2012). Yet it is still available (please check this website's Acknowledgement section for a direct link to its download) and it is wonderfully free. The interface is mostly in greys and black and it looks fantastic. It pays to know html, cascading style sheets (ccs) and a little JavaScript. The 20+ YouTube video series is a methodical learning journey into html, css and JavaScript — you'll be surprised to find that html and css are not that hard to learn.
# The FileMaker Pro platorm (on which our NoteMaker and ScriptPlanner data processors were and are being built) is a Rapid Application Development Environment (RADE). What that means is that data-processing applications can be created much, much quicker in FileMaker Pro than from scratch with, say, a full-programming language such as C++. When you have a look at NoteMaker or ScriptPlanner you may be pleasantly surprised at how each works in carrying out the tasks each has been designed for. Use the Contact Form or the download facility to obtain your copy of either data processor — free of charge, yours to keep forever, no strings attached — and see for yourself.
The reason why FileMaker Pro is so appealing to many hobbyists is its three-layered architecture. You can design the user interface (please check out screenshots of NoteMaker and ScriptPlanner). You can make things happen as if automatic by utilising FileMaker's internal, highly sophisticated programming language. Lastly, you can practically store as much data as your heart desires — or as your users desire. This is how Mark Conway Munro expressed it: FileMaker "employs an integrated architecture skillfully combining ... a presentation front end, process logic middleware, and data storage back end [which is] unlike the traditional approach where these components are physically separated ... Although accessible to beginners, it is also a very capable and extremely powerful development tool" (Learn FileMaker Pro 19, Apress publishers, 2021). To create in FileMaker truly feels like a privelege.
The NoteMaker Team recommends trying the 45-day free trial (see bottom of website) to see if Claris FileMaker is for you (assuming you wish to create data-processing apps for laptops, desktops or for mobile devices). A wish the NoteMaker Team has is for Claris to bring back version 18 at a very low price and only specifically for hobbyists, and then after a period it's up to the hobbyists if they wish to buy into version 21 (cost: somewhere between $US 500 to $US 600 — costly without a doubt, but if v18 is never going to be offered, then perhaps there's no choice — but the one-off purchase would be for life — the NoteMaker Team has been on v18 for nearly six years — we're certainly getting our money's worth). Please note: the issue is not the price tag — judging by what's gone into making it, FMPro is worth every dollar — if the NoteMaker Team, using C++, was to replicate FMPro it would take 100 years — what is $US 500 to $US 600 in exchange for foregoing 100 years of labour? Of course, it's up to each hobbyist's "cost-benefit analysis"; in other word, for what you get, is it affordable?
# Definition of "hobbyist". The term "hobbyist" is used throughout the website to describe the members of the NoteMaker Team ... it's time to define it. We see ourselves as hobbyists in the purest sense: we're not in it for the money nor do we wish to spend money, except when absolutely necessary; we love FileMaker and the excitement it gives us to be able to create applications that we wish to gift the world with (the "world", overall, has been good to us). We are little different to those whose hobby is to solve crossword puzzles: creating data processors is our hobby, giving us the opportunity to meet challenges and solve problems. Our reward is feedback saying how useful NoteMaker or ScriptPlanner has been for its users.Therefore, whenever you may come across the term, "hobbyist", that is what most of the time we mean by it.
NEWS for Thursday, 10 April 2025
A wonderful opportunity exists for owners and subscribers to value-add to their copy of FileMaker 18, 19, 20 or 21 with NoteMaker, a complex-built but simple-to-use database for making and storing notes. Entirely built on the FileMaker platform, NoteMaker is a powerhouse when it comes to organising notes. With it, you may manage 10 notes or a million notes — it makes no difference to NoteMaker's architecture (almost a guarantee you won't feel any sensation of being overwhelmed).
If you love making notes — or know a loved one or friend who does — don't hesitate to obtain your free copy. Simply fill out the Contact Form or download it. What you have is the file only, which becomes an application with an installed copy of FileMaker Pro (version 18, 19, 20 or 21). If NoteMaker does not meet your every expectation, simply delete the file — no uninstalling required.
# Should people develop the habit of making notes? The NoteMaker Team would argue the case for "yes". Making notes is about accumulating knowledge. What you find interesting, make a note out of it. The wonderful thing about NoteMaker is it systematises the process. A note in NoteMaker can be more than a mere note. In the few years the Team has been testing NoteMaker ("My Notebook") in the real world, 1,451 notes so far have been accumulated. Here is a small sample ...
Contextual statement: Large
Language Models
Collection label: Computer & Technology
(Note) Large Language Models (LLMs) process and extract data,
part of a family known as NLP (natural language processing). "A large
language model (LLM) is a type of artificial intelligence (AI) that
excels at processing, understanding and generating human language. LLMs
are useful for analysing, summarising and creating content across many
industries".
Contextual statement: Lon Chaney
Jnr Collection
label: Biography
(Note) Lon Chaney Jnr, like his father Lon Chaney, has great
facial expressions. Lon Chaney Jnr is particularly fantastic at
expressing the haunted or tormented look as his portrayal of Talbot in
Abbott and Costello Meet Frankenstein (1948) shows. One of the
greatest of such portrayal.
Contextual statement: The
Final Destination (2009)
Collection label: Entertainment
(Note) The fourth film in the franchise — and my favourite. A
group of young friends — due to the vision of the protagonist — survive
a catastrophic event at a NASCAR event. This sequence is incredible to
watch. The hero is wonderfully believable as a hero. The other
characters hold their own and are well delineated. Several scenes I
love: the memorial, held at the NASCAR venue, adds a sad but wonderful
touch to the film; as is the café scene after the catastrophic event
where the survivors meet.
But there is more. The note for Scooby-Doo! (contextual statement) is extensible to the ReOrderAble list (see screenshot).
To repeat: don't hesitate to obtain your copy of NoteMaker. You have absolutely nothing to lose but only the chains of inaction.
# What about SciptPlanner? If you're a screenwriter or even a novelist — and have an installed copy of FileMaker 18, 19, 20 or 21 — ScriptPlanner may help plan your next story. It covers nearly every aspect of planning. It too like NoteMaker has been entirely developed on the FileMaker platform.
# Great news: our notemakerdatabase website has been refurbished. Errors have been corrected, passages revised, sections deleted and new ones added. The overall result is a more consistent, cleaner and more purposeful look.
# Non-generative AI (non-gen AI) vs generative AI (GEN AI). Every significant software has intelligence. NoteMaker is infused with non-gen AI — but does not have a modicum of GEN AI. The question is: is NoteMaker less for not having GEN AI? The Team is going to argue the case for not much less, not to the point to look upon NoteMaker as in any way inferior due to its absence of GEN AI.
Conversely, imagine NoteMaker has GEN AI, how much better off would it be? "Semantic searches" would be a more intelligent way to find data than the current search mechanism in NoteMaker. But if you know exactly what you're looking for, NoteMaker's current mechanism is more than adequate. If GEN AI is embodied in fields, yes, there is marginal improvement in terms of language learning, especially for the Note field and more so for "practice essays" (for students), but most other fields require only brief entries.
There is the mind-trap: fallacy of exclusivity. An anecdote: a person will only buy a product if it has a presence on the internet; this person will not buy the product if it only has a brick-and-mortar availibility. The product is the same but its worth is fallaciously determined by the self-imposed universal standard of where it's available.
Conclusion. Not having GEN AI, NoteMaker is only slightly less, but not in any essential way. NoteMaker is undoubtedly useful for writing and managing notes.
# Programming comprises three components: an electronic object, a sensor and code. Much of programming isn't about code in isolation from the real world. Within your code, you name a real-world electronic objects, say, in this example, a car's speedometer. Your code then receives feedback from the sensor built into the speedometer and, combined with information from GPS about an area's speed limit, you write the code that goes into action to warn the driver that one's speed is above the area's limit.
# How is GEN AI programmable? The NoteMaker Team has practically no idea, just guesses. Here goes for what it's worth ...
First, every word — and even some phrases — must be tagged with its part of speech. For example, "run" is tagged with "verb", "boat" is tagged with "noun" and "London" is tagged as a "proper noun" (ie, must be capitalised). "Run", "boat" and "London" are data; parts of speech "verb", "noun" and "proper nown" are metadata.
Second, grammatical and syntactical rules must be applied. "The criminal boat around the corner" — this example has failed the rule that a noun, "boat", can not be used as a verb (here, there may be a problem as many nouns are used as verbs; for example, "let's go boating" — perhaps some form of priority tagging may also need to be applied).
Third, (now we come to the generative aspect of AI) create some form of language learning based on collected data. Each word programmatically has a counter attached to it. If the NoteMaker Team uses "NoteMaker" frequently in its writings, than the next word that begins with an "n", GEN AI may suggest "NoteMaker". (It's not the machine doing the learning, it's the code, thus the term, "machine learning", is strictly a misnomer, but has become widely accepted as an idiom).
(Already it may be seen why GEN AI systems at data centres consume a lot of electricity. Imagine the energy needed applying language learning tailored individually to every Facebook user in the world — what, some three billion users?)
Fourth, search and write-up. Tag words with their synomyns, so when one wishes to search on the web for knowledge about, say, "car", then the search must also include its synonyms, such as "automobile" and "sedan". The code then selects and copies passages found on websites from around the world that have a prominence of "car", "autombile" and "sedan" as keywords. Finally, the code puts the passages together and presents it to the searcher as a coherent write-up.
The above "analysis" is pure speculation: it is simplistic and partial. The NoteMaker Team's expertise is with programming in FileMaker, with only a smidgen of knowledge about C++, so the above is only an amateurish attempt at an understanding of how GEN AI may be progrrammable.
NEWS for Wednesday, 9 April 2025
ScriptPlanner 1.0.4.2 and NoteMaker 1.4.2 are now downloadable from this website. Please click the asterisk button at the top of the website (following the statement: "... and both are free and downloadable*") to go to the bottom of the website where the download buttons are. Or simply scroll to the bottom of the website.
The NoteMaker update has two improvements: 1) the new Calendar layout now has a calendar picker to make it easy to calibrate the first day of each new month; 2) an identifying field has been added to the Mark Special popover to make it easy to know the entry's whereof (by default, it will be the contextual statement, but this may be changed).
The ScriptPlanner update entails a minor revision of the User Manual and a little fine-tuning here and there.
It is still the hope of the NoteMaker Team that requests may be made via the Contact Form as it is an opportunity for potential new users to come into a first-time contact with the Team. When a data processor is sent as an email attachment, the accompanying email message will show gratitude and offer contextual tips. Or do both by letting the Team know the download has been a success; a personalised welcoming reply will be sent thanking the new user. Another benefit is that when an upgrade or a major update is released, it will be sent immediately as an email attachment to users.
Please note: the downloaded file will only open with an installed copy of FileMaker on your laptop or desktop and will only be fully functional when the copy of FileMaker is in version 18, 19, 20 or 21.
# The notemakerdatabase website has been refurbished, resulting in a cleaner, more consistent look.
NEWS for Tuesday, 8 April 2025
What is NoteMaker? Like nearly all databases, NoteMaker is a solution to a problem — in NoteMaker's case the problem is: can people who love making notes find a purely database approach to recording notes that is effective in managing hundreds, if not thousands, of bits and pieces of information — we call notes — in the one file without the appearance of disorganised clutter?
In our real-world testing version, called "My Notebook", entered notes number 1,451 (correct as up to 7:05 pm, 8 April 2025) and it is the opinion of the NoteMaker Team there isn't the slightest sense of clutter: it's as if it is the same feel whether there are only 10 notes or a million notes. Thus, it is the opinion of the Team that NoteMaker is a success in providing a solution to organising any given number of notes in the one file.
NoteMaker allows users to group notes into collections. For example, a note may have the heading "James Dean: the Early Voice of Youth"; the suggested collection label may be "Biography". But there's more to that. Users can directly link one note to others. For example, "James Dean: the Early Voice of Youth" may be linked to "Montgomery Clift". The benefit of links, however, is that "James Dean: the Early Voice of Youth" can be linked to notes outside the "Biography" collection label, for example to the note, say, "1950s America".
Users can also create a history of notes, making it easy to find more recent and past notes. For example, if "James Dean: the Early Voice of Youth" is an ongoing work, users can place it on the top of the History list, making it easy to go back to the note and continue to write or edit it.
Notes can be made special in a group of their own. For example, if "James Dean: the Early Voice of Youth" has an emotional or intellectual impact on users, they can mark it as "Special". Once on the Mark Special popover, most of the fields on the home page takes on a faint pink background
All told, viewing and finding notes is no problem — and it hasn't been for the Team and its real-world testing of the "My Notebook" file (from which the Scooby-Doo! screenshot [see above] is taken).
In NoteMaker, notes are extensible. That is to say that formatting which may not fit properly or easily in the Note field can be accommodated by extensions (column of them can be seen top left margin of the home page). The perfect example is the screenshot of the Scooby-Doo! movies (see above). To fit a list of items that can change order into the Note field is almost "mission impossible", for sure labour-intensive; but the ReOrderAble list makes it simple.
NoteMaker isn't better than the many professional note-making applications — free or paid — out there. NoteMaker is developed by a team of hobbyists whose goal is to create a workable note-gathering data processor. In that respect, NoteMaker is "the goods", it has achieved the mission set for it. It is a truism to say that — as with every application — some will take to NoteMaker's look (design), method (workflow) and rationale (philosophy) and others won't.
NoteMaker is entirely built on the FileMaker platform, a testament to the versatility (and power) of the FileMaker platform.
# Issue of terminology: "data processor". Why does the NoteMaker Team use the phrase, "data processor" when "database" would do? One reason is to clearly differentiate it from word processors (word processor vs data processor). On the one hand, you have word processors that produce documents and, on the other hand, you have data processors that give meaning to data. Another reason is that it half-answers the question: what are databases? One answer: databases are applications that process data. "Database" is a noun: it names the thing. "Data processor" is a noun that hints at a verb (what is done to data).
# What is ScriptPlanner? Whereas NoteMaker may appeal to everyone slightly interested in systematically keeping a record of bits and pieces of knowledge (notes), ScriptPlanner is far more specialised. Its appeal is restricted to screenwriters (and possibly novelists). It has a two-stage approach to planning screenplays: preliminary planning and planning "proper". ScriptPlanner also facilitates multilevel planning: from a "rough and ready" scheme down to detailing to the nth degree.
# Experimenting with downloadable files. NoteMaker 1.4.2 and ScriptPlanner 1.0.4.2 may be downloaded (click the asterisk that comes after "and both are free and downloadable*" at the top of the website to go to the download buttons at the bottom of the website. Or simply scroll to the bottom of the website.
NoteMaker 1.4.2 update. A calendar picker has been established on the Calendar layout. Secondly, an identifier field has been added to the Mark Special popover.
ScriptPlanner 1.0.4.2 update sees a minor revision of the User Manual and a couple bug-fixes.
Please note the download buttons are experimental. If any problems, please use the Contact Form.
Even should the download buttons work perfectly, using the Contact Form to order a copy of ScriptPlanner or NoteMaker will remain an option. It has the benefit of making contact with the NoteMaker Team who will reply with gratitude and offer a few tips. But that's totally up to you.
NEWS for Monday, 7 April 2025
Correction to yesterday's report. The impression given in yesterday's news was that versions 19, 20 & 21 offered nothing much for the hobbyist wishing to develop applications of value in-and-of themselves. However, it must be stated that v19 did offer several free add-ons, such as a wonderful and sophisticated calendar. How these add-ons may be implemented by hobbyists into their applications, if it is straightforward with no conditions, is not clear?
# About the NoteMaker's calendar. It is advisable for users not to rely solely on NoteMaker's calendar but to also have as backup a physical calendar (the kind one may buy at one's local newsagency). It almost can be guaranteed that users may not open NoteMaker for a time and miss out on an important date entered in its calendar. Pleass use NoteMaker's calendar and the physical calendar in tandem, one supporting the other — you won't regret doing so.
# NoteMaker already leaving behind its 1.4.1 version-status. On the Calendar layout has been placed a field, which has a calendar picker attached, to assist users to calibrate the first day of a new month. Though technically NoteMaker is now at least a 1.4.2, it won't be released until more improvements are implemented. Apologies to users for not having thought of a calendar picker in the 1.4.1 release. (A calendar picker may not be implemented on ScriptPlanner's calendar layout due to the easy access to the calendar picker attached to the Day & Date field on the Event page).
# LLMs and ScriptPlanner & NoteMaker. Should generative AI (GEN AI) — or lack thereof — be a decider in any assessment of ScriptPlanner and NoteMaker? The two data processors have heaps of intelligence but no embedded GEN AI; in other words, no embedded facility for Large Language Models (LLMs). GEN AI is the rage. And rightly so. It's the next great step forward in the Digital Revolution, a revolution equal in impact to the Industrial Revolution of the 17th, 18th and 19th centuries. The argument the NoteMaker Team wishes to put forward for consideration is this: having embedded GEN AI is fantastic but not having GEN AI in specific cases is not necessarily the "kiss of death", not necessarily a bad thing.
But first let's explore what GEN AI is. According to a brilliant document on the Claris FileMaker website, Writing with LLMs in FileMaker 2024 (updated January 2025 — correct as up to 7 April 2025), GEN AI "is the development of systems that enable machines to mimic human behaviour and perform tasks as if they were human". The document goes on to give five examples:
# analyzing images or text for keywords;
# answer questions based on a specific pool of knowledge;
# translate text into another language;
# identify text in an image;
# and create images based on provided text.
The NoteMaker Team asks current and potential users of ScriptPlanner and NoteMaker: which any of the five examples is imperative for either data processor to perform the tasks it is designed for? It is the answer each user comes to that would decide if ScriptPlanner and NoteMaker are failed applications for lack of embedded GEN AI.
For sure GEN AI-based "semantic searches", implementable in v21, is looking like a fantastic improvement on the current search mechanism found in NoteMaker and ScriptPlanner, but it appears to come with some form of payment. It is the policy of the NoteMaker Team that, since the two data processors are free, costs must be minimal and only incurred on a must-basis.
It would be nice if NoteMaker was to have some form of language learning due to its facility for students to write "practice" essays, but the User Manual encourages students to transfer practice essays to a dedicated word processor, such as MS Word, Apple's Pages or LibreOffice Writer, where language learning is implemented.
The NoteMaker Team feels no inferiority complex for not having embedded GEN AI in its two data processors — as wonderful as GEN AI is. But ultimately what matters is how users feel.
# Is FileMaker a masterpiece? ScriptPlanner (SP) and NoteMaker (NM) are not masterpieces, far from it; they are applications with specific tasks or work to do. However, it could be argued that FileMaker (the parent of NM & SP) is a masterpiece of software engineering. Some call FileMaker a database, but a more accurate description is to call it a database-creation platform. Itself is not a database; it creates databases. The levels of complexity in FileMaker would boggle the mind. Here, we talk about intricate interconnections and interdependences between objects & code and code & code. One may only imagine the copious documentation the FileMaker team has filed away to keep track of the elements that go into making FileMaker.
# Screenshot of an empty ReOrderAble list has been replaced by a ReOrderAble list of Scooby-Doo! direct-to-video movies (see above).
NEWS for Sunday, 6 April 2025
How to use ScriptPlanner? If you are interested in writing screenplays (or know someone you care about who is) and you happen to have an installed copy of FileMaker Pro ( 18, 19, 20 or 21), it may be worth your time to request a (free) copy of ScriptPlanner (via the Contact Form).
The "secret" to approaching ScriptPlanner is to perceive it in gradated levels. ScriptPlanner is both a generalised planning tool and a microplanner. So, using a "wide brush", you may "paint" an overview of your story on the ScriptPlanner "canvas" (perhaps writing the first draft of the synopsis) — you will find there are many facilities for generalised "rough and ready dawdling". But you can also plan your story in great detail. You can, for example, do character delineation practically to the nth degree (check out the Questionnaire layout).
# ScriptPlanner as reference. Feedback from one user is that ScriptPlanner (the particular file named, say, "Green Grapes") is used to detail a story before writing the screenplay named, Green Grapes, in a dedicated screenwriting application, say, in Final Draft. The "Green Grapes" ScriptPlanner file is then used in tandem with writing the screenplay, often as a point of reference. The user, once the screenplay is completed, deletes that particular ScriptPlanner file, "Green Grapes" (not the originating ScriptPlanner file — remember, ScriptPlanner is a file and it is the installed copy of FMPro that makes it a full-functioning application). From then on, the user stays solely with revising the screenplay in Final Draft and if there is further planning needed it is done using only Final Draft's planning tools.
# What's the story with Macs users? Though ScriptPlanner and NoteMaker are solely developed in the Windows environment it is not meant as an affront to Mac devotees. Members of the NoteMaker Team are hobbyists accutely aware of the "cost-benefit analysis". They offer ScriptPlanner and NoteMaker free of charge; but in doing so, costs must be minimal. The great news from a few Mac users is that both our data processors render fine on their machines — a great relief for us and justifying the our ongoing gratitude to FMPro for being cross-platform.
# What's the story with MS Access? Though Microsoft's database-creation platform, Access, is powerful and ubiquitous, the NoteMaker Team gave it a few look-ins but just could not engage with it. A lot of problems regarding distribution may have been resolved if ScriptPlanner and NoteMaker were written in Access; after all, it's everywhere as it comes packaged with MS Office (though this temptation, if acted on, would have left out Mac users). Why the turn-off from Access? It could come down to aesthetics or it not being cross-platform (correct as up to 6 April 2025) or, more likely, due to our love for FMPro. It's the sofware you grow up with that one falls in love with: one half of the NoteMaker Team has been fascinated with FMPro since version 5. It truly is an incredibly well put-together solid piece of software or as one group of authors succinctly described it: "a robust rapid application software development platform" (Scott Love, Steve Lane & Bob Bowers, Special Edition Using Filemaker 8, Que publishing, 2006)
But for hobbyists, perhaps costly. If Claris, owners of FMPro, still make available version 18 at a greatly reduced price (since now FMPro is in version 21 — correct as up to 6 April 2025), perhaps go for it. See how it works for you and the kind of data-processing applications you may build with it. Be warned: FMPro is addictive, even from when you first see for yourself the magic of the simple Go to Layout script step (possibly your first piece of code). Or go for the 45-day free trial for v21, if v18 is no longer offered (the unfortunate feeling is that v18 is no longer offered).
# Confession: the NoteMaker Team has not had a look-in to versions 19, 20 or 21, but as long as all the features of v18 are embedded, which of course they would be, the later versions should be fine. The Team is crossing its fingers that version 22 may include design features, script steps and functions appealing to hobbyists who wish to create innovative data processors of value in-and-of themselves — and who are not necessarily keen on high-level deployment stuff such as cloud technologies, server-side of things and building distributive websites with the help of json code. The Team has been sitting on v18 for many years and the feeling is maybe it's soon time to upgrade to v22 when it comes out. The hope is that something in v22 demonstrates that Claris acknowledges the importance of hobbyists to the future of FMPro. After all, some hobbyists today may become Chief Technology Officers tomorrow (or even CEOs). To repeat: crossing fingers v22 gives some recognition to hobbyists, not just to the professional developers who are in the highly competitive business of building FileMaker solutions for small-to-mid-size businesses, organisations, govt agencies and large corporations.
# "The Good Old Days" — how they're missed. There was a time when some hobbyists waited with baited breath for what new features would come next that would further empower them to creating great applications in-and-of themselves. That phrase, "in-and-of themselves", what exactly is meant by that? It's a phrase that some hobbyists will readily understand and others may not. Therefore, it's hard to define, but it can be illustrated by examples.
The golden age of FileMaker according to some hobbyists (including the NoteMaker Team) is the period between and including version 7 and version 18. Wow, what a time! The revolution began with version 7. To experience version 7 was exhilirating. It came as a lightning bolt from a clear blue sky. Wow. Take for starters: multiple tables in the one file. Before, one table was limited to one file. An application with more than one table would have to have more than one file. Ten tables meant 10 files. A little messy. NoteMaker comprises dozens of tables and they're all in the one file — imagine before version 7 trying to manage dozens of files. There's more. Not only was the constriction of one table per file blown out of the water, the limit rose to 1,000,000 tables per file — sure, the NoteMaker Team would never have need for that many tables, but nonetheless it gave us a psychological sense of empowerment: there's virtually no limit on our imagination. We can't thank version 7 enough. For introducing multiple tables in the one file, version 7 has a warm spot in our hearts. But it gets better ... read on.
Speaking of tables, version 7 gave us the relationship graph that made managing and relating dozens of tables wonderfully simple. The graph gave us a visual overview of our table schema. It may be safe to say we couldn't do without the relationship graph in building NoteMaker and ScriptPlanner.
As can be seen, just these two features started the revolution — a whole new world was before us.
But it doesn't end there. The Custom Function dialog. Wow! Version 7 empowered us with the capability of creating our own functions that were added to the list of functions given to us by FileMaker. Isn't that the very definition of "empowerment"?
Talking of functions, version 7 introduced us to the Let function. With it, we could create local and global variables, but more commonly it is used for creating local variables that simplify what FileMaker calls "calculations" — but what we call "code".
To accompany the revolution, as a witness to it, came the volume, Special Edition Using FileMaker 7 (Steve Lane, Bob Bowers, Scott Love & Chris Moyer, Que publishing, 2004), which to this day remains a classic.
Just as we were recovering from the dizzying heights of version 7, came version 8. How wrong it was to think you couldn't go higher? Version 7 triggered the revolution, version 8 "stormed the barricades". The introduced features were mind-boggling. Below is a list of some of them:
Script Variables — what the Let function is to
"calculations", Script Variable is to "script steps"; a big breakthrough
in programing that did away with the terrible makeshift stratagem of
utilising "invisible" global fields;
Data Viewer — a vital assistant to the Script
Debugger;
Tab Control — create on-the-spot navigation between
tabbed layouts;
Custom Menus — huge empowerment for us to customise
menu bars specific to various layouts; used profusely in ScriptPlanner
(SP)
and NoteMaker (NM);
Tool Tips — instructional tooltips are everywhere in SP
and NM; the humble tooltip is one of the best new features from version
8;
Calendar Picker — used often in NM and SP;
Auto Complete — used sometimes;
Save/Send as PDF — handy when needed, but needed it
is;
Visual Spell Check — a must;
Fast Match — can be useful.
These are not all, not even half: there are more new features (eg, Script Results)
and many enhancements to existing features that came with version 8.
From versions 9 to 17 came more new features and enhancements useful to hobbyists (eg, the Object Pane).
Then came the While function in version 18. For the NoteMaker Team, it was a game-changer.
We hope these examples illustrate what we mean by "in-and-of themselves". (It also means that hobbyists are not in it for the money nor do they wish to spend money except on must-basis).
The somewhat sad question is: what have versions 19, 20 and 21 given pure hobbyists in features and in enhancements that further empower us to build useful, powerful, perhaps innovative applications in-and-of themselves for the local solid state drives of laptops and desktops and not for purposes of cost-attached deployment and connectivity, not for embodying cloud and server technologies? Unless the upcoming version 22 proves us wrong, version 18 may be the end of the road for any further engagement with our beloved FileMaker. Whereas version 7 ushered a revolution, so too has version 19, but a revolution that has left behind in its dust a number of pure hobbyists, a revolution that is now leading the class of professional FileMaker developers to storm the barricades of the world wide web. The hope is that Claris may — just for a moment — look back to see who has been left behind and who are unable to catch up, and take pity. The feeling is that this is unlikely to happen as the new revolution is one that needs to go all the way: no halfway measures, no compromises, no stopping to look back. How wonderful would it be if v22 proves us wrong? There's always hope.
No matter the version, 18, 19, 20 or 21, FileMaker Pro is a magnificent world-class piece of software.
NEWS for Saturday, 5 April 2025
Feedback vital for progress. After the 1.4.1 and 1.0.4.1 updates for NoteMaker (NM) and ScriptPlanner (SP) respectively, the NoteMaker Team is finding it difficult to make further headway.
Users are asked, should they wish to, to respond to three questions ...
1. What do you find to be the best thing about either NoteMaker (NM) or ScriptPlanner (SP)?
2. What do you feel is the worst thing about either NM or SP?
3. What suggestions may you offer to improve either NM or SP?
Some time ago, one user offered an incredible two dozen or so suggestions for improving SP. Almost half of them were taken up by the Team and SP has never looked or worked better ever since. Many of the suggestions were no small matter, but even the littlest counted. One little suggestion was to include "Rationalism" in the dropdown list for the field, Source of Spiritual Sustenance — this was immediately done as "Science and Rationalism", but recently changed to just "Rationalism", as initially suggested (after all, science is rationalism-based). All suggestions big and small are most welcome.
# Quote of the Day. "Because this [FileMaker Pro] is a rapid application development platform, it is possible to build a system in FileMaker Pro in a fraction of the time it takes to build the same system in more classic, compiled software languages [such as C++] or by using enterprise-level systems [eg, Oracle's]" (Scott Love, Steve Lane & Bob Bowers, Special Edition Using FileMaker 8, Que publishing, 2006 — a classic in FileMaker literature). So true! It would have taken a 100 times longer (perhaps a 100 years for two people comprising the NoteMaker Team) to build from scratch NM or SP using C++.
# For people visiting this website who don't happen to own or subscribe to a copy of FileMaker Pro, if you are inspired by what has been done with NoteMaker and ScriptPlanner on the FileMaker platform and wish to create your own applications as a hobbyist, don't hesitate to consider taking the plunge in purchasing (at discount hopefully) FileMaker version 18 (assuming v18 is still supported by Claris). Version 18 is a hobbyist's dream; after that, from v19 onward, Claris becomes serious about taking their wonderful software to the stratosphere where are cloud technologies, server-side considerations, scaling to mobile platforms and utilising website-enhancing json code. If v18 is no longer offered, should hobbyists opt for the latest version (21, aka 2024 — correct as up to 5 April 2025)? It's totally up to the hobbyists: it's a cost-benefit analysis for each of them to undertake. The NoteMaker Team is always considering upgrading to the next version (22) should it have features and enhancements appealing to the hobbyist, little things but important such as colouring of comments in the Specify Calculation dialog so as to lessen the sense of clutter, and the modernising of the Custom Function dialog to bring it into line with the refreshed look of the Specify Calculation dialog (please accept our apologies should these have been implemented sometime in version 19, 20 or 21). But more importantly to offer script steps and functions that empower hobbyists to build incredible applications in-and-of themselves. Take for example, the While function (from v18). The language transformation facility in NoteMaker is built with the While function, as is the spotting capability of the Keyword field ... and so many other features in both NoteMaker and ScriptPlanner take advantage of the While function.
# The dream-wish for perhaps many hobbyists may be for a client-side version of FileMaker Pro (FMPro). Currently, NoteMaker (NM) and ScriptPlanner (SP) are distributed as email attachments -- primitive to be sure but free of cost -- to those interested who have an installed copy of FMPro. A client-side version of FMPro entails Claris offering (for free) an enabling but disabled version of FMPro. In other words, NM and SP can be offered to anyone from around the world (still as an email attachment) who doesn't have a copy of FMPro installed on one's laptop or desktop. All they would need to do is download the client-side version from Claris's website, which will then make NM or SP work — in similar fashion as Acrobat Reader is free and opens documents on any computer, originating from Acrobat Pro or from word processors conveting documents to PDFs. The client-side version itself cannot create FMPro applications, it just enables already-created applications. Wow, what a distribution breakthrough it would be for FileMaker hobbyists wishing to offer free-of-charge their applications to those who can't afford a copy of FileMaker Pro?
NEWS for Friday, 4 April 2025
Great news for owners of ScriptPlanner and NoteMaker. Emails with attachments to the latest updates to either of the two data processors have been sent out to owners of, or subscribers to, ScriptPlanner (SP) and NoteMaker (NM).
For those who still don't have either data processor, please fill out the Contact Form. Both applications are free and may be useful to owners of FileMaker Pro ( 18, 19, 20 or 21) — or know of family members or friends who may find either SP or NM useful — who are interested in planning screenplays or making notes respectively. Furthermore, both data processors have intrinsic value: both showcase what can be done on the FileMaker platform that is far removed from its business orientation. For example, NoteMaker has a facility for language transformation that comprises two columins; the first column could be entered "charles" and the second column may be entered "Charles"; once the Scan button is clicked, wherever "charles" appears in the Note field will be automatically transformed to "Charles". This facility is not an add-on but was built by the NoteMaker Team from the ground up. Another example: in the first column enter "wsj" and in the second column enter "The Wall Street Journal" (italicised); click Scan and wherever "wsj" appears in the Note field will be transformed to "The Wall Street Journal" with italics in place.
So too the visual calendar has been built from the ground up by the NoteMaker Team. Though Claris, owners of FileMaker Pro, offer a sophisticated Calendar add-on (from version 19 onward), the NoteMaker Team could not take advantage of this wonderful offer as the Team continues to develop its applications in version 18. But for all that, users may find NoteMaker's calendar to be simple yet nifty.
What is hope for by the inclusion of a visual calender is for users, should they designate the calender as their default calendar, may develop the habit of opening NoteMaker every day or every second day, if for nothing else to check their calendar entries, but also hopefully to revise their collection of notes and to consider adding to that collection; in other words, to make using NoteMaker for making notes a near-daily habit.
Truly, you have nothing to lose but an opportunity to gain seeing how these easy-to-use but complex-built data processors work. Years have gone into developing the applications so that they are almost bug-free* and made as useful as can be to serve their respective users.
* "Every application out there has a bug or two. If you doubt this statement, just try to find one that is bug free — you won't" (John Paul Mueller, C++ All-In-One For Dummies, 4th edition 2021).
NEWS for Thursday, 3 April 2025
Re the decluttering "Hide" checkbox: feedback from one tester has found a clutter-free home page welcome. The essential functions are there, but the secondary functions are not, making for a much cleaner look and increasing the centralising focus on the all-important Note field.
# ScriptPlanner's User Manual is a worthy document in its own right. Well researched and highly readable, it touches on general topics that may be of interest to screenwriters (and perhaps to creative writers in general).
Here are some of the generalised section-headings:
ON BEING A SCREENWRITER
HOPE FOR THE OUTSIDER
WRITING HAS ITS OWN REWARD
"OH, THE DREAD OF CORRUPTION"
WRITERSOLO FOR "THE POOR"
INSPIRATION AND PERSPIRATION
But half the section-headings in the User Manual are specific to ScriptPlanner. Below is a sample (please note "Final Draft" here is generic for any screenwriting application).
Section heading: TERMINOLOGY
"Terminology is always important to understanding functionality. It is here there may be a problem with ScriptPlanner's use of the term 'event' for what is normally called 'scene' or, in other cases, 'episode'. The reason for this is that an event in ScriptPlanner can be transcribed in one or more scenes in Final Draft; or two or more events in ScriptPlanner may be absorbed by only one scene in Final Draft. There is no necessary one-to-one correlation between ScriptPlanner's events and Final Draft's scenes. Another reason is that in ScriptPlanner, the term 'events' not only roughly correlates to 'scenes' but may also substitute for 'episodes' (as in planning a TV/streaming series). Here, it is strongly recommended that one event equal one episode".
The User Manual in ScriptPlanner 1.0.4.1 can now be printed to paper (about 28 A4 sheets) or published as a PDF file for sharing with other screenwriters who may not have an installed copy of FileMaker Pro ( 18, 19, 20 or 21). The User Manual may make for interesting discussions among screenwriters -- and perhaps even among creative writers in general.
NEWS for Wednesday, 2 April 2025
New to NoteMaker 1.4.1 update is the effort to declutter the home page. Over time there have been complaints about the "clutter" on the home page. The counter-argument the NoteMaker Team has been (stubbonly) making is that the items (so called "clutter") are functions and fields of immediate usefulness by virtue of being visible and only one click from activation.
Finally, however, the NoteMakerTeam has capitulated and has come to understand the user's point-of-view. Please accept apologies for the Team's belated epiphany.
It's now possible to declutter the home page. To the left of the Note-Focus button is a "Hide" checkbox: check it and secondary paraphernalia on the home page are tucked away (out of sight). Uncheck the "Hide" checkbox and the paraphernalia are back in view.
The problem, however, is that the "Hide" checkbox is itself a "victim" of its own purpose. It is difficult to see, except for the thinnest square outline to the left of the "Note-Focus card" button. When hovered, however, it will come into full view.
So, for a mere 0.0.1 update there are three new considerations:
1. a simple but nifty visual calendar (built from the ground up by the NoteMaker Team) that may displace Event Notes for some users;
2. the Return button (to the ReOrderAble list) that will now highlight the originating list item;
3. and finally the decluttering "Hide" checkbox.
NoteMaker is ever-becoming a more useful (more powerful?) tool for making notes.
Don't hesitate to use the Contact Form to order your free copy of NoteMaker 1.4.1. You have nothing to lose but instead gain a useful note-making data processor. If NoteMaker does not live up to your highest expectation, simply delete it (possible due to NoteMaker being a file and only becomes an application when enabled by an installed copy of FileMaker Pro [ 18, 19, 20 or 21, therefore NoteMaker is never installed and thus never needs unistalling).
NEWS for Tuesday, 1 April 2025
Large Language Modelling (LLM) and ScriptPlanner -- what's the story? Below is a new section in the User Manual for the 1.0.4.1 update on the subject of generative AI (GEN AI).
Section heading: "IS SCRIPTPLANNER LESS WITHOUT GEN AI?"
"Is ScriptPlanner less worthy because it isn't infused with
generative AI (GEN AI)? The feeling is that it would be a mistake to
make GEN AI a universal standard for the success or failure of
text-based applications. There is no doubt ScriptPlanner can be useful
without GEN AI. Bear in mind that ScriptPlanner is a planning tool, not
the final product for viewing by the public. In other words, it can be
littered with text-based errors by users yet still work as a 'rough and
ready' doodling application preliminary to writing in Final Draft or
your preferred screenwriting software.
"Not having GEN AI does not mean that ScriptPlanner hasn't intelligence.
On the contrary, ScriptPlanner is infused with non-generative AI. Look
at the Scenario portal where exiting a row may trigger some
modifications. That's the obvious instance of intelligence, but other
instances are everywhere, even in tooltips (look at the tooltip for the
Total Duration field that lists event-titles that have not yet been
timed).
"The feeling is ScriptPlanner should not be judged by an absence of GEN
AI, that those who dismiss the data processor based on this prejudgement
may be depriving themselves of an application that may have been
useful in helping to plan some of their future screenplays".
NEWS for Monday, 31 March 2025
In ScriptPlanner 1.0.4.1, the User Manual has been lightly revised, ridding some half-a-dozen errors, and a paragraph has been added to the "SAVE, THE SAVIOUR" section, further highlighting the need to save your work in case of an electrical blackout, a system crash or an application freeze.
But the inclusion of a visual calendar to help screenwriters chart their storylines will possibly be considered the best of the inclusions in the mere 0.0.0.1 update.
# About NoteMaker 1.4.1.The new declutter mechanism on NoteMaker's home page is being more and more appreciated as each day goes by. The home page looks cleaner, while having the tucked-away buttons and fields only a click away from coming back to view.
The idea of decluttering (without disempowering NoteMaker) may become a future design strategy for the NoteMaker Team.
However, the visual calendar is by far the "talk of the town" in NoteMaker's 1.4.1 update. Word is that this new feature may spell the end of the need for Event Notes. In only the one sense would it be lovely to rid Event Notes from NoteMaker: it would simplify the schema. As tempting as this move looks, it won't be done as it would be "pulling the rug" from under old-time users who have come to love Event Notes and are comfortable in continuing to use them, possibly with the visual calendar as backup or as a one-page "helicopter-view" of events in any given month.
There's also a "selfish" reason. "Normal" Notes and Event Notes are one and the same: they are notes. It took much effort in terms of writing code and using design stratagems to keep Event Notes as a separate entity to "normal" notes. Lots and lots of effort. To see all that come to nought would be demoralising for the Team, even though more can be done with "normal" notes should Event Notes be removed from the schema.
For those who no longer wish to have anything to do with Event Notes, please click Notes on the menu bar and select Omit Event Notes. However, Event Notes will reappear when the Show All button is clicked. For a more drastic solution, go again to the menu bar, click the Notes menu again and select Show Event Notes Only, then click on the Notes menu yet again and select Delete All Notes.
The above paragraphs show possibly the impact the new visual calendar may have on current and new users. However, it is a "good" disruption, possibly a minor paradigm shift, that will lead users, based on their decisions, to a better environment to make notes in.
# 2025 looks promising for NoteMaker and ScriptPlanner — both are free and only need an installed copy of FileMaker Pro ( 18, 19, 20 or 21) to "come alive" with full functionality. Don't hesitate in filling out the Contact Form for your copy of either data processor. If either fails to live up to the highest expectation, simply delete the respective file. Possible gain with nothing to lose.
NEWS for Sunday, 30 March 2025
ScriptPlanner is now 1.0.4.1. It has a visual story-calendar, which makes it easy to keep in tune with the chronology of your screenplay. The User Manual has been updated to include a section on the story-calendar. The story-calendar is simple to use. Many screenwriters will love it for making it visually instant to see the timelining of their stories on a per month basis. For some, it may even displace the Date popover.
On a minor note, the Story Fact portal now has two lines per entry, instead of one. More information can now stay in view.
ScriptPlanner's User Manual may now print to 26 A4 sheets, due to the additional paragraphs on the story-calendar.
# The NoteMaker 1.4.1 update has, among other things already written about, a declutter mechanism for the home page, which, with one click, will remove from view the crossword-like setup of buttons and fields below the Note-Focus button and elsewhere. When needed, it's just as easy to bring the setup back into view.
Also, its User Manual has been revised to include the new feature & some of the enhancements and to improve the quality of the writing in general.
# If you have an installed copy of FileMaker Pro 18, 19, 20 or 21, you're good to go. FMPro will ensure that both NoteMaker and ScriptPlanner from mere files on your desktop-screen will become fully-fledged applications. Even if you're not into making notes or are not a screenwriter, try them out: you'll be surprised at what can be done with your copy of FileMaker Pro other than be a platfrom for creating business-oriented databases.
# Though easy to use at gradated levels, NoteMaker and ScriptPlanner are complex-built data processors. Underneath their functionality are thousands upon thousands of lines of code ("script steps" and "calculations" to use FMPro's parlance), so much so, that, though there is a problem with two of the Return buttons in NoteMaker, the Team is reluctant to try to fix the problem due to the overwhelming interconnections and interdependencies of the code underlying them: fixing one piece of code here could cause an unforeseen problem elsewhere. So, for the moment, it's best left alone and instead a workaround has been established. It was that or ditch the two Return buttons (but even ridding them could entail unforeseen consequences). But the NoteMaker Team has learnt its lesson and when the new Return button to the ReOrderAble list was created in 1.4.0 (and enhanced in 1.4.1), the code underlying it is much simpler and straightforwad: easier to fix should a problem arise. As poet-philosopher Henry David Thoreau (1817-1862) once said: "... simplify, simplify".
Posted 4 February 2025. Release of ScriptPlanner 1.0.3
ScriptPlanner is a sophisticated database (a data processor as opposed to being a word processor) designed to help screenwriters plan their next big Hollywood hit. With every update, this mature product is becoming refined. For a 0.0.1 update (from the previous 1.0.2), 1.0.3 has six improvements and dozens of design touch-ups — all together making for an amazing update. Here are the six improvements:
# a facility for describing a character's self-grooming habits (eg, brushing teeth morning and night) has been setup on the Character page;
# an "invisible" New Row button has been added in the Character/Action field on the Scenario popover;
# a viewer in Liberation Serif font (15 points) has been added to the Note (Backstory...) field on the Character page;
# characters designated "prominent non-speaking role" will be italicised in the directory;
# the Date popover on the bottom of the Event page will now be much easier to use;
# the tooltip to the Character Arc popover on the Character page will now display recorded changes in a character's inner world.
If you have an installed copy of FileMaker 18, 19, 20 or 21 on you desktop or laptop and are a hobbyist or professional screenwriter, don't hesitate to request a free copy of ScriptPlanner. (Once you receive a copy of ScriptPlanner, you are encouraged to share copies with as many others as you wish).
Posted 2 February2025. SCRIPTPLANNER any day now is going to 1.0.3
Exciting news is that ScriptPlanner will soon be available in version 1.0.3. Though it appears as a tiny update (from the current 1.0.2), the kind that fixes bugs, this update does not include bug-fixes. Instead, 1.0.3 has some minor improvements and up to three dozen touch-ups here and there. Below are the minor improvements.
# Under “Personal Information” on the Character page, a row has been
added that allows input in respect to the self-grooming habits of the
character.
# An invisible “Add Row” button has been placed in the Character/Action
field on the Scenario popover. It can’t be seen unless hovered. It is
situated to the left in the Character/Action field.
# When characters are given the designation “Prominent non-speaking
role” in the Role Status field, their names will be listed in
italics in the directory.
# The contents of the renamed Backstory field – now the Notes field –
can be viewed in a dedicated popover in Liberation Serif font at 15
points.
# Addressed has been the potential confusion in working on the Date
popover (situated at the bottom of the Event page). Much of the
confusion has now been reduced. The darker green plus (+)
button on the Date popover will only work if the current event has been
dated (by filling-in the “Day and Date” field, top right on the Event
page).
With every update, ScriptPlanner is being finely tuned to better serve hobbyist and professional script writers.
Even though ScriptPlanner is currently in 1.0.2, requsts received from today will receive 1.0.3 when available within the next seven days.
ScriptPlanner is free. Don't miss out on owning a copy.
TIP. ScriptPlanner is a huge database (data processor) with a hundred fields and dozens of features. Do not attempt to fill out all the fields presented on the Character page and Event page. Instead fill in those that are important to the character or event. For example, there are three fields for describing the physical features of a character. You are not obliged to fill in all three fields. Say, the salient feature of a character may be height, so in one of the three fields you may input Tall: 6' 3". You may leave the other two fields blank. Use only fields that are useful in coming to terms with a character or event. Same idea applies to features: don't use them if you don't need them. For example, the Grid layout appears useful, but if you don't wish to set out your ideas in block-form, don't feel you have to make use of the Grid layout. Many, probably most, fields and features in ScriptPlanner are likely never used for any particular project, but the question is you don't know which fields or features will be needed before hand.
Posted 18 December 2024. Revised and reposted 23 December 2024. SCRIPTPLANNER has reached the magic 1.0.0
Two fixes have enabled ScriptPlanner to finally reach the milestone 1.0.0. No longer will the first event be registered as a "2"; instead the expected "1" will show in the Order field. The second fix is related to when no event or character has been created and an attempt is made by the user to use certain buttons or have mechanisms in certain popovers activated. Unless an event or character record exists, certain buttons and mechanisms won't work. Instead of leaving the user puzzled, a dialog will now appear that informs the user that the first record has to be created for certain buttons to work. For mechanisms internal to certain popovers, a tooltip attached to those popover-buttons now informs users of impending mechanism failure unless the first record is created. In other words, certain buttons and mechanisms will not work when no record (ie, no event or character) has been created.
ScriptPlanner is free.
Re-posted 10 December 2024. NoteMaker has been updated from 1.3.5 to 1.4.0 bringing two exciting improvements to the ReOrderAble List.
First, listed items don't have to be placed in an explicit order or rank. You may wish to make a list of your favourite films, for example, but not place film titles in any order of merit, but just simply list them. A checkbox, "Disable Order", has been added that when checked will rid the ordinal numbers, thus allowing for a listing of things without explicit ranking.
Second, and perhaps more exciting, is the inclusion of a search button for each item on the list. As it currently stands with 1.3.5 or less, you place a comment for each listed item. You may only put a very brief comment in the viewable area of the Comment field. For greater detail, click the new Search button. If a note has already been created, the Search button simply takes you to the note where you can read and edit the content you have written. If a note hasn't been created, you have the choice to create one. For example, say you have a list of Scooby-Doo direct-to-video films. Say, one item reads "Big Top Scooby-Doo! (2012)". In the adjoining Comment field you may write: "Has wonderful circus setting with plenty of fun and mystery". The new Search button is situated next to the Comment field and when clicked will attempt to find a note with a contextual statement (heading) that matches the film's title. If such a note exists, the Search button will take you to the note. If it doesn't exist, a dialog appears giving you the choice to create a note. If this choice is activated, a note is created with the film's title as the new note's contextual statement (heading). Here, you can write a fuller review of "Big Top Scooby-Doo! (2012)".
In a wonderful way, lists can now potentially become directories. This is another way in which NoteMaker allows you to further organise your data. When the Search button is clicked, a Return button becomes visible down the left margin of the home page which, when clicked, will take you back to the list. Owners of a copy of NoteMaker prior to version 1.4.0 are urged not to miss out on these huge improvements to the ReOrderAble List.
(Search criteria with an exclamation mark, !, will not work. In the example above the exclamation mark will need to be removed from "Big Top Scooby-Doo! (2012)" resulting in "Big Top Scooby-Doo (2012)". Accuracy of title is sacrificed for workable searches).
In conclusion, update 1.4.0 has resulted in making the ReOrderAble List more functional. If you're on 1.3.5 or less, it may be worthwhile to request the latest copy of NoteMaker. To do so, please use the Contact Form.
(NOTE. NoteMaker is not infused with artificial intelligence as understood today. NoteMaker and ScriptPlanner have a modest amount of intelligence but not the kind as enabled by the latest Intel Core Ultra and Snapdragon processors with their high-performance low-power CPUs, GPUs and NPUs, nor the AI as touted by xAI, OpenAI and others that train software to language usage based on available user-data. However, to think NoteMaker and ScriptPlanner are not useful because they don't embody language-training AI is to perhaps underestimate how these two application can work for you).
Posted 5 November 2024. NoteMaker has been updated to 1.3.5
An improvement has been added to NoteMaker. Clicking on the little button (when it turns pink to indicate excess spacing has been detected) — which is situated next to the Scan button — and when clicked will now exhibit on the Custom Dialog an additional button to "Rid" and "Keep". The new button is "Show", which when clicked will yellow-highlight double-spacing. This improvement will make it much easier in finding instances of double-spacing. (Please note: only double-spacing will be highlighted, not irregular single spacing).
Posted 17 August 2024. Final Draft Update 13.2.0 Is Available. New Autocorrect Feature Way to Go
Many have found screenwriting software Final Draft 13's initial three new features disappointing. It seemed the three, Typewriter Mode, Emojis & Symbols and Stats & Set Goals, though useful, may not necessarily elicit wows from screenwriters. But along comes update 13.2.0 with a new feature simply called Autocorrect. With this feature, Final Draft has redeemed itself. Autocorrect is a wow feature because it helps directly with the writing itself. It corrects hundreds of common spelling errors as you write. For example, "theif" becomes "thief" after pressing the spacebar. It gets better. You can add to the list. Say you wish to make all-caps character names wherever they appear in your screenplay, you may do so with Autocorrect. For example, "clarence" becomes "CLARENCE" after the spacebar is pressed. To access this feature go to the Tools menu, then click Options and finally click on the Autocorrect tab. You are presented with two columns, "Replace" and "With". Once the + button is clicked, type "clarence" in the Replace column and under "With" type "CLARENCE". Click OK. Done. Go further: "im" = "I'm" and "ive" = "I've". But take care: "ill" = "I'll" will become a problem when you write "ill" to mean "sick", so instead use "il" = "I'll". Along with Typewriter Mode, Autocorrect helps in the actual and physical process of typing — the kind of stuff hobbyist screenwriters would most likely love — whereas professional screenwriters may go more for Set Goals and producers may find Stats highly useful.
When version 13 first came onto the scene, it was met with mixed feelings. But with this most recent update it has introduced a feauture suitable for an upgrade (to version 14). That Final Draft has given us Autocorrect now shows the developers care enough about how users feel to have responded — this move may probably win many detractors back into the fold.
Re-Posted 1 August 2024. Too Many Choices: a Review of C++ from a Beginner's Perspective
The opinion expressed in this essay is based on those whose coding experience has been mostly in FileMaker, but who have ventured to also learn C++. For these individuals, experience so far in C++ is a little more than creating the traditional beginner’s program, “Hello World!”.
There is a certain mystique surrounding C++. It’s fast, it is a high-level language (ie, filled with abstractions) yet its C programming components make it a low-level language (here “low-level” is not a negative term but a term meaning parts of the language actually comes close to touching the hardware). C++ has a long history and is found in whole or in part in operating systems, in Adobe software, MS Office and very much so in games. It is said that programmers who master the C++ language are quietly held in high esteem by other programmers more into “cool” modern languages such a Python, Rust and others, perhaps because C++ is so difficult to master.
C++ is certainly a difficult language for beginners to learn partly because there are choices: its nomenclature (the systematic naming of things and processes) is not uniform. Normally, having choices is good. But not necessarily for those learning a new programming language. For example, there are different ways to define a variable. Variables are considered the heart of every programming language as they are the names given to what is stored in RAM and SSDs. Okay, first way of defining a variable is the traditional form, for example, int x = 6 (in a memory space we’ll call x will be stored the datum 6 of the type int – short for integer, that is, a whole number). As a beginner, you quickly learn that = is not the equal sign that it is in mathematics; it is instead an assignment operator (a storage space called x is assigned the value, 6). Fine, all good so far.
Some older books on C++ stay with = as the assignment operator, yet we are given in a superb book, Beginning C++20: From Novice to Professional by Ivor Horton & Peter Van Weert (an updated edition is called Beginning C++23: From Novice to Professional), that variables may be assigned values using enclosing braces as in int x {6}. Hang on, we just learnt that int x = 6 is the way to go. We are beginners wishing to learn concepts not wanting to be embroiled in semantics.
And then there is the prefix std::. As a beginner, try and work out what that’s about. If you don’t access C++’s Standard Library at the beginning of your coding module you need to use it as a prefix for many names. You need to make it clear that certain terms come from the Standard Library and not from somewhere else to avoid confusion regarding definitions.
For example a program may look like this (yes, this is a full and complete program):
#include <iostream> // what comes after double forward slashes are only comments
using namespace std; // accessing the C++’s defined terms from the Standard Library
int main() // all C++'s executing code begins with "int main()"
{ // what is between the braces are the executable instructions
cout << “Hello World!” << endl; // place on the screen the phrase “Hello World!”
return 0; // job done, all is good, return to the operating system
}
However, if you don’t bring into your program C++’s defined names from the Standard Library by using the header using namespace std then the program must be written as:
#include <iostream> // this will be explained later
int main() // all C++ code begins this way
{
std::cout << “Hello World!” << std::endl; // note the prefix "std::"
return 0; // no problem, return to the operating system
}
What the prefix std:: is saying is that we use the terms cout and endl as defined by the Standard Library and not as they may be defined differently by someone else in the team or by some other source.
For beginners, this is confusing. Why can’t we use the header using namespace std and save us having to add the prefix std:: to many of the defined entities C++ uses? Well it appears there is a good reason if you’re working in a team. Slobodan Dmitrović writes in his excellent book Modern C++ for Absolute Beginners:
“Do not use using namespace std”. He explains: “Many examples on the Web introduce the entire std namespace into the current scope via the using namespace std statement only to be able to type cout instead of std::cout. While this might save us from typing five additional characters, it is wrong for many reasons. We do not want to introduce the entire std namespace into the current scope because we want to avoid name clashes and ambiguity”. Can’t argue with that, can we? If only we could fully understand what Slobodan is trying to tell us?
For learners, all these issues of nomenclature can be confusing. Say, you don’t use using namespace std as a header. For example, when naming a variable as int x = 12 or int x {12} (“int” is short for integer). Okay, the same should apply when storing text; for example, string plane = Boeing 787 or string plane {Boeing 787} (naming a memory space as plane that will store a string – text – with the value Boeing 787). No, unlike int, string needs to be prefixed with std:: as in std::string plane = Boeing 787 or std::string plane {Boeing 787}. So, int is okay as is, but string isn’t – it needs the std:: prefix otherwise the compiler (which translates your almost human-readable programming language into the language the CPU understands: ie, ones and zeroes) becomes confused. Confused?
Now let’s have a look at the first line of code: #include <iostream>. It’s a header-directive to copy a file from the Standard Library called, iostream – that has over 50,000 lines of code – into your program so as to access definitions of entities such as cout (and, by the bye, cin, which does the opposite of cout) used in your code so you don’t have to “reinvent the wheel”. In our example, cout, has been defined for us, which roughly means “output to the console (screen)” and so too endl, which means "end of line, start a new line". Therefore the Standard Library file, called iostream, saves us the trouble of having to write the code ourselves — it’s already done for us. A fantastic time saver! Thank you, Standard Library.
But again confusion comes into play. Beginning C++20: From Novice to Professional has import <iostream> which in effect does the same as #include <iostream>, that is both import and #include are ways of copying the “iostream” file from the Standard Library into your program.
Which is it to be? Some books use #include, others use import” – yet others more recently go for module. Whoa, why can’t we have just the one name for the one entity? It is this lack of uniformity in the nomenclature that may create a maze for beginners in their attempt to learn C++. First and foremost, beginners should be presented with consistency in nomenclature – shouldn't they?
Where to from here for us beginners?
One way of going forward is to go with the latest standard, C++23, ratified in 2023. Its nomenclature has module instead of #include. It has mostly std::print instead of std::cout. Admittedly, std::print, as a mechanism, may actually be a little better than std::cout. But a new kind of problem arises to do with compilers. Some or many compilers (as up to 1 August 2024) are not yet fully into C++23. For example, Visual Studio 2022 has trouble accepting module <iostream>.
That doesn’t mean books and YouTube videos that espouse “outdated” terms and ways have no use in learning C++. Far from it. For example, C++ All-In-One for Dummies by John Paul Mueller, provides interesting takes on concepts and coding practices, not only restricted to C++, but in general. Take this for example: “Every application out there has a bug or two”, John writes. “If you doubt this statement, just try to find one that is bug free – you won’t” (which, by the bye, is true for NoteMaker and ScriptPlanner).
No matter how old a book or YouTube tutorial may be, they all have their value. So, while you are attempting to adapt to — and your compiler is attempting to adopt — the C++23 standard, perhaps it will be a mistake to discard books written prior to 2023 or to discount the value of YouTube videos that espouse #include and using namespace std. What is most important are the concepts and how they’re explained. Some older books and YouTube videos do a better job at communicating understanding than some newer books and videos.
This is really the takeaway. We who are embarking on learning C++ have to become forward and backward translators. We have to know int x = 6 translates to int x {6} and int x {6} translates to int x = 6. Learning just the latest C++23 is not enough. Terms from legacy C++ (standardised versions before C++23, such as C++11 and C++17) need to be learnt in order to understand the code that built operating systems and software past and present. We have to become fluent in C++'s language variants.
Many other programmers who are into Python and other modern cool languages, think those embarking on learning a semantically inconsistent langauge such as C++ are perhaps foolish, yet these same other programmers end up having a deep respect for those who do eventually master C++, for C++ is undoubtedly an extremely powerful, highly versatile (for example, ASML, which is the only machine in the world that makes the most advanced computer processors, is programmed in C++) and a complex (perhaps overwhelmingly so) programming language that speaks to any hardware and yet speaks in something close to the English language. "To me", writes Slobodan, "C++ is a wonderful product of the human intellect ... a thing of beauty and elegance ... a language like no other, surprising in its complexity yet wonderfully sleek ... easy to get wrong and challenging to get right" (op cit).
Which brings us to how beautiful FileMaker’s internal programming language is. Why learn C++ to build a sophisticated database when in FileMaker practically every kind of database can be created 100 times quicker? It would take a single person a hundred years to learn and implement C++ and other resources to a level which would make possible the building of an application equal in sophistication to that of NoteMaker or ScriptPlanner.
Though expensive, FileMaker is worth every dollar when looked at in the light of the above paragraph. You feel the power of designing and creating data processors (ie, databases), which are just as useful, but in different ways, to word processors. One could go as far as to say much of our lives are touched by databases — they’re just about everywhere (your shopping docket, electricity bill, bank statement, election tally, wage notice, horse-racing form, weather report and TV programme guide — these and many more result from databases). Exercise (optional, of course): write down each day for a week how a database system has touched your life in one form or another..
What the Standard Library and resources are to C++, ready-made database objects, such as fields, labels, records, relationships, portals and buttons, are to FileMaker. That’s the thing: the objects are there and what we do is attach to them programming modules to create magic. Some have called FileMaker’s scripts and calculations as being components of an “attachable programming language”. FileMaker’s internal programming language is very much an attachable language to readily-available objects.
Though C++ is a far more powerful language than FileMaker’s (C++ can create most of FileMaker, FileMaker's language cannot even begin to create a FileMaker), it’s in trying to learn it that one comes to appreciate what a wonderful thing FileMaker’s internal programming language is and how wonderfully put-together the software as a whole is.
Some of us – just for fun – are not giving up learning C++, no matter the maze ahead; but when it comes to the serious work of building a simple invoice database system, none of us would hesitate to launch our FileMaker. That goes triply for complex databases such as NoteMaker and ScriptPlanner.
Revised again and reposted 6 July 2024 (previously posted 23 November 2023 and 30 June 2024). Review of Lenovo ThinkPad X1 Carbon GEN 11 (vs GEN 6)
(Please note, the model under review is the Lenovo ThinkPad X1 Carbon gen-11 which has Intel's i7-1355U processor, 32 GB RAM, 512 GB SSD and a 1920×1200 non-touch screen).
Both GEN 6 and GEN 11 are beautiful all-black machines that have outstanding military-grade build-quality and are ultra-light (weighing in at 1.12 kg) and — at 14" — ultra-portable. (Please note: as at June 2024, X1 Carbon is now — and has been for a few months — gen 12).
The ports in GEN 6 and GEN 11 are similar: 2 x Thunderbolt 4 ports; an HDMI port; a headphone/microphone jack and 2 x USB type A ports for connecting to a mouse, printer or flash drive. To have six ports from an ultra-thin laptop is quite a remarkable feat.
Under the hood is Intel's i7-1355U processor. It more than does the job for word processing, spreadsheets, databases, web surfing and for many other tasks expected of an office and general-purpose machine. Compared to GEN 6's i5 processor, the i7, in terms of loading software to the screen, can be up to twice as fast. But that is to be expected considering they are five generations apart. (Speed matters and sometimes the wish is to have gone for the i7-1365U engine, which is 7-to-9 per cent faster than i7-1355U, but that's by the bye now). It's wonderful to see how almost instantly i7-1355U (with its embedded cache) opens LibreOffice Writer and Microsoft Expression Web 4. Though opening an 85-page Final Draft (screenplay) file varies between a lengthy 10 and 12 seconds, nonetheless it is better than GEN 6's i5, which varies between 12 and 18 seconds. Complex FileMaker (database) files open in about 4 seconds, while the i5 opens them in roughly 6-to-8 seconds. However, it's more in other respects that i7-1355U (with its embedded GPU) shows how considerably faster it is over GEN 6's i5 in, for example, redrawing YouTube thumbnails and in loading YouTube videos. Overall, GEN 11's i7-1355U is considerably faster than GEN 6's i5, resulting in responses to clicks being snappier.
The aspect ratio 16:9 in GEN 6 has wonderfully changed to 16:10 in GEN 11. Given both are 14" diagonally, the 16:10 makes for an overall larger screen area. Because 16:10 increases the height of the workspace by about a precious centimetre, this aspect ratio may be appreciated by writers. 16:9 YouTube videos show up nice on 16:10 with only a centimetre-wide black strip above and below the video. It's puzzling why approximately two decades ago a sudden switch was made from the 3:2 screen aspect ratio to 16:9 for what appears to be the primary reason of accommodating internet-sourced 16:9 videos that were at the time showing the first signs of rendering reasonably well on computer screens. Welcoming are trends showing laptop manufacturers returning to 3:2 or introducing the in-between 16:10.
The reduction in bezel is aesthetically pleasing. The bottom bezel is almost 50% less than GEN 6's. The top bezel has been reduced by about 20-to-30 per cent. The side bezels are about the same as their counterparts in GEN 6.
Screen clarity and brightness in GEN 11 (400 nits) is significantly improved over GEN 6 (300 nits). The difference is truly noticeable — and appreciated.
The keyboard in GEN 11 initially caused trepidation among the X1 Carbon community fearing rumours of a reduction in key travel from 1.5 mm to 1.35 mm. (Key travel is the distance a key needs to be pressed before a character appears on the screen — the longer the travel the better). Previous ThinkPad X1 Carbon keyboards have been widely considered to be the best in the world on a 14" laptop. The good news is that though key travel has been reportedly reduced on some of the other machines in the ThinkPad range, such is not the case with the X1 Carbon gen-11, which still stands at 1.5 mm (it appears that Lenovo wisely did not desire to interfere with an X1 Carbon keyboard that has reached legendary status among afficionados). One thing for sure though, the GEN 6 keyboard feels better: the edges of its keys are more rounded and it appears perhaps that its keys have greater surface curvature. However, random un-timed testing shows that speed-typing on either generation is roughly equal.
Sound quality from GEN 11's four speakers is superior to GEN 6's two speakers.
Thankfully, the iconic red nib near the middle of the keyboard is still with us. Though it doesn't have the immediate dynamism that the trackpad has, it still does what needs doing (some afficionados actually switch-off the trackpad as sometimes it is accidentally touched, causing the cursor to be misplaced). But more importantly the trackpoint (ie, the red nib) has enormous symbolism and historical value dating back when IBM owned the ThinkPad product line. Without the trackpoint, a ThinkPad is just another laptop and Lenovo risks dissipating the affection afficionados have for their all-black machine with the little red nib at its heart. By the bye, the trackpoint has become a metaphor for quality. (One of the little miracles is how the red nib never gets in the way of typing — on a minor scale, that in itself is an engineering marvel). Perhaps Lenovo may consider changing the nib colour as a marker for each new generation of its X1 Carbon series: for example, next year's gen-13 may have a yellow nib and the 2026 gen-14 may have a blue nib and so on. That way, each generation is easily identified.
Generally speaking, Lenovo has to be careful making changes to its premium business and general-purpose machine. Specifically, and at the symbolic level, it would be disastrous should Lenovo ever consider ridding the iconic trackpoint. The uproar from afficionados would be deafening.
The camera still has a physical (and necessary) privacy shutter (which by the bye was first introduced in GEN 6).
IN CONCLUSION. The Lenovo ThinkPad X1 Carbon gen-11 is a beautiful all-black machine. Though the GEN 6 works fine to this day (5 July 2024), very few who have bought and used GEN 11 would ever want to go back to GEN 6's 16:9 screen aspect ratio for writing tasks, productivity work or creating apps (with, eg, FileMaker). Nor would one necessarily go back to GEN 6 for viewing YouTube videos as they're just fine on 16:10. GEN 11's screen is brighter, sound quality is clearer and all six ports are still there, plus the iconic red trackpoint. Key travel thankfully remains at a comfortable 1.5 mm. The i7 processor in GEN 11 makes everything snappier than GEN 6's i5. If you're still with GEN 6 — and can afford to — the feeling is that you won't regret going to GEN 11, though admittedly GEN 6 is still a remarkable laptop, which is a credit to the build-quality of the X1 Carbon line of products.
POSTSCRIPT. The ThinkPad X1 Carbon for a few months now (up to and as at July 2024) is in its 12th generation. This latest version shows some notable improvements. However, the trackpad has been made considerably larger and some of the ports have been reallocated. It bears repeating: careful consideration needs to be given before making changes to the X1 Carbon. Changing 16:9 to 16:10 (in gen-11) — wonderful and much needed. Enlarging the trackpad (in gen-12) — questionable.
WISHLIST FOR GEN 13. One, to increase the screen diagonal from 14" to 14.5" (perhaps even to 15"). The 16:10 aspect ratio makes the increase possible while still maintaining closeness to the compactness and portability of the 14"). Two, reduce the size of the trackpad back to that of GEN 11's, thus reducing accidental palm-contact with the trackpad when typing or when using the trackpoint. And three, just for fun and also as a generational marker, change the colour of the trackpoint from red to, say, yellow.
Saturday 15 June 2024. ScriptPlanner Already Moving Towards 0.99.7 Update
Some changes and corrections so far are:
MESSAGE TO BETA-TESTERS. Please read the User Manual with an eye to spotting errors in expression. It isn't expected you would read the User Manual from beginning to end — it's far too long for the likelihood that would happen or for doing so to be necessary — but over time, section by section, please have a willingness to reference the User Manual and to make known any passage that doesn't seem right or make any sense.
Friday 14 June 2024. ScriptPlanner 0.99.6 release
ScriptPlanner beta-version 0.99.6 is now available. The focus of the update has been on the User Manual.
For Beta-Testers to consider: given many screenwriters out of professional pride are averse to overusing language aids, should ScriptPlanner's modest Intelligence Module (IM) not only power the Scenario portal but also power other portals and fields?
4th revision: reposted Thursday 13 June 2024. Superficial Review of Latest Claris FileMaker, Version 21 (aka Claris FileMaker 2024)
FileMaker is remarkable for the way it has been put together. It's an all-in-one. Design tools help create the facade (front-end) of your application, its incredible programming languague provides the logic and at the back-end is a huge storage capacity for data. It's a hobbyist's dream come true: create your data-processing projects in no time relatively to doing the same with, say, C++ in an IDE. What data processor can't be created in FileMaker? The widely held belief is that the FileMaker platform is for creating databases and database systems for businesses and organisations — but have a look at maverick data processors such as NoteMaker and ScriptPlanner to see what else can be done on this remarkable platform.
Since version 19, FileMaker has embarked on a mission to ramp up its presence in the digital world. Claris, owners of FileMaker, have retooled their superb database-creation software to enter a brave new world that is filled with flourishing new technologies, connectivity to this and that hub — and fearsome competitors. The latest version, 21, recently released, brings in, yes, you've guessed it, artificial intelligence. So, on top of taking its main clientale, the professional developers — (mostly self-employed or in businesses of their own) who create systems for enterprises — to a greater presence on the wide world of the internet, Claris is now bringing in some AI. Claris is trying to make its professional developers more competitive in an increasingly competitive world-wide marketplace.
For some small-time hobbyists, however, who create near-self-contained (perhaps innovative) data processors for sharing on local hard or solid state drives, it appears there isn't much to be too excited about v21.
A cursory look at the new features and improvements from v21 shows the emphasis remains with further enabling distribution and connectivity of FileMaker solutions to the cloud, to network servers and to mobile devices and also with creating more functional webpages (note the inclusion of json functions). For those small-time hobbyists left behind on v18, such as those building NoteMaker and ScriptPlanner, the language used since and including v19 has become ever more incomprehensible. Some small-time hobbyists have a wishlist that appears to remain unfulfilled: a makeover for the ancient-looking Custom Function dialog (to bring it in line with the modernised Calculation dialog) and colouring comments in the Calculation dialog to help declutter the coding space. For some small-time hobbyists, these are the kind of nitty-gritty things that may mean more to them than empowering FileMaker into the dgital stratosphere.
Nonetheless, Claris has no choice but to pursue its current course because not only is it facing severe competition from Microsoft's ubiquitous Access and from internet-based database-creation platforms that allow subscribers to create systems by merely clicking and picking, but it is also facing fierce competition from the "big guys" in the industry, such as SAP, who are encroaching ever more on what had been FileMaker's major space: the small-to-medium businesses and organisations. FileMaker is fighting for its survival in an ever crowded global marketplace — and thankfully it seems to be doing well. Those of us left behind on v18 and who love FileMaker only hope that FileMaker — along with its professional developers — continues to succeed in being competitive in delivering solutions to the perennial problem faced by enterprises from around the world — that of managing resources.
CONCLUSION. FileMaker is a superb piece of software with which may be created databases, database systems and data processors (applications). It has it all for doing this. It's a hobbyist's dream come true. But since v19 it has become serious in making itself felt on the digital world stage, resulting in a shift in focus mostly away from providing script steps and calculation functions for developing data processors in and of themselves to script steps and calculation functions enabling greater deployment and connectivity. Some small-time hobbyists who only wish to create non-business-oriented data processors for local delivery to a computer's hard or solid state drive are left behind.
PRE-TESTING* RECOMMENDATION. If you are building free data processors for delivery to local hard and solid state drives, you may wish to stay with v18, which is perhaps the last version before the big leap forward began with v19. If you have greater ambitions in respect to deployment and connectivity, it may be worth considering downloading the 45-day free trial of v21.
(*Please note: this superficial review is not based on having tested v21, but is based on selected YouTube videos and what information has been gathered from visiting the Claris FileMaker website).
(Good news for delivering NoteMaker and ScriptPlanner to owners and subscribers of v21: the file extension remains .fmp12).
Wednesday 5 June 2024. ScriptPlanner 0.99.5 Update Now Available
ScriptPlanner is becoming stronger with every update and this one is no exception. Many thankyous to testers who have provided feedback. Your reports and suggestions are making ScriptPlanner better. Below is a list of changes and corrections that have been made since the previous 0.99.4 release.
To Beta-Testers ...
REVISED THRICE AND REPOSTED Tuesday 4 June 2024. Controversial Short Essay on AI, Screenwriters and Final Draft
Once upon a time in Hollywood a long strike by screenwriters took place. One of the strikers' concerns was that producers may start to have AI bots write scripts, thus reducing opportunities for human screenwriters. Such is the awe before AI.
However, on a micro-scale, another source of concern may be the adoption by screenwriting software of AI, which may offer suggestions for rewrites of individual action paragraphs and dialogue. Some screenwriters may say "thank you". But there are a few others who may say "no thanks". AI embodied in screenwriting software is trickier than "AI? Oh, wow, yeah, please come on board and help me write better". The problem is screenwriters are creative writers. You're the creator of your story, this is your world, you're the master of language no matter at what level may that mastery be at any one time in your development.
By all means, let AI capitalise the first word of sentences in action paragraphs and dialogue. Let AI capitalise character names wherever they may appear in your screenplay. And let AI point to possible misuse in word usage or errors in grammar. Most welcome. But Final Draft has encapsulated some of this AI stuff in the form of its Macro utility. Though buggy for Windows users (correct to 2 June 2024 — the workaround is to click the OK button on the Macro utility at the start of every writing session), nonetheless, the Macro utility allows you to create intelligence. For example, you may "programme" the Macro utility to convert "your the" to "you're the" should that be a common error for you. It's easy to automatically capitalise character names as they appear in action paragraphs using Macros just as it is easy to automatically convert " i " to the personal pronoun " I ".
The point, however, is having an AI module suggesting chunks of rewrites: a state of affairs whereby artificial intelligence may potentially substitute for human creative intelligence. Theoretically, no one writes your created world better than you. Sure, once you hand over your screenplay to producers, it may very well be torn apart with rewrites. Film is a collective art, and a screenplay has to go through a process of going from one human hand to another (producers to directors to actors and then back to producers, directors and actors for possibly more rewrites). However, this is different to allowing AI to in effect rewrite chunks of your screenplay while you're creatively writing the screenplay. Writing screenplays is not about writing better but about writing truer to story.
Do you understand your character's dialogue better than AI? Of course you do. So why compromise your self-confidence by even looking up suggestions for rewrites by AI? Sure, Final Draft's version 13 upgrade was a little on the disappointing side of things but not because it didn't include AI but because after nearly three years of hibernation it came out with some wonderful improvements but no new feature to shout home about (the opportunity was lost, for example, for a fully featured design board for floor-planning sets and mapping-out locations to help screenwriters to more accurately orient characters to environments).
Say even if your writing could be "better", you make it better, do drafts, as many as it takes, involve your trusted human collaborators who share your story conception, to get the dialogue true to character and to get the action paragraphs true to how you envision them happening. It's called fine tuning. Polish, polish and polish until a rock is as smooth and shiny as a diamond. This is the hard yakka part of the creative process when inspiration dies down a little and (too often) laborious revision upon revision takes its place.
In conclusion, never forget you're a creator of emotional worlds and that's a gloriously wonderful thing to be. Make mistakes in the process, struggle with dialogue, descriptive passages, character development and story progression — all screenwriters do — but think twice before handing over any part of creative input to AI. In a strange case of irony if we accept AI in our screenwriting software, are we by chance giving indirect justification for producers to go the whole hog and have AI complete a story from beginning to end? If screenwriters use AI to rewrite an action paragraph or dialogue here and there, by what standard may screenwriters tell producers: "hey, please don't use AI more than we do"? It could be important to show AI can never equate with human creativity. And perhaps in the end the best upgrade feature of Final Draft v13 is that it didn't include an explicit AI oversight module. It comes down to a cliche which too often becomes a truism: "be careful what you wish for". No question generative AI is the future, the question is should it be the future for creative writers? The answer will ultimately be as individual as screenwriters are individuals.
REPOSTED Monday 3 June 2024. The "Scourge" of Spelling Errors
Some 20 words have been found in the User Manual to have been spelt incorrectly. Many apologies for this happening. There is an explanation. The environment wherein the User Manual is being written does not have a spell-check facility (as this environment, Expression Web 4, doesn't either). Normally, the contents of the User Manual are transferred to an environment where there is a spell-checker, but doing this has been neglected. Again, apologies.
To Beta-Testers, please become ScriptPlanner's ongoing spell-checkers. If you spot an error in spelling or grammar, please make it known. If it's in the User Manual, state the section-heading, the paragraph and the word. For example, CHARACTER ARC, par 1, "vulnerablility" should read "vulnerability". Should spelling errors escape detection and correction when ScriptPlanner reaches the milestone 1.00 version-release, please remember this: it may not be an exaggeration to say the credibility of ScriptPlanner could be in jeapordy from just one spelling error. Please be vigilant. True, the User Manual is a long document, and Beta-Testers are not expected to read all of it but perhaps only sections that are of current interest. Still, if an error is found, please make it known. No spelling or grammar error is too small to ignore.
Strange question to ask ... but which is more damaging to a software's reputation or authority: a few minor bugs that experienced users kind of expect — rare as hen's teeth is the bug-free software — or a single spelling error that is unexpected?
PLEASE NOTE. The word, "confliction", is used many times in the User Manual. However, it has been marked as a spelling error (or at least as a word unknown). Why not then use the word, "conflict", instead? A decision has been made to keep "confliction". "Conflict" connotes an external dispute between two or more parties (or persons) over an idea, territory, etc. On the other hand, "confliction" connotes an internal tension or struggle either within a single individual or between parties (or persons) on the same side. Therefore, it is unnecessary to raise this word as a spelling error.
Tuesday 14 May 2024. ScriptPlanner Progress Outstanding
In both functionality and design, ScriptPlanner is becoming more and more the goods. Without a doubt it has the potential to appeal to many screenwriters in need of a comprehensive planning tool.
Reposted Tuesday 14 May 2024. Workaround When Status Toolbars Don't Show on Event Page
When ScriptPlanner 0.99.2 is exited from, say, the User Manual and when later the application is launched, it will show the Event page but not the Status toolbars. This anomaly has been fixed with 0.99.3, but for those currently on 0.99.2 the workaround is to go to the View menu, click on Go to Layout submenu and select User Manual. Once on the User Manual layout, click the Event button. This action will take you back to the Event page with the Status toolbars showing.
Monday 13 May 2024. ScriptPlanner Becoming Ever-More Robust
With every error corrected, with every improvement in design and functionality and with rigorous testing, ScriptPlanner is becoming better and stronger. The latest improvement is in the designing of the instant (letter-by-letter) search fields. All now are on the header of layouts and their Clear (x) buttons are embedded inside the fields. All these search fields have been reduced in width. Consistency in design has been the focus of this round of improvement.
Monday 13 May 2024. Disappearing Cast Fields on the Questionnaire Layout
Inexplicable things do happen that have no apparent cause. Suddenly on the Questionnaire layout a random choice of Cast fields disappear (roughly one in every 10 to 25 rows). The solution was found accidentally. The irony is this: a mysterious bug-like thing happens and a solution is easily found yet why the solution works is just as mysterious as the cause of the problem in the first place. Sometimes shrugging the shoulders is the only response in all of these kinds of anomalies.
A NOTE TO BETA-TESTERS: any anomalies that interfere with the smooth operation of the application, please report as soon as possible using the Contact Form.
Friday 10 May 2024. Error: New Event's Order Field Duplication in ScriptPlanner Beta 0.99.2
A slight error has been discovered when the New Event button on the top status toolbar is clicked. The Order field of the new event duplicates the highest current ordinal. For example, the latest event has an ordinal of 11, a newly created event will also be given 11 as its ordinal. To remedy this is simple: click into the Order field and then click anywhere on a non-active area of the layout. Please note: this slight error has been corrected in 0.99.3, soon to be released. For those with a copy of 0.99.2, please accept apologies, but continue to test it for other errors, but instead of the recommended three-month testing period, please send feedback within seven days as in seven days the beta-testing version 0.99.3 is scheduled to be released.
Monday 6 May 2024. Four Screenshots of ScriptPlanner Have Been Uploaded
Does ScriptPlanner meet the highest standards in its design? Judge for yourself by looking at the four screenshots, which have been uploaded today.
Sunday 5 May 2024. Exciting Times for ScriptPlanner
As rigorous testing continues there is less and less doubt that ScriptPlanner would be a worthy addition to any screenwriter's planning toolkit. Even the User Manual touches on some important aspects of screenwriting (it's not totally about ScriptPlanner's functionality per se). An incredible opportunity exists for those who have access to FileMaker 18, 19 or 20 and who are hobbyist or professional screenwriters to beta-test ScriptPlanner 0.99.2 — don't hesitate: there's no (possibly messy) installing or uninstalling because ScriptPlanner is a file that your installed copy of FileMaker powers up to the status of an appplication. If ScriptPlanner does not meet your every expectation, simply delete the file — it's as simple as that. You have nothing to lose but the chains of inaction — but gain an increasingly incredible data processor for preparing a story for the screen.
Saterday 4 May 2024. ScriptPlanner Has Gone from 0.99 to 0.99.2
A dozen or so errors have been corrected in the User Manual. Also a few touches here and there to improve ScriptPlanner's look have been done. But they're not the primary reason for the update. The late addition of a task organiser has brought about a "bucket load" of problems due to the lack of rigorous testing that every other compenent has undergone. The 0.99.2 update has fixed most — if not all — major bugs in relation to the Task Manager. In the very first place, there was confliction over whether to include a task organiser or not to a planning application for screenwriters. The question asked was: do screenwriters really have a need for a glorified to-do list (which is what the Task Manager really is)? To this day there is uncertainty as to what the correct answer is to the question.
To potential beta-testers, what do you think? Have you found the Task Manager has any value for you? Please use the Contact Form if you have an opinion one way or the other on this matter.
But that aside, ScriptPlanner is looking more and more able to fulfull its mission statement to help screenwriters preplan their stories. Already at 0.99.2 it may do wonders for you when all else fails. Screenwriters with access to FileMaker 18, 19 or 20 are encouraged to become beta-testers. (The invitation also goes out to FileMaker afficionados to witness a couple of amazing things that have been done in ScriptPlanner by way of FileMaker's internal programming language).
Wednesday 1 May 2024. SCRIPTPLANNER NOW AVAILABLE FOR TESTING!
A wonderful moment is with us: the long-awaited 0.99 beta-testing version of ScriptPlanner has arrived! If you're a professional or hobbyist screenwriter and have access to FileMaker 18, 19 or 20, an opportunity exists for you to try a purely database approach to planning your next story. Please fill out the Contact Form requesting a copy of ScriptPlanner be sent to you as an email attachment.
Wednesday 1 May 2024. NoteMaker 1.3.3 is now available
A major overhaul of tab order has been undertaken. From heron, tabbing will follow a natural order to meet likely user-expectation.
Saturday 13 April 2024. (Revised) Beta Version of SCRIPTPLANNER Nearing Completion
Frenetic work is being done to ready ScriptPlanner for beta testing. A search field for the User Manual has been completed and is currently undergoing testing. Screenwriters enter a search string and with the click of a button all instances of the search string in the User Manual will be highlighted, making it easy for screenwriters to find the desired information. The User Manual itself has been expanded and will continue to expand to provide screenwriters with information about ScriptPlanner's features. There is an air of excitement as wonderful work is being done to make ScriptPlanner both aeathetically pleasing and highly functional.
Saturday 13 April 2024. NoteMaker updated 1.3.2 Is Available
1.3.2 has added to NoteMaker a few refinements.
Friday, 12 April 2024. Revised Saturday 13 April 2024. Premature Announcement re SCRIPTPLANNER release
Thorough testing prior to official release of ScriptPlanner have shown the story-planning dataprocessor is far from ready. Apologies for the premature announcement that ScriptPlanner was "good to go". Work has been and continues to be at a feverish pace to get ScriptPlanner to beta version 0.99, which, good news, could be any day now or at the most within a few weeks. About 100 errors have been detected and corrected. Most inconsistencies in design and funtionality have been "ironed out". Dozens of improvements have been made; for example, the facility for a series and its episodes has been extended and menu sets have been customised to more specifically reflect their environments. And new features added; for example, a facility for subplotting. But there is an issue whose cause is extremely difficult to discover. On nearly a dozen occasions during intense testing of the past six months, a failure to create a new record and portal row have been documented. These are so sporadic and random, they're almost impossible to pin down their cause or causes. Thus, when ScriptPlanner reaches 0.99, it will be offered for beta testing. If you own a copy of FileMaker 18, 19 or 20 and are a produced or unproduced screenwriter, please accept a future invitation to test 0.99. Tune in to this website for more details.
Reposted Saturday 6 January 2024. NoteMaker 1.3.0 is available
The focus for the update was to revise the About NoteMaker manual several more times. Please note: the revisions apply only to the text. Some of the illustrations remain outdated, but text has been interpolated to indicate this.
Wednesday 20 December 2023. An important fix in NoteMaker 1.2.8
The "Allow commentary" checkbox at the bottom of the home page now works properly. When unchecked all commentary will be hidden. A mistake in the manual regarding the "Allow commentary" checkbox has been corrected. The manual generally has undergone a thorough revision in order to improve readability. Other than these, the NoteMaker 1.2.8 update entails also some minor design changes.
Wednesday 20 December 2023. SCRIPTPLANNER IS HERE!
Wonderful news for screenwriters — who happen to have access to FileMaker 18, 19 or 20 — a microplanner for screenplays is now avalible and it's free.
Sunday 17 December 2023. ScriptPlanner delay
The only reason for delaying making ScrptPlanner available to one and all is the idea of letting time pass so that when ScirptPlanner is looked at one more time before being made available it is with fresh eyes, a sort-of last minute opportunity to spot an error or two or make some adjustments.
Reposted: Saturday 16 December 2023. Exploring the concepts of "machine learning" and "generative AI"
(What follows is only a beginning on a meandering journey to try to understand "machine learning" and "generative AI").
There is enormous excitiement over "generative AI" such that words and phrases are thrown around with the expectation they ought to be readily understood by those who should be excited too. Rightly so — sort of. There is wonderment in witnessing a multi-sourced answer being generated in real time in response to a search criterion. Wow. But in the race to be more excited than the person next to oneself, there appears to be a declining need to explain terminlolgy. What is, for example, "machine learning"? Does it mean the obvious that machines (for example computers) learn — on their own, unassisted by humans? Oracle (makers of enterprise-level databae systems) recently spoke about something called "Apex", a thing that creates apps without the involvement of human coders (humans only set-up the schema); therefore, because no human coders are involved during the writing of the application, Apex produces error-free (bug-free) code.
Thus, this thing, Apex, via machine learning, creates error-free apps. Wow, double wow. Really exciting. But ... confusing. Some hobbyists whose only real-world programming experience is in FileMaker (developing NoteMaker and ScriptPlanner) may ask: what's going on? In FileMaker, earthy intelligence comes at two levels: code prepackeaged in objects provided by FileMaker and code layered-on by developers utilising FileMaker's built-in programming language. The question begs: does machine learning mean that computers think for themselves independent of human-written instructions?
Let's go back to first principles. Machines are "dead wood" without human-enabling mechanisms and dynamisms. For example, remove all the code from a computer and the computer cannot function, let alone "learn" anything. So would it be right to say machine-learning is code-based? If so, then Apex is software with human-written instructions to learn to write error-free apps. That makes better sense. So, if Apex comprises human-written code to produce error-free applications then Apex can only do so if its own human-written code is error-free. Is this a correct statement to make or does it show these hobbyists (involved in developing NoteMaker and ScriptPlanner) lack an understanding of what generative AI is? It's hard to know for sure. Again, going back to first principles: electornics comprise "dead" parts wired together, which come "alive" with the flow of electricity and with code that instructs their CPUs to do things. Is this a safe statement to make? Is it safe to say that generative AI is ultimately code-based?
So, digital intelligence comes down to the lowest indivisible form of logic: the IF function. Let's take a scenario. Say a robot is to be programmed to generate its own intelligence in hypothetically defending itself. Using pseudo-code and over-simplification, here we go. IF a recognisable (pre-image of a) human-shaped thing AND this human-shaped thing is holding a pre-image of a gun, then disarm the human-shaped thing. IF the human-shaped thing is holding a pre-image of a knife, then disable the human-shaped thing. IF the human-shaped thing is emitting high-volume sounds AND among the sounds are words delineable as "bastard", "punk" and others from among a thousand-long list (array) of abusive words, but NOT holding a pre-image of a gun OR NOT holding a pre-image of a knife, then walk away. (In FileMaker, such a sequence of IF statements may be itemised in a CASE function). Is this scenario an example of generative AI? If it is, is this an example of machine learning? Going back to first principles: if the human-written instructions were pulled out of the robot's "innards", would machine learning be possible? Would the robot be able to respond to threatening human behaviour? Would it be able to move?
Should humans fear generative AI in, say, robots? Assuming generative AI has a backstory of human-written code, it again comes down to the lowest indivisible logic-element, the IF function. Say a coder revels in schadenfreude and places among the million lines of innocent (harmless) code these lines (in pseudo-code with over-simplification): IF this human-shaped thing emits the sentence "I love ice cream" AND this human-shaped thing is holding a pre-image of a cone-shaped thing, then swipe this cone-shaped thing away from this human-shaped thing. If this scenario holds true, it's not generative AI that should be feared but malicious, negligent or error-prone code. It's like Robby the robot in Forbidden Planet (1956), which despite its incredible built-in generative AI has been programmed not to harm humans. Robby the robot may have a million lines of code enabling its intelligence, but it may only take one IF statement to stop it from being destructive to humans. It's not to say the fear is unfounded that generative AI in some form or another may one day destroy humanity. If there is a gap in the originating code, such that AI security systems are allowed to perceive, say, a world-wide threat from hostile aliens (where there really isn't any) and allow it to respond by unleashing nuclear devastation, thinking it's destroying aliens, well ...
It's not easy to write code to prevent bad things or errors from happening. For example, on a micro-scale, programming in FileMaker to prevent user-errors can be cumbersome. NoteMaker's Scan module attempts to correct some user-errors such as not capitalising the first words of sentences or not placing a full stop at the end of a paragraph. It's easy to programme the Scan module to capitalise the first word in a sentence following another sentence (using the SUBSTITUTE function), but the difficulty lies with the very first word of the note and the very first word of the next paragraph. It took hours to work out the code. (By the bye, Scan can be disabled on a per-note-basis so it doesn't make corrections users don't wish it to).
The air of excitement over generative AI is justified: there is a brave new world up ahead, if not already here. In the excitement, however, ideas and concepts (eg, "machine learning" and "generative AI") are coming at, and passing, us at a fast and furious pace. If we don't catch on ... well, perhaps we may next time when those terms come around — and most certainly they will, again and again. It's time to attempt to demistify some of these concepts.
The journey above is only a humble beginning to come to some kind of understanding, but it is limited as it is from a hobbyist's point-of-view whose only real-world technology experience is developing data processors in FileMaker. Therefore there is extrapolation, lots of it, with the risk of over-generalising or making outright errors. Even from this limited experience, it is known that the first expression of decision-making lies with the IF function either as itself or as subsumed by other Boolean functions such as CASE and CHOOSE. Looking at logic in its most primal form, we would be staring at an IF statement. Not only is this probably the case with FileMaker's internal programming language but also probably true for languages like C++. So, going back to first principles, can we say that generative AI is independent of the IF function? The feeling is that the answer to this question may be the key to demistifying the concept of "machine learning" — and, perhaps, reassure the world that as long as humans have control over the humble IF function (and its many Boolean manifestations and "subsumations"), generative AI may not of its own volition go out of control and harm humans, animals, plants and the planet.
In conclusion, each and every individual, who wishes to, will take one's own path in arriving to some understanding of what "machine learning" and "generative AI" are and what the implications are for oneself and the world.
Sunday 10 December 2023. ScriptPlanner undergoing rigorous testing
In perparation for its release, ScriptPlanner is being "put to its paces". Due to its complexity, the interdependencies of elements, the myriad of code interconnections and human fallibilty, bugs are almost a certainty. Accepting this is not a resignation to fate, but facing "reality". There is only so much testing that can be done in a finite period of time. Ultimately, testing cannot replace real-world usage: it's going to be the screenwriters using ScriptPlanner who will be best placed to find errors (bugs). ScriptPlanner has been in the works for around three years, it's time to let go of it and let it face the real world. It looks like this may happen within a few days.
Saturday 9 December 2023. Modified Sunday 10 December 2023. Development of ScriptPlanner making remarkable progress
ScriptPlanner, a microplanner for screenplays, is now also handy for planning episodes in a series. Also, the divider for Acts has been successfully redesigned. From being bloated and cumbersome is now smooth and sleek. The whole project is progressing so remarkably well that ScriptPlanner could be available as early as next week or the following week. If you have FileMaker 18, 19 or 20 and are inclined to writing screenplays or episodes for TV/streaming series, ScriptPlanner may serve well as a preplanner. The thing about ScriptPlanner is you can detail an aspect of the story to the nth degree which is not what many screenwriters neceassarily would want, but that facility is there if you do want it.
Please note: ScriptPlanner is never intended to take the place of the planning environemts provided by Final Draft, WriterSolo, Arc Studio, Scrite, Story Architect (formerly Kit Scenarist) and other dedicated screenwriting software. The place for ScriptPanner is possibly this: before entering any one of those environments, why not work out some things (where possible) in advance in ScriptPlanner? With humbleness one could say that ScriptPlanner has some advantages in being a data processor rather than a word processor when it comes to planning. Whether these advantages are real, only future users of the application may judge.
Saturday 9 December 2023. Modified 10 December 2023. More thoughts on AI
All software exhibit intelligence. For example, Final Draft takes a pretty good guess as to which character is going to have the next dialogue. NoteMaker has intelligence. In NoteMaker, intelligence is mostly powered by the microcosmic IF function (in all its forms: eg, as itself, as subusmed by the CASE function and even as embodied in the Boolean PATTERNCOUNT function). But this is not machine-learning as such, but user-learning. So laptops such as the Lenovo ThinkPad X1 Carbon with its 13th generation Intel CPU and its integrated GPU are easily sufficient for powering user-learning as underlined, for example, by the sequencing and branching of IF functions in NoteMaker. Exciting rumour has it that the 14th generation of Intel's chipset for desktops and laptops may include a neural processing unit (NPU). It won't replace the CPU nor the GPU, but it will kick in when there is an overload of data for parallel processing. NPU should not be confused with TPU (tensor processing unit) that data centres already use (eg, when we do a search, the result is no longer just a list of websites but also a textbox with an answer or an attempted answer to the search criterion -- the answer bit is the TPU at work). When PCs have an NPU (on top of a CPU and GPU -- by the bye, some Macs already have a form of NPU), AI need not only come from the cloud down to you but it may soon be available locally (via NPU) for developing incredible applications and for installing to the local hard drive (and making fully functional) software with extremely high-levels of AI.
(Please note the above are mere random speculations based on limited experience in technology and on selective research).
Friday 8 December 2023. Regarding NoteMaker's Task Organiser
Task Organiser is a to-do module (not be confused with the Keyword field next to the Note field, which can also be used as a to-do field). It is situated as a popover button at the bottom on the far left of the home page. Please note this: the priority status of the task cannot be changed while it is ticked as done. First un-tick the checkbbox, then change priority status. In the upcoming version 1.2.0, a message will appear directing users to do same.
Thursday 7 December 2023. NoteMaker updated to 1.1.9: will now open with Claris FileMaker 2023
Besides a few decorative additions, the primary focus is to address the issue of NoteMaker not opening with Claris FileMaker 2023 (aka version 20). This was due to a failure to update the module that kicks in on opening NoteMaker for the first time. Rather than risk NoteMaker drastically closing itself down due to versions of FileMaker less than 18 or as it happens due also to it being version 20, NoteMaker will now open regardless of FileMaker's vesion; but if FileMaker is less than version 18 it will do so with reduced (almost unworkable) functionality. If NoteMaker closes down due to your copy of FileMaker being version 20, please fill out the Contact Form requesting the latest version of NoteMaker (which is 1.1.9). For those with Claris FileMaker 2023 trying to open NoteMaker 1.1.8, please accept apologies for the inconvenience caused.
Wednesday 6 December 2023. Speculation on AI
Artificial intelligence (AI) for some hobbyists working in FileMaker begins with the IF function. This is seeing AI at its most microcosmic level. IF is where decision-making begins. "IF this is an orange, therefore it is a fruit; IF this is an onion, therefore it is a vegetable". (By the bye, the CASE function merely encapsulates multiples of IFs). Hypothetically, a help field could be implemented on the home page of NoteMaker and it may work like this. A user enters the words "task manager" and clicks a button. Using pseudo-code to help in the explanation ... the primitive AI goes to the "About Notemaker" layout where resides a manual; there, it searches for the words, "task manager," paragraph by paragraph — IF the phrase "task manager" is spotted in this paragraph, copy the paragraph, otherwise go to the next paragraph, and so on (here, IF may need to work with the "looping" WHILE function) — then the primitive AI returns to the home page and pastes into the help field the paragraph with "task manager" in it (however, IF no paragraph with "task manager" is found, SET FIELD with "Sorry, no information on 'task manager' could be found"). One way or the other, mission accomplished. A primitive AI to be sure, but it may, in a simplistic way, show how the highly sophisticated AI embodied in search engines work on the World Wide Web. The level of sophistication comes down to the microcosmic sequencing and branching of the IF function (often in partnership with the WHILE function). Generally speaking, the more lines of code the higher the level of AI sophistication is possible.
(Please note: the above comments are mere speculations as the only real-world experience is working with FileMaker's internal programming language — with only a learning person's knowledge of C++ but no real-world experience in using it — and extrapolating therefrom).
Tuesday 5 December 2023. ScriptPlanner trimmed
A bloated facility for providing Act dividers has been discarded. A more efficient and much simpler way to mark off scenes into their respective Acts is currently being devised.
Tuesday 5 December 2023. Edited: Thursday, 7 December 2023. Wonderful progress made in testing ScriptPlanner
ScriptPlanner is being tested in the real-world of planning a TV/streaming series. The crucial Moment popover (especially for episodic planning) is surprisingly helpful for plotting out each half-hour episode to meet the 24 minute-or-therabouts limit. The saving graces are the Minute and Second fields beside each moment. Another field totals them to show the writer the ongoing progress in meeting the duration target.
Tuesday 5 December 2023 (revised 1 May 2024)). Artificial intelligence and NoteMaker
NoteMaker has primitive artificial intelligence (AI) in the form of a feedback facility that provides sporadic commentary on user's entries in the Note field. (This facility is situated underneath the Note field). Originally, the code for the feedback facility was 10-or-more times more than what it is currently. The problem is that the more code (the more intelligence) for the feedback facility the greater is the slowdown when exiting the Note field (which is the trigger): up to one second long. No slowdown is worth it. One second is too noticeable for a field-exit time (when it should be instant). Though there was excitement in making the feedback faciltiy more and more intelligent (picking up on things in the Note field that could be commented on), the slowdown forced a deletion of almost all the code, leaving only five modules with something like a hundred lines of code in each. Prior to implementing the feedback feature there was something even better: transformation in real-time, like what Word, Pages, LibreOffice Writer, Scrivener and other word processors do. For example, user-entries in NoteMaker's AutoCorrectionCompletionExpansion facility would be automatically transformed when spotted in the Note field — as you write in real time. Wow, to be able to simulate a word processor in a data processor was extremely exciting. On and on the code was being written until ... the slowdown in type-rendering was too great for all the excitement to ignore. (By "type-rendering" is meant the time it takes when a character key is pressed and how long it takes to show on the screen; in any good word processor, type-rendering is instant). When the lag in type-rendering reached nearly one second, it was time to ditch the whole project. For a long time before the ditching, the hope was that the lag was worth it in order to have the marvel of witnessing real-time transformations. For example, to see that after typing a space character then an "i" followed by another space character — [space character]i[space character] — for the "i" to magically become "I". Wow. FileMaker's wonderful Rapid Development Environmant (or Rapid Aplication Development Environment) and its internal attachable programming language made it possible for hobbyists to emulate what dedicated word-processing software do. But the lag was too great. All the effort to bring about real-time transformations in the Note field had to be thrown away. What is left is what the Scan button now provides: when clicked it will scan the Note field and carry out user-defined and inbuilt transformations or provide feedback, and it does it in quick time.
The point being made is this: though it's possible to implement real-time transformations in FileMaker, it's Rapid Development Environment is not conducive to real-time transformations or too much of indirect feedback as triggered when exiting the Note field. That FileMaker can be made to do so in the first place is the wonder to be applauded. It also shows what powers AI in general: the CPU and GPU engines and the storage for lots and lots of code. Today's computers have that power and that storage capacity resulting in artificial intelligence flourishing. Everywhere. But so far only in primitive forms in NoteMaker: a modicum of AI in the form of the Scan button and the much-downsized feedback facility.
PLEASE NOTE: none of the above is to say that instant word-processing-like transformations in a data processor created in FileMaker is impossible. To this day, now and then, contemplation is given to how to rid the lag factor.
Modified: Monday 4 December 2023. Modified again: Thursday 7 December 2023. A little more about Rapid Development Environments
From a hobbyist point of view, FileMaker Pro (FMPro) is one of the most exciting software to work with. Nearly all kinds of data-processing applications can be created. Though commonly touted as business software, NoteMaker and (soon to be available) ScriptPlanner show what else can be done. FileMaker is a hobbyist's dream-come-true. Its design tools are wow. Its internal programming language is equally a wonder: you truly feel like a programmer as you attach code (bits of magic) to database objects. Together, the design tools and the language make for a powerful Rapid Development Environment (RDE).
Reposted: Monday 4 December 2023, Edited: Tuesday 5 December 2023. ScriptPlanner back in the works
ScriptPlanner, a microplanner for screenplays, is quietly being further developed and tested. Development is centred on also making it useful for planning a TV/streaming series. Things look good. The Moments popover is gaining functionality and sophistication with each day passing. The wonderful thing about the Moments facility is that each moment in an episode can be given a duration in minutes and seconds to roughly meet the 24, 48 and 72 minutes normally required of a half-hour and one-hour episodes and a pilot respectively. Current testing is showing it's great as a preplanner (that is, before going into Final Draft or any other screenwriting software) and then it's also handy alongside the actual writing of the episode in, say, Final Draft. Again, like NoteMaker, ScriptPlanner is testament to how fantastic FileMaker Pro is as a Rapid Development Environment for creating many kinds of data processors.
Reposted: Thursday 30 November 2023. NoteMaker has been updated to 1.1.8 (build 07)
For some time now, NoteMaker has had a tiny humble "AI" facility, which occasionally comments, mostly tangentially, on a user's entry in the Note field (it kicks in when exiting the Note field). If there is feedback it can provide, it will appear underneath the Note field. Looking from behind the scenes, the feedback facility comprises five coding modules. One of these modules has been susceptible to the possibility of providing the occassional confusing feedback. Happy to report this module has been rewritten to provide feedback only in a tangential manner. It is highly recommended for all those who are currently using NoteMaker to fill out the Contact Form and ask for the updated NoteMaker 1.1.8 (build 07). Until such is done, please disable NoteMaker's humble "AI" facility by un-ticking the "Allow commentary" checkbox near the bottom of NoteMaker's home page. By doing so, no further feedback will be provided. Even though 99 per cent of the comments may be helpful, that 1 per cent that may confuse is what matters. Now in NoteMker 1.1.8 (build 07) it's possible to say 100 per cent of the feedback commentary may tangentially or potentially be helpful in some ways for some people.
Reposted: Wednesday 29 November 2023. LibreOffice Writer: surprisingly good
Wow, LibreOffice Writer is the goods. It shows what a programming and design community of enthusiasitic and dedicated volunteers can accomplish. LibreOffice Writer has become, by version 7.6, a worthy challenger to the mighty Word. Writer attempts to emulate Word in feautures but has nonetheless kept its distinct character. Take for example the universal act of selecting text. LibreOffice Writer is one of the most accurate and easiest word processors in which to select a word, phrase, sentence or paragraph; and wonderfully -- if not uniquely — frames the selection — yes, actually frames it. There are other characteristics different from Word that are loving touches to a serious piece of word-processing software. It will open most Word documents quite accurately. Writer is no mere emulator of Word, there is an air of confidence about it as if it's not afraid to be different — better different. (Sure, Writer has not yet fully emulated a couple of amazing options offered when right-clicking on selected text in Word, which goes to show some things Word does better, while some other things Writer does better). Not only Word, but also Pages, Docs, Word Perfect and other top-line word processors have competition from Writer. (By the bye, novelists and non-fiction book writers may prefer something like Scrivener -- and screenwriters may choose something like Final Draft -- over any of the word processors mentioned here). To be sure, Writer isn't as polished as Word, Pages, Docs or WordPerfect. For example, finding a bookmark via the Bookmark dialog causes screen flickering. Though all is good in the end, it can come across as a little disturbing. However, saying Writer needs polishing isn't quite the same as saying it's buggy; it's saying it needs refinement in some areas and that usually happens with evolution. Speaking of the Bookmark dialog, changing column width returns to default next time the dialog is opened while still in the same session. This return-to-default is common with many software, but the wish is for user-modifications to remain more permanent, at least session long. In the month or so of testing LibreOffice Writer, it crashed only once and strangely enough it was in the very first session. It hasn't crashed since. At most it means if you use Writer, save to the hard drive regularly as a matter of habit or set auto-save to a few minutes. In conclusion, though LibreOffice Writer may not be as polished as Word, Pages, Docs and WordPerfect, it is nonetheless a magnificent attempt by the open-source community to match those giants of word processing. (Bear in mind, corporations, generally speaking, have advantages in terms of organisation and efficiencies). If you, as an individual, are having problems with your current corporate-branded word processor, it may be worth your while checking out LibreOffice Writer. It may surprise you too to just how good it is.
APPENDIX 1. To make Writer look more like Word, do this: on the first-time launch of LibreOffice you may be asked what kind of user interface you wish to have ... choose Tabbed. If this opportunity was missed, once in Writer you may click the View menu, select "User Interface ..." and then choose "Tabbed". Or if you already have a Word-like ribbon interface but wish to go to the "Standard Toolbar", go to the far right of the upper most toolbar (the menu toolbar) where there is a solitary menu icon (only identified by three short horizontal lines — it doesn't have a tooltip [this is so as at 27 November 2023]). Click on it and choose "User Interface...". From the dialog, radio "Standard Toolbar".
APPENDIX 2. Please note: the LibreOffice people have prepackaged Writer with Base (database), Calc (spreadsheet), Impress (presentation), Draw (drawing tools) and Math (for enabling calculations). In other words, you may not have one without the others. It's one of those rare moments when not having an option may be a good thing.
Saturday 25 November 2023. The dreaded "Ready to proceed (200)" in Expression Web 4
To overcome the stifling "Ready to Proceed (200)" message, first un-tick "Use Passive FTP" in Expression Web 4's Connection Settings dialog. This may be all that's needed. If not, then try this ... Click "Settings" in Windows 11. Click "Privacy and Security". Click "Windows Security". Click "Firewall and network protocol". Click "Allow an app through the firewall". If Microsoft Expression Web is not listed (it being unlisted is the likely cause of the problem) ... Click "Change settings". Click "Allow another app...". Click "Browse". Navigate to Program Files x86 or Program Files, find the Microsoft Expression Web folder, drill to "ExpressionWeb" (one word). Double-click it. Click Add. Finally tick both PRIVATE and PUBLIC once Microsoft Expression Web is listed on the "Firewall and network protocol" page. Click OK. If this doesn't do the trick, please ring your hosting platform.
Saturday 25 November 2023. Rough guide to filling out Connecction Settings dialog Expression Web 4
If the Connection Settings dialog isn't filled out correctly, transferring your local site to the internet won't happen. To get to Connection Settings dialog: Site menu, Publishing Settings, Publishing tab, Edit. In the Name field, write down what you want to call your connection (for NoteMaker, it's simply "notemaker"). In the Connection type field, you may write "FTP". In the Location field, type FTP://[the web address, in NoteMaker's case it's "FTP://notemakerdatabase.com"] (yours of course will be different). In the Directory field, type "public_html". As for User name and Password, type in that given by your hosting platform (eg, in NoteMaker's case, it's HostPapa). You may leave as is in the Maximum... field or choose a number between 1 and 10. Finally, untick "Use Passive FTP". Unsure? Please ring your hosting platform.
Friday 24 November 2023. Testing NoteMaker 1.1.8 (BUILD 06): solid
Ongoing testing of NoteMaker 1.1.8 (build 06) is giving pleasing results. It appears bugs are hard to find. That's not to say there are no bugs, but in the manner that NoteMaker 1.1.8 (build 06) has been used (tested) in the last few months, no major issue has been encountered. NoteMaker is quite a complex application and using it in every way possible to find errors is almost impossible to do within a limited time. Results to date, however, show NoteMaker 1.1.8 (build 06) is ever becoming a solid piece of software. Is it time to raise the moniker to "NoteMaker 2.0"? The feeling is that NoteMaker has earned the 2.0 moniker. However, to truly justify the jump from 1.1.8 to 2.0, at least one new feature or a group of improvements is needed. Right this moment, it's difficult to think of how to improve NoteMaker ... it does what it's meant to do: make notes and store them. From this day forth, an attempt may be made to see how Notemaker can be improved, especially in little ways, so as to truly reach the landmark 2.0.
Friday 24 November 2023. Superficial review of LibreOffice Base
From a superficial viewing of YouTube videos on LibreOffice Base (a database) it looks great. Like FileMaker, it's relational. What may make FileMaker superior is its internal programming language. In FileMaker — as in Base — a button can be created on a layout with a few clicks. Programming it in FileMaker can be as easy as one or two lines of code or as massive as 500 lines or more. One of the first bits of programming magic many who are new to FileMaker may do is create a Go to Layout button. Clicking this button may take one from the current layout, say, showing a list of products, to another layout, a page, which shows an individual product in detail. To understand FileMaker in a certain way is to see it as having an Attachable Programming Language. A button is an object, a field is an object, a field label is an object — all of these objects and more can have programming modules attached to them. Going back to the Go to Layout button ... this is the one-line code: "Go to Layout [followed by choosing the layout to go to from a drop-down list]". That's it: a human-readable single line of code. From a superficial viewing of a video on LibreOffice Base, the impression is that some 20 lines of esoteric code is needed to achieve same. And therein lies the genius of FileMaker's internal programming language: it can encapsulate 20 lines of code in just one line or, in FileMaker speak, in a single "script step". However, the Scan button in NoteMaker comprises more than 500 lines of code when counting the number of script steps as one line each and when the lines embedded within a script step (in FileMaker speak, "calculations") are counted as lines of code in their own right. The Scan button has to have a massive programming module attached to it in order for it to do the 100 or so tasks required of it (from capitalising the first word in a sentence and counting the number of opening and closing parentheses to see they're equal — and, if not equal, to alert the user — to implementing user-defined modifications: for example, "wsj" to expand to "The Wall Street Journal"). LibreOffice Base is a fantastic effort by an open-source community to provide a highly usable database free to individuals from around the world. But the feeling is that to create NoteMaker in Base would take between twice to up to 10 times longer. In conclusion, FileMaker is a database-creation software with an incredible internal programming language. It's to that language and to the overall Rapid Development Environment (that provides ready-made database objects) to which NoteMaker owes its achieving levels of sophistication in relative quick time. However, FileMaker is expensive for small-time hobbyists and this is where LibreOffice Base offers itself as an attractive alternative.
Monday 3 July 2023. NoteMaker update
The very latest NoteMaker update sees a button placed on the EPC popover; when clicked, it will take the student to the Structured Summary Sampler page, which provides 11 examples of EPC theory in action. Previous to this, the only access to the page was via a button at the bottom of the long manual page. Students who may not have read the manual to the last paragraph — and thus see the button — would not have been able to access the Structured Summary Sampler page in any other way. The latest update will have markedly improved accessibility to the sampler page.
Friday 30 June 2023. Superficial review of Claris FileMaker 2023 (aka v20) (part 2).Redrafted Sunday 12 May 2024)
Please find below a continuation of the superficial review of FileMaker Pro in general and the newest version, Claris FileMaker 2023, in particular (see update for Sunday 25 June 2023). (Please note: at this moment, Claris FileMaker 2023, has not been tested, thus any comment made re the latest version are inferences from watching YouTube videos).
FileMaker Pro (FMPro) is a wonderful rapid development environment (RDE). It is not an integrated devepment environment (IDE). Developers creating data-processing apps in FMPro can do so far, far quicker than they could in an IDE. The reason for this is that FMPro's RDE provides ready-made database objects such as fields, portals, tables and relationship graphs. But there are limitations: an RDE in FMPro cannot create a FileMaker Pro, but a full-blown programming language, such as C++, in an IDE can. Nonetheless, for small-time hobbyists, FMPro's RDE is the magical kingdom, allowing the possibility of creating useful data-processing apps of almost any kind. Up to and including version 18, released a few years back, hobbyists waited with bated breath for each iteration for new script steps and functions that would enhance the RDE and thus aid hobbyists to create wonderful if not innovative apps in and of themselves. However, with the release of version 19 came the winds of change. It was a sudden gust and to some it came as a shock. The language used to introduce and promote v19 was to some hobbyists, at least at the time, almost incomprehensible, resulting in a feeling of alienation. With v19, came speeches pointing to a brave new world. Concepts were about rapidly increasing the presence in the greater marketplace of the world wide web for FileMaker's major clientele: the professional developers who create database systems for businesses and organisations. So urgent (and hurried) was this new emphasis that v19 was plagued with bugs. (Prior to v19, FMPro, despite it being a highly complex and powerful database-creation platform, was renowned for almost being bug-free).
New script steps and functions in v19 and Claris FileMaker 2023 (v20) appear to be more about dynamic connectivity to network servers, about offering cloud-based distribution options and about securing exposure on mobile platforms (smartphones and tablets) — and generally establishing greater web presence — than about helping to create magical functions in and of themselves. Missing are powerful functions, the kind exemplified by While() from v18.
Be that as it may, FMPro remains an incredible environment for creating data-processing applications (witness NoteMaker). It really is a beautiful piece of software. And if you're an ambitious hobbyist, it appears that Claris FileMaker 2023 may provide the tools, once learnt, to connect your data-processing application to the world wide web and potentially engage millions, whereas currently NoteMaker's primitive distribution — as an email attachment — has seen limited deployment. (Please note, Claris FileMaker 2023 has not yet been tested, thus any information mentioned here has been obtained tangentially via those who have and presented their reviews on YouTube).
Sunday 25 June 2023. Superficial review of Claris FileMaker 2023 (aka v20) (part 1). Redrafted Sunday 12 May 2024
What follows is a superficial review of the new Claris FileMaker 2023, without actually testing it. It is based on garnering information from YouTube videos. In the near future, a 45-day trial copy may be looked at and a more in-depth review may be presented here.
When FileMaker Pro 19 (FMPro 19) came on the scene, a distinct change of direction was obvious. The previous version, FMpro 18, unashamedly targeted small to mid-sized businesses and organisations and, by the bye, made its software appealing to hobbyists interested in creating data-processing apps of their own, not necessarily connected to inventory, invoices and the like. However, the next version, FMPro 19, took a sudden turn: it became serious about becoming useful for upper-level businesses and organisations. It had imported json to its native programming language. FMPro 19 was promoted as "low-code" and "open" in order to attract more users and to compete with internet-based database-creation services. In short, Claris, owners of FMPro, wished their superb software to enter the big league and to establish itself in the sphere of the world wide web, even if it meant leaving behind some small-time hobbyists (eg, such as those involved in developing NoteMaker, who to this day remain with FMPro 18). FMPro 19 was a big jump in features but of the kind not immediately useful or accessible to some small-time hobbyists, who may not understand how json works or are not much into the sever-side of things or into cloud-based technologies. So big a change in direction was taken by FMPro 19 that the newest version, Claris FileMaker 2023, is said to have had to resolve many bugs (which is normal to any software undergoing a huge change). For the more ambitious hobbyists among us, who may wish to one day enter the world of web-based database technology or become chief technology officers, Claris FileMaker 2023 appears to offer a great training ground on which to possibly help reach those long-term goals. (Please bear in mind this short review is presented as a superficial overview and is based on third-party information and is not based on actually testing Claris FileMaker 2023).
It can be confirmed that .fmp12 is Claris FileMaker 2023's file extension and thus should be able to open NoteMaker.
Thursday 22 June 2023. When Expression Web 4 won't open ...
A problem suddenly arose when Microsoft Expression Web 4 would not launch. It apparently was resolved by clicking "Run as administrator" (in Windows 11 ... click "Start" menu, click "All apps", click "Microsoft Expression" folder, right-click "Microsoft Expression Web 4", select "More", select "Run as Administrator").