Guided Tours Solution for Your Web Application
Tags: webdev, javascript, library, programming
Published: 2024-03-06 14:34:48

Creating a user-friendly and engaging onboarding experience is crucial for ensuring that new users can effectively navigate any web application. Guided tours are an excellent way to help new users familiarize themselves with the various features of the application. In this article, we will compare five popular JavaScript libraries used for building guided tours in web applications: Shepherd, Bootstrap Tour, driver.js, Tour Guide JS, and Intro.js.

## Shepherd

[Shepherd][1] is a powerful and customizable open source JavaScript library for creating interactive tours and onboarding experiences in web applications. It uses another open source library [Floating UI][2] to render the dialog tours. It offers a simple setup process, dynamic content support, the ability to create custom actions and events, and theming and styling too. More importantly, it is responsive too and never goes offscreen on smaller devices. [Shepherd][1] also provides excellent documentation and support, making it a popular choice among developers.

## Bootstrap Tour

[Bootstrap Tour][3] is another open source JavaScript library that focuses on creating guided tours for web applications. It integrates seamlessly with the Bootstrap framework. It offers a wide range of features
- customizable steps 
- keyboard navigation
- progress indicators
- page navigation
- automatic step progressing
- interactive step progress e.g. progress when the user clicks on the page element

The library hasn\'t been updated since a long time, yet the features are still great!

## driver.js

[driver.js][4] is an open source JavaScript library designed for creating Product tours, highlights, contextual help aand feature adoption. Due to its extensive API, driver.js can be used for a wide range of use cases that includes 
- Onboarding the users by explaining how to use the product and answer common questions
- Remove Distractions with the highlights feature and focus user attention on what matters.
- Provide contextual help for users
- Highlight new features and make sure users don't miss them.
- Works on Mobile devices as well.

[driver.js][4] provides different flavours for its features with demo examples showcased in the site. The list has
- Animated tours 
- Non-animated tours 
- Async tours
- Tours with Progress
- Overlay styling and more
- Theming 

[driver.js][4] is actively developed and has a very good documentation.

## Tour Guide JS

[Tour Guide JS][5] is a lightweight open source library for creating guided tours in web applications. It offers the following features
- It is framework agnostic
- Has Typescript support
- Like [Shepherd][1] this too uses [Floating UI][2] for navigation
- Provides a lot of options for customization
- Has extensive documentation
- Also supports npm and mentions it to be better that using it directly

## Intro.js

[Intro.js](https://introjs.com/) like the others offers a rich set of features such as customizable steps and tooltips, keyboard navigation, theming, progress indicators and more. Like others, this library also has extensive documentation. Intro.js has open source licence under AGPL v3 and a commercial licence with different price plans

Take a look at these libraries and happy coding your next web application with one of these!

[1]: https://shepherdjs.dev/ "Shepherd"
[2]: https://floating-ui.com/ "Floating UI"
[3]: https://bootstraptour.com/ "Bootstrap Tour"
[4]: https://driverjs.com/ "driver.js"
[5]: https://tourguidejs.com/ "Tour Guide JS"