公立はこだて未来大学 2012 年度 システム情報科学実習 グループ報告書 Future University Hakodate 2012 System Information Science Practice Group Report プロジェクト名 函館観光情報の有効活用のための Web API とアプリの開発 Project Name Development of Web API and the Application for Effective Utilization of the Hakodate Tourism Information グループ名 アプリグループ (B) Group Name Application Group プロジェクト番号/Project No. 15-B プロジェクトリーダ/Project Leader 1010209 山田亜美 Ami Yamada グループリーダ/Group Leader 1010190 五十嵐康彰 Yasuaki Igarashi グループメンバ/Group Member 1010190 五十嵐康彰 Yasuaki Igarashi 1010236 小松慎太郎 Shintaraou Komatsu 1010179 鈴江健太 Kenta Suzue 1010222 近添彰久 Akihisa Chikazoe 指導教員 奥野拓 鈴木昭二 椿本弥生 Advisor Taku Okuno Sho’ji Suzuki Mio Tubakimoto 提出日 2013 年 1 月 16 日 Date of Submission January 16, 2013 概要 近年,スマートフォンの普及率が高まり外出先においても多くの情報が取得しやすくなった. そこで,本グループは函館に訪れる観光客に有用な情報を提供,発信することで函館の魅力を 伝え函館観光の活性化に貢献することを目指し,iOS アプリケーションを開発することにし た.今回,観光情報を取得する情報源として,函館市の公式観光サイトである“はこぶら”を利 用することに決定した.現在の“はこぶら”は,PC 向けにサイトが構築されておりスマート フォンで閲覧する上では適さない.そこで,同じプロジェクトに所属する Web API グループ と連携し,Web API グループの開発した“はこぶら API”利用して取得してきた情報をアプ リケーションに組み込み,観光客が使いやすいアプリケーションを構想した. “はこぶら API” は“はこぶら”用の Web API であり,これを用いることで“はこぶら”の情報がスマートフォ ンや Web アプリケーション上で利用できるようになる.また,函館市観光案内所で配布され ている“函館まちあるきマップ”をアプリケーションに組み,観光サイトやパンフレットにも 掲載されている名所旧跡をまわる中で,その他のあまり知られていない函館の名所にふれてい き函館に興味を持ってもらうことを考えた.iOS アプリケーションの機能を利用し紙媒体では 伝えることのできなかった情報を観光客に提供するシステムの設計を行った.結果,函館まち あるきマップをアプリ化し, “はこぶら”の情報と組み合わせることで,豊富な観光情報の提供 と,魅力的な観光スポットの紹介を同時に行うことができるようになった. キーワード 函館市公式観光情報サイトはこぶら,函館まちあるきマップ,iOS アプリケー ション (※文責: 鈴江健太) -i- Abstract In recent years,A lot of information has become easier to obtan by penetration of Smartphones rise. Therefore, this group decided to develop the application of iOS that can convey the appeal of Hakodate.It can contribute to the tourism Hakodate. This time, We decided to use“Hakobura”which is the offcial tourism site in Hakodate as a source of information to get tourist information in Hakodate. As the current Status of Hakobura, this site has been built for the PC. It is not suitable for viewing on the Smartphones. We have planed to applications easy to use for tourist. Therefore, we cooperation with WebAPI groups to develop WebAPI of Hakobura. WebAPI is technology for the development to efficiently such as web applications. To develop a “Hakodate town walking map” as a function of application, tourists can have interest in Hakodate’s tourist attractions that aren’t known by people through the tourist attractions that introduced by many web site and the guide book. Therefore, we combine the “Hakobura” and “Hakotdate town walking map” on the application to give a tourism information and introduce the attractive tourism spot for tourists. Keyword Hakobura,Hakodate town walking map,iOS application (※文責: 近添彰久) - ii - 目次 函館観光の背景 1 1.1 現状 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 観光を支援する媒体の例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2.1 アプリケーション . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2.2 紙媒体 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2.3 Web サイト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 各媒体の課題 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.3.1 アプリケーション . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.3.2 紙媒体 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.3.3 Web サイト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 第1章 1.3 第2章 活動の目的 5 2.1 プロジェクトの目的 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.2 グループの目的 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 課題の設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.2.1 第3章 3.1 第4章 課題の解決 6 アプリケーションの構想 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3.1.1 はこぶらの利用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3.1.2 はこぶら API について . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3.1.3 函館まちあるききマップの利用 . . . . . . . . . . . . . . . . . . . . . . . . 7 活動の計画 9 4.1 計画書の作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 4.2 プロジェクト前半の計画 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 4.3 プロジェクト後半の計画 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 4.4 タスクの書き出し 第5章 開発のための準備 12 開発対象 OS の決定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 5.1.1 スマートフォン OS のシェア . . . . . . . . . . . . . . . . . . . . . . . . . 12 5.1.2 OS の特徴 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 スマートフォンアプリ開発のための学習 . . . . . . . . . . . . . . . . . . . . . . . 14 5.2.1 Xcode の学習 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 5.2.2 Objective-C の学習 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 5.1 5.2 第6章 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 開発体制 16 6.1 Web API グループとの連携 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 6.2 アプリグループの担当分け . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 - iii - 第7章 アプリケーションの実装 18 7.1 まちあるきマップ機能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 7.2 周辺検索機能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 7.3 Twitter との連携 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 作成した成果物 19 8.1 アプリケーションの遷移図 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 8.2 アプリケーションの仕様 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 8.3 ソースコード . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 8.3.1 コース選択画面 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 8.3.2 地図画面 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 8.3.3 現在地周辺検索 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 8.3.4 詳細情報画面 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 8.3.5 Twitter との連携 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 第8章 第9章 評価 27 9.1 中間発表の評価 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 9.2 成果発表の評価 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 第 10 章 今後の課題 29 10.1 カテゴリ検索・キーワード検索の実装 . . . . . . . . . . . . . . . . . . . . . . . . 29 10.2 SNS との連携 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 10.3 まちあるきマップ機能の改良 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 10.4 開発したアプリケーションの効果を検証 . . . . . . . . . . . . . . . . . . . . . . . 30 10.5 函館市観光コンベンション部との連携 . . . . . . . . . . . . . . . . . . . . . . . . 30 第 11 章 個人の活動 31 11.1 五十嵐康彰 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 11.2 小松慎太郎 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 11.3 鈴江健太 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 11.4 近添彰久 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 付録 A 新規習得技術 43 付録 B 活用した講義 44 参考文献 45 - iv - Development of Web API and the Application for Effective Utilization of the Hakodate Tourism Information 第1章 1.1 函館観光の背景 現状 近年,スマートフォンの普及率が上昇し屋外におけるインターネットアクセスが容易になった. スマートフォンとは,インターネットとの親和性が高く,パソコンの機能をベースとして作られた 多機能携帯電話である.スマートフォンの普及率は 1 年間で約 3 倍にまで加速しており,2011 年 第 1 四半期では 6% だったが 2012 年第 1 四半期では 20% となっている [1].スマートフォンは, 従来の携帯電話よりも画面が大きいため見やすく,PC サイトも閲覧することが可能である.また, スマートフォン所有者の 91% が地域情報を検索した経験があり,そのうちの 79% がその結果をも とに何らかの行動をとったことがあると回答している [1]. 函館を観光するにあたり,多くの観光サイトやアプリケーションを利用することで,多くの情報 を取得することが容易になった.しかし,情報が氾濫する中でその信憑性が問題視されるように なった.例えば,グルメ情報レビューサイトである「食ベログ」[2] 上で,特定の飲食店に対する好 意的な評価を書き入れるかわりに,その飲食店から金銭を授受するという口コミ代行業者が存在す ることがわかり問題となった.口コミ代行業者が事実と異なる書き込みをするのは景品表示法に抵 触するとしたガイドラインを公表するなど社会的注目も高まる中で,多くの情報の中から利用者に 信頼される情報を得ることが重要視されるようになった. 各都道府県には信頼することのできる観光情報が多く提供されている.例えば,観光サイトや市 内の観光案内所等に置いてあるパンフレットがある.函館市には「函館市公式観光情報サイトはこ ぶら」や「函館まちあるきマップ」がある.スマートフォンの普及が加速し,地域情報が検索され 活用される中,それらの情報はスマートフォンから閲覧しづらい状況にある.函館の観光客は,平 成 17 年度は約 484 万 3 千人,平成 20 年度は約 456 万 2 千人,平成 23 年度は約 410 万 8 千人と 年々低下傾向にある [3]. 函館市に観光に訪れる目的として,夜景が一番多く,その次に歴史的建造物,グルメと続いてい る [3].また,観光サイトやパンフレットに掲載されている名所旧跡ばかりが函館の魅力として広 く知られ,その他の知られざる名所には注目がいかないのが現状である.そのような名所を知って もらうことで函館観光の魅力をより伝えることができる. (※文責: 鈴江健太) 1.2 1.2.1 観光を支援する媒体の例 アプリケーション 観光を支援するアプリケーションとして,観光用アプリケーションがある.観光用アプリケー ションとは,その端末にある GPS やコンパス,ネットワーク通信を介して観光中に必要な情報を 取得することができるアプリケーションである.観光用アプリケーションの例として「じゃらん」, 「るるぶ」といったアプリケーションが挙げられる.「じゃらん」は (株) リクルートが提供する 「じゃらん net 観光ガイド」に掲載されているアプリケーションである.観光・グルメスポットや Group Report of 2012 SISP -1- Group Number 15-B Development of Web API and the Application for Effective Utilization of the Hakodate Tourism Information イベント情報の検索ができ,14 万件を超える観光スポット・3 万件のイベントについて,アクセス 情報などの基本情報や,利用者が投稿した,写真・クチコミ情報が掲載されている [4].「じゃらん」 の機能として都道府県,エリア別検索,現在地周辺情報の検索,気になった観光スポット・イベン トをお気に入りに登録できる機能がある.特徴はスポット・イベントの口コミ投稿者のコメント, 写真を見ることができ情報を共有することができる.「るるぶ」は JTB グループの JTB パブリッ シングが提供する観光・宿泊スポットを検索することができる [5] アプリケーションである.「るる ぶ」のできる機能としては都道府県,エリア別検索,現在地周辺検索の検索機能があげられる. (※文責: 鈴江健太) 1.2.2 紙媒体 函館観光を支援する紙媒体として,観光パンフレットがあげられる.例として,函館市コンベン ション部が発行する「浪漫函館」, 「函館まちあるきマップ」, 「Goo-Route Hakodate」などがあげ られる. 「浪漫函館」とは,旅情をかきたてる函館の風景を美しい写真で数多く紹介している観光パンフ レットである.路面電車の紹介をはじめ,函館観光に外せない坂道散策や,山頂からの夜景が素晴 らしい函館山,ライトアップされた街並み,函館が舞台となった映画,ベイエリア,温泉など,多 彩な情報を掲載している.祭り,グルメなどの周辺情報もあり掲載されている.「函館まちあるき マップ」とは街並みや歴史,グルメや自然などといった函館の魅力に触れながら,自分の足でゆっ くりと散歩を楽しむことができるというもので,現在 22 コースが配布されている.22 のコースは それぞれテーマが異なっており,「これぞ王道!函館の魅力凝縮コース」や「きらめきのライトアッ プ教会編」など,様々なテーマに沿った散歩をすることで,観光客に函館の魅力を伝える内容と なっている. 「Goo-Route Hakodate」とは,日帰りルートから,1 泊 2 日ルート,2 泊 3 日ルートと様々な観 光ルートをまとめた観光パンフレットとなっており観光客の観光日程に合わせたコースが選択可能 になっている.このように多くの観光パンフレットに共通していることは観光客のニーズにマッチ した観光スポットを提示していることである.また,地方自治体が運営し,発行しているので掲載 されている観光スポットも信頼することができる. (※文責: 鈴江健太) 1.2.3 Web サイト 函館市の情報が掲載されている Web サイトとして「函館市公式観光情報サイトはこぶら」や「函 館タウンなび」などがある. 「函館市公式観光情報サイトはこぶら」とは函館市により管理・運営されている Web サイトで, 函館市が出資している点,掲載料や広告が無い点,市民のクチコミと第 3 者の取材による裏付けに よって記事が作成されている点から,函館市民が自信を持って薦められる情報が集まっている.ま た,函館観光スポットの掲載量も約 800 件に及ぶなど質も量も充実した Web サイトとなっている. はこぶら函館タウンなびは,函館にあるお店を寿司,居酒屋などといったジャンル別に検索し表 示させることができる.さらに,函館のエリア別でも検索することもできる.このように,Web サイトを用いることで紙媒体やアプリケーションにはない多くの情報を取得することができる. Group Report of 2012 SISP -2- Group Number 15-B Development of Web API and the Application for Effective Utilization of the Hakodate Tourism Information (※文責: 鈴江健太) 1.3 1.3.1 各媒体の課題 アプリケーション 観光アプリケーションの課題として,利用されている情報の信憑性があげられる.函館を観光す るにあたり,多くの観光サイトやアプリケーションを利用することで,多くの情報を取得すること が容易になった.しかし,情報が氾濫する中でその信憑性が問題視されるようになった.アプリ ケーションの観光情報元として「じゃらん」では「じゃらん net 観光ガイド」に掲載されている観 光・グルメスポットやイベント情報,「るるぶ」では「るるぶ.com」で紹介している,観光・宿泊 スポット情報であるが,「じゃらん net 観光ガイド」,「るるぶ.com」も情報を掲載するために広告 料が発生する.お金を払えば情報を掲載することができる.誰でも情報を掲載することができるた め,多くの情報の中から自分のニーズにあった質の高いスポットを探すのは難しい. (※文責: 鈴江健太) 1.3.2 紙媒体 紙媒体の課題として,掲載情報量があげられる.「函館まちあるきマップ」を例にあげると,掲 載されているコースに含まれる観光スポットの情報は掲載されているがその他の観光スポットの 情報が掲載されていない.観光パンフレットの利用シーンとして観光中の利用が一つあげられる. また,函館に訪れる観光客の 70% が道外からの観光客であること,初めて来函する人が全体の 40% に及ぶ [6].多くの観光客が函館の土地について多くはわからないことが予想される.観光ス ポットの情報しかわからない観光パンフレットのみでは観光客が今どこにいるのかなど観光中に目 的地にたどり着くために必要な情報が不十分であり,目的地にはたどりつきづらい. (※文責: 鈴江健太) 1.3.3 Web サイト 観光 Web サイトの課題として観光中に利用しづらいという点があげられる.Web サイトの多く は PC で閲覧することを想定しており,スマートフォンやタブレット端末などからのアクセスが 想定されていない.そのため,文字が小さいことや画像が見にくいなどの問題があげられる.(図 1.1) (※文責: 鈴江健太) Group Report of 2012 SISP -3- Group Number 15-B Development of Web API and the Application for Effective Utilization of the Hakodate Tourism Information 図 1.1 Group Report of 2012 SISP スマートフォンから見たはこぶら -4- Group Number 15-B Development of Web API and the Application for Effective Utilization of the Hakodate Tourism Information 第2章 2.1 活動の目的 プロジェクトの目的 有用な Web サイトや AR の技術を活用して,観光客および観光サービス提供者を支援すること で,函館観光をより活性化する.そのままの形では使いづらい Web サイトを WebAPI 化しアプリ ケーションに活かすことでその実現を目指す. (※文責: 鈴江健太) 2.2 グループの目的 本グループは,函館に訪れた観光客が旅行中に手軽に信頼のできる情報を取得してもらい,実際 にお店に訪問するなど取得した情報を元に何らかの行動を誘発させるアプリケーションを作成す ることを目的としている.信頼のできる情報源として「函館市公式観光情報サイトはこぶら」を利 用し,iOS 端末をターゲットとしたアプリケーションを作成する.また, 「函館まちあるきマップ」 を利用し,函館市の名所旧跡を訪れると共に函館の知られざる名所にふれ,函館に興味を持っても らうことのできる iOS アプリケーションを開発する.アプリケーションを開発する上で,スマー トフォンの機能を活用し,Web サイトや紙媒体では伝えることのできなかった情報も加えて提供 する. (※文責: 鈴江健太) 2.2.1 課題の設定 本グループでは,既存のアプリケーション,web サイト,紙媒体の課題を解決しながら函館観 光中に観光客が情報を取得しやすい iOS アプリケーションの開発を行う.さらに,Web API 開発 者と連携し,アプリケーションを開発する際に必要になる情報や API を用いてアプリケーション の開発を行う.アプリケーションを開発するにあたり,機能や画面デザインについてレビューを行 い,ユーザにとって使いやすいアプリケーションの開発を行う. (※文責: 鈴江健太) Group Report of 2012 SISP -5- Group Number 15-B Development of Web API and the Application for Effective Utilization of the Hakodate Tourism Information 第 3 章 課題の解決 3.1 アプリケーションの構想 「はこぶら」,「函館まちあるきマップ」といった函館観光情報コンテンツを有効活用し,観光中 にユーザーが使用しやすい iPhone アプリケーションを作成することを決めた.「函館まちあるき マップ」は紙媒体であるため観光している時など土地勘がない場所では自分の現在地を把握しにく い.さらにまちあるきコースに含まれるスポットの情報しか掲載されておらず,コース周囲の観光 スポットの情報が掲載されていないといった問題点がある.「函館まちあるきマップ」に現在地情 報,「はこぶら」の観光スポット情報を付加することによってその問題を解決でき,よりよい函館 観光のコンテンツになると考え,まちあるきマップ機能を作成することを決めた.さらにユーザー が「はこぶら」のスポット情報を絞って検索できるようにするためにカテゴリー検索機能とキー ワード検索機能や twitter と連携しユーザーが情報を発信し共有できる機能を作成することを決め た twitter を選んだ理由は SNS としてシェアが広い点,文脈などのコンテクストをユーザーがあ まり気にしなくてよい点,発言がフォロワー数として評価される点である. (※文責: 近添彰久) 3.1.1 はこぶらの利用 アプリケーションに使用する観光地の情報を函館市公式観光サイト「はこぶら」に掲載されてい る情報から取得することを決めた.「はこぶら」とは,函館市が出資している掲載料・広告なしの 観光サイトのことである.日本語の他に,英語・韓国語・ロシア語・中国語繁体,簡体に対応して いる.「はこぶら」に掲載されている函館観光スポットは約 700 件あり,豊富な情報量である.ま た掲載料や広告がなく,掲載される情報源として市民の口コミ,取材による裏付けがされており, 函館市の貴重な情報源となっている.私たちは,情報量の多さ,ステルスマーケティングがないと いうこの 2 点から,観光客に函館のより良い観光情報を提供できると考え,「はこぶら」に掲載さ れている情報をアプリケーションに利用することを決めた (図 3.1). 図 3.1 Group Report of 2012 SISP 「はこぶら」の特徴 -6- Group Number 15-B Development of Web API and the Application for Effective Utilization of the Hakodate Tourism Information (※文責: 近添彰久) 3.1.2 はこぶら API について 函館市公式観光サイト「はこぶら」の情報を使用するために「はこぶら API」を使用した.「は こぶら API」とは本プロジェクトの Web API グループが作成した「はこぶら」の Web API であ る.観光サービス提供者がはこぶら API に URL でリクエストを送ると,「はこぶら」に掲載され ている情報を観光サービス提供者が開発しやすい形式である XML 形式で取得することができる. Web API とは,Web Application Programming Interface の略で,Web サイトなどの開発のた めに,インターネット経由で利用できる API である [?].API とは,アプリケーションの開発者 が,他のハードウェアやソフトウェアが提供している機能を利用するための手法である. はこ ぶら API には「はこぶら」で用いられているカテゴリ情報を提供するカテゴリリスト API ,と 「はこぶら」に掲載されているスポット情報を提供する スポットリスト API の 2 種類の API があ る.私たちはアプリケーション製作に当たってスポットリスト API を使用した. スポットリス ト API は,URL に続けてリクエストの引数であるリクエストパラメータを書くことによって,ス ポットの表示件数,緯度経度を基準とした検索範囲を指定することができる.またスポット間の距 離やスポットと現在地の距離を緯度経度から算出でき,スポット名,スポット仮名,カテゴリ名, 住所エリア名に対して,フリーワードで検索することができる.XML 形式で表示される際のタグ が何を示しているのか,また取得するデータについて Web API グループが作成したはこぶら API の仕様書レスポンスパラメータを示す (図 3.2). 図 3.2 はこぶら API 仕様書レスポンスパラメータ (※文責: 近添彰久) 3.1.3 函館まちあるききマップの利用 私たちは函館観光の特徴を考察し, 「函館まちあるきマップ」(図 3.3) を函館を観光する上で有効 なコンテンツであると考えた. 函館の観光を調査した結果,函館に観光に来る観光客の 90 %近く は,バスや JR,航空機やフェリーなど自家用車またはレンタカー以外の交通手段を用いて函館に 来ることがわかった [3].そこから函館を観光する際の交通手段は徒歩やバスや市電の利用が多い のではないかと考え,函館を歩いて観光する人たちをサポートし,函館という街の魅力を伝える機 能を作成することを決めた.函館を歩いて観光することによって,函館という街の魅力を伝えるた Group Report of 2012 SISP -7- Group Number 15-B Development of Web API and the Application for Effective Utilization of the Hakodate Tourism Information めに「函館まちあるきマップ」を利用することを決定した.「函館まちあるきマップ」とは函館市 観光コンベンション部観光振興課が発行している紙媒体の観光マップのことで,街並みや歴史,自 然などで函館の魅力を感じながら,夜の函館,教会めぐり,偉人を辿るなどの様々な観光テーマに 沿って,自分の足でゆっくりと散策できるルートを提供している.現在 22 種類の観光ルートが提 供されており,函館市内観光案内所,函館まちづくりセンターなどで無料配布されている.また, インターネット上で PDF 形式でダウンロードすることもできる.この「函館まちあるきマップ」 をアプリケーションの機能として使うことによって,函館の街並み,観光客の趣味,思考にあった コースを楽しむことができ,函館観光をより良いものにできるのではないかと考えた. 図 3.3 函館まちあるきマップ (※文責: 近添彰久) Group Report of 2012 SISP -8- Group Number 15-B Development of Web API and the Application for Effective Utilization of the Hakodate Tourism Information 第4章 4.1 活動の計画 計画書の作成 アプリグループの目的を明確にし,その目的を達成するための手段,コスト,成果物を考え計画 書を作成した.目的を函館を訪れた観光客に,快適で楽しい函館観光をしてもらうと設定し,その 目的を達成する手段として函館の観光情報を簡単に取得し,発信できる観光用スマートフォンアプ リケーションの作成とした.そこから今後のアプリケーション開発において考えられるリスクを はこぶら API をアプリケーションに利用するにあたって「Web API グループとの連携のミス」, Xcode のバージョンアップによる「開発環境の不備」,メンバー全員が iPhone アプリケーション 開発が未経験のため「知識不足」などを上げた.そのリスクを回避するためにコストとして「プロ ジェクト学習時間外での活動」,「各グループ間での定期的なミーティング」 を行うことによって 回避できると考えた.その結果,最終的な成果物はどのようなものになるのかを考えた.以上を計 画書に示し,今後の活動方針を決定した. (※文責: 近添彰久) 4.2 プロジェクト前半の計画 中間発表までのアプリグループの活動計画を WBS を作成することによって優先して進めるタス ク,そのタスクに使用する時間などを考え,今後の活動を明確にした (図 4.1).5 月はアプリケー ションの機能,今後のアプリグループの活動についてグループメンバーで話し合う.6 月は函館の 観光状況,他の観光用アプリケーション,スマートフォンの普及状況について調査を行い,作成 していくアプリケーションの機能について具体的にする.はこぶらの観光情報を利用するために XML のパース,地図機能作成のために Google Maps API の使用,アプリケーション全体の遷移 の流れを決定するために画面設計を平行して作業を行い,7 月に作成した機能のテストを行う.7 月 13 日に行われる中間発表をマイルストーンに設定し,中間発表でアプリケーションのデモンス トレーションを行えるよう計画をした. (※文責: 近添彰久) 4.3 プロジェクト後半の計画 11 月に入ってプロジェクト後半の活動をアプリケーションの画面ごとに担当を分けて計画し, また開発以外での必要な活動についての WBS を作成した (図 4.2).11 月第 2 週,まちあるきマッ プコース選択画面ではセルビューを使って画面を作成し,またセルをタップすることでまちある きマップ画面に遷移させる.まちあるきマップ画面ではマップ上にスポットの位置にピン立てて 表示させる.スポット詳細画面では画面のデザイン検討し,プロジェクト全体に発表しレビューを 貰う.11 月第 3 週,メインメニュー画面を完成させる.まちあるきマップ画面では,まちあるき マップ上に自分の現在地を表示し,スポットを表示しているピンをふきだし型にしそのふきだしの Group Report of 2012 SISP -9- Group Number 15-B Development of Web API and the Application for Effective Utilization of the Hakodate Tourism Information 図 4.1 中間発表までの WBS 中にスポット名を表示させる.スポット詳細画面では,レビューをもとにスポット詳細画面を作成 し,完成させる.他にアプリケーションのメインメニュー画面で使用する画像やロゴ,アプリケー ションのアイコンを作成する.また最終成果物報告会に向けてのスライド作り,ポスター作りを開 始するという計画を立てた. 図 4.2 後期の WBS Group Report of 2012 SISP - 10 - Group Number 15-B Development of Web API and the Application for Effective Utilization of the Hakodate Tourism Information (※文責: 近添彰久) 4.4 タスクの書き出し 11 月第 3 週になり,開発の遅れが生じてしまった.そのため,現在のアプリグループの残って いるタスクを洗い出し,タスクの優先順位と担当を決め,残りの活動スケジュールを明確にした. まず,アプリグループのメンバー全員で詳細画面のデザインと函館まちあるきマップの周辺検索機 能の使用について話し合って決めた.詳細画面に表示する情報については「スポット名」, スポッ トがどのジャンルに属しているものかを指している「カテゴリー」,スポットがどの地域に属して いるかを指す「エリア」,スポットの簡単な概要が書かれている「アウトライン」,アウトラインよ り詳しく情報が欠かれた「ディティール」,スポットの「電話番号」,スポットが駅からどのくらい のところにあるかなどの「アクセス」,スポットの営業時間を示した「オープンタイム」,スポット の入場料金などを指した「料金」,スポットの「駐車場の有無」である.「ディティール」について は文字数が多いため詳細画面が見えづらくなってしまうのではないかと考え,ボタンで画面遷移を 行い,見られるようにした.函館まちあるきマップの周辺検索機能の使用については,函館まちあ るきマップ画面に「周辺検索」のボタンを用意し,クリックすると自分の現在地から半径 200 m以 内にある観光スポットを表示する.また「クリアボタン」をクリックすると周辺検索で表示された 観光スポットを非表示にするという使用に決定した.その後スポット詳細画面と検索機能を同時進 行で開発を行い,次に twitter との連携,アプリのメインメニュー画面を作成し,アプリ名を決め, アプリケーションの完成とするという計画を立てた. (※文責: 近添彰久) Group Report of 2012 SISP - 11 - Group Number 15-B Development of Web API and the Application for Effective Utilization of the Hakodate Tourism Information 第 5 章 開発のための準備 5.1 開発対象 OS の決定 スマートフォンについて,その分類や特徴について調べた結果,開発するアプリケーションは iOS を対象とすることにした. スマートフォンは一般的に,搭載されているオペレーティングシステム (以下「OS」とする) に より分類分けされており,Google が開発した Android,Apple が開発した,iPhone などに搭載さ れている iOS,マイクロソフトが開発した Windows Mobile などがある.また,アプリケーション を開発する際に必要となるプログラミング言語もそれぞれの OS で異なる.例えば,iPhone アプ リケーションを開発する際には Objective-C,Android アプリケーションを開発する際には Java といったプログラミング言語が主に用いられるが,それぞれ特徴や用途が異なり,複数を習得する には時間がかかる.そのため,今回開発対象とする OS をひとつに限定するために,それぞれの OS の特徴や普及率,開発を行う上での利点などについて調査を行った. (※文責: 五十嵐康彰) 5.1.1 スマートフォン OS のシェア 現在の日本国内におけるスマートフォン OS のシェアを調べたところ,Android と iOS の 2 種 類が特に高いことがわかった (図 5.1)[7].多くの人にアプリケーションを使ってもらうためには, 開発対象とする OS はシェアの高いものである必要があるが,スマートフォンの普及が現在でも進 行中であることや,このデータは 2012 年 6 月時点のものであることから,iPhone5 の発売を控え ているということを踏まえてみると,今後の OS の国内シェアの推移は読み辛い状況となってい る.そのため,現在のシェアの高さのみを判断基準として開発対象とする OS を決めることはでき なかった. そこで,Android と iOS のそれぞれの特徴について調査を進め,総合的に判断してから,開発 対象とする OS を決めることにした. (※文責: 五十嵐康彰) 5.1.2 OS の特徴 まず,Android の特徴として,OS に Android を搭載している端末は,多くのメーカーから 様々な機種で発売されている,ということがある.例えば,ソニーの Xperia や富士通の REGZA Phone,サムスンの GALAXY など,国内外のメーカーから多様な機能,デザインのものが作られ ている.対して iOS は,Apple で作られる製品にしか搭載されない. スマートフォンアプリケーションを開発する際,開発したアプリケーションが正常に動作するか どうかを,実機を用いて動作検証をする必要があるが,Android の場合,前述のような理由から 様々な機種が存在するため,CPU やメモリなどのスペックや,画面の大きさなどのハード面の仕 Group Report of 2012 SISP - 12 - Group Number 15-B Development of Web API and the Application for Effective Utilization of the Hakodate Tourism Information 図 5.1 日本国内におけるスマートフォン OS のシェア 2012 年 6 月 ニールセン調べ 様が統一されておらず,動作検証をするのに,大きな手間やコストがかかる.しかし iOS であれ ば,検証の手間が少ない.そのため,iOS でアプリケーションを開発することは,テストに必要な 時間やコストを削減しつつ,安定したアプリケーションに仕上げることにつながるといえる. 次に,各 OS のアプリケーションの特徴として,iPhone アプリケーションを公開する場合には, Apple による厳格な審査を通過する必要があり,Android アプリケーションの場合には最低限の内 容についてしか審査されない,というものがある.Apple による審査は 1 週間から 2 週間ほどかか り,致命的なバグや不適切な表現が無いかなどの審査ガイドラインに通過しなければ,Apple が運 営するアプリケーションの配信サービスである App Store には登録されない.対し,Android ア プリケーションを公開する場合には,審査はほとんど無く,Google が運営するアプリケーション の配信サービスである Google Play に登録することができる. このことから,iPhone アプリケーションには安全で高品質なものが多く,Android アプリケー ションは自由度が高く数も多いが,ウィルス感染や個人情報漏えいといった目的を持った悪質なア プリケーションが配信される可能性がある,という問題点を含んでいるといえる.また,ユーザの アプリケーションの利用率も iOS の方が高く,11 回以上同じアプリケーションを起動するユーザ の割合は,Android では 23 %であるのに対し,iOS では 35 %と,大きく上回っているというこ とがわかった (図 5.2)[8].ただし,2012 年 9 月から,Google Play への登録のための審査が厳格 化されたため,現在では上で述べたような特徴は当てはまらない可能性がある. 以上のことから,開発のためのコストをなるべく抑えつつ,多くのユーザに安心して使ってもら えるような,安定したアプリケーションを提供するために,開発対象とする OS を iOS とすること に決めた. (※文責: 五十嵐康彰) Group Report of 2012 SISP - 13 - Group Number 15-B Development of Web API and the Application for Effective Utilization of the Hakodate Tourism Information 図 5.2 Android と iOS のアプリ利用率の比較 2012 年 6 月 Localytics 調べ 5.2 スマートフォンアプリ開発のための学習 iOS アプリケーションの開発のために,統合開発環境 (エディタ,コンパイラ,デバッガなどの プログラミングに必要な様々な機能が 1 つにまとめられた,ソフトウェアの開発環境のこと) であ る Xcode と,プログラミング言語である Objective-C を用いることを決め,その 2 つについての 学習を行った. ここで,統合開発環境だが,Xcode の他に,Titanium Mobile を用いるという選択肢があった. Titanium Mobile は,Appcelerator から提供される統合開発環境で,同じソースコードから iOS, Android の両方の OS で動作するアプリケーションを開発することができるというものである.国 内普及率の高い Android と iOS の両方に対応したアプリケーションを一度に開発することができ る,ということは大きな利点だったが,Titanium Mobile を用いて作られたアプリケーションは動 作が不安定になる場合があることや,iPhone アプリケーションでできることと全く同じことがで きるわけでは無いということから,今回は使わないことにした. (※文責: 五十嵐康彰) 5.2.1 Xcode の学習 ソースコードの記述や,画面の設計,画面遷移の実装を簡単に行うために,Xcode の環境構築 と,使い方の学習を行った.Xcode は Apple から提供される統合開発環境で,Mac OS X にのみ 対応しているソフトウェアであり,iPhone アプリケーションの開発にはこれをインストールした Mac を用いることになる.Xcode には Interface Builder という,ボタンやラベルなどの GUI コ ンポーネントをマウス操作により配置して,アプリケーションの画面を設計することのできるツー ルや,プロジェクトの管理やコードの編集といった機能がある. Xcode の使用においては,Interface Builder の使い方についての学習に多くの時間を要した. Group Report of 2012 SISP - 14 - Group Number 15-B Development of Web API and the Application for Effective Utilization of the Hakodate Tourism Information 学習には,書籍や Web サイトを用いて,個人的な空き時間やメンバで集まる時間を設けて学習し, サンプルコードなどを通じて,Interface Builder の使い方や各種 GUI コンポーネントの機能につ いて理解を進めた.書籍には“よくわかる iPhone アプリケーション開発の教科書 iOS 5 & Xcode 4.2 対応版”を用いた. (※文責: 五十嵐康彰) 5.2.2 Objective-C の学習 ソースコードを記述し,アプリケーションを開発するために,Objective-C の学習を行った. Objective-C は,C 言語をベースにオブジェクト指向機能を持たせたもので,主に Mac OS X や iOS 上で動作するアプリケーションを開発するために利用される. Objective-C の学習には,書籍として“よくわかる iPhone アプリケーション開発の教科書 iOS 5 & Xcode 4.2 対応版”を参考にして,基礎的な文法を学んだほか,Web サイトで公開されてい るサンプルコードを多く用いて,実践的なプログラムの書き方について学んだ.多くの場合,サン プルコードは詳細な説明がされていなかったり,所々を改変して使う必要があったため,ただサン プルコードをコピーするのではなく,読んで理解し,書き換えるという事を通じて Objective-C に ついての学習を深めていった. (※文責: 五十嵐康彰) Group Report of 2012 SISP - 15 - Group Number 15-B Development of Web API and the Application for Effective Utilization of the Hakodate Tourism Information 第 6 章 開発体制 6.1 Web API グループとの連携 アプリケーションの開発のために,同プロジェクトの Web API グループと連携を取り,はこぶ らを Web API 化した“はこぶら API”から,必要なデータや機能を提供してもらうことができた (図 6.1). API とは,アプリケーション・プログラム・インタフェースの略称で,多くのソフトウェアで使 われるような機能をひとまとめにし,呼び出すだけで使えるようにすることで,誰かがその機能を 使ったソフトウェアを作るとき,簡単に機能を実装できるようにするというものである.API が コンピュータの内部から呼び出すものであるのに対し,Web API は Web を経由して呼び出すも ので,開発者は Web API を用いることで開発をより短い期間で行い,開発するソフトウェアをよ り高品質なものにできるというものである. はこぶら API は,URL としてリクエストを送ることで,はこぶらに掲載されている 700 件以 上の様々なスポットについて,スポット名,はこぶらに掲載されているスポットの写真,詳細な説 明文や住所,電話番号など,様々なデータを XML 形式で取得することができる.また,はこぶら API から提供してもらう機能としては,表示件数制限機能,スポット検索機能,カテゴリ検索機 能,フリーワード検索機能と周辺検索機能の 5 つがある. 表示件数制限機能は,はこぶら API から取得するスポットのデータ件数を指定し,制限するこ とができる機能である.700 件以上のスポットのデータを一度に扱うことは,受信や処理で多くの 時間や負荷がかかるため,この機能によってこれを削減することができた. スポット検索機能,カテゴリ検索機能は,特定の観光スポットのデータのみを取得したり,特定 のカテゴリに該当するスポットのデータのみを取得することができる機能である. フリーワード検索機能は,スポット名や詳細な説明文などの中に,ユーザが入力した言葉を含ん でいる観光スポットのデータのみを取得する機能である. 周辺検索機能は,緯度と経度のデータをもとに,その周辺数百メートル以内にある観光スポット 情報を表示する機能であり,範囲はユーザが指定することができる. (※文責: 五十嵐康彰) 6.2 アプリグループの担当分け アプリグループのメンバは,五十嵐,小松,鈴江,近添の 4 名である. プロジェクト前半,アプリケーションの中心的な機能となる地図を実装するために,はこぶら API の利用のための処理を五十嵐が,Xcode を用いての画面の設計や遷移の実装,レイアウトの 決定を小松・近添の 2 名で,Google Maps を用いた地図の作成を鈴江が担当した. プロジェクト後半,まちあるきマップ機能を完成させるために,まちあるきマップのコース選択 画面と,周辺検索機能の実装を鈴江が,地図にスポットの位置を表すピンを表示する処理を五十 嵐・鈴江の 2 名で,はこぶら API の利用とスポット詳細情報画面の実装を近添が,特定のピンを 強調させるために,色や形を変える処理を小松が行った. Group Report of 2012 SISP - 16 - Group Number 15-B Development of Web API and the Application for Effective Utilization of the Hakodate Tourism Information 図 6.1 はこぶら API とアプリの関係 (※文責: 五十嵐康彰) Group Report of 2012 SISP - 17 - Group Number 15-B Development of Web API and the Application for Effective Utilization of the Hakodate Tourism Information 第 7 章 アプリケーションの実装 7.1 まちあるきマップ機能 まちあるきマップをアプリケーション化することで函館観光中のまちあるきマップのコースと なっている観光スポットの情報を取得しやすくすることができた.アプリケーション化するにあた り GPS 機能やコンパス機能などスマートフォンの機能を用いることで実現することができた.ま ちあるきマップの地図画面に表示する情報は Web API グループ開発のはこぶら API から取得し た.はこぶら API から取得した情報はピンをタップした際の観光スポット名と概要,観光スポッ トの詳細情報で利用した.函館市公式観光情報サイトはこぶらを iPhone 等のスマートフォンで ウェブブラウジングした際,パソコン用のサイズなため文字が小さくなり,見たい部分を拡大しな ければいけない.この問題を解決するために UI についての検討を行い,詳細画面を作成した. (※文責: 小松慎太郎) 7.2 周辺検索機能 周辺検索をする際に,Web API 開発者に依頼した Web API を用いた.この Web API は緯度 と経度,検索範囲を入力しリクエストすることで,(実際に使えるサンプルのリクエスト URL を乗 せる) 条件に合う観光スポットを返してくれるものだ.この Web API にスマートフォンで取得し てきた位置情報を付加しリクエストする事で現在地周辺のスポットを取得することができる.今回 の実装では,まちあるきマップの機能の中に周辺検索機能を取り入れることにより,紙媒体にはな かったまちあるきマップに掲載されている観光スポット以外の観光スポットも表示され,まちある きマップコース観光中にも飲食店やその他のはこぶらに掲載されている観光スポットを検索する ことが可能になった.まちあるきマップに取り入れた理由として,まちあるきマップを使った観光 の最中に紙媒体のまちあるきマップには観光スポット以外の情報があまり記載されていないため, 「観光途中で喉が渇いたから喫茶店でも行こう」,「子供がお腹を空かせて泣き出した」といった旅 行中のハプニング等にも対応できるようにした. (※文責: 小松慎太郎) 7.3 Twitter との連携 観光中に感じた事を,ツイッターを用いて発信可能にした.ツイッターのアカウントを登録する ことで利用することができるので,ツイッターのアカウントさえあればだれでもツイートすること ができる. Twitter との連携を行い,観光客が第 3 者に函館の魅力を伝えることでつぶやきを見た人々が函 館に観光に行ってみたいと思ってもらうきっかけ作りになると考えた. (※文責: 小松慎太郎) Group Report of 2012 SISP - 18 - Group Number 15-B Development of Web API and the Application for Effective Utilization of the Hakodate Tourism Information 第8章 8.1 作成した成果物 アプリケーションの遷移図 アプリケーションの画面遷移図を作成した(図 8.1).ユーザーはメニュー画面から「まちあるき マップ」, 「カテゴリ検索」,「キーワード検索」,現在地から探すのボタンを用途に応じて選択する. 各画面間で前の画面へ戻るボタンがあるので,前画面へ遷移することが出来る. 「まちあるきマップ」を選択した場合,ユーザーがコースを選択すると,まちあるきマップの地 図画面が表示される.地図画面に立っているピンを押すことでそのピンに対応したスポットの詳細 情報画面が表示される.また,まちあるきマップの地図画面の SNS ボタンを押すと SNS 画面が表 示される. 「カテゴリ検索」を選択した場合,大カテゴリ一覧画面が表示される.大カテゴリは観光スポッ トの大まかな区分で「食べる」,「見る」,「遊ぶ」等がある.大カテゴリを選択すると小カテゴリ 画面が表示される.小カテゴリは大カテゴリを細かく区分したもので,「食べる」カテゴリだと, 「ラーメン」「海鮮」「居酒屋」等がある.小カテゴリを選択するとスポットの一覧画面が表示され る.一覧からスポットを選択すると,選択したスポットの詳細情報画面が表示される. 「キーワード検索」を選択した場合,キーワード入力画面が表示される.キーワード入力すると 入力したものに対応したスポットをはこぶら API を用いて情報を取得し,一覧となった画面が表 示される.スポットを選択するとスポットの詳細情報が表示される. 「現在地から探す」を選択した場合,現在地の周辺スポットがピンで表示された地図画面が表示 される.ピンを押すことでそのピンに対応したスポットの詳細情報画面が表示される.また,まち あるきマップの地図画面同様に SNS ボタンがあり SNS ボタンを押すと SNS 画面が表示される. 地図画面に配置されるピンについて,地図画面上で大カテゴリを選択することで地図に立つピンの カテゴリを絞ることができる.そして,ピンが立つ範囲をユーザーが指定することができる. 図 8.1 アプリの画面遷移図 Group Report of 2012 SISP - 19 - Group Number 15-B Development of Web API and the Application for Effective Utilization of the Hakodate Tourism Information (※文責: 小松慎太郎) 8.2 アプリケーションの仕様 我々が「まちあるきマップ」, 「現在地から探す」, 「カテゴリ検索」, 「キーワード検索」の 4 つの 大きな機能を考え,実際に実装が出来た「まちあるきマップ」の仕様について説明する.まず,メ ニュー画面 (図 8.2) からまちあるきマップをタップし,まちあるきマップ選択画面 (図 8.3) に遷移 する.ここで,函館市観光コンベンション部観光振興課が発行をしたまちあるきマップ全 22 コー スの中から自分のニーズにあったコースを選択することが出来る. 図 8.2 メニュー画面 Group Report of 2012 SISP 図 8.3 - 20 - まちあるきマップ選択画面 Group Number 15-B Development of Web API and the Application for Effective Utilization of the Hakodate Tourism Information コースを選択すると赤いピンでそのコースにあった観光スポットがマークされ,青いマークで現 在地が表示される.また,観光スポットをタップすることで観光スポットの名前と簡単な概要を見 る事ができる (図 8.4).吹き出しの右に配置されているボタンをタップするとそのスポットの詳細 情報をみることができる.吹き出しに表示される名前や概要,詳細画面に表示する情報ははこぶら API から取得した.詳細画面をはこぶら API を用いて作成することでスマートフォンの画面から はこぶらを閲覧するよりも文字の大きさや画面のスクロールがしやすいため観光中の情報取得の手 助けをすることができる (図 8.5). 図 8.4 マークされた観光スポット Group Report of 2012 SISP 図 8.5 詳細情報画面 - 21 - Group Number 15-B Development of Web API and the Application for Effective Utilization of the Hakodate Tourism Information ツールバーの周辺検索ボタンを押す事で現在地周辺の観光スポットを表示させることができる. 周辺検索ボタンを押す事で現在地周辺の観光スポットが緑色のマークで表示される (図 8.6).これ により紙媒体にはなかったまちあるきマップに掲載されている観光スポット以外の観光スポットも 表示され,まちあるきマップコース観光中にも飲食店やその他のはこぶらに掲載されている観光ス ポットを検索することが可能になった.周辺検索のボタンを押した時に現在地から 200m の範囲内 にあるスポットのピンが立つ.周辺検索ボタンを複数回タップした時は最後に周辺検索ボタンを タップした位置から 200m の範囲内のスポットのみを表示する.まちあるきマップのコースの赤い ピン同様に緑のピンをタップすることで観光スポットの名前と簡単な概要を見る事ができる.吹き 出しの右に配置されているボタンをタップするとそのスポットの詳細情報をみることができる.周 辺スポットのマークを消したい場合は地図画面下にあるツールバーのクリアボタンを押すことでま ちあるきマップに掲載されている観光スポットのみが表示される地図画面となる. 地図画面下のツールバー内にある tweet ボタンをタップする事で函館観光中に感じたことを Twitter で共有することができる (図 8.7).Twitter のアカウントを登録することで利用すること ができるので,Twitter のアカウントさえあればだれでもツイートすることができる. 図 8.6 周辺検索機能 Group Report of 2012 SISP 図 8.7 Tweet 画面 - 22 - Group Number 15-B Development of Web API and the Application for Effective Utilization of the Hakodate Tourism Information (※文責: 鈴江健太) 8.3 ソースコード 開発したまちあるきマップ (図 8.8) の機能についてソースコードの部分での解説を行う. (※文責: 小松慎太郎) 図 8.8 Group Report of 2012 SISP 開発したまちあるきマップ機能の画面の流れ - 23 - Group Number 15-B Development of Web API and the Application for Effective Utilization of the Hakodate Tourism Information 8.3.1 コース選択画面 コース選択画面は RootViewController クラスによって成り立っており,函館まちあるきマップ の各コースについてのデータを管理するほか,表の形で全 22 のコースをユーザに表示し,どのコー スが選択されたかに応じて,地図に表示するスポットのリストを切り替える処理を行なっている. 函館まちあるきマップのデータの管理方法として,まず,全コースの把握のために,22 のコース についてコース名,エリア,距離,所要時間などのデータをあらかじめソースコードに入力した. 次に,各コースに含まれるスポットの管理だが,ここではスポットの管理のために,スポット ID を用いた.スポット ID は,はこぶら API で各スポットに固有に割り振られる数字のことで,ス ポット ID がわかれば,はこぶら API を通じてはこぶらの情報を得ることができる.そのため,各 コースにどのスポットが含まれているかの管理は,コースに含まれているスポットの数分の数字 を入力することで行った.例えば,「これぞ王道!函館の魅力凝縮コース」に含まれるスポットは, スポット ID が 516,223,437,368,349,408,410,409,353,414 の 10 個である.表の中か らコースが 1 つ選択されると,画面は地図画面に遷移して,コースに含まれるスポットのスポット ID を元に,はこぶら API にリクエストを送り,スポットの緯度・経度やスポット名を取得する. (※文責: 小松慎太郎) 8.3.2 地図画面 まちあるきマップ機能の地図画面は DtailViewController クラスによって成り立っており,まち あるきマップの地図画面の処理とタブ表示で現在地周辺のスポットのピンを表示,表示した現在地 周辺のスポットのピンの消去,Twitter 画面への遷移の処理を行っている. 地図画面についての詳しい説明を行う.まず,地図画面を表示し,地図の縮尺や地図の表示位置 を経度,緯度で設定する.ここでは現在地を中心に設定した.表示した地図画面にまちあるきの観 光スポットをピンで表示するのだが,Annotation というクラスを作成し,表示するピンの緯度,経 度,観光スポットの名前,観光スポットの概要の 4 つの情報をスポット ID を用いてはこぶら API から取得し,その情報を持ったピンを地図画面に表示する.まちあるきマップの 1 つのコースで約 10 の観光スポットがあるため,Annotation クラスに格納した情報を MyAnnotation というクラ スを作成し,その中に変数として格納することで複数のピンを立てた.ピンを地図画面に立てると き,ピンが上から降ってくるように立つといったアニメーションや,ピンの色を赤に変え,ピンを タップしたときに吹き出しを出すといった設定を行った.吹き出しの設定も行い,観光スポットの 名前や概要について,ピンが持っている情報を用いて吹き出しに表示した. (※文責: 小松慎太郎) 8.3.3 現在地周辺検索 まちあるきマップ機能の中でまちあるきマップのコースをピンで地図画面に表示するだけで なく,現在地周辺の他のスポットのピンを立てるために,まちあるきマップのコースの情報を MyAnnotation クラスに変数として入れたのと同様に,新しく AddMyAnnotation というクラス を作成しその中に現在地周辺のスポットの緯度,経度,観光スポットの名前,観光スポットの概要 Group Report of 2012 SISP - 24 - Group Number 15-B Development of Web API and the Application for Effective Utilization of the Hakodate Tourism Information の 4 つの情報をスポット ID を用いてはこぶら API から取得し,AddMyAnnotation クラスに変 数として格納した.この際,はこぶら API にリクエストを送り,200 までの現在地周辺のスポッ トのデータを取得するようにした.まちあるきマップのコースのピンを格納したクラスと別のクラ スを利用した理由としては,クラスで分けることにより,ピンの色を設定する時に変数をクラスが 2 つあるため 2 つ設定することが可能となり,まちあるきマップとの区別がつけることが出来るた めである. まちあるきマップの地図画面にタブがあるが,クリアボタンをタップすることで AddMyAnno- tation クラスのピンを削除するようにすることでまちあるきマップのコースを残して現在地周辺の 他のスポットのピンを消すことができる. (※文責: 小松慎太郎) 8.3.4 詳細情報画面 スポット詳細画面は SpotDetailViewContoroller クラスによって成り立っている.表示してい る情報については「スポット名」 ,スポットが食べる,遊ぶなどのどのジャンルに属しているスポッ トなのかを指している「カテゴリー」,スポットがどの地域に属しているかを指す「エリア」,ス ポットの簡単な概要が書かれている「アウトライン」,アウトラインより詳しく,細かな情報が書 かれた「ディティール」,スポットの「電話番号」,スポットが駅からどのくらいのところにあるか などを指した「アクセス」,スポットの営業時間を示した「オープンタイム」,スポットの入場料金 などを指した「料金」 ,スポットの「駐車場の有無」である.この情報は,はこぶらに掲載されてい る情報を API グループの作成したはこぶら API を使用し取得している.まちあるきマップ画面で 選択した観光スポットだけの情報を取得するためにスポット ID をグローバル変数として使い,ス ポット詳細画面でスポット ID を扱えるようにし,観光スポットの情報のみを提供するようをはこ ぶら API にリクエストする. 観光スポット情報を一件だけ取得する理由は,取得するデータ数が多くなると取得に時間がか かってしまうためである.そして,はこぶら API で取得した XML 形式のデータを dictionary と いうクラスでタグを要素,タグの中身を内容として分けて変数として扱えるように管理している. 表示方法について説明をする.詳細情報は文字数が多いためスポット詳細画面では表示せず「詳 しく見る」というボタンをタップすることによってディティール画面に遷移しそこで詳細画面を表 示している.電話番号をクリックすると表示されている電話番号に電話をかけるかを問うメッセー ジボックスがポップアップしきて,電話をかけることができる.詳細情報画面で表示する表示は上 から順にスポット名,カテゴリー,エリア,スポットの画像,アウトライン,詳細画面に電話番号, アクセス,オープンタイム,料金,駐車場の有無である. はこぶら API から取得した XML 形式のデータにのタグ名が「name」, 「categoryname1」, 「categoryname2」,「outline」,「details」,「phone」,「acess」,「opentime」,「pay」,「parking」 の中身が null である,つまり中身が空であるとき詳細情報画面上で非表示にする.タグ名とその パラメータについては図??に示してある. (※文責: 近添彰久) Group Report of 2012 SISP - 25 - Group Number 15-B Development of Web API and the Application for Effective Utilization of the Hakodate Tourism Information 8.3.5 Twitter との連携 地図画面に Tweet ボタンを作り,Twitter.Framework を用いることで,アプリから Tweet 画 面を開き,Twitter にメッセージを投稿することができるようにした.Twitter.Framework とは, iOS5 で OS レベルでの Twitter との連携が可能になったために追加されたフレームワークで,非 常に簡単に Twitter と連動するアプリを作成することができる.今回は,地図画面下部のツール バーに設置した Tweet ボタンを押すことで Tweet 機能が起動し,アカウントが設定してあれば, すぐにメッセージを入力して Twitter に投稿できるようにした.また,アカウントが設定されてい ない場合はアラート画面が表示される. (※文責: 小松慎太郎) Group Report of 2012 SISP - 26 - Group Number 15-B Development of Web API and the Application for Effective Utilization of the Hakodate Tourism Information 第9章 9.1 評価 中間発表の評価 中間発表の聴衆者を対象に発表技術と発表内容についての評価を頂いた.発表内容の評価とし て,「アプリグループの活動の概要を理解できたか」,「アプリケーションを使ってみたいと思った か」の 2 項目とし,各 10 点満点で 66 名の方々から評価を頂いた. 発表技術の平均点数(少数第二位で切り捨て)は 6.5,「声量が足りない」,「発表内容を暗記し ていない」と基本的な発表技術についての指摘コメントが多く寄せられたが,「スライド構成はよ い」, 「スライドが見やすい」など見せ方に関してはよい評価を頂いた.発表内容の評価は「アプリ グループの活動の概要を理解できたか」の平均点数は 6.4,「アプリケーションを使ってみたいと 思ったか」の平均点数は 5.8 となった.コメントでは「興味があることを調べて案内してくれるア プリだと良いと思う」, 「地図に表示されているスポット情報が見えずらくないのなら使いたい」と いったアプリの改善点やアドバイスなどについてのコメントが寄せられた. 中間発表の反省としては,発表内容を暗記していなかったこと,声量が少ないこと,質問の想定 が不十分といった準備が足りなかったことが上げられる.原因として発表前日までスライド作りに 時間を当て,発表練習に充分な時間を当てることのできるスケジュールを組めなかったことが上げ られる.最終報告でこの反省を生かして開発作業だけではなく,他の活動についてのスケジュール も細かく調整をするべきだと考えた.またアプリケーションに関するコメントが多くは得られな かったので最終報告は開発したアプリケーションのデモンストレーションを用意し,多くの方々に アプリケーションを実際に動かしてもらい,評価してもらおうと考えた. (※文責: 近添彰久) 9.2 成果発表の評価 成果発表においても,中間発表の時と同様に,聴講者から発表技術と発表内容について評価をし てもらった.発表内容の評価として,「アプリケーションとはこぶら API の繋がりは理解できた か」「函館観光でこのアプリケーションを使いたいと思ったか」の 2 項目とし,各 10 点満点で 59 名の方々から評価を頂いた. 発表技術の平均点数は 7.7 点で,「しっかりと発表練習をしているように感じた」「よくまとめら れて,分かりやすいスライドだった」などの好意的なコメントが多く寄せられたが, 「スライドをそ のまま読んでいるだけに感じた」という指摘も多かった.発表内容については,「アプリケーショ ンとはこぶら API の繋がりは理解できたか」「函館観光でこのアプリケーションを使いたいと思っ たか」の平均点数はともに 7.1 点で, 「アプリケーションは便利そうで,使ってみたいと思った」な どの感想や, 「もっとオリジナリティが欲しい」「アプリケーションがどう観光の活性化に繋がるの かがわからなかった」などのコメントが寄せられた. 成果発表のまとめとして,全体的な平均点数は中間発表時の結果よりも上がっており,コメント にも好意的な内容が増えてきていることから,発表技術の上達や発表内容の進歩を感じさせられる 結果となった.その大きな理由としては,中間発表では発表準備や練習時間が不足していたという Group Report of 2012 SISP - 27 - Group Number 15-B Development of Web API and the Application for Effective Utilization of the Hakodate Tourism Information 反省から,発表資料を作る際に,アウトラインの作成に重みを置くことで,資料作成をスムーズに 行うことができたことや,全体で発表練習を行う時間を設けたことが挙げられる. (※文責: 五十嵐康彰) Group Report of 2012 SISP - 28 - Group Number 15-B Development of Web API and the Application for Effective Utilization of the Hakodate Tourism Information 第 10 章 今後の課題 アプリケーションの機能のうち,まちあるきマップについては作成できた.しかし,カテゴリ検 索とキーワード検索について実装が出来なかった.今後,まちあるきマップについても改良に加 え,機能追加していく. 今後の課題としては,成果発表会までにアプリケーションの実現が出来なかったことに対しての 原因を考え,グループで話し合いをして同じ失敗を防ぎ,効率よく作業を進めることが大切だ.具 体的な内容は以下の通りである (※文責: 小松慎太郎) 10.1 カテゴリ検索・キーワード検索の実装 アプリケーションの機能のうちカテゴリ検索とキーワード検索についての実装がなされていない 為,2 つの機能を完成させる.完成させるに当たって Web API グループにどのような Web API を提供して欲しいかといった話し合いが必要となる.以前は Web API グループとの情報共有が曖 昧なまま放置しており,時間が経ってから話が合わないといったことがあったので反省を踏まえ, 開発を行う.カテゴリ検索に関しては,検索の仕方への検討を再検討を行い,UI を考慮した上で 開発を行う.キーワード検索は Web API グループのはこぶら API のキーワード検索の仕様につ いて再検討を行う. (※文責: 小松慎太郎) 10.2 SNS との連携 twitter や facebook などの SNS との連携をすることで函館観光の感想や情報を発信を出来るよ うにする.現段階では twitter でつぶやくことが出来るが,写真等を一緒に載せてつぶやけるよう に改良し,対応 SNS の種類も増やしていく. (※文責: 小松慎太郎) 10.3 まちあるきマップ機能の改良 まちあるきマップを見やすいように改良する.まちあるきマップで不具合を修正を行い,まちあ るきマップの機能の充実化を図る.ユーザか必要としている情報を分かりやすく表示するため地図 に表示する観光スポットをカテゴリ分けをする. (※文責: 小松慎太郎) Group Report of 2012 SISP - 29 - Group Number 15-B Development of Web API and the Application for Effective Utilization of the Hakodate Tourism Information 10.4 開発したアプリケーションの効果を検証 完成させたアプリケーションについてのユーザ評価を行い,実際に使ってもらうことで,アプリ ケーションの改善点や機能の追加を行う.一般のユーザに使って頂くことで使いやすい UI にする ことができ,改善点等も見つかると思われる.目的達成のためにもユーザ評価は欠かせない.開発 が一区切りつくごとに検証を行いたいと考えている. (※文責: 小松慎太郎) 10.5 函館市観光コンベンション部との連携 現状,「函館まちあるきマップ」と函館市公式観光情報サイトはこぶらの公式な使用許諾を得て いる訳ではなく,正式に許可を頂き,情報提供などについての話し合いを進め連携を図りたいと考 えている.正式な許可を得ることでユーザへの安心にも繋がり,宣伝にもなりメリットは大きいと 考える. (※文責: 小松慎太郎) Group Report of 2012 SISP - 30 - Group Number 15-B Development of Web API and the Application for Effective Utilization of the Hakodate Tourism Information 第 11 章 11.1 個人の活動 五十嵐康彰 5月 プロジェクト学習が始まり,自分はアプリグループのグループリーダになった.プロジェクトマ ネジメントやスマートフォンアプリケーションの開発に特別な知識を持っていなかったため不安は あったが,他のメンバにサポートしてもらいつつ,活動を開始した. アプリグループは,どのようなスマートフォンアプリケーションを開発するかを考えることから 始まった.はこぶらがどのような観光情報サイトであるかを調べ,それを Web API 化するという 去年から続いているプロジェクトを理解し,その Web API を用いてどんなアプリケーションを作 るか,という事を話し合い,開発するアプリケーションの目的は何か,対象ユーザは誰かについて 考え,そのために実装すべき機能を挙げた. 5 月の成果物としては,計画書がある.開発するアプリの目的や今後の中間発表に向けての成果 物,これから活動を進めるにあたって考えられるリスクやコストなどをまとめたもので,目的とし て, 「観光客に快適で楽しい函館観光をしてもらう」ことで,その手段としてはこぶらの利用と, API を用いた各種サービスとの連動とした.プロジェクト学習が開始してから 1 月足らずという こともあり,曖昧な部分が多いが,この文書が今後の活動の方針を定めた. 6月 参考書や Web サイトを用いて,Xcode と Objective-C の学習を開始した.初めて触れる開発環 境とプログラミング言語で,とても取り組みにくく感じたが,サンプルコードを読み進めながら, 少しずつ理解を深めていった. また,この頃から ICT プロジェクト合同の発表会や,IBM の企業講師の方へ報告などで,自分 達の考えを外部に伝える機会が増えてくると,なぜそれをやるのか,どんなスケジュールでやるの か,ということが不明瞭で,調査・計画が不足していることがわかり,既存の観光アプリケーショ ンについての調査を深めたり,開発するアプリケーションを改めて見直し,その強みが何であるか 整理した.結果,はこぶらの情報を使うことや,函館まちあるきマップをアプリケーションの機能 として実装することが,自分達が作る観光アプリケーションの強みであると考えた. 6 月にはマイルストーンとして,15 日に企業講師の方との TV 電話会議が,29 日には他のいく つかのプロジェクトと合同で高度 ICT 報告会があった.ここで,それぞれで発表に用いた資料を 見ると,TV 電話会議では「何をやるか」「どうやるか」という内容が主だっており,なぜやるか, という説明がされておらず,説得力に欠けたものであった.しかし,高度 ICT 報告会では函館観 光についての現状といったデータを示し,考察を行なっていることや,「函館まちあるきマップ」 についての説明を含むなど,自分達で調査を行い,既存の観光アプリケーションと差別化を図ろう としており,自分達の活動の意義が見え始めた頃であった. 7月 13 日に中間発表を控えていたため,主にその準備を行った.自分は主に,発表スライドの構成に ついての話し合いをグループ内で行ったり,担当分けをし,まとめる他,Web API グループのポ Group Report of 2012 SISP - 31 - Group Number 15-B Development of Web API and the Application for Effective Utilization of the Hakodate Tourism Information スター担当者と協力して,アプリグループと Web API グループ合同の発表ポスターを作成した. 中間発表では,まちあるきマップ機能のイメージ図 (図 11.1) を用いて,それがどのように観光の 活性化に繋がるかと,Web API グループとの連携について説明できるよう心がけた. 中間発表の反省点として,発表練習が足りなかったことがある.発表スライドの作成に時間をか け,担当教員からレビューを繰り返し受けた結果,その修正に直前まで時間を取られ,全体で集 まって発表練習をする時間が取れなかった.結果,中間発表を見に来た人からアンケートを取った 結果,発表技術について,声が小さいという意見を多く受けた.また,情報共有がうまくいかず, アプリケーションの目的や対象を再確認したり,発表スライド作成の際に意見の食い違いが起きる ことがあった. 図 11.1 中間発表時のまちあるきマップ機能のイメージ図 8月 夏期休暇に入り,実家に帰省することとなったため,個人で Objective-C の学習を進めるに留 まった.しかし,Mac や Xcode などの開発環境が整っておらず,思うように学習が進まなかった. 前期はあまり開発作業に集中できなかったため,その分後期が忙しくなることは予想できたこと だ.作業は行えなくても,今後の作業についての見積もりや,必要な技術などがあればその調査を 進め,その後の活動を円滑にすることはできただろうと,反省すべき点である. 9月 9 月の末,後期のプロジェクト学習が始まるとすぐに,ICT プロジェクト合同で,後期キックオ フとして状況発表を行った.その中で,他のプロジェクトのメンバや教員から,「スケジュールが 目標でしかなく,根拠が無い」「どのような過程で作業を進めるのか,計画をしっかり立てるべき だ」など,今後の活動計画 (図 11.2) について不安に思うという旨のコメントを多く受け,後期の 活動はまずそこを明らかにすることから始めるべきだと考えた. 10 月 後期の活動が本格的に始まると,まずは 7 月の中間発表の反省から,アプリケーションの仕様や 方針について再確認を行うとともに,今後行うべき作業を洗い出し,WBS を作ることで,メンバ 全員の共通認識を作った. 作業としては,当初はまずは全員でまちあるきマップ機能の実装に取り組み,11 月の頭には完 Group Report of 2012 SISP - 32 - Group Number 15-B Development of Web API and the Application for Effective Utilization of the Hakodate Tourism Information 図 11.2 後期キックオフ時の今後の計画 成させ,その後カテゴリ検索機能とキーワード検索機能の 2 つを並行して行う,というように計画 していたが,まちあるきマップ機能の実装に思っていたよりも多くの時間がかかることがわかり, 後にスケジュールを組み直すこととなった. また,10 月の末ごろから毎回のプロジェクト学習の最後に行う進捗報告を詳しく行うようにな り,互いのグループの状況や直面している問題などがよくわかるようになったことから,プロジェ クトリーダや他のグループのメンバから意見やアドバイスを受ける機会が増えた. 11 月 11 月の中頃,まちあるきマップ機能実装の遅れを受けて,計画していたカテゴリ検索機能とキー ワード検索機能の開発を見送り,まちあるきマップ機能の実装に集中して取り組むために,計画を 立て直した. 他グループのメンバとも協力し,第 3 者の視点から見た妥当性も考慮しつつ,まちあるきマップ を完成させるために行うべきタスクを 10 個書き出し,優先度を付け,担当分けを行なった.ここ で,10 個のタスクは,優先度が高い順に,詳細画面のデザインの決定,詳細画面の実装,周辺検索 機能の仕様の検討,周辺検索機能の実装,地図で扱うピンの形状の検討,アプリケーションのタイ トルの決定,メインメニュー画面の作成,Tweet 機能の実装,アイコンの作成,起動準備画面の作 成である. 結果,アイコンの作成や起動準備画面の 2 つは完了させることができなかったが,アプリケー ションのまちあるきマップ機能としての一連の流れを完成させることができた. この中で,自分は主に,周辺検索機能の実装を担当し,アプリグループメンバの鈴江と協力して, コーディングを行なった. 12 月 7 日に成果発表を控えた 12 月は,主に発表資料の作成と開発したアプリケーションの最終調整 を行なった.自分は主に,発表スライドのアウトラインの作成とポスターの制作を担当した. 発表スライドの作成は,今回は最初にアウトラインをしっかりと作ってから内容を作っていった ため,メンバ全員が共通した考えを持って行えたと感じた.また,中間発表の反省を活かして,担 Group Report of 2012 SISP - 33 - Group Number 15-B Development of Web API and the Application for Effective Utilization of the Hakodate Tourism Information 当教員からのレビューを受ける時間を考慮しながらも,全体で発表練習をする時間を設けることが できたため,アンケートの結果,発表技術について高評価なコメントが多かった. 開発したアプリケーションは,周辺検索機能に不具合があったが,まちあるきマップからコース を選び,地図が表示され,スポットを選択すると詳細画面を表示する,という一連の流れは完成し, デモとして展示することができた. 全体として,プロジェクト活動を通じて,計画を立てることや,メンバ間で情報をしっかりと共 有することがいかに大切であるかを実感することができた. また,グループリーダとして活動をしてきて,リーダとしての役割や,時間や仕事を管理すると いう事の重要性や難しさを学ぶと同時に,振り返ってみるとあまり上手く出来ていなかったと感じ る.それでもここまでやってくることが出来たということに,支えてくれた担当教員,企業講師, TA や他のグループ・プロジェクトのメンバに感謝したい. (※文責: 五十嵐康彰) 11.2 小松慎太郎 5月 プロジェクト全体で AR アプリケーションの junaio を使ったフィールドワークを行った.本プ ロジェクトではアプリグループ,Web API グループ,AR グループの 3 つに分かれており,AR について理解を深め,かつアプリケーションを用いての観光をすることでこれから観光アプリケー ションを作成するに当たって観光客の立場になってフィールドワークを行うことに努めた.アプリ ケーションを用いて観光をすることがなかったため,いざ観光をしてみると発見をたくさん見つけ ることが出来た.私はアプリグループ所属,アプリケーションを使った観光の良い所,悪い所,こ んなことがアプリケーションを使った観光で出来たら良いというのを考えながらフィールドワーク を行い,今後のアプリ開発の参考にしようと心がけた. 情報共有の方法をプロジェクト全体で話し合い,サイボウズ Live で連絡,議事録を取り合い, データなどを共有するために Dropbox を使うことを決めた.グループ間でのディスカッションを するためにサイボウズ Live だけでなく,Skype も活用することに決定した. 観光アプリケーション開発に当たって,開発方法,手段,環境を決めた.Android では,機種に より細かい機能が異なるため,アプリが動作しない可能性がある,objective-c は,サンプルプロ グラムや書籍が充実しており,学習が円滑に進むといった理由から,Xcode で iPhne アプリケー ションを開発と決まり,Xcode のバージョンを調べ,担当教員から借りた Xcode との互換性を調 べる等,開発環境の開発環境を整えた. アプリの構想を考え,そこでどのような機能を実装するか,どのような API が必要となるか,具 体的なスケジュールを決定した.Web API グループが開発するはこぶら API の以外にも Google Maps API や Twitter API を活用することを決定した. グループ内にアプリケーション開発を行ったことのある者がいなかったため,ソースコードの記 述や,画面の設計,画面遷移の実装を簡単に行うために,Xcode の環境構築と,使い方についての 各自学習を進め,互いに教え合い積極的に知識を付けた. 6月 Group Report of 2012 SISP - 34 - Group Number 15-B Development of Web API and the Application for Effective Utilization of the Hakodate Tourism Information 実際に Macintosh で Xcode での開発を始めた.iPhone アプリケーション開発の学習だけでな く,Web API や Web API により取得される XML についての学習を進めた. Web API グループとの連携を密に取る必要があり,WebAPI グループとの進捗報告を入念に 行った.両グループとも学んだことを共有することで,アプリケーション開発,Web API 開発に 役立てた.アプリケーション開発の細かいスケジュールに合わせて Web API グループと作業の優 先順位を付け,開発をスムーズに進めることが出来るようにした. 高度 ICT プロジェクト同士での発表会,日本 IBM の講師の方へ報告を行い,グループやプロ ジェクトメンバー以外の人への計画,内容のレビューを頂き,スケジュールが明確でなく,調査な どが不足していることが明らかとなったため,観光アプリケーションの調査やアプリケーションの 対象を絞ったり,スケジュールの見直しを行った. 7月 中間発表のためのプレゼンテーション資料作成とポスター作成,アプリケーション開発を行っ た.プレゼンテーションの資料などは担当教員から何度もレビューを頂き,プレゼンテーションの 内容の流れ,伝わるかといったことを見直し,改善した.発表練習はプレゼンテーションの内容の 見直しに時間がかかってしまい,あまりすることができなかった.大衆の場でプレゼンテーション をするのが初めてな人がほとんどで圧倒されてしまった. 中間報告書の作成時に,前期の振り返りを行い,後期の開発をスムーズに行えるように良かった 点,反省点をまとめた. 8月 夏季休暇中は各自での開発,学習を進めた.Xcode でのアプリケーション開発の参考書を読み, 画面遷移についてのサンプルプログラム等を使い,学習を進めた. 9 月 進捗状況についての再確認をプロジェクト全体で行った.本プロジェクトが参加した札幌で開催 されたオープンキャンパスでの報告を受けた.オープンキャンパスでは企業の方々が多数見にきて 頂き,本グループのアプリケーションについての意見などを頂くことが出来た.SNS との連携に ついて企業の方には高評価だった. 10 月 中間発表までの作成したアプリの仕様の確認,まちあるきマップをアプリケーションにした際の 画面遷移についての最終決定,タスクの書き出しと役割分担を行った.役割分担に応じて後期活動 の WBS を作成した.WBS については IBM の講師の方からアドバイスを受け修正をした.各自 WBS に沿って開発を行った. 11 月 作業に遅れが出てしまったため,タスクについての見直しを行い,優先度をつけ役割分担を行っ た.グループ全体としてはスポットの詳細画面のデザインの検討と,まちあるきマップの地図画面 における周辺検索時の仕様検討について Web API グループと共同で検討をした.ユーザーが見た ときに見やすく,かつ使いやすいようにすることを念頭に置いて決定した. 私はまちあるきマップの地図画面での周辺検索機能を作成した.具体的には地図画面において, 現在地周辺のスポットについてのピンとまちあるきマップのコースのピンの表示を変更する作業を Group Report of 2012 SISP - 35 - Group Number 15-B Development of Web API and the Application for Effective Utilization of the Hakodate Tourism Information 行った.技術的にピンのカスタマイズが可能であるか,実装の時間の調査から行い,結果,まちあ るきマップのコースのピンを赤色,現在地周辺のスポットのピンを緑色で表示することに決定し, 開発を行った(図 11.3). 12 月 11 月に開発の役割分担を行い, その分担に沿って開発を行った.成果発表会の準備を行う傍ら, 発表会直前まで改良を行った. 発表準備について中間発表の際プレゼンテーション資料の作成が遅くなり,発表練習等の準備が 蔑ろになってしまっていたという反省を元に最終発表 2 週間前から準備を行った.資料作成につい て,プレゼンテーションの聞き手に伝わりやすいような資料作成を心がけ,担当教員からレビュー を何度も頂いた.発表当日について,プロジェクト活動で大衆の前で喋ることが多々あり,慣れて きて緊張もあまりせず発表を行えた.アプリケーションのデモ機を展示しアプリケーションを触っ てもらいながら説明することで興味,関心を持ってもらうことができた.声の大きさも聞き手が ちゃんと聞こえるように大きな声で発表できた. 成果発表会で実施したアンケートを元に反省点,良かった点を見直し,グループとプロジェクト 全体の反省を行った.今後の活動,卒業論文の発表でも今後発表をすることなどがあるため,役立 つように反省をまとめ共有をした. 1 年を通して 初めてのグループ活動,プロジェクト活動を行い,様々な事を学ぶことが出来た.反省すること も,良かった所もこの活動なしでは学ぶことが出来なかったと思いました.プロジェクトメンバー や TA,担当教員の助けを借りて,協力をして活動することが出来た.良かった所はグループでの 話し合いなどで自分の意見や相手の意見,どの方法がいいのか,複数人だからこそたくさんのアイ デアを出し合うことが出来た.開発に遅れが生じた際も助け合い活動することが出来た.反省点は グループのメンバー間での情報共有が不足していた事と計画,調査が曖昧だった事が挙げられる. アプリケーション開発が初めてで,計画の目処が立たず,計画を曖昧に立ててしまったこと,開発 するアプリケーションの裏付け調査に想定外の時間がかかってしまった.計画,調査に時間がかか りアプリケーション開発に掛ける時間があまりなかったが,まちあるきマップ機能の実装を行い, 動くものを開発出来た. 図 11.3 周辺検索画面 Group Report of 2012 SISP - 36 - Group Number 15-B Development of Web API and the Application for Effective Utilization of the Hakodate Tourism Information (※文責: 小松慎太郎) 11.3 鈴江健太 5月 まず,プロジェクトで junaio という AR アプリケーションを用いたフィールドワークを行い AR とはどのようなものか,また,AR を用いた観光とはどのようなものなのか学習した.その後, WebAPI グループ,アプリグループ,AR グループの 3 つのグループにわかれ,アプリグループに 所属することになった. グループ配属後,サイボウズ Live を用いてプロジェクト全体で進捗などの情報を共有すること にした.また,自分で作った制作物などを共有する手段として Dropbox を用いることにした. 次に,アプリの構想を行った.はこぶら API だけではなく Google Maps API や TwitterAPI などを用いることで,より函館観光中の情報取得の手助けをすることを想定した.その後,開発言 語や環境,構想にあった計画書や画面遷移図を作り開発の期間やスケジュールを決定した.iOS の アプリケーションを開発することとし,開発言語は objective-c,開発環境は Xcode を用いること にした.また,グループメンバー全員が iOS アプリケーション開発経験者がいなかったので,各自 開発言語の学習をし,学習で得た知識を共有することで開発効率の上昇を狙った. 6月 開発を行う上での準備を行った.まず,プロジェクトに一台貸し出された開発機に Xcode を導 入し,アプリケーションの開発を行えるように準備した.また,iOS アプリケーションの開発言語 である objective-c の学習と今回の情報取得のため利用する WebAPI の学習をぐるなび API を用 いて実際に使用しながら学習をはじめ開発準備を進めた. 次に,作成した計画書の完成を目指した.計画書のレビューなどを重ね,より具体的なもの としていった.計画書を作成後,現時点でのアプリケーションの構想を WebAPI グループに伝 えどのような WebAPI を開発するかの話し合いを行った.それと同時に,グループに割り当て られた Macintosh のコンピュータに Xcode を導入し,開発が行えるようにした.また,iPhone Developer Program に登録し,作成したアプリケーションを iOS の端末に移し動作を確認できる ようにした. 7月 中間発表会に向けて成果物と発表用資料の作成を行った.WebAPI と XML のパース,地図を 用いたスポット表示,iOS 端末の GPS とコンパスを用いたアプリケーションを成果物として作成 した.現在地付近にあるスポットの一覧を表示し,その中から,観光スポットを選択することで地 図画面に移動し場所を確認できる.また,地図に表示された観光スポットをタップすることで吹き 出しが表示され,その中に観光スポットの概要が表示される. 中間成果発表会に向けて,スライドの作成を行った.アプリグループと WebAPI グループ合同 でスライドの作成を行うことになったため,2 つのグループの関連や連携することで成果物がどの ようによくなるかわかりやすく説明できるように作成した.また,何度もレビューを行うことでよ り客観的にわかりやすい発表資料の作成を行った. 成果物として作成したアプリケーションを用いて XML のパースなど各技術の説明を班員にする ことで,情報の共有をした.また,中間発表会に向けスライドの作成や発表練習を行った.スライ Group Report of 2012 SISP - 37 - Group Number 15-B Development of Web API and the Application for Effective Utilization of the Hakodate Tourism Information ドの構成などを何度もレビューしてもらい発表の流れにふさわしいか,わかりやすいかその都度修 正を行った.発表会当日は声の大きさなど課題の残る結果となった. 8月 夏季休暇期間中は各自で開発を進めた.中間発表会で制作した成果物を用いて開発を進めた.中 間発表までに完成していた,観光スポット一覧から観光スポットを選択し,地図画面にそのスポッ トを表示し,タップすることで概要を表示する機能から,地図上にマークされたスポットをタップ した際に表示される吹き出し内にあるボタンを押すことでその観光スポットの詳細情報を見ること ができる機能を実装した.その際の,詳細情報の情報源としてはぐるなびを用いて作成を行った. 9月 後期の活動に向け再度計画の確認を行った.最終成果物として作成するアプリケーション機能別 にグループ内で役割分担を行った.また,夏季休暇期間中に開発したアプリケーションに付加した 機能の情報共有を行い,後期の開発準備を行った. 10 月 まちあるきマップをアプリ化にする際の画面遷移図を確認し,役割分担を行った.観光スポット の詳細情報画面の担当とメニュー画面,まちあるきマップコース選択画面,地図画面の作成の 2 つ の役割に分け,メニュー画面,まちあるきマップコース選択画面,地図画面の作成を担当した.ま た,WebAPI グループと話し合いを行い,緯度・経度を入力することでその周辺にあるスポットを 返すことができる WebAPI,観光スポットの ID を入れることでそのスポットの詳細情報をしるこ とができる WebAPI の開発を行うことが決定した.WebAPI グループの開発が終了した際すぐに 対応できるよう,食べログ API を代用しすぐに対応できるようにした.食べログ API は今回作成 されるはこぶら API に一番仕様が近いため使用することにした.また,Twitter との連携を実装 させた. 11 月 まちあるきマップのコース選択画面と地図画面を作成した.コースの名前だけではなく各コース のサムネイルや所要時間や最寄り駅を表示することで,よりユーザがコースを選択しやすい選択画 面になるように気をつけて実装を行った.地図画面では WebAPI グループに開発してもらった, 周辺スポット検索 API とスポット ID から検索する API を用いて実装を行った.食べログ API で 代用していた部分をはこぶら API に変えることですぐに対応することができた.開発してもらっ た WebAPI を用いて周辺検索機能とまちあるきマップのコースに表示されている観光スポットの 表示を行った. 12 月 開発した最終成果物の最終確認と最終発表会に向けて練習を行った.スライド作成では,最終成 果物の機能説明の構成について検討を行い,ユーザにわかりやすいスライドの作成を行った.ま た,何度もレビューを行い修正を行うことでよりわかりやすいスライドの完成を目指した.発表の 際には,中間発表会での反省を生かし声の大きさに気をつけて発表を行った.また,ポスターブー スではアプリケーションを入れた実機を用意し,実際に操作してもらいながらアプリケーションの 説明を行い,アプリケーションについて理解してもらい興味を持ってもらうことができた. Group Report of 2012 SISP - 38 - Group Number 15-B Development of Web API and the Application for Effective Utilization of the Hakodate Tourism Information (※文責: 鈴江健太) 11.4 近添彰久 5月 自分は今までアプリケーションの製作の経験がなかったため,スマートフォンでアプリケー ション開発するための手段,環境などを調べ,メンバー間で知識共有をした.開発するデバイス を iPhone に決定し,開発環境を Xcode,開発言語を objective-c に決定し,iPhone アプリケー ションを開発していくことに決めた.そのため apple のデベロッパーセンターのアカウント登録, Xcode の学内アカウント認証ができるかなど Xcode で開発を進められる環境を整えた. 次に,函館の観光状況を調べ,目的を持って函館に来た観光客,さらに歩いて函館観光をする人 にターゲットを決めた.既存の観光アプリケーションを調べアプリグループで開発する観光用ス マートフォンアプリケーションの機能を大まかに考え,観光地案内だけでなく,交通案内やはこぶ ら API に加え,Google Maps API や Twitter API などを活用などを考えた. 6月 構想したアプリケーションの画面遷移図を作成した.Xcode の学習として「よく分かる iPhone アプリ開発の教科書」,「iPhone プログラミング UIKit 詳解リファレンス」に掲載されている基本 的な画面遷移のプログラムや StoryBorads といった Xcoad のツールを動かし学習を進めた.また 構想したアプリケーションを WebAPI グループに伝え,はこぶら API の使用について WebAPI グループと話し合った. また ICT プロジェクト合同発表会や,IBM の企業講師の方への報告などで計画書を作成した. 作成した際に調査や計画の不足部分が明確になり,調査,計画の見直しを行った. 7月 中間報告会に向けて発表資料の製作を進めた.スライド作成はレビューを重ね見る側の人たちが 理解できるよう時間をかけて作成した.しかし発表練習に時間を使えず,発表内容を暗記していな い,声が小さいといった問題が生じ,アンケートで史指摘を受け,反省が残る結果となった. またグループメンバー間での情報共有が不足しており質問への受け答えに違いが生じた.最終成 果物報告会ではこのようなミスが起きないようメンバーで話し合った. 報告書作成で使用する Tex についての講義に参加し,基本的な Tex の使い方を学習し,プロジェ クトメンバーと情報を共有した.また,開発の参考にするために Titanium 講習会に参加し,基礎 的な Titanium の使用,環境などについて学習し,グループメンバーと情報を共有した. 8月 札幌オープンキャンパスに参加しプロジェクトのプレゼンテーションを高校生,企業の方々を相 手に行った.アプリケーションの機能についてなどの「マップ上に表示するスポットが多いと見ず らいのではないか」,「ユーザーが情報発信し,共有できるようにすることは重要なことである」な どのレビューを受け,まちあるきマップ機能,スポットの詳細情報画面開発の参考にした. 9月 夏休み期間中にあった札幌オープンキャンパスでの結果についてプロジェクトメンバーに説明 Group Report of 2012 SISP - 39 - Group Number 15-B Development of Web API and the Application for Effective Utilization of the Hakodate Tourism Information し,情報を共有を行った.アプリケーションの開発についてはまちあるきマップ機能について札幌 オープンキャンパスでのレビューを受け,マップ上に表示するスポットについてカテゴリーなどで フィルタリングをかけ,マップに表示するスポットに制限をかけることを提案した.またスポット 情報詳細画面を作成するために XML のパースについての学習を進めた.結果 API グループが作 成したはこぶら API を使用し,はこぶらに掲載されている情報をアプリケーションに取り込むこ とができるようになった.またアプリグループメンバーの五十嵐と週 1 回 objective-c の勉強会と 開発を行いスポット詳細画面が完成した. 10 月 前期の活動を見直し,今後の開発の進行方法や,アプリの使用の見直しなどを行った.それに 基づいて後期 WBS を作成をし,今後のアプリケーション開発スケジュール,その他の活動スケ ジュールを明確にした.たが,まちあるきマップ機能の作成に時間がかかり,作業の遅れが生じて しまった. 完成したスポット詳細画面をプロジェクトメンバーにレビューしてもらい,欲しい情報にた どり着くための手順が多いなどの指摘を受けデザインを考え直した.デザイン変更に当たって UIScrollView という Xcode のツールの使用を考えた.また開発の遅れなどもあり,objective-c の 勉強会をアプリケーションの開発の時間に当て,週 2 回に増やして行った. 11 月 開発巣ケージュールを再度見直して,残りのタスクを全て終わらせることを 2 月 7 日の 最終成果物発表会に間に合わせることができないと判断し,カテゴリー検索機能とキーワード検索 機能の実装を見送り,開発する機能をまちあるきマップ機能に絞り,メインメニューからまちある きマップコース選択画面,まちあるきマップ,スポット詳細画面と繋がる情報提供の一連の流れを 作ることことを決定した. 残りのタスクを洗い出し,自分はスポット詳細画面の作成,トップページの画像作成を行うこと が決まったため,引き続きスポット詳細画面の作成を行った.スポット詳細画面のデザインに関し て改めてプロジェクトメンバーにレビューを受け画面遷移で表示する情報を文字数の多いスポット の詳細情報だけしボタン遷移で見れるようにし,その他の情報をあまり画面をスクロールせず見れ るようにデザインを決定した. 12 月 スポット詳細画面を完成させ,トップページの画像を作成し,トップページを完成させた.そし てまちあるきマップとスポット詳細画面の結合作業を行った,スポット ID を画面間で受け渡しを 行えるようにするため,スポット ID をグローバル変数において複数の画面間で共通の変数として 扱えるようにした.また成果物発表会に向けて発表資料の作成を行った.スライド作成では見る側 の人に作成したアプリケーションがどのようなものかを理解してもらえるよう作業を進めていっ た.ポスター作りに関しても,作成したアプリを理解してもらえるよう作成した.中間報告会の時 に比べ発表練習をする時間を設けたため中間報告界での反省を生かすことができた.また開発した アプリケーションのデモンストレーションを行い,実際にアプリケーションを動かしてもらった. 全体として,反省や学びの多い 1 年間の活動であったと感じる.反省の部分では計画や調査の甘 さ,メンバー間での情報共有が不足しているという 2 点が挙げられる.この 2 点がアプリケーショ ンの開発の遅れに大きく繋がってしまった.アプリケーションを作成するというプロジェクトで計 Group Report of 2012 SISP - 40 - Group Number 15-B Development of Web API and the Application for Effective Utilization of the Hakodate Tourism Information 画,時間管理といった準備段階のタスクがとても重要であると感じた.上手くプロジェクトを進め ることができたとは思っていないが,それでもまちあるきマップ機能と情報提供の一連の流れを作 ることができたのでそこは良かった.担当教員,企業講師,TA と他グループのプロジェクトメン バーに支えられていたなと感じ,プロジェクト活動においての仲間の大切さを理解することがで きた. (※文責: 近添彰久) Group Report of 2012 SISP - 41 - Group Number 15-B Development of Web API and the Application for Effective Utilization of the Hakodate Tourism Information 付録 A 新規習得技術 • Xcode での開発技術 • Objective-c の使用技術 Group Report of 2012 SISP - 42 - Group Number 15-B Development of Web API and the Application for Effective Utilization of the Hakodate Tourism Information 付録 B 活用した講義 • 情報表現入門 C 言語を参考に Objective-c の学習を行った. • 情報処理演習 I オブジェクト指向言語の理解を深めるため Java 言語を参考にした. • ソフトウェア設計論 I 画面遷移図作成に参考にした. Group Report of 2012 SISP - 43 - Group Number 15-B Development of Web API and the Application for Effective Utilization of the Hakodate Tourism Information 参考文献 [1] OUR MOBILE PLANET. 詳細なデータと国別レポートのダウンロード. [HTML] (last accessed July) Available at http://www.thinkwithgoogle.com/mobileplanet/ja/downloads/ [2] グルメ・レストランサイト [食べログ]. 食べログ. [HTML] (last accessed July) Available at http://tabelog.com/ [3] 函館市観光コンベンション部. 「観光アンケート」調査結果. [HTML] (last accessed July 2012) Available at http://www.city.hakodate.hokkaido.jp/kankou/material/material.html [4] じ ゃ ら ん. じ ゃ ら ん ス マ ー ト. [HTML] (last accessed July 2012) Available at http://www.jalan.net/smart/ [5] JTB Publishing. る る ぶ.com. [HTML] (last accessed July 2012) Available at http://www.rurubu.com/ [6] 函 館 市 コ ン ベ ン シ ョ ン 部. 結 果. [PDF] (last accessed 観 光 ア ン ケ ー ト 調 査 の January 2013) Available at http://www.city.hakodate.hokkaido.jp/kankou/material/h22questionnaire.pdf [7] ニ ー ル セ ン・カ ン パ ニ ー 合 同 会 社. ニ ー ル セ ン ,日 本 の ス マ ー ト フ ォ ン ユ ー ザ ー に 関 す る 最 新 の 調 査 結 果 を 発 表. [PDF] (last accessed January 2013) Available at http://jp.nielsen.com/site/documents/translationSmartphoneInsightsStudyJun2012 SG.pdf [8] Localytics. モバイルアプリの継続利用率が改善―iOS が Android を圧倒. [HTML] (last accessed January 2013) http://blog.localytics.jp/?p=366 Group Report of 2012 SISP - 44 - Group Number 15-B
© Copyright 2025 Paperzz