Inspiration
I was inspired by e-mail from Cassie Breen and also by the idea of bringing YouTube content with voice control capability to Echo devices with the screen.
What it does
TubeScout is a multimodal Alexa skill that works on Echo Spot, Echo Show and Fire TV. The skill allows searching and playing YouTube videos with the keywords in a search query provided by the user.
The skill queries YouTube API with the keywords from a search request. The keywords can be a phrase or standalone words.
Below are examples of working search queries:
Launch:
Alexa, open Tube Scout
Search
Alexa, ask Tube Scout to play video Alexa, ask Tube Scout to find video Alexa, ask Tube Scout to start a video Alexa, ask Tube Scout to play video with cats in funny hats Alexa, ask Tube Scout to find video with cats in funny hats Alexa, ask Tube Scout to start a video with cats in funny hats
Navigate
Pause: to pause the video - say "Pause" or tap the screen Resume: to resume the video - say "Resume" or tap the screen Next: to skip to the next video - say "Next"
How I built it
I build it using googleapis and google-auth-library libraries, the code is written in node.js 8.10
Challenges I ran into
There are challenges with YouTube content geo-restriction and licensing. Not all content is available in all countries. At the moment when the skill is invoked it provides an embedded video URL back to the Echo device inside an APL directive.
There is no easy way to figure out if content is restricted or not on user's device until user tries playing it. Currently APL doesn't have in-built error handling for video content, and If content is restricted the user will get a black screen and needs to explicitly skip to the next video.
Accomplishments that I'm proud of
It was a great experience of deep diving into APL and I hope that the skill will be used by users of Echo devices with the screen.
I myself found it very useful to be able to watch AWS re:Invent videos and navigate using just voice.
Plans for the future
I'm planning to add a satellite web services where users can build their playlists and using connected login watch playlists.
Log in or sign up for Devpost to join the conversation.