遥かへのスピードランナー

シリコンバレーでAndroidアプリの開発してます。コンピュータービジョン・3D・アルゴリズム界隈にもたまに出現します。

タブごとに端末選択可能なFireMobileSimulatorベータ版公開と人柱募集

「タブごとの選択機能」をβ版にて提供しておりましたが、2011.5.6にリリースした本家FireMobileSimulatorのバージョン1.2.0から、この機能がマージされております。お手数ですが、本家サイトより最新版のFireMobileSimulatorをダウンロードして下さい。

    • -

IRCには書き込んだのですが、FireMobileSimulatorで要望の多かった「タブごとに端末選択可能」を実装した新バージョンを作成したので公開します。

タブごとのHTTPリクエスト判別に結構特殊なことをやっているのと、インターフェース周りで使いづらい点があるかも知れないので、今回はベータ版として公開しています。人柱になってもいいよ、という方だけインストールしてください。
実際使ってみると、↓こんな感じで画面下部のステータスバーに選択している端末が表示されます。

不具合や要望などあったら、このエントリのコメント欄か、IRCチャネルfms-devel@freenodeに書き込んでいただけると嬉しいです。

タブごとのHTTPリクエストの識別には、

に書いたような処理をやってます。

あと、タブ分割の拡張機能Split Browserとの併用もできるようにしようと頑張ってみたのですが、今回はちょっと無理でした。タブ分割すると、タブごとに保存した内容が失われてしまうようなので、この辺はSplit Browser側で分割したタブごとにsessionStoreみたいな仕組みが使えると嬉しいな、と言ってみたりして。(自分が見つけられてないだけか?)

FireMobileSimulatorのIRCチャンネル作りました

FireMobileSimulatorの開発者を広げていくにはどうすればいいのか?という疑問をぶつけたところ、id:ZIGOROuさんからIRCチャンネルを作ってはどうかという案を頂いたので早速作ってみました。

#fms-devel@freenode

になります。
FireMobileSimulatorの開発に興味を持っている方、質問などお気軽にお願いします。
(その前にコードをリファクタリングした方がいいとは思いつつも・・・)

FireMobileSimulatorの今後の開発

FireMobileSimulatorを紹介してくれているサイトをこつこつブックマークしていたのですが、先日、ついに紹介サイト数が100を超えました。
http://b.hatena.ne.jp/thorikawa/firemobilesimulator/

どうもありがとうございます。開発者冥利につきます。
で、このアドオンの今後の開発なんですが、実は僕の仕事もモバイルサイト開発から離れてしまったこともあり、できれば自分以外の人も開発に携わっていけるような環境を作れればいいなあと思っています。一応、CodeReposにソースを公開しているものの、コミットしてくれる人は非常に少ないので、なんとかこの状況を改善したい。。。

開発に関わってくれる人が少ない原因はいろいろ考えられますが、自分がぱっと思いつくのは、

  1. 自分以外の人は何を開発していいか分からない
  2. プログラムがきちんとモジュール化されていない・Plaggableな構造になっていない(ちょっと直したくても影響範囲が分からなくて、怖い)

というのがあると思います。

で、まず最初の点を解決する為に、今後はきちんとTracでタスクを管理していこうかと思い、さっそくいくつかチケットを登録してみました。
http://coderepos.org/share/report/10
(っていうかCodeReposってチケットが全プロジェクトが一緒くたになってしまうのが何とかできないものかな、と思ったり)

これでちょっとは状況が改善されるといいなあ。
何かほかに対策や意見があれば是非教えてほしいです><

FireMobileSimulator 1.0.0をリリースします

FireMobileSimulator1.0.0をリリースします。

前回のリリースからだいぶ間が空いてしまいましたが、今回はメジャーバージョンアップということでかなり気合いの入った大幅な修正を加えています。
大きな目玉は、最新の携帯端末データベースから好きな端末を選択して追加することのできる機能追加です。
メニューから「最新端末リストから端末を追加」を選択することによって以下の端末追加画面が開き、任意の端末を選択・追加することが可能です。

実はこの機能を実装する為に、いつもお世話になっているke-tai.orgさんとコラボレーションを行っています。
ke-tai.orgさんは以前から端末スペック一覧というデータベースを公開しているのですが、今回わがままを言ってこのデータをWebサービス化して使用させていただきました。
上記の端末追加画面で見えるデータは、端末スペック一覧のデータとリアルタイムで同期していて、端末スペック一覧の方で追加された端末は、画面上の操作だけで簡単にFireMobileSimulatorに登録することができます。

さらに大きいのは、この端末データベースの情報は、ユーザー自身の手によってメンテナンスも可能だということです。端末スペック一覧を見ていただければ分かりますが、「端末登録ウィザード」なるものも用意されており、一覧上に登録されていない端末は、実機でこのウィザードにアクセスすることで登録することが可能となっています。あとはPCからも編集する機能が提供されていますので、一人が登録した情報はユーザー全員で共有することが可能です。
かく言う僕自身も、今回端末スペック一覧のデータを利用するにあたり、データのメンテナンスを行っています。画面上は見えないのですが、端末のHTTPヘッダ情報をかなりの数追加しました。それらのデータは当然FireMobileSimulatorでシミュレートされますので、携帯端末のHTTPヘッダを解析して何かを行うサイトを開発・運用している人にはかなり便利なはずです。

