読者です 読者をやめる 読者になる 読者になる

(ブログ名 '未定)

プログラミングとかのメモ帳

Open Data Day 2016 in GEEKLAB.NAGANO に参加したためメモ書き

Open Data Day 2016 in GEEKLAB.NAGANO feat.NSEG に参加したためメモ書きします
glnagano.doorkeeper.jp

Open Data Day について

Open Data Dayの公式サイトには、オープンデータデイについて以下のようにあります

オープンデータデイは、オープンな公開データを使ってアプリケーションを書いたり、データを開放したり、視覚化したり、分析結果を公開するために世界中の市民が集まって、世界の地方、地域、そして中央政府によるオープンデータに関する政策の導入を支援、奨励します。

International Open Data Hackathon
おそらく、オープンデータを活用してプレゼンやハッカソンをするイベントを同時開催するという趣旨のイベントです

今回、GeekLabNaganoではMonacaとニフティクラウドを使った簡潔にアプリを作成する方法が紹介されました
これを元に、ハッカソンでは自分がいたチームは災害時支援アプリを作っていくことになります

おおよその日程

2016 3月5日に実施

時刻 やったこと
10:00~10:20 オープニング + ODD2016とGEEKLAB.NAGANOの紹介
10:30~12:00 ハンズオン(ニフティクラウド様)
13:50~17:30 ハッカソン (チームに別れて制作)
18:00〜20:00 懇親会・成果発表

ハンズオン

ハンズオンではニフティクラウドの川原 史識 さんが、Monacaとニフティクラウドを合わせた、オープンデータを用いたスマホアプリを簡単に作る方法が紹介されました。
sssslide.com
Monacaは、スマホアプリを作るツールで、HTML5とJSで開発するものです。それぞれの環境にビルドするという方式をとっているらしく、センサにアクセスする機能があり、WEBで開発できます。
ニフティクラウドは、無料から使えるクラウドサービスで、楽にサーバー構築でき、SDKを入れるだけで簡潔にサーバーとのやりとりができるというサービスです。
このMonacaとニフティクラウドを合わせると、楽に○○マップが作れる。そして、除雪マップの市民に除雪させるアプリや、Pepperの観光案内、鎌倉今昔写真というアプリなどに、活用されている。ということが紹介されました。
この時、Monacaやニフティクラウドの登録をし、サンプルアプリをいじってみた といったことが今回のハンズオンの内容でした。

ハッカソン

ハッカソンでは、2〜4人程度のチームに別れて制作したり、設計したりしました。
ルールは、オープンデータを使った地域に役立ちそうなものを作るということでした。

アイディアの例

チームごとの制作の前に、オープンデータを活用するアイディアについて紹介さました。以下に例の一例を出します 

  • おくやみ情報
    • 友人が死亡していた時とかに通知してくれると便利かもしれないと思った。
  • Wifiマップ,充電器の場所 
    • フリーWifiの場所とか知りたいときは多い。
  • 緑の自転車の乗り捨て場 停車所とかを表示 
    • 長野市内の無料で借りられる自転車。観光客とかには停車所の位置情報は必須だと思った。

自分のいたチームについて

自分のいたチームでは、色々と議論した後、災害時の助け合いをすすめるアプリを作成することに決定しました。
ここから、各々に作業を分担し、1人はプレゼン資料作成、1人は地図への表示機能、そして自分はアンケート機能を制作していきました

制作しようとしたもの 概要

災害時に活用するアプリ
支援を必要とする要支援者と、要支援者を支援する支援者を橋渡しするツール。主に2つのモードがある

  1. 要支援者のためのアンケートを入力フォーム
    • 名前や緯度・経度、緊急度のレベル付、必要な支援の登録、メッセージの入力を行う
  2. 支援者のためのマップ
    • 入力されたデータを元に、マップに情報を表示する
    • 火事場泥棒対策のため、詳しい位置は最初からは表示しない。円でぼかしておく
    • 緊急度のレベルに基づく色分け
    • 特定のニーズに合わせた絞り込み

といった機能を考えました
アプリ上での実装目標です
f:id:ikemaki:20160306005133p:plain

制作結果

自分は要支援者のためのアンケート入力フォームの作成を行いました。
フォームの型の作成は難なく出来ましたが、2時間近くJavaScriptが使えない謎の自体に陥りました。そこで、Monacaの確認のエミュレーターのようなものを利用してテストしていたところを、ブラウザを使ってテストをするようにすると、JavaScriptが使えるようになりました。たぶん、エミュレーターがJavaScirptの読み込みができないことによると思いました。
JavaScirptが使えるようになってから、サーバーへの送信関数を作ろうとしましたが、ここでタイムオーバーになりました。
成果物を上げておきます。 必要な機能を満たしていないため、これからも機能を追加できたらなぁと思います。
GitHub - Makinori/disaster_support