SlideShare a Scribd company logo
1 of 16
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Developers Summit 2015
技術選択と
アーキテクトの役割
(要約版)
C-7
デブサミアワード2015冬・あの人気セ
ッションの再演&アワード表彰式
July 29, 2015
Toru Yamaguchi
Senior Architect and Sub Business Unit Head
Open Platform Business Unit
DeNA Co., Ltd.
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Developers Summit 2015
自己紹介
 会社
⁃ 株式会社ディー・エヌ・エー
 組織
⁃ オープンプラットフォーム事業本部
 役職
⁃ 副事業本部長 シニアアーキテクト
 活動
⁃ 前 Japan Perl Association 理事
⁃ Perl Monger
⁃ Identity Conference 設立メンバー
• OAuth 2.0, OpenID Connect
 インターネット上のアカウント
⁃ @zigorou (Twitter)
⁃ zigorou (Facebook)
2
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Developers Summit 2015
Abstract – 今日の概要
 枠の長さから要約版という事にしました
 前回のスライドは http://www.slideshare.net/zigorou/ss-
44864139 から読む事が出来ます
 自分で改めてスライドを読んでみて要約してみると、「アーキテクトの
役割」は過去・現在・未来に向き合う役割だと主張したかったように思
えました
 そうして向き合って得た知識や経験、志向などがその時々の「技術選択
」を確からしくしていくのだと思います
 こういった事の要約をお話したいと思います
3
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Developers Summit 2015
Shortcut Service が生まれるまで
技術選択とアーキテクトの役割(要約版)
4
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Developers Summit 2015
Shortcut Service とは
 Mobage の HTML5 ゲーム開発環境である JavaScript SDK の機能の一
つです
 スマートフォンブラウザではあまりなじみの無いホームスクリーンアイ
コンを作成する為のヘルパー機能 + αです
5
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Developers Summit 2015
アーキテクトの役割 – 課題意識を常に持つ事
 当時も現在もスマホブラウザでショートカットを作成する事は稀
⁃ つまり、スマホブラウザはスマホアプリに比べてリテンションが低
くなる
• 蛇足ですが、ショートカット以外の要因も含めてまだまだネイティブアプリ
には及びません
⁃ 何となくこれが勝手に常識になっていませんか?
 課題意識は常日頃から考える癖をつけた方がいいです
⁃ 何故稀になってしまっているのか
⁃ 技術的制約?UX の悪さ?
6
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Developers Summit 2015
UX の比較 – ネイティブアプリ
 ネイティブアプリはマーケットでアプリを見つけると、インストールと
同時にホームスクリーンアイコンが出来る
7
インストール探す 遊ぶ
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Developers Summit 2015
UX の比較 – ブラウザアプリ
 ブラウザアプリの場合は探したらすぐ遊べる点が利点
⁃ 但しこの為、どこかのタイミングでショートカットアイコンを作って貰う必要
がある
⁃ どこかのタイミングって言うのはつまり、ユーザーが楽しいと思ったタイミン
グが自然な解釈ですよね?
• つまり人それぞれ異なるということ
8
探す 遊ぶ
ここで言うブラウザアプリとは、インス
トール型の物ではなく、ブラウザで動作
するアプリケーションの事です。
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Developers Summit 2015
技術的制約
 iOS Safari も Android Chrome も現在閲覧している URL に対するショ
ートカットを作る為の機能は提供しています
⁃ Configuring Web Applications
⁃ Add to Homescreen
 そのため、良くあるウェブサイトではトップページでポップアップバナ
ーなどでショートカットアイコンの作成を促します
⁃ 当然、ショートカットを押したらトップページに戻って来るから
⁃ 得てしてユーザーが楽しいと感じるタイミングはトップページでは
ない
 またこのショートカット作成機能はそこまで簡単な操作ではないのも難
点です
9
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Developers Summit 2015
突然のひらめき
 同僚から上記のようなアプリの存在を教えられる
⁃ ブラウザ立ち上がってるぞ???
⁃ しかも作成時の url と起動時の url は同じはずなのに挙動が違う?
??
10
アイコン選択 ショートカット作成
ショートカットクリック
アプリ起動
とあるアイコン
着せ替えアプリ
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Developers Summit 2015
多分こういう形で実現出来ます
 load イベント時の fragment の有無で挙動を変える
⁃ ショートカット作成時は fragment を付けずにアクセス
• load イベントで fragment 付与をすると、ショートカット作成時の url には
fragment が付く
⁃ fragment がついている場合はトップページなど意図した URI に飛ばす
11
アイコン選択 ショートカット作成
ショートカットクリック
アプリ起動
とあるアイコン
着せ替えアプリ
/path/to /path/to#fragment
/path/to#fragment
load イベント時に fragment の有無で
無ければ location.hash で付与
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Developers Summit 2015
何が実現出来るようになったか
 閲覧時の url ではなく、任意の url に対してホームスクリーンアイコン
付きのショートカットが作成出来るようになった
⁃ 元の課題感の技術的制約はクリアした
• 但し UX その物は解決していない
 任意の url に戻れるショートカットアイコンを作成する為の新しい
window を立ち上げる仕組みとして Shortcut Service という形にまと
めてローンチしました
⁃ ショートカットアイコン作成支援機能
⁃ JS SDK ホームスクリーンアイコン機能が生まれるまで -NBPF 構
想の小さなピース (今日の元ネタです)
 ここまでは普通に出てくる発想ですが実はショートカットアイコン作成
機能は他にも面白い機能があります
12
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Developers Summit 2015
不慣れな体験を定着させる為に
 ここまで色々とやってきましたが Native App と比較し、やはり UX と
