Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage Articles Book Review: Alexa Skills Projects by Madhur Bhargava

Book Review: Alexa Skills Projects by Madhur Bhargava

Key Takeaways

  • Data used in digital assistant applications may travel over multiple devices and data hubs. It is important to ensure that data is secured at every intersection to avoid any ‘weak links’ in the overall architecture.
  • GDPR has imposed regulations and privileges for consumers and their right to privacy. Developers should be transparent with how consumer’s data is being used and understand their obligations to regional and international privacy legislation.
  • Digital assistant platforms continue to evolve quickly and are frequently updated. Developers should be prepared to deal with tooling and API changes as a result.

In November 2014, Amazon announced Alexa, alongside Echo, its complementary hardware device to enable conversational applications between humans and machines. Users interact with Alexa by issuing commands and in return Amazon will try to fulfill that request and provide a response. Common use cases include getting the weather, the score to a sporting event or playing a song from a popular music streaming service.

Amazon has created a developer platform that allows developers to build skills that users can interact with through Amazon devices, such as the Echo. By allowing third parties to build their own skills, the Amazon platform continues to grow, including in the areas of home automation where users can configure integrations with platforms including Belkin, IFTTT, Uber and Nest to name a few.

InfoQ recently had the opportunity to interview Madhur Bhargava who wrote a book on Amazon Alexa called Alexa Skills Projects which was published by Packt Publishing.

In this book, Madhur introduces developers to Alexa and the Amazon platform that can be used to build these skills. The book includes many hands-on examples and allows developers to quickly experience conversational application development. At the end of the book, Madhur provides a glimpse into the future and provides readers with some of his insights on the future of digital assistant capabilities.

InfoQ: Thank-you for agreeing to this interview Madhur, for the benefit of our audience, can you please introduce yourself?

Madhur Bhargava: Thank you for having me on this platform. To introduce myself – My name is Madhur Bhargava. I am a Software Engineer by profession specializing in Mobile and Connected Technologies. I have over 9 years of experience in using Mobile Technologies such as Android, iOS & Xamarin. During this period, I have gathered domain & business knowledge in Entertainment, Healthcare, E-Commerce, IoT and Oil & Gas while providing value to various clients such as Electronic Arts, Roche & Philips to name a few.

InfoQ: Why did you decide to write this book and how do you feel readers will benefit from reading your book?

Bhargava:  At the end of 2017, I was working on a connected healthcare product which had Amazon Echo integration in the product roadmap. We were able to do the integration successfully however faced significant challenges during the process which were mainly because the technology surrounding Voice based Interactive digital Assistants was fairly new and a certain learning curve associated with it. Also, the knowledge was fragmented and although the initial documentation was easy to come by, it was difficult to find guidance for matured issues. This led me to think that it would be valuable to share my technological findings with the audience so that they should not face the same issues which I encountered on my learning trajectory and this was what led to the writing of this book. I strongly believe that this book can serve as a primer for Intelligent Voice based personal assistants, especially Alexa and can vastly accelerate one’s learning rate regarding programming Intelligent Voice based personal assistants.

InfoQ: For whom is this book intended for?

Bhargava:  The book – “Alexa Skills Projects” starts with a gentle introduction to Voice based Personal Assistants and then goes on to deep dive into Alexa(and Amazon Echo), which is a Voice based Personal Assistant by Amazon, & its Programming concepts . The book is intended for anyone and everyone, regardless of their experience level who want to have a deep understanding of the underlying technology that drives Amazon Echo, Alexa, and how it can be integrated with the Internet of Things to develop hands-on projects.

InfoQ: Which chapter did you enjoy writing the most and why?

Bhargava:  Actually, there are two chapters which are my personal favorites – The first chapter provides a comprehensive introduction to various Voice-based personal assistants. The chapter is written in such a way that it can be easily read by anyone regardless of their experience.

My second favorite chapter is the 6th(second last) chapter. That chapter combines the crux of the whole book by enabling the reader to create a Smart Home skill from scratch. 
I really enjoyed writing these two chapters as they can provide massive knowledge value to the readers and also, I thoroughly enjoyed writing these chapters as it allowed me to research and expand my personal learning horizon.

