May 20th, 2005 • 7:02 am
Safari 2.0 suffers from new flaws (not there in version 1.x) that probably affect primarily people with slow Internet connections, such as myself. (I had a dream last night that high-speed Internet had finally become available in our neighbourhood. Unfortunately, it was just a dream. That’s how desperate I am.)
In order to experience these flaws in action, you probably need a slow connection, but you might be able to reproduce them with a fast connection too if you try loading a large number of different things at the same time.
The problems manifest themselves when you use tab-based browsing.
One of them happens when you have loaded a page in a tab, and then click on a link and Safari starts the process of loading another page in the same tab. As soon as Safari starts loading the new page, even if it’s still displaying the “old” page in the tab and the old page can still be read by the user, it is no longer possible to scroll through the page or select anything or click on any links on the page. In other words, the page is still visible in the tab and remains visible as long as Safari has not loaded enough of the new page to refresh the contents of the tab and start displaying the new page instead of the old one — but you cannot do anything with that page that’s still visible. So if you happen to be reading that old page and see another link that you’d like to click on to open it in a separate window, well, you can’t. The links can no longer be used, even though they are still visible.
Of course, with a fast connection, you probably won’t notice this problem because the new page will load much faster and Safari will start displaying it almost instantly. But I assure you that on a slow connection, once Safari starts loading a new page, you still have lots of time ahead of you before Safari has loaded enough of the page to start displaying it in the window. In Safari 1.x, you were still able to use the old page that was still visible during that time. In Safari 2.0, you no longer can.
The other problem is probably related, but is even more confusing. I am not entirely sure which exact sequence of actions you need to do to trigger it reliably, but it definitely happens quite a lot when you are on a slow connection. What happens is that, when you have more than one tab open in a single Safari window and you have several different things loading in the tabs, when switching from one tab to the next while things are loading Safari sometimes displays the contents of one tab in another tab! It’s only an “optical illusion” in that Safari doesn’t actually load the wrong page in the wrong tab. But while some pages are loading in certain tabs, in those tabs Safari displays the contents of another tab until Safari has loaded enough of the page to start displaying them.
Again, it seems that Safari “freezes” already loaded content while new content is loading, but then fails to make sure this freeze only extends to the relevant tab, and actually displays the frozen pages in the wrong tabs — or at least makes it look like the pages are in the wrong tabs (because the row of tabs itself is never frozen and Safari always lets you switch from tab to tab).
I realize this probably sounds rather confusing to those who have not experienced it, but those who have will probably recognize the problem. And it’s definitely something new in Tiger.