Classilla 9.2 released

A few hours ago, Cameron Kaiser announced on the Mac OS 9 mailing list the release of Classilla 9.2, the modern browser for Mac OS 9 (and 8.6 where possible).

With Cameron’s permission, I’ve decided to quote here most of his message to the list, because you’ll find a wealth of useful information.

What’s new

As promised, Classilla 9.2 rewrites JavaScript completely and the SpiderMonkey interpreter it uses is almost exactly the same as Mozilla Firefox 3.0.19. This literally cuts its benchmark time in half (the 1.8 GHz dual G4 build host reduced SunSpider from 32 seconds with 9.1 to 16 seconds with 9.2; the quad G5 in Classic went from 25 seconds to 12 seconds [for comparison, Firefox 3.6.3 on the same machine with TraceMonkey is 4.6 seconds]). It also repairs almost all of the outstanding crash bugs, meaning JavaScript should be a lot more stable on sites like Blogspot and iFixit.

What is only partially updated in this version is the Document Object Model, which connects JavaScript to layout. I did do some minor updates to fix regressions (i.e., pages that used to work with JavaScript on, but didn’t after the new interpreter was switched on), particularly for Flickr and jQuery, but DOM and layout are inextricably linked and significant updates can’t be done without updating the other. I’m planning to do a comprehensive rewrite of layout and DOM, like JavaScript, in 9.3. […]

Compatibility with major Websites

That means the full benefit of the new interpreter unfortunately is not completely realized in 9.2, but here is the result of my testing on a few high profile sites:

  • iFixit doesn’t crash anymore.
  • Wikipedia‘s new default skin now almost completely works (I haven’t really stress-tested article editing however). The disclosure arrows also work, which didn’t in 9.1.
  • Amazon still works, though it always treated Classilla as a basic browser in any case and still does.
  • Apple‘s pages almost completely work. (There is also a layout update relevant to that; read on.)
  • The New York Times almost completely works, whereas in 9.1 you couldn’t even click on links with JavaScript enabled.
  • eBay mostly works. The menus now reappear and My eBay also mostly works, although I can’t get feedback to show up still.
  • Google treats Classilla as an advanced browser now, and the search page comes up with the enhanced AJAX search box. The side bars also open and close. I still don’t recommend using a custom user agent though with it. Maps only partially works; I still recommend using their Basic HTML version. Calendar and Docs still hardly work at all. Gmail is about the same, but Groups is a lot faster now.
  • Paypal mostly works, though layout all-stop is still needed for the main page.
  • Flickr still works (I didn’t test uploading, I don’t have an account), though it is slightly slower.
  • Twitter almost completely works, but it is glacially slow. That said, Camino 1.6 is also really slow with Twitter, so this may be a really tough nut to crack with the code at my disposal. I still recommend the mobile version.
  • Facebook appears to work, and no errors appear, but clicking on many tabs doesn’t do anything (at least you can log out and get to the [worthless] privacy settings). The Touch Facebook does almost completely work, even slideshows (!), though you will need to ⌘-scroll (see below) through the feeds. I still recommend the mobile version.
  • Yahoo! partially works, though using the search tabs doesn’t seem to do anything different, and Yahoo! Mail is very slow with JavaScript on (but then, it didn’t work at all before, so…). I still recommend using Yahoo! with JavaScript off.
  • The Wall Street Journal has more elements that work, and runs faster, but the article strip at the top of the page still doesn’t work and some elements ignore clicks.
  • CNN is about the same. NewsPulse still has a lot of layout problems. Most articles still render pretty well.
  • Fox News is about the same and still has a lot of layout problems. I still recommend reading Fox News with JavaScript off.
  • Low End Mac still works fine.

As you can see from that, the improvement is more evolutionary than revolutionary, but hopefully you will see similar improvements on the sites that you visit.

Layout updates and notes

There are also a couple minor layout updates. The most important one is a change to the way certain floated elements handle their overflow, which changed in 9.1 and caused a number of sites like Google and Twitter to show “ghosted” or doubled images. On Apple’s site it was particularly bad because if you clicked on the ghost, the browser would get confused and then no link worked (you had to reload the page). The old 1.3-descended Clecko just can’t handle the combination, so there is a tweak in layout to disable this particular layout structure.

This fixes Apple, Google, Twitter, yFrog and a crapload of other sites, but has the downside of causing the browser to believe a handful of pages are wider than they actually are. Unfortunately 68kMLA forum threads and other phpBB threads that use that skin are one of those handful. The page will still look and work fine, but scroll slower.

So enter the other layout tweak: Command-scrolling. In 9.1 I added Use Slow Scroll for pages where the regular fast scrolling broke (this should be fixed when the new layout lands… I hope). Because this is inconvenient to run back and forth for single pages, 9.2 allows you to hold down the Command key (⌘) as you scroll, forcing Classilla to use an alternate scrolling method. If the page uses fast scrolling and fragments, hold down Command as you scroll or mousewheel, and Classilla will slow scroll until you release Command. If the page is one of those few affected pages and uses slow scroll even when it doesn’t have to, hold down Command also as you scroll, and Classilla will fast scroll. I know this is kludgy, but at least it’s better than nothing, and the best I can do right now. You can still click on Use Slow Scroll to make the setting sticky.

Finally, all-stop. In 9.1 I added Cmd-Period (⌘-.) for cancelling layout if it hung up on a bug, and I expanded that in 9.2 to a couple other places that seemed subject to freezing. The OS 9 list also really liked the idea of having Cmd-Period cancel scripts, which was a suggestion someone sent me anonymously via Report-A-Bug. This isn’t as clean, because the script may have partially installed event handlers or other hooks that may cause the current appshell to act weird as there is no code for them to run. If you cancel a script, you should close that window or tab, and reload it with JavaScript off just to make sure weird things don’t happen. If JavaScript is off, you don’t need to worry about that.

Additional notes

  • Theming is specifically supported, and you should get an error now if you try to theme without software installation on.
  • I changed the way plugins are enumerated.
  • A couple more crash bugs found and countered, in printing and mailnews.
  • New easter egg.

I am not so interested in what doesn’t work as in what used to work and doesn’t now. Those regressions I want to fix in 9.2.1. Also, I plan to redo the NoScript front end as Script-B-Gone in 9.2.1 and put an end to the NoScript whitelist not updating or remembering once and for all. While a full NoScript is not possible because Clecko lacks the needed XUL controls, I do want to significantly improve it since I also rely on it.

Anyway, forgive the sawdust and I hope you find 9.2 useful.

During the weekend I will test Classilla 9.2 on my two Mac OS 9 machines, a Power Macintosh 9500/132 with Mac OS 9.1 and a clamshell blueberry iBook G3/300 with Mac OS 9.2.2. I will report here anything that might be worth noting. If you use Classilla on a regular basis on your Macs with Mac OS 8.6-9.2, please use the comments section to report any useful observation, or contact Cameron directly through the Classilla Website.

Finally, I want to publicly thank Cameron once again for his hard work. Help him by providing useful feedback!

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.