iPhone 3G の Jailbreak

PwnageTool の iPhone 3G に対応した最新版がリリースされたので、試してみました。DFUモードへの移行にちょっと手間取りましたが、専用ツールであっという間に完了。初めて iPod touch を Jailbreak した時は全部手動でやったので、隔世の感がありますね。

手順としては、iPhoneを接続した状態でPwnageToolを起動します。途中でいくつか質問をされるのですが、ここは次のように答えればOKです。
「Are you legit iPhone 3G user?」→ Yes
「Has your iPhone been Pwned before?」→ No
次にファームウェアをリカバリするために iPhone をDFUモードにする必要があるのですが、画面に表示されるタイミングで指示通りにボタンを押していきます。まず、スリープボタンを長押しして電源を切ります。次にホームとスリープボタンを同時に長押しして10秒したら、スリープボタンのみ離します。さらに10秒経つと Success と表示されるので、 PwnageTool は終了します。

最後に iTunes から復元をします。ここでは、 Option キーを押しながら「復元」ボタンを押して先ほど作成したデスクトップにある ipsw ファイルを指定する必要があります。しばらく待てば、 Jailbreak したファームウェアで起動してくるはずです。この状態で同期すると、音楽ライブラリや設定等を Jailbreak 前の状態に戻せるので、もう一度すべて設定し直すといった面倒な作業は必要ありません。

普通にやると起動時のロゴがパイナップルになってしまうので気になる人は、Expert mode にして Custom logos settings のチェックを外してやるといいです。自分で画像を用意して好きなものに変更することもできます。(追記:Expert mode の場合、General->Activate iPhone のチェックを外さないと電話機能が使えなくなります。注意!)

Cydia という専用のインストーラがホーム画面に現れて、ここから各種ソフトウェアをインストールすることができます。とりあえず僕は、いろいろいじるのに必須の MobileTerminal と OpenSSH をインストールしました。

※ PwnageTool は、まだ Mac 版しか出ていませんが、ファームウェアを作成するところだけ Mac で行えばよいので、 ipsw ファイルだけ Windows に持ってきて復元することも可能です。

iPhone が流行るわけがない、最終的に流行るのは…

巷で iPhone が話題です。僕も発売初日に手に入れたのですが、前々から iPod touch を使っていたこともあり、使い勝手も含めて特に予想外な点はありませんでした。初めて iPhone(2G) を触ったのは、キャズムを超えろ!の人がウノウに持ってきてくれた時なのですが、確かにその時は指で操作するインタフェースに感動しました。PC用のWebサイトを見たり、動画を見たりとエンターテイメント端末という意味では本当に素晴らしいです。しかし、僕がメインの使い方だと思っているコミュニケーション端末としては、文字入力に改善の余地があって、まだまだその分野のエキスパートである女子高生の使用に耐えうるものではないと感じました。

iPhone in  Japan

しかし、もちろんこの日本市場に iPhone が登場したことの意義は理解しているつもりで、僕が iPhone(とこれから登場するAndroid)に期待していることは次の4点です。

  1. 日本のキャリア主導型ビジネスの終焉
  2. アプリケーションの自由化
  3. PCからモバイルへの主役交代
  4. 日本の携帯電話メーカーの海外進出

2.アプリケーションの自由化に関しては、残念ながら iPhone では実現できません。勝手アプリは許可されていないので、必ずアプリケーションは App Store を通して配布しなければなりません。この App Store では売上げの30%を手数料としてアップルに納める必要があります。また、App Store で配布するに当たっては iPhone Developer Program に登録をしなければならず、たとえ公開しようとするアプリケーションが無料だったとしても10,800円を払ってデベロッパー登録をする必要があります。前に「クラウドコンピューティングは現代の小作農か?」という話を書きましたが、このアップルが提示している仕組みこそ現代の小作農です。

3.PCからモバイルへの主役交代は、日本では既に起こっています。総務省の調査によると、今やケータイからのネット利用がパソコンを上回っているそうです。今後はこの主役交代が世界規模で起こっていくものと思われます。世界の数十億人がいつでもどこでもインターネットに繋がる未来には非常にワクワクします。
昨年、インターネットの世界では、ブログ → Twitter というツールの変遷によって「他人の脳みそとの距離」が劇的に縮まりました。この距離は今後さらに縮まっていくものと思われ、それを後押しするために必要なのがより使いやすいモバイル端末です。 iPhone は現時点ではそれにかなり近いと思いますが、まだ完全ではありません。

4.日本の携帯電話メーカーの海外進出について。日本の携帯市場は鎖国だガラパゴスだと言われています。確かに、たかだか一億人のマーケットで既に市場は飽和状態、海外に進出するにしてもGSMとPDCの通信方式の違いから今までは海外展開することはできませんでした。 iPhone の参入は驚異だと言われていますが、この仕上がり具合とクローズさを見るに日本の携帯電話メーカーにとって逆にチャンスなのではないかという気がしています。
1.日本のキャリア主導型ビジネスの終焉とも関わってくるのですが、W-CDMA + Andorid というグローバルスタンダードなプラットフォームの上で携帯電話メーカー主導で端末を作る。小型電子機器は日本人の得意とするところで、これだけで世界中で売れる可能性が広がります。同時に Android, WebKit というグローバルスタンダードは、日本のアプリ開発会社やコンテンツホルダーの海外進出も可能にしてくれます。日本のゲームアプリや漫画ビューワーなんかは、あっという間に広がっていくのではないでしょうか。




最近のWeb界隈では、 iPhone は日本で流行るか流行らないかという議論が繰り広げられていましたが、もううんざりです。はっきりと言います。iPhone は流行りません。一時的に流行ったとしても最終的には日本のケータイが世界中で使われるようになります。そう自動車やデジタルカメラのように。

