The last year has been a fun ride. Since we open-sourced and started talking about the ideas behind Violet we have been able to learn lessons from the experiences of how some of the best Voice Apps have been built.
Not only have we built these into Violet, but we have also been talking about them at different places.
A Conversational Flow Language
We learned that the temporal nature of voice and users earlier familiarity with speech means that getting the User Experience right in the Voice world is far harder than in a Mobile or Web world.
Team end up needing to spend a fair bit of effort designing a good voice conversation. We have therefore pulled together a number of Conversation Design Resources.
Beyond just designing a good voice conversation, teams need to also iterate on the voice scripts once they have it implemented. This iteration can often be hard because of the large amount of state-management code in most Voice Apps.
We noticed that Voice Apps essentially consisted of one of a few ‘user-experience design patterns’. These design patterns resulted in us defining an HTML-inspired Conversational Flow Language (and added support for it into Violet).
Improved Developer Focus & support beyond Alexa
As we learned of the need to better support Conversation Design, we also realized that most Voice Apps need a significant amount of business logic. We also realized that the code behind a voice app could easily become intertwined and that it would be helpful to allow developers to separate the Conversation Design from the Business Logic.
We have updated Violet’s API’s to help make such separation of concerns easier. Also, as we received feedback from developers we have improved API documentation as well as now we have a tutorial for building Voice Apps using the Salesforce API.
As we received requests for conversations running on more devices, we added support for Google Dialogflow. This has allowed us to build actions for Google Home as well as provide voice conversations on mobile devices.
I also presented at Dreamforce again this year in a session focused on helping developers build voice skills on Violet. You can see a video of the presentation.
I am going to be sharing more of these lessons here in the upcoming months.
The learning this year for all of us would not have been possible without the collaboration of a number of people. In particular, I want to thank Mitchell Harris at the RAIN Agency, Steve Tingris at Dabble Lab, and Diana Deibel at Grand Studio for collaborating on these ideas.