I have taken to writing my own AVS client in C++ and for this reason I've had to deal with most aspects of AVS at a low level.
I have some requests though:
- Recurring timers and alerts work by resetting that timer or alert everyday. The client has no knowledge that the timer being set is recurring or when it will next occur. This works fine for always connected speakers but may not work for occasionally connected devices.
As a fix I suggest that AVS send along with the initial SetTimer directive whether or not the timer is recurring and what that schedule is. Older clients can just ignore this additional information as the current spec states and continue to delete timers after their are complete. Optionally the client can express in the SetAlertSucceeded event whether or not it is handling the recurring information so that AVS no longer needs to refresh the alert. OR AVS can continue sending subsequent SetTimer directives with the same token which new clients can just ignore while older clients can continue to work as they have before.
- Clearly Alexa supports communication. Are there any plans to expose these API's to 3rd party developers? I personally would be fine if just the API's were exposed and the AVS Device SDK were updated later on.
- My app has received accidentally what appears to be directives to launch Android apps. I know these directives are no documented and the spec suggest ignoring them. Are there any plans to document them?
- Finally can you add functionality in the API for a device to update it's own location. Users like to interact with Alexa outside of the home and when they ask questions like "how long does it take to get home?" the answers are always based on the devices location which might be mobile.
I hope I'm asking these questions in the right place.