Safari, deteriorating performance and protected memory

Posted by Pierre Igot in: Macintosh
September 16th, 2003 • 11:21 pm

With the advent of Mac OS X, we were able to say goodbye to a computer environment (the classic Mac OS) whose performance and reliability was systematically deteriorating over time. No matter how careful you were as a classic Mac OS user not to use potentially problem-causing programs such as third-party system utilities and notoriously unreliable applications, you just knew that it was only a matter of time before your system would crash or freeze. So you felt more comfortable shutting down your Mac every night and start up again in the morning with a “fresh”, newly-launched environment.

With Mac OS X, such problems are, fortunately, a thing of the past. You can typically get weeks of continuous uptime, only interrupted by system updates that require a restart. There are, of course, exceptions to the rule, but on the whole, things are much, much better.

This doesn’t mean, however, that the “feeling” of deteriorating performance is completely gone. It still exists, but within the confines of single applications. Web browsers are a typical example. I have yet to find a rock-solid browser that does not end up crashing after a few days (maximum) of regular browsing. Safari is no exception. My Safari crash log is by far the biggest file (nearly 300 KB) in my ~/Library/Logs/CrashReport/ folder. MacLinkPlus Deluxe 13 is a distant second (80 KB). Then come Mail, Microsoft Word, Font Doctor, and the Finder.

This DATA is not necessarily an accurate reflection of each application’s reliability (application freezes with the spinning pizza don’t generate a crash log), but it’s still telling that Safari so far ahead.

Sure, I use Safari a lot. But I use Mail and Word and the Finder just as much. They simply don’t crash as often (although still too often for my taste). This discrepancy confirms my impression as a user, which is that Safari is the only application where I don’t feel comfortable if I don’t quit and restart on a regular basis. (MS Word is “bubbling under”, though, as they would say in Billboard charts, with its highly annoying “Disk Is Full” bug. I’ve just had to learn how to live with it.)

The problem in Safari is compounded by the fact that, when a crash happens, I usually have at least a dozen different web pages open, waiting for me to read them. And sometimes these web pages have been open for days, which means that I don’t even remember opening them. So effectively a Safari crash causes significant “data loss” for me, even though technically speaking no DATA is lost. A crash means that I have to relaunch Safari and painstakingly go through my browser history to try and determine which pages I had opened and reopen them. That’s where a kind of “auto-saving” feature in Safari would be very handy.

As long as an application such as Safari continues to crash on a regular basis, the feeling of deteriorating performance over time will unfortunately not completely go away, even if things are better today than they used to be. Ultimately, what we need is for Apple to come up with a feature in Safari that’s similar to protected memory in Mac OS X as a whole. Safari would use a separate, “protected” memory block for each web page, and a crash caused by one web page would not cause an application-wide crash and would not affect other open web pages.

I have no idea whether this is technically feasible. But it’s definitely something that end users would appreciate.


4 Responses to “Safari, deteriorating performance and protected memory”

  1. Robert says:

    At work, I use Opera (for wintel) and every once in a great while, Opera will crash. But they have implemented a nice feature that when Opera is started up again, it will know that it crashed and ask you if you wanted to start where you were when it crashed, start with your saved open-window profile, or start with a blank page. Selecting the first choice will open up all the tabs to the pages that you were on when the program crashed. This is definitely a life saver and a must-have feature that all browsers should have. I think the implementation would be simple. Keep a list of URLs that the user has open (or perhaps use a local file to cache the HTML and stuff)and when the tab / window / or the program is closed properly, clean up the list. If the program crashes, the list was not cleaned up, and the program can determine what to re-display so that the user continues where they left off!

  2. Pierre Igot says:

    Yes, this is pretty much what I have in mind. I wonder how long it will take before this becomes a standard feature in most browsers. Not too long, I hope!

  3. Jeff says:

    Safari seems so horribly implemented at times. It gets so bogged down… I have come to expect the “click… pause… spinner… pause… oh, finally display!” cycle with EVERY click apart from the first 20 or 30 or so after launch. There seems to be NO separate threading for windows/tabs… you cannot effectively scroll or activate another window while another is loading/spinning. I have a a G4/400 PowerBook with 640MB of RAM, which doesn’t seem too ridiculous. Apple needs to get on the ball.

  4. Steven T. Cummings says:

    I have been searching the web for info on a problem I am having with Safari under 10.2.8.
    Every URL yields a blank page. I have reset, reinstalled,etc , all to no avail. Any ideas? Have you heard of such difficulties?

Leave a Reply

Comments are closed.