SlideShare ist ein Scribd-Unternehmen logo
1 von 32
2011年4月21日
co-meeting Inc. 木村篤彦
自己紹介



CEO / Co-Founder

木村 篤彦
Atsuhiko Kimura


                      旧
Twitter : @a_kimura
December, 2010
 マルチソーシャルメディア
 クライアント「Crowy」が
 Mashup Awards6で二賞受賞

   http://www.crowy.net/
                    Com
                        in   gu
                               ntil
                                    S   um
                                           m   er


                                                    March, 2011
時間と場所とデバイスを超えた
       ミーティング                                         co-meeting Inc. 設立

 http://www.co-meeting.com/
今日はATND Draftのお話




第0回 HTML5プログラミング&クリエイティブ コンテスト
      Chrome WebApp/Extension部門
           最優秀作品賞受賞
ATND Draft
   WAS BORN
        ON
   9 OCT. 2010
        AT
  Mashup Camp#4
-Chrome Extensions
  / Web Apps Day
CREATED BY
チーム櫃まぶし
    @nakajiman
     @yoichi_u
     @a_kimura
開発期間
1日ちょい
 なのに受賞してしまいました…ありがとうございます。
気を取り直して解説
ATND便利
勉強会でよく使われている。
でも、いろいろダメ
・下書き保存できない。
・作成中にプレビューも
 できない。
その辺をできるようにしちゃう
  Chrome Extensionが
イベント作成画面   BEFORE
イベント作成画面   AFTER
管理しているイベント一覧   BEFORE
管理しているイベント一覧   AFTER
でも、久しぶりに動かしてみたら、
ATNDのサイトが変わってて動かな
くなってた :'-(

月曜日に直しました…
技術解説
下書き保存
Local Storage
                                         on atnd.org




                         下書き保存が押された
                         らローカルストレージ
                         に入力されたデータを
                         保存

var id = new Date().getTime();
localStorage.setItem('$' + id, JSON.stringify(data));
Local Storage
 on atnd.org


下書きを表示するとき
はローカルストレージ
からデータを復元


var id = location.hash.substring(1);
var data = localStorage.getItem('$' + id);
data = JSON.parse(data);
ポイント

atnd.orgのローカルストレージは他
のアプリからも見れてしまうから、
区別するためにキーに接頭辞をつけ
ました。

           それでいいのかなあ…
プレビュー
入力内容をChrome
                        ExtensionのBackground
                        Pageのグローバル変数に
                        一旦保存
                                  Background Pageの
                                    グローバル変数


                          プレビュー画面を開く

                                    プレビュー画面


chrome.extension.sendRequest(data);
window.open(chrome.extension.getURL('preview.html'));
Background Pageの
   グローバル変数




プレビュー画面から
Background Pageの
グローバル変数を取
得して表示


var background = chrome.extension.getBackgroundPage();
var data = background.previewParams;
なんでこんな面倒なことを
   しているか
atnd.org                   Extensionから自分で
                                    作ったHTMLをポップ
                      Local Storage アップで開くには


                      ○
                       on atnd.org Background Pagesに開
                                    くしかない(たぶん)

    Content Scripts




でも、Background Pagesか
らContent Scriptsの変数や
                           ×   Background Pages
atnd.orgのLocal Storageには       chrome-extension://
アクセスできない

                                 プレビュー画面
atnd.org
                    Content ScriptsとBackground
                    Pagesのやり取りはChrome
                    Extensionのメッセージ通信機
                    能でできる。
                    chrome.extension.sendRequest
  Content Scripts

                           Background Pages
                           chrome-extension://




                                  ○
                            グローバル変数
プレビュー画面はBackground
Pagesに属しているので、
Backgroundのグローバル変数に
                            プレビュー画面
アクセスすることができる。
ポイント

Chrome ExtensionのContents Script
から開いたポップアップ画面にデー
タを渡したいときは、一旦
Background Pagesに送るといいよ

          他にやり方あれば教えてください
終わりです。
ご清聴ありがとうございました。

                株式会社 co-meeting
        CEO / Co-Founder 木村篤彦
        http://www.co-meeting.com/
                 Twitter: @a_kimura

Weitere ähnliche Inhalte

