Only Firefox 3 handles Javascript menace well


After visiting a really nice collection of exhibit gardens, I decided to make an application to see how different plants are related by making a phylogentic tree generating webpage.

For many groups of species, the familiar relationships have been examined very well, but for the combination of arbitrary species, you have to rely on taxonomic data for now. A convenient resource for getting at this data is NCBI taxonomy (ftp). This data unfortunately has no timeline distance between the branch points, but it’s nice enough for starters.

For implementing the website I do not want to rely on server-side scripts. So the page will have to process the data via javascript. The current development version has a 12 Mb JSON file. This is the minimal amount of data for working on a tree with all species listed by NCBI.

And this is where the problems start. Because javascript is not the most efficient language for doing this. And the current version of the page is very heavy for all browsers. In fact, Firefox 3 is the only browser that can load the page in a decent amount of time (8 seconds on a 1.1 Ghz machine). Konqueror 3 keeps asking me if I really want to continue running the script. Konqueror 4 crashes. Opera 9.5 is less than least half as fast as Firefox. So perhaps this page can be used as a nice torture test for javascript developers.

To use the page, type latin species names in the text box and press enter. This way you can build up a tree. It’s not user friendly at all. I’m still making a more nicer version with links and pictures.


Ya know, you could actually

Ya know, you could actually file bug reports if Konq crashes.
Anyway, it's easy enough to fix (it's recursing and not iterating over a large linked structure), but I want to rethink some things in the area first.

not dissing

I am not dissing the other browsers. This page is extremely large. I was simply amazed that Firefox 3 could handle it so much better than the other browsers.

Well they did invent the

Well they did invent the thing. :)