kun432's blog

Alexaなどスマートスピーカーの話題中心に、Voiceflowの日本語情報を発信してます。たまにAWSやkubernetesなど。

〜スマートスピーカーやVoiceflowの記事は右メニューのカテゴリからどうぞ。〜

Packer v1.7を試す

f:id:kun432:20210508233221p:plain

Packerのv1.7からpacker initプラグインをダウンロード・インストールできるようになったので試してみました。

目次

要件

以下に注意してください。

  • packer v1.7以上
  • テンプレートはHCL(Hashicorp Configuration Language)で書くこと、JSONは使えない
  • packer init対応プラグインであること

HCLテンプレート

Apacheをインストール・起動するAWS AMIを作成する、シンプルなテンプレートで試してみましょう。JSONだとこんな感じです。

{
  "variables": {
    "instance_type": "t2.micro",
    "region": "ap-northeast-1",
    "host": "webserver"
  },
  "builders": [
    {
      "type": "amazon-ebs",
      "region": "{{user `region`}}",
      "source_ami_filter": {
        "filters": {
          "name": "amzn2-ami-hvm-*-x86_64-gp2"
        },
        "owners": ["137112412989"],
        "most_recent": true
      },
      "instance_type": "{{user `instance_type`}}",
      "ssh_username": "ec2-user",
      "ssh_timeout": "5m",
      "ami_name": "{{user `host`}}-{{isotime | clean_resource_name}}",
      "tags": {
        "Base_AMI_ID": "{{ .SourceAMI }}",
        "Base_AMI_NAME": "{{ .SourceAMIName }}"
      }
    }
  ],
  "provisioners": [
    {
      "type": "shell",
      "inline": [
        "sudo yum update -y",
        "sudo amazon-linux-extras install -y epel",
        "sudo yum install -y @development jq git",
        "sudo yum install httpd -y",
        "echo 'version 1' | sudo tee /var/www/html/index.html",
        "sudo systemctl enable httpd"
      ]
    }
  ]
}

HCLで書くとこうなります。Terraformっぽく複数のファイルに分けてみました。ファイル名は*.pkr.hclとするのが良いようです。

variables.pkr.hcl

変数の定義を行います。まんまTerraformと同じです。

variable "instance_type" {
  default = "t2.micro"
}

variable "region" {
  default = "ap-northeast-1"
}

variable "host" {
  default = "webserver"
}

plugins.pkr.hcl

プラグインの設定です。

packer {
  required_plugins {
    amazon = {
      version = ">= 0.0.1"
      source = "github.com/hashicorp/amazon"
    }
  }
}

sources.pkr.hcl

これまでのprovisionersにあたるものです。これまでsource_ami_filterで指定していたのがdataを使って参照していますね。ぐっとTerraformっぽくなりました。

あと、テンプレのように書いていたclean_resource_nameですがHCLでは対応していないようです。

data "amazon-ami" "amazon_linux2" {
  filters = {
    name = "amzn2-ami-hvm-*-x86_64-gp2"
  }
  most_recent = true
  owners      = ["137112412989"]
  region      = "ap-northeast-1"
}

source "amazon-ebs" "webserver" {
  region        = var.region
  source_ami    = data.amazon-ami.amazon_linux2.id
  instance_type = var.instance_type
  ssh_username  = "ec2-user"
  ssh_timeout   = "5m"
  ami_name      = "${var.host}-{{ timestamp }}"
  tags = {
    Base_AMI_ID = "{{ .SourceAMI }}"
    Base_AMI_NAME = "{{ .SourceAMIName }}"
  }
}

build.pkr.hcl

これまでのbuildersにあたるものです。sourcesのところでsources.pkr.hclの定義を呼んでいます。

build {
  sources = [
    "source.amazon-ebs.webserver"
  ]
  provisioner "shell" {
    inline = [
      "sudo yum update -y",
      "sudo amazon-linux-extras install -y epel",
      "sudo yum install -y @development jq git",
      "sudo yum install httpd -y",
      "echo 'version 1' | sudo tee /var/www/html/index.html",
      "sudo systemctl enable httpd"
    ]
  }
}

