Building an xAPI Enabled Alexa Skill

Building an xAPI Enabled Alexa Skill

I decided to start my year with a challenge, so I registered for Torrance Learning's xAPI Cohort, where you're tasked with creating an xAPI enabled project. My project idea was no small feat, to build an xAPI enabled Alexa Skill. Not just any Alexa Skill either but an interactive story. The cohort kicked off on Feb 1, 2018 and ran through April 19th. So I joined the slack group and formed my channel, #TeamAlexa. I began planning the project ou on my own, as I waited for others to join my team (you can read my first post here). Once I had teammates, we officially kicked off the project.

Planning

We began meeting via Google Hangouts on early Saturday mornings (7 am PST). During our meetings, we discussed the goals for the project and started fleshing out the tasks that we needed to complete.

We started using a Trello Board to break the project down into tasks. We were able to each pickup tasks from the board. This was helpful in keeping us on tasks.

Storyboarding

The first task we needed to tackle was the actual interactive story. We all brainstormed ideas but three teammates too on the task of creating the story. We used Google Docs to create the story because it allowed us to shared and collaborate in real-time. Samantha Lowe, Erika Nelsen, and Henry Ryng went through a few iterations of the story till we had something that seemed to work. They used Sayspring to test the voice user design out for the story to ensure it had a natural conversational flow.

Building the Alexa Skill

Bryan Wanzer and I took on the task of figuring out what we would need to transfer the story into an actual Alexa skill. But as with everything in life, priorities of our daily lives took over. Both Bryan and I worked independently trying to create the skill. We decided that we would use an Alexa Skill template so we wouldn't have to code from scratch.

We used Codeshare.io to share and collaborate on our code. However, when it came down to building the actual skill there was no way to do it collaboratively, so we each had to try our hand at building the skill. We used the Alexa Skill Console and Lamdba to create our skill - both of these are Amazon cloud technologies.

We followed the directions in the skills template which required that we create the story in Twine. Bryan took this task on. So I worked on trying to figure out how to get the skill enabled with xAPI.

Burning the Midnight Oil

Activity on our team had died down, I got super busy with work and speaking engagements. Bryan had his own fill of craziness. The final week of the project seemed to come around really fast and panic struck me when Allison one of the xAPI cohort organizers reached out to our team to ask when we would be ready to demo - she gave us two date option. I picked the 19th - the very last day.

We didn't have a working skill at this point and I was struggling with a cold. I figured I'd work on the rest of the project on my own and I was determined to get it working. Bryan must have spidey senses because on the 18th he reached out and shared that he was also working on the project. This gave me a great source of energy and hope. Together we began working through the kinks we were encountering in our Lambda functions. I gave Bryan vague instruction on how to install the xAPI wrapper. We both started getting a ton of errors. My head was too fuzzy to think straight. I broke my skill a ton of times, luckily Bryan's skill was working.

We shared code back and forth and slacked our way through. Bryan finally got the code to work sending statements to the LRS. I finally figured out what I had done to break my code - a rouge "}); " had slipped into my code.

We burnt the midnight oil working til almost midnight together. I felt like we were kids back in high school who had left a major project to the last minute (which we did).

Backup Plan

In what felt like a drama-filled adventure of a night, I had also managed to devise a backup plan. I was able to get xAPI working on a skill I had previously created - it was a simple skill with zero complexity. I was really hoping I wouldn't have to use it because it wasn't something the team had created and I felt that I'd be cheating them of all their work. At 11 pm, as Bryan and I worked through the kinks, I decided that even if we didn't get it working I would still demo the skill as is and share lessons learned and would not by no means use the backup plan.

A Working xAPI-enabled Alexa Skill

A little before midnight, we had a working skill. There were some kinks but the skill was working and we were sending statements to an LRS. As sick as I was feeling, once the skill was working I felt revitalized. I felt like I could conquer the WORLD, I could put on my sneakers and run a 1/2 marathon, I could do ANYTHING and EVERYTHING, I could cry! There is no better high than the feeling of great accomplishment.

