Performance core principles: 6. Startup

  1. STARTUP
    How can you improve the user experience by designing a fast startup into your solution?

Ideally a user wishing to use an App can do so without having to wait for stuff to happen first.

With this experience the user will start their use with a favourable view of your solution.

This applies to any software. So giving them a login screen into which to enter their credentials whilst other startup stuff is happening in the background is a good model to bear in mind. That is how FileMaker's Perform Find has worked since 2012, it renders and initial screen of two of records and is rendering the next batch in the background as you scroll down what you can see. Before that the user had to wait until the entire found set was ready to be rendered.

So the question arises what tools in the FileMaker box enable us to do this so something similar?

What has proved to work well is to have a landing or startup page that does little other than giving the user somewhere to start. This may be delivered via a startup file on their local machine or can be the last screen on the file's run on start script specified in File Options.

This screen should have a context which has very few relationships so that FileMaker doesn't have much to when rendering it.

A nice method is to have a Ui table where a new record is created whenever a user arrives, or logs in, and that record is deleted when they log out.

This raises the question understanding user sessions on a hosted file. Every user session is unique whether a real user or a server side script session.

Every session has to open the file, go through whatever is set to happen on file opening before it either gets to the start page or goes on, automatically, to undertake and operation in the case os a server side script invoked with perform script on server or called from a server schedule.

[Perhaps someone would like to do a description of how global fields and variables behave on session commencement and note the treatment of global field values existing in the file uploaded to the server?]

Cheers, Nick

1 Like