最終的にこんな感じで一つのディレクトリ内においておきます。

$ ls
build.pkr.hcl       plugins.pkr.hcl     sources.pkr.hcl     variables.pkr.hcl   variables.pkrvars.hcl

ではプラグインをインストールしましょう。packer initでプラグインを記載したhclファイル(plugins.pkr.hcl)か、hclファイルのあるディレクトリを指定します。ここではカレントディレクトリを指定しました。

$ packer init .
Installed plugin github.com/hashicorp/amazon v0.0.1 in "/XXX/XXX/.packer.d/plugins/github.com/hashicorp/amazon/packer-plugin-amazon_v0.0.1_x5.0_darwin_amd64"

プラグインは~/.packer.d/plugins配下にダウンロードされます。

~/.packer.d/plugins/
└── github.com
    └── hashicorp
        └── amazon
            ├── packer-plugin-amazon_v0.0.1_x5.0_darwin_amd64
            └── packer-plugin-amazon_v0.0.1_x5.0_darwin_amd64_SHA256SUM

packer validateも使えます(v1.7リリース時は使えなかったみたいですがv1.7.2では使えました)

$ packer validate .
Error: Unknown source type amaozn-ebs

  on  line 0:
  (source code not available)

known builders: [vsphere-clone hyperone proxmox vmware-iso digitalocean
virtualbox-ovf amazon-instance vagrant amazon-ebssurrogate openstack
googlecompute jdcloud hyperv-iso docker hyperv-vmcx parallels-pvm profitbricks
proxmox-iso virtualbox-iso cloudstack lxc vsphere-iso lxd amazon-ebsvolume
amazon-ebs hcloud ncloud azure-chroot proxmox-clone scaleway ucloud-uhost linode
triton file oneandone alicloud-ecs parallels-iso qemu amazon-chroot osc-chroot
azure-arm null oracle-oci tencentcloud-cvm azure-dtl osc-bsusurrogate vmware-vmx
osc-bsuvolume oracle-classic osc-bsu yandex virtualbox-vm]

ではビルドしてみましょう。

$ packer build .

amazon-ebs.webserver: output will be in this color.

==> amazon-ebs.webserver: Prevalidating any provided VPC information
==> amazon-ebs.webserver: Prevalidating AMI Name: webserver-1620491713
    amazon-ebs.webserver: Found Image ID: ami-0ca38c7440de1749a
==> amazon-ebs.webserver: Creating temporary keypair: packer_XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
==> amazon-ebs.webserver: Creating temporary security group for this instance: packer_XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
==> amazon-ebs.webserver: Authorizing access to port 22 from [0.0.0.0/0] in the temporary security groups...
==> amazon-ebs.webserver: Launching a source AWS instance...
==> amazon-ebs.webserver: Adding tags to source instance
    amazon-ebs.webserver: Adding tag: "Name": "Packer Builder"
    amazon-ebs.webserver: Instance ID: i-XXXXXXXXXXXXXXXX
==> amazon-ebs.webserver: Waiting for instance (i-XXXXXXXXXXXXXXXX) to become ready...
==> amazon-ebs.webserver: Using ssh communicator to connect: 54.250.137.121
==> amazon-ebs.webserver: Waiting for SSH to become available...
==> amazon-ebs.webserver: Connected to SSH!
==> amazon-ebs.webserver: Provisioning with shell script: /var/folders/c8/XXXXXXXXXXXXXXXXXXXXXXXX/T/packer-shellXXXXXXXXX
(snip)
==> amazon-ebs.webserver: Stopping the source instance...
    amazon-ebs.webserver: Stopping instance
==> amazon-ebs.webserver: Waiting for the instance to stop...
==> amazon-ebs.webserver: Creating AMI webserver-XXXXXXXXXX from instance i-XXXXXXXXXXXXXXXX
    amazon-ebs.webserver: AMI: ami-XXXXXXXXXXXXXXXX