We weren't awarded medals or noble prize and we weren't getting paid. The satisfaction came from seeing a project through to the end.

Get our code

..what's the use in creating a project that you don't share. I've shared all our files and provided instructions that you can use to create your own interactive Alexa Skill. Grab our file from my Team-Alexa github repository.

We are not submitting our skill to be published in the Alexa skills market, this project was just an exercise in seeing if we can do it. I have to do a little more research on Amazon's policies regarding tracking user data. But in the meantime, you can try out building your own skill using our code.

NOTE: If you are just thinking this is way to itimidating, no worries, check out the new Amazon Alexa Skill Blueprints that let's you create a skill for personal use on your own Alexa devices with no coding required.


Mat Chaudhry

Learning Strategist @ City of Seattle | Learning Technology, E-Learning Development, Hollywood Actor

6 年

Nice job.

Naomi Waldron FAITD

Head of Innovation - BSI Digital Learning

6 年

I loved the description of tools you used to collaborate and design remotely, and also your experience of scrappy 'figuring stuff out' spurred on by a deadline- I think that is increasingly the way we're all working, and it's exciting and stressful at the same time! Great blog post - thank you for sharing.

Tanya Lau

Learning experience design | People focused Technology-Systems-Data through Human Centred Design

6 年

Really felt the blood sweat and tears of your story Myra, nice share & insight into highs and lows of development & pushing through a challenge. It is a good feeling when you finally break through the murk and get something working! Full credit to you both for your persistence and awesome collaboration.

Jeff Dalto, MS

Human Performance Improvement (HPI)/Workplace Learning and Performance Improvement Professional

6 年

This is interesting, and I only half-understand it. Thanks for the insights and the prompt to learn more. Well done and congrats.

Arash Rezaei-Mazinani FLPI

Learning Solutions Manager at Aggreko

6 年

I'm fascinated by this, thanks for sharing!

要查看或添加评论,请登录

Almira Roldan, MBA, DBA的更多文章

  • Can AI really help you be more productive?

    Can AI really help you be more productive?

    Artificial Intelligence (AI) is undoubtedly starting to pique our interest as we think about the way we work…

    3 条评论
  • Blame it on the Vodka

    Blame it on the Vodka

    Trump impeachment trials were in full swing and 2020 started off like every other new year. But something was amiss.

    4 条评论
  • Slow Internet? Let's Fix That!

    Slow Internet? Let's Fix That!

    Is your home WiFi slow or spotty? I’m putting on my Systems Engineer hat and sharing some tips and tricks to help you…

    3 条评论
  • My ATDTK 2020 Session Recaps

    My ATDTK 2020 Session Recaps

    I had the great opportunity to attend and facilitate two Playground sessions at #ATD TechKnowledge 2020 Conference in…

    4 条评论
  • My 2019 in Review

    My 2019 in Review

    Man, 2019 was intense. It’s was filled with new friends, hard work, herculean amounts of brain power, and A LOT of…

    4 条评论
  • Reduce the Size of a Large Video in under 10 minutes

    Reduce the Size of a Large Video in under 10 minutes

    My friend Miguel Reynoso posted a question about reducing the file size of a video. I was short on time but wanted to…

    8 条评论
  • 5 Content Writing Tips For Instructional Designers

    5 Content Writing Tips For Instructional Designers

    Content writing is something that every Instructional Designer does. Whether they do it well or not is a different…

    24 条评论
  • 2018: My Year In Review

    2018: My Year In Review

    "Time flies when you're having fun!" 2018 is coming to an end and we'll be welcoming a new year filled with lots of…

  • A Beginner's Guide to Devlearn

    A Beginner's Guide to Devlearn

    If you are reading this because you're going to DevLearn, I'm so stoked that you will be attending with me; it's only a…

    8 条评论
  • L&D Survey Results

    L&D Survey Results

    I recently created a survey and I shared it with my professional learning network here on LinkedIn, as well as, Twitter…

    7 条评论

社区洞察

其他会员也浏览了