「日本の製品が売れないと僕らの生活は豊かにならない」ということをもっと真剣に考える必要があると思います。日本人は海外ブランドに弱くて、すぐに水戸黄門の印籠よろしく「ははーっ」となってしまいますが、本当は日本製品を誇りを持って買うべきです。もし、海外製品よりも劣っているところがあればメーカーに訴えるべきだし、メーカー側もやらせのブログ・マーケティングとかしている暇があったら、もっとケータイ先進国である消費者の意見を聞くべきです。

近年のクラウド・コンピューティングの発達と iPhone や Android といったモバイル端末はとても相性が良いです。僕はこれからの10年はこの分野で仕事をしていくことに決めました。日本のケータイが世界中で使われるその日に向けて。

六本木で iPhone 3G を買ってきました

ソフトバンク六本木店に前日夜から並んで iPhone 16GB黒を購入しました。最初は全然買う気は無かったのですが、a2cさんGClue 佐々木さんが9日夜から並んでいるというので応援(冷やかし?)に行ったところ、いつの間にかミイラ取りがミイラになっていたという…

場所が六本木交差点でアマンドの反対側だったので、深夜も人通りは途絶えることなく、同伴出勤からアフターまでを見届けつつ時間はあっという間に過ぎていきました。さすがに朝には皆ぐったりだったのですが、佐川急便の人がiPhoneが入った箱を搬入してきた時には、一斉に拍手が湧き起こりました。
表参道は1500人並んだそうですが、六本木は150人くらいでしょうか。ソフトバンク直営店ということで表参道ほどではないものの、入荷台数は他よりも多かったようです。

SoftBank Roppongi Start iPhone
New Yorker SoftBank Dog Delivering the iPhone

無事に入手した後は、早速持って帰って開封します。アクティベーションは何も問題なく終了。iPod touchを使っていたので、あまり目新しい感じは受けませんでした。GPSの測位はかなり速いですね。App Storeからいくつかインストールしましたが、それはまた後ほど別のエントリにします。

iPhone 3G

スピードテスト

BNRスピードテストを 試してみたところ、自宅で約700kbpsくらい出ました。自宅の電波状況は、アンテナ4本が立っている状態ですので、5本立つところだともっとスピードは出るはず。
さらにWiFiでも測ってみたところ、5.4Mbpsくらいだったのですが、PCで測っても6Mbpsくらいしか出なかったので、ちょっと信頼性に欠けるかもしれません。当方は光回線で、他のスピードテスト用サイトだと20〜60Mbpsくらい出ます。巷にはFlashを使うスピードテストが多くてiPhoneでは使えませんので、もし他にiPhoneで動作するサイトを知っている人がいたら、ぜひ教えてください。

ドコモの設定がある!

設定画面を見て驚いたのですが、なんとDoCoMoの設定があります。これは、そのうちDoCoMoからも発売予定があるということでしょうか。

今回、六本木に並んだわけですが、いろいろなハプニングがあったり、いろいろな人と知り合いになれてかなり楽しかったです。自宅近くの電器屋さんで買えばもっと楽に入手できたかもしれませんが、やはりお祭りなので。
あと、ソフトバンク本体の開発チームも並んでいて、開発中のアプリを見せてもらいました。まだ書いたらまずいと思うので書きませんが、これはかなり期待できそう。実機が日本に届いたのが3日前だとかいう裏話とか、社員でも並ばないと買えないとか興味深い話を教えてもらいました。

さて、今から休んでしまった分の仕事をしないと…

Django Middleware で Traceback をコンソールに出力する

Django は、コンソールにデバッグ情報を出力してくれません(クリティカルなエラーは除く)。普通に開発している分には、ブラウザに表示される Traceback が充実しているので十分なのですが、API などブラウザ以外からリクエストが飛んでくるアプリケーションを開発している場合に、かなり不便なので Middleware を使ってコンソールに Traceback を出力するようにします。

まず、以下を middleware.py としてプロジェクト直下に保存。 request オブジェクトの内容も出力したい場合は、コメントを外します。

import traceback
import sys

class TracebackMiddleware():
    def process_exception(self, request, exception):
        print '######################## Exception ##################'
        print '\n'.join(traceback.format_exception(*sys.exc_info()))
        #print '-----------------------------------------------------'
        #print repr(request)
        print '#####################################################'

settings.py に ConsoleExceptionMiddleware の設定を追加。

MIDDLEWARE_CLASSES = (
    'django.middleware.common.CommonMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.middleware.doc.XViewMiddleware',
    'myapp.middleware.ConsoleExceptionMiddleware',
)

これでプログラム中でエラーが発生した際に manage.py を実行しているコンソールに Traceback 情報が表示されるようになります。以下サンプル。

関連リンク:
Django snippets: Middleware for printing of exception to console

「第13回 jQuery.js を読み解く」が掲載されました

技術評論社のWebサイト gihyo.jp にて、「jQuery.jsを読み解く」という記事を連載させていただいてますが、その第13回が公開されました。

jquery.jsを読み解く:
第13回 jQueryライブラリ(2834行目~3107行目)

今回は、アニメーション処理に関する部分の解説になります。アニメーションを登録した関数オブジェクトをキューイングする部分は面白いので、一度目を通しておくと良いかもしれません。
この連載もさすがにここまで来ると、読んでいる人はかなり絞られてきているのではないかと予想しています。こんなマニアックな企画をするのは、 gihyo.jp くらいです。海外のサイトを見ても jQuery.js のソースを読むなんて記事はまず見当たりません。今までに2〜3人から「いつも読んでいます!」と言われたのを考えると、全国の読者はたぶんその倍くらいでしょうか。実際のところは、怖くて編集の人には聞けないわけですが…