==> amazon-ebs.webserver: Waiting for AMI to become ready...
==> amazon-ebs.webserver: Adding tags to AMI (ami-XXXXXXXXXXXXXXXX)...
==> amazon-ebs.webserver: Tagging snapshot: snap-XXXXXXXXXXXXXXXX
==> amazon-ebs.webserver: Creating AMI tags
    amazon-ebs.webserver: Adding tag: "Base_AMI_ID": "ami-0ca38c7440de1749a"
    amazon-ebs.webserver: Adding tag: "Base_AMI_NAME": "amzn2-ami-hvm-2.0.20210427.0-x86_64-gp2"
==> amazon-ebs.webserver: Creating snapshot tags
==> amazon-ebs.webserver: Terminating the source AWS instance...
==> amazon-ebs.webserver: Cleaning up any extra volumes...
==> amazon-ebs.webserver: No volumes to clean up, skipping
==> amazon-ebs.webserver: Deleting temporary security group...
==> amazon-ebs.webserver: Deleting temporary keypair...
Build 'amazon-ebs.webserver' finished after 4 minutes 12 seconds.

==> Wait completed after 4 minutes 12 seconds

==> Builds finished. The artifacts of successful builds are:
--> amazon-ebs.webserver: AMIs were created:
ap-northeast-1: ami-XXXXXXXXXXXXXXXX

できました。

プラグインを使ってみる

AMIの作成自体もプラグインで行ったわけですが、他のプラグインも使ってみましょう。

以下で紹介されているAMIの世代管理を行ってくれるプラグイン"amazon-ami-management"を使ってみます。

plugins.pkr.hclを修正します。

packer {
  required_plugins {
    amazon = {
      version = ">= 0.0.1"
      source = "github.com/hashicorp/amazon"
    }
    amazon-ami-management = {
      version = ">= 1.0.0"
      source = "github.com/wata727/amazon-ami-management"
    }
  }
}

プラグインをインストールします。

$ packer init .
Installed plugin github.com/wata727/amazon-ami-management v1.1.2 in "/XXX/XXX/.packer.d/plugins/github.com/wata727/amazon-ami-management/packer-plugin-amazon-ami-management_v1.1.2_x5.0_darwin_amd64"

AMIのタグでAmazon_AMI_Management_Identifierを付与します。"amazon-ami-management"プラグインはこのタグから世代数を確認するようです。sources.pkr.jsonを修正します。

(snip)
  tags = {
    Base_AMI_ID = "{{ .SourceAMI }}"
    Base_AMI_NAME = "{{ .SourceAMIName }}"
    Amazon_AMI_Management_Identifier = var.host
  }
(snip)

プラグインの設定はpost-processorsセクションで設定します。JSONの場合は独立したセクションでしたが、HCLの場合はbuildの中になります。build.pkr.hclを以下のように修正します。

build {
  sources = [
    "source.amazon-ebs.webserver"
  ]
  provisioner "shell" {
    inline = [
      "sudo yum update -y",
      "sudo amazon-linux-extras install -y epel",
      "sudo yum install -y @development jq git",
      "sudo yum install httpd -y",
      "echo 'version 1' | sudo tee /var/www/html/index.html",
      "sudo systemctl enable httpd"
    ]
  }
  # 以下を追加
  post-processor "amazon-ami-management" {
    regions = [var.region]
    identifier = var.host
    keep_releases = 3
  }
}

あと、identifierで指定した文字列が

何度かビルドしてみると、AMIが3世代だけ残っていることが確認できると思います。

変数のオーバーライド

-var-var-fileを使った変数のオーバーライドはこれまでと同じです。

$ packer build -var host=webserver2 .
$ packer build -var-file=variables.pkrvars.file .

ファイル名は*.pkrvars.hclにするのがよいようです。中身はこんな感じです。

host = "webserver2"

環境ごとに変数を分けて複数の環境に対応するようなケースは、これまでと同じやり方でいけそうです。

既存のJSONテンプレートからHCLテンプレートに変換する

packer hc2_upgradeを使うと、既存のJSONテンプレートをHCLに変換してくれます。