Ähnlich wie ATNDに下書き保存とプレビューを追加するATND Draft

KEONとPEAKが無くてもFirefox OS開発出来る
KEONとPEAKが無くてもFirefox OS開発出来るKEONとPEAKが無くてもFirefox OS開発出来る
KEONとPEAKが無くてもFirefox OS開発出来るandroid sola
 
Firefox DevTools
Firefox DevToolsFirefox DevTools
Firefox DevToolsdynamis
 
Chrome DevTools.next
Chrome DevTools.nextChrome DevTools.next
Chrome DevTools.nextyoshikawa_t
 
Movable type seminar 20120703
Movable type seminar 20120703Movable type seminar 20120703
Movable type seminar 20120703Six Apart
 
Chrome Apps & Chromeウェブストア概要
Chrome Apps & Chromeウェブストア概要Chrome Apps & Chromeウェブストア概要
Chrome Apps & Chromeウェブストア概要yoshikawa_t
 
Web Site Optimization for Beginners
Web Site Optimization for BeginnersWeb Site Optimization for Beginners
Web Site Optimization for Beginnersmasaaki komori
 
Basis of Firefox Apps
Basis of Firefox AppsBasis of Firefox Apps
Basis of Firefox Appsdynamis
 
パーソナルデータのあり方を変える!オープンソース分散型PDS「Personium」を使ってみよう!
パーソナルデータのあり方を変える!オープンソース分散型PDS「Personium」を使ってみよう!パーソナルデータのあり方を変える!オープンソース分散型PDS「Personium」を使ってみよう!
パーソナルデータのあり方を変える!オープンソース分散型PDS「Personium」を使ってみよう!泰史 栃折
 
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol1
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol1AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol1
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol1近藤 繁延
 
NPAPIを使ったandroid標準ブラウザの拡張方法
NPAPIを使ったandroid標準ブラウザの拡張方法NPAPIを使ったandroid標準ブラウザの拡張方法
NPAPIを使ったandroid標準ブラウザの拡張方法Naruto TAKAHASHI
 
Web リソースを活用した簡単アプリケーション開発(Windows Phone)
Web リソースを活用した簡単アプリケーション開発(Windows Phone)Web リソースを活用した簡単アプリケーション開発(Windows Phone)
Web リソースを活用した簡単アプリケーション開発(Windows Phone)Akira Onishi
 
モバイル開発@symfony
モバイル開発@symfonyモバイル開発@symfony
モバイル開発@symfonyDaichi Kamemoto
 
Cod2012 Room T-1
Cod2012 Room T-1Cod2012 Room T-1
Cod2012 Room T-1彰 村地
 
早稲田大学授業 - モバイルプログラミング
早稲田大学授業 - モバイルプログラミング早稲田大学授業 - モバイルプログラミング
早稲田大学授業 - モバイルプログラミングIppei Arita
 
Android4.2徹底解剖!
Android4.2徹底解剖!Android4.2徹底解剖!
Android4.2徹底解剖!leverages_event
 
NDS31 はじめてChrome App
NDS31 はじめてChrome AppNDS31 はじめてChrome App
NDS31 はじめてChrome Appcivic Sasaki
 
『入門 ソーシャルデータ』9章
『入門 ソーシャルデータ』9章『入門 ソーシャルデータ』9章
『入門 ソーシャルデータ』9章y torazuka
 
ネットワーク分散型フレームワークConView
ネットワーク分散型フレームワークConViewネットワーク分散型フレームワークConView
ネットワーク分散型フレームワークConViewRakuten Group, Inc.
 
Chrome GPO Availability
Chrome GPO AvailabilityChrome GPO Availability
Chrome GPO Availability彰 村地
 

Ähnlich wie ATNDに下書き保存とプレビューを追加するATND Draft (20)

KEONとPEAKが無くてもFirefox OS開発出来る
KEONとPEAKが無くてもFirefox OS開発出来るKEONとPEAKが無くてもFirefox OS開発出来る
KEONとPEAKが無くてもFirefox OS開発出来る
 
Firefox DevTools
Firefox DevToolsFirefox DevTools
Firefox DevTools
 
Chrome DevTools.next
Chrome DevTools.nextChrome DevTools.next
Chrome DevTools.next
 
