こんにちは。 デバイスソリューションユニット開発グループの崔です。 弊社でLIFULL HOME’SのAndroidアプリの開発を担当しています。 ついにGoogle I/O 2018が開幕しました。 Google I/Oはなんと言ってもKeynoteが目玉でしょう。 今日はKeynote内容をお届けしますので、是非楽しんでください! 前回と引き続き、今年は同じ開発部署の衛藤と交代で書いて行きます。 前回の記事は こちら をご覧ください。 I/O会場へ シャトルバス 会場まではシャトルバスが出ているので、我々は朝8時にホテルを出て、最寄りのMountain View駅に向かいました。 少し出遅れ感があったので、朝ご飯は会場で食べることにしました。 駅に着くと分かりやすく看板を持っている方がいるので、すぐバスに乗れます。 シャトルバスはよくアメリカ映画に出てくる小さめのスクールバスに似ていますが、少し高級車感もあります。 会場前 I/Oの会場の前に到着すると既に人の行列ができています。 この行列を抜けた後に荷物の検査を済ますといよいよ入場ができます。 会場の様子 中に入ると朝食の受け取り場は人の行列ができているので、我々は急いで朝ご飯を済ませました。  ベーグルやコーヒーなどが無料で提供されていますが、遅れたせいかベーグルは残りわずかでした。(泣) Keynote 開演場は世界各地から7千人以上が集まり、もの凄い熱気を感じます。 あちこちからうぉぉぉ〜の歓声が響き渡ります! ステージではモバイルでの繋がりを通して世界中からDJや様々な人が端末を動かして楽しむゲーム等で盛り上がっています。 私も飛行機を飛ばしてレースをするゲームに参加しましたが、何故か決まったようにブルーチームしか勝利しなかったですね(笑)  盛り上がっている最中にいつものようにカウントダウンが始まり、GoogleのSundar Pichai CEOが登場します! 今年のKeynoteはさらに進化したAIを中心とした内容でした。 それでは、今年のGoogle I/O 2018の重要な発表を以下にまとめました。 時間を節約する Gmailの新機能「Smart Compose」 Gmailの新機能「Smart Compose」Google AIによってメールコンテンツを理解し、素早く効率的に作成できるよう、文章を提案してくれる機能です。 Google Photo Google Photoを使ってAIにより白黒写真をワンクリックでカラー写真に加工してくれる機能が追加される予定です。 また書類写真をGoogle Photoに保存すれば自動でPDFに保存してくれます。 Google Assistant Google Assistantはさらに視覚的に、自然に会話できるようになります。 音声の種類も六つ追加される予定で、毎回「Hey Google」で話しかけなくてもGoogle Assistantが使えるようになります。 Google Duplex 今日の一番の驚きです!まず以下の動画をみてください。 New Google AI Can Have Real Life Conversations With Strangers 美容室に予約をする会話ですが、まるで人間のように自然な会話ができています。 Google MapにAR機能追加 Google MapにARナビゲーション機能が追加されました。 カメラをかざすだけで画面上に情報が表示されるようになります。 AIによって進化したGoogle News Introducing the new Google News ネット上には数多い記事がある中で、AIによってユーザーの好みに合わせた記事を提案してくれるようになりました。 ユーザーの行動を予測するAndroid P 次回モバイルOS「Android P」と共に開発者向けの「Android P Beta」が本日公開されました。 一般向けは今年の秋ぐらいに正式に配信される予定です。 新しい機能について、以下のように少しまとめました。 Adaptive Battery Image : google AIが必要なアプリを分析して、アプリごとに電力を振り分ける機能です。 結果、CPUの使用率が約30%も減少されるとのことです。 Adaptive Brightness 機械学習を利用して、周囲の明るさに合わせて画面の輝度を調整する機能です。 App Actions Image : google ユーザーの行動を予測して次にユーザーが行いそうな操作を画面に表示する機能です。例えばユーザーがデバイスにイヤホンを刺すと、音楽アプリのSpotifyのプレイリストを提案するなど、ユーザーの行動を予測してサービスを提供します。 App Actionsはランチャー、スマートテキスト選択、Play Store、AssistantやGoogle検索アプリなどAndroid全体で活用されます。 Slices Image : google 検索した内容に対して、各アプリの関連した情報をAssistant検索結果に表示してアクセス可能な機能です。 例えば、Google検索で「Lyft」を検索すると配車サービスLyftの料金と時間などをSlicesと呼ばれる機能から情報を表示してくれます。 もっと詳しい情報は下記の公式ブログをご覧ください。 www.blog.google Smart Display Google Home Smart Display Google Homeは7月から発売される予定です。 既存のGoogle Homeと比べるとビデオ通話やYoutubeなどが見れるようになり、より便利になりました。 その他 ML KitやMaterial Theming、ARCoreなど、魅力的なものが沢山紹介されました! けれど、全てを書くには時間が足りず、また後日改めてご紹介できればなと思います。 おまけ 暑い、寒い!! 最高気温23°、最低気温13°で東京とたいして気温は変わらないのに日陰は凄く寒い、そして日向は燃えるような暑い天気でした。 我々は日陰で震えながら寒い!寒い!と連呼。 そんな時、持参していたウルトラライトダウンが大活躍。あったかい~  After Hours 夜7時から会場でパーティーが開かれ、ちょうど日本で知り合った方々と合流ができました! 1日の疲れを癒してくれるビール、食べ物、DJの演奏、ダンスをする方も! 楽しく有益な1日でした。 Google I/O 2018 Day Twoへと続く www.lifull.blog
こんにちは。 デバイスソリューションユニット開発グループでAndroid開発をしている衛藤です。 私は今年で2回目のGoogle I/O参戦!!どんな発表がされるのか楽しみです! 個人的にはAndroid以外にも視野を広げてGCPやMachine Learning系のセッションも聞いてみようと思っています。 今年は同じくI/Oに参戦している崔と交代でブログをお届けしますのでお楽しみに! 成田空港〜San Jose 5/7、東京の朝はどんよりとした曇り空です。午後から雨との予報を受けて早めに成田空港へGO! なんとか雨を避けて到着、出国ゲートをくぐったあたりでザーっと大雨に。(飛行機大丈夫だろうか・・・) 雨に振られる787 機内にて 大雨の中、無事に離陸しました。ここまで来ればあとは寝るだけ・・・の予定なのですが、 前回は全く寝ることが出来ずに徹夜状態で迎えたSan Joseの朝、今年も同じく一睡も出来ませんでした。 飛行機で眠れる方法教えてください。お願いします。と考えながらSan Jose空港に到着!いや〜揺れましたね! イミグレ イミグレも昨年同様に30分〜1時間程度の時間で問題なく入国することが出来ました。 そしてさすがカリフォルニア!外に出た途端日差しが痛い! 夜になると急に冷えるので、前回の反省を活かしウルトラライトダウンを持ってきました。 ホテルチェックインで若干問題が・・・ 今回は二人なので少し広めのホテルを予約しました。 しかし普通のホテルと違い、受付がないアパートタイプのホテルでした。鍵を自分でどこかで入手する必要があるという高難易度なホテルです。 巨大なダンジョンのようなホテルを眠そうな二人がさまよい続け、ホテルに電話したり通りすがりの人に訪ねようやく鍵を入手しました。 ※ 地下駐車場奥の金網にたくさん南京錠が取り付けられており、それを開けると部屋の鍵が手に入る仕組み 今年のホテルはこんな感じで良い雰囲気です!ダンジョンめぐり頑張った甲斐があります。 Google I/O バッジピックアップ チェックイン後、Uberを利用しI/Oの会場にバッジピックアップに向かいました。 例年と同様に、バッジピックアップ順にKeynoteの席エリアが確定されます。 今年はチェックインで時間を取られたものの、ど真ん中エリアに座ることができたのでひとまず良かったです。 バッジピックアップで貰える内容は以下の写真の通りで、例年と同じですね。 Googleチャリで爆走 Google敷地内にはGoogleカラーの自転車がたくさんあり、勝手に乗り放題です。 しかもアメリカサイズ、サドルを一番低くしてもつま先立ち! そして、誰でも勝手に乗れるため、自転車を後で乗ろうと止めていると勝手に持っていかれます。(いかれました) 眠さでテンションがマックスになったのか、二人で自転車でGoogle敷地内を駆け抜けました。 爆走する私 そのままGoogle Merchandise Storeに行き、大量にお土産を購入。1日目のミッションはクリアです。 大量のお土産 Pre Party参加 Google I/Oの前日は様々な所で前夜パーティが開催されます。 我々もとあるパーティに参加させて頂き、美味しいビールとともにエンジニアとの交流を楽しみました! さて、明日からが本番! いよいよ Google I/O 2018 の開幕です! 続くブログ投稿をお楽しみに☆ Google I/O Day Oneへと続く・・・ www.lifull.blog
こんにちは。 デバイスソリューションユニット開発グループ、韓国人の崔です。 弊社で LIFULL HOME'SのAndroidアプリ の開発を担当しています。 いよいよ5月8日〜5月10日Google I/O 2018が開催されます。 Google I/Oは世界最高かつ最大規模の技術発信イベントです。 現地には世界中から7千人以上のディベロッパー達が集まる中、私と同じ開発グループの衛藤と2名で参加します。 今回初参加ですが、すごくワクワクしていて楽しみです!! 昨年に続きまして 今年も体験したことを記録として残そうと思い、リアルタイムで現地の様子や感想を報告したいと思います。 拙い日本語ではありますが、見て下さっている皆様に出来るだけ分かりやすく書いていくので是非ご覧ください〜! Google I/Oとは? events.google.com Google I/OはGoogleが2008年から毎年USのサンフランシスコで開催しているディベロッパーカンファレンスです。 Googleによる最新技術や新製品・サービスの発表が行われています。 Google I/Oの「I」と「O」は二つの意味があります。 「 I nput O utput」と「 I nnovation in the O pen」の意味合いを持っています。 毎年3日間開催され、Googleプラットフォームを利用する世界中のディベロッパー達が集まり、技術を共有します。 朝から晩までGoogleのサービスを具体化したディベロッパーのアイディアを発表するセッションで進みます。 今年の見どころとして一つ紹介 今年は何と言ってもFlutterが盛り上がっています。 昨年1セッションだったのが今年は6セッションまで増えました!! Dart言語を使ってモバイルアプリ(iOS/Android)を共通コードで開発ができるフレームワークです。 とりあえず、どういうものか動画をみてみましょう。 Introducing Flutter Google I/0 2018開催発表 You nailed it. #io18 will be held May 8-10 @ Shoreline Amphitheatre! Apply to purchase a ticket from 2/22, 10AM PST to 2/27, 5PM PST. pic.twitter.com/yfRC949fee — Google Developers (@googledevs) 2018年1月24日 ちなみに今年は2018年2月22日にGoogle I/Oの開催告知があったので、早速抽選に応募しました。 抽選に当選 2018年3月1日の朝、招待状が届きました。 この時点で当選か落選か決まります。 メールを開くまでドキドキです(笑) そして見事に当選!! 準備編 今回は事前準備編と題して、来年Google I/Oに参加する方に向けて、どんな準備をすれば良いか書いて行きます。 昨年弊社の衛藤が書いた記事にも 準備編 がありますので、よろしければご覧ください。 飛行機・ホテル 世界中から何千人もがGoogle I/Oに参加するため、会場の近くは大変混み合います。 当選したら何より先に飛行機とホテルを予約しましょう。 私たちは expedia で航空券とホテルを確保しました。 会場に行けば朝食・昼食は出るので、食事なしのホテルでも構わないと思います。 パスポート USに入国するにはパスポートの期限が3ヶ月ぐらいの余裕を持ったほうがいいので、事前に確認しておきましょう。 初めての申請をする方は こちら を確認してください。 ESTA USに滞在するにはビザの取得が必要ない代わりにESTAが絶対!必要です。 ESTA は忘れがちなので、是非申請してプリントしておきましょう。 日本語も対応されているので、すごく簡単です。 ちなみに申請してから2日かかりました! 現地SIM or モバイルルータ 会場や施設内は基本的にWi-FIがありますが、緊急時に必要になることがあると思うので、 こちら を持って行きます。 おすすめアプリ Google I/O 2018アプリ Googleの公式アプリ 当日のスケジュールやセッションなどが見られる Uber & Lyft ボタンをタップして配車の依頼をするだけで目的地まで運んでくれるすごく便利なアプリ Google翻訳 翻訳言語をダウンロードしておくとオフラインでも翻訳可能 これがあると一安心! その他 ウルトラライトダウン 現金 & クレジットカード 常備薬 海外保険 モバイルバッテリー 日焼け止め サングラス スリッパ(機内用) USB充電器 携帯トイレウォシュレット USも日本と同じ110Vの電圧なので、そのまま家電製品が使えるはずです。 やっておくと良いこと オフラインコミュニティ参加 提供元 : Timers Inc. やっぱり日本人の知り合いもほしくなりますよね! 東京の参加者同士のMeetupも開催されています。 初めての参加者も多いため、是非参加して情報交換や交流しましょう! 今回はTimersさんのMeetupに参加しました。 USやGoogle I/Oが初参加者にとっては貴重で有益な情報を聞いたり、知り合いも増えて現地でご飯のお誘いなどもありました。 その他のコミュニティ GoogleのSNSのGoogle+にもI/O関連のコミュニティが存在します。 Meeupや会場のスケージュール、様々の情報共有が行われています。 Google+の Google I/O GDC Japan Google+の Google I/O 周辺イベントの参加 毎年Google I/Oと共に、I/Oの前日に色んな会社からイベントが開催されていますので、探してみるのも良いでしょう。 Intel's Google I/O Day Zero Party : Intel主催 Netflix I/O Party : Netflix主催 今回は上記の2社ですごく悩んでいます。 とりあえず楽しい悩みなので、2社とも申請しておきました。(笑) 社外向け報告会の告知 2017年5月23日(水)に 弊社 株式会社LIFULL 半蔵門オフィス にてGoogle I/Oの報告会を行いますので、是非足を運んでみてください! 以下connpassのページよりお申し込みください。 LIFULL.apk #2 - Re: Google I/O 2018 LT枠も大募集中です。 しかも今回は何と!Googleの特別ゲストスピーカーとして【Le Viet Gia Khanh氏】をお招きし、Firebaseアップデートについてお話頂きます!! 皆様の参加を心よりお持ちしております! Google I/O DAY ZEROへ続く〜♪ www.lifull.blog
こんにちは。 LIFULL HOME'S事業本部 不動産投資事業部の大塚と申します。普段はLIFULL HOME'S不動産投資というサイトの開発を主な業務として担当しております。 3/19(金)〜21(日)に開催されたScalaMatsuri 2018に参加してきましたので、今回はそのレポートをお届けしたいと思います。 ScalaMatsuriとは 毎年春先に開催されているアジアで最大級を誇るScalaに関するカンファレンスです。例年は土日の2日間で開催されることが多いようですが、今年は金曜日に「Training Day」(Scala言語の魅力を伝えるコンセプトの元、未経験の方でも参加しやすいプログラム)が設けられた計3日間での開催でした。 今回私はTraining Dayと、カンファレンス初日に参加してきましたので、それぞれで特に印象に残ったセッションについてお伝えさせていただきます。 03/19:Training Day Scalaに関する神話と真実 Scalaに関してよく言われる先入観をQ&A形式で説明していく発表で、未経験者にとっても非常にわかりやすい内容になっていました。 内容を簡潔にまとめますと、 Scalaは本番運用する上でも十分実用的であり、すでに世界中の様々な企業で使われています 適切な資料を使って学んでいけばそこまで学習コストもかかりません。関数型プログラミングの知識もそこまで高度なものは求められません Javaに比べて実行速度が遅いということもありません。ただし、関数型スタイルのプログラミングを多用すると若干遅くなる傾向はあります コンパイル速度は確かに遅いです。しかし、大幅に和らげる方法がいくつかあります といったことが述べられていました。 Scalaに関するよくある誤解(一部事実)を丁寧に解説していただき、未経験者にとっては一歩を踏み出すのに背中を押してもらえるような発表でした。 逆引き!Scala x ビッグデータ 「ビッグデータを使って卓球部を強くする」というストーリー仕立てのセッションでした。(発表資料は こちら ) 発表者二人の掛け合いが夫婦漫才のようで、ところどころで会場に笑いが起きていてとても楽しい発表でした。 内容を簡潔にまとめますと、 卓球台上のボールをトラッキングするシステムのデータ分析システムの構築を事例としてビッグデータの概略を説明 ビッグデータの処理は「収集」→「変換」→「統合」→「分析」→「活用」という流れを組む Scalaは参照等価なコードが書きやすいこととJavaの資産を流用できる点から、ビッグデータを解析するシステムに向いている 分散メッセージングシステムとしてのApache Kafkaや、ストリームデータ処理エンジンとしてApache Sparkなどが有名 といったことが述べられていました。 近年ではスポーツの世界でもビッグデータの活用が進んでいるということもあり、その有用性が一つのストーリーとして非常にわかりやすかったです。 また、セッションの最後にはビッグデータ処理のデモも実演していたのですが、ローカルマシンで大量データ処理を行っているため手短に終わらせないとメモリが溢れて落ちる、という謎の緊張感に包まれていたのも面白かったです。(笑) 03/20:カンファレンス形式 Scalaでの部分的な関数型プログラミング システムをすべて純粋関数(副作用のない関数)のみで構築しきるのは大変なので、部分的に関数型プログラミングのスタイルを取り入れるという話でした。(発表資料は こちら ) 部分的に関数がスタイルのプログラミングを適用していく例としてFIzzBuzzを出力するメソッドを例に取りながらわかりやすく説明されていました。 適用していく戦略として、 避けられない作用(作用層)とそうでない部分(純粋層)を切り分ける さらに依存関係は作用層→純粋層の一方向のみとする といった形でリファクタリングを進めていきます。 こうすることで抽出された純粋層のコードがそのシステムの核となるビジネスロジックと認識できるようになるとのことです。 Haskell + Scala ハイブリッド開発大作戦 HaskellをJVM上で動かす言語実装である「Eta」に関するセッションです。発表資料は こちら JVMで動くからこそJava/Scalaと連携することも可能となりますが、そのノウハウとハマリポイントについて発表されていました。 内容が非常に充実していて上手く要約する自信がありませんので、ぜひリンク先の資料をご覧ください。 特にJavaのようなオブジェクト指向言語における「可変状態」や「継承」といった機能を純粋関数型言語であるHaskell上でどのようにエミュレートしているかの説明は非常に高度で多くの学びがありました。 なお、Scala内にEtaを埋め込むこともEtaからJava/Scalaを呼び出すことも物理的には可能だそうですが、後者に比べて前者の場合は非常に多くの手間がかかるらしく、各言語の依存関係はScala -> Eta -> Java のようにするのが良いそうです。 会場の風景 ここからは当日の会場風景をご紹介いたします。 エントランスの様子。「Matsuri」というだけあって、赤提灯の和のテイストがイカしてますね。 会場内ではコーヒーやお菓子のサービスがフリーで提供されていました。 こういうちょっとしたサービスが嬉しいですね。 アンカンファレンスでの発表内容を投票するボードです。 付箋で貼られたタイトルに対して、聞きたいと思ったものにシールを貼っていき、当日の発表者を決めるスタイルでした。 個人的には「フルコンパイルに1000sかかるプロジェクトを分割してマイクロサービス化している途中の話」という内容が気になりました。 まとめ 今年初めて参加しましたが、セッション会場の熱気がすごく、また内容もどれも濃密で一エンジニアとして大変刺激を受けました。 ぜひ来年はScala力をあげて、アンカンファレンスなど発表する側になれるよう頑張りたいと思いました。 以上でレポートを終わります。 宣伝 株式会社LIFULLでは、エンジニア各職種の中途採用募集中です! エントリーお待ちしています。 【エンジニア 募集職種一覧】 | 株式会社LIFULL
半年ぶりの登場 の技術開発部の相原です。 LIFULL大学という社内制度でDockerゼミの講師を務めたのでそのことについて書きます。 LIFULL大学とは LIFULL大学とは弊社が実施している日本一働きたい会社に向けた取り組みの一つです。 LIFULL大学 従業員一人ひとりの能力開発を目的に、「必須プログラム」「選択プログラム」「選抜プログラム」からなるLIFULL大学(社内大学)を開校しています。 「選択プログラム」では、社長が主催する経営塾、プロジェクトマネジメント、レコメンデーション技術、ロジカルシンキング、英会話等、社員は自身が受講したいゼミを選択して受講できます。ほとんどのゼミで社員が講師を務め、職種や部門を越えてお互いに教え合う文化の醸成に繋がっています。 「選抜プログラム」は、次世代リーダー育成プログラムです。トップセールス、クリエイティブアワード、ベストマネジャー、役員推薦等、次世代経営者候補を選抜した海外研修等を実施しています。 引用: 日本一働きたい会社 社内公募によってその分野に対する専門性を持つ有志の社員が講師となり、受講した社員に対して講義を行います。 私は今年はDockerゼミの他にハイパフォーマンスフロントエンドゼミと称してフロントエンドのチューニングやServiceWorker, WebAssembly周りの講師をしました。 技術系では他にもMOOCで機械学習のコースを受講するといった趣旨のゼミがあったりと毎年様々なゼミが開講されています。 ちなみにLIFULL大学のページは同じく社内制度の クリエイターの日にて開発されたり と、社員が協力して作り上げている制度となります。 クリエイターの日 変化の激しいICT分野のマーケティング能力、技術開発能力を高め、イノベーションを創造するため、通常業務の枠を離れて、新たな技術や手法に取り組む機会を設けています。希望するクリエイター(エンジニア、デザイナー、プランナー、マーケター、プロモーター)は、個人またはチームで特設プロジェクトの提案を行い、承認されたプロジェクトについて業務時間の10%を使い、合宿形式で研究・開発を行います。 クリエイターの日サイト: http://www.creators.LIFULL.com/ Dockerゼミ 今回のDockerゼミは1コマ90分で2回開催し、1回目ではDockerの簡単な説明とハンズオン・2回目ではもう少し踏み込んでApplication Containerの仕組みの解説や本番導入での勘所、社内ということもあるので社内のどういった問題が解決されるのか、導入に向けて何が障害になっているのかということについて話しました。 社内向けに作った資料ということもあり全ては公開できませんが、今回は資料の一部を公開してゼミの空気感をお伝えできたらと思います。 中でもIstioをはじめとするサービスメッシュによるmicroservices構想やSpinnakerによるDeployment Pipelineは受講者の反応もよく、本番導入に対してもポジティブなイメージを持ってもらえたと思います。 最後に いかがでしたでしょうか、LIFULLではこのような雰囲気で活発に社内での勉強会が開催されています。 歯抜けな資料で全体感が掴みづらかったと思いますので続きはLIFULL大学でお会いしましょう。 LIFULLではエンジニアを募集しています。 【エンジニア 募集職種一覧】 | 株式会社LIFULL
こんにちは! LIFULL HOME'S事業本部 QAグループの佐藤です。 今回初めて、3月7,8日の2日にわたり開催されたJaSST’18 Tokyoへ参加させて頂きました。 JaSSTソフトウェアテストシンポジウム-JaSST'18 Tokyo 本記事では2日目の講演内容についてご紹介させて頂きます。 How to identify test flakiness in your test result data テスト結果からテストの不安定性(test flakiness) を読み解く 登壇者:John Micco 氏 (Google) オープンソースのデータセットとBigQueryを用いて、実際にSQL文を実行し、 テストデータの分析を行う手法について具体的なレクチャーを頂きました。 前半はテスト結果の分析、後半はGitリポジトリに蓄積されたデータの分析でした。 本チュートリアル用に作成されたリポジトリ github.com オープンソースのデータセット 感想 弊社QAグループにおいても、Seleniumを用いて継続的にE2E自動テストを実行し、 テスト結果をデータベースに格納し、ダッシュボードにおいて可視化と分析を行っております。 Flakyなテストについては、弊社の自動テスト実行環境においても、度々発生しており、 再実行回数を増やすことで対応しているといった状況です。 もちろんテスト結果の量においても、分析においてもまだまだGoogleのレベルに達しておりません。 今回のBigQueryにおける分析、Gitのコミットデータの分析はシンプルですぐに導入でき実用的なので、 メトリクス計測の手段のひとつとして検討していきたいと思います。 私が経験したソフトウェアテストの変遷 登壇者:柴田 芳樹 氏 (ソラミツ) テスト駆動開発と継続的インテグレーションの技術的変遷について、 具体例として柴田さんの経験を交えての講演を頂きました。 気になった点を要約すると、 1990年代までは結果を目視で確認していたが、2000年以降はテストファースト・テスト駆動開発による自動化されたテスト テストファースト 歴史的にフィードバックループは短くしてきた 最短はいま書いたコードを見直すこと テストファーストだとフィードバックループが短くなり、いま書いたコードを見直すことができる デバッグしているという感覚から、ひたすら実装しているという感覚へ 自動化されたテストは、いつでも何度でも実行可能なので、ソフトウェアの資産になる 手で行ったテストはもう一度時間をかけて目視で確認する必要があるので資産ではない 1990年代までの夜間ビルドから、2000年以降は継続的インテグレーションへ 昔はそれぞれ開発していて、ある程度できたら集める、というビックバン・インテグレーションだった 失敗する継続的インテグレーション マネージャーが関心を払っていないため、常にビルドに失敗している 静的解析ツールの警告が高度すぎて警告の意味がわからない 手動の単体テストを行う前にレビュー テストが終わった後にレビューをすると名前の変更などで手戻りが発生する マルチスレッドプログラミングのテストは難しい 間違っていても動いてしまうことがあるため、動かす前に知識・経験を持った人がきちんとしたレビューをする 100回動作しても保証されないので、自動テストが必須 発生した障害をきちんと記録して分析するが、どう分析していいかわからないので、専門家に相談していた Flakyな部分がある 例えば、3ヶ月前の変更部分がたまたま特定のマシンで露見する 継続的インテグレーションや自動テストを実践することが当たり前で、むしろ実践していないことが「弱み」になる QAは開発プロセス全体を通して深く関与しなくてはならない まとめ テスト駆動開発と継続的インテグレーションは必須 開発者とQAは開発の早い段階からソフトウェアの品質を作り込むために協業すべき時代となっている 感想 開発者とQAは開発初期から協業するべきということは本当にその通りだと思います。 テスト駆動開発と継続的インテグレーションの導入という点でも、テスト全体のサポート(弊社ではテスト計画の作成やレビューなど)においても、 初期の段階からQAチームなどのノウハウを持っているチームがサポートできる状態になっていることで、ソフトウェアの品質を作り込むことができるかと思います。 当然、人的リソースの問題などはありますが、協業を円滑に進めるための仕組み作りも必要かと思いました。 総評 ソフトウェアテストのカンファレンスには初めて参加させて頂きましたが、他のカンファレンスと違って明らかに参加者がテストに情熱を持っている雰囲気があり、Miccoへの質問も次々と出ており、参加者の私にもワクワク感が伝わってきました。 Googleのように先を進んでいるチームもあれば、そもそも自動テストの導入段階のチームもあり、ソフトウェアテスト業界全体を幅広く知ることで、自社の立ち位置も知ることができ、非常に有意義でした。 また、講演頂いたお二人に共通して、QAはゲートキーパーというよりも、全体を見守る立ち位置であるように感じられました。 継続的インテグレーション、継続的デリバリーなどによりソフトウェアテストの自動化が進み、より創造的な仕事に集中していけるような未来が見えてきました。 運営・参加者の皆さま、どうもありがとうございました! 最後に LIFULLではエンジニア各職種の中途採用募集中です! エントリーお待ちしております。 募集中のエンジニア職種一覧【カジュアル面談の応募もこちら】 | 株式会社LIFULL recruit.lifull.com
こんにちは!LIFULL HOME'S iOSアプリ開発担当の高橋です。今回のiOSの勉強会はARKitにテーマを絞り、iOS版LIFULL HOME'SアプリのAR機能「ARお部屋計測」の開発当時の話を、弊社のディレクター、デザイナー、エンジニアの各目線からご紹介させていただきました。 ARお部屋計測とは? 最初に「ARお部屋計測」についてご紹介します。 この機能は「見学メモ」タブの「部屋を計測」ボタンからご利用いただけます。 ホームズくんと一緒に、お部屋の角を画面に写しながらタップしていくだけで、簡単に間取りを計測することができます。 ※ 使用するにはiPhone 5s以降の機種で、iOS11がインストールされている必要があります。 まずは使って体験してみてください! 発表 事業会社のARKit UX設計かいつまみ話 島田真寿美(ディレクター) LIFULL HOME‘S App Night #AR 事業会社のUX設計かいつまみ話 from LIFULL Co., Ltd. www.slideshare.net ARKitを導入した経緯と、仕様を考えるに当たって気をつけたポイントについてのご紹介でした。 普段の開発では、お部屋の探しやすさ・使いやすさといった「機能的価値」の向上を目的としていますが、今回の機能はアプリを使ってもらうことを目的として、「楽しい体験」の提供に重点を置きました。 ARはまだ馴染みの無いユーザが多いため、途中で挫折しないよう適切なガイドをする必要があります。今回はホームズくんとコミュニケーションしながら計測する設計にすることでユーザの利用ハードルを下げる工夫を行っています。 ARの時代がきた!そのときデザイナーは何をしたか 小林武蔵・小泉貴奈未(デザイナー) LIFULL HOME‘S App Night #AR ARの時代がきた!そのときデザイナーは何をしたか from LIFULL Co., Ltd. www.slideshare.net デザイナーは3Dモデリングについては(ほぼ)未経験の中、「ホームズくんの3D化」に挑戦しました。 ホームズくんの世界観を壊さないよう工夫しているのがポイントで、 球体のようなシンプルな形状をベースにすることで3Dデフォルメ感を出しています。 また一方で、ARに溶け込むリアリティを出すためにテクスチャ・アニメーションにこだわっています。 LT時はBlenderによるデモを行いました。詳しくは過去の記事をご参照ください。 www.lifull.blog www.lifull.blog www.lifull.blog TangoのモデルをARKitに流用した話 菊地 慧(エンジニア) LIFULL HOME‘S App Night #AR UXを突き詰めた15日間 from LIFULL Co., Ltd. www.slideshare.net TangoとはAndroidのAR技術なのですが、残念ながら現在サポート終了のアナウンスが出ております。 この技術はiOSとは関連はありませんが、Tangoを活用したカーテンシミュレーションアプリ「LIFULL HOME’S Room Style AR」の開発経験は、ARKitで大いに活かされました。 これは私たちのチームで経験した最初のAR開発プロジェクトで、ARは何ができて何ができないかを探りながら進めました。 Blenderで作ったモデルをARKitに取り込む方法もご紹介しておりますので、iOS開発者の方もぜひ資料をご覧ください。 「AR最速対応をした間取り計測の秘話」 又来 薫(エンジニア) LIFULL HOME‘S App Night #AR 最速対応をした間取り計測の秘話 from LIFULL Co., Ltd. www.slideshare.net 「ARお部屋計測」機能を実際に実装したエンジニアの発表です。 機能内容としては、 AR空間の平面上に点と線を引く 点の位置にホームズくんを移動させる 囲んだ線を間取り図のように表示する とシンプルではありますが、間取り図の角度の調整や、ホームズくんを可愛く見せる方法など様々な工夫を行っています。 ARの文脈でユーザに説明するのも、Appleのガイドラインで述べられている重要ポイントです。 これらの知見が詰まった資料になっておりますので、ぜひご覧ください。 まとめ ARはゲーム系やエンターテイメント系のアプリでよく使われておりますが、ツール系でもマッチするユースケースはたくさんあると思います。 チャレンジする障壁は高いですが、だからこそ他アプリと差別化することができます。 今まで経験がなかった方もぜひ挑戦してみてください。 今回の発表が、今後ARにチャレンジする方への参考になれば幸いです。
こんにちは。 LIFULL HOME'S事業本部QAグループの木住野(きしの)です。 本記事は3月7,8日の2日にわたり開催された JaSST’18 Tokyo 1日目の参加レポートです。 前回の記事 ではイベントの規模感や会場の雰囲気が伝わったと思いますので、本記事では1日目の講演内容についてご紹介いたします。 Advances in Continuous Integration Testing at Google 登壇者:John Miccoさん (Google) 資料 : Advances in Continuous Integration Testing at Google – Google AI 簡単に要約すると以下のような内容でした。 Googleでは420万ケースの自動テストがある 修正したソースコードの影響範囲を自動分析し必要なテストを実行している テスト結果をすべてデータベースに保存している 実行するテストの選択や実行のスケジューリングも自動化している 保存されたデータを用いてFlakyなテスト(不安定なテスト)の結果を分析し必要な情報を開発者にフィードバックすることでプロダクトの品質を維持している 例) 前回は成功したケースが今回失敗したら安全ではないと判定され、開発者へフィードバックされる 感想 私の担当領域も自動テスト、CI/CD部分なのでとても楽しみにしていた講演でした。 Flakyなテストについての考察は弊社でもすでに実践済の部分もありましたが、参考になる部分が多くありました。 以下資料には載っていませんがQ&Aなどで聞けた興味深かった点です。 Googleの開発者は自動テストコードの実装スキルが求められる 手動テストはない(ユーザビリティテストや外国の翻訳部分のみ手動でテストしている) 手動テストのコストとバグを流出するリスクのバランスを決めて経営陣を納得させた上で自動テストのみで品質を担保している 新規事業でも基本的に手動テストはない 会場からは手動テストがないことについて質問が集中していました。(みなさん信じられなかったようです。) また、テスト結果の分析に当たり前のように機械学習を用いている点にGoogleの基礎的な技術力の高さを実感しました。 コードを書きながら学ぶテスト駆動開発 (チュートリアル) 登壇者: 和田 卓人さん (タワーズ・クエスト株式会社) 資料(当日の内容に近いもの): https://speakerdeck.com/twada/tdd-live-in-50-minutes こちらは テスト駆動開発 の翻訳やワイルド・サバンナ(ライオンのアスキーアート)で著名な和田 卓人(t_wada)さんが実際に教えてくれるという個人的にはとても贅沢なセッションでした! テスト駆動開発(以下TDD)の概要、進め方、勘所を説明していただいた後に、 デモとしてTDDライブコーディングを見せながら更に実践的な考え方や細かなテストケースの実装方法を教えて下さいました。 その後、参加者でペアプログラミングを行いTDDを実践するという内容でした。 感想 TDDやコンポーネントテストの実装についてより深く腹落ちさせることができました。 また、TDDのRed→Green→ Refactoringで実装を進める心地よさを味わうことができました。 以下印象に残った点です。 テストコードは「1. 準備 , 2.実施, 3. 検証」の順で実行されるので、その順で実装をしようと思うかもしれないが3の検証から実装するのが良い 検証から実装することでテスト対象の機能の役割や動きが明確になるからです。 1 assert 1 test(1テストケースメソッドには1つの検証処理)がオススメ 1テストケースに複数検証処理を入れると以下のデメリットが有るからです。 複数の検証があるとテスト結果からどの検証が失敗したのか判断しづらくなる 失敗した検証の次の検証は実施されない(Failしても次の検証を実施できるフレームワークもあります) TDDは不安と自信とコードとの間合いを測る技術 実装に自信がない機能に対してはテストが多くなったり、自信があると最小限のテストコードで進むことができる ただし、基本は一歩ずつ機能を確認する 最初のうちはミューテーションテストをしながらテストが期待通りに動くか確認しながら進める テストが想定通りに失敗しないとそもそもの前提が崩れてしまうため、確認する必要がある。 ミューテーションテスト(ミューテーション解析)とは・・・ ミューテーション解析 - Wikipedia テストコードを構造化したり、適切に説明を追加することで対象コードの仕様を表す資料になる 他の開発者に引き継ぐ場合や将来自分が改修する場合などに重要になります。 # 構造化され、説明が追加されているテストコード例 @DisplayName ( "FizzBuzzクラス" ) class FizzBuzzTest { private FizzBuzz fizzbuzz; @BeforeEach void 前準備() { fizzbuzz = new FizzBuzz(); } @Nested class convertメソッド{ @Nested class _3の倍数の時Fizzを返す { @Test void _3を渡すと文字列をFizzに変換する() throws Exception { assertEquals( "Fizz" , fizzbuzz.convert( 3 )); } @Test void _99を渡すと文字列をFizzに変換する() throws Exception { assertEquals( "Fizz" , fizzbuzz.convert( 99 )); } } } # 以下省略 構造化した場合のテスト結果: fizzbuzz_good_result # 構造化されておらず説明もないテストコード例 class FizzBuzzBadTest { private FizzBuzz fizzbuzz; @BeforeEach void 前準備() { fizzbuzz = new FizzBuzz(); } @Test void _3を渡すと文字列をFizzに変換する() throws Exception { assertEquals( "Fizz" , fizzbuzz.convert( 3 )); } @Test void _99を渡すと文字列をFizzに変換する() throws Exception { assertEquals( "Fizz" , fizzbuzz.convert( 99 )); } # 以下省略 構造化しない場合のテスト結果: fizzbuzz_bad_result まとめ どのセッションも魅力的で全てのセッションに出たかったです。 各社の最新のソフトウェアテストの知見や技術、そして熱気に触れられてとても良い刺激になりました。 弊社の自動テストやテスト文化、スキルはまだまだ改善の余地があるので、 改善してよりよいサービスをより早く届けられる仕組みを作りたいと思いました。 また、その成果をJaSSTで発表して、業界へ還元していきたいと思いました! 最後に エンジニア各職種の中途採用募集中です! もちろんQAエンジニアも募集しています。 エントリーお待ちしています。 募集中のエンジニア職種一覧【カジュアル面談の応募もこちら】 | 株式会社LIFULL recruit.lifull.com
こんにちは! 株式会社LIFULLでLIFULL HOME'S事業本部の木村です。 3/7-8の二日間に渡って開催されましたJaSST'18 Tokyo(ソフトウェアテストシンポジウム)にゴールドスポンサーとして協賛させていただきました。 その様子を簡単ですがご紹介します! JaSST'18 Tokyo JaSSTソフトウェアテストシンポジウム-JaSST'18 Tokyo NPO法人ASTER (ソフトウェアテスト技術振興協会)さんが主催するソフトウェアテストシンポジウムで、2017-2018年度も全国各地で同シンポジウムを継続的に開催されています。 ソフトウェア、組み込み系、WEBなど様々なカテゴリのQAエンジニアやテスターの方々が一同に集うイベントです。 開催時の様子 初日の朝からたくさんの方々が列を作って入場を待っており、600人以上(!)の参加者があったそうです。 弊社はQA部門が独立していることもあり分業されていることもあり、私自身理解が難しい内容も多かったのですが、これまであまり追ってこなかった領域でもあり興味深く学ぶことができました。 そんな私が印象に強く残ったいくつかのセッションについて簡単ですがレポートします。 「Advances in Continuous Integration Testing at Google」(初日の基調講演) GoogleのJon Miccoさんが登壇され、Googleの品質管理やテストについてお話されました。 「Googleのテストは100%自動化されている」 「100%自動化にするためにテストが全部完了せずにリリースすることもある」 「100%自動化されているのはGoogleが大きくなったが故のある種割り切り判断でもある」 「QAの独立組織は不要。各チームにQAエンジニアを置くのがいいと思う」 など、我々にとっては刺激的なお話をされていました。※サテライト会場からは見聞きしにくかったこともありもし間違いがあればご指摘ください。 会場からの質問ではやはり自動化についてのヒントを求める内容が多く、「100%自動化」できていることへの驚きが多かったのだと思います。 「Web.JaSST ~ウェブ系QAがみんなのお悩みに全力で提案を返す会~」 弊社に近いWeb系のQAについてのパネルディスカッションでした。 後半は会場からの質問に回答する形式で、事前に質問をwebページから募集する形でいいね数が上位のものが採用されたのですが、なんと私が質問した「QAエンジニアの採用」についてが取り上げられ回答いただきました! 転職市場に開発スキルも持つQAエンジニアは少ないということで、パネラーの方々の例ですと、 * 開発系エンジニアからQAエンジニアへのコンバート * QA系イベントにたまに参加する自動化などへの意識が高い開発系エンジニアを口説く など参考にしたい回答をいただきました。 また、他の内容ではQAエンジニアの守備範囲についての難しさなどが注目されていたように思います。 「アジャイル・自動化時代のテストの現場のリアル」 こちらもパネルディスカッション形式で、アジャイル開発でのテストやDevOps、サイボウズ・ヤフー・クックパッド・Google(敬称略)での取組み事例など交えて議論されました。 クックパッドのコミットからリリースまでのタイムがGoogleより速かったり(すごい!)、サイボウズのアジャイル開発導入での成功事例などこちらも為になるお話を多く聞けました。 まとめ 前述の基調講演の内容で影響があったのかなかったのか定かではありませんが、多くのセッションで「自動化」や「アジャイルテスト」がキーワードになっていた印象です。 QAエンジニアやテスターだけでなく開発系エンジニアにも大いに役に立つイベントでした。 弊社のQAエンジニアも参加しておりチュートリアルセッションなどにも参加していたようです。 近く当ブログでレポートが掲載されますのでご期待ください! 宣伝 実は当イベントの実行委員会に弊社のエンジニアマネージャーが二名参画しております!一名はこの東京開催の委員長を務めていました!(お疲れ様でした!) エンジニア各職種の中途採用募集中です!エントリーお待ちしています。 【エンジニア 募集職種一覧】 | 株式会社LIFULL recruit.lifull.com 過去の協賛レポートはこちらです。 www.lifull.blog
こんにちは! 株式会社LIFULLでLIFULL HOME'S事業本部の木村です。 普段は賃貸領域を担当しながら、技術マネージャーとして人事や裏方の仕事も担当しています。 さて、今回の記事は、3/9-10に開催されたPHPerKaigi2018の協賛レポートです! 今回はシルバースポンサーとして協賛させていただきました。 その様子を少し紹介したいと思います。 PHPerKaigi 2018 とは PHP言語のイベントです。なんと今回が初開催にも関わらず2日間の大型イベントとして開催されました。 場所は東京都の練馬です(練馬区民なのでチャリで来た) phperkaigi.jp LIUFLL HOME'SではサーバーサイドでPHPを採用しており親和性も高くスポンサーしました。 Day.1 初日は夕方からの開催で、かってに予想していた雰囲気とは異なりアルコールも手伝ってか、聴講側から愛のあるツッコミが飛び交うなど超カジュアルな雰囲気でお祭りといった感じ。 特にuzullaさんのLTと発表はすごかったです色々と(笑) ※スライドはページ下部「まとめ」に記載しています。 ちなみにdo_akiさん曰くPHPerの仕事をペチペチしていると表現するそうです。 残念ながら弊社はシルバースポンサーなので掲示なし… Day.2 2日目は会場がA,Bに分かれてプレゼンと相談会などが実施されていました。 Laravel相談会やプレゼン登壇者とのQA会場などになっていたようですよ。 数ある発表の中でもベストスピーカー賞を受賞された後藤さんの「SOLIDの原則ってどんな風に使うの?~オープン・クローズドの原則編~」はとても分かりやすくためになるものでした。さながら家庭教師の先生のようでした。 あんな先輩エンジニアがいたら幸せですね。ベテランも新人もぜひご覧になってください。 まとめ まず、運営もスピーカーも参加者もPHPer(当たり前ですね) PHPに思いが強い人がこんなにもいることに刺激と少々の安心を感じた次第です。 次の機会があればぜひ弊社もスピーカー参加したいですね。 最後に、スライドをまとめてくだった方がいらしたので掲載させていただきます(ありがとうございます!) www.manasnote.com 宣伝 (よく勘違いされるのですが)不動産・住宅情報の総合サービスであるLIFULL HOME'Sが主力の弊社ですが不動産会社ではありません。 たくさんのエンジニアが所属する、ものづくりにも力を入れている企業です。 これからも、国内外のイベントやカンファレンスへのスポンサーや登壇を通して、エンジニアコミュニティを盛り上げることに協力していきたいと思います。 エンジニア各職種の中途採用も募集中です!エントリーお待ちしています。 募集中のエンジニア職種一覧【カジュアル面談の応募もこちら】 | 株式会社LIFULL recruit.lifull.com
はじめまして! このブログに登場するのは初になります。 2017年4月にデザイナーとして入社しました加藤です! 今回は、私も運営に参加した、弊社のデザイナーによるイベント「デザイナーの放課後 #2」についてご紹介します。 デザイナーの放課後って? LIFULLではデザイナー同士で「お互いの仕事のナレッジを共有し合う会」を毎月実施しています。 その発展の場として「外部の方に向けて発表することで、交流の場にもなるのではないか?」と声があがったことが、開催に至るきっかけです。 自分たちのナレッジを外部に向けて紹介することで新たな発見が生まれそう。同時にLIFULLのデザイナーのことを知っていただける良い機会にしたい。 という想いから、このイベントが立ち上がりました。 第2回となった今回は「Retty」「マネーフォワード」のデザイナーさんをゲスト登壇者としてお迎えしました! 席数を40席になんと120名ほどの応募!!!ありがとうございます。 会場の関係により今回は抽選にさせていただきました。 イベントの流れ 「デザイナーの放課後」では、まず弊社のデザイナーを含む登壇者3名によるナレッジの共有を順番にしていただいています。 LTの後には登壇者同士でのディスカッションの時間を設け、お互い聞いてみたいこと、会場のみなさまからのハッシュタグを利用した質問などにお答えいただきました。 今回の流れはこんなかんじです。 LIFULLのアプリの育て方 〜やったほうがいいをちゃんとやる〜 by小林 武蔵/LIFULL 想いを伝え、愛を育むデザイン by池内 健一さん/マネーフォワード Retty流 世界の描き方 〜大きなビジョンを緻密にデザイン〜 by山本 麻友美さん/Retty 登壇者3名と会場のみなさまによるディスカッション ビアバッシュ 今回は、デザイナーの放課後#2に参加した私が、デザイナーとして心に残った部分を抜粋しレポートさせていただきます! 「Simple」で「Amazing」でもある至高 弊社の小林の発表では、「 LIFULL Act 」のうち「Simple」と「Amazing」になぞられて自身のデザインに関する考え方を説明していました。 ※LIFULL Actとは、LIFULLの社員が掲げる指標で、「Life-centered」「For All」「Happy」「Simple」「Amazing」の5つがあります。 Simple … 操作に脳を使わせない Amazing … 魅力的な体験を作る このLT後、操作に脳を使わせないというワードが、自分の中でお気に入りになりました。 どうしたら、使う人が操作に悩まず次のフェーズにいけるのかということは、 UI/UXに関わる人の最大の課題であり、一番悩み、時間を費やすところだと思います。 その反面、ユーザーには無意識に操作をしてほしいので、ユーザーが使う時間は0秒が理想、ということになります。なかなか面白いです。 「Simple」ばかり追い求めていると、一見なんの変哲もないユーザーが使って何の想いも残らないものになってしまいます。 脳が一切の反応を示さずに通り過ぎるだけのサイトやアプリに魅力はあるのでしょうか。 そこで「Amazing」です、ここに"魅力的"という要素を加えるわけです。 新しい体験や、ワクワクする体験をすることで「良い思い出や感情を持ち帰ってもらう」 といった温かい余韻がそのサービスに生まれます。 LIFULL HOME'Sを使う上では「家探し」というユーザーの方の共通の目的がありますが、「家探し」というのは、いろいろな情報をたくさん見比べて自ら調べなければならないため、ユーザーにとっては大変なことだと思います。 Simpleな脳を使わせない操作性と、Amazingといえるワクワクするような新しい体験を盛り込むことで、そのサービスが「家探し」をも素敵な体験に変えることが出来るかもしれません。 魅力を体験してもらいやすくする工夫 株式会社マネーフォワードの池内 健一さんは、マネーフォワードは「魅力に触れてもらう工夫を多くしている」とおっしゃっていました。 サービスには制作者が伝えたい「そのサービスの魅力」があり、それをしっかりと使う人が「感じやすい設計」にする。 意外にも、設計の部分で「ユーザーに使いやすく使いやすく…」と考えていると、自らのサービスの魅力や強みを伝えるという点を見落としてしまっているかもしれません。 魅力を伝え→魅力を体験してもらい→魅了し続ける 普段サービスを提供している身として、自分のサービスが他のサービスより魅力的な点はどこなのか、どうやったらその魅力が使っていただいている人に感じてもらうことができるのか、考えることも UI/UXデザイナーとして大事な部分だと感じました。 ユーザーからユーザーへ想いをちゃんと伝える Rettyは、みなさんご存知の通り「信頼できる人のオススメ」から自分にとってBESTなお店が見つかるサービスです。 今回はRettyの山本 麻友美さんに、そのお店のオススメ度合いを示すアイコンをリニューアルした時のお話をしていただきました。 オススメした人のオススメ度合いが、アイコンによって届ける側のユーザーに同じ度合いとして届いているのだろうか調査したところ、人によってアイコンに感じるオススメ度がバラバラだったようです。 オススメする人の想いがちゃんと届くよう、オススメ度合いを誰もがわかる「直感的にわかるモチーフ」「オススメの度合いがわかる度合い感」を意識して作り直し、最終的にスターマークを使用したお話をされていました。 オススメしたい人が思う度合いと、届けた相手が感じる度合いが違う ことが自分にとって新たな気づきになりました。 自分もユーザー調査やヒアリングを大事にして、けして自分の感覚だけを信じすぎずに、誰もが想いをくみとりやすいような表現をすることを大切にしたいです。 「どれだけユーザーのオススメする声を生の状態で届けられるのか」という部分に向き合ったお話にデザイナー魂を感じました。 まとめ 前回の第一回 からこのイベントを社員としてお手伝いしていますが、いつも思うことが「登場したサービス全部使ってみたい!」ということです。サービスはいつも普段あたりまえにあって、制作者さんの想いや声を聞く機会はほんとうに少ないです。 こういったイベントで制作者の想いやこのサービスの魅力を生で聞けると、良い意味でサービスに人間味というものを感じられ、終わった後、いつも帰り道にそのサービスをダウンロードしています。 ナレッジの共有の後のディスカッションでは、別々のサービスでUIUXを志す3名のコラボレーションを目の当たりにすることができました。 最後のビアバッシュも、多くの方にご参加いただき、私自身も多くの方とお話しする機会をいただきました。 とても楽しく、いろいろなつながりをもてた時間となりました。 以上、デザイナーの放課後 #2開催レポートでした!次回も、たくさんのご参加をお待ちしております!! また、 LIFULLでは一緒に働く仲間を募集中です! 新卒も中途も絶賛募集中。 共により良いサービスを世界に生み出しましょう! recruit.lifull.com
こんにちは。 LIFULLのデザイナーのミーコです。 毎日寒い日が続いていますが、そんな寒さを吹き飛ばす勢いで 2018年1月30日(火)~2月12日(月)の間、 ZeroBase表参道にて期間限定のPOP UP SHOP 「ホームズくんCAFE」 がオープンしています! ホームズくんCAFEでは人気店の協力によるチョコレートやコーヒーのホットドリンクのテイクアウト販売と、 「住まいも、マグも、“ピッタリ”を選ぼう」をコンセプトにしたここでしか買えないホームズくんマグカップ(全8種類)の販売を行っております。 2FではVR等の最新テクノロジーで一歩先の住まい探しを体験できる【TECH EXHIBITION】や 週末には専属アドバイザーによる家探しや家づくりの相談会も合わせて開催しています。 なんと毎日ホームズくんもお店に遊びにきているのでぜひお越しください! 今回はこのホームズくんCAFEを開催するにあたり LIFULLのデザイナーが携わったことをブログでお伝えさせていただければと思います。 プロジェクト開始 プロジェクトの起案~承認まではプロジェクトオーナーであるマーケティング担当者が行い、 店舗企画から制作チームも加わり、互いに意見を出しながらプロジェクトを進めます。 プロジェクトオーナーと二人三脚で推進していく主な制作チームは アートディレクター1名、デザイナー1名の体制で、私はデザイナーとしてアサインされ、 商品であるマグカップのデザインだけでなく、ロゴデザイン、看板・店舗デザインから、販促物の制作も一通り行うといったプロジェクトでした。 デザイン制作期間 店舗の施工や看板の印刷は社内では行えないため、デザイナー自身も 店舗設計・施工会社、看板の印刷会社数社との打ち合わせを行ったり、実際に現地に足を運びながら制作を進めていきます。 看板や店舗の入稿データはS=1/10やS=1/30サイズで作ることが多く、 全体デザインのサイズ感や使用する写真素材の解像度もつどつど計算して検証しながら制作する必要がありました。 実寸サイズですぐに確認することができないので、わからないことが多かったり、 データが重くなると不具合が起き始め、締め切りが迫るなかヒーヒー言いながら制作を行っていました。 店舗関連の制作と同時進行で商品のマグカップも取り扱い業者さんと打ち合わせを行います。 業者さんから提案されるものに対して、もっとこういうことができないか、この商品を使いこんなことができないのかを逆に提案しつつ、 やりたいこととできることが合うように8種類のひとつひとつを丁寧に決めていきます。 マグカップのデザインは偏りがでないよう、同じ部署のデザイナーにも協力してもらいバリエーションを出しつつ 全体のバランスも保てるようにしていきました。 マグカップの湾曲に対してデザインがどうなるのか想像して、入稿データを作るのには一苦労でした。 ▼このまま入稿するとホームズくんの形が歪む恐れが..... ▼マグカップの形に沿ってデザインデータを作り起こします。 こうしてマグカップが完成しました! 全ての制作物はクリエイティブ・ディレクターのチェックを挟んで、 入稿を行ない、マグカップの納品と店舗の施工開始日を待ちます。 その間当日まではフライヤーやメニュー表など、販促物をバババッと制作します。 A3サイズ未満の入稿は実寸で確認ができるので安心でした。 ついにオープン! 施工はオープンの日の深夜から始まります。 関係者が立ち会って施工を見守り、店舗の最終調整を行います。 無事に出来上がってオープンできるのか不安と期待でドキドキの瞬間です。 朝8時頃には施工はほぼ終了して、機材をセットするなど微調整を行い、無事オープンできました! 最後に ずっとPC画面の作業なので実物が出来上がったときはとても嬉しかったです。 そして人通りの多い表参道に、自分が携わったものが公開されているのは感慨深いです。 多くの人に見てもらえると思うと、励みになりますね。これからも頑張ります! というわけで、ホームズくんCAFEはリアル店舗ですが、LIFULLのデザイナーも一緒に関わって制作をしています。 WEBサービスを運営しているLIFULLのデザイナーもこういう仕事もするのか〜と興味を持っていただけたら嬉しいです。 あとはホームズくんCAFEに来て、より多くの人にホームズくんを知ってもらえたらいいなと思います。 マグカップにはいろんな表情のホームズくんがいるので、 お越しの際はぜひ手にとってご覧ください。 寒い日が続きますが、暖かいホットドリンクを飲みに「ホームズくんCAFE」にお気軽に遊びに来てください。 お待ちしております! 「ホームズくんカフェ」店舗概要 営業期間/時間 2018年1月30日(火)~2月12日(月) 11:00~20:00 ※2月12日は17:00にて閉店 場所 ZeroBase表参道(東京都港区南青山5-1-25) 東京メトロ「表参道駅」より徒歩1分 lifull.com
平成30年になりました!今年もどうぞよろしくお願いします! 「クリエイターの日※」運営委員会のオノです!今回は、第5回創民祭について共有させていただきます! ※LIFULLの制度。自分で一から企画し、モノづくりや技術検証の活動に業務時間の10%を使うことができる仕組み 創民祭とは? 創民祭 (そうみんさい)とは、業務や「クリエイターの日」、プライベートの成果など、LIFULL社員が作ったプロダクトをお披露目する社内展示会です。 日頃から温めてきたプロダクトのお披露目! 仕事帰りの一杯! 他部署社員との交流! などが楽しめる、ものづくりを頑張るクリエイターによるクリエイターのための半年に一度のお祭りです(第五回は2017年10月開催でしたので、だいぶ公開が遅くなってしまいました…)。 過去の様子はこちらで! 第1回 第2回 第3回 第4回 第4回 から実施され好評だったライトニングトークもパワーアップ!?していましたねー。新卒1年目デザイナーさんの研修報告やBAD UIといったHCD活動に関するトークもありました! ️全部で9個!展示プロダクト 当日に展示されたプロダクトと出展者のコメントです(今回はコメントの一部だけご紹介)! ①VRアクションゲーム (趣味で作ってます!)VRアクションゲームです。剣や魔法でモンスターと戦ったり、広大な世界を当てもなく彷徨ってみたり、木を伐って家を建ててみたりできます。 実際にプレイを体験は、 こちら から。 ②ARお部屋計測 2017年9月18日(月)よりiOS11の新機能「ARkit」に対応した新たな機能「ARお部屋計測」では、iPhoneのカメラをかざすだけで簡単に室内のサイズを計測できます!メイン業務がある中、ディレクター、デザイナー、エンジニア皆で時間を捻出して取り組みました。お部屋を採寸するだけでなく、ホームズくんと2ショットもとれる裏技も…! ③LIFULL HOME'S Room Style AR AR空間にカーテンを掛けられる模様替えアプリです。お部屋をスキャンしたら、アプリ上でカーテンレールから色柄まで指定してカーテン模様替えのシミュレーションができます。アプリ開発の事例がなかったので、台湾までセミナーを受けに行ってきました! ④LIFULL大学HP作成! 従業員一人ひとりの能力開発を目的にした自主ゼミである「LIFULL大学」( 詳しくはこちら )。人事部の工数削減や受講者のゼミ登録の効率化を目的に、人事部に現場のヒヤリングから実施して1つのWebサイトにまとめました。 ⑤自律型サーバ運用システム 経験豊富なインフラエンジニアにより行われてきたサーバの異常検知や手作業での障害対応を、人工知能で解決しました。これにより、大幅なコスト削減を実現!慣れない論文を読み漁り、業務の合間を縫って開発を進めました。 ⑥LIFULL Library このシステムは、LIFULLで共有されている蔵書をスマートに貸し出し可能にします。バーコードリーダーだから返却も一瞬です!複数スタックありで難しかった環境設定は、dockerで工数削減。高速開発ができました! ⑦OneLogin AWS Connector AWSCLIやAWSSDKを使ってAWSにアクセスする際に利用されるクレデンシャルをOneLogin経由でログインして取得、設定してくれるツールです。AWSコンソールだけじゃなくてCLIもOneLogin経由で利用したい!そんな声に、これなら一発です。オープンソースでpythonのツールもあったのですが、仕組みの理解とGoの練習のため新規に作りました。 ⑧離席時に自動で画面スリープしてくれるPCアプリ このアプリは、席を離れることを感知して自動でPC画面をスリープしてくれます!想定より早く形にできたので、データ受け渡しをAPI経由からBLE経由で渡す仕様へ変更し、サーバの処理コストを削減できるようにブラッシュアップ!空き時間でAPIを使ったデモアプリも作成しました! ⑨LIFULL KeepLearning 勉強しようと思ってアプリをインストールしても、使うことすら忘れてしまった経験はありませんか?KeepLearningなら設定した教科についてのクイズが”ポップアップ通知”で1日3回届くので、アプリを開く必要がなくなります!これで3日坊主からサヨナラです! 結果発表!最優秀賞は? 最優秀賞 LIFULL大学HP作成 創民祭で最も映えある賞は、こちら!LIFULL社員が教え学び合う文化が、さらに充実した形となりました。 山田賞 離席時に自動で画面スリープしてくれるPCアプリ 弊社役員の山田が推薦する賞です。全社員全席に導入し、セキュリティも高めていきたいですね! Tech賞 自律型サーバ運用システム いぶし銀でテクニカルな成果へ送られる賞です。コスト削減をエンジニアリングで解決! BEST SPEAKER賞 schoo動画研修 LTで最もみんなの心を掴んだ賞です。映えある第一回目の受賞は、一年目デザイナーのパワー溢れるプレゼンでした! 最後にー! 創民祭の5回目、その一部をちょっとだけお伝えしました!どんどん展示物のクオリティも上がってきていて、半年に一度の楽しみな行事になってきています! LIFULLでは、一緒に働くメンバーを募集中!新卒も中途も絶賛採用中です。 ご応募お待ちしてますので、ぜひみてくださいー! lifull.com
こんにちは。LIFULLの松井です。 今回は、11月に開催された「リーダーズアイセミナー(社員向けの講演会)」についてご紹介します。 LIFULLが目指すWell-being LIFULLは今年のテーマとして、 「Innovation」と「Well-being」 に力を入れています。 「Well-being」 は、WHO憲章の中で謳われている健康の定義で、単に病気でないというだけでなく 「肉体的にも、精神的にも、そして社会的にも、全てが満たされた状態」 を意味します。 LIFULLとしては、 「社員の幸せを高めていくもの」 として、重要視しています。 今回は 「Well-being」を推進するLIFULLの取り組みのキックオフ として、 予防医学の研究をされている石川善樹先生 にご講演いただきました。 自由参加の講演会でしたが、 なんと100人程度の社員が参加しました! キックオフに続き、今後も睡眠や食事などのプログラムが展開される予定です。 第一部「石川善樹先生による基調講演」 第一部は石川先生から 「人生100年時代の働き方と健康」 というテーマについてお話いただきました。 基調講演では、 「人生100年時代に働き方はどう変化するのか?」 「生産性の高いオフィスとは?」 「社員が気軽に取り組めて、健康につながる方法は何か?」 「デスクワークにおいて、疲れにくい理想の姿勢とは?」 などを中心に、石川先生から様々な示唆に富んだお話をいただきました。 第二部「パネルディスカッション」 第二部は、弊社社長の井上、人事本部長の羽田が加わり、 パネルディスカッション形式ですすめられました。 まずは冒頭、 LIFULL社員2人の日々のスケジュールを見ながら、 石川先生からLIFULL社員が実践できることについてアドバイスを頂きました。 「帰宅が遅くなりがちなビジネスパーソンの食事のタイミング」や、「働くママに起こりやすい問題やその対策」 など、社員の多くに共通するのお話に、参加した社員も興味を持ったようでした。 パネルディスカッションの後半では社員から 「つい飲みすぎてしまった時の対処法は?」や「ノートPCで、疲れにくい姿勢を保つためには?」 など多くの質問が上がりました。 終わりに 参加した社員の感想からは 「デスクワークの姿勢については、何となく改善しないといけないと思っていたが、姿勢を改善していかないといけないという意識がより高まった。」 「部屋の換気が、社員の集中力に関わってくるとは意識してなかったので、定期的に実施していきます。」 などの感想を聞くことができ、 日常の行動につなげているようでした。 自分としても、人生100年時代、定年が70代になり長く働き続ける時代において、 「いかに不調にならないか」を考えながら、自分自身の睡眠や食事などの生活習慣を見直していくことの重要性を実感しました。
こんにちは、磯野です。 さて、今回が最終レポートになります。 今回はまとめということで、参加して思ったことなどを簡単に書きたいと思います。 参加してみて オススメのセッション キーノート ブレイクアウトセッション ワークショップ その他のセッション おまけ 企業ブース 帰国時のiPhoneのアクティビティ まとめ 参加してみて 参加する申し込み時点では新サービスのキャッチアップや各セッションでの知識の習得をということしか考えていなかったのですが、途中から、 GameDay編 でも記載したように、現地でしかできないことをし、それを持って帰ることというミッションを加え、色々と挑戦してきました。 実際参加してみると、GameDayもワークショップも現地のエンジニアとの交流や直接現地のSAに質問できたりと、とても有意義な時間になりました。フィードバックとして、社内でもハッカソンやワークショップを開催したいと考えています。 オススメのセッション キーノート 会場に行くのであれば、少し早めに行って前の方に座った方がいいと感じました。 初日のキーノートはギリギリの時間についたので、少し後ろだったのですが、前の方では新サービスの発表時に歓声が上がっていましたが、後ろの方がそこまでの盛り上がりはなく、淡々と話を聞く感じになります。 登録しておけばリアルタイムでの配信もされるので、前の方でないのであれば、配信で視聴してもよさそうです。 ブレイクアウトセッション 話を聞くだけでも意味はあると思いますが、セッション後に登壇者に質問にいったり、近くで他の方の質問と回答を聞くだけでも、プラスアルファの情報を得られるので、有意義なものになるのではないかなと思っています。 参考までにセッションなどのアップされるYouTubeチャンネルのリンクを貼っておきます。 www.youtube.com ワークショップ ワークショップ編 で書きましたので詳細は省きますが、実際に手を動かして課題のものを作ってみるセッションです。 個々人で進めるため、講師やサポートのSAの方々に質問しやすい環境にあるので、ブレイクアウトセッションで質問するよりもハードルが低いです。 その他のセッション 今回参加していませんが他にも、ハンズオンラボやチョークトークなどいろいろなセッションがあります。 チョークトークはディスカッションのようで躊躇してしまったのですが、次は参加できるように頑張りたいなと思っています。 おまけ 企業ブース re:Invent内でも企業ブースがあり、それぞれのブースを回るとTシャツや靴下やステッカー、その他色々なものがもらえます。 時間をみてぐるっと回って見たのですが、Tシャツ20枚以上、靴下4足、それ以外も数え切れないほどもらいました。 セッションの合間に時間があるようでしたら回って見るとイベント中のTシャツの着替えには困らないと思います。 なお、Tシャツ集めがミッションではなく、周辺サービスの情報収拾のためということもあり気にしながら回っていたのですが、いくつか良さそうなサービスの話を伺えたので、導入検討していきたいと思っています。 帰国時のiPhoneのアクティビティ 行きの時点で気にしていたiPhoneのアクティビティですが、帰りもやっぱり気にしていました。 帰りのフライトは現地時間で土曜日の早朝に出発し、日本時間で日曜日の夕方に到着ということで、単純に考えると土曜日・日曜日のどちらかが極端に短くなります。 結果土曜日の数値が残念な結果になり、ムーブ連続達成記録もここで潰えてしましました。 スタンドが全部点灯にも関わらず7になっていて、詳細を見るとスタンドしなかった時間が0ということで時差分の17時間がなかったことになっているようです。 0時から7時の間にムーブを達成しておけば連続達成記録も継続できたような気がします。 まとめ 本当に有意義な1週間でした。 この経験をしっかり消化して、実際の開発にも活かしていけそうな部分を取り込みプロダクトを改善しつつ、周りにもいい形でフィードバックしたいと考えています。 ありがとうございました。 以上4回に分けての初参加の報告でした。 www.lifull.blog www.lifull.blog www.lifull.blog
こんにちは。 LIFULL HOME'Sアプリのデザイナーのこばやしです。 デザイナーの3Dモデル作り、最後は「アニメーション編」です。作成したメッシュオブジェクトに骨格(ボーン)を入れ、動きを作っていく行程をまとめました。 ツールの操作やモデリング前の下準備については 準備編 をご覧ください。 www.lifull.blog メッシュオブジェクト作成・編集については モデリング編 をご覧ください。 www.lifull.blog 骨格(ボーン、アーマチュア) 骨格を設定する 前編で作ったホームズくんのメッシュオブジェクトに骨格(ボーン、アーマチュア等と呼びます)を設定します。この設定を行うことで、骨格の動きに合わせたメッシュオブジェクトのポーズを自由に変更できるようになります。 基本となるボーンを作る 1 .メッシュオブジェクトの基底部分(今回は足の裏)が座標0に合わさっていることを確認します。ボーンが設定しやすい位置に移動させます。 2 .メッシュオブジェクトを選択した状態で「Shift + Aキー」で、オブジェクトの追加メニューが表示されます。アーマチュア(Armature) > 一つのボーン(Single Bone)を選択します。これでボーンが1つ追加されます。 3 .追加したボーンを座標0に移動させ、骨格の基本となる背骨とします。 作業がスムーズになる設定 ボーンはメッシュオブジェクトと重なるところに配置されることが多いため、作業中見えづらくなります。そこで、 アウトライナーでアーマチュアを選択し、アーマチュアプロパティのオプションから「レントゲン」をON にしましょう。こうすることで、常にボーンが確認できます。 ボーンを生やしていく 基本となるボーンができたら、次はボーンを生やしていきます。ホームズくんのように人型の場合は、実際に人の骨格を参考にします。 1 .ボーンを選択し、背骨の半分ぐらいの大きさに調整します。 2 .ボーンを生やしたい方向の先端の丸い部分(太い側をroot、細い側をtipと呼びます)を選択し「 Eキー+マウスドラッグ 」でボーンが生やします。 3 .「 Shift + Eキー + マウスドラッグ 」で左右対称に生やすことができます。中心のボーンから腕を生やす時などに便利です。 4 .X軸にミラーの設定をします。X軸を対称にボーンを作ることができるので、肩から指先など左右対称にボーンを生やす作業がスムーズになります。 ボーンとメッシュオブジェクトのペアリング アウトライナーからメッシュオブジェクトとアーマチュア(設定したボーン)を選択し「 Ctrl + P 」で「 ペアレント対象 」のウィンドウを開き「 自動のウェイト 」を選択することで、ペアリングが完了します。 ポーズを変更する ボーズモードにし、ボーンを動かしてみましょう。ペアリングでウェイトが設定されたメッシュオブジェクトが動くようになります。ポーズモードでの操作でメッシュオブジェクトが動いても、実際のオブジェクトの位置や角度は変形しません。 作業がスムーズになるコマンド 「 Aキー 」でボーンを全選択 「 alt + Gキー 」 で位置を元に戻す 「 alt + Rキー 」 で回転を元に戻す 「 alt + Sキー 」 で拡縮を元に戻す 作業中、元の位置がわからなくなった時は元に戻して確認しましょう。 ボーンをポーズさせるのに見やすい表示に変更します。アウトライナーのアーマチュアプロパティを選び、表示を「 スティック 」を選択します。 アニメーションの設定する アニメーションを設定するには、エディターの「 ドープシート 」を使用し、表示されたタイムラインにポーズごとのキーフレームを打ち込んで、アニメーションを作っていきます。 「歩く」の作り方 まず、下記を時のポーズを考えます。より細かい動きを作りたい場合はポイントとなるポーズを検討します。 ・前方の足がついた時 ・足が入れ替わるところ(中間) 次に、ボーンを動かしポーズを作り、キーフレームを挿入していきます。「 Iキー 」で「 キーフレーム挿入メニュー 」を表示し「 位置、回転、拡大 」を選択。これでポーズが挿入します。これを繰り返し、アニメーションを作っていきます。 キーフレームが2つ以上挿入されているとボーンが自動的に移動します。ただし、挿入された点間を定速で移動するだけなので、動きがヌルヌルで、ぎこちなく見えます。 中間ポーズなし 歩くアニメーションの場合は中間に「 足が入れ替わるポーズ 」を挿入することで、リアルな動きを作ることができます。 中間ポーズあり 作業がスムーズになるコマンド キーフレームに設定したボーンの座標はコピペすることができます。また、 「Ctrl + Shift + V」で左右反転貼り付け をすることができます。これにより「左足前のポーズ」を「右足前のポーズ」として貼り付けできます。左右で座標ずれの心配がないので便利です。 一連の動きが繋がったら、細かい手首の動きなど調整して完成です。 終わりに ツールの準備・3Dモデル作り〜アニメーションまでを3編でまとめました。新しいツールに触れるのは大変ですが、今回取り上げた機能で3Dモデルを作ることができたので「難しそうだけど作ってみたい」「作業途中で困った」という方の参考になれば幸いです。 今回作成した3DモデルのホームズくんはiOSのLIFULL HOME'Sアプリの「見学メモ」の「ARで部屋を計測」に登場しています。iOS11の新機能ARKitを用い、ホームズくんと一緒に部屋の大きさを計測できる便利機能です。歩く以外の動きや表情もいくつか見ることができるので、OS11の方は「見学メモ > 部屋を計測」から体験してみてください。 LIFULL HOME'S(ライフルホームズ) LIFULL Co., Ltd ナビゲーション 無料
こんにちは、新UX開発部の二宮です。 LIFULLでは、 Qiita Organizationsを利用 しており、その一環として、昨年からアドベントカレンダーを行っています。 このLIFULL Creators Blogに比べて、Qiitaではより技術メンバー個人の情報発信・共有にフォーカスしており、アドベントカレンダーでも技術メンバー個人の苦戦や発見を共有してもらっています。 LIFULL Advent Calendar 2017 LIFULL その2 Advent Calendar 2017 アドベントカレンダーは、元々 昨年 に「LIFULLでもやったら面白いんじゃないか」「社内外に他のメンバーのことを知ってもらえるんじゃないか」と気軽な感じで数人に声をかけて始めました。当時はそもそも枠が埋まるのかどうかも不安だったのですが、今年も2つ用意したカレンダーが順調に埋まっています。 また、特に今年の新卒メンバーも名乗りをあげてくれた(内容はGo言語, BigQueryなど)のが私個人は嬉しいです。 弊社のエンジニア・デザイナーの素のがんばりを知るきっかけとして、それぞれの記事をご覧いただけると嬉しいです。
磯野です。 日曜日に帰国しました。帰りの飛行機は空いていて隣が空席だったため、広く使えて快適なフライトでした。 4日目のキーノートでのDeepLensの発表でワークショップの存在を知り、DeepLensのワークショップには参加できませんでしたが、ワークショップとは何だろうと疑問も抱いたので参加して来ました。 参加したセッションは三つです。 ALX305 - Designing Far-Field Speech Processing Systems with Intel and Amazon Alexa Voice Service ABD340 - NEW LAUNCH! Stream video from edge devices to AWS for playback, storage and processing using Amazon Kinesis Video Streams ALX307-R - [REPEAT] Integrate Alexa into Your Product Using the AVS Device SDK ワークショップの流れ 参加したどれもがある入力(音声/動画)を受け取って、AWS側のサービスと連携するものということで、RaspberryPiと対応した入力デバイスが提供されました。 参加したワークショップが全てハードウェアを使ったものだということで、傾向が似てしまった可能性はありますが、いずれのワークショップも Session Level:Advanced (300 level) ではありますが、初心者でも取り組みやすくなっていました。 実際の流れはこんな感じです 最初の30分程度で構成システムの説明 作業内容のpdfの共有 pdfにしたがってのワーク わからないこと・うまくいかないことがあれば講師、サポートメンバーに質問する ワークが終了次第、各自解散 ALX305 - Designing Far-Field Speech Processing Systems with Intel and Amazon Alexa Voice Service Far-Field、つまり離れた場所からの音声を認識し処理するデバイスでAlexaを呼び出す開発キットを使って行うものです。 Amazon Echo を自分で作成する為のキットと思ってもらえればだいぶ近いと思います。 提供していただいたものは以下の4つです。 RaspberryPi3 MicroSD (OSやソースコード) Intel Speech Development Kit イヤホン 提供されたインテルの音声キットとRaspberryPiを組み合わせてハードウェアを構築し(基盤むき出しですけど)、そこでAVS(Alexa Voice Service)デバイスSDKを利用したサンプルコードをビルドし、実行することが目的です。 OSやら基本のソースやらが全て設定済みのSDカードも提供されているので、簡単にできました。 ワークショップの内容はこちら https://avs-dvk-workshop.github.io/ ABD340 - NEW LAUNCH! Stream video from edge devices to AWS for playback, storage and processing using Amazon Kinesis Video Streams NEW LAUNCH! について:キーノートで発表されたサービスに関するセッションであることを表しています。 このワークショップはKinesis Video Streamsの発表を受けて実際に使ってみる為のワークショップです。 Kinesis Video Streamsに動画データを配信する為、RaspberryPiにカメラのキットを繋いで、動画配信プログラムを実行します。 参照はKinesis Video Streamsの標準の動画ビューアーで行います。 提供していただいたものは以下の3つです。 RaspberryPi3 MicroSD (OSやソースコード) RaspberryPi Camera Module V2 ワークショップの内容は非公開でした。 外部IPからのダウンロードをできないようにしていたので、ここでも公開はしないでおこうと思います。 ALX307 - [REPEAT] Integrate Alexa into Your Product Using the AVS Device SDK [REPEAT] について:人気のあるセッションはすぐに埋まってしまいますが、希望者があまりに多い場合には、追加でセッションが開催されます。 とても人気のあるものだと[REPEAT 2], [REPEAT 3]のように増えていくことになります。 こちらは、USBマイクをRaspberryPiにつけて行うワークショップです。ABD340との違いは、Far-FieldではなくHands-Free端末向けという部分です。 提供していただいたものは以下の3つです。 RaspberryPi3 MicroSD (OSやソースコード) USBマイク イヤホン これを利用して作られるようなデバイスとしては、スマートフォンやスマートウォッチなどでしょうか。 マイクの性能・接続方法とそれによるビルド方法の違いを除いて同じような内容だったので、内容についてより深く理解することができました。 ワークショップの内容はこちら https://avs-sdk-workshop.github.io/ ワークショップに参加しての感想 そこまで高度な技術力は要求されていないので、セッションレベルがAdvancedだとしても興味がある場合には参加してみることをお勧めします。 なお、質問の際は講師の方が席まで来て、しっかり状況を確認して話してくれるので、多少の英語力があれば大丈夫です。 ワークショップは2時間という限られた時間ですので、基本的な部分を中心に学ぶこととなります。そこから、より深く学ぼうとすれば、後ほど自分で調査し、拡張していく、といった取り組みを行う必要がありそうです。 興味があるけど、どこから手を付けるべきか・・・というときには、最初の一歩としてのハードルを下げる、良い内容だと感じました。 次回にまとめの投稿を行って本シリーズは最後したいとおもいます。
エンジニアの鈴木(健)( @szk3 )です。 AWS re:Invent 2017 最後の参加レポートになります。 今回は参加レポートとしてLIFULL Creators Blogに投稿してきたので、これらの内容をベースに振り返ります。 振り返り Day 0 - re:Invent への道のり 出発から現地入りしていよいよ始まるイベントへの期待をレポートしました。 www.lifull.blog Day 1 - re:Invent の熱気 ついに始まったre:Invent 2017の現地の熱気についてのレポートです。 www.lifull.blog Day 2 - GameDay への参加 GameDayに参加し、世界中から来たエンジニアと組んで戦った様子や結果を書きました。 www.lifull.blog Day 3 - Keynoteでの新サービス発表 Keynoteでの発表やセッションの様子、新しく発表されたデバイスDeepLensについて書きました。 www.lifull.blog Day 4 - Alexa ハッカソンへの参加 Alexaハッカソンに参加し、メンバーとの出会いやハッカソンの様子についてお伝えしました。 www.lifull.blog Day 5 - 振り返り 本記事になります。 今年も 圧倒的な数の新サービスの発表 がありました。 3日目の参加レポート にも書きましたが、MLのコモディティ化によるAIの開発が圧倒的に楽になっていく未来がどんどん具体性を帯びてきています。 また、エンタープライズ向けのニッチな機能がどんどん提供されていくあたりに、AWSの顧客ドリブンの姿勢が見えました。 AWSの顧客ドリブンな姿勢は、以下リーダシッププリンシパル(OLP : Our Leadership Principles )にまとまっています。こういった、 素晴らしい行動原理があるからこそ毎年のように凄まじい数のアップデートや新サービスの提供が可能になる のでしょう。 www.amazon.jobs 冒頭にも書きましたが、本記事で参加レポートは終わりになります。 Day 0に書いた本レポートの目的は、「海外カンファレンスに興味を持つエンジニアを増やす」でした。 今回書いた記事がきっかけになり、ひとりでも多くの方に 「自分も行ってみたい(自分でも行ける)!」と思っていただければ幸い です。 この経験をどう活かすか? イベントへの参加した後は、熱気にほだされているので調子のいいことをいろいろ言いたくなります。(自戒を込めて) ですが、本当に重要なのは、この 経験を実務にどのように活かすか です。 活かし方は、人によってコンテキストが違うので、一概にこうしたほうがいいというのはありません。 ですが、エンジニアとして考えた時に、「ディスカッション」「アクション」の2つとして抽象化できるのかなと思います。 ディスカッションについては、「お客様や自社のアプリに対して新しく発表された新サービスがどこに使えそうか」や「海外カンファレンスの費用対効果」等、 いろんな切り口で話合うことができる と思います。業務時間に取らなくてもカジュアルにランチで話すだけでもエンジニアの交流や活性化につながり、十分に効果があると思います。 アクションについては、「新発表サービスを使った新機能開発」、「社内外に向けたフィードバック」、「新発表サービスにハンズオンした内容などを情報発信」や「社内ハッカソンの開催」など、できることはたくさんあります。 きちんと行動に落とし込み、 アウトプットとして評価できるような形で次につなげていくのが重要 だと思っています。 まとめ 去年は「海外のカンファレンスに参加するということ」というフィードバックを書きましたが、これは今年もre:Inventに行った経験から間違ってないと確信しました。 www.lifull.blog 個人的な話で言うと、今回から参加スタイルがに変化がありました 。聴講型から参加型へと大きくシフト したことです。 ハッカソンやワークショップだったり実体験ベースのアクションができたのは大きな収穫であり、 昨年との大きな違い です。この経験は大変有意義だったので、社内に対していろいろとやりたいことが増えました。 この経験をスキルアップとアウトプットの質・量の向上に活かして行きたい と思います。 最後に、1週間もの長い間、業務や家庭を顧みずにチャレンジさせてくれた、 会社・同僚・家族へ深い感謝の気持ちを表したい と思います。 やっぱり今年も楽しかったです!本当にありがとうございました!
エンジニアの鈴木(健)( @szk3 )です。 Keynote の二日目では、Alexa for businessやlambdaのgo対応など興味津津なサービスがたくさん発表されました。 本来ならKeynoteのレポートがメインにくるのですが、今回は前回の予告どおり、 Alexaのハッカソンに参加してきました ので、その様子をレポートしたいと思います。 ハッカソンのお題は、「 Hack Your Office : Build Alexa Skills that Help You at Work」という 仕事で役立つAlexaのスキル の開発になります。メインテーマは 生産性向上 です。 会場までの道のり 昨日、急遽会場変更のお知らせメールが来ており、Mirageという会場になりました。 会場に向かう途中、これまでに蓄積してきた寝不足も相まって、だんだん不安になってきました。 朝食を食べて現場に行こうと思ったのですが、re:Inventのアプリで調べると Bootcamp attendees only の文字が。。。対象外っすね、自分。 まぁ、コーヒーさえ飲めればいいので、スタバでゲットしたコーヒー片手に会場のホテルに到着しました。 re:Inventでは、たいていの会場ホテルにカジノがあり、実際にセッションやハンズオンが行われる部屋までは結構な距離があります。 その為、カジノの中にはre:Invent関係者が立っていて、セッションが行われる場所まで誘導してくれます。 今日も、「真っすぐ行って左だよー」と声をかけてくれたので、サンキューと答えると「今朝の朝食は全員入れるよー」と教えてくれたので、ラッキーなことに戦いの前に朝食にありつくことができました。 Alexaハッカソン チームを組む 朝食を軽く済ませ、少し早いですが会場に向かうとそこにはすでに行列ができていました。 最後尾に並んで10分くらいしたら開場し、SWAGとしてAlexaのパーカーを頂きました。 自由席っぽいのでふらふらしていると、日本人らしき2人組がいたので、こちらから話かけさせていただきました。 「日本人の方ですかー?」「これって個人戦なんですかね?」「二人はチームなんですか?」などと、今思えば少し質問しすぎだったと思います。 そんなこんなで色々話しているうちに、そのチームに混ぜていただけることになりました。正直、Alexaの経験は少なかったのでとても助かりました。 チーム数は、会場をざっとみわたすと約50チームくらい。1チーム 2-4名くらいのチームでした。 ハッカソン スタート! ハッカソンのスケジュールは、9時から実装スタート、作ったAlexaスキルが動くデモの提出締め切りが13時55分と 結構タイト でした。 約5時間の間にアイデア出し、設計・実装、アイデアの説明(文言・画像)作成、デモ動画の作成とアップロード と やるべきことが多岐に渡ります 。 時間がないので分業が基本スタイルになるのですが、アイデアのブレストだけは分業できないので、そこはみんなで行います。 お互いに「いいアイデアありますか?」というふりになったので、 前回のハッカソン でStenから学んだことを活かし、 自分から積極的に考えやアイデアを伝えました 。 まず、すぐに思いつくようなアイデア(だれがどこにいるのかを教えてくれる、議事録を読み上げる、ミーティングのファシリテーターをやらせる等)は今回のようなハッカソンでは避けるべきという話をしました。インパクトがないわりに実装に時間がかかりそうというのが想像できるからです。 次に、日本から来ているということを活かしたいということ。差別化できるポイントは何か?と考えたときに、日本の文化を取り込むというのは、このハッカソンにおいて少数派になるであろうと思ったからです。 最後に、 弊社のサンクスカード の簡易版のような「ありがとう」をAlexa経由で蓄積できる機能と、誰が一番サンクスフルなのかを教えてくれる機能の2つを実装するというアイデアを伝えました。 これは、 Voice User Interfaceを使って「ありがとう」を可視化する というアイデアです。 「ありがとう」はシンプルだし世界共通であるので 誰にでもわかりやすい 「ありがとう」と言われた人は自分が誰かの役に立ったことのフィードバックを得られるので、 もっと良い行動が促進され、結果的に生産性があがる こと ということを軸に訴求したい考えていました。 また、このアイデアの 一番良い点は実装がシンプルにすむ ことで、ハッカソンが個人戦だったときにAlexa習熟度の低い自分が猛者と戦うためのひとつの戦略でもありました。 2人とも方向性は悪くないと言ってくれたのと、ブレストに時間がかかりすぎるのがもったいないので、早速実装に入ろうとなりました。 役割分担をする際に、お互いのスキルセットを確認し、メンバーのひとりがすでにAlexaスキルを2つもローンチしている経験者であることがわかりました。 当初は、Alexaスキルの根幹である「lambda側の実装」と、Alexa側のインテントやスロットなどの「モデルの実装」の2つに作業分担しようと思いましたが、この短い時間なら経験者がひとりでまるっと手を動かしてしまったほうが早いと考え、実装的な作業をその方にお願いして、残りの二人は 提出資料の整備しながら、設計・実装への指摘やエラー発生時のデバッグのサポートをするような形を取りました。 はじめに、自分が仮実装してきたAlexa側のモデルを共有し、実装メンバーは自身のアカウントでアイデアを実装していきました。 3人で行う変則的なペアプロミングみたいな感じです。 後から知ったのですが、 その時の様子がre:Inventの公式Twitterアカウントにツイートされていました 。 Teams are hard at work developing Alexa Skills that help you at work! #hackathon #reInvent pic.twitter.com/49xJNyzwZB — AWS re:Invent (@AWSreInvent) 2017年11月30日 その後は、ひたすら動くようにするまでトライしつづけました。 時間的な制限があるハッカソンでは 何を捨てるかが重要 になってくると思います。 今回は、トラブルシュートにかなり時間がかかってしまったので、実装をモックに切り替えるか否かの難しい判断が迫られるシーンが何度かありましたが、最終的にはみんなで知恵を出し合って動かせるところまで行きました。 その時点で残り5分。 そこから急いでデモ動画を取りYoutubeへアップロードし、スキルの紹介画像・ハッカソンと作ったものに対する文言・ソースコードをまとめあげました。 本当にギリギリだったのですが、 きっかり締め切り時間に提出 することができました。 その時のデモ動画がこちらです。 チーム全体でやりきった感が強く、良い疲労感がでていたと思います。 審査 そこから審査が始まりました。審査は各テーブルに各国のAlexa関連の技術者が2名づつやってきて、作品のデモ・ソースコード・どういう経緯で作ったのかなどをチェックされました。 その後は審査待ちになり、あとは発表を待つのみです。審査待ちの間は1時間を軽く超え難航しているようでしたが、その待ち時間にハッカソンを戦ったメンバーとセルフィーを撮ったり、賞金何に使おうかー(入賞するつもりだった)なとど楽しい時間を過ごしました。 入賞者発表 ようやく入賞者の発表のタイミングがやってきました。 気になる結果は。。。 入賞ならず! 残念。 GameDayと違い順番も表示されないので、差がよくわかりませんが、とにかく6位以内には入ることができませんでした。 まとめ GameDayのときも思いましたが、チーム戦のハッカソンでは個人の能力が問われます。 常日頃から自分の強みと弱みを的確に理解し、チーム戦において自分が最大限貢献できることは何なのか? そういったことを意識しておくことが大切だと感じました。 もうひとつ感じたのは、たった6時間程度でも同じ目的を持って一緒に作業すると、その日初めて会ったのに、昔からの友人のような感覚が芽生えるということです。 つまり、 同じ目的に対する行動を、お互いが真摯に積み重ねるプロセスが心理的安全性を上げる ということなんだと思います。 今回も、たくさんの気づきを得ることができました。 この機会をベースに、オフィスをもっともっと楽しく便利にしていけたらと思います。 次回は AWS re:Invent 2017 参加レポートの最終回になります!