Monday, June 4th, 2007

IIPImage: Ajax-based Ultra High Resolution Image Viewer

Category: Library, MooTools, Showcase

Ruven has created, an open source, ultra-high resolution image viewer called IIPImage.

It uses the Mootools library and is only 8KB in packed form. It’s a client server system with the client using Ajax requests to query the server and download image tiles. Users can navigate and zoom with the mouse or keyboard.

There are some demos and you can visit the Ajax-based Ultra High Resolution Image Viewer

Posted by Dion Almaer at 7:38 am

3.9 rating from 135 votes


Comments feed TrackBack URI

…Louvre! ;-) I like it.

Well done, although the indicator-GIF looks crappy ;-)

Comment by Stephan — June 4, 2007

really really nice!
but why you download the images in little squares? it take alot of time coz there so many requests,it will be better if the server could merge them into one picture and the client will just add it to the big picture

Comment by uriel katz — June 4, 2007

nice but very slow !

Comment by Alex — June 4, 2007

It looks great, but panning around the image is quite quick so why does it take so long to load the initial screen?

Comment by Paolo M. — June 4, 2007

Maybe it’s just my FF, but all I got was some tiles flashed at me in the opened window and then blankness (for the first two supplied demo images).

Cool idea though.

Comment by BillyG — June 4, 2007

too slow. :-(

Comment by kenji — June 4, 2007

Great, this is very nice.

But I wanna do it offline! ;)

Comment by stu — June 4, 2007

Does it use the image_subdomain_trick? maybe it speeds the thing up a bit ->

Comment by JSerror — June 4, 2007

I think the correct way to handle the large number of image requests is with sub-domains like, and I am glad the work got published 8).

Comment by jdalton — June 4, 2007

Isn’t this the same concept used in google maps?

Comment by Angad — June 4, 2007

Glad most of you like it :-D

Sorry about the slowness at the moment. The sudden surge in hits caused by this article has slowed my poor little server :-(

Using tiles is usually a good way to optimize the use of browser cache and minimize bandwidth (Google maps is also tile based), but, yes, it can result in a lot of hits. The old marble earth demo, though, transfers a single image per request.

Hey, I kinda like that GIF :-P

Which version of FF are you using BillyG and on which OS? If anyone else has had any problems, please post them to the project forum!

Comment by Ruven — June 4, 2007

and its slow ppl bcoz of the server being slow not the script! :)

Comment by Angad — June 4, 2007

very nice work m8, hoping to see alot more like this in the future

Comment by Jester — June 4, 2007

I might try using larger (512×512?) tiles, which should help to lower the number of requests. I didn’t check, but it’d be even cooler if tile size is a user-configurable thing. ;) Rotating through server names may help with parallel downloads as well.

Comment by Scott Schiller — June 4, 2007

OK, I’ve increased the tile size to 256×256 pixels, which will reduce the number of connections necessary by a factor of 4.

And I’ve offloaded some of the server workload via some internal load-balancing, so the whole thing should be a lot faster now :-)

Comment by Ruven — June 4, 2007

Leave a comment

You must be logged in to post a comment.