ABC 2012 Spring
<div class="p1">日本アンドロイドの会のイベント ABC 2012 Spring に初参加してきた。いまから本格的にスマホアプリ開発をするにあたって、日本のスマホアプリ開発の現状を肌で感じることができる貴重な機会。他にやること山積だけど、行かないわけにはいかない。</div><div class="p2">
</div><h4> Unityで実践する次世代モバイルゲーム開発ワークフロー</h4><h4> 大前 広樹さん(ユニティ・テクノロジーズ・ジャパン合同会社)</h4><div class="p1">3Dゲームエンジンの Unity は、最近本屋でも関連本がたくさん置かれているので、ちょっと気になっていた。とはいえ自分が 3D ゲームを作ることはないだろうと素通りしてた。しかしこのセッションを聞いて、3Dゲームに限らず、リッチなビジュアルを持つアプリの場合は選択肢に入れたほうがよいことがわかった。</div><div class="p1"></div><ul><li>アセットストア:開発環境上から部品を直接購入できる。たとえば洞窟を作る Cave Creator は $40。ゲームの一部に洞窟のシーンがあるけれども、大事なシーンではないからそんなにコストをかけたくない、という場合に最適。そんな脇役シーンでも、クリエータに発注すれば20万とか、かかってしまう。それが$40で買えるというのはすてき。他にも、雨を降らしたいとか、石、土など、どうでもいいものから凝ったものまで、2000以上の部品が購入できる。</li><li>日本での普及度:昨年から全世界中で日本の売上が2位。すでに300社以上が導入。国内ユーザは8000超。すでに1万を超えているのではないか。</li><li>個人やスタートアップは無償。これで売り物を作ってかまわない。ただし Android/iOS アプリを作る機能は別売りで各3~4万円といっていたような気がする。しかし! 4/8 まで無料で「売っている」。</li><li>Pro版は13万円くらいする。ネイティブコードやプロファイラが使える。</li><li>Android でまともに動くのは 2.2 以降。それ以降ならどの端末でも問題なく動くかというと、残念ながらそんなことはない。日本法人では、日本固有のデバイスで動きのおかしいものを見つけると本社に送っている。</li><li>グラフィックリッチでUXに凝りたいアプリに向いている。Flashデベロッパーなどは、プログラムだけでなくアニメーションして見せることに長けている人が多い。そういう開発者との相性がいい。</li></ul>
<h4> Scaling Titanium Mobile
おぐら じゅんやさん(合同会社キュニップ 代表)</h4><div class="p1">1月に友人と qnyp という会社を立ち上げたという、おぐらじゅんやさんの講演。なんと、Titanium Mobile だけで受託開発している。いままでの案件5件すべて Titanium Mobile。Ti で受託開発は危険じゃないかと考えていたが、できるのか。すごいすごい。さらに CoffeeScript も、その 5件すべてで採用しているという。そうか、JavaScript で開発するんだから、CoffeeScript も使えちゃうよね。当たり前かもしれないけど、実績があるというのは重要。</div><div class="p2">
</div><div class="p1">今後の開発の参考になるなと思ったのは、カスタムイベントの積極活用。JavaScript でイベントというと、click が定番。しかしアプリ固有のイベントもばんばん作ってしまおうという話。関数呼び出しでなくイベント経由の呼び出しにすると、エラー処理が分散しないのがいい(とおっしゃっていたが、まだよく理解できていない)。それと、アプリケーションにイベントハンドラを定義して、アプリケーショングローバルなイベントを処理するように作れるのだけれど、アプリケーションレベルのイベントハンドラ中で重いオブジェクトを作ると、自動的に解放されないので注意が必要(Androidだけという話だったかもしれない)。必要なくなったら明示的に removeEventHandler すること。
</div><h4> Androidとmbedのあれこれ
勝 純一さん(Android mbed部)</h4><div class="p1">クラウドでプログラミングできる、というと意味不明だが、開発環境がウェブブラウザ。ブラウザ上に IDE が実現されている。コンパイルするとバイナリがダウンロードできるので、それを mbed にインストールする。インストールも簡単で、mbed はなんと、USBメモリとして動作するようになっている。PCにつないで、USBメモリとして認識される mbed に、ダウンロードしたバイナリファイルをコピーすればインストール完了。
</div><h4> ADB(Android Debug Bridge) そのしくみから応用まで
小林哲之さん(京都マイクロコンピュータ株式会社)</h4><div class="p2">すごい大盛況の会場。日々お世話になっているけれども、どうやって動いているか実はよくわかっていない ADB に、みんな興味しんしんなのだと思う。</div><div class="p2">
</div><div class="p1">ADB は、ADBクライアント、ADBサーバ、ADBデーモンの3コンポーネントからなっている。ADBクライアントはADBコマンドやDDMS。ADBクライアントを立ち上げたホスト上でADBサーバが動いていて、ADBサーバがターゲットデバイス上のADBデーモンと通信する。</div><div class="p2">
</div><div class="p1">ADBサーバの主な役割は通信経路の確保。ターゲットとUSBでつながっていようが、TCP/IPでつながっていようが関係なく、ADBクライアントに同じインタフェースを提供する。</div><div class="p2">
</div><div class="p1">Android 4.0からは、ターゲット上で ADB コマンドが使えるようになった。何がうれしいのかよくわからないものの、Android端末で立ち上げたADBから、別のAndroid端末を操作できる。
</div><h4> ADKを作ってわかったオープンソースハードウェアの可能性
久川真吾さん(株式会社鳥人間)</h4><div class="p1">ADK の回路図は一見複雑に見えるけど、部品をどんどん削っていくと、ほら、こんなにシンプル、というお話。その回路を自分で実装したのだけれど、なんと表面実装部品。基板のパターンを描いて中国に発注。その上にチップ部品などを置いて、たしか、フライパンで半田付けしたとか、おっしゃっていただろうか???</div><div class="p2">
</div><div class="p1">これを手でやるのは数が稼げないので、オープンソースハードをつくる場合に無償で使える FabLab という施設で量産し、ひとつ3000円弱で販売している。FabLab では、1台300万のレーザーカッターでプラスチック上に部品トレイを作成し、そのトレイの上に表面実装部品をセットして、同じく1台300万の表面実装器で基板に部品を載せる。それを1台100万のリフロー炉で過熱すると半田付け完了。</div><div class="p2">
</div><div class="p1">数十台ずつ量産し、無くなったらまた FabLab に出かけて作る。なるほど。このお話を伺うと、自分にもできる気がしてくる。もちろん知識ゼロの僕には簡単なことではないだろうけど、不可能ではない。
</div><h4> エクストリームフラグメントUIプログラミング
あんざいゆきさん(株式会社ウフィカ 代表取締役)</h4><div class="p2">かなり広い部屋なのに、超満員の会場。あんざいゆきさんが人気があるのか、みんなフラグメントに関心があるのか。あんざいさん、説明が上手。技術系セミナーの発表者によくある、すごいだろう、というのが無く、どうしたら理解してもらえるかに心を砕いている。</div><div class="p2">
</div><div class="p1">フラグメントを AJAX にたとえていたことに、一番関心した。昔のウェブは全画面書き換え。これはActivityに対応する。フラグメントを使うと、AJAXのように画面の一部だけを入れ替えることができる。一部だけだから、表示も速い。わずか200-300msではあるけど、十分に体感できる速度差。</div><div class="p1">
</div>
iPhone で jQuery の live(click, ...) が効かないとき
jQuery で <li> などの本来クリックされることを意図していない要素に live で clickイベントハンドラを付けると、iPhone の Mobile Safari で反応してくれない「ことがある」。
<blockquote class="tr_bq">$(‘#an_element’).live(‘click’, function() {
// このイベントハンドラが iPhone では安定して呼び出されない
});</blockquote><li> に onclick=”” という意味のない属性を付けると、安定してこれを回避できる。
<blockquote class="tr_bq"> <li id="an_element" onclick="">ららら~</li></blockquote>
あるいは
<ul><li><li>ららら~</li> とする。</li><li>click イベントではなく tap イベントにする。</li><li>live() をやめて bind() にする。</li></ul>
jQuery Mobile も同じ。これに関しては Android は問題なし。
LIVE CLICK EVENTS DON’T REGISTER ON MOBILESAFARI (IPHONE)
http://bugs.jquery.com/ticket/5677
メンテナンスファースト
先日、昔の上司や先輩と呑んでいたときのこと。新規開発は楽しいけど、ソフトウェア業界の仕事って、メンテナンスのほうがずっと多いよねという話になりました。でも、みんなメンテナンスが嫌い。10年前のアジャイルムーブメントのように、メンテナンスを楽しくするようなパラダイムを作り出せれば、みんなが幸せになれます。ソフトウェア開発の潮流は、工程をどんどんと下っていって、ベタなコーディング→テストファースト→メンテナンスファーストへと進化していくのです。
というところでこの話はおしまい。メンテナンスファーストって、何をどうやるんだろう!? 実現できたらすばらしいことなので、心の片隅においておきます。リファクタリングやテストファーストの、ナチュラルな延長線上にあるものかもしれません。
私の志集 300円
私の志集 300円、を買いました。新宿駅西口に立ち尽くす、あの女性から。初めてあの人に気づいたのは学生のとき。もう20年くらい前ではないかと思います。正直いって、気味が悪かった。関わってはいけない雰囲気を感じました。ほとんどの人はそう思っているでしょう。
久々に新宿に行った一週間前のこと、またあの女性の横を通ったとき、失礼かと思いながらも顔をよく見たら、実は結構きれいな人なのではないかと感じました。50歳近いのですが、少なくとも醜い歳のとりかたはしていない。
それで興味をもち調べてみると、2ちゃんねるにスレッドがありファンもそこそこいることや、彼女は3代目で、25年くらい前から立っていること、初代は30歳離れた彼女の夫で、終戦直後から立っていたことなどがわかりました。
どんな事情で、どんな運命の巡り合わせで、あのような苦行ともいえることを始め、20年以上も続けているのか、気になって仕方がありません。今度新宿に行ったときは、必ず買おうと心に決めました。
昨夜再び新宿を訪れ彼女を視認したとき、一瞬の迷いはありましたが、近づいて思いきって声をかけると、意外と心穏やかに買うことができました。
一秒未満の短い間あわせたその瞳には狂気はありませんでした。コンビニ店員のような乾いた目もしていないし、ファーストフード店員のような作り笑いもありません。客に対する媚もなく、かといって事務的でもない、少しだけの、自然な笑顔。言葉は交わさなかったけど、それで充分です。
志集を開くと、手書きのきれいな字。きれいというより丁寧。一文字一文字を刻むように書き上げる姿が目に浮かびます。正直いって、詩の中身の良し悪しはわかりませんでしたが、また買い求めそうな気がします。
使い捨てコンタクトにも品質の違いがある
僕は10年以上、1日使い捨てのコンタクトレンズを使っている。使い捨てレンズはいくつかのメーカーから出ている。どれを使っても同じだよと思っていたが、品質に差があることがわかってきた。
昔、ワンデーアキュビューを使っていた。特に不満はなかったが、より安いフォーカスデイリーズが出たので、そちらに乗り換えた。そして最近、さらに安いユーロワンデーが出たので、また乗り換えた。どれもそんなに変わらない。最初のうちはそう思っていた。
ところが、ユーロワンデーに乗り換えてから2~3ヶ月後、夜になると目がぼやけてくるようになった。ただでさえ悪い視力が、格段に悪くなる。朝と夜とで見え方が違うのが、自分でもよくわかった。仕事が忙しかったし、そのせいだろうと片づけていたが、あるときふと、コンタクトを変えたらどうだろうとひらめいた。
少しだけ残っていたフォーカスデイリーズに替えたら、夜の視力の衰えがなくなった。びっくりだ。やはりユーロワンデーが合わなかったのか。
そうして振り返ってみると、ユーロワンデーは、ワンデーアキュビューやフォーカスデイリーズと比べて、明らかに品質が劣っていた。まず容器の精度が低い。アルミのふたを開けると、ビニールだけ残ることが1、2回あった。ビニールを破らなければレンズを取り出せない。レンズの精度も低いのか、容器の中でくるんと丸まっていることが何度かあった。一回だけ、ゆびでつついても丸まりがとれず、どうにも使えずに捨てたことがあった。
数百円の違いで目が悪くなったのではたまらない。ユーロワンデーの残りを捨て、いまはまたフォーカスデイリーズを使っている。家にいるときはメガネだけど。