Re:Cap Re:Invent

The re:Invent is the biggest AWS conference in the world.  The post is a self-report(retrospective) at the re:Invent.

https://reinvent.awsevents.com/

 

Meet with Alexa EU Team

I went to join the breakfast with Alexa EU Team.

I helped to make AWS Certification in August.

  • Assisted in the development of AWS Certification Examinations by serving as a subject matter expert.

They are Amazonian, other Alexa’s expert and AWS Hero.

 

Stay together

We stayed a condominium with JAWS-UG community members. Here was the best place! It’s center of Las Vegas.

And, All JAWS-UG KOBE core organizers gathered at Vegas for the first time. It took for 3 years. That was my pleasure!

Meet Alexa Champions

 

As Alexa Champion, I and Hide joined the Alexa Champions meetup.

We could introduce our activity and discussing how to enhance the Japanese NLU.

In the future, They may join us.

 

KeyNote

Ruby! Ruby! Ruby!  Lambda!Ruby! Ruby! Ruby!

Finally!  AWS Lambda officially support Ruby!

There were many useful new service and features.

 

AWS Lambda Support Ruby.

https://aws.amazon.com/blogs/compute/announcing-ruby-support-for-aws-lambda/

 

Lambda Layers

https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html

With lambda layers, We can integrate the common logic into a layer.

 

Step Functions supports eight more services

https://aws.amazon.com/about-aws/whats-new/2018/11/aws-step-functions-adds-eight-more-service-integrations/?nc1=f_ls

We can import the data from Amazon ECS, AWS Fargate, Amazon DynamoDB, Amazon SNS, Amazon SQS, AWS Batch, AWS Glue, and Amazon SageMaker.

So We can do more less code.

 

For Amazon Alexa

Amazon Personalize

https://aws.amazon.com/personalize/

I had been expecting how to personalize Alexa Skill.

AWS personalize analyzes consumer needs and respond automatically by using ML power.

 

Machine Learning Model Marketplace.

https://aws.amazon.com/marketplace/solutions/machinelearning/

Alexa will be growth with Amazon SageMaker to enhance User Experience.

But Many people are not familiar with Machine Learning.

I think that The marketplace of ML models is really useful and much easier to implement ML technologies.

 

WorkShop

I joined 3 workshops.

I really excited with AVS Echo show development kit!

 

And,

I recommend 2 tutorials.

https://github.com/alexa/avs-device-sdk/wiki/Raspberry-Pi-Quick-Start-Guide-with-Script

https://github.com/alexa/workshop-in-skill-purchasing


 

Foot Print

 

AWS-UG Booth

There was Community Booth at the Expo floor.

I could talk with other countries UG leaders.

And,

Martijn (Organizer of AWS Amsterdam) came to our booth.

He presented his knowledge at besides our booth.

That was precious time.

 

Community Workshop

 

 

At the night,  In the community leaders workshop.

Hiromi Ito talked as represent of JAWS-UG.

She is really passionating for community activities.

 

re:Play

We were burning at the front!!!

 

 

 

Account Linking with Amazon Cognito by Authorization Code Grant

Prologue

If you would like to provide your SAAS.  Adding Voice Experience to your service is a good choice for the customer.

Voice Experience has a possibility that customer can use your service easier.

In this post, We show you to build the Serverless OAuth infrastructure and combining this your Alexa Skill.

Step by Step Summary

  1. Constructing Amazon Cognito UserPool
  2. Configuring Client App
  3. Create your Custom skill with Account Linking
  4. Acquire OAuth token

 

Recipe

1. Constructing Amazon Cognito UserPool

At first, Creating User Pool on AWS.

Access to the Management Console, Select Cognito. Then select “Manage User Pool“.

 

Select “Create a user pool

Select “Review defaults

 

In this post, All configuration is a default. (User is authenticated by email)

Select “Add Clients

done.

before going, Checking the Client information.

client_id” and “App client secret” will use Step 3.

 

2. Configuring Client App

There are two authentication types in OAuth2. The one is an implicit grant, and Auth code grant.

Implicit grant can use the use-case which user needs to authenticate every time when The Access Token had expired.

