ShowImageCard misbehavior when starting audio



I’ve been starting to add display output to my skill. First steps are now checked in on Git, if folks want to see what I’ve done.

Mostly, it’s working reasonably. I need to do a bit more work to have it automatically handle changing the display when we advance to the next episode (which seems to be a challenge when using Alexa’s queued playback, sigh), to track the “what’s on now” metadata from the live stream (has to be timer driven, alas), and a few other edge cases. But…

BUG: Sometimes it puts up the desired per-episode showImageCard() display, then immediately falls back to the generic skill-name-on-grey-background display. This seems to be related to the skill initially coming up; after the first interaction it seems to be OK. I’m working on coming up with a way to reproduce this reliably; will post an update when I have that. Since I haven’t seen this with other skills on the Show, I’m guessing that it’s a bug in Jovo’s interaction with the display; order of operations for audio versus card, perhaps.


More details:

Once the skill is playing, the name-free interactions “Next” and “Previous” present the card and audio correctly. Ditto “Ask New Sounds On Demand for Next” or “… Previous”.

However, Ditto “Stop”, Open New Sounds On Demand" and “Previous” presents the card, plays the audio, then switches to the generic skill card (“new-sounds-on-demand Now playing” with the dark-grey note graphic.) Ditto “Stop” and “Previous”.

Name-free “Pause” followed by “Ask New Sounds On Demand to resume” also the wrong behavior (my card, then generic card). Ditto “Pause” followed by “Open New Sounds On Demand” and telling it to “Resume”.

So this seems to be something related to the first play after the Echo Show has been in stopped state, as opposed to responding while this skill is the one that’s actively playing.

Unfortunately, figuring out whether that’s a Jovo misbehavior or a fault in the Echo Show would require digging into the guts of Jovo, and I haven’t started trying to do so yet. Any thoughts on how to isolate the problem so you can diagnose and fix it would be welcome. I am guessing that the problem could be provoked with other Jovo audio-player skills, but if we need to give you access to a beta of this one, or indeed a completely separate instance so you can instrument its guts, we can do so. Or you can tell me what Jovo instrumentation to turn on (or send me a test version of Jovo) and I’d be glad to try that and report back.

POSSIBLY RELATED: After displaying my card for a while, the Echo Show falls back to its generic idle display. But when the generic skill card is being displayed it stays on screen. What’s different between that and Jovo’s showCard request (other than their being formatted on screen quite differently)? That may or may not be a clue to what’s happening.

@Jan? @AlexSwe? How can I help you help me solve this?


Hm. This seems to be something related to the very first use of the skill, when I came in via the NEW_USER path.

That first time, I get the episode card, then it immediately fades to the generic audio-player card with skill name, “Now playing”, an empty image and an “in progress” moving-bar animation. Touching this screen brings up the playback control buttons.

On subsequent uses, the episode card stays up for about a minute and then fades to the clock screen. I can get to the audio-player card by swiping down and then tapping in the “Now playing” area at the bottom of the screen.

What I’d like is for my card to stay up while I’m playing the audio.

Ideally, what I want is a combination of my card and the “Now playing” card – my text and image, with the in-progress animation and one-touch access to the playback controls, staying on screen until the user does something else – like the Alexa native music players.

Even more ideally, when this Jovo application ran in other platforms, it would behave like their native music players.

… Yes, I know, I’m still using Jovo v3 so I can 't really blame you if the answer is “If v3 isn’t doing what you want, try v4.”