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.
Half a second page load time on desktop
Faster time to market due to reduced dependencies
Improved SEO for images
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.
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.
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.
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
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.