Web App Splash Screen:


The configuration for this screen is done as explained in https://www.outsystems.com/help/ServiceStudio/9.0/prefetching-resources/Customizing_the_Load_Screen_when_Prefetching_Resources.htm


The splash screen appears when the application is open first time. If the application is opened again, the splash screen doesn't appear.


The requirement is to fetch the splash screen each time the web app is opened.

The requirement in this case doesn't really match the purpose of the splash screen. The reason for the splash screen is twofold:

  1. Provide JS code to pre-fetch static resources so they are in the browser's cache.
  2. Provide a UI indicator to users that the application is loading, instead of a blank screen.

Once the application has been opened the first time, the static resources are already pre-loaded, so you would not want or need the splash screen again.

Have you tried clearing the browser cache and seeing if the splash screen appears again? If so, the code is performing as it should.

If what you want is an "always on" splash screen, then you should use a different pattern.

G. Andrew Duthie wrote:

The requirement in this case doesn't really match the purpose of the splash screen. The reason for the splash screen is twofold:

  1. Provide JS code to pre-fetch static resources so they are in the browser's cache.
  2. Provide a UI indicator to users that the application is loading, instead of a blank screen.

Once the application has been opened the first time, the static resources are already pre-loaded, so you would not want or need the splash screen again.

Have you tried clearing the browser cache and seeing if the splash screen appears again? If so, the code is performing as it should.

If what you want is an "always on" splash screen, then you should use a different pattern.


Thank you for the reply Andrew.


I understood your explanation about browser' cache.


However, you said that for "always on" splash screen, I would need a different pattern. Can you please explain what do you mean by different pattern a little more?

Solution

By "pattern," I'm just talking about the particular way of putting together the code. The link you initially posted represents a pattern for both prefetching resources and providing a splash screen. It sounds like you're more interested in the latter part, which you could implement as simply as adding a screen that uses a mostly empty layout with a bit of JavaScript that redirects to the main application screen after a timeout.

That's just one idea off the top of my head.

But a larger question is, why do you want a splash screen every time the application loads?

Solution

G. Andrew Duthie wrote:

By "pattern," I'm just talking about the particular way of putting together the code. The link you initially posted represents a pattern for both prefetching resources and providing a splash screen. It sounds like you're more interested in the latter part, which you could implement as simply as adding a screen that uses a mostly empty layout with a bit of JavaScript that redirects to the main application screen after a timeout.

That's just one idea off the top of my head.

But a larger question is, why do you want a splash screen every time the application loads?


Hi Andrew,

Thank you again for the answer.

To answer your question on why, the clients wants to have a customized splash screen when the web application loads just like they have it in the mobile application.


So, if I were in your position, I would explain to the client that the reason many mobile apps have a splash screen is to provide a UI while app resources are loading, so following that same pattern makes sense on the web, but on a machine with more resources, the splash screen may no longer be necessary once that first load occurs.

Just my opinion, but putting an extra screen between users and what they want to do just to be consistent with a mobile app is not optimal. But I also understand that clients want what they want, and sometimes we just have to give it to them. :-)