If you’re interested in having me present these talks to your team or user group, please get in touch
Impl. an AWS Lambda function in Java, building and deploying w/ AWS CodeBuild
Desert Code Camp 2018, Oct 6, Chandler-Gilbert, AZ Pecos Campus
Java sometimes doesn’t seem to be a 1st class citizen when it comes to AWS Lambda, but with just a few considerations, it’s easy to implement an efficient AWS Lambda function in Java. To become useful, we’ll also put the Lambda function behind the AWS API Gateway, so that it can be called from the web (i.e. with an HTTP GET or POST request).
Once we have done that we’ll push the code into a Github Repository and move the build and deployment process into AWS CodeBuild. This (still new) AWS service for Continuous Integration and Deployment (aka CI/CD) will pull the code from the Git Repo and build the artifact, puts it into an S3 bucket, from which it is deployed into AWS Lambda …
Come on .. that’s cool stuff: Software Development meets Dev Ops.
Creating an Alexa Skill w/ the newest Alexa Skill Kit for Java
Desert Code Camp 2018, Oct 6, Chandler-Gilbert, AZ Pecos Campus
A short two years ago, I talked about “Bots, Amazon Echo, language user interfaces in general” the slides are still available and the code is of course still in GitHub. However, much has changed and fortunately for the better!
I still belief that Java is a very suitable language to build Alexa Skills and even if you are eventually going to host your skill in EC2 or as an AWS Lambda function, during development, Tomcat is your friend. Running and debugging your skill right on your laptop offers tremendous advantages during the development process. So lets talk about how to develop an Alexa Skill using Java and the latest Alexa Skill Kit for Java. We wil be using Java/Tomcat installed on a Laptop as our hosting platform, quickly put an SLL Cert in place, and develop an Alexa Skill.
Affect in Bot Conversations
Conversational Interaction Conference 2018, February 5-6, San Jose, CA
In the near term, we can assume conversations with bots (voice and/or text) to remain short. With limited or no GUI necessary, the important differentiator of a delightful GUI now plays little to no role. With only limited information being exchanged in short conversations, opportunities for data-driven differentiation may also remain limited, (e.g. Google Home and Alexa Echo perform about equally, when asked for the weather). Deciding which bot, virtual assistant, or device to use, may come down to which is more likable (pleasant, friendly, kind, easy to like.)
This talk explores possibilities of a more personalized, contextual and likeable customer engagement, by using affective computing technologies and emotions analytics.
Java for Serverless Compute with AWS Lambda
Desert Code Camp 2017, Oct 14, Phoenix, AZ
Serverless computing is a cloud computing execution model in which the cloud provider dynamically manages the allocation of machine resources. Serverless computing allows running applications and services without thinking much about servers, runtime resources, or scaling issues.
This talk presents a simple serverless computing application, intended to be used as a template project or model that should help you getting started more easily.
Here are the cornerstones:
- Java 8 is used as the implementation language of the serverless function(s)
- AWS Lamba is used as the Serverless runtime
- Gradle is used as the build automation system to compile, build, and deploy the serverless function(s).
- JUnit 4 is used for unit-testing
- Jackson is used as the the JSON processor to serialize and deserialize objects
- Apache Log4J 1.2 is used as the remote logger on the serverless runtime system
You will walk away with solid knowledge about how to write, test, and deploy Java code on Amazon’s AWS serverless runtime platform.
You will find out how to easily expose your function as a micro web service through the API-Gateway – and leave with a template project in hand, a blueprint or starting point, for your very own Java-based serverless cloud project.
The Conversational User Interface Is a Minefield
SpeechTEK 2017, April 24-26, Washington, D.C.
With VR/AR user interfaces, we leave behind the 2D communication of the mouse pad as we move toward saying exactly what we mean or want. Once used to “talking” with Siri or Alexa, users tend to use voice elsewhere. Chatbots seem to be a transitional step to a future where we “talk” to services. This presentation focuses on voice vs. chat user interfaces and introduces attributes of good chatbot user interfaces.
The path to the CUI is heavily mined and booby-trapped
Conversational Interaction Conference 2017, January 30-31, San Jose, CA
Don’t misinterpret the popularity of messaging apps as a glowing endorsement of chatbots. No one ever claimed that IVRs were popular, just because people ordered landlines phones.
While they can benefit greatly from each other, there is no need to create a dependency between the Conversational User Interface and Machine Learning. I.e., it is not hard to imagine how a Conversation User Interface can be put to good use with a currently existing service infrastructure. However, a bunch of cruddy IVR style bots is the shortest path to nuking this nascent opportunity. This talk tries to identify those use cases that truly work in a conversation UI, by providing customer benefit and delight. An all-out effort to not fall into the trap of re-creating the much hated IVR experience.
Patterns for Natural Language Applications – beyond declaring User Intents
Mobile Voice Conference 2016, April 11-12, San Jose, CA
Simple patterns, like adaptive greeting, randomness, maintaining context, or predictive follow-up, can make an already good Voice User Interface spectacular.
Bridging the gap between Speech Recognition and Business Logic
SpeechTEK Conference 2015, August 17-19, New York City, NY
Mobile Voice Conference 2015, April 20, 2015, San Jose, CA
Speech Recognition is readily available for integration into mobile and IoT projects and products. It’s affordable, mostly accurate, and incredibly fast, when streamed. Context-free recognizers require post recognition processing, i.e. dictionaries, string-to-sound language encoders, etc. Web services like AIML/Panadorabots, Wit.ai, and Api.ai, and Amazon’s Alexa Skill-Kit support an declarative approach to define rules to identify user intent and entities. Let’s try to make sense of all of this.
Mobile Voice Conference, March 3rd-5th, 2014, San Francisco, CA
Voice-enabled mobile application provide users access to information instantly, naturally, and almost effortlessly. Simple Voice-Commands however, have failed to gain traction, probably because it’s hard to remember the exact utterance of a command phrase. Instead, more lenient and flexible, conversational style software agents have been more successful.
When it comes to communicating results back to the user, a text response often seems enough. Still, to provide a truly hands-free, eyes-free user experience, a text response needs to be synthesized and played through the phone’s speaker. The quality of the speech synthesis is determined by many factors, including sound quality (sampling rate, dynamic range), prosody (rhythm, stress, and intonation of speech) and maybe less obviously, by Emotional Prosody, conveyed through changes in pitch, loudness, timbre, speech rate, and pauses. This talk will share some ideas, concepts, and the technology needed, to build a prototype implementation that synthesizes text that was augmented with emotional values.
Chatbots 3.3 Conference, March 23, 2013, Philadelphia, PA
You don’t have to put you ear on the ground, and still, can literally hear it coming. The broad introduction of Voice User Interfaces, allowing the interaction with mobile devices through voice, may become the biggest advancement in user interface design since the transition from text-based to graphical user interfaces.
Voice User Interface
How to voice-enable your mobile application
Android Speech Recognition and Text-To-Speech – How to voice-enable your mobile application “What does a weasel look like?” – We are taking a closer look at Android’s Speech-To-Text (STT) and Text-To-Speech (TTS) capabilities – and will develop and deploy three small apps, each a little more capable, and finally walk through the steps of building a voice controlled assistant.
Android uses Google’s Speech-To-Text engine in the cloud but has Text-To-Speech capabilities baked right into Android since Android 2.0 (Donut), using SVOX Pico with six language packages (US and UK English, German, French, Italian and Spanish).
While Speech Recognition, Interpretation, and Text-To-Speech Synthesizer are addressed by phone equipment- and OS makers, the core problem of how to capture knowledge and make it accessible to smart software agents is ignored and all service like SIRI or Google Voice Actions remain closed, i.e. not easily extendable with 3rd party information/knowledge.
.. see slides of some of my previous talks.
Get In Touch.
If you are interested in working together, or in having me present one of my talks to your team or user group, please do get in touch.