してユーザーに手頃とは言えない
⁃ まずは使って貰う事が大事
⁃ 使って貰ったらインセンティブが渡せるような枠組みを作った
 具体的には?
⁃ 実際には Platform のサーバーが仲介する仕組みなのでショートカ
ットから起動したかどうかは基本的には fragment の有無だけで判
定出来ます
• fragment ありでアクセスした場合は誰がアクセスしたのかを Application
Server に通知する仕組みがあります
• 通知が来たらアイテムプレゼント、、、みたいな使い方です
13
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Developers Summit 2015
アーキテクトの役割 – システムをどう使って貰うか
 常日頃から情報は仕入れましょう
⁃ 人から聞いてひらめく事もあります
 初めて見た仕組みがどう動いているか自分で実現出来ると確信出来る程
度に考えましょう
⁃ 自分は動作確認のために簡単なコードを書きました
 新しい概念を提供する場合はそれを使いやすくさせる仕組みを提供して
いきましょう
⁃ 今回はインセンティブを付与しやすい仕組みを追加
⁃ また他にも実は楽しく見せる為のネタを幾つか仕込んでいました
 どう使って貰うかを設定する事は KPI 指標としても使えます
⁃ 要するにこう使って貰おうという意図が当たったのか外れたのか
14
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Developers Summit 2015
アーキテクトの時間軸
 ちょっと変な絵ですが自分はこんなイメージを持っています
⁃ 突然やって来た要件をその場限りで解決する繰り返しとは大きく異
なる頭の使い方をしないとアーキテクトにはなれないと思います
15
現在過去 未来
課題意識・
知識・経験
疑問
R&D
実現力
予測
ビジョン
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Developers Summit 2015
時間・目線をずらす事が大事
 前のページのように時間軸の視点をずらすのも重要です
 また当然システム全容に対してマクロ・ミクロに視点を移し替えてそれ
ぞれ良く理解し構想も出来るようにすべきです
 常日頃からそういった疑問や課題を持ち、実際に試す事
 また試すだけでなく活かすような工夫をする
 こういった事がアーキテクトの役割であり、技術選択の基準だと思いま
す。より詳細には前回のスライドも読んでみて下さい。
 ご清聴ありがとうございました
16

More Related Content

What's hot

Vue Fes Japan 2018 LINE株式会社 LunchスポンサーLT
Vue Fes Japan 2018 LINE株式会社 LunchスポンサーLTVue Fes Japan 2018 LINE株式会社 LunchスポンサーLT
Vue Fes Japan 2018 LINE株式会社 LunchスポンサーLTLINE Corporation
 
Developers Summit 2013【15-B-8】タブレット進化論
Developers Summit 2013【15-B-8】タブレット進化論Developers Summit 2013【15-B-8】タブレット進化論
Developers Summit 2013【15-B-8】タブレット進化論Akio Hoshi
 
その素敵なUI基盤を目指して・・・
その素敵なUI基盤を目指して・・・その素敵なUI基盤を目指して・・・
その素敵なUI基盤を目指して・・・KLab Inc. / Tech
 
国産業務PaaSを担いで稼ぐ方法 ~SIerの生き残る道の1つとなるか? ~
国産業務PaaSを担いで稼ぐ方法 ~SIerの生き残る道の1つとなるか? ~国産業務PaaSを担いで稼ぐ方法 ~SIerの生き残る道の1つとなるか? ~
国産業務PaaSを担いで稼ぐ方法 ~SIerの生き残る道の1つとなるか? ~SPIRAL Inc.
 
デブサミ2013【15D-3】Azureセッション資料
デブサミ2013【15D-3】Azureセッション資料デブサミ2013【15D-3】Azureセッション資料
デブサミ2013【15D-3】Azureセッション資料Shinichiro Isago
 
[MW10] Xamarin / OSS プロジェクトを活用したエンタープライズモバイルアプリケーションの実装 - Project Blue Monkey -
[MW10] Xamarin / OSS プロジェクトを活用したエンタープライズモバイルアプリケーションの実装 - Project Blue Monkey -[MW10] Xamarin / OSS プロジェクトを活用したエンタープライズモバイルアプリケーションの実装 - Project Blue Monkey -
[MW10] Xamarin / OSS プロジェクトを活用したエンタープライズモバイルアプリケーションの実装 - Project Blue Monkey -de:code 2017
 
Unityのオンラインゲームをhtmlに移植してわかったこと
Unityのオンラインゲームをhtmlに移植してわかったことUnityのオンラインゲームをhtmlに移植してわかったこと
Unityのオンラインゲームをhtmlに移植してわかったことKouji Hosoda
 
セキュリティを重視した本格ビジネスサイトをWordPressで作るためのセミナー
セキュリティを重視した本格ビジネスサイトをWordPressで作るためのセミナーセキュリティを重視した本格ビジネスサイトをWordPressで作るためのセミナー
セキュリティを重視した本格ビジネスサイトをWordPressで作るためのセミナーSPIRAL Inc.
 
DebugHeadを使ったiOSアプリ開発手法 #denatechcon
DebugHeadを使ったiOSアプリ開発手法 #denatechconDebugHeadを使ったiOSアプリ開発手法 #denatechcon
DebugHeadを使ったiOSアプリ開発手法 #denatechconDeNA
 
Unityアバターアプリ開発パッケージのご提案
Unityアバターアプリ開発パッケージのご提案Unityアバターアプリ開発パッケージのご提案
Unityアバターアプリ開発パッケージのご提案gdays
 
SPAを実現するために必要な通信技術
SPAを実現するために必要な通信技術SPAを実現するために必要な通信技術
SPAを実現するために必要な通信技術Yusuke Naka
 
