Inspiration

I came up with it when the TimerAPI was GA to the public and could be used in skills. It can make boiled eggs with different finish (Hard boiled, Soft-boiled....). Just launch the skill once. This way you don't have to keep playing music all the time, and you can turn off the timer by voice if you don't need it.

What it does

You can make your favorite boiled egg just by specifying the size of the egg. Because the setting time is changed depending on the size of the egg. It can be started even with one shot launch, so it is very easy to use and you can make the best boiled egg. I used APL animation to make the work easier to understand.

How I built it

I used Visual Studio Code and ASK CLI v2. Basically, Hello World generated by ask new I got a sample Timers API Demo from GitHub. I referred to it. JSON of APL and APLA was handwritten with a text editor without using tools.

The picture was made by MS PowerPoint. The music was made by GarageBand.

It was difficult to decide the time of the timer to set.

Challenges I ran into

I had two problems.

  1. APL screen is refreshed.

    Problem

    I set APL directives for all handlers to support one-shot launch, but the screen refreshes every time the handler is called.

    Solution

    It was solved by discriminating by Alexa.Presentation.APL included in handlerInput.

    requestEnvelope["context"]["Alexa.Presentation.APL"]
    
  2. The timer API permissions cannot be set from the Alexa app.

    Problem

    There was a problem with the code generated by ask new. That's because the code didn't expect the Alexa.getLocale function to receive an Alexa.Authorization.Grant.

    Alexa.getLocale(handlerInput.requestEnvelope)
    

    Solution

    I18next was causing an error in the interceptor, so I solved it by avoiding this.

Accomplishments that I'm proud of

I was able to understand APL and APL for Audio very much. The combination of APL commands and APLA creates great skills. I am now able to make insanely delicious boiled eggs.

What I learned

Refreshing the APL screen. Avoiding unnecessary screen refreshes reduces user frustration.

Coexistence of APL and APLA. I was able to experience which directive was effective first.

What's next for Mr. Boiled Egg

I wanna evolve this skill even more. I wanna use Direct skill connections and the LAUNCH_TASK operation of the Timer API to direct the recipe skill after the timer rings. The recipe is APL and animated.

Share this project:

Updates