As its title implies, this book focuses on programming voice interfaces for connected devices. We wanted to share what we’ve learned from experimenting with some of the various platforms currently available, such as Amazon Alexa, API.AI, and others. We also tried to condense the choices to some of the main players and provide step-by-step, how-to examples, allowing you to dig in quickly and start playing. Our goal was to create a reference guide to voice interfaces in under 200 pages. Some of the topics in this book could very well have entire books dedicated to them. We obviously had to make hard choices on what to include and exclude, so we focused on trying to expose you to what’s possible; to pique your curiosity to dig deeper and continue experimenting on your own.
We assume you have some experience programming with Node.js and/or C#, but you can still work through all of the examples even if you are a relative “newbie” to coding.
Voice interfaces are here to stay and will only get more intelligent and human-like as time and technology march forward. We hope this book encourages you to be part of this new and exciting platform. We look forward to reading about you in the future and all of the incredible experiences you’ve created using voice-based technologies.
There are only two main requirements for readers of this book. The first requirement is some level of experience programming in either Python, C#, or Node.js. Second, simply a desire to learn. We wrote this book for all the “makers” out there—those who live to learn and experiment, and who love to tinker and find technology-based solutions for everyday problems.
The following typographical conventions are used in this book:
Indicates new terms, URLs, email addresses, filenames, and file extensions.
Constant width
Used for program listings, as well as within paragraphs to refer to program elements such as variable or function names, databases, data types, environment variables, statements, and keywords.
Constant width bold
Shows commands or other text that should be typed literally by the user.
Constant width italic
Shows text that should be replaced with user-supplied values or by values determined by context.
This element signifies a tip or suggestion.
This element signifies a general note.
This element indicates a warning or caution.
Safari (formerly Safari Books Online) is a membership-based training and reference platform for enterprise, government, educators, and individuals.
Members have access to thousands of books, training videos, Learning Paths, interactive tutorials, and curated playlists from over 250 publishers, including O’Reilly Media, Harvard Business Review, Prentice Hall Professional, Addison-Wesley Professional, Microsoft Press, Sams, Que, Peachpit Press, Adobe, Focal Press, Cisco Press, John Wiley & Sons, Syngress, Morgan Kaufmann, IBM Redbooks, Packt, Adobe Press, FT Press, Apress, Manning, New Riders, McGraw-Hill, Jones & Bartlett, and Course Technology, among others.
For more information, please visit http://oreilly.com/safari.
Please address comments and questions concerning this book to the publisher:
To comment or ask technical questions about this book, send email to [email protected].
For more information about our books, courses, conferences, and news, see our website at http://www.oreilly.com.
Find us on Facebook: http://facebook.com/oreilly
Follow us on Twitter: http://twitter.com/oreillymedia
Watch us on YouTube: http://www.youtube.com/oreillymedia
Special thanks to Walter for inviting me to participate in this book. It was a fun ride, my friend! I would also like to thank those who have mentored and supported me along the way. Without their support and encouragement I would not be where I am today. I can’t possibly name them all, but would like to give a shout out to my friend and coauthor Walter, from whom I have learned so much, my favorite tech evangelist, David Isbitski, and finally, Bart Butler, who has helped me in more ways than I can mention.
Thanks to our editor Jeff Bleiel—his patience and guidance throughout this process was invaluable.
Finally, I want to thank and dedicate this book to my wife, Vivian, and my two incredible boys, Steven and Tyler. Your patience and support energize and motivate me every day.
I would like to thank David Noderer for connecting me with Susan Conant at O’Reilly. Thank you both for helping kick off this amazing journey. Thanks to my coauthor in crime, Bob, for saving my ass and helping take the book to the finish line. A special thanks to our editor, Jeff Bleiel, whose patience with my slacker procrastinating ways continues to be extremely appreciated.
I would also like to thank Cathy Pearl and Chris Maury, whose constructive and valuable feedback on the book helped us elevate the content further.
Additionally, I would like to thank those whose advice and mentorship throughout the years were critical in shaping my career and role as a technologist. Some of those awesome folks include David Clarke, Chris Curran, Dan Eckert, and David Isbitski. There are too many to name here so for those unmentioned, you know who you are and know that my thanks goes out to you as well.
Most importantly, I would love to thank and dedicate this book to my family, specifically my amazing mom and sister, my wonderful wife, Monica, and my two all-grown-up sons, Derek and Kyle. My family’s love and support is why I do these projects to begin with.