AWS Dev Day 2021のブレイクアウトセッションで土田と二人で登壇させていただいた資料になります。(※ 一部公開用に改変しております。)
AmplifyというAWSサーバーレス技術を用いて、いかに小さなチームで、短期間でオンライン劇場ZAを作り上げたのか、そしてそれによってどのような体験が得られたのか、についてざっくりとご紹介しています。
© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.AWSαʔόʔϨε͕ࢧ͑ΔܶஂϊʔϛʔπͷΦϯϥΠϯܶYuki Tsuchida @gagagahakuܶஂϊʔϛʔπ / ςΫχΧϧϚωʔδϟʔPARTY / ΤϯδχΞYosuke Fujii @touyou_devΦϯϥΠϯܶZA / UXΤϯδχΞC - 5
View Slide
⼟⽥ 悠輝藤井 陽介テクニカルマネージャーUXエンジニア1995年⽣まれ。デザイン好きのエンジニア。フロント・バックエンドの実装など幅広く担当。推し公演は「不本意アンロック」今⽇の出演者紹介1996年⽣まれ。エンタメを作るエンジニア。広告代理店勤務。企画開発運⽤なんでもやる。推し公演は「VIVA LA VALENTEIN」
劇団ノーミーツロゴ会社名株式会社Meets主な業績ACC TOKYO CREATIVE AWARDSクリエイティブイノベーション部⾨ ACCゴールド受賞第24回メディア芸術祭エンターテイメント部⾨ 優秀賞受賞2020年、コロナ禍に⽣まれたオンライン劇団。Twitterで3000万回以上再⽣された短編Zoom演劇をきっかけに、オンラインでの演劇の可能性に挑戦し続ける。⻑編作品全3作で累計14,000⼈を動員。
オンライン劇場「ZA」オンライン空間を使って演劇の可能性を拡⼤し、新しい体験を実現する世界初の「オンライン劇場」。2020年11⽉25⽇設⽴
オンラインでしかできないことを突き詰めるためチームを作ろう、と思った。「⾨外不出モラトリアム」でリアルタイムに観客の声を拾っていたのをみて、新しい演劇体験に繋がるな、と思いました。参加した後の「むこうのくに」では、話の展開に合わせて背景を変えたり、投票システムを導⼊したりと、技術を取り⼊れた⾯⽩いことを追求してみました。ここから、オンラインでしかできないことを突き詰めたい、と思ったときに、技術⼒をもっている⼈たちをたくさん集めて、ユーザー体験をすごいものにしていこう、チームを作ろう。ということで、オンライン劇場「ZA」を⽴ち上げました。劇場⽀配⼈ 藤⽊
開発メンバー劇場⽀配⼈UXデザイナーテクニカルマネージャーバックエンドUIデザイナー UXエンジニア フロントエンド副 副副 副全員副業副 副 副
LINE UP技術構成AmazonCognitoStripeZendeskGMO PaymentGatewayAmazonCloudFrontAmazon Simple StorageService (Amazon S3)AWS AmplifyAWS LambdaAWS AppSyncAWS Secrets ManagerVimeo OBS劇団ノーミーツ配信チームAmazon API GatewayAmazon DynamoDBAmazon Simple Email Service (Amazon SES)Next.jsAmazon Opensearch Service
技術選定の歴史
ܶஂϊʔϛʔπɹ;"αʔόʔαΠυٕज़ఏҊॻా༔ًཁ݅ϩάΠϯձһొʢొ࣌ʹଐੑใʣܾࡁػೳʢΧʔυܾࡁੜ৴ػೳΞʔΧΠϒ㿆ө૾৴ʢཁݕ౼ɾϊϯίʔυઆ͋Γʣܶஂެԋৄࡉϖʔδެԋ͍߹Θͤϝοηʔδػೳ ϝʔϧ4MBDL2ཁ݅ɾ։ԋ࣌ؒʹଟ͘ͷΞΫηε͕ूத͢Δˡ֦ுੑɾՄ༻ੑɾอकίετ͕͋·Γ͔͚ΒΕͳ͍ɾ։ൃίετਖ਼ɺɺɺɾ݄ϦϦʔεɺ݄ʹϕʔλͯ͠ςετ௨͍ͨ͠Ͱ͖ͨΒෛՙςετ͍ͨ͠3ՄೳͳݶΓ࣮ίετΛԼ֦͛ுੑՄ༻ੑΛ୲อ͢ΔˠαʔόϨεՄೳͳݶΓϚωʔδυαʔϏε4ZAの誕⽣を決定づけたテクニカルマネージャーのプレゼン
Next.jsTypeScriptHooks234
AppSyncで簡単開発選ばれたGraphQLフロント中⼼のチームに最⾼のDXをもたらしたGraphQLとAppSyncフロントにもわかりやすいSchemaファイル⾃動⽣成できるTypeScriptの型AppSyncによりDBが⼀発⽣成
群雄割拠SaaS活⽤で爆速開発Stripe(クレカ)GMO(コンビニ)⽀払いZendeskカスタマーサポート 動画配信 ver. 1Vimeoチャット ver. 0arena
Web×演劇
副業中⼼チームでゆったり通常開発のフロー公演主と可能性を追求し続ける公演開発のフロー週1の定例必須タスクと進捗確認各々のペースに任せる公演主の要望を最⼤限に演出プロトで提案どんどん作る
演劇はナマモノだ初⽇ 千秋楽
公演を⽌めない公演期間中の改善ダウンタイムを0に
簡単に増やせて簡単に連携$ amplify env add [env_name]production環境 staging環境 development環境ブランチA ブランチB ブランチCGitHub
⾨外不出モラトリアムpages/events/monmoraまずはリリースすることを優先して取り組んだプロトタイプ的公演ページpages/events/soredemoそれでも笑えればノーミーツの可能性を⽰す挑戦をしたチャットの柿落としこれからの公演 これまでの公演pages/events/online-theater-contest全国学⽣オンライン演劇祭完全無料配信タイムテーブル⼊りの公演ページを作成
GraphQLのsubscriptionで実現チャット機能のすべて機能 演劇体験 開発体験両⽅ 新⾵呼起「不本意アンロック」のチャット演出(※動画部分は伏せております)
GraphQLのsubscriptionで実現チャット機能のすべて機能 演劇体験 開発体験両⽅ 新⾵呼起「それでも笑えれば」の選択肢表⽰ 「VIVA LA VALENTINE」のサイリウムスタンプ
GraphQLのsubscriptionで実現チャット機能のすべて機能 演劇体験 開発体験両⽅ 新⾵呼起AppSync DynamoDBsubscription onCreateChat {createChat {…}}GraphQLのsubscriptionクエリ
GraphQLのsubscriptionで実現チャット機能のすべて機能 演劇体験 開発体験両⽅ 新⾵呼起ノーミーツの仲間がお客様のトラブルなどをチャットから拾ったり…
GraphQLのsubscriptionで実現チャット機能のすべて機能 演劇体験 開発体験両⽅ 新⾵呼起ノーミーツの仲間がお客様のトラブルなどをチャットから拾ったり…考察合戦の様⼦を⾒てどこまで理解されてるかを確認したり
GraphQLのsubscriptionで実現チャット機能のすべて機能 演劇体験 開発体験両⽅ 新⾵呼起ノーミーツの仲間がお客様のトラブルなどをチャットから拾ったり…考察合戦の様⼦を⾒てどこまで理解されてるかを確認したり中には裏⽅メンバーへのメッセージを送る⼈も
これからの公演 これまでの公演オリジナルプレイヤーでより没⼊感をWebの枠を超えるような舞台装置としての観劇ページ複数シーンを⾃由に、同時に、観劇国・⾔語の枠を超えていく演劇観客も登場⼈物のひとりになる体験時間の制約も無くなった演劇体験
今回の結末AWSサーバーレス技術は⼩規模チームをドライブAmplify + Next.jsはDX(Developer Experience)を向上するAppSync + GraphQLはフロント中⼼チームに有効ゆっくりでも内製すれば⾃由度が上がる新しい体験を、挑戦しながら作り続ける
株式会社CHIMNEY TOWNミュージカル えんとつ町のプペル原作・脚本・演出 ⻄野亮廣場所(オフライン) 東京キネマ倶楽部場所(オンライン) オンライン劇場「ZA」初台本読み合わせ配信10⽉10⽇ 13時開場ミュージカル本編配信11⽉16⽇ 18時30分開場(アフタートーク付き)11⽉18⽇ 18時30分開場(⽇本語字幕付き)11⽉19⽇ 18時30分開場(英語字幕付き)