Safari 4 and the blue progress bar: Ignoring the needs of users in low-bandwidth conditions

Posted by Pierre Igot in: Macintosh
June 12th, 2009 • 11:26 am

Ever since the Internet became an integral part of day-to-day computing, Apple has had a history of consistently ignoring the needs of users stuck in low-bandwidth conditions, for whatever reasons. I have been one such user since 1995, first because I was still stuck with a dial-up connection when many users were able to upgrade to cable or DSL, and now because I still don’t have access to cable or DSL where I live and have to use a satellite-based Internet hookup, which comes with its own limitations (high latency, bandwidth throttle, etc.).

So I have been experiencing the limitations and flaws of Apple technology in low-bandwidth situations for many years now, and I am afraid the latest “improvement” in Safari 4, namely the replacement of the blue progress bar in the address bar with a spinning wheel, is yet another illustration of the fact that Apple does not care about the needs of users in low-bandwidth conditions:

Animated wheel

The only way to explain why this is a big step backwards is to analyze the purposes that a progress indicator fulfills. In my view, a progress indicator has at least two purposes:

  1. It gives the user an idea of how much of the process has been completed and how much remains to be completed.
  2. It indicates to the user that something is taking place, that progress is being made when all other visual indications are that the process is stalled.

The blue progress bar in the previous versions of Safari fulfilled both purposes:

Blue bar

It gave an idea of how much of the page had been loaded because the length of the field for the site’s URL doubled as an indicator of the estimated length of the entire loading process and the length of the blue bar within that field was an indicator of how much of this length had been covered.

And it indicated to the user that something was taking place not just by being there, but by moving along, i.e. by changing its state gradually, in real time, as the page was being loaded.

And that’s a crucial distinction. Because sometimes the blue bar would stay there, but would stop moving. This was not just an indication that the loading process was still in progress, but that it was actually stalled.

In my low-bandwidth working conditions, this happens fairly often. For whatever reason, the connection to the server gets lost, and Safari is unable to continue loading the page. Safari has a built-in mechanism that instructs it to give up on the process altogether after a while, presumably through some kind of “time-out” countdown. In other words, if the server hosting the page fails to respond for more than 1 or 2 minutes or whatever, then Safari interrupts the page loading process and displays an error message instead.

The key thing here was that, with Safari 3, I didn’t have to wait until the end of the time-out delay and the display of the error message. If I saw that the blue progress bar was stuck for an extended period of time, I could simply interrupt the stalled process by clicking on the Reload button and force Safari to try loading the page again.

Now, with the spinning wheel, this level of accuracy in the depiction of the page loading process has been completely lost. All you get is a spinning wheel. All that the spinning wheel denotes is that the page loading process is in progress. But there is no way to tell whether the process is stalled, because the wheel keeps turning anyway. The spinning wheel activity is not the equivalent of the blue progress bar marching forward, i.e. changing. It is only the equivalent of the presence of a blue progress bar. It makes not distinction between whether the process is moving along or stalled.

And that is the most crucial aspect of the blue progress bar that has been obliterated by Apple.

Obviously, in Apple’s world, all Internet connections are fast, pages load very quickly, and the page loading process never stalls. But that is not the real world, especially not for users in low-bandwidth conditions. For such users, stalls happen all the time. And now with the spinning wheel in Safari 4, there is no longer any visual indication of such stalls. The only way that you can tell that the process is stalled is by waiting until Safari times out and displays an error message, which can take several minutes.

It’s a big step backwards in functionality.

Now, there are ways to mitigate the loss. As someone who has had to endure low-bandwidth conditions for many years, I have always relied on a bandwidth monitoring tool. The tool that I use is MenuMeters. It is a free piece of software that can add a variety of visual status indicators to your menu bar, including a network activity indicator:

MenuMeters

This indicator shows me whether there is any transmitting/uploading (red arrow) or receiving/downloading (green arrow) activity, and is updated every second with a value in KBytes per second indicating how much data is being transmitted.