Movable type seminar 20120703
Movable type seminar 20120703Movable type seminar 20120703
Movable type seminar 20120703
 
Chrome Apps & Chromeウェブストア概要
Chrome Apps & Chromeウェブストア概要Chrome Apps & Chromeウェブストア概要
Chrome Apps & Chromeウェブストア概要
 
Web Site Optimization for Beginners
Web Site Optimization for BeginnersWeb Site Optimization for Beginners
Web Site Optimization for Beginners
 
Basis of Firefox Apps
Basis of Firefox AppsBasis of Firefox Apps
Basis of Firefox Apps
 
パーソナルデータのあり方を変える!オープンソース分散型PDS「Personium」を使ってみよう!
パーソナルデータのあり方を変える!オープンソース分散型PDS「Personium」を使ってみよう!パーソナルデータのあり方を変える!オープンソース分散型PDS「Personium」を使ってみよう!
パーソナルデータのあり方を変える!オープンソース分散型PDS「Personium」を使ってみよう!
 
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol1
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol1AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol1
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol1
 
NPAPIを使ったandroid標準ブラウザの拡張方法
NPAPIを使ったandroid標準ブラウザの拡張方法NPAPIを使ったandroid標準ブラウザの拡張方法
NPAPIを使ったandroid標準ブラウザの拡張方法
 
Devtools.next
Devtools.nextDevtools.next
Devtools.next
 
Web リソースを活用した簡単アプリケーション開発(Windows Phone)
Web リソースを活用した簡単アプリケーション開発(Windows Phone)Web リソースを活用した簡単アプリケーション開発(Windows Phone)
Web リソースを活用した簡単アプリケーション開発(Windows Phone)
 
モバイル開発@symfony
モバイル開発@symfonyモバイル開発@symfony
モバイル開発@symfony
 
Cod2012 Room T-1
Cod2012 Room T-1Cod2012 Room T-1
Cod2012 Room T-1
 
早稲田大学授業 - モバイルプログラミング
早稲田大学授業 - モバイルプログラミング早稲田大学授業 - モバイルプログラミング
早稲田大学授業 - モバイルプログラミング
 
Android4.2徹底解剖!
Android4.2徹底解剖!Android4.2徹底解剖!
Android4.2徹底解剖!
 
NDS31 はじめてChrome App
NDS31 はじめてChrome AppNDS31 はじめてChrome App
NDS31 はじめてChrome App
 
『入門 ソーシャルデータ』9章
『入門 ソーシャルデータ』9章『入門 ソーシャルデータ』9章
『入門 ソーシャルデータ』9章
 
ネットワーク分散型フレームワークConView
ネットワーク分散型フレームワークConViewネットワーク分散型フレームワークConView
ネットワーク分散型フレームワークConView
 
Chrome GPO Availability
Chrome GPO AvailabilityChrome GPO Availability
Chrome GPO Availability
 

Mehr von Atsuhiko Kimura

少人数から始めるできるだけ楽をするB2Bアプリ開発
少人数から始めるできるだけ楽をするB2Bアプリ開発少人数から始めるできるだけ楽をするB2Bアプリ開発
少人数から始めるできるだけ楽をするB2Bアプリ開発Atsuhiko Kimura
 
さようなら"Google Wave"、あとは"co-meeting"にまかせてください at Chrome+HTML5 Conference
さようなら"Google Wave"、あとは"co-meeting"にまかせてください at Chrome+HTML5 Conferenceさようなら"Google Wave"、あとは"co-meeting"にまかせてください at Chrome+HTML5 Conference
さようなら"Google Wave"、あとは"co-meeting"にまかせてください at Chrome+HTML5 ConferenceAtsuhiko Kimura
 
グループディスカッションツールco-meeting @ SHAREカンファレンス vol.1
グループディスカッションツールco-meeting @ SHAREカンファレンス vol.1グループディスカッションツールco-meeting @ SHAREカンファレンス vol.1
グループディスカッションツールco-meeting @ SHAREカンファレンス vol.1Atsuhiko Kimura
 
