Safari users know about the “spinning beachball”—when using the browser, Mac OS X’s modal wait cursor appears for no reason, sometimes while you’re in the middle of typing or scrolling a page. I had been experiencing the beachball periodically over the last few months and my fix had been to quit and restart the browser—or, when it got especially bad, my PowerBook. Then I installed the public beta of NetNewsWire 2.0 and for the first time noticed the same beachball activity there. That inspired me to seek a fix.
I thought the two might be related, since the new built-in browser in NNW 2.0 uses WebKit, the browser framework classes that also underpin Safari. I wondered whether the same cause was at the root of both SBODs.
I first tried the number one suggestion for the problem from Google, which was disabling auto-fill for forms in Safari (choose Preferences from the Safari menu, click AutoFill, and turn off the third checkbox). This didn’t do anything. I then tried emptying Safari’s cache. Also nothing.
The last thought I had was that there was a problem with the underlying WebKit libraries. The only problem is that there wasn’t a clean way to rebuild them that I was aware of. So I went for a brute force method: I downloaded and re-installed Safari 1.2. After a reboot, I tried to run Safari, and it was fast, no beachball. I then tried running NNW, and it worked smoothly as well.
I don’t really like this solution, because it doesn’t isolate a fix. The problem could have been corrupted binaries, or it could have been prebinding that needed fixing—the reinstallation accomplished both. It also might leave me vulnerable. I don’t know whether the Safari 1.2 standalone download includes some of the security fixes that have been made since the browser was released. Finally, I am noting some irregularities with pop-up menus reporting “Localized String Not Found” in the place of some options. Nevertheless, my browsing experience is generally faster, so I thought this might help some others.