$ packer hcl2_upgrade packer.json
Successfully created packer.json.pkr.hcl

中身を見てみるとこんな感じです。

variable "host" {
  type    = string
  default = "webserver"
}

variable "instance_type" {
  type    = string
  default = "t2.micro"
}

variable "region" {
  type    = string
  default = "ap-northeast-1"
}

data "amazon-ami" "autogenerated_1" {
  filters = {
    name = "amzn2-ami-hvm-*-x86_64-gp2"
  }
  most_recent = true
  owners      = ["137112412989"]
  region      = "${var.region}"
}

# 1 error occurred upgrading the following block:
# unhandled "clean_resource_name" call:
# there is no way to automatically upgrade the "clean_resource_name" call.
# Please manually upgrade to use custom validation rules, `replace(string, substring, replacement)` or `regex_replace(string, substring, replacement)`
# Visit https://packer.io/docs/templates/hcl_templates/variables#custom-validation-rules , https://www.packer.io/docs/templates/hcl_templates/functions/string/replace or https://www.packer.io/docs/templates/hcl_templates/functions/string/regex_replace for more infos.

source "amazon-ebs" "autogenerated_1" {
  ami_name      = "${var.host}-{{ clean_resource_name `${timestamp()}` }}"
  instance_type = "${var.instance_type}"
  region        = "${var.region}"
  source_ami    = "${data.amazon-ami.autogenerated_1.id}"
  ssh_timeout   = "5m"
  ssh_username  = "ec2-user"
  tags = {
    Base_AMI_ID   = "{{ .SourceAMI }}"
    Base_AMI_NAME = "{{ .SourceAMIName }}"
  }
}

build {
  sources = ["source.amazon-ebs.autogenerated_1"]

  provisioner "shell" {
    inline = ["sudo yum update -y", "sudo amazon-linux-extras install -y epel", "sudo yum install -y @development jq git", "sudo yum install httpd -y", "echo 'version 1' | sudo tee /var/www/html/index.html", "sudo systemctl enable httpd"]
  }

}

上でも記載したとおり、clean_resource_nameは使えないので修正が必要、ということで、コメントとして記載されています。

多少の修正は必要になるかもしれませんが、イチから書き直さなくていいので便利ですね。

まとめ

Packerについて調べると、ほとんどがJSONの情報で、HCLでの情報はあまり見当たらないのが辛いところですが、色々メリットもあります。

  • JSONの使いにくさ(ケツカンマでコケる、コメント入れれない、そもそも見にくい)に悩まされることもなくなる
  • プラグインが手軽に使える
  • 既存のJSONからの変換もできる
  • Terraformを日常的に使っていれば、同じ書き方でいける

徐々にシフトしていけばいいのではないかと思います。

Amazon Connectで電話番号が取得できない場合(結論:個人だと現在は取得不可)

f:id:kun432:20210506163850p:plain

前々回、LexのAmazon Connectのコンタクトフローとの統合の際に説明した通り、日本の電話番号が取得できなかったので、電話番号取得に必要なプロセスをまとめておきたいと思います。

ただし、結論から言うと、個人では日本の電話番号を取得することは2021/5/6時点で不可ですので、あくまでも備忘録です。

目次

Amazon Connectコンタクトセンターインスタンスの作成

まずはAmazon Connectの設定を行っていきましょう。マネジメントコンソールからAmazon Connectの画面を開き、「今すぐ始める」をクリック。

f:id:kun432:20210430002558p:plain

Amazon Connectのリソースの設定を行います。まず、ID管理。

Amazon Connectは、マネジメントコンソールとは別にConnect専用の管理画面が作成されます。その際のユーザの管理方法と管理画面のURLを設定します。

  • ID管理については、AWS Directory ServiceやSAMLを使った外部アカウントとの連携も可能なようですが、今回は「Amazon Connect内にユーザーを保存」を選択しました。
  • アクセスURLは管理画面にアクセス適当なものを設定します。これがコンタクトセンターのインスタンス名となるようです。今回は"lex-booktrip-sample"としました。

