Jovo v4.2: React Web Widgets, Alexa AudioPlayer, Snips NLU Server, CLI

Published by Alex Swetlow & Jan König on Feb 2, 2022.

Jovo v4.2

In November 2021, we launched Jovo v4, which was our most exciting update so far. Jovo v4.2 now builds on top of that and comes with many improvements and new integrations. Learn more below.

Introduction

v4.2 is all about building on top of the v4 architecture and showing what can be built with it. The most notable features are:

v4.2 also comes with many smaller improvements and bugfixes. You can find all merged pull requests here.

A huge thank you for everyone who helped improve Jovo: Julian, Dominik, Barak, Gareth, Max, Ruben, and many more who are part of the Jovo community!

React Web Widgets

We already launched web starters for Vue.JS a while ago. Now, you can also build voice and chat web apps using Jovo and React!

Right now, we offer starters for a web chat widget and a standalone voice experience.

Jovo React Chat Widget

You can find the chat widget starter template here: https://github.com/jovotech/jovo-starter-web-chatwidget-react

Jovo React Standalone Voice Experience

You can find the standalone voice experience starter template here: https://github.com/jovotech/jovo-starter-web-standalone-react

Thank you Max for building these!

Alexa AudioPlayer

We now support the ability to build Alexa AudioPlayer Skills for podcasts, music, and anything else that features long-form audio. Learn more in our docs.

It features helper output classes, @Handle decorators, and a this.$alexa.audioPlayer property that makes it easier to access request specific information.

import { AudioPlayerPlayOutput } from '@jovotech/platform-alexa';
// ...

someHandler() {
  // ...

  return this.$send(AudioPlayerPlayOutput, {
    message: 'Starting audio',
    audioItem: {
      stream: {
        url: 'https://s3.amazonaws.com/jovo-songs/song1.mp3',
      },
    },
  })
}

Thank you Alex for building this!

Open Source Snips NLU Server

We have been offering an integration for Snips NLU, an open source natural language understanding service, since the release of v4.0.

With this update, we're excited to make it even easier to build with Jovo and Snips NLU. We just open sourced a Python based server that implements Snips NLU and even the ability to train models dynamically based on our dynamic entities feature for Snips.

You can find the server on GitHub (leave a star if you like it!): https://github.com/jovotech/snips-nlu-server

Thank you Ruben for building this!

CLI Improvements

The CLI was bumped to v4.1 and comes with many improvements:

Thank you Ruben for the updates!

Getting Started with Jovo

There are several ways how you can get started with Jovo:

Breaking Changes

We refactored the Jovo Logger to use loglevel instead of tslog. You can learn more in this PR.

The CLI improvements for the Jovo Model project configuration also comes with a breaking change if you've been using the modelsDirectory property (default is models):

// Before
const project = new ProjectConfig({
  modelsDirectory: 'models',
  // ...
});

// After
const project = new ProjectConfig({
  models: {
    enabled: true,
    directory: 'models',
    // ...
  },
  // ...
});