Too many loading indicator on a single web page

I was assigned to design a web page, which has a lot of control buttons. Each button requires an activity indicator, to tell the user that the corresponding action is in process. There are some actions that are disabled while one action is in process. So my main question is that, currently there are too many small indicators, will it be a good idea to use a single full page overlay indicator instead?

The fragmentation of the page status introduced by multiple design patterns – best practice for page loading?

In one of the recent updates to Google Chrome, we have seen yet another method of dealing with page loading status with the introduction of the loading animation in the favicon area of the browser tab (by the way, the Firefox browser uses the side to side indeterminate loading state animation made notorious by LinkedIn).

enter image description here

As far as I can tell, this makes at least five or six different ways that you can indicate a loading status on a page, many of which occur simultaneously and makes the current state of the page content rather confusing for users.

So the ones that I have seen include:

  • Browser tab favicon area loading indicator seen in image above (is there a name for this?)
  • Mouse cursor loading indicator
  • Page header loading progress indicator
  • Modal/pop-up page loading progress indicator
  • Call-to-action button progress indicator animation
  • Bottom of the page loading indicator (e.g. when infinite scrolling is implemented)

Assuming that there is a ‘best practice’ when it comes to dealing with page content status, is there a reason why there needs to be so many different ways of indicating to the user that the status of the page is not completed loaded? Doesn’t this provide a very inconsistent user experience and add to the user frustration?

can not install anything and not loading “System” settings

I am using Ubuntu 18.04. I can not load the system settings and when I tried to reinstall nvidia drivers, I get below error:

Preparing to unpack .../libkf5akonadi-data_4%3a18.08.3-7_all.deb ... Unpacking libkf5akonadi-data (4:18.08.3-7) ... dpkg: error processing archive /var/cache/apt/archives/libkf5akonadi-data_4%3a18.08.3-7_all.deb (--unpack):  trying to overwrite '/usr/share/locale/ar/LC_MESSAGES/', which is also in package libkf5akonadicore-bin 4:17.12.3-0ubuntu3 dpkg-deb: error: paste subprocess was killed by signal (Broken pipe) Errors were encountered while processing:  /var/cache/apt/archives/libkf5akonadi-data_4%3a18.08.3-7_all.deb E: Sub-process /usr/bin/dpkg returned an error code (1) 

Kindly help me to resolve above error.


Skeleton Screen or Loading Animation

I’m designing a loading screen for a website application. I’m having two options for this:

  • Skeleton Screen
  • Loading Animation

I haven’t known how to choose one of them yet due to some reasons:

  1. I can’t find any article that argue about using Skeleton Screen.
  2. There’re many things need to consider when designing loading animation: UI Copy, Animation, Brand Identity.

Therefore, I can’t decide which one is better than other yet. Hope to learn something today 😀 Thank you guys!

Very slow OS loading speed

I have a fresh install of Ubuntu 18.04 on my laptop and after i put my login password it always take from 2 to 10 minutes to actually load up to the desktop. I don’t think that’s a normal behavior. How to troubleshoot that and how to fix it? The Laptop had/has FreeDos boot.

Loading indicator on modal dialog

I wonder how is it considered from UI experience, to show users a loading indicator however, in a modal dialog? Is it considered fine practice? e.g. such as this

It has some technical benefits with synchronization because user can’t make multiple requests, but won’t dive here.

Delay loading images

I’m trying to improve page loads by following the steps outlined on this page but it is not working.

Here’s what I did

  1. Created a delayLoadImages.js file
  2. Added link to the js file on my home.html
  3. Inserted home.html path to a web part.

delayLoadImages.js file

//Keep the ribbon at the top of the page $  ('#s4-workspace').on("scroll", function () {     loadItemsInView(); });  function loadItemsInView() {   //Select elements by the row id.   $  ("#row [data-src]").each(function () {       var isVisible = isElementInViewport(this);       if (isVisible) {           if ($  (this).attr("src") == undefined) {               $  (this).attr("src", $  (this).data("src"));           }       }   }); }  function isElementInViewport(el) {   if (!el)     return false;   var rect = el.getBoundingClientRect();   return ( >= 0 && rect.left >= 0 && rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) && rect.right <= (window.innerWidth || document.documentElement.clientWidth)    ); }   

HTML – link within <head>

  <script src="/sites/xxxx/SiteAssets/js/delayLoadImages.js"></script> 

REST API – I’m using REST to pull the data from a list.

chlList = chlList + '<div class="carousel-item active">'  + '<div class="col-12 col-sm-6 col-md-4 col-lg-3"><div class="card mb-2">' + '<img class="card-img-top" src="" data-src="' + chlImageUrl + '" alt="' + chlTitle + '" title="' + chlTitle + '" />' + '<div class="cardNumber">' + cardNumber + '</div>' + '<div class="card-body card-body-chl parentWidth"><div class="cardPosted">' + chlPosted + '</div><div class="card-text block-ellipsis">' + chlTitle + '</div>' + '<button class="btn btn-warning" type="button">' + 'Details</button></div>' + '</div></div></div>'; 

Working code before adding the data-src

chlList = chlList + '<div class="carousel-item active">'  + '<div class="col-12 col-sm-6 col-md-4 col-lg-3"><div class="card mb-2">' + '<img class="card-img-top" src="' + chlImageUrl + '" alt="' + chlTitle + '" title="' + chlTitle + '">' + '<div class="card-body parentWidth"><div class="card-text block-ellipsis">' + chlTitle + '</div>' + '<button class="btn btn-primary" type="button">' + 'View More</button></div>' + '</div></div></div>'; 


  • Delay loading images and JavaScript in SharePoint Online