設定したら「次のステップ」をクリック。

f:id:kun432:20210430002925p:plain

次にコンタクトセンターの管理者アカウントを設定します。おそらく「Amazon Connect内にユーザーを保存」を選択したためですね。適宜入力して「次のステップ」をクリック。

f:id:kun432:20210430003703p:plain

テレフォニーオプションでは、着信・発信の有効無効を設定します。着信のみ、発信のみ、ということもできるということですかね。デフォルトでは両方有効になるようです。今回は両方有効にしておきます。「次のステップ」をクリック。

f:id:kun432:20210430003803p:plain

ストレージの設定画面です。通話やチャットの記録はAmazon Connect用にS3バケットが作成され保存されます。カスタマイズもできるようですが、今回はデフォルトで。「次のステップ」をクリック。

f:id:kun432:20210430004024p:plain

確認画面です。ここまでの設定に問題がなければ「インスタンスの作成」をクリックします。

f:id:kun432:20210430004259p:plain

インスタンスが作成されます。数分程かかりますのでしばらく待ちましょう。

f:id:kun432:20210430004347p:plain

以下のような画面が表示されればインスタンスの作成が完了しました。「今すぐ始める」をクリックします。

f:id:kun432:20210430004451p:plain

新しいタブがひらいて以下の画面が表示されます。これがAmazon Connectの管理画面です(初回のみセットアップ画面が出てくるようで、2回目以降はちょっと変わります)。ちょっと面倒なので日本語にしましょう。

f:id:kun432:20210430022102p:plain

日本語になりました。ではセットアップします。「今すぐ始める」をクリックします。

f:id:kun432:20210430022354p:plain

通知とマイクの有効化を促すメッセージが出ます。多分ブラウザフォンを使うためには必要なのではないかと思います。「許可」しておきます。

f:id:kun432:20210430022614p:plain

f:id:kun432:20210430022625p:plain

最初に電話番号を取得します。「国/地域」で「Japan」を選択します。「タイプ」は、通常の電話番号である「DID(直通ダイアル)」といわゆるフリーダイアルである「料金無料電話」から選択できますが、「DID(直通ダイアル)」のままでよいです。

f:id:kun432:20210430022802p:plain

するとこういうメッセージが表示されて、先に進めません・・・

f:id:kun432:20210430023126p:plain

調べてみるとありました。

どうやら使える電話番号の在庫が枯渇しているということ、そして法改正により書類提出が義務となっているため、電話番号が取得できないようですね。

United Statesとかの電話番号であれば取得できるようなのですが、国際電話になってしまうため、日本の電話番号を取る方向ですすめたいと思います。

サポートケースに問い合わせる

ということで、サポートに問い合わせを行います。これはAmazon Connectの管理画面上からはできず、AWSのマネジメントコンソールから行います。

右上の「サポート」から「サポートセンター」を開きます。

f:id:kun432:20210430024016p:plain

サポートセンターの画面にある「ケースの作成」をクリックします。

f:id:kun432:20210430024154p:plain

ケースの作成画面が開いたら、「サービス制限の緩和」を選択。

f:id:kun432:20210430024311p:plain

ケースの詳細では、制限タイプに「Amazon Connect」を選択、コンタクトセンターのインスタンスARNのところでは、Amazon Connectのインスタンス名を入力します。

f:id:kun432:20210430024413p:plain

リクエストでは、お使いのリージョンを選択し(通常は「アジアパシフィック(東京)」だと思います)、制限は「日本(東京)の電話番号」を今回は選択しましたが、「インスタンスあたりの電話番号数」でも良い気がします。新しい制限値は、AWSの上限設定のデフォルトは5のようなので5にしておきます。

f:id:kun432:20210430024617p:plain

説明の箇所に、電話番号が取得できない旨を記載します。

f:id:kun432:20210430024944p:plain

これでOKです。「送信」をクリックしてサポートケースを発行します。

f:id:kun432:20210430025111p:plain

ケースが発行されました。これで一旦AWSからの返答を待ちます。

f:id:kun432:20210430025241p:plain