人が作るソフトウェア 〜今組織パターンを読む意味〜
人が作るソフトウェア 〜今組織パターンを読む意味〜人が作るソフトウェア 〜今組織パターンを読む意味〜
人が作るソフトウェア 〜今組織パターンを読む意味〜Yukei Wachi
 
デブサミ2013 【15-B-2】iOS/Android向け開発をビジュアルに!
デブサミ2013 【15-B-2】iOS/Android向け開発をビジュアルに!デブサミ2013 【15-B-2】iOS/Android向け開発をビジュアルに!
デブサミ2013 【15-B-2】iOS/Android向け開発をビジュアルに!hmimura_embarcadero
 
プログラム組んだら負け!実はHTML/CSSだけでできること2015夏
プログラム組んだら負け!実はHTML/CSSだけでできること2015夏プログラム組んだら負け!実はHTML/CSSだけでできること2015夏
プログラム組んだら負け!実はHTML/CSSだけでできること2015夏Yusuke Hirao
 
モバイルゲームビルドパイプラインとChatOps
モバイルゲームビルドパイプラインとChatOpsモバイルゲームビルドパイプラインとChatOps
モバイルゲームビルドパイプラインとChatOpsKLab Inc. / Tech
 
LIGにおけるフロントエンドチーム構築
LIGにおけるフロントエンドチーム構築LIGにおけるフロントエンドチーム構築
LIGにおけるフロントエンドチーム構築Hayashi Yuichi
 
長寿なゲーム事業におけるアプリビルドの効率化
長寿なゲーム事業におけるアプリビルドの効率化長寿なゲーム事業におけるアプリビルドの効率化
長寿なゲーム事業におけるアプリビルドの効率化gree_tech
 
Devsumi2013 15-C-1 実践!スマホアプリのマネタイズ!! ~マーケット把握術と iPhone&Androidプログラミングテクニック~
Devsumi2013 15-C-1 実践!スマホアプリのマネタイズ!! ~マーケット把握術と iPhone&Androidプログラミングテクニック~Devsumi2013 15-C-1 実践!スマホアプリのマネタイズ!! ~マーケット把握術と iPhone&Androidプログラミングテクニック~
Devsumi2013 15-C-1 実践!スマホアプリのマネタイズ!! ~マーケット把握術と iPhone&Androidプログラミングテクニック~Masahiro Hidaka
 
ウェブパフォーマンスの基礎とこれから
ウェブパフォーマンスの基礎とこれからウェブパフォーマンスの基礎とこれから
ウェブパフォーマンスの基礎とこれからHiroshi Kawada
 

What's hot (19)

Vue Fes Japan 2018 LINE株式会社 LunchスポンサーLT
Vue Fes Japan 2018 LINE株式会社 LunchスポンサーLTVue Fes Japan 2018 LINE株式会社 LunchスポンサーLT
Vue Fes Japan 2018 LINE株式会社 LunchスポンサーLT
 
Developers Summit 2013【15-B-8】タブレット進化論
Developers Summit 2013【15-B-8】タブレット進化論Developers Summit 2013【15-B-8】タブレット進化論
Developers Summit 2013【15-B-8】タブレット進化論
 
その素敵なUI基盤を目指して・・・
その素敵なUI基盤を目指して・・・その素敵なUI基盤を目指して・・・
その素敵なUI基盤を目指して・・・
 
国産業務PaaSを担いで稼ぐ方法 ~SIerの生き残る道の1つとなるか? ~
国産業務PaaSを担いで稼ぐ方法 ~SIerの生き残る道の1つとなるか? ~国産業務PaaSを担いで稼ぐ方法 ~SIerの生き残る道の1つとなるか? ~
国産業務PaaSを担いで稼ぐ方法 ~SIerの生き残る道の1つとなるか? ~
 
デブサミ2013【15D-3】Azureセッション資料
デブサミ2013【15D-3】Azureセッション資料デブサミ2013【15D-3】Azureセッション資料
デブサミ2013【15D-3】Azureセッション資料
 
[MW10] Xamarin / OSS プロジェクトを活用したエンタープライズモバイルアプリケーションの実装 - Project Blue Monkey -
[MW10] Xamarin / OSS プロジェクトを活用したエンタープライズモバイルアプリケーションの実装 - Project Blue Monkey -[MW10] Xamarin / OSS プロジェクトを活用したエンタープライズモバイルアプリケーションの実装 - Project Blue Monkey -
[MW10] Xamarin / OSS プロジェクトを活用したエンタープライズモバイルアプリケーションの実装 - Project Blue Monkey -
 
Unityのオンラインゲームをhtmlに移植してわかったこと
Unityのオンラインゲームをhtmlに移植してわかったことUnityのオンラインゲームをhtmlに移植してわかったこと
Unityのオンラインゲームをhtmlに移植してわかったこと
 
セキュリティを重視した本格ビジネスサイトをWordPressで作るためのセミナー
セキュリティを重視した本格ビジネスサイトをWordPressで作るためのセミナーセキュリティを重視した本格ビジネスサイトをWordPressで作るためのセミナー
セキュリティを重視した本格ビジネスサイトをWordPressで作るためのセミナー
 
DebugHeadを使ったiOSアプリ開発手法 #denatechcon
DebugHeadを使ったiOSアプリ開発手法 #denatechconDebugHeadを使ったiOSアプリ開発手法 #denatechcon
DebugHeadを使ったiOSアプリ開発手法 #denatechcon
 
Unityアバターアプリ開発パッケージのご提案
Unityアバターアプリ開発パッケージのご提案Unityアバターアプリ開発パッケージのご提案
Unityアバターアプリ開発パッケージのご提案
 