Auth code grant can use the use-case which application needs to update Access Token automatically.

For Alexa Skill,  Auth code grant is the better way to acquiring an access token.  Because Alexa has a feature that Access Token automatically updated.

 

To do this, Configuration is really easy. Just checking the “Authorization code grant” checkbox. and For authenticate by email, check “aws.cognito.signin.user.admin” in the Scopes.

 

In the Domain name, most of the use-cases are needed a custom domain for authentication.  Add Your own domain and Enter “Domain name” and “AWS managed certificate“.

 

Attaching is in progress….

 

You will find the Alias target (“xxxxxx.cloudfront.net”) on the screen. Add the URL as an alias record(A record) to your Hosted Zone on the Route53.

When attaching is finished, Domain status transits the “ACTIVE“.

 

Almost done.

For the test, Add the redirect URL to the Callback URL(s).

 

OK. Let’s access sign in page.

https://auth.hugtech.io/login?response_type=code&client_id=xxxxxxxxxxxxxx&redirect_uri=https://hugtech.io#

 

3. Create your Custom skill with Account Linking

Make a custom skill using the Fact Skill tutorial.

https://developer.amazon.com/alexa-skills-kit/tutorials/fact-skill-1

(Any other skills which are able to call can use as an alternative.)

 

Then, In Alexa Developer console, Add the Client Information.

In the same screen, Write down Redirect URLs. These URLs needs later.

 

Back to the Amazon Cognito Screen, Set the three Redirect URLs to the Callback URL(s).

 

done. You finished configuring Account Linking!

Let’s test!

 

Good.

4. Acquire Access token

When the skill was called, You can find the access token in the Request.

(Cloud Watch Logs)


ASK-SDK for Node.js のCode Snipet

const Axios = require('axios');
const HelloWorldIntentHandler = {
  canHandle(handlerInput) {
    return handlerInput.requestEnvelope.request.type === 'IntentRequest'
      && handlerInput.requestEnvelope.request.intent.name === 'HelloWorldIntent';
  },
  handle(handlerInput) {
    const accessToken = handlerInput.RequestEnvelope.session.user.accessToken;
    const speechText = 'Hello World!';
    const headers = {Authorization:  `bearer ${accessToken}`,  'Content-Type':  'application/json'};
    const Axios.get(url, headers);
    return handlerInput.responseBuilder
      .speak(speechText)
      .withSimpleCard('Hello World', speechText)
      .getResponse();
  }
};

 

Epilogue

With using Cognito, You can build the scaffold of OAuth2 flow much easier.

And, You don’t need to maintain the user resource in your own database.

And, You can build Voice User Experience with your customer resources.

 

For more information:

https://developer.amazon.com/docs/account-linking/understand-account-linking.html

 

 

More naturally interface. More Humanic interface.

HUMAN CENTRIC (Dr Warner Vogels at re:Invent 2018)

 

 

 

 

 

 

Alexa Champions

I was given the honor as a Alexa Champion today.

I have been holding Amazon Alexa’s meetup in Japan. But Now I’m living in the Netherlands.

Surely my situation is a little bit strange. I understand it.

But I would like to do my activities of Alexa community to spread Alexa’s Experience.

See my bio on Champions Gallery.

https://developer.amazon.com/ja/alexa/champions/tomoharu-ito

AAJUG Online Discussion #01

The AAJUG is a short name of Amazon Alexa Japan User Group.

The first online meetup was taken placed on 4 June 2018.

https://aajug.connpass.com/event/92574/

Thank you to all attendees!

Topics

  • self-introducing
  • about your skill
  • how do you usually do the test?
  • how to test the SSML
  • which is better node or python?
  • We wish the whole room can be Smart Home.
  • Clova, Google Home, Alexa, and Line
  • How about microphone’s performance of Spot and Show?
  • Which is better for designing the skill? Many conversations? Minimise?
  • advertisement(meetup, event etc..)

URL’s in the Topics

Python tutorial 5 munites alexa skill
https://developer.amazon.com/…/…/alexa-skill-python-tutorial

