Dynamic vs. multi-page albums

Dealing with digital photo albums on the web you’ll see two basically different models. The “traditional” – one image per HTML page – and the “dynamic”, which changes the images on the same HTML page upon user interaction, utilizing Javascript. Sounds like a subtle technical detail but it has far reaching consequences. Although this applies to any skin, I will talk specifically about the Turtle skin now, which has been enabled to generate traditional (separate slides) albums since version 4, just a few weeks ago. I’ve seen a lot of confusion regarding these modes, so I decided to put up this blog post.

Here is the magic switch that decides between these modes in jAlbum, called “Make slide pages“:
settings_panel
Turn it on for the “Separate slide pages” mode – the default is still the dynamic mode.

Comparison

In the traditional – separate slide pages – mode, the HTML page loads all the page components and all the widgets (like Facebook, Google +1, etc.) every time an image is loaded. Every page has a separate URL address, so you can bookmark or share images separately and can use external widgets which rely on the page address, for example Facebook commenting. The downside is inherent in the web technology which doesn’t allow transitions between web pages, nothing can remain from a previous page (like background music), and need to build every page from ground, loading and rendering everything on a page again and again. This is why Turtle skin was originally made dynamic. A dynamic album is capable of making smooth transitions between the images, loading only the necessary components, an rendering a full folder only once.

Dynamic mode
 
Separate slides mode
dynamic_mode vs. traditional_mode

You might ask why did then Turtle introduce the traditional mode at all. It’s because there are several scenarios when the separate slides mode is still beneficial, e.g. achieving better search results, being able to comment images through Facebook separately, using several hundreds of images in the same folder, to name a few. It’s a fundamental change in the structure, every part of the code had to be rewritten to work in both modes. I tried to find the best match between the two modes, still there are tons of differences. See the table below.

  Dynamic mode Separate slides
Number of HTML pages One per folder Number of images + 1
URL format index.html#image.jpg slides/image.html
Can bookmark?
(and send)
Yes
using hash, see below
Yes
Search bots can find individual images Less probably
and they’ll link to the gallery
Yes
Smooth transitions Yes No
Continuous background music Yes
in the same folder
No
Thumbnails strip
above the image
All
thumbnails
Only max. 15
5 previous – 10 next
Maximum number of images in a folder < 600
to avoid memory leak in poorly written browsers
~ 1000-2000
the number of page elements (thumbnails) is still limited
Like, Comment, +1, PinIt, Share complete folders Yes Yes
Like, Comment, +1, PinIt, Share individual images No Yes
Tweet, Tumblr, Email individual images Yes Yes
Google Maps Yes Yes
Google Maps show all placemarks Yes max 15
Can skip index page and auto-start slideshow Yes No
Can retain full screen mode Yes No
in most browsers it falls back to windowed mode with every page change
Image-sensitive jAlbum widgets Partial
Commenting widget works, the others ignore it
Yes
Traffic browsing through an album ~ 120 kB
per image
~ 180 kB
per image
Server requests the least possible cca. 10x the amount as in dynamic mode
Page load time Only index page
images are loaded as fast as can
Every image is rendered on a separate html page
Google Analytics Per folder Per image

Tracking the actual image in dynamic mode

To be able to follow the actual image the skin is using a technique (using internal links), which adds the image name after the URL the following way: http://somesite.com/album/index.html#thisimage.jpg. This makes it possible to bookmark, share individual images in dynamic albums, and also allows the browser’s back and forward buttons to work within the album. A smart javascript function is monitoring the hash code in the URL, and instructs the album to load the appropriate image upon change. These anchors are not allowed by major social sites, unfortunately. I have no insider info on this matter, but I guess they don’t want to allow dynamic pages to be shared, because they afraid of manipulation. They can’t check out the contents upfront. Think of sharing a funny cat video to millions then showing offending content after a while. They are trying to maintain “link quality” on their sites, and I agree this is a necessary precaution.

Conclusion

Both modes have its ups and downs – which is better boils down to what you are using the album. If you want to showcase a small number of images in a smooth (even full screen) presentation with optional background music then go for the Single page mode. If the possibility to individually Like or Comment images is paramount, would like to showcase a huge number of images in the same folder, or prefer to have individual search results for the photos the separate slide pages mode might fit you better.

Leave a Reply