Scott Mueller is developing a site, AppleTree, with a hefty premise: map out the family tree of the whole world. That’s a lot of data, so he’s chosen to display it with Seadragon. You can zoom and pan around the whole tree, and click on various elements for further interaction.
In addition, for any one person you can have a number of photos. He is using Seadragon there as well to display the images, and has built a gallery interface around it.
From a technical standpoint, he is using Seadragon Ajax on the front end with lots of custom touches. On the back end, he periodically rebuilds all the tiles that make up the tree, building slight variations into each tile level, so that for instance, underlines show up only when you’re zoomed in enough to click on a name.
Rather than load all of the (potentially millions of) click targets at once, it sends a query back to the server for every click to see if anything interesting was hit; if so the frontend takes the appropriate action. You can click the underlined name in a node to go to that person’s page on the site. Clicking a diamond of a node brings you to that person’s other spouse. If the diamond has a number in it indicating multiple spouses, a dialog box will pop up asking you which spouse you want to zoom to. Finally clicking an egg brings you to that person’s parents if they aren’t already underneath them.
There are certainly some rough edges here and there, but it’s great to see Seadragon Ajax getting pushed in new directions like this!
– Ian Gilman