Alexa Skill: YUUBIN BANGOU KENSAKU
https://www.amazon.co.jp/Tomoyuki-Tochihira-%E…/…/B078SLJZ9G

Alexa Skill: Backlog for Amazon Alexa
https://www.amazon.co.jp/voicelabo-Backlog-for…/…/B07B2MVNQH

Alexa Skill: OTAMESHI GACHA!
https://www.amazon.co.jp/ottori-%E3%81%8A%E8%…/…/

Alexa Skill: MHW JAKUTEN checker
https://www.amazon.co.jp/ottori-%E3%80%8C%E9%9D%9E%E5%85…/…/

Alexa Skill: Mesoko URANAI
https://www.amazon.co.jp/%E3%82%AF%E3%83%A9%E3…/…/B07CND9KR7

Alexa Skill: BOSS NO HITOKOTO
https://www.amazon.co.jp/voicehackerjp-%E9%9D%…/…/B07DBBJB16

Alexa Skill: POIMONN NO MORI
https://www.amazon.co.jp/TAKAHIRO-NISHIZONO-%E…/…/B077LPDVXW

tips Github/URL

https://github.com/daisukeA…/alexa-conversation-model-assert
https://github.com/daisukeArk
https://www.npmjs.com/package/alexa-ssml-jsx
https://github.com/nickclaw/alexa-ssml
https://www.twilio.com/channels

Others

[Amazon Key]
https://www.amazon.com/b?ie=UTF8&node=17735409011

[Gadgets]
https://www.amazon.com/Light-Rhapsody-Control-…/…/B0766D7V3X

[Advertisement]
https://classmethod.jp/news/180712-alexa-salon-sapporo/

https://alexaskillawards.connpass.com/

 

Give me the PR、issue

https://github.com/ask-utils/ask-utils

 

See you next online discussion and enjoy voice experience!
https://aajug.connpass.com/event/92576/

 

FB Group

https://www.facebook.com/groups/amazon.alexa.jp/

 

Slack

https://alexa-jp.slack.com/

Invitation link

https://join.slack.com/t/alexa-jp/shared_invite/enQtMzY0NzczOTA5MDc3LTdhOTdhMDllM2JhODZlMjg2NDdjYWQxNTU5OWQwMWEzZWU3YTEzNjQzN2M4N2Y2YjI1ZGZkNGZiMGMwMmMwNDQ

 

WordBenchが終わることについて


This post is written in Japanese.

For thinking about community.


 

WordBench が終わることについて思うこと

僕は、WordPress のコミュニティにそれほど関わってる人間ではありません。WordBench には1、2回参加し、WordCamp KyotoでLTした、くらいの人間です。そんな数少ない参加でも、、それでも、WordBench は他のコミュニティよりも、よりピースフルな場所に感じていて、僕自身もWordPressではないですが、コミュニティを運営する立場の一人として、コミュニティに助けられた一人として、先日の「WordBench 終了」というのは、とても寂しい気持ちになった、というのが正直なところです。

一個人がブートしたコミュニティが10年も続いたんです。止めたい時に止めればいいと僕は思います。

(もちろん、もったいないなあという気持ちはありますが。)

コミュニティを先導したのはMiyoshiさん(と有志のボランティアメンバー)、なのであれば、最終決定もMiyoshiさんがすればいい、というのが私の考えです。コミュニティは大きくなった、メンバーも増えた、それに群がる人たちも増えてきた。WordPressがデファクトスタンダードになるにつれて、不協和音も起こる、それを軌道修正しようとしたけどダメだった。止めます。それでいいじゃない?と思います。

「いままでありがとう! あとは僕らが引き継ぐ!」みたいなのが起こったらそれはそれで続ければいいんじゃない?と。

そんな単純は話でないことはわかっていますが、止めるという意思も尊重したい。WordBenchの存続を望む声が多いんなら、遅かれ早かれ、引き継ぐ人が出るでしょう。コミュニティは、それくらいの「軽さ」でいいんではないか? と思うのです。

 

10年続いたコミュニティなんです。ひとまず、ほんとにおつかれさまでしたと言いたい。

