User Tools

Site Tools


pergamonmystic:linkedhelp:patience

Mystic Help

Online Applications Concept Overview - AKA, Have Patience

Mystic is an online or 'Cloud Based' application, and there are one or two very important concepts that need to be understood - especially if you are only used to using applications which run primarily on your desktop.

For most of the time, other than the fact that the application is running inside an internet browser, users will see very little difference between using a desktop application and a well-designed cloud application.

When there are apparent failures and oddities, it is useful to know why these occur and what can sometimes be done to mitigate them.


Desktop vs. Online

In a desktop application, all activity taking place is within the memory of the computer on which you are working - and computer memory is extremely fast. The biggest impacts on speed which you will encounter in this environment is data access to a hard-disk, which is still largely a mechanical device and therefore is extremely slow by comparison; and, redrawing the screen when a long process is being undertaken. In this latter case the speed delay is not because the display is slow, but because operating systems typically regard screen updates to be the least important of all of the actions being undertaken (i.e. the process of adding 2+2 is regarded as more important than updating the screen to tell you how it is being done). Screen updates therefore take place all at once, when all of the work is done.

In an online application, activity takes place in a mixture of your local Internet Browser (which may be MS Edge, Opera, Chrome, Safari, Brave etc.), and the server on which the application is running. Local activities will remain extremely fast, such as the operation of common on-screen controls like text boxes, buttons, sliders etc. Activities taking place on the server are also extremely fast, as the server is usually an even bigger, faster and more powerful machine than the one that you are working on.

Unfortunately, between your local browser and the server is the Internet.


The Bottle-Neck

Some activities that you ask the application to do will remain local. These activities are parts of the application which are attached to buttons and menu selections which have been pre-downloaded by the application to your browser and which do not need additional data to perform their task.

For many other activities, clicking a button or an item in a list can only perform their job by sending that request back to the server - usually because new data is required, or perhaps because you are requesting to save new data to a database. In either case, the local browser needs to package that request and send it across the internet, wait for the server to perform the task required of it, then send some sort of confirmation or screen update back to the browser so that you can see that the task has been completed.

It is the communications across the internet which introduces a [usually] slight delay in the process - especially as in the modern world we need to use secure communications, each of which needs to be encrypted using a certificate key at a third-location. This means even more communications across the internet than you would expect.

All of the following can slow down the communication between your browser and the server:

  • Browsers 'cache' data and images that have been downloaded from the internet, in an attempt to increase responsiveness of future downloads. Sometimes you browser will seem to stop for a second or two, then burst into life again - this is not an internet delay as such, but your local browser saving the data into a local 'cache'.
  • Other large applications running simultaneously - this can cause issues if the applications are consuming a great deal of memory, and therefore forcing your browser to cache more often.
  • Other tabs open in your browser running certain web-pages - some social-media websites use more and more caching space as you scroll through them. One common social media site will easily use more than half of your computers entire memory for caching. We have measured up to 16Gb consumed by such web-pages.
  • Large numbers of workstations simultaneously using high-content internet on your spur of the local network (e.g. video) - if your local network all runs through a single point, this can cause a bottle-neck.
  • As above, but at the organisation level - many schools, colleges, private companies alleviate this by having very high band-width networks or even fibre.
  • Local to the area, known internet speed or bandwidth issues - some internet providers are unfortunately limited by the hardware that previous telecoms companies have put into the ground.
  • Very high internet usage in the area - this has become an increasing problem as more and more internet-enabled devices are created. Telecoms companies are countering this by improving internet quality around the country, and offering fibre.
  • Very high usage of the application at a particular moment in time - Esferico have introduced load-balanced servers to counter this eventuality.
  • Sometimes, your local workstation may connect to the internet using a 'proxy' which 'caches' data in a similar way to your browser. A proxy is often a local server on your local internet. Unfortunately, sometimes proxies are geared towards static web-pages rather than dynamic cloud applications and find it hard to make a distinction between stored images and dynamic data that needs to be refreshed anew each time requested. This can introduce a finite amount of time to the recovery of data.

While this collection of known communications bottle necks seem extreme, the reality is that the delay is actually very minor - potentially fractions of a second, with some of the above limited to slowing the initial connection and not the overall speed of the communication itself (what in networking is called latency).


Thing to do / not do when using a Cloud Application

In a practical sense, communications speed between the browser and the server actually impact only one thing - user perception.

While computers are very fast at performing certain tasks compared to humans, even extremely small differences in time are often exaggerated by human brains to seem like major delays.

Gradually, users adjust to how internet based applications work but here are some things to consider:

  • No web page or internet based application responds in the same way as a desktop - don't click several buttons or menu items in quick success expecting them all to flash into action.
  • Nearly all web-based applications use a single mouse-click to operate functions (unless otherwise specified). Don't double click buttons and icons: some functions will ignore the second click, but some may regard this as you asking the application to try and perform an action twice, making the action seem even longer than it would normally
  • Some functions have automatic refreshing of lists (e.g. Catalogue and Reader Managers) when you make a change. If you have the option, switch refreshing of large lists into a manual refresh (i.e. request) mode so that they don't repeatedly call the server with largely redundant communications.
  • Some large lists allow you to 'page' the list rather than downloading tens of thousands of records in one go. Select as small a 'paging limit' as possible (e.g. 50 records) to increase refresh speed, and use the [Back] and [Forward] buttons to page through the results.
  • In practice, most users only operate on a single record at a time (e.g. a book or a reader). If you don't need a large listing or the functional area gives you ability to search for and display a single desired record, filter your list rather than downloading the entire list each time.
  • Some functional dialogs are quite major areas and have many actions available. These sometimes take a second or two to fully download and for your browser to calculate how to draw them on your screen. Don't click buttons on the dialog until it has finished drawing, so that the browser can concentrate on building your screen quickly, rather than handling additional functional requests.
  • Some long processes or data downloads display a 'waiting' or 'percentage bar' to tell you that an activity is still underway. Wait for the bar to finish before clicking functions, or if the process gives your ability to do so, click a 'stop' or 'abort' button prior to selecting another function.


Mystic Linked Help Files
Pergamon Wiki Home

pergamonmystic/linkedhelp/patience.txt · Last modified: 2021/09/29 11:14 by admin