Over the last couple of months, we’ve had an influx of new developers integrate VoiceInsights into their voice experiences. We’ve worked closely with several of you to provide a best-in-class product, combining actionable analytics with near real-time performance.
Today, we’d like to focus on “performance”, and why it matters in voice-first applications… a lot!
If you’re making server calls to get data to/from your skills, voice response performance should be top of mind, for two reasons:
- First is the dreaded fail response of “I’m having trouble accessing the skill,” which in many cases comes from hitting the default 3 seconds Lambda timeout.
- Second, is your users’ experience: bumping the timeout and waiting even an extra 1-2 seconds feels unnatural and the magic of voice interaction is lost. Amazon has done a good job making Alexa uber-responsive, and you should too – this is what your users expect.
On that note, today we’re announcing some performance upgrades to the VoiceInsights product, that ensures integrating our SDK will continue to be invisible to your end-users, no matter where they are in the world.
What we’ve done:
VoiceInsights APIs are now co-located at the edge, with Lambda instances
We’ve been working hard to reduce the network latency from in-skill Lambda HTTP requests for VoiceInsights event tracking, by co-locating our APIs into the same availability zones that Lambda supports for Alexa development. We recommend you do the same with your APIs, to minimize latency.
This becomes especially important as Alexa rolls out internationally to the UK, Germany, and beyond, and where the voice response SLA should be upheld.
Less time spent on sending events, even if a couple hundred milliseconds, will improve your user experience, reduce overall response time variance, and prevent time outs.
We re-architected our backend from scratch as a decoupled data pipeline
Being on this performance crusade, we just couldn’t stop there! During the profiling phase of the project, we discovered our API write path could use an upgrade. We ended up re-building the APIs and application logic layer to favor a write-ahead log, in-memory write buffers, and AWS’ SQS before persisting to the database. The combination of decoupling, and focusing on the right architecture quality attributes netted a performance boost we were happy with.
The headline is that we could do better than simply patching our tracking events from HTTP POSTs to database writes, so we did!
Together, these improvements have decreased the VoiceInsights SDK event tracking latencies to a new low, and also helped us advise customers on performance ‘best practices’ for their entire voice application, not only the VoiceInsights SDK integration.
We’re proud to provide you with a best-in-class analytics solutions, so you never have to worry about integration cost, and you can continue to focus on building great experiences.
The VoiceLabs team