I recently discovered Shop Talk, a live web design and development podcast by Chris Coyier and Dave Rupert. So I’ve been listening to the old episodes and in episode 9 with Ethan Marcotte. Andy Howells from the UK asked a question ,which is 15:38 into the episode.
He asked about an eCommerce site that could have twenty four additional images of a product and rightly expressed concerns about page load speed on mobile devices over slow network connections.
As I was listening I had the idea that this could quite easily be solved by just having one main image on the product page and then a link to view more images of the product. This could then be enhanced to load the additional images in using AJAX. The user clicks a link that pulls in the extra images and then displays them on the current page.
Another step could be to load an additional six or twelve images then the customer could continue loading more images until they have seen them all. Waiting for twenty four images to load could still be very slow even if the user has consciously chosen to perform this action.
The Downsides? #
From an SEO perspective the reduction of images on the page means a reduction of alt tags with the product name. I feel this is probably a very small hit but if anyone knows different please let me know. The product name should be appearing in the body copy as a description and title etc which should provide the majority of your “SEO juice”.
On larger screens only seeing one image could reduce the visual impact when a user first sees the page. This could be overcome by triggering the AJAX request to fire when the page loads and a media query over a certain size is present. Using Modernizr this would look something like
Here is where the issues gets a little grey as we are assuming that a user on a larger screen has a better internet connection when it might actually be the case that someone has a large screen and only a dial up connection but a small screen device is connected to a high speed WiFi connection. If anyone knows of a good way to test bandwidth to replace the above media query test above please leave a comment.