SPAを実現するために必要な通信技術
SPAを実現するために必要な通信技術SPAを実現するために必要な通信技術
SPAを実現するために必要な通信技術
 
人が作るソフトウェア 〜今組織パターンを読む意味〜
人が作るソフトウェア 〜今組織パターンを読む意味〜人が作るソフトウェア 〜今組織パターンを読む意味〜
人が作るソフトウェア 〜今組織パターンを読む意味〜
 
デブサミ2013 【15-B-2】iOS/Android向け開発をビジュアルに!
デブサミ2013 【15-B-2】iOS/Android向け開発をビジュアルに!デブサミ2013 【15-B-2】iOS/Android向け開発をビジュアルに!
デブサミ2013 【15-B-2】iOS/Android向け開発をビジュアルに!
 
プログラム組んだら負け!実はHTML/CSSだけでできること2015夏
プログラム組んだら負け!実はHTML/CSSだけでできること2015夏プログラム組んだら負け!実はHTML/CSSだけでできること2015夏
プログラム組んだら負け!実はHTML/CSSだけでできること2015夏
 
モバイルゲームビルドパイプラインとChatOps
モバイルゲームビルドパイプラインとChatOpsモバイルゲームビルドパイプラインとChatOps
モバイルゲームビルドパイプラインとChatOps
 
LIGにおけるフロントエンドチーム構築
LIGにおけるフロントエンドチーム構築LIGにおけるフロントエンドチーム構築
LIGにおけるフロントエンドチーム構築
 
長寿なゲーム事業におけるアプリビルドの効率化
長寿なゲーム事業におけるアプリビルドの効率化長寿なゲーム事業におけるアプリビルドの効率化
長寿なゲーム事業におけるアプリビルドの効率化
 
Devsumi2013 15-C-1 実践!スマホアプリのマネタイズ!! ~マーケット把握術と iPhone&Androidプログラミングテクニック~
Devsumi2013 15-C-1 実践!スマホアプリのマネタイズ!! ~マーケット把握術と iPhone&Androidプログラミングテクニック~Devsumi2013 15-C-1 実践!スマホアプリのマネタイズ!! ~マーケット把握術と iPhone&Androidプログラミングテクニック~
Devsumi2013 15-C-1 実践!スマホアプリのマネタイズ!! ~マーケット把握術と iPhone&Androidプログラミングテクニック~
 
ウェブパフォーマンスの基礎とこれから
ウェブパフォーマンスの基礎とこれからウェブパフォーマンスの基礎とこれから
ウェブパフォーマンスの基礎とこれから
 

Similar to 技術選択とアーキテクトの役割 (要約版)

Dangerでpull requestレビューの指摘事項を減らす
Dangerでpull requestレビューの指摘事項を減らすDangerでpull requestレビューの指摘事項を減らす
Dangerでpull requestレビューの指摘事項を減らすShunsuke Maeda
 
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~Yuki Ando
 
【15-e-7】Kinectから始まったスタートアップ #devsumi
【15-e-7】Kinectから始まったスタートアップ #devsumi【15-e-7】Kinectから始まったスタートアップ #devsumi
【15-e-7】Kinectから始まったスタートアップ #devsumiKaoru NAKAMURA
 
オタクエンジニアを熱くさせる!モチベーションと効率をあげるチームビルディング_20210611_TechDay#1_3
オタクエンジニアを熱くさせる!モチベーションと効率をあげるチームビルディング_20210611_TechDay#1_3オタクエンジニアを熱くさせる!モチベーションと効率をあげるチームビルディング_20210611_TechDay#1_3
オタクエンジニアを熱くさせる!モチベーションと効率をあげるチームビルディング_20210611_TechDay#1_3虎の穴 開発室
 
学生団体COMCREAET 2014年度成果報告会
学生団体COMCREAET 2014年度成果報告会学生団体COMCREAET 2014年度成果報告会
学生団体COMCREAET 2014年度成果報告会Toshiki Imagaw
 
jus研究会名古屋大会「Redmineでプロジェクトを【見える化】しよう!」
jus研究会名古屋大会「Redmineでプロジェクトを【見える化】しよう!」jus研究会名古屋大会「Redmineでプロジェクトを【見える化】しよう!」
jus研究会名古屋大会「Redmineでプロジェクトを【見える化】しよう!」Taku Yajima
 
2022_08_10 SaaS.tech #5業務システム開発でデザインとフロントエンドも妥協しない話
2022_08_10 SaaS.tech #5業務システム開発でデザインとフロントエンドも妥協しない話2022_08_10 SaaS.tech #5業務システム開発でデザインとフロントエンドも妥協しない話
2022_08_10 SaaS.tech #5業務システム開発でデザインとフロントエンドも妥協しない話Kazuki Murahama
 
電通国際情報サービス_AIテクノロジー部の研究開発と製品開発事例_191213
電通国際情報サービス_AIテクノロジー部の研究開発と製品開発事例_191213電通国際情報サービス_AIテクノロジー部の研究開発と製品開発事例_191213
電通国際情報サービス_AIテクノロジー部の研究開発と製品開発事例_191213小川 雄太郎
 
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座
アイデアを形にする  ③3時間でアプリ公開!ゼロからのプログラミング講座アイデアを形にする  ③3時間でアプリ公開!ゼロからのプログラミング講座
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座DIVE INTO CODE Corp.
 
Google Material DesignをPolymerで表現しよう
Google Material DesignをPolymerで表現しようGoogle Material DesignをPolymerで表現しよう
Google Material DesignをPolymerで表現しようMasayuki Abe
 
