Androidデベロッパーは面白い

どうしようもなくグズってた”手ぶれカメラ”がなんとか2010秋冬モデルに対応出来たようだ。って自分で確認出来た機種は、一部で友人やら、メールやら、マーケットのコメントやらで正常動作の報告が上がったのでとりあえず対応完と言っているだけだが。


正直こんなマイナーアプリってダウンロードすらためらうのが普通な気がするけど、1500人はダウンロードし使ってみてくれて、3割はアクティブ(アンインストールせずに残しておいてくれている)だ。奇跡だ。感謝。開発時もアクティブ数でモチベーションが左右されてるし。


自分ではなかなか写真撮影のタイミングもすらなく、高機能なカメラアプリもあるなか、片手で撮影出来るとか、起動が早い(機能がなくコードが少ないだけだが)とか、人それぞれ使い道を模索してくれる。ちなみに自分は便利に使いこなせていない。公開後にメールを数通頂いて、アプリを作って公開してるだけなのに、遠方の人とコミュニュケーションが発生した。SNSはコミュニュケーションとしては直接的で便利だが、Androidデベロッパーになって発生した、副次的なもののほうは楽しい。


まわりを見てるとブログやTwitterで文章を書き、楽器、ダンス、映像が次々と動画投稿サイトにアップされる。皆思い思いに自分がやりたいジャンルで何かを発信する。これが人類総クリエーター時代なんだろう。自分はアプリケーションという形だがこれに参加出来たのではないだろうか。


当初は技術的勉強がてらやってたが、最終的に仕事的何かになるかもしれないが、それでも楽しみながら制作を続けて行きたい。

手ぶりカメラをアップデートしました

手ぶりカメラをアップデートしました。内容は、REGZA Phone(docomo T-01C)でのオートフォーカス撮影時に撮影が処理が終了しない事象の対策です。
友人を拘束して、Regza Phoneでデバッグする機会があったので、最近の改修の中では、割りとあっさり直せました。
REGZA Phoneのカメラは凄い。12Mピクセル(4000x3000)の撮影って、次世代ハイビジョンの4K2Kでも表示しきれないじゃないですか。撮影後Androidで扱いやすいファイルサイズにならないし、なんか無理してる気がする。仕様なのかバグなのかわからんが、Camera#takePictureをコール時に、シャッター音がかなり小さい。静かな深夜の部屋でやっとわかる程度の電子音。IS01だとかなり大きめの電子音がボリューム、マナーモードを無視して鳴るから、同じように盗撮防止の自主規制がありそうなもんだが。謎である。

PSPhone

今週もAndroid端末のリーク情報がちらほらと。中でも面白そうなのがPlayStationPhone。2月に発表されるらしい。外見はPSPgoのようで、スライドでコントローラーが出てくる。スマートフォンってよりは完全にゲーム機だ。これで何ができるか全く情報ないけど、AndroidマーケットにPS1エミュレータが売っているので、処理できることを考えるとPS1ソフトが遊べるようにするのではないだろうか。PS3/PSPではPSストアからPS1ソフトを買って遊べるので実現性はあると思う。過去資産でソニーが優位に立てるし、1から多くのゲームソフトや環境を作るより安上がりだ。

Android OS Ver2.3で色々機能追加されたが、その中に多ボタン対応がある。これって、PSPhoneのためじゃないかと思うくらいタイミングもいい。新しく対応したジャイロセンサー、前からある加速度センサー、BlueToothバイブレータPS3コントローラ並みになる。キノコスティックはないが。変わりのアナログ入力もあるらしい。



かなり値段は高いだろうが、スマートフォンとしてのスペックは普通以上(新しいXperiaレベルを期待)だろうし、さすがにPSPgoよりは売れそう。もし、これが大流行したときのために、ゲーム作っといておいた方がいいのか?


今日は、ネットニュース見ながら、こんな妄想してました。

Androidアプリ開発の難しさ

現在公開中のカメラアプリ「手ぶれカメラ」ですが、RegzaPhoneで動作不良があると報告がありました。対応は実機を持っている人が見つかり次第、対応したいと思います。


で、こうやってアプリ開発してて分かったけど、Androidアプリ開発はかなりメンドクサイ。まずOSのバージョンが1.5〜2.3と複数現役である。あと端末が山のように種類がある。日本以外でも使われている。PCだってOSも機種もたくさんあるが、こうは困らない。たぶんカメラなどハードウェアに絡むところを触っているせいだろうか。開発時には、カメラ→OS→APIとラッピングしてくれているおかげでコードは書ける。でも、挙動が違う。撮影出来るサイズに違いがあるし、動作速度、保存速度も機種依存。割り込みもかかるし、高解像度の画像扱うにはメモリの制約も厳しい。人気なカメラアプリを何点か試してみたが、ちゃんと動かなかったり、最大公約数的な調整がかかってたりした。