InfoQ: For developers who are just getting started with Alexa Skills, what are some of the initial obstacles that they are going to encounter?

Bhargava:  Learning how to write Alexa Skills is a rewarding choice in itself. However, Voice Assistants in general & Alexa in particular are still in their infancy. I personally experienced this while writing this book, when Amazon completely re-vamped their Alexa developer console & their API(s) which lead to a significant re-write of the book in the mid-way. I feel that this is akin to developing on rotating platform however as the technology matures, these initial obstacles should fade away.

InfoQ: In your book, you have a chapter on Home Automation, are you able to provide some tips on how developers can secure their Home Automation Alexa Skills?

Bhargava:  Home Automation, most of the times involves sensor(s) exchanging data with device(s),usually a mobile device, which in turn interacts with a backend to process or store this data. Since the data flows through multiple channels and through multiple hubs, it is of crucial importance to ensure that the security of data is accounted for in each channel & at every hub. For the above-mentioned scenario, it is imperative that the data flow between the sensor(s) and the device(s) happens on an encrypted channel. It is also necessary that if a hub comprises of a Mobile App, then the persistent storage is securely encrypted. Also, source code of the App should be properly obfuscated otherwise it may become a victim to reverse engineering by one of the many users of the App. Last but not the least, the data should again be properly encrypted while flowing towards the backend even though TLS provides a certain level of security. Also, it goes without saying that the data should always be exchanged between only trusted identities by leveraging SSL Pinning and secure key exchange (e.g. – Diffie-Hellman).

InfoQ: Privacy continues to be a hot topic when it comes to digital assistants, what can developers do to instill confidence in users that their data is not being misused?

Bhargava:  Thank you for bringing this up. You are absolutely right and just to add to it, in the light of some recent events, a consumer study showed that now 87% of the Americans worry about their privacy of data. This actually suggests that the future of digital assistants and Smart home devices will be built on trust & Manufacturers and developers will need to earn the trust of their consumers. I strongly believe transparency at all levels is the key here.  Developers should be very transparent about how they intend to use the user data. Also, it usually works best when the users feel that they are in control of their own data & EU has already rolled out GDPR to ensure just that. If developers across other countries apart from EU too can also ensure the same level of control to their users, then there is almost nothing left to the imagination of the users which will lead them to have more confidence in the software and the personal data it uses.

InfoQ: What is the most innovative, or impressive, Alexa Skill you have encountered?

Bhargava:  In late 2017, I got an opportunity for a professional visit to the United States. At that time Amazon was running a competition in the local educational institutes to design AI oriented skills which can intelligently converse with the Amazon Echo/Alexa users on a wide range of topics. These skills were only available in the US and were being advertised on the Echo. The users could just invoke them like any other skill and Amazon used to gather user feedback regarding the quality of the conversation after every interaction. Although still experimental, but the conversational capabilities of those skills were by far the most advanced interactions I’ve had personally with Alexa. I vividly remember having a 15-20 minute conversation regarding the topic of ‘movies’ with a skill. It was un-doubtly the most immersive, innovative and impressive skill that I have encountered so far.

InfoQ: What do you think is the future of Alexa and digital assistants?

Bhargava:  The last chapter in the book actually covers that. It is predicted that by 2020 75% of the households in the US will have a Voice based personal assistant. Amazon has already foreseen this and hence they are trying to onboard as many developers as they can to offer relevant, useful & engaging skills to the users. In a nutshell, the market of Voice based personal assistants will only grow from here.

About the Book Author

Madhur Bhargava is specialized in Wireless and Mobile Computing from CDAC ACTS Pune, India. He started his career at Electronic Arts as a software engineer working on mobile games. He later addressed problems in personalized healthcare, leveraging the power of mobile and voice computing. He is proficient in various mobile/embedded technologies and strives to be a software generalist. He believes that good software is a result of talented individuals working together as a communicative team in an Agile manner. He likes to spend time with his family, read, and watch movies.

Rate this Article