Web技術勉強会 20120728

1,001 views
967 views

Published on

ライフログ入門。Evernote連携をアプリの機能以外にIFTTTと自作Herokuアプリで送信する手法を紹介。

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,001
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Web技術勉強会 20120728

  1. 1. Web技術勉強会 2012/07/28Ryuichi TANAKA/@mapserver2007/summer-lights.jp ライフログ入門 ライフログで日常行動のモチベーション維持
  2. 2. ライフログとは?ライフログとは、人間の生活を長期間に渡りデジタルデータとして記録すること、またその記録自体を指す。 近年、ライフログという言葉が広く社会的に認知されつつあり、例えばブログのような日記の類もライフログと呼ばれることがある。(Wikipediaより)端的に言ってしまえば、生活している上で行動しているすべての行動記録。スマートフォンの普及で盛り上がってきている
  3. 3. ライフログを記録する意味すべての行動に「意味」が付く 例:単に歩いて移動する 単なる運動、あるいは無意味な時間。 だが、ログ化することで単に歩いて移動する距離、時間、場所などが 記録される 例:音楽を聞く 暇つぶし的な意味あいが強い。 だが、ログ化することで、いつどんな曲を聞いたかをすべて記録可能すべての単純な行動に意味がつくので、つまらない行動も楽しくなってくるログを取るために行動するモチベーションが生まれる
  4. 4. 最近はスマホ+Webサービスが当たり前たいていのスマホアプリはWeb対応 記録を可視化してくれるのであとで見て楽しめる 集計もしてくれる SNS要素ありしかも有名外部サービス連携も当たり前 Facebook Twitterライフログと言っても、人によって用途が違う コミュニケーション目的(多そう) 日々の記録をつける日記的な目的(正統派) TwitterのTLの一部(なんでもかんでも流す派) ランキング狙い など
  5. 5. 最近はスマホ+Webサービスが当たり前たいていのスマホアプリはWeb対応 記録を可視化してくれるのであとで見て楽しめる 集計もしてくれる SNS要素ありしかも有名外部サービス連携も当たり前 Facebook Twitterライフログと言っても、人によって用途が違う コミュニケーション目的(多そう) 日々の記録をつける日記的な目的(正統派) TwitterのTLの一部(なんでもかんでも流す派) ランキング狙い など
  6. 6. ライフログ収集の条件スマートフォンが必須 ないと話にならない。ない人は今すぐ買いなさい。メジャーどころのアカウントが必須 特にTwitterは必須(Twitterに流す目的ではなく、別 目的で必須) Webメールもほぼ必須(持ってない人いないだろうけ ど。Gmail推奨) Facebook連携はおすすめしない(Twitter以上にあ る意味危険…) Evernoteは超絶必須(今回の肝はこれだし) その他写真系サービスなど、有名どころのアカウン トは持っておいて損なし。
  7. 7. 私のライフログ収集形態次の図参照
  8. 8. Last.fm POST Twitter パブリックなつぶやき RunKeeper ランニングログ Fitbit Instagram 写真ログCloudScrob 僕の来た道Last.fm for iPhone 現在地常時トラッキング POST Paylog 家計簿 Last.fm PostEver 音楽ログ プライベートなつぶやきgithubプログラムログ scansnap 明細書など Foursquare スポットチェックイン
  9. 9. 私のライフログ対象一覧日記系ログ ブログ(現在は収集対象から外してる。後日追加予定) Twitter PostEver Evernote音楽系ログ Last.fm(iTunes, CloudScrob)運動系ログ RunKeeper Fitbit Ultra(予定)
  10. 10. 私のライフログ対象一覧位置情報系ログ Foursquare 僕の来た道写真系ログ Instagram会計簿・小遣いログ Paylogプログラミング系ログ Github
  11. 11. ライフログ収集のポイント中心にはEvernoteがいる すべてのログはEvernoteに集約する ログを集約するのにこれ以上のサービスは現状ない Web、クライアント、派生アプリが豊富 SDKもあるEvernote連携サービスはそのまま連携する 派生アプリは当然連携可能(PostEverなど)だが意外とEvernoteに直接送信できるサービス、アプリは少ない
  12. 12. Evernote非対応サービスを連携させる以下のパターンなら比較的容易に連携可能 フィードを吐いているサービス ただし、ATOMだとできない可能性が高い。RSS1.0かRSS2.0なら ほぼ確実にできる メールを送信できるサービス Gmailを間接的に叩けたりできれば確実 Twitter連携しているサービス Twitterのタイムラインからぶっこぬいてこれるため連携可能上記の場合、プログラミング不要!上記以外の複雑な要件がある場合はプログラミングで解決。
  13. 13. IFTTT http://ifttt.com 外部サービスを結びつけて連携させることができるサービ ス。 なんと、プログラミング不要! TwitterBotとか簡単にできる。 レシピと言う単位で作成、共有可能。しかも共有されてい るレシピをフォークしてカスタマイズまでできる。
  14. 14. 現在連携しているサービスRunKeeper→Evernote RunKeeperで走ったデータをTwitterに流す。そのTwitterデー タをIFTTTが捕捉し、Evernoteへ送信。内容はTweetデータそ のまま。Foursquare→Evernote FoursquareはIFTTTでサポート済み。チェックインしたデータ をEvernoteへ送信。場所、時間、地図画像など。Last.fm→Evernote iTunes、iPhoneで聞いた音楽データをEvernoteへ送信。 IFTTTでサポート済み。1曲単位で送られてくる。Instagram→Evernote 撮った写真データをEvernoteへ送信。IFTTTサポート済み。github→Evernote githubのコミット履歴をEvernoteへ送信。githubのフィード情 報をそのまま送信。
  15. 15. IFTTTでできないことIFTTTはだいたいのことが解決できるが、以下の場合は無理 IFTTTで対応していないサービスを使いたい スケジュール実行させたいIFTTTは更新即時実行なので日単位でのバッチ処理ができない。 ライフログデータを集計してまとめて一括で送ってほしい、とい う要求に応えられない
  16. 16. blogtrottr http://blogtrottr.com/ フィード情報に限られるがメール送信が実行できる Evernoteのアドレスに指定したサブジェクトで送るとノートを 作成できる しかもスケジュール実行(時間単位、日単位など)が選択可 能
  17. 17. blogtrottrでできないことフィード情報は「RSS」のみ。 ATOMは無理だった殆どの場合問題にならないが、Last.fmではこれが問題になる。Last.fmのアーティスト別、トラック別フィードはATOM。指定してもエラーになる なぜか直近聞いた音楽のみはRSSだが10件しか選べない。10 件ってなめとんのか…。ATOM→RSS変換サービス(Google)を通してもやはり無理(変換自体できなかった)
  18. 18. もはや作るしかないやりたいこと これまで聞いた曲のアーティスト、トラック別ランキングを1日1 回Evernoteに送信したい 今日聞いた音楽情報を1日1回Evernoteに送信したいIFTTTのLast.fm→Evernoteは数が多すぎて見づらい。集計データがほしい。
  19. 19. 要件Herokuで運用 Rubyで作る、Herokuでアプリを動かすノウハウあり。Evernoteの特定のノートブックにLast.fmデータが必要 IFTTTで溜めたデータを元に集計(今日聞いた音楽)Last.fmのフィード情報を取得する 取得して加工してEvernoteに流すだけ1日1回実行する Clockworkでスケジューリング
  20. 20. はまったところrubygemの「evernote」は使えない サンプルが動かない(うちだけ?) 参照はできるが書き込みができない結局公式のSDKを使うことに ソースがおいてあるだけ。gem化くらいしろよ…。 コミット、デプロイ時にソースがまんま入るのは正直嫌なんだけどSandboxで試験しろとあるが 無視してProductionで試験しまくり(問題無さそう) 手動でデータ作るのがめんどくさい
  21. 21. 書いたアプリLastfmFeedEver https://github.com/mapserver2007/LastfmFeedEver アーティスト総合、トラック総合データを1日の終りにEvernote に送信LastfmDailyEver https://github.com/mapserver2007/LastfmDailyEver 今日聞いた音楽を1日の終りにEvernoteに送信どちらもHerokuで運用中。
  22. 22. 今日聞いた音楽
  23. 23. アーティスト別総合
  24. 24. トラック別総合
  25. 25. これで音楽系ログは万全特に「今日聞いた音楽」は知りたかった。 たぶん、これが取れるサービスはないんじゃないか? Last.fmは認知度No.1だと思うが、公式や外部サービスを使って もこれは取れない。直近聞いたデータ(RSS)は使いものにならな い。 ライフログ系のブログはいろいろあるがこれをやっているところ はない。
  26. 26. 運動系ログを強化したいRunKeeperを使っているが、月に10回程度しかログをとれない(毎日走るのは厳しい…)なんとか毎日の運動系ログ(消費カロリーとか)をとれないだろうか。 iPhone単体を常に装着するのは…。毎日の運動系ログがとれれば、単なる徒歩ですらログ収集対象になり、楽しくなる。
  27. 27. Fitbit Ultra クリップタイプのガジェット 10cmくらい、ベルトにちょうどフィット 取れるログがいい! 歩数 消費カロリー 距離 Floor Climbed(何階層移動したか) 睡眠時間 覚醒状態と睡眠状態をそれぞれ取れる 連携サービスが多い Twitter、Facebook、RunKeeper、Wifi体重計、心拍計、血圧 計など iPhoneアプリ連携も多い 食事ログ、飲んだ水の量ログなど(別アプリ)
  28. 28. 公式サイトが見やすい詳細なデータを可視化してくれる
  29. 29. 使い方がとても楽PCとの同期が楽 同じ部屋にいればWifiで勝手にデータを本家へ送信 明示的な同期不要 ただし、睡眠ログはドックに差し込まないとだめ(かも)普段は装着しておくだけ スイッチとか入れる必要なし 帰ってきたらドックに挿せば終わり就寝前に手に装着してスイッチを長押し ここだけは1ステップ必要。装着用リストバンドあり。 起床時、同様にスイッチ長押しでログ収集終わりバッテリーは結構持ちそう 少なくとも1日使っても半分も減っていない ただし、なぜかバッテリー残量はWebでしか確認できない…。
  30. 30. iPhone連携も(一応)可能iPhoneアプリがある。http://itunes.apple.com/us/app/fitbit-activity-calorie-tracker/id462638897?mt=8&ign-mpt=uo%3D4ただし、USのみ。日本のAppStoreにはない。入れてみたが、他のサービス(食事ログなど)の項目が多くて、Fitbit Ultra単体ではあまり役に立ちそうになりのが残念。 食事ログとかは選択式のようだが、USの食い物ばかりらしく、 日本人が利用するにはいちいち手動入力が必要らしいため、使う 気にならない。
  31. 31. Evernote連携ができない公式に連携できる機能がない。一応Twitterにはデータを流せるので、IFTTTで捕捉してEvernote送信は可能。だが、データが全然含まれていない 日付、歩数、距離だけ。あとリンク。 消費カロリー、Floor Climbed、睡眠ログなどは取れない。これでは正直いまいち。
  32. 32. しかたないのでアプリを書くFitbitEver https://github.com/mapserver2007/FitbitEver Fitbitの公式サイトからデータをぶっこ抜く Mechanizeを使うのだが、HTTPSでログインする処理が必要な ので、そこだけやや手間取った(証明書が必要だった) 午前3時に前日のデータを取得 生活スタイルを考慮し、午前3時とした。 午前0時や23時55分だと、まだ帰ってきてなく、同期されないまま データを取りに行く可能性がある。午前3時ならいくらなんでも帰っ てくるということで。 現状、帰って来なかった場合まで考慮してない。対応はする予定。
  33. 33. 昨日のアクティビティデータTwitterからのデータと比べ、種類が多くなった。
  34. 34. ログをあつめておけば…振り返ることができる 数ヶ月後、数年後とかに何気なく見ると、あの時はこんな漢字 だったのかと振り返ることができるアプリを作るための下地 自分専用のライフログアプリを作るためのデータ収集。日頃の行動のモチベーション維持 ランニングが続かない→ログをとるために走るのはいいこと 運動不足解消したい→1日の目標歩数を達成したいがために歩い たりひとりごとをメモし続ける ブログは面倒→Twitter or PostEver外出の記録をつけて出かける楽しみを増やす Foursquare、僕の来た道
  35. 35. まとめライフログをつけよう 行動のためのモチベーション維持が最大の利点Evernoteはライフログのための最強アプリ なんで絶賛されているかようやく理解した。神アプリでした。 メモ用途でも相当役に立つIFTTTで簡単Evernote連携 プログラミング不要プログラミングでなんでもEvernote連携 プログラミングできればどんなデータでもライフログ化可能iPhone以外のガジェットも使おう FitbitUltra以外にもたくさんある 詳細なデータが取れる

×