今後 meetup.com へ移行していくようですが、体裁やレギュレーションの差異はあれど、WordBenchの価値観がこれまでと変わりなく続いていくことに僕は楽観的です。これだけWordBenchを思う人たちが声をあげて議論がされてるところを見ると、作り上げてきたものはちゃんと伝搬してるのではないかと思います。

マル。

 

 

AWS Summit Benelux 2018

 

AWS Summit Benelux is the really big conference for developers.

 

Introduction

Opening Session (Werner Vogels CTO of AWS)

Some new AWS service was introduced.

Although I’ve already known at re:Invent 2017, I recognized again AWS improve and more convenient the world.

Sessions

Unfortunately, I didn’t watch sessions much. Here are sessions which I joined.

 

Machine Learning

 Introduction of AWS SageMaker.

 

Serverless

 Making Serverless App with GraphQL

 

Culture of AWS

 Interviewing to Werner Vogels.

 

AWS Community Organizers in the Netherlands

They are AWS community organizers. Amsterdam, Hague, and JAWS-UG the Netherlands branch(it’s me)

 

Community pages

AWS Amsterdam

AWS Hague

JAWS-UG the Netherlands branch

 

Mr. Danilo again since re:Invent 2017 and a new nice guy in AWS

We met at re:Invent 2017.  Thanks to Danilo, I could join AWS community in the Netherlands.

 

See you next AWS Summit Benelux!

 

Backlog User Group Netherlands (NBUG) has birthed.

Bucklog User Group has booted up!

The Backlog is famous Project Management tool in Japan.

Manufacture of Backlog (Nulab.inc) has come to the Netherlands recently.

Hugtech.io helped them to built up the community.

 

NBUG Netherlands Backlog UserGroup Meetup

Haarlem, NL
10 メンバー

https://backlog.com/Are you interested in Project Management?Would you like to your PM operation to be easier and more enjoyable?With using the Backlog, It may come true.I…

Check out this Meetup Group →

 

We held pre meetup at 26 May in Amsterdam.

Check it and Let’s join us!

Jump to the community page

 

AWS Amsterdam meetup report

 

I participated AWS Amsterdam meetup for the first time.

I also would like to greet AWS user group NL organizers too.

It’s a nice office and there ware very interesting contents.

This is the photo report at AWS Amsterdam meetup Apr 24.

Jump to AWS Amsterdam(meetup.com)

 

Before starting sessions

In Japan,  Meetup usually starts from the session. It was a little bit funny situation form me.

 

A hosted company, Mirabeau has a cool bar counter and wine cellar. Are all Netherlands’s IT company same?

 

At the entrance.

 

With Martijn. AWS Amsterdam’s Organizer.

 

Sessions

I often found the recognizable screen at the meetup. and Today’S main actor, He is DeepLens.

The demo was so funny.  They try to tic tac toe game using DeepLens, Echo Spot, and some AWS Services.

Unfortunately, Demo could not have succeeded.  Monster always lives in the Demo.

 

 

This was a nice meetup and good presentation.  Thanks to all staffs!! I enjoyed!!

Alexa.west

 

Alexa.west

Osaka, Kyoto, Kobe, Okayama, Wakayama are one of the prefectures in Japan.

We are going to hold the co-organized meetup with above 5 prefectures at 16 May 2018.

This is named to Alexa.west

https://jaws-ug-kobe.doorkeeper.jp/events/71416

 

Sessions

  • TBD( JAWS-UG Okayama)
  • TBD中( JAWS-UG Kyoto)
  • Making Radio streaming Alexa Skill even if I was a beginner. (JAWS-UG WAKAYAMA Seiji Yamaguchi)
  • Experience of A4B 。 (JAWS-UG KOBE)
  • Amazon.Chime, Amazon.Connect and Alexa (JAWS-UG Osaka)

co-organized Branches

  • JAWS-UG Osaka
  • JAWS-UG Okayama
  • JAWS-UG Wakayama
  • JAWS-UG Kyoto
  • JAWS-UG KOBE

JAWS-UG all branches information

 

JAWS-UG KOBE Facebook Community
https://www.facebook.com/groups/450069605016080/

 

HugTech.io believes the power of community.

Let’s join our community