Thanks to this indicator, if the page loading process in Safari 4 stalls, while the wheel keeps turning and gives me no indication that the process is stalled, I can see that the amount of data being received drops down to 0 KB/s.

A value of 0 KB/s does not necessarily mean that the process is completed stalled. Sometimes the value drops for a few seconds and then goes back up, depending on the responsiveness of the server and various other conditions.

But if the value stays at 0 KB/s for a long time, then it’s a pretty strong indication that something is wrong and that the process is stalled.

Of course, MenuMeters is no help if I am loading several different things at the same time. If only one of them is stalled, the other things will continue to generate network activity and I will have no way to tell in the MenuMeters indicator that one particular process is stalled.

That’s when I also use another third-party tool, the Network Monitor provided by Little Snitch.

This network monitor does not just display the overall level of network activity, like MenuMeters does; it also breaks it down per application. So if I have a download taking place in an application other than Safari and Safari is trying to load a page at the same time, I can see in Little Snitch’s Network Monitor whether both processes are still progressing or if only one of them is generating any network activity.

And even when I have several concurrent downloads taking place simultaneously in Safari, I can still use Little Snitch’s Network Monitor to monitor them separately, because the Network Monitor constantly updates its display with the addresses of the sites from which the data is coming. So when I have two downloads in progress in Safari, one from server1.com and the other from server2.com, if I don’t see Little Snitch’s Network Monitor alternating between “server1.com” and “server2.com” in its display on the Safari line, I know that one of the processes is stalled, and I can try to do something about it (i.e. hit Reload).

All this is to say that, thanks to these other third-party tools, I will be able to survive with Safari 4’s “new and improved” visual indicator, which no longer gives me as much information as the blue bar used to do.

But I am still quite disappointed that Apple has chosen to replace the blue bar with this spinning wheel. Because the bottom line is that this spinning wheel only says one thing, and that is that the loading is in progress. That’s it. There is no indication of the rate or speed at which it is progressing, and there is nothing that shows if the process is stalled.

What is paradoxical is that the very assumption that Apple seems to be making here, i.e. that everyone has a fast connection and does not need a detailed progress indicator, ultimately means that, in Apple’s view, we don’t need a progress indicator at all. After all, if connections are so fast and pages load so quickly, where is the need for indicating progress? You might as well get rid of the process indicator altogether, and just assume that all pages load almost instantly and the user does not need to know anything about the downloading activity.

In fact, I wouldn’t be surprised if, following their own logic, Apple’s engineers did decide to remove the progress indicator altogether some time in the future. There are already plenty of other examples in the Mac OS X UI of processes that are far from instantaneous and yet the UI is designed to behave as if they were instantaneous, with no progress indicators of any kind. What you end up with then is a UI that fails to respond instantly to your interactions, and you have no idea why, and you have no idea how long it will take for it to respond, and all you can do is wait until the computer finally lets you regain control.

This is precisely what’s so despicable about computers as modern tools: situations where the computer, and not the user, is in control. Everything in the UI should be designed so that the user never loses control of what is going on. If a process takes time, then the user should be given an indication that is as accurate as possible of how long the process will take, and should be able to continue doing other things in the meantime. This is the only way to maintain the fluidity of the interaction between the user and the machine, and the only way to ensure that the user stays in control.

By replacing the blue progress bar with a spinning wheel in Safari 4, I am afraid Apple’s engineers have once again ignored that fundamental design rule and given us software that pretends to know better than we do what we need from it.

It’s arrogant. It’s insulting to the many users who do not enjoy high-bandwidth working conditions. And it is the ugly side of Apple’s relentless push towards the future.

I would very much like Apple to come down here in my little corner of southwest Nova Scotia and install a direct optical fibre connection to the main data centers in the provincial capital so that I get near-instantaneous access to all my favorite web sites. Until this happens, any other move by Apple that assumes that every one has a high-bandwidth connection to the Internet will be yet another confirmation that they don’t care about users like me.


Comments are closed.