Archive for the ‘Seadragon Ajax’ Category


What’s Up?

June 9, 2010

It’s been quiet on this blog for a while now. The Seadragon team is still doing awesome stuff, but I’ve moved on to other things, as has Kevin.

I thought I’d update here with a couple of Seadragon-related items:

Happy zooming!

Ian Gilman


Cool things in Seadragon: AppleTree

August 4, 2009

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


The new!

July 30, 2009

We’ve taken all of the pieces of Seadragon technology and wrapped them up in a nice bow with the new Just drop the URL to any image on the web (JPG, PNG, GIF, TIF, etc.) into the box, and we serve up a smooth zooming Seadragon viewer for it. Behind the scenes we’re using DeepZoomTools on an Azure server to handle the conversion, and serving it up using Silverlight Deep Zoom when available and Seadragon Ajax when not. The result is (hopefully) an extremely smooth and simple experience, even though there’s so many bits that make it up.

It all started with a suggestion from Sean Dunn, which rolled into Out of the Box projects by Aseem Kishore and Boyd Ferris. Ben Vanik wrote the Silverlight viewer we’re using, and James Darpinian wrapped it up with Seadragon Ajax so we can use Silverlight if available and JavaScript otherwise. From there, Aseem did the lion’s share of the work to build out the service and tie the whole thing together, with UI design by Shepherd Yang. Ken Perkins kept us all on track, and Jesse Wang made sure the whole thing was solid. Of course everyone on the Seadragon team was involved in one way or another, and we’re all terribly excited to have it finally up on the web!

We’re especially interested to see how people end up using the site. Every time there’s a huge image posted on digg, I’d love to see it posted via so people can see it better. I can see Seadragon being a great alternative to ViewOnBlack for sharing your Flickr images. People can even use it to present their art portfolios on their own sites. If you see or think of any interesting uses, I’d love to hear about it!


Recording a Seadragon session?

July 23, 2009

I’ve just been chatting with Kent Sullivan, a member of the Northern Pacific Railway Historical Association, and he’s got a cool Seadragon idea that requires some dev help. Basically he’s looking to record a user’s movements in realtime as they pan and zoom around an extremely large image, so that those movements can then be played back synchronized to the audio of that person talking about the contents of the image.

This sort of technology would be useful for a lot of scenarios. In Kent’s case, it’s part of a multi-year project, in partnership with the Great Northern Railway Historical Society, to digitize and make available thousands of different documents and photos that help describe the history of these two important railroads (now part of the BNSF).

One of the projects he’s working on involves train sheets, the sheets upon which dispatchers recorded the movement of every train across a given geographical area during a 24-hour period. There is a treasure trove of information in these sheets because it helps historians (and railfans, and modelers) understand how a network of trains interacted to move passengers and freight – and what the volumes were, and who was doing the work. Each sheet is about 6’ long x 2’ high.

They’re just beginning the process of scanning the sheets that were been saved by the NPRR, a sample of the thousands that were created down through the years. These sheets take some explanation in order to understand them, however, as they are very densely populated and many abbreviations are used. Fortunately, a few dispatchers who created the sheets are still with us, and one of them has volunteered to describe a sample sheet for recording purposes during his trip to Seattle on August 5.

Kent and I both think that Seadragon would be a fabulous way for this dispatcher to give an interactive tour of the sample sheet. What Kent needs help with is creating a mechanism to record the dispatcher’s movements with Seadragon and a way to synchronize the audio narration that he provides. Could someone in Seadragon community help? Maybe there are some railfans out there? Leave a note in the comments or email

Ian Gilman


Cool Things in Seadragon: World Digital Library

April 22, 2009

The World Digital Library is a collection of significant primary documents from countries and cultures around the world.  The folks over there have put them online (as of April 21st) to both promote cultural understanding as well as to provide a resource for educators and scholars.  They’ve also utilized Seadragon Ajax to do so, and the end product is really, really cool.

World Digital Library

Simply select a world region that you want to explore and you’ll be taken to a page containing all of your “search results” and a pane on the left to help you narrow down the items you have available to you.  Picking an individual item will give you a general description and all of the item’s particulars, such as creation date, author, location etc.  One more click on the item will send you into the Seadragon Ajax portion of the site, where you can zoom and pan around the item to your hearts content.  There’s a ton of interesting documents and photos to peruse here, so if you’re having a hard time choosing, start with a personal favorite of mine, the iconic photo of pea-pickers by Dorothea Lange.

The images do suffer from some pixel drift, though this is a product of using Kapil’s Python script for image conversion to DZI. It is also worth noting that this same gentleman did development on the WDL site.  They’ve also changed the Seadragon Ajax UI buttons, but that’s to incorporate a “next” and “previous” button for documents that have multiple pages.  It’s a wonderful site, and I suggest you check it out.

Kevin Hanes


Cool Stuff in Seadragon: World Wide Music Scene

April 8, 2009

You may have already seen it on the Seadragon Ajax Gallery, but Tamas Nepusz has an even cooler version on his personal site.

World Wide Music Scene

Some of the features include things like being able to search for a particular band or by user.  I also enjoy that each band has  semi-transparent album art for a background, though it’s a bummer when an artist occludes another (like when you search for Death Cab for Cutie, or Jeff Beck).

It’s encouraging to see images of this size (300 megapixels) being created in the first place, but it’s infinitely cooler when they get iterated on.  I hope experiments like this inspire people to fill up the canvas that we are trying to provide.

Kevin Hanes


Seadragon Ajax Gets a Little Spit-Shine

March 20, 2009

Here in the Seadragon group (and Live Labs as a whole), we strive to emulate a “startup mentality” for our projects and incubations. Part of what this means is that we produce demos and prototypes and throw them up against the wall, so to speak. Another part of this is the hope to frequently update the projects that we find have value. In that latter attitude, we’ve silently (as in our API won’t change and nothing will break) updated Seadragon Ajax with a few bug fixes. Hopefully these solved a few of your problems, and if not, be sure and let us know. The list of fixed items is as follows:

  • Full page mode sometimes had images shifted far to the right; images will now appropriately appear in the center of the window
  • The delay when the embed opened images has been fixed. This change allows images to open immediately rather than after a page load.
  • CSS neutralized in the “about” screen; explicitly specified default styles to avoid conflicts.
  • Fixed instances of the Viewport’s center being NaN due to precision error in some instances, causing the image to disappear.

It’s worth repeating that this release is entirely silent; It doesn’t change any of our APIs and as such all users will see the benefit immediately (if they’ve been experiencing any of the problems)

Kudos to the test team and of course Aseem, for writing the changes.

Kevin Hanes