数日後に返答が来ました。

========== 1. ご提出いただく書類とご提出方法について ========== 電話番号取得のために必要な以下の書類を、当ケースへの返信時に添付する形でご提出くださいませ。

 A. 申請者の行政機関発行の有効な身分証明書 (運転免許証、パスポートなど)  B. 申請者と企業の関連性を示すドキュメント(社員証や、その他所属を確認できる書類)  C. 公共料金の請求書、法務省からの企業登録証明書 (登記事項証明書など)、行政機関からの領収書、国税または地方税に関する証明書 (納税証明書など)、社会保険料の領収書などの書類   ※Cについて、東京の03番号の取得を希望される場合、03番号が使用可能な住所を証明いただく必要がございます。

・添付方法 (1) 以下URLから当ケースを選択し、返信ボタンをクリックします。 https://console.aws.amazon.com/support/home#/case/history (2)"添付ファイル"項目下の「ファイルの選択」ボタンをクリックし、ファイルを添付します。

うーん、どうも法人としての証明が必要なようです・・・とりあえず追加で個人で取得できるかを確認してみたところ、

現在日本の電話番号取得には、個人の身分証明書と事業登録(法人格)の証明書の提出が必須となっておりますため、 事業登録の証明書を持っていない個人に対して日本の電話番号をご提供することができかねてしまいます。

はい、ということで、個人だとAmazon Connectの電話番号は「現在」取得できないようです。

まとめ

残念ながら、Amazon Connectを個人で気軽にお試しするというのは、少なくとも現時点では難しいようです。ただし、

  • USの番号なら取得可能(その代わり国際電話になる)
  • Amazon Connectではなく、Twilio等ならば個人でも取得できる(はず?少なくとも書類の提出は必要ですが、数ヶ月前はOKでした。現在はまた変わっているかも。)

ということで、個人の検証ならUSの番号を使えなくはないですし(電話料金にご注意ください)、いつか業務で使う機会が来たときに申請の仕方は覚えておいて損はないかなと思います。

Voiceflow Updates: 最近のビジュアルなアップデート総まとめ

f:id:kun432:20210313005910p:plain

ここのところ忙しくてあまり発信できていませんでしたが、そんな中でもVoiceflowはいろいろとアップデートされています。主にV2イベント以降でリリースされた、ビジュアル面に特化したアップデートの内容をまとめたいと思います。

目次

ラインのカスタマイズ

気づいた方も多いかもですが、ステップ同士をつなげる線のデフォルトが「直線」になりました。

f:id:kun432:20210504195734p:plain

ステップの配置によって線が変わります。

f:id:kun432:20210504195914p:plain

f:id:kun432:20210504195921p:plain

f:id:kun432:20210504195929p:plain

個人的には、上から下にフローチャートっぽく並べたい場合は向いているような気がしてます。

もちろん、以前の曲線に戻すこともできます。「全部」戻したい場合は、プロジェクトの設定画面でLine Typeを"Curved"にすると以前の曲線に戻ります。

f:id:kun432:20210504200553p:plain

f:id:kun432:20210504200610p:plain

あと、個々の線ごとに設定ができるようになってます。線をクリックすると・・・

f:id:kun432:20210504200835p:plain

新しくメニューが出てきましたね。左から2つ目のLine Typeをクリックして、右側の方をクリック。

f:id:kun432:20210504200956p:plain

この線だけが曲線になりました!

f:id:kun432:20210504201040p:plain

他のメニューもみてみましょう。

一番左のアイコンをクリックすると、なんと線の色を変更できるようになりました!

f:id:kun432:20210504201235p:plain

f:id:kun432:20210504201243p:plain

そして、もう一つ、右から2つ目のアイコンをクリックすると、線にラベルを付けれるようになりました!

f:id:kun432:20210504201557p:plain

f:id:kun432:20210504201604p:plain

ブロックの色を変更したり、キャンバスマークアップなどと組み合わせることで、よりビジュアル的に理解しやすい感じになりそうですね!

プロトタイプの共有のカスタマイズ