Itエンジニアとして身に付けるべきビジネス&プロジェクト・デザイン
Itエンジニアとして身に付けるべきビジネス&プロジェクト・デザインItエンジニアとして身に付けるべきビジネス&プロジェクト・デザイン
Itエンジニアとして身に付けるべきビジネス&プロジェクト・デザインHagimoto Junzo
 
アイデアを形にする ①プロダクト設計のイロハを学ぶ
アイデアを形にする ①プロダクト設計のイロハを学ぶアイデアを形にする ①プロダクト設計のイロハを学ぶ
アイデアを形にする ①プロダクト設計のイロハを学ぶDIVE INTO CODE Corp.
 
Slack の Incoming Webhookで簡易なフィードバック管理
Slack の Incoming Webhookで簡易なフィードバック管理Slack の Incoming Webhookで簡易なフィードバック管理
Slack の Incoming Webhookで簡易なフィードバック管理Yusuke Kojima
 
Automation with SoftLayer and Zabbix
Automation with SoftLayer and ZabbixAutomation with SoftLayer and Zabbix
Automation with SoftLayer and Zabbixsoftlayerjp
 
CloudStack Case Studies in Uniadex | ユニアデックスにおけるCloudStack導入事例
CloudStack Case Studies  in Uniadex | ユニアデックスにおけるCloudStack導入事例CloudStack Case Studies  in Uniadex | ユニアデックスにおけるCloudStack導入事例
CloudStack Case Studies in Uniadex | ユニアデックスにおけるCloudStack導入事例Katsuya Tanaka
 
Adobe セッション for Enterprise x HTML5 Web Application Conference 2014
Adobe セッション for Enterprise x HTML5 Web Application Conference 2014Adobe セッション for Enterprise x HTML5 Web Application Conference 2014
Adobe セッション for Enterprise x HTML5 Web Application Conference 2014Tsuyoshi Nakao
 
オタクエンジニアを熱くさせる!モチベーションをあげるチームビルディング
オタクエンジニアを熱くさせる!モチベーションをあげるチームビルディングオタクエンジニアを熱くさせる!モチベーションをあげるチームビルディング
オタクエンジニアを熱くさせる!モチベーションをあげるチームビルディング虎の穴 開発室
 
Azure のApp Center でアプリの 使用状況を分析する
Azure のApp Center でアプリの 使用状況を分析するAzure のApp Center でアプリの 使用状況を分析する
Azure のApp Center でアプリの 使用状況を分析するYusuke Kojima
 
夏サミ2013 基調講演 「DevOpsは開発現場とビジネスの間に何を生むか?」(新野淳一氏)
夏サミ2013 基調講演 「DevOpsは開発現場とビジネスの間に何を生むか?」(新野淳一氏)夏サミ2013 基調講演 「DevOpsは開発現場とビジネスの間に何を生むか?」(新野淳一氏)
夏サミ2013 基調講演 「DevOpsは開発現場とビジネスの間に何を生むか?」(新野淳一氏)Developers Summit
 

Similar to 技術選択とアーキテクトの役割 (要約版) (20)

Dangerでpull requestレビューの指摘事項を減らす
Dangerでpull requestレビューの指摘事項を減らすDangerでpull requestレビューの指摘事項を減らす
Dangerでpull requestレビューの指摘事項を減らす
 
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
 
BPStudy#101発表資料
BPStudy#101発表資料BPStudy#101発表資料
BPStudy#101発表資料
 
【15-e-7】Kinectから始まったスタートアップ #devsumi
【15-e-7】Kinectから始まったスタートアップ #devsumi【15-e-7】Kinectから始まったスタートアップ #devsumi
【15-e-7】Kinectから始まったスタートアップ #devsumi
 
オタクエンジニアを熱くさせる!モチベーションと効率をあげるチームビルディング_20210611_TechDay#1_3
オタクエンジニアを熱くさせる!モチベーションと効率をあげるチームビルディング_20210611_TechDay#1_3オタクエンジニアを熱くさせる!モチベーションと効率をあげるチームビルディング_20210611_TechDay#1_3
オタクエンジニアを熱くさせる!モチベーションと効率をあげるチームビルディング_20210611_TechDay#1_3
 
学生団体COMCREAET 2014年度成果報告会
学生団体COMCREAET 2014年度成果報告会学生団体COMCREAET 2014年度成果報告会
学生団体COMCREAET 2014年度成果報告会
 
jus研究会名古屋大会「Redmineでプロジェクトを【見える化】しよう!」
jus研究会名古屋大会「Redmineでプロジェクトを【見える化】しよう!」jus研究会名古屋大会「Redmineでプロジェクトを【見える化】しよう!」
jus研究会名古屋大会「Redmineでプロジェクトを【見える化】しよう!」
 
2022_08_10 SaaS.tech #5業務システム開発でデザインとフロントエンドも妥協しない話
2022_08_10 SaaS.tech #5業務システム開発でデザインとフロントエンドも妥協しない話2022_08_10 SaaS.tech #5業務システム開発でデザインとフロントエンドも妥協しない話
2022_08_10 SaaS.tech #5業務システム開発でデザインとフロントエンドも妥協しない話
 
電通国際情報サービス_AIテクノロジー部の研究開発と製品開発事例_191213
電通国際情報サービス_AIテクノロジー部の研究開発と製品開発事例_191213電通国際情報サービス_AIテクノロジー部の研究開発と製品開発事例_191213
電通国際情報サービス_AIテクノロジー部の研究開発と製品開発事例_191213
 
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座
アイデアを形にする  ③3時間でアプリ公開!ゼロからのプログラミング講座アイデアを形にする  ③3時間でアプリ公開!ゼロからのプログラミング講座
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座
 
