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

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

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

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. 他アドオンと競合しないようにプログラムの名前空間を見直し

FireMobileSimulator0.1.4リリース&CodeReposにコミットしました

FireMobileSimulator0.1.4をリリースしました。
ちょっとアップデートをミスり、番号1個飛ばしのリリースです。

修正点は以下です。

  1. ライセンスをGPLに変更
  2. 対応するFirefoxのバージョンを2.0-3.0.*に変更(今までは1.5〜としていたものの、実質テストできていなかったので)
  3. Macでメニューバーから端末を選択しても、defaultにチェックがついたままになるバグを修正
CodeReposで公開中!

そしてようやくCodeReposにコミットしました。
http://coderepos.org/share/browser/platform/firefox/FireMobileSimulator
実は4日前に既にコミットしていたんですが、もうコミットしてくれてる人がいてびっくりです。いまさらだけど人の書いたソースを読むのは刺激になって面白い!
まだドキュメントも何もない状態ですが、興味のある方は細かな修正でもいいのでコミットしてくれるとうれしいです。(でもちゃんとテストはしてね!)
あと、当面のリリース作業などは引き続き僕がやっていく予定です。

自動update対応について

コメント欄で、何で自動updateに対応しないんですか?という質問を頂きました。
Mozillaのadd-onsサイトで公開していると、自動でupdateに対応するはずなんですが、どうもうまく機能していないようです。もしかしたら当アドオンが実験的だからかも?ということで、公式アドオンとして認可されるまではちょっと様子を見ている段階です。お手数かけてすいませんが、もうしばし、猶予を下さい。。。

今日の豆知識

install.rdfのminversionとかmaxversionに使われる2.0.*とかの*は無限大をあらわす。
よって<em:minVersion>2.0.*</em:minVersion>などと指定すると実際の2.0系にはインストール不可になってしまいます。
2.0系に対応するときは素直に2.0と書きましょう。