Cloudinary Blog

Hipcamp Heads Outdoors to Optimize Images, Improve Page Load Time With Cloudinary

Hipcamp Optimizes Images and Improves Page Load Times With Cloudinary

Solution

When creating a website that allows campers to discover great destinations, Hipcamp put a strong emphasis on featuring high-quality images that showcased the list of beautiful locations, regardless of whether users accessed the site on a desktop, tablet, or phone. Since 2015, Hipcamp has relied on Cloudinary’s image management solution to automate cropping and image optimization, enabling instant public delivery of photos, automatic tagging based on content recognition, and faster loading of webpages. In addition, Hipcamp was able to maintain the high standards it holds for the look and feel of its website.

Results:

Half a second page load time on desktop

Faster time to market due to reduced dependencies

Improved SEO for images

Company

Hipcamp has a mission of getting more people outside, and inspiring the next generation of individuals who are passionate about exploring and protecting our lands. This starts with access, both to land, and the information about where they can experience the land through camping. Hipcamp takes the complexity out of planning camping trips, making it quick and easy to find and book campsites in a variety of locations. Hipcamp’s site features unique camping experiences at more than 7,800 parks, 16,300 campgrounds and 346,200 campsites across the United States, including ranches, vineyards, and public parks.

The Challenge: Managing Thousands of Images and Delivering in High Quality

Across All Viewports Creating a visually engaging site is of great importance for Hipcamp, which likens itself to Airbnb for campers. “Images are mission critical to the Hipcamp site, showing campers what they can find at private camping areas, public campsites, state parks, and national forests,” said Pierre Alvan, one of Hipcamp’s senior software engineers.

To populate its website with images, Hipcamp relies on campsite hosts to upload images of their properties and campers to share pictures of their favorite locales. The company also has a team of photographers who go around the country taking professional photos of the featured destinations.

“We maintain a very special imagery philosophy in terms of digital content quality. We have guidelines for our photographers, which are attached to the way we like to present photos on the website,” added Alvan. These high standards caused some challenges when dealing with photos of varying quality, size, and format, uploaded by campers and property owners. Developers had quite a task to individually reformat, crop and resize each photo to meet Hipcamp’s quality standards. To ensure these images appeared correctly, regardless of how the visitors were viewing them, developers had to make multiple versions of images, designed specifically for desktops, tablets, or phone viewing.

But with a team of only 11 engineers, who work on the full stack, managing images could be a full time job, leaving them less time to focus on continually innovating the company’s offerings to its users.

The Cloudinary Solution: Automating and Maintaining Consistent Quality

Using Cloudinary’s upload widget, Hipcamp developed a dashboard through which hosts can upload photos for their listing pages. A Cloudinary JS plug-in enables uploads of 12 photos at a time by hosts and campers. When they upload an image, it is contained within the experience of that campsite listing, which enables the system to easily assign a Cloudinary ID to the photo that is internal to the Hipcamp system. From there, developers can link photos to what it represents on the website.

For the production shoots done by professional photographers, Hipcamp relies on a Ruby on Rails app, using Carrier Wave, that enables them to upload hundreds of photos at one time. Whether user generated or delivered by a professional, Hipcamp wants to make sure images have a consistent look and feel across the site. “We have a list of the different formats we want to keep, and Cloudinary serves any format instantaneously, like a live transformation,” said Alvan. “We like to keep our formats consistent across the site – one gallery size, one carousel – so our site doesn’t look messy.”

Cloudinary enables Hipcamp to serve JPEG or WebP versions, using the f_auto functionality to determine the best version to serve based on the web browser being used by visitors. Hipcamp also controls the quality of the photo, using Cloudinary’s q_auto feature, for image optimization, ensuring that all pages load fast and deliver the highest quality image possible.

Cloudinary helps Hipcamp smartly crop photos to appear exactly how it wants within a frame. “We generally show a 2x bigger photo than the container, to account for retina displays, then apply a 40 percent reduction,” Alvan added.

The Results: Streamlined Image Optimization and Fast Page Load Speeds

Hipcamp developers have saved hundreds of hours managing and transforming the 3.8 million of images on the site since implementing Cloudinary.

“I’ve worked with other solutions where every design or user interface change impacts how images are served, and it’s a pain to implement,” said Alvan. “Cloudinary is definitely a big time saver".

Cloudinary makes it intuitive for the engineers to store and access images, and add new formats, such as WebP, which has helped to reduce file sizes even more. “WebP is not easy to implement,” he noted, “We would not have been able to do it, if it weren’t for Cloudinary’s f_auto functionality.”

Lastly, the ability to auto-tag images based on their content allowed Hipcamp to implement a dynamic file naming system based on those tags. Recent image files served on Hipcamp are named after what the photo represents; tent oceancliff.jpg is a much better file name for SEO than a random character string. The fact that Cloudinary now offers image recognition through Google Vision, Amazon Rekognition and Imagga, helped Hipcamp streamline this process.

Recent Blog Posts

A Guide to Website Image Optimization and Performance

Part 1 of this series delves into the background for this guide. Here in part 2 are the ins and outs.

Wait, hear me out. I know, we just talked about this: Nobody is sheepishly pleading you, “Please, might we have just one more image on the page?” No, I’m not telling you to pick that particular fight. Instead, use a little smoke and mirrors to avoid requests for images that your audience needn’t render right away and might never need at all while loading them asynchronously—only as needed.

Read more
A Guide to Image Optimization for Website Performance

I’ve spent a lot of time thinking about the rules of putting images on the web.

For such a flexible medium as the web, software development can feel like a painstaking, rules-oriented game—an errant comma might break a build, a missing semicolon might wipe out an entire page. For a long time, the laws of image rendering seemed similarly cut-and-dry: For example, if your markups contained an img element , the singular content of its src attribute would be foisted on the audience regardless of their browsing context, period.

Read more
Digital Asset Management Platform: Meeting Customer Expectations

Consumers today expect media-rich experiences. No longer a novelty, it’s second nature to swipe through multiple photos on mobile apps, zoom in on product images for a closer look, visualize online travel reviews, socialize cool video clips while browsing, and encounter brand messages when walking into brick-and-mortar stores. These experiences weave together visual cues and clues with relevant content to create meaning and more authentic connections for customers.

Read more
How to Customize Cloudinary's eCommerce Android App

Recently we added the Cloudinary Demo - eCommerce App to the Google Play Store. This app demonstrates the best practices for optimal delivery of images on a storefront, including category pages, product pages, and a shopping cart. At the time, we published Introducing the Cloudinary Demo Android App, Part 1, which provided an under-the-hood tour of how the eCommerce Android App was designed and how Cloudinary was integrated throughout.

Read more