August 10, 2010

Zoom.it API

In case you haven’t heard, Microsoft Live Labs has (re-)launched Zoom.it (formerly Seadragon.com), a free (high-resolution) image sharing service. If you’re a developer, the most important aspect of the announcement is the Zoom.it API.

Why It’s a Big Deal

Basically, the Zoom.it API lets you convert any image — PDF or even page — on the web into a multiscale representation, specifically a Deep Zoom image or DZI. Apart from sharing it as the default zooming embed, you can also incorporate this multiscale resource into your application or web site, using any of the existing platforms such as Deep Zoom (Silverlight & Windows Phone 7), Seadragon Ajax (JavaScript), Pivot (WPF & Silverlight), Seadragon Mobile (iOS) and OpenZoom (Flash), all connected through a common, open and documented file format.

Finally, this could bring true image streaming, very much like audio & video streaming, to the web. Personally, I wish that the Zoom.it service will do the same for high-resolution image sharing as YouTube did for video sharing, even if it’s on a smaller scale.
Similarly, it could potentially establish itself as a platform, bringing some of the benefits I’ve talked about previously to every author on the web, namely the power & simplicity of publishing the highest quality image you’ve got, irrespectable of file size or target device.

Web APIs: A Brief Introduction

If you’d like to learn more about this topic, check out the brownbag presentation I gave at Seadragon last year:
Web APIs, Mashups & REST (PDF)

Contribution

While unfortunately not currently being a part of the team behind Zoom.it, I’d still like to share with you a small contribution of mine: The Zoom.it ActionScript 3 SDK which I’ve implemented over the course of last weekend, taking advantage of the fantastic Zoom.it API documentation. It will hopefully fit right in there along with the official Zoom.it API helper libraries for .NET, Silverlight, Windows Phone 7 and the inherent JavaScript support, e.g. using jQuery.

The Zoom.it ActionScript 3 SDK lets you build exciting new applications using Adobe Flash, Flex and AIR on top of the Zoom.it service, optionally combining it with the OpenZoom SDK for super-smooth rendering.

I’d like to point out that the Zoom.it ActionScript 3 SDK wouldn’t have been viable if it weren’t for Live Labs’ generous support of very liberal clientaccesspolicy.xml and crossdomain.xml files on all relevant API endpoints, enabling an equal experience for the most commonly used client technologies. Enjoy.

Zoom.it ActionScript 3 SDK

Download Zoom.it ActionScript 3 SDK 0.8 (32KB)
Browse Source
Read Documentation & Examples
License: Apache License, Version 2.0

Demo

Browse the front pages of the New York Times, between August 9 and August 15, depending on your time zone. The widget utilizes the Zoom.it API to dynamically create the corresponding multiscale image of the front page and renders it using the OpenZoom SDK.

Zoom.it NY Times Demo
View Demo | View Source

Acknowledgements

As an intern on the Seadragon team at Microsoft Live Labs, I was involved in the early design of the Zoom.it API (formerly Seadragon.com API) but my deep respect and gratitude go out to the team — Aseem, Goldie, Karan, Jyoti, Jesse et al. — who executed on this idea and delivered this truly elegant first embodiment of it.


Thoughts
  1. 10.08.2010
    4:53

    Aseem

    Awesome! And thanks for the kind words. =) But really, I can’t imagine the API turning out nearly as good as it has without your research, vision and design. This is your end result too, so congrats!

  2. 10.08.2010
    10:44

    Klokan

    I like a lot the Microsoft Zoom.it API and the concept of the whole service. I can directly imagine to use it in some projects I am working on.

    Unfortunately I see one serious problem: Your OpenZoom viewer or any other third-party viewer is not allowed to use the Zoom.it service according the Terms of Use:

    … display results using only methods and means of access that are documented in the most current version of the Seadragon APIs at: http://seadragon.com/ajax/0.8/doc or such successor link for or successor or replacement SDKs/APIs as Microsoft may designate.

    For me it seems you can’t access the tiles directly from your own viewer, you must use ONLY Microsoft API to display the results. You know personally the people from Live Labs, can you ask for clarification if OpenZoom and other third-party DZI viewers are against the Terms of Use of the Zoom.it service or not?

  3. 10.08.2010
    12:43

    Aseem

    Hey Klokan,

    Don’t worry, that’s not what we meant by that clause in the terms — it should actually be referencing the *Zoom.it* API at http://api.zoom.it/ and not Seadragon Ajax.

    (This was a remnant from when we first shipped Seadragon.com: at the time, we had no Seadragon.com APIs, but we knew we eventually wanted one, so we put in a placeholder clause referencing our only other API at the time, Seadragon Ajax. Hence the “or such successor or replacement SDKs/APIs” part!)

    Good catch, and apologies for the oversight! We’ll fix this in our next update.

    Aseem

  4. 11.08.2010
    21:49

    Karan

    Nice work, Daniel! And why do you say “not currently being a part of the team behind zoom.it” ? You totally are – in spirit and with prior work, if not in person. :)


What do you think?

Leave a Reply