Mastering Cross-Platform Voice Development with Jovo

by | Jun 24, 2019

Here at Shockoe, we are continuously evaluating new technologies to enable us to improve the experience of using Shockoe crafted apps. Recently in our R&D ventures, we committed to a project based around virtual personal assistants, specifically Google Assistant, and Amazon Alexa.

The developer goal of the project was to become experts in cross-platform development between the two voice assistant platforms. To aid us, we recruited the Jovo voice framework into our tech stack.

Of course, the first question to pop into your mind is: why did we decide to use a cross-platform framework?

Here are the top three reasons we decided to use Jovo:
1. Write voice code once for deployment across multiple voice platforms
2. Allow us to quickly dive in and prototype our voice applications
3. Use the nature of cross-platform development to become familiar with native development and rules

Write it once

One of the concerns in starting our voice project was the amount of repos that would need to be managed to support the voice APIs.

Essentially if we chose to go native, we would need:

  • An API for Alexa
  • An API for Google Assistant
  • An API for sharing the same data between Alexa and Google Assistant

With Jovo, we were able to cut down to only needing one shared API between the two platforms.

Having one shared API not only eased the management of repos, but it also greatly shortened development time to get both platforms up, running, and tested as efficiently as possible.

Which leads us to our next section…

Quick Prototyping

Jovo out of the box is equipped to run on a webhook with your local web server. The magic of the Jovo webhook allowed our development and QA team to work side by side to make quick changes without the overhead time of having to deal with servers or Lambda upload time.

Here is an example of a work session between designer, developer, and tester for BeerBoi, the voice app created by the R&D team:

——
Tester: Start BeerBoi
Alexa: Hey, it’s BeerBoi. Would you like to: Add a Beer or Get a Beer Recommendation
Tester: I would like to add Devil’s Backbone to my list
Alexa: Devil’s Backbone added to your list.

Designer: Hearing this out loud, I think we should add more personality to that response. Can you we add “Enjoy!” to the end of the response?
Developer: Alright, one second… [makes change, reset server]

Tester: Start BeerBoi
Alexa: Hey, it’s BeerBoi. Would you like to: Add a Beer or Get a Beer Recommendation
Tester: I would like to add Devil’s Backbone to my list
Alexa: Devil’s Backbone added to your list. Enjoy!
——

Getting Familiar with Native

One of the critiques of cross-platform development is how developers miss the opportunity to work with the native guts of a platform. Unlike “traditional” cross-platform framework Jovo requires interaction with the native consoles. The getting started tutorial for both Alexa and Google Assistant masterfully walks developers through the native consoles, giving them a solid understanding of what the steps would be if the project was fully native.

The Pros of Jovo

  • Tutorial documentation/ Project startup / Initialization
  • Jovo debugger
  • Card documentation for voice displays (One of the greatest helps to our team was Jovo’s display template editor for the Echo Show and Echo Spot)

From the R&D development team here at Shockoe, Jovo gets a thumbs up. It’s an excellent framework for beginners seeking an easy way to dive into virtual assistant development and for experienced teams looking to tighten the efficiency and consistency of their cross-platform voice projects.

Jay Soumphont

Jay Soumphont

Jay Soumphontphakdy is a Cross-Platform Mobile App developer who enjoys working in a transdisciplinary manner— collaborating and wearing hats between roles for design, development, and QA. He is dedicated to continuing his education to create high-quality user-friendly applications, recently becoming an ICAgile Certified Professional in Agile Testing and Test Automation.