Google Material DesignをPolymerで表現しよう
Google Material DesignをPolymerで表現しようGoogle Material DesignをPolymerで表現しよう
Google Material DesignをPolymerで表現しよう
 
Itエンジニアとして身に付けるべきビジネス&プロジェクト・デザイン
Itエンジニアとして身に付けるべきビジネス&プロジェクト・デザインItエンジニアとして身に付けるべきビジネス&プロジェクト・デザイン
Itエンジニアとして身に付けるべきビジネス&プロジェクト・デザイン
 
アイデアを形にする ①プロダクト設計のイロハを学ぶ
アイデアを形にする ①プロダクト設計のイロハを学ぶアイデアを形にする ①プロダクト設計のイロハを学ぶ
アイデアを形にする ①プロダクト設計のイロハを学ぶ
 
Slack の Incoming Webhookで簡易なフィードバック管理
Slack の Incoming Webhookで簡易なフィードバック管理Slack の Incoming Webhookで簡易なフィードバック管理
Slack の Incoming Webhookで簡易なフィードバック管理
 
Automation with SoftLayer and Zabbix
Automation with SoftLayer and ZabbixAutomation with SoftLayer and Zabbix
Automation with SoftLayer and Zabbix
 
CloudStack Case Studies in Uniadex | ユニアデックスにおけるCloudStack導入事例
CloudStack Case Studies  in Uniadex | ユニアデックスにおけるCloudStack導入事例CloudStack Case Studies  in Uniadex | ユニアデックスにおけるCloudStack導入事例
CloudStack Case Studies in Uniadex | ユニアデックスにおけるCloudStack導入事例
 
Adobe セッション for Enterprise x HTML5 Web Application Conference 2014
Adobe セッション for Enterprise x HTML5 Web Application Conference 2014Adobe セッション for Enterprise x HTML5 Web Application Conference 2014
Adobe セッション for Enterprise x HTML5 Web Application Conference 2014
 
オタクエンジニアを熱くさせる!モチベーションをあげるチームビルディング
オタクエンジニアを熱くさせる!モチベーションをあげるチームビルディングオタクエンジニアを熱くさせる!モチベーションをあげるチームビルディング
オタクエンジニアを熱くさせる!モチベーションをあげるチームビルディング
 
Azure のApp Center でアプリの 使用状況を分析する
Azure のApp Center でアプリの 使用状況を分析するAzure のApp Center でアプリの 使用状況を分析する
Azure のApp Center でアプリの 使用状況を分析する
 
夏サミ2013 基調講演 「DevOpsは開発現場とビジネスの間に何を生むか?」(新野淳一氏)
夏サミ2013 基調講演 「DevOpsは開発現場とビジネスの間に何を生むか?」(新野淳一氏)夏サミ2013 基調講演 「DevOpsは開発現場とビジネスの間に何を生むか?」(新野淳一氏)
夏サミ2013 基調講演 「DevOpsは開発現場とビジネスの間に何を生むか?」(新野淳一氏)
 

More from Toru Yamaguchi

OAuth 2.0 Web Messaging Response Mode - OpenID Summit Tokyo 2015
OAuth 2.0 Web Messaging Response Mode - OpenID Summit Tokyo 2015OAuth 2.0 Web Messaging Response Mode - OpenID Summit Tokyo 2015
OAuth 2.0 Web Messaging Response Mode - OpenID Summit Tokyo 2015Toru Yamaguchi
 
Mobage Connect と Identity 関連技術への取り組み - OpenID Summit Tokyo 2015
Mobage Connect と Identity 関連技術への取り組み - OpenID Summit Tokyo 2015Mobage Connect と Identity 関連技術への取り組み - OpenID Summit Tokyo 2015
Mobage Connect と Identity 関連技術への取り組み - OpenID Summit Tokyo 2015Toru Yamaguchi
 
