Universal Viewer is very slow to load

I must be doing something wrong in configuring Universal Viewer + Image Server + IIIF Server because images take 16 seconds to load in the viewer.

I’m uploading one .tif file (242kb) to an item. I’ve also tried uploading a .jpg version of this image, file size = 2.4mb. I tried uploading these with “upload” and also with “tiler”.

I’m attaching my config for Image Server, IIIF Server, and my site’s settings for the image server and universal viewer.

I’m on Reclaim shared hosting, in case this is relevant.


Universal viewer is pretty a heavy viewer, so it loads many js the first time the page is loaded, but normally the browser cache it.
The slowness with universal viewer is generally related to iiif server, because iiif manifests are created dynamically (next version will allow to cache them). Does your item item contain many images or a single one?

I look forward to the next version of iiif server and its caching functionality!!

Some items have one image. Some items will have 20 or more images.

I have tried bulk tiling within Omeka. I have also tried externally tiling, renaming tiles to match the filenames of uploaded images, and then uploading them to files/tile. These haven’t sped up load time.

I have been looking into pyramidal tiffs and vips. We’d need to move to a different server for this because Reclaim shared hosting doesn’t offer vips.

How much do you think vips would help?

The issue of slow loading of iiif manifest occurs generally when there are more than one hundred or some hundreds of medias attached to an item (a scanned book page by page), not twenty, so the issue is somewhere else.

And your images are small enough to be processed dynamically, but not on a shared host, so it’s useful to create the tiles.

Vips allows to do quicker dynamic tiling, included complex zoom with partial zoning, that cannot be done with imagemagick or gd quickly. So the image server creates the tiles and this is enough in most of the cases.

If you created externally the tiles, you should run the job “size” to store info about it, else the module may not know that files are created.