0

GoldFishが日経BP Android Application Awardで優秀賞もらった

イエーイ

GoldFish

畑山さんがキャプチャしてくれた授賞式のようす


GoldFishという、Android NFCとJavaScriptで実世界GUIを作れるフレームワークを作っています。

特徴は
  1. AndroidでNFCタグに触るとアプリが起動する
  2. アプリはJavaScriptで書く
  3. JSだけどAndroidの各種センサー使える(ネイティブとのブリッジがある)
  4. アプリはタグタッチ時にロードされるので、Marketでインストールしてない人もすぐ使える
の4つ。


最近よく作っているPhidgetsやプリンタや赤外線リモコンやシリアルポートやNFCタグリーダやらをHTTPサーバ化するのも、GoldFishの部品的な位置づけです。
目の前にある物を操作するなら直接操作でできるべきだし、そのためには物理的に存在する全てがHTTPでアクセスできた方がいい。



当日使ったスライド(pdf)

どうやらslide shareが容量のリミットに達したらしくアップロードできない・・

0

Interface(雑誌)に記事を書いた

今売っている4月号がNFC特集でした

2012年4月号 目次|Interface

Android携帯でNFCタグを読み取る「GoldFish」の概要と応用事例
NFC技術とWebサーバや加速度センサを組み合わせて,実世界GUIを作ろう!
というのを増井先生と書いた。

関連:橋本商会 » ORF2011で実世界コピペ、実世界ユーザインタフェース等を展示した

これ↓

0

ORF2011で実世界コピペ、実世界ユーザインタフェース等を展示した

昨日まで東京ミッドタウンで開催していたSFC ORF2011の増井研でデモしていました。


■実世界コピペ
実世界コピペはAndroidとNFCタグを使ってコピペできるアプリなのですが、これはAndroid側のアプリは全てJavaScriptで書かれています




■GoldFish
GoldFishというプラットフォームを自作していて、これを使うとJavaなしでJavaScriptだけでアプリが書けて、しかも端末にインストールする必要がなくなります。(今学校のサーバーが落ちていて見れないがそのうち復活するはず)

先週書いたAndroidとNFCで研究室の鍵を開けるシステムもGoldFish上で実装されているし、他にも置く場所によって自動的にAndroidがパソコンを操作するタッチパッドになったり、写真立てになったりするデモをしました。


GoldFishは、実世界志向なユーザインタフェースを作る時によくある5つの機能を簡単にJavaScriptだけで扱えます。

  • 操作する物体や機器の指定をタッチで直接指示する … GUIでは名前を入力するかアイコンをクリックしていた
  • ジェスチャーで操作する … 大量のボタンは必要なく、画面を見る必要もない
  • 状況によってインタフェースが変わる … タグによって起動するアプリを切り替えられる、またGoldFishアプリ内からもタグの情報が読める
  • 使用者によってコンテンツが切り替わる … 安全な方法で端末IDを生成しているので、ユーザ名を入れたりする事なくユニークユーザを検出できる。居間のTVで見ていたビデオを台所の小型モニタで継続する等も簡単。
  • 他のアプリと通信する … 中身がWebブラウザなのでAjaxは使えるのは勿論だが、普通のTCPやUDP SocketもwebsocketっぽいAPIで簡単に使える。TCPでチャットを実装した例
Javaを書かなければ使えなかった機能をラップしてJavaScriptから使えるようにしています。



■他のGoldFishアプリ
MacとUDPで通信して操作できるタッチパッドが86行で書けたり(ソースコード




空中マウスが62行ぐらいで書けたりする。(ソースコード



空中マウスは操作が難しくてボツになりました。でもこういうのを実験的に作る時に、イチからAndroidアプリを書くのと比べて全然楽に実装できます。プロトタイピングにも向いている。


研究室のドアの鍵開ける奴も、ほとんどプログラム書いたこと無い後輩にサンプル見せて、作ってよーって頼んだら1日でできてしまったので、それなりに使いやすいんじゃないかなと思います。setIntervalで50msecごとにジャイロスコープを監視して、+90度以上回ったらドアを開けるだけだし。

0

AndroidとNFCで研究室の鍵を開けるシステムができた

先週、後輩のN園が作ってくれました。


  1. AndroidでNFCタグを読むと鍵開けアプリが起動
  2. ジェスチャー入力をSinatraで書かれたドアサーバーに伝える
  3. ドアサーバーはPhidgetsのサーボモーターを駆動し、鍵をヒモで引っ張って開ける

最近はAndroidでNFCタグを読むとタグ毎のwebアプリが起動し、しかもPhoneGapみたいにJavaとJavaScriptのブリッジが書かれているのでセンサーが使えるというシステムを作っている。
6月にNHKのITホワイトボックスでデモした奴の発展版で、GoldFishという開発コードで呼んでいる。


こんなメリットがある
  • HTMLとJS(と必要あればwebアプリ)が書ければアプリを作れる環境
  • 実世界の物体を指し示して、「アレをコレに」とか操作できる
  • GUIだけではなくジェスチャーも入力できる
  • 状況によってインタフェースが変化する
  • 誰が使っているかによって内容が変化させられる