Hack the World!

プログラミングや,ネットワークに関する話題を取り扱っています.知識をつけて,優雅にお仕事するのを目指しています.

Echo Hack-a-thon に参加してきました。

http://atnd.org/events/17299

同日に開催されたAndroid テスト祭りも非常に興味があったのですが、Echoの方に参加してきました。

写真は開発用のecho10台



残念ながら、優勝してEchoを手にする事は出来なかったのですが、
色々と学びがあったので共有したいと思います。






Echo の情報

                                          • -

京セラさんのEcho専用HPに色々と情報が書いてあります。(注:英語
http://echobykyocera.com/

Echo向けのアプリやSDK、ドライバなど全て上記のHPに情報が集約されているようです。


echo以外に小さくて結構良かった。
日本でも売りだしてくれないかしら、なんとなく売り出しそうな気がする。


Hackathon成果物 - 起 -

                                                                                                • -

Echoのアプリを作るためのAPIは、量も特段難しいことも無く、普通のAndroidアプリを作るのと全く差がなく作ることが出来ます。
違う点といえば、下記画像のような画面のオープンクローズのようなイベントを取ることが出来たりするくらいです。

(画像は上記URLから飛んだ先の開発資料から抜粋)

なので、開発者は広い画面の使い方や画面切り替え時の動作に気を使えばいいということです。

ソフトウェアキーボードにも1画面使えるので、広いキーボードで快適に操作することができました。






Hackathon成果物 - 承 -

                                                                                                • -

しかし不満な点がありました。

下記画像のように、ソフトウェアキーボード表示時に無駄な領域があることです。

折角広い画面なのに有効に利用することが出来ません。

そこで考えました。
「ここをハックして、かつ有効に利用できればEchoは我が手に!」

目指すは、1画面で通常のAndroid端末キーボードの実現&有効に利用できるアプリの提案です。




Hackathon成果物 - 転 -

                                                                                                • -

2画面を使って文字入力がしたい、でも同時に〇〇をしたい。
そう、「Ust + twitter」だ!

そこで作ったのが、以下のアプリです。

キャプチャーでは、動画部分が見えませんが、左上に動画・左下のListView・右上のEditText・右下のSoftware KeyBoardが表示されています。
動画を見ながらつぶやくことができるので、勉強資料などを見逃さずに済みます。

その他、ニコニコ動画や○○しながら、など色々と使えると思います。



Hackathon成果物 - 結 -

                                                                                                • -

Echo標準の環境ではできないハックとUst・○○しながらの快適な環境を作りました。
電車の中では、端末を開かず視聴だけなど色んなスタイルで楽しめると考えています。

だから、Echoください←(コレが言いたかっただけでブログ書きました。


質問も一番でたから受け良かったかと思ったんだけど、ゲームとかには勝てなかったのが悲しい。
もっと作り込むか、ゲームの作り方を学ぶべきだと思いました。(ぇ




まとめ・期待・これから

                                                                          • -

と、冗談は抜きにして真面目に書きます。


echoは、基本的にLayoutを普通に横に並べるだけで開発できる、画面が広い端末です。
特殊なことは、画面の開閉Broadcastを受信したり、OnConfigurationChangedを受け取って画面レイアウトを正しく変更してやるだけです。

画面の真ん中に、ヒンジがあるので2つ画面があるように見えるので、それを上手く使って、2つの同時に実現したい機能を貼りつけてやればいいだけです。
Fragment等で機能が作ってあれば、それを並べてやればそれだけで多機能なアプリが出来てしまいます。



しかし、この作ってあればというのがなかなかくせ者で、次のステップへの気づきに繋がりました。

今回私が実現したかったUst+Twitterみたいなアプリ・サービスをマッシュアップアプリ・サービスといいます。
マッシュアップをする際は、今回の様に独自で作りこまなければ統一されたアプリ(になっているかは置いといて)にすることは出来ません。
twitterに関しては、twitter4jという素晴らしいLibraryが配布されているので、割と簡単に実現はできますが、
まだまだしきい値は高いと思います。

そこで思いついたのがFragment?を用いた既存アプリとの連携です。
別のアプリのViewを上手く活用して、マッシュアップが実現できればより簡単にちょっとしたアプリが作れるようになります。
Fragmentにデザイン系のAPIができて、統合する役目を持ったアプリがうまい具合に制御してやればより統一感のあるアプリができると思います。

Googleが端末のAPI等を新しくすることで、どんどん作りやすくなっているので、そういうのが出来ればもっと凄いものができそうですね。




メーカーやキャリアには、上記のFramework化や、統合されるアプリ作者へのメリット(課金)の実現を頑張ってもらいたいです。
ソニエリのS2やNEC CasioのLife Touch Wなど、2画面端末がこれから登場してくるのそれらの動きに期待したいです。
特に今まで見せてもらった中では、Life Touch Wが2つのActivityを同時に起動できるので、それらの連携まで実現できれば上記アイデアの近いところまで言ってるんじゃないかと思ってます。



ちなみに、Echoは特定のアプリしか同時起動できない様です。(言うのが遅い



と、言うわけで、何故キーボードが半分に切れているのか調べたいと思います。
ソースコード読んで改善したらまた報告したいと思います。











追記:20110806

                                          • -

とりあえずリソースいじって、フルキーボード表示というダメな方法に出た。

ソースコードも読んでみたが、privateが多かったり、各Keyオブジェクト毎に値が設定されていたり等なかなか難しいようだ。
そもそも、半分で表示するとか汎用性として中途半端なので、そこらへんを上手く考えてやる必要がアリそう。

タブレットだとFloatingなキーボードとかもありかもね。
そこらへんを上手く考えてやる必要があるのがツライ。

Honeycombのソース(Apache部)が公開されたら考えよう。