Developers from Building a Misty Alarm Clock Skill with Ian Bernstein
A couple of weeks back, Ian Bernstein, Misty’s founder, shared his unboxing video of Misty II. She was hot off the production line in China. Since then, we’ve delivered dozens of Misty II’s to backers around the country (and there are many more on the way)!
An early thought for anyone expecting their first robot is what skill to build first. We asked ourselves, “Who better to talk to about building his first robot skill than the mind behind said robot?” So, today we’re sitting down to talk to Ian about the very first skill he built and what that experience was like for him.
What inspired the China-Time-To-Leave-Alarm-Clock skill to be the first one you built for Misty?
This was actually the second skill I built from scratch. The first was just an hourly chime. I built this alarm clock skill because I want Misty to do things for me throughout the day and time is an important piece of that.
My plan is to build all the small pieces as individual skills and then when I have enough of these pieces built, start to assemble them into a much larger assistant skill. I want Misty to wake me up in the morning and follow me around as I’m getting ready for my day. Be there when I get home from work. This was just one of many building blocks I’ll need, and it seemed like a good a start as any.
(Also, our team in China might have been late a few times to catch our bus to the factory and I thought this would be a friendly way to remind us to stay on time.)
How did you build this skill? For example, did you use any third-party APIs?
While you were building, did you run into anything unexpected?
I did find a couple of things that I didn’t find as intuitive as I thought it could be. After talking to the team, we are working on ways of improving it. We would love to hear the thoughts and suggestions of all of our backers/customers, too, so we can keep making Misty better!
Why did you share your code?
The only way we’re really going to create a large step function in robotics is if we all build off of what each other is doing instead of all having to start from scratch.
Even if it only saves you 30 minutes (or less) to just copy and paste my code, that’s still 30 minutes you could have spent building something bigger! And then, of course, if you share that bigger thing the next developer that comes along can start there and make it even bigger.
Pretty soon, we’ll have very meaningful and complex skills for Misty that would have been too time-consuming for a single person to create on their own from scratch.
What types of IoT things could this be connected to?
I hadn’t really thought that far ahead but it could connect to a smart dimmer like we’ve demoed with Misty in the past so that when the alarm goes off it starts to slowly turn the lights on. I use blackout curtains in my bedroom so this might actually help me get up in the morning and it wouldn’t be hard because I also already use wifi-connected RGB lights.
Why use Misty versus your phone alarm clock or a traditional alarm clock?
Honestly, this alarm clock skill on its own doesn’t have much of an advantage over my phone alarm other than it’s cool coming from Misty. I look at it more as a building block. Alarm + Future Read My News Podcast Skill + Future Follow Me Around The Apartment As I’m Getting Ready For Work Skill now becomes something my phone or Echo with Alexa definitely can’t do.
Put a few of those use cases together and Misty has suddenly become a very powerful device that we’ve never had before.
Could personality come into play in this alarm clock skill and if so, how?
Absolutely! If it was a morning alarm, maybe she starts out with a soft alarm and gradually starts nagging you to get up more forcefully. You could incorporate facial recognition, too, so if she sees you’re up and out of bed she could turn the alarm off automatically and say good morning.
There are so many ways to make it a more seamless and enjoyable experience by using her personality instead of the horrible beeping we’re all so used to.
Thanks for sharing today, Ian. Before we let you go, will you tell us if there are any extensions of this skill you’d like to see other developers build?
Thank you! Besides the examples above and others we’ll be discussing on the Misty blog, there are some great ideas in the Misty Skills section of the Community Forums for more building blocks people can use. I’ll also be adding to my github if anyone wants to connect there, too.