Cloudinary Blog

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

How to Improve Page Load Time 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

Transitioning JPEG-Based to JPEG XL-Based Images for Web Platforms

When the JPEG codec was being developed in the late 1980s, no standardized, lossy image-compression formats existed. JPEG became ready at exactly the right time in 1992, when the World Wide Web and digital cameras were about to become a thing. The introduction of HTML’s <img> tag in 1995 ensured the recognition of JPEG as the web format—at least for photographs. During the 1990s, digital cameras replaced analog ones and, given the limited memory capacities of that era, JPEG became the standard format for photography, especially for consumer-grade cameras.

Read more

Amplify Your Jamstack With Video

By Alex Patterson
Amplify Your Jamstack With Cloudinary Video

As defined by Amazon Web Services (AWS), Amplify is a set of products and tools with which mobile and front-end web developers can build and deploy AWS-powered, secure, and scalable full-stack apps. Also, you can efficiently configure their back ends, connect them to your app with just a few lines of code, and deploy static web apps in only three steps. Historically, because of their performance issues, managing images and videos is a daunting challenge for developers. Even though you can easily load media to an S3 bucket with AWS Amplify, transforming, compressing, and responsively delivering them is labor intensive and time consuming.

Read more
Cloudinary Helps Move James Hardie’s Experience Online

While COVID has affected most businesses, it has been particularly hard on those that sell products for the physical ‘brick and mortar’ world. One company that literally fits that bill is our Australian customer James Hardie, the largest global manufacturer of fibre cement products used in both domestic and commercial construction. These are materials that its buyers ideally want to see up close, in detail. When customers have questions, they expect personal service.

Read more
How to Build an Enhanced Gravatar Service, Part 2

Part 1 of this post defines the capabilities of an enhanced Gravatar service, which I named Clavatar, and describes the following initial steps for building it:

This post, part 2 of the series, explains how to make Clavatar work like Gravatar and to develop Clavatar’s capabilities of enabling requests for various versions of the images related to user accounts.

Read more