そんなこんなで、まさにこれぞWeb2.0(笑)という感じの機能追加なのですが、端末の情報はキャリアからも公開されていない情報が多くて、人海戦術でデータベース化してなんぼだと思っています。これを一つの機会に、この端末スペック一覧の情報が多くの人の手によってメンテナンスされ、さらに多くの人に利用され、という良いサイクルが回っていくとみんな幸せになれるんじゃないかなと思っています。

あ、あと、今回メジャーバージョンアップにつき、下位バージョンとの互換性は保証していません。一例をあげると、前バージョンでユーザー個人が追加した端末の情報は今回のバージョンアップで失われてしまいます。どうかご理解ください。

Googleの絵文字に対する取り組み

本日、Googleブログにて、日本の携帯端末の絵文字に関する取り組みについての記事が公開されました。

Google Japan Blog:絵文字のユニコード符号化: 符号化提案用のオープンソースデータ

現在、日本の携帯絵文字の全てをユニコードの文字として共通符号化しようという提案が進行しています。そのためには、現在使用されている絵文字のうちどれが既にユニコード符号化されているか、新しく符号化しなければならない絵文字はどれかなどを調査する作業が必要です。この提案を支援する目的で、私たちが提案している絵文字のマッピングや変換表、更に絵文字データからHTMLの表などを作成するのに役立つツールなどを 「emoji4unicode 」という名前でオープンソースプロジェクトとして公開します。

共通符号化の提案は、大変すばらしいことだと思いますが、どういう風に各キャリア統一化していくか、っていうところもネックになってくると思います。
既にマッピングされている絵文字とバッティングしないように割り当てていかなければいけないというのはもちろん、Webで絵文字を表示するだけでも端末に依って文字コードをサポートしている・いないとか、表記方法が数種類もあったりとかしますし、それ以外にもメール送信やフォームから送られてくる絵文字コードもまた各々異なるので意識しなければなりません。

そういう意味では、日本の携帯絵文字の議論をするのに以下のページは参考資料としてはずせないです。
CodeRepos - 携帯の文字コードと絵文字の基礎知識
たぶんこの件に関わるなかの人は全員読んだ方がいいと思います。

ちなみに既に統一Unicodeマップのドラフト案がこのへんで公開されていたりするんですが、ここのUnicodeコードポイントを見ると、例えば太陽の絵文字はU+2600とかになってて、それって私用領域じゃないけどいいの?って思ったんですけど、どうやらU+2600は既に太陽を指示す特殊文字として定義されていたんですね。知りませんでした。

僕もFireMobileSimulatorの開発で、絵文字周りは結構苦労したので、その苦労を活かせればいいなと思い、早速「emoji4unicode」プロジェクトに参加してみました。
自分の経験や知識をフィードバックしていきたいと思います。

FireMobileSimulator.orgを開設しました

今まで本ブログで公開・情報発信してきたFireMobileSimulatorですが、公式サイトを作って情報はそちらに集約することにしました。

アドレスはこちら。
http://firemobilesimulator.org/

さらに今までMozilla AMOでも実験公開を行ってきたのですが、そちらの公開は今後停止し、この公式サイトに一本化します。

どうぞ今後ともよろしくお願いします。

FireMobileSimulator0.2.0リリース(端末スクリーンサイズシミュレートに対応しました)

FireMobileSimulator0.2.0をリリースしました。

今回は試験的に携帯端末のスクリーンサイズのシミュレートに対応してみました。
今のところ横幅のみで、サイトによっては指定した値よりも大きな幅になってしまったりもするんですが、そこはまあおいおい対応ということで。
スクリーンショットは以下のような感じ。ブラウザのサイズによらず、表示領域を制限します。

あとはフォントサイズとか折り返しもうまくシミュレートできれば、かなり再現性が高まるかと思ってます。
その他の修正点は以下です。

  1. Optionsの端末設定項目にスクリーン横幅・高さを追加
    • ただし高さの指定は現状機能しない
  2. 端末選択時にフォントを強制的に等幅に変換
  3. ブラウザ終了時に端末選択を解除する/しないをOptionsから切り替えられるように修正
  4. ページ内に<img src="http://hoge.jp/?uid=NULLGWDOCOMO">と指定した場合、ブラウザのURL自体がhttp://hoge.jp/?uid=NULLGWDOCOMOに書き換わってしまうバグを修正
    • ただし今のところimgのsrc属性等でuid=NULLGWDOCOMOやguid=ONを指定するケースではuidやiモードIDを送信できない
  5. Optionsの端末編集画面で編集した際に、その端末が選択状態になってしまうバグを修正
  6. 他アドオンと競合しないようにプログラムの名前空間を見直し