Software Development UkraineSoftware Development Outsourcing Provider in Ukraine

Introduction

The customer contacted Onix team with the idea of creating a skill for Amazon Echo that would help people learn about birds in a conversation-like manner. With this skill, Alexa users can enjoy birds’ singing while indoors and also receive educational information about the species that is voiced by the smart assistant.

The skill was developed for Birdzilla, an informational website that currently contains more than 600 profiles of birds of North America and offers free subject related resources, news and guides.

Approach

The goal of Birdzilla Alexa skill is to educate about birds in a comfortable and relaxing atmosphere via audio, without the need to use a computer or smartphone. Users learn about various birds and hear their songs.

The profile information about each bird consists of a song file, comprehensive details about a bird’s natural habitat, lifestyle and a photo gallery. Alexa’s skill successfully introduces all these features to users through Amazon Echo and a companion mobile app.

Major skill features

Birdzilla Alexa skill offers the following features:
  • A user can get bird data, including the card with a bird’s
    image that is displayed in Alexa’s companion app or
    display enabled Echo devices.
  • A user can hear a bird’s song.
  • The skill catches the context. Once the bird data is read, a
    user can ask to play a bird’s song.

Major development challenges

The main challenge faced while working on Birdzilla skill was the lack of the source code access on a client’s server. As a result, bird data, images, and audio files are fetched from a web page of a specific bird on the front-end.

During the development process, our team had to fix the problem with the format and quality of bird songs audio files. The audio files present on a bird web page are in a format that is not supported by Amazon Echo and to play audio from the website audio file had to be re-coded in a different format. It also helped us resolve the problem with the sound quality.

Studying birds is more compelling when a user can listen to a story about a bird and see a bird’s image on display enabled Echo device and in Alexa companion app.

Another challenge with Birdzilla skill relates to sending graphical and audio data to Alexa. Self-signed certificates could not be used for this purpose and a full-running server with HTTPS has to be set up.

For whom this product is for

This Alexa skill would be appreciated by the fans of birding
and any individual taking interest in birds that they see
locally outside.

Technology stack and solutions

During the development of Birdzilla skill for Amazon Alexa, we have developed and finalized our own SDK for PHP and Node.js. This is how a user receives the same experience with the skill as with the website: you can listen to a bird’s singing, hear a story about it and see how it looks in the companion app or on display enabled Echo device.

To make Alexa produce a bird’s song, for conversion, we used ffmpeg - ffmpeg -i <source-file.mp3> -ac 2 -codec:a libmp3lame -b:a 48k -ar 16000 <output.mp3>.

he skill was written based on our custom PHP framework (https://github.com/ripxxx/alexa_php_sdk).

Result

The skill development has been completed and tested and we are waiting for the customer’s approval to publish it at Alexa Skills Store.