本当は、日本で売れた端末で最低限試すべきだが、お金がかかる。無料ソフトに個人でお金をかけるのは辛い。かと言って有料や広告付きにして端末代をペイ出来るかなんて博打はしたくない。幸い周りにお願いして動作チェックして貰えているのは幸せなのかもしれない。


仕事で最低限って視点でみると

があればいいかも。Xperia X10は世界で売れたモデルで、日本でもかなりのユーザがいる。Galaxy Sは同じ理由。2.2の環境としてもいい。IS03ガラパゴススマートフォンとしてかなりの変態動作をしてくれそうだ。高解像度ディスプレイ、高解像度カメラ、ワンセグFelica、赤外線とレベルが高い。auは60万台売るらしいから普及もするはずだし、シャープの兄弟機も販売時期からして似た特性がありそうだ。秋葉原の中古で3台揃えて12万くらいか?この組み合わせなら、国内の7〜8割はカバー出来そう。


自分は勢いで、Desire HD買ってしまったけど。中古でなにか買おうかな。HTC Ariaが一番欲しいがHTCでかぶるのが非常に残念だ。

OpenGLでMMD

トラックバックが付いた。何をどうすりゃいいのかわからない。
自分がつくづくIT弱者だと思う。


で、ドラックバックで気がついたけど、AndroidMMDなアプリが公開されていた。
MikuMikuDroid プロジェクト日本語トップページ - OSDN
JAVAの限界を超えてandroidでミク様を動かしてみる by gauzau VOCALOID/動画 - ニコニコ動画
作っている人がいるのは、ブログ見たり(制作情報を参考にさせて頂きました)、ニコ動に上のプロモーションが上がっていたので知ってはいたけど。いつからかオープンソースとして公開されていたらしい。動画見ると背景付きでヌルヌルと動いてる。凄い!それに、マーケットの文章読むと苦労の具合がなんとなくわかる。ダウンロード時に★5付けてしまった。


ほかにもオープンソース
mmdagent.jp
【MMDAgent】初音ミクとおしゃべりできるソフトをつくってみた by mmdagent ニコニコ技術部/動画 - ニコニコ動画
なんてのもある。音声合成音声認識で会話が出来る。Windows用の実行ファイルも用意されているから、開発者以外でも遊べるようになっている。昨年10月のceatecで直接デモ見たけど、等身大ミクに見物客がわんさかいた。


これらに共通してるのは、オープンソースであることと、OpenGLAndroidOpenGL ESだけど基本は一緒)で動いていること、それにプロモーション動画がLat式ミクであること。Lat式ミクいいよねLat式ミク。俺もテストデータこれだし。デバッグで何回表示しても飽きないし。って最後はどうでもよくて、オープンソースOpenGLの組み合わせは個人的に凄いことだと思っていている。MMDなアプリ作ってて分かったことだが、MMD自体はソースが公開されておらず、モデル・モーションデータのフォーマットも、有志の解析者により、情報公開されたものしか見当たらない。動作環境としてWindowsDirectXを使っているため、他のOSでは動かない。そのため、MMD向けに公開されている、モデル・モーション・背景・アクセサリなどの膨大なデータはMMDのみ利用に留まっていた(MMD用なんだから当然だけど)が、OpenGLで動くソースが簡単に手に入るってことは、MacとかiPhone/iPadMMDとか、踊れるぐらいよくできたモデルにKinectでモーション付けて格闘ゲームなんてのも作れるかも。MMDに注目してる人は多いから、春ぐらいにはLat式ミクを多分野で見ることになるんではないでしょうか。

開発中のアプリ

あけましておめでとうございます。
年末寝ないでコーディングしたりしてたせいもあるが、
年越しな気分がまったくないまま、新年があけてしまった。
食い忘れてた、カップそばを元旦の朝飯に食いつつブログを書いている。
今年も適当にやって行くでしょう。

今日のネタは、開発中のアプリを紹介。

まずは画面のキャプチャから。


ニコニコ動画MikuMikuDance(以下MMDと略)の3DモデルLat式ミクを、Android上で表示させたものです。他のモデルでも表示は出来ますが、テクスチャに使われている画像形式がbmp/png/jpgしか対応していないため、tgaをつかわれているモデルはまだ表示できません。
このあとの展開として、MMDでつかわれているモーションデータを読み込み、ポーズの変化、ダンスするぐらいまでは、実装しようかと。先は長そうですが。

本来の目的として、OpenGLの知識が今後のHTML、Flashに必要となってくるため、勉強と3Dモデルを作る労力よりは、使う労力の方が楽という選択だったのですが、モデルデータ、モーションデータの作成、公開が盛んなため、なんらかの形でAndroidアプリに流用出来るのではないでしょうか。