Non-Blocking, Multi-Threaded Page Load
Sometimes, in MAE, a page load takes longer than normal, e.g. because some cache is not updated, indexes are too fragmented, or just because parts of the are built with too poor performance. The result is that the page takes very long to load or it times out. This is a normal situation.
When a page is loaded it seems to happen in two steps: 1) The page structure is loaded. 2) All the panel's contents are loaded. If one of the panels takes a long time to load, it blocks all panels from loading. If one of the panels times out while loading, it blocks all panels from loading, resulting in an almost empty page. No menus, buttons, and link buttons are loaded, making it impossible for the user to navigate to a another page. The user can only reload the page and hope that it loads.
A page panel that takes a long time to load should not block or prevent other parts of the page from loading. If one page panel takes a long time to load, other panels on the page should be able to load unhindered in parallel.
Also, if a panel takes a long time to load, there should be a visual indication that it is loading, such as a spinner. This way, all other page panels will load unhindered, and there will be a spinner showing the user that the last panel is still loading.
Also, the user should be able to navigate to a different page using menus or buttons, while waiting for remaining panels to load. If this happens, pending loads are cancelled, so server resources are freed up.
Also, if a panel that takes a long time to load has orange pinned inputs, the user should be able to change the inputs, resulting in the current load is cancelled and a new request is initiated.
In technical terms, I am talking about multi-threaded page load, non-blocking asynchronous service calls with cancellation tokens.
Priority is high as this is a problem we encounter at various customer again and again.
(I'm sorry, but I don't know how to put this one into the user story template)
Please sign in to leave a comment.
Comments
2 comments