以前からプロトタイプ(テスト)の共有は行えましたが、更に以下の機能が追加されました。

  • テキスト入力/音声入力/音声+ビジュアルの3タイプから選択可能(V2で追加)
  • ブランディング機能が追加され、テスト画面の色やアイコン画像などを指定可能に
  • テスト画面にパスワード認証をかけることが可能に

順に見ていきましょう。

テキスト入力/音声入力/音声+ビジュアルの3タイプから選択可能

これはV2イベントで追加された機能ですが、あらためて。V2イベントで紹介された銀行アプリのデモを使って説明します。

ちなみに、この銀行アプリのデモはTemplatesワークスペースから利用できるようになっています。中身を日本語に修正したのでそれで説明します。

f:id:kun432:20210505012019p:plain

ではプロトタイプを共有してみましょう。右上の"Share"をクリック。

f:id:kun432:20210505012213p:plain

以前とはだいぶ違ったメニューになっていますね。Test Typeのところをクリックしてみてください。

f:id:kun432:20210505012308p:plain

3つのタイプから選択できるようになっています。まずは"Text & Transcript"を選択し、"Open link in new tab"をクリック。

f:id:kun432:20210505012425p:plain

別タブでテスト画面が開きますので、"Start Conversation"をクリック。

f:id:kun432:20210505021224p:plain

テストしてみると、入力がテキストのみで、画面には対話の流れが見えますね。"Text & Transcript"は、テキスト入力で対話の「台本」が見えるような感じになります。

では、2つ目の"Voice & Transcript"です。

f:id:kun432:20210505021650p:plain

こちらは、画面の表示は同じですが、入力が音声のみとなります。

f:id:kun432:20210505021823p:plain

最後に「Voice and Visuals」です。

f:id:kun432:20210505022014p:plain

ちょっと画面が違いますが、"Start Conversation"をクリックしてみましょう。

f:id:kun432:20210505022122p:plain

対話の「台本」は見えず、その代わりにVisual Stepで用意した画像が表示され、音声のみの入力となります。

f:id:kun432:20210505022152p:plain

f:id:kun432:20210505022341p:plain

画像はあくまでもモックではありますが、ビジュアルを使って非常にリアルな感じで音声テストができることがわかりますね!

テスト共有のブランディング機能

次にテスト共有のブランディング機能です。テスト共有画面で、色やアイコン画像を指定できるようになりました。早速やってみましょう。

"Share Prototype" をクリックして、"Appearance and Branding"をクリックします。

f:id:kun432:20210505022746p:plain

テスト共有の色とブランドイメージおよびメッセージアイコンが設定できるようになっていますね。

f:id:kun432:20210505022833p:plain

色を変えて、画像をアップロードしてみましょう。画像はドラッグアンドドロップでOKです。

f:id:kun432:20210505023046p:plain

テストしてみましょう。テストタイプは"Text and Transcript"でやってみます。

f:id:kun432:20210505023500p:plain

このように設定した色やアイコン画像がテスト画面で表示されます。請負元のクライアントの受けが良くなったりするかもしれませんね!

f:id:kun432:20210505023429p:plain

テスト画面のパスワード認証

最後にパスワード認証です。テスト画面のURLは、ランダムに作成されるので、URLを知っている人だけがアクセスできる形にはなっていますが、逆に言うとURLさえわかれば誰でもアクセスできます。そこにもう一段、パスワードによるアクセス制限がかけれるようになりました。

"Share Prototype" をクリックして、"Password Protection"をクリックします。

f:id:kun432:20210505023945p:plain

パスワード入力欄が表示されるので、適当なパスワードを設定して、テスト共有画面を開きます。

f:id:kun432:20210505024202p:plain

このようにパスワードを求められるようになり、パスワードが間違っているとアクセスができません。

f:id:kun432:20210505024258p:plain

より安全にテストの共有ができるというわけですね!

まとめ

今回はビジュアル面に特価したアップデートをまとめました。特にデザインやプロトタイピングのフェーズで非常に有用な機能だと思いますので、ぜひご活用ください!