GitHub - kubycsolutions/new-sounds-on-demand, alpha 0.1.0 released

amazon-alexa

#1

If folks want to see the mess I’ve been making for the past few months, I’ve just posted the code onto GitHub. Should be publicly viewable.

NOT the cleanest thing I’ve written by a long shot – “whittled” from the Jovo podcast player example, while learning Alexa, Jovo, and Javascript simultaneously, so I’m sure it’s far from idiomatic for any of them. But it seems to be working, and it illustrates a somewhat richer set of interactions than the basic sample did. And I’ve tried to comment the less obvious parts of the code.

Now I need to get the Google version running, move the back-end off my own machine, do some of the other things enumerated in the app.js comments… and then maybe I’ll be ready to ask Amazon to add it to the skills library.

I haven’t yet opened an issues tracker for it, but comments, suggestions, questions, and (reasonable) complaints are welcome.


#2

I’m trying to get the Google side of this working now. I can get it to play the most recent episode, or the live stream, or a random episode.Sometimes it will accept an episode number But I’m not seeing Jovo display the incoming event JSON for Google events, which makes debugging hard… and it isn’t clear I’m getting events events for commands like next or previous at all, even if I prefix them with “Tell New Sounds On Demand to…”.

The Jovo sample/tutorial didn’t seem to do anything special for these, so I’m a bit confused – I would have expected a sample to show equivalent behavior

Any advice or clarification would be more than welcome!


#3

First off, congrats on shipping. Great to see the project open source.

Unfortunately, Google Assistant doesn’t support events like pause or stop, as far as I can remember. It does pause, but does it without sending a request to the Action.


#4

That does seem to be the case.

One non-obvious bit of behavior: If you want to be notified when the MP3 file ends, you need to use .ask() rather than .tell() in the Google code so the conversation stays active. (You did so in the sample, but I don’t remember this being called out as a potential pitfall. If it isn’t, it might be a good idea to add that. Someday, of course, it would be nice to wrap this all under a Jovo layer so we don’t need to code each platform explicitly.)

So for now, “Hey google, stop” will not set a bookmark but “Hey google, tell (my application) to stop” might…? Not optimal – I really want behavior to be more similar across the platforms – but at least it should run.