How to bake delicious cookie (RESTful Meetup #03)
How to bake delicious cookie (RESTful Meetup #03)How to bake delicious cookie (RESTful Meetup #03)
How to bake delicious cookie (RESTful Meetup #03)Toru Yamaguchi
 
JSON Based Web Services
JSON Based Web ServicesJSON Based Web Services
JSON Based Web ServicesToru Yamaguchi
 
Yapc asia 2011_zigorou
Yapc asia 2011_zigorouYapc asia 2011_zigorou
Yapc asia 2011_zigorouToru Yamaguchi
 
ngCore engine for mobage platform
ngCore engine for mobage platformngCore engine for mobage platform
ngCore engine for mobage platformToru Yamaguchi
 
Inside mobage platform
Inside mobage platformInside mobage platform
Inside mobage platformToru Yamaguchi
 
mbga Open Platform and Perl
mbga Open Platform and Perlmbga Open Platform and Perl
mbga Open Platform and PerlToru Yamaguchi
 
Inside mbga Open Platform API architecture
Inside mbga Open Platform API architectureInside mbga Open Platform API architecture
Inside mbga Open Platform API architectureToru Yamaguchi
 
Introduction OpenID Authentication 2.0 Revival
Introduction OpenID Authentication 2.0 RevivalIntroduction OpenID Authentication 2.0 Revival
Introduction OpenID Authentication 2.0 RevivalToru Yamaguchi
 
Introduction OpenID Authentication 2.0
Introduction OpenID Authentication 2.0Introduction OpenID Authentication 2.0
Introduction OpenID Authentication 2.0Toru Yamaguchi
 
The Security of OpenID Authentication 2.0
The Security of OpenID Authentication 2.0The Security of OpenID Authentication 2.0
The Security of OpenID Authentication 2.0Toru Yamaguchi
 
Customization of DBIC::Schema::Loader
Customization of DBIC::Schema::LoaderCustomization of DBIC::Schema::Loader
Customization of DBIC::Schema::LoaderToru Yamaguchi
 

More from Toru Yamaguchi (19)

OAuth 2.0 Web Messaging Response Mode - OpenID Summit Tokyo 2015
OAuth 2.0 Web Messaging Response Mode - OpenID Summit Tokyo 2015OAuth 2.0 Web Messaging Response Mode - OpenID Summit Tokyo 2015
OAuth 2.0 Web Messaging Response Mode - OpenID Summit Tokyo 2015
 
Mobage Connect と Identity 関連技術への取り組み - OpenID Summit Tokyo 2015
Mobage Connect と Identity 関連技術への取り組み - OpenID Summit Tokyo 2015Mobage Connect と Identity 関連技術への取り組み - OpenID Summit Tokyo 2015
Mobage Connect と Identity 関連技術への取り組み - OpenID Summit Tokyo 2015
 
How to bake delicious cookie (RESTful Meetup #03)
How to bake delicious cookie (RESTful Meetup #03)How to bake delicious cookie (RESTful Meetup #03)
How to bake delicious cookie (RESTful Meetup #03)
 
JSON Based Web Services
JSON Based Web ServicesJSON Based Web Services
JSON Based Web Services
 
Yapc asia 2011_zigorou
Yapc asia 2011_zigorouYapc asia 2011_zigorou
Yapc asia 2011_zigorou
 
ngCore engine for mobage platform
ngCore engine for mobage platformngCore engine for mobage platform
ngCore engine for mobage platform
 
Inside mobage platform
Inside mobage platformInside mobage platform
Inside mobage platform
 
mbga Open Platform and Perl
mbga Open Platform and Perlmbga Open Platform and Perl
mbga Open Platform and Perl
 
Inside mbga Open Platform API architecture
Inside mbga Open Platform API architectureInside mbga Open Platform API architecture
Inside mbga Open Platform API architecture
 
Introduction OpenID Authentication 2.0 Revival
Introduction OpenID Authentication 2.0 RevivalIntroduction OpenID Authentication 2.0 Revival
Introduction OpenID Authentication 2.0 Revival
 
OpenID Mobile Profile
OpenID Mobile ProfileOpenID Mobile Profile
OpenID Mobile Profile
 
Introduction OpenID Authentication 2.0
Introduction OpenID Authentication 2.0Introduction OpenID Authentication 2.0
Introduction OpenID Authentication 2.0
 
OpenID 2009
OpenID 2009OpenID 2009
OpenID 2009
 
Mobile Openid
Mobile OpenidMobile Openid
Mobile Openid
 
Client Side Cache
Client Side CacheClient Side Cache
Client Side Cache
 
The Security of OpenID Authentication 2.0
The Security of OpenID Authentication 2.0The Security of OpenID Authentication 2.0
The Security of OpenID Authentication 2.0
 
Customization of DBIC::Schema::Loader
Customization of DBIC::Schema::LoaderCustomization of DBIC::Schema::Loader
Customization of DBIC::Schema::Loader
 
Yadis/XRI and OpenID
Yadis/XRI and OpenIDYadis/XRI and OpenID
Yadis/XRI and OpenID
 
OpenID 2.0 Quick Note
OpenID 2.0 Quick NoteOpenID 2.0 Quick Note
OpenID 2.0 Quick Note
 

技術選択とアーキテクトの役割 (要約版)

  • 1. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. Developers Summit 2015 技術選択と アーキテクトの役割 (要約版) C-7 デブサミアワード2015冬・あの人気セ ッションの再演&アワード表彰式 July 29, 2015 Toru Yamaguchi Senior Architect and Sub Business Unit Head Open Platform Business Unit DeNA Co., Ltd.
  • 2. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. Developers Summit 2015 自己紹介  会社 ⁃ 株式会社ディー・エヌ・エー  組織 ⁃ オープンプラットフォーム事業本部  役職 ⁃ 副事業本部長 シニアアーキテクト  活動 ⁃ 前 Japan Perl Association 理事 ⁃ Perl Monger ⁃ Identity Conference 設立メンバー • OAuth 2.0, OpenID Connect  インターネット上のアカウント ⁃ @zigorou (Twitter) ⁃ zigorou (Facebook) 2
  • 3. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. Developers Summit 2015 Abstract – 今日の概要  枠の長さから要約版という事にしました  前回のスライドは http://www.slideshare.net/zigorou/ss- 44864139 から読む事が出来ます  自分で改めてスライドを読んでみて要約してみると、「アーキテクトの 役割」は過去・現在・未来に向き合う役割だと主張したかったように思 えました  そうして向き合って得た知識や経験、志向などがその時々の「技術選択 」を確からしくしていくのだと思います  こういった事の要約をお話したいと思います 3
  • 4. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. Developers Summit 2015 Shortcut Service が生まれるまで 技術選択とアーキテクトの役割(要約版) 4
  • 5. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. Developers Summit 2015 Shortcut Service とは  Mobage の HTML5 ゲーム開発環境である JavaScript SDK の機能の一 つです  スマートフォンブラウザではあまりなじみの無いホームスクリーンアイ コンを作成する為のヘルパー機能 + αです 5
  • 6. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. Developers Summit 2015 アーキテクトの役割 – 課題意識を常に持つ事  当時も現在もスマホブラウザでショートカットを作成する事は稀 ⁃ つまり、スマホブラウザはスマホアプリに比べてリテンションが低 くなる • 蛇足ですが、ショートカット以外の要因も含めてまだまだネイティブアプリ には及びません ⁃ 何となくこれが勝手に常識になっていませんか?  課題意識は常日頃から考える癖をつけた方がいいです ⁃ 何故稀になってしまっているのか ⁃ 技術的制約?UX の悪さ? 6
  • 7. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. Developers Summit 2015 UX の比較 – ネイティブアプリ  ネイティブアプリはマーケットでアプリを見つけると、インストールと 同時にホームスクリーンアイコンが出来る 7 インストール探す 遊ぶ
  • 8. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. Developers Summit 2015 UX の比較 – ブラウザアプリ  ブラウザアプリの場合は探したらすぐ遊べる点が利点 ⁃ 但しこの為、どこかのタイミングでショートカットアイコンを作って貰う必要 がある ⁃ どこかのタイミングって言うのはつまり、ユーザーが楽しいと思ったタイミン グが自然な解釈ですよね? • つまり人それぞれ異なるということ 8 探す 遊ぶ ここで言うブラウザアプリとは、インス トール型の物ではなく、ブラウザで動作 するアプリケーションの事です。
  • 9. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. Developers Summit 2015 技術的制約  iOS Safari も Android Chrome も現在閲覧している URL に対するショ ートカットを作る為の機能は提供しています ⁃ Configuring Web Applications ⁃ Add to Homescreen  そのため、良くあるウェブサイトではトップページでポップアップバナ ーなどでショートカットアイコンの作成を促します ⁃ 当然、ショートカットを押したらトップページに戻って来るから ⁃ 得てしてユーザーが楽しいと感じるタイミングはトップページでは ない  またこのショートカット作成機能はそこまで簡単な操作ではないのも難 点です 9
  • 10. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. Developers Summit 2015 突然のひらめき  同僚から上記のようなアプリの存在を教えられる ⁃ ブラウザ立ち上がってるぞ??? ⁃ しかも作成時の url と起動時の url は同じはずなのに挙動が違う? ?? 10 アイコン選択 ショートカット作成 ショートカットクリック アプリ起動 とあるアイコン 着せ替えアプリ
  • 11. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. Developers Summit 2015 多分こういう形で実現出来ます  load イベント時の fragment の有無で挙動を変える ⁃ ショートカット作成時は fragment を付けずにアクセス • load イベントで fragment 付与をすると、ショートカット作成時の url には fragment が付く ⁃ fragment がついている場合はトップページなど意図した URI に飛ばす 11 アイコン選択 ショートカット作成 ショートカットクリック アプリ起動 とあるアイコン 着せ替えアプリ /path/to /path/to#fragment /path/to#fragment load イベント時に fragment の有無で 無ければ location.hash で付与
  • 12. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. Developers Summit 2015 何が実現出来るようになったか  閲覧時の url ではなく、任意の url に対してホームスクリーンアイコン 付きのショートカットが作成出来るようになった ⁃ 元の課題感の技術的制約はクリアした • 但し UX その物は解決していない  任意の url に戻れるショートカットアイコンを作成する為の新しい window を立ち上げる仕組みとして Shortcut Service という形にまと めてローンチしました ⁃ ショートカットアイコン作成支援機能 ⁃ JS SDK ホームスクリーンアイコン機能が生まれるまで -NBPF 構 想の小さなピース (今日の元ネタです)  ここまでは普通に出てくる発想ですが実はショートカットアイコン作成 機能は他にも面白い機能があります 12
  • 13. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. Developers Summit 2015 不慣れな体験を定着させる為に  ここまで色々とやってきましたが Native App と比較し、やはり UX と してユーザーに手頃とは言えない ⁃ まずは使って貰う事が大事 ⁃ 使って貰ったらインセンティブが渡せるような枠組みを作った  具体的には? ⁃ 実際には Platform のサーバーが仲介する仕組みなのでショートカ ットから起動したかどうかは基本的には fragment の有無だけで判 定出来ます • fragment ありでアクセスした場合は誰がアクセスしたのかを Application Server に通知する仕組みがあります • 通知が来たらアイテムプレゼント、、、みたいな使い方です 13
  • 14. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. Developers Summit 2015 アーキテクトの役割 – システムをどう使って貰うか  常日頃から情報は仕入れましょう ⁃ 人から聞いてひらめく事もあります  初めて見た仕組みがどう動いているか自分で実現出来ると確信出来る程 度に考えましょう ⁃ 自分は動作確認のために簡単なコードを書きました  新しい概念を提供する場合はそれを使いやすくさせる仕組みを提供して いきましょう ⁃ 今回はインセンティブを付与しやすい仕組みを追加 ⁃ また他にも実は楽しく見せる為のネタを幾つか仕込んでいました  どう使って貰うかを設定する事は KPI 指標としても使えます ⁃ 要するにこう使って貰おうという意図が当たったのか外れたのか 14
  • 15. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. Developers Summit 2015 アーキテクトの時間軸  ちょっと変な絵ですが自分はこんなイメージを持っています ⁃ 突然やって来た要件をその場限りで解決する繰り返しとは大きく異 なる頭の使い方をしないとアーキテクトにはなれないと思います 15 現在過去 未来 課題意識・ 知識・経験 疑問 R&D 実現力 予測 ビジョン
  • 16. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. Developers Summit 2015 時間・目線をずらす事が大事  前のページのように時間軸の視点をずらすのも重要です  また当然システム全容に対してマクロ・ミクロに視点を移し替えてそれ ぞれ良く理解し構想も出来るようにすべきです  常日頃からそういった疑問や課題を持ち、実際に試す事  また試すだけでなく活かすような工夫をする  こういった事がアーキテクトの役割であり、技術選択の基準だと思いま す。より詳細には前回のスライドも読んでみて下さい。  ご清聴ありがとうございました 16