ユーザの位置情報を利用した moblog投稿・検索システム の設計と実装 2007年2月5日 修士論文発表資料 ユーザの位置情報を利用した moblog投稿・検索システム の設計と実装 ソフトウェア生産管理学講座 多田研究室 0550035 前澤 直洋
発表の流れ 背景と目的 システムの概要 システムの構成 評価 関連研究 まとめ
背景 携帯通信端末の普及 携帯通信端末のWeb利用環境の発展 いつでも、どこからでも情報を受信・発信のできる モバイル環境
モバイル環境から発信される情報 「位置」 モバイル環境から発信される情報の鍵 その情報の示す いま青森ねぶた祭に来てます ○○デパートでバーゲンセールやってるよ いま青森ねぶた祭に来てます この店のカレーの量がすごい!
モバイル環境から知りたい情報 「位置」 に特化した情報 位置をキーとして情報を引きたい モバイル環境から知りたい情報 この辺におもしろい観光スポットないかな? 局所的な情報をWebからキーワード検索で収集するのは非効率的 位置をキーとして情報を引きたい お腹すいたけどこの辺でうまい店ないかなぁ? この地域でどんな出来事があるんだろう?
目的 ユーザの位置に特化した moblogの投稿・検索システム ユーザの位置と、そこから発信される情報を結びつける情報サービスの実現 携帯通信端末:携帯電話 高普及率 Web利用の一般化 GPSの搭載義務化 情報媒体:Weblog 高普及率 自己表現のしやすさ 外部から操作可能なAPI ユーザの位置に特化した moblogの投稿・検索システム
システムの概要 地域を中心とした情報の共有 投稿: 位置情報を付加したWeblogの発信 検索: 位置情報の付加されたWeblogの発見 記事本文に位置情報を表現 検索: 位置情報の付加されたWeblogの発見 携帯電話での閲覧向け 投稿先Weblog記事へのポータルサイトを構築 地域を中心とした情報の共有
地域を中心とした情報共有のイメージ 本システム Weblogシステム (Weblogサイト) 携帯電話 (ユーザ) livedoor blog Movable Type Type Pad So-net blog Weblogシステム (Weblogサイト) 本システム 携帯電話 (ユーザ)
一般的なWeblogは位置情報を付加できない システムの構成 携帯電話に標準搭載のWebブラウザからアクセスするWebアプリケーション 携帯電話はキャリア・機種に依存しない Weblogも一般的なものを利用可能 一般的なWeblogは位置情報を付加できない Weblogシステム 本システム 本システムで 位置と記事を対応付ける 携帯電話
システムの内部構成 データベース 携帯電話インタフェース部 Weblogインタフェース部 データベースインタフェース部 制御部
本システム 制御部 Weblogシステム データベース DB 携帯電話 Weblog インタフェース 部 データベース インタフェース 部
データベース 位置情報とWeblog記事とを対応付ける 保存する情報 記事情報 位置情報 メタ情報(後述) 本システム タイトル、投稿日時、 投稿先Weblog記事へのURL など 位置情報 緯度・経度 メタ情報(後述) ジャンル、評価、スポット Weblogシステム 本システム Weblog インタフェース 部 制御部 データベース データベース インタフェース 部 DB 携帯電話 インタフェース 部 携帯電話
携帯電話インタフェース部 携帯電話のWebブラウザから操作できるユーザインタフェースの提供 キャリアごとの仕様の違いの吸収 本システム Weblogシステム 本システム Weblog インタフェース 部 制御部 データベース データベース インタフェース 部 DB 携帯電話 インタフェース 部 携帯電話
Weblogインタフェース部 Weblogシステムに操作を要求 Weblogシステムごとの仕様の違いを吸収 本システム 制御部 データベース データベース インタフェース 部 DB Weblogインタフェース部 Weblogシステムに操作を要求 Weblogシステムごとの仕様の違いを吸収 携帯電話 インタフェース 部 携帯電話
データベース インタフェース部 データベースにある情報をプログラムから参照・保管できるようにする 本システム 制御部 Weblogシステム DB 携帯電話 インタフェース 部 携帯電話
各インタフェース部の実装 携帯電話インタフェース部 Weblogインタフェース部 データベースインタフェース部 XHTML Basicによる動的コンテンツを構築 ユーザからの情報はCGIパラメータとして受信 位置情報もXHTML Basicタグの記述により取得可能 Weblogインタフェース部 Atom Publishing Protocolを採用 Weblogシステムへのリクエストの生成と送信 レスポンスの受信とそこからのデータ抽出 データベースインタフェース部 Ruby on Railsのライブラリ(ActiveRecord)を使用
制御部 本システムの「機能」を組み立てる部分 ユーザからのイベントの受け付け 状態遷移の制御 携帯電話、 Weblogシステム、 データベース間での 情報流通の制御 本システムの「機能」を組み立てる部分 本システム Weblog インタフェース 部 制御部 データベース データベース インタフェース 部 DB 携帯電話 インタフェース 部 携帯電話
投稿機能 制御部 Weblogシステム 3.記事情報 4.記事情報 位置情報 メタ情報 2.投稿記事 1.投稿記事 位置情報 メタ情報 DB 1.投稿記事 位置情報 メタ情報 携帯電話
検索機能 制御部 Weblogシステム 2.クエリ(位置情報) 3.記事情報 4.結果提示 1.位置情報 携帯電話 DB グルメ 中華おはら らんちたいむ 丸高食堂 たから屋 たつみ 1.位置情報 携帯電話
その他の機能 編集・削除 一時保存 お気に入り 住所名検索 トラックバック PC用地図インタフェース
評価 位置情報
投稿フォーム 位置情報 記事内容 メタ情報 ジャンル 評価 スポット 日記・グルメ・ニュース・レジャー・ショッピング 5段階評価、または「評価なし」 スポット 記事に関する場所の名前
スポット 布田天神 マクドナルド 電気通信大学 「場所の名前」でラベル付けした位置情報 その「場所」に関する記事の集合 分散する各記事の「位置」を「スポット」でまとめることで、情報の発見を支援する 布田天神 マクドナルド 電気通信大学 今日のおみくじ 今日のおみくじ 調布祭 調布祭 東食が北海道フェア 東食が北海道フェア 布田天神で初詣 布田天神で初詣 食神スタンプ 食神スタンプ メガマック! メガマック! A棟が直ってた A棟が直ってた
スポット選択 記事投稿時、現在地周辺にある既存スポットが一覧表示 所属させたいスポットがあれば、そのスポット名を選択 もし、なければ、新しいスポットを設置することも、スポットを選択しないことも可能
投稿したWeblog記事 緯度・軽度 住所 地図
周辺情報検索 位置情報
検索結果の提示 タイトル:投稿先Weblog記事へのリンク 地図のマーカーに対応 現在地から記事までの距離 携帯電話用ナビゲーションサイトへのリンク タイトル:投稿先Weblog記事へのリンク
検索オプション 並べ替え 記事の順番の並べ替え ジャンル検索 ジャンルの絞込み
検索オプション スポット検索 周辺にあるスポットから記事を検索
関連研究 場log NAVIBLOG MOBILE データベースで外部Weblog記事と位置情報を結びつけるmoblogサービス メールで投稿 ビューアとして記事一覧、地図インタフェースを提供 携帯電話からの検索は考慮されていない NAVIBLOG MOBILE 携帯電話でもクリッカブルな地図インタフェース 外部Weblogには投稿できず、内部に情報を保存 厳密にはWeblogではない
まとめ ユーザの位置情報を利用し、その地域に密着した情報の発信と発見を支援するmoblog投稿・検索システムの設計と実装 今後の課題 ユーザインタフェースの強化 本システム以外から投稿されたWebコンテンツの利用
本システム 制御部 データベース キー作成 DB キー 記事情報 記事情報 mailto: キー 写真添付 携帯電話
制御部 Weblogシステム 3.記事情報 4.記事情報 位置情報 2.投稿記事 1.投稿記事 b.記事情報 位置情報 c.ポータル DB 1.投稿記事 位置情報 b.記事情報 c.ポータル a.位置情報 1~4: 投稿処理 a~c: 検索処理 グルメ 中華おはら らんちたいむ 丸高食堂 たから屋 たつみ 携帯電話
XHTML Basic XHTMLのサブセット 位置情報取得もXHTML Basicの記述で可能 現在主流の携帯電話のWebブラウザでほぼキャリア依存なく閲覧可能 位置情報取得もXHTML Basicの記述で可能 位置情報をCGIパラメータとして受信 キャリアによる仕様の違いを吸収
Atom Publishing Protocol (Atom API) Weblogを外部から操作できるアプリケーションレベルの通信プロトコル 操作ごとの特定のURIに対しHTTPメソッドを送信 例:投稿用URIにHTTP POSTを送信 パスワードを暗号化し、セキュアな通信が可能 XMLベースの文書でデータをやり取り
ActiveRecord フレームワークとして使用したRuby on Railsに組み込まれているORM(Object/Relational Mapping)ライブラリ リレーショナルデータベース上の情報をRubyオブジェクトとして利用可能 Rubyプログラム リレーショナルデータベース Entry クラス entries テーブル .create .find .update .destroy .save #id #title #body #issued id title body issued
評価 質問1:投稿の評価 情報発信者の立場で、投稿したWeblog記事を見て、自分の血絶えたい位置の情報を閲覧者に良く示せているか 平均点:4.2点
評価 質問2:閲覧の評価 情報閲覧者の立場で、本システムから投稿された他者のWeblog記事を見て、記事の指す位置が直感的に分かり易いか 平均点:4.4点
評価 質問3:検索結果提示の評価 周辺情報検索の「全ジャンル」で表示されているものを見て、現在地と各記事の位置関係が空間的に把握し易いか 平均点:3.8点
評価 質問4:情報発見性補助の評価 「全ジャンル」を見てからジャンル検索やスポット検索、並び順の変更などを使用してみて、これらが「求めている・価値のある情報発見への近道」としてより良い誘導性を発揮しているか 平均点:3.75点
評価 質問5:ポータルサイトとしての評価 本システムの位置をキーとしたポータルサイトは、他のブロガーとの横断的なコミュニケーション手段として活かせるか 平均点:4.0
評価 質問6:情報共有サービスとしての評価 本システムが地域を中心とした情報共有の手段として利用できるか 平均点4.4
周辺情報検索 位置情報取得
検索結果の提示方法 投稿先Weblog記事へのリンク集 「位置」をきっかけとした 横断的なコミュニケーション
システムの特徴 地域を中心とした情報の共有 投稿: ユーザの位置に特化したWeblogの投稿 その位置に密着した情報の発信 その位置に密着した情報の発見 地域を中心とした情報の共有
制御部の実装 ユーザからの要求や状態遷移に合わせ、 適宜に情報を流通させることで、 本システムの「機能」を組み立てる 投稿機能 検索機能
検索結果の提示
検索結果の提示
検索結果の絞り込み(ジャンル検索) ジャンル
検索結果の並び順 距離 投稿日時 評価
投稿処理 本システム 制御部 投稿日時 投稿先URL 編集用URI 投稿用URI Weblogユーザ名 Weblogパスワード データベース 制御部 タイトル 本文+位置情報 DB タイトル 本文 投稿日時 位置情報 投稿先URL 編集用URI メタ情報 ユーザ情報 Weblog情報 タイトル 本文 位置情報 メタ情報 Weblog情報 携帯電話
制御部 ユーザからのイベントの受け付け 状態遷移の制御 携帯電話・Weblogシステム・データベース間での情報流通の制御 本システムの「機能」 を組み立てる部分 Weblog インタフェース 部 制御部 データベース インタフェース 部 携帯電話 インタフェース 部
写真付き記事の投稿 写真は別途メールで転送 <a href=“mailto:~”>にて投稿先、件名、本文を全て指定 あとはそのまま添付して送れば良い状態に このとき、ランダム文字列のキーを作成 これまでの情報をキーと一緒にデータベースに保存 メール本文にキーを付加 メール到着時、このキーを基ににデータベースから情報を復元 写真も取り出し、投稿処理を再開
携帯電話インタフェース部 携帯電話のWebブラウザからアクセス・操作できるユーザインタフェースの提供 XHTML Basicによる動的コンテンツ ユーザからの情報やイベントをCGIパラメータとして受信 位置情報 XHTML Basicで記述からCGIパラメータとして受信可能 各キャリアによる仕様の違いを吸収
携帯電話インタフェース部 携帯電話のWebブラウザから操作できるユーザインタフェースの提供 ユーザからの情報をCGIパラメータとして受信 XHTML Basicによる動的コンテンツを構築
携帯電話インタフェース部 携帯電話のWebブラウザから操作できるユーザインタフェースの提供 ユーザからの情報をCGIパラメータとして受信 XHTML Basicによる動的コンテンツを構築 制御部 携帯電話 インタフェース 部 携帯電話
Weblogインタフェース部 Weblogへのリクエストの生成と送信 Weblogからのレスポンスの受信とレスポンスからのデータの抽出 Atom Publishing Protocolを利用 Weblogシステム Weblog インタフェース 部 制御部
Weblogインタフェース部 Weblogへのリクエストの生成と送信 Weblogからのレスポンスの受信とレスポンスからのデータの抽出 今回はAtom Publishing Protocol(AtomAPI)を利用
データベースインタフェース部 データベースに保管されている情報をプログラムで扱える情報に変換 プログラムで扱われていた情報をデータベースに保管 ActiveRecord Ruby on Railsに組み込まれているライブラリ
投稿処理の流れ 携帯電話より投稿記事と位置情報を受信 記事本文に位置情報を加えWeblogシステムに投稿 レスポンスとして投稿記事に関する情報を受信 これら記事情報と位置情報を合わせてデータベースに保管
投稿処理 本システム 制御部 投稿日時 投稿先URL Weblogシステム データベース タイトル 本文+位置情報 DB タイトル 本文 携帯電話
投稿処理 本システム 制御部 投稿日時 投稿先URL 編集用URI Weblog設定情報 Weblogシステム データベース タイトル 本文+位置情報 DB タイトル 本文 投稿日時 位置情報 投稿先URL 編集用URI メタ情報 ユーザ情報 Weblog指定 タイトル 本文 位置情報 メタ情報 Weblog指定 携帯電話
検索処理 携帯電話から位置情報を受信 渡された位置情報を基にデータベースを参照 ヒットした記事情報からポータルサイトを構築
検索処理 本システム 制御部 提示画面 Weblogシステム データベース DB タイトル 位置情報 投稿先URL 位置情報 携帯電話 周辺情報 中華おはら らんちたいむ 丸高食堂 たから屋 たつみ 携帯電話
検索処理 本システム 制御部 提示画面 Weblogシステム データベース DB タイトル 投稿日時 位置情報 投稿先URL ジャンル スポット 評価 位置情報 提示画面 周辺情報 中華おはら らんちたいむ 丸高食堂 たから屋 たつみ 携帯電話
メタ情報の利用 表示順の並べ替え 絞込み検索 近距離順(位置情報) 新着順(投稿日時) 高評価順(評価) ジャンル検索(ジャンル) スポット検索(スポット)
検索支援メタ情報 ジャンル 評価 スポット その記事を内容を表すカテゴリ 日記・グルメ・ニュース・レジャー・ショッピング その記事の示す位置・対象の評価 5段階評価、または「評価なし」 スポット その記事に関する場所の名前
検索結果の提示 タイトル(投稿先Weblog記事へのリンク)
携帯電話インタフェース部 携帯電話のWebブラウザから操作できるユーザインタフェースの提供 キャリアごとの仕様の違いの吸収 携帯電話
Weblogインタフェース部 Weblogシステムに操作を要求 Weblogシステムごとの仕様の違いを吸収 Weblogシステム
データベースインタフェース部 データベースにある情報をプログラムから参照・保管できるようにする 制御部 データベース DB データベース
投稿処理 本システム 制御部 タイトル 本文 投稿日時 位置情報 投稿先URL 編集用URI メタ情報 ユーザ情報 Weblog情報 ファイル名 投稿処理 Weblogシステム 投稿用URI アップロード用URI Weblogユーザ名 Weblogパスワード アップロード先URL 投稿日時 投稿先URL 編集用URI 本システム タイトル <img>+ 本文+位置情報 制御部 データベース 写真画像 キー作成 DB タイトル 本文 位置情報 メタ情報 Weblog情報 保存日時 ユーザ情報 キー抽出 キー 写真画像抽出 ファイル保存 タイトル 本文 位置情報 メタ情報 Weblog情報 mailto: 写真添付 キー 携帯電話