マルチソーシャルメディアクライアント「Crowy」 at Hoot-up 2nd
マルチソーシャルメディアクライアント「Crowy」 at Hoot-up 2ndマルチソーシャルメディアクライアント「Crowy」 at Hoot-up 2nd
マルチソーシャルメディアクライアント「Crowy」 at Hoot-up 2ndAtsuhiko Kimura
 
Google Apps Marketplace Billing API概要
Google Apps Marketplace Billing API概要Google Apps Marketplace Billing API概要
Google Apps Marketplace Billing API概要Atsuhiko Kimura
 
infoScoop OpenSource v2.1の新機能・今後の予定のご紹介 at 第1回IOCJ情報交換会
infoScoop OpenSource v2.1の新機能・今後の予定のご紹介 at 第1回IOCJ情報交換会infoScoop OpenSource v2.1の新機能・今後の予定のご紹介 at 第1回IOCJ情報交換会
infoScoop OpenSource v2.1の新機能・今後の予定のご紹介 at 第1回IOCJ情報交換会Atsuhiko Kimura
 
オープンソースカンファレンス2010Tokyo/Spring:infoScoop OpenSource&infoScoop Calendar(木村)
オープンソースカンファレンス2010Tokyo/Spring:infoScoop OpenSource&infoScoop Calendar(木村)オープンソースカンファレンス2010Tokyo/Spring:infoScoop OpenSource&infoScoop Calendar(木村)
オープンソースカンファレンス2010Tokyo/Spring:infoScoop OpenSource&infoScoop Calendar(木村)Atsuhiko Kimura
 

Mehr von Atsuhiko Kimura (7)

少人数から始めるできるだけ楽をするB2Bアプリ開発
少人数から始めるできるだけ楽をするB2Bアプリ開発少人数から始めるできるだけ楽をするB2Bアプリ開発
少人数から始めるできるだけ楽をするB2Bアプリ開発
 
さようなら"Google Wave"、あとは"co-meeting"にまかせてください at Chrome+HTML5 Conference
さようなら"Google Wave"、あとは"co-meeting"にまかせてください at Chrome+HTML5 Conferenceさようなら"Google Wave"、あとは"co-meeting"にまかせてください at Chrome+HTML5 Conference
さようなら"Google Wave"、あとは"co-meeting"にまかせてください at Chrome+HTML5 Conference
 
グループディスカッションツールco-meeting @ SHAREカンファレンス vol.1
グループディスカッションツールco-meeting @ SHAREカンファレンス vol.1グループディスカッションツールco-meeting @ SHAREカンファレンス vol.1
グループディスカッションツールco-meeting @ SHAREカンファレンス vol.1
 
マルチソーシャルメディアクライアント「Crowy」 at Hoot-up 2nd
マルチソーシャルメディアクライアント「Crowy」 at Hoot-up 2ndマルチソーシャルメディアクライアント「Crowy」 at Hoot-up 2nd
マルチソーシャルメディアクライアント「Crowy」 at Hoot-up 2nd
 
Google Apps Marketplace Billing API概要
Google Apps Marketplace Billing API概要Google Apps Marketplace Billing API概要
Google Apps Marketplace Billing API概要
 
infoScoop OpenSource v2.1の新機能・今後の予定のご紹介 at 第1回IOCJ情報交換会
infoScoop OpenSource v2.1の新機能・今後の予定のご紹介 at 第1回IOCJ情報交換会infoScoop OpenSource v2.1の新機能・今後の予定のご紹介 at 第1回IOCJ情報交換会
infoScoop OpenSource v2.1の新機能・今後の予定のご紹介 at 第1回IOCJ情報交換会
 
オープンソースカンファレンス2010Tokyo/Spring:infoScoop OpenSource&infoScoop Calendar(木村)
オープンソースカンファレンス2010Tokyo/Spring:infoScoop OpenSource&infoScoop Calendar(木村)オープンソースカンファレンス2010Tokyo/Spring:infoScoop OpenSource&infoScoop Calendar(木村)
オープンソースカンファレンス2010Tokyo/Spring:infoScoop OpenSource&infoScoop Calendar(木村)
 

Kürzlich hochgeladen

クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 

Kürzlich hochgeladen (9)

クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 

ATNDに下書き保存とプレビューを追加するATND Draft