2008年12月04日

 clangというのが便利でした。Xcodeのプロジェクトを解析して、メモリリーク等のバグをHTML形式で吐いてくれるツールです。


iPhone SDK向けのコードを静的コード解析する


 Macユーザーは使い方分かると思います。以下、僕みたいにWinを使ってたけどiPhone開発のために初めてMacを触った人向け。


root権限がない



ここからビルドされたパッケージをダウンロード.ダウンロードしたファイルを解凍し,中のフォルダとファイルをすべて/usr/local/binにコピーする.(/usr/loca/bin/にパスが通っていることを前提)


 Finderで普通に見ると/usrがない。困った。ターミナルから覗くとどうやらあるっぽい。cpしようとすると、root権限が必要って怒られた(´・ω・`)

 アプリケーション/ユーティリティ/ディレクトリユーティリティ.appを立ち上げる。
 カギを開けて、編集>ルートユーザーを有効にする。パスワードを入力。一旦ログアウト、その他のユーザーで、ユーザー:root パスワード:さっきのパスワード。

Finderですべてのファイルを表示させる



 ターミナルからコピーすればいいのだけど、やっぱりすべてのファイルが見えないのは気持ち悪い。

ターミナル.appで

 defaults write com.apple.finder AppleShowAllFiles TRUE

を打ち込んだ後、リンゴマーク>強制終了>Finderの再起動ですべてのファイルが見れる。

後は適当に



Download

 すでにroot権限を持っているので、/usr/loca/bin/を適宜作って解凍したファイルの中身をつっこむ。

 

使う



 ターミナル.appで目的のプロジェクトがあるディレクトリまで移動

scan-build --view xcodebuild

で、解析後にブラウザが立ち上がってすぐ結果を見れる。

 バグの箇所だけではなく、各バグごとにレポートも表示してくれる。これが、iPhoneでObj-Cを初めて触った人にもわかりやすいレベルでとてもありがたいです。


Macの気持ち悪さ


 ファイルを隠すなら、表示するオプションをつけろと言いたい。見た目は綺麗だし、普通に使うユーザーに権限を与えないのはいいと思うのだけど、隠しすぎててなんかむずむずする。

 でも、Jobsの会社が作ったOSだって考えると、納得できるというか、あーそうだよね、うんうん、って思える。不思議。


参考

clangでObjective-Cプログラムを静的解析:オプションとか、注意点とか。



hayashi311 at 01:10コメント(1)トラックバック(1) 

2008年12月01日

iPhone関係ないけど。ついカッとなってやった。

utubot

クリスマスまでの日数をつぶやいて、鬱にしてくれるTwitter Bot 鬱bot。よかったらFollowしてください。


PHPでTwitterに投稿

リンク先をコピペしただけなので、僕は3行も書いてないです。

hayashi311 at 02:10コメント(0)トラックバック(0) 

2008年11月19日

『ここではね、同じ場所に居続けようと思ったら、ずっと走ってなきゃいけないわ。どこか別な場所に行こうと思ったら、その2倍は速く走らないと!』
alice-queen-illustration

 モバイルWebアプリをめぐる環境を少し考えてました。4ヶ月前にiPhoneが登場した時からだいぶ状況が変わっているなぁと改めて思っているところです。全体的に[要出典]です。

ネイティブアプリが増えて、Webアプリが減った(…気がする)


 NDAの一部取り下げのおかげで少しずつ情報が共有されつつあります。特に登録・申請・審査に関してどこを探しても情報がないという状況は脱したという感じ。審査自体も初期に比べるとだいぶ早くなっているみたいです。(相変わらず不透明な審査ですが…)これは初期の開発者の皆様のおかげですね。

 不確定要素が減ったおかげでネイティブアプリが増える一方で、iPhone向けWebアプリが減っているような印象を受けます。僕調べですけど。

 開発者側から考えると、AndroidがまだG1一機種で本格的に普及するのはこれから(普及するかも分からない)という現時点では、iPhoneでもAndroidでも利用できるというWebアプリの利点が見えてこないということもあるかと思います。ネイティブアプリの方が動作はキビキビしてますし、マネタイズしやすいってのはやっぱり強い動機になりますよね。
 ユーザー側から考えても、どの端末からでもアクセスできるというはWebアプリの大きな強みですが、携帯は常に持ち歩くためネイティブアプリでも全く困らないということで、いまいちWebアプリを採用するメリットが見えてこない状況です。

Webアプリが揃っていないのはiPhoneの弱点かも


 環境の差異を吸収できるWebアプリが育っていないというのは、他の企業を巻き込めないということですよね。現状では他社が新しく端末を開発する際に、画面の縦横比合わせてWebKitベースのブラウザを搭載して、iPhoneと同じようにiPhone規格のWebアプリを使えるようにすることの明確なメリットがあるほど数が揃ってるわけではないなぁという感じ。

 iPhone以外のタッチパネル式携帯端末にすべてFlashが搭載されたり、画面の縦横比が違う端末がスタンダードになって、iPhoneとは違う規格のエコシステムができあがってしまうとiPhoneは苦戦を強いられるだろうなぁと思います。ちょうど今のWinとMacのように。
 AppStoreもこれはこれで素晴らしいですけど、iPhoneだけで完結するのではなく他のスマートフォンを巻き込んだ仕組みも作っていかないと、マイナーな製品がまたひとつ増えるだけになりますよ。

Adobeが気になる


 ここ最近のAdobeの動きはFlash・AIRを勉強しようかと思うくらい素晴らしいなぁと思います。ここらへん。

アドビのCTO、クラウドとローカルの統合を語る:ニュース - CNET Japan
アドビ、ウェブアプリの告知をデスクトップに届ける「Adobe Wave」を公開:ニュース - CNET Japan
Flashは今やプラットホームだ/AIRはアップグレード/CatalystがGumboに入る
AdobeとARM、軽量版Flashを共同開発へ | iPhone 3G Wiki blog

 Webアプリがネイティブアプリに取って代わり、ネイティブアプリがオンラインに進出する流れは、最近ますます加速しているように思われますが、その中でAdobeは明確な方向性を示しています。
 AppleはiPhoneにFlashを搭載しないというような守りの対策だけではなくて、WebKitベースのモバイルWebアプリの普及を推進するというような攻めの対策をする必要があるんじゃないかなと思います。

 興味深いのがAIRクライアントではWebKitをサポートするという話。考えがまとまってないんですが、なんかすごいことになりそうだなぁという予感がします。『あんまり使われてない』という唯一にして最大の欠点を克服できたらの話ですけど、ね。

まとめ


 iPhone向けWebアプリって結局あまり普及してないですね!でも、普及させないと他の企業も巻き込んだエコシステムを作れないですね!Adobeもやばいから気をつけて!

 タイトルはもちろんホッテントリメーカー。長くなりそうなので、また気が向いたら続きを書こうと思います。気が向いたら!

hayashi311 at 07:43コメント(1)トラックバック(0) 

2008年11月05日

「私にiPhoneは無理無理!」森公美子がiPhone 3Gをハイテンションかつアグレッシブに批判

 オペラ歌手の森公美子さんがアグレッシブにiPhoneを批判しているというお話。あちこちでいろんなことが言われていますが、"直感的なUI"についていろいろ考えてしまいました。

 言い尽くされた感がありますが、結論から言うと、iPhoneは直感的じゃないよね、ということになります。


iPhoneは"直感的"か



 iPhoneをほんとうに使ったことのある人間ならわかると思うが、iPhoneはそもそもマニュアルすら付いてない。「見りゃわかるでしょ?」というある意味ユーザーを突き放す仕様なのだが、実際見りゃわかる。なんとなくいじってるとだんだんわかってくる。

 アフォーダンスという言葉があるが、それが実にうまい。何も考えず素直にいじっていれば、使えてしまうのである。
森公美子に見るムラ社会とガラパゴスケータイ*狐の王国


 世の中いろんな人がいますからねー。

 iPhoneのUIが素晴らしいのは一度UIのルールを覚えると、すべてのアプリで同じルールで操作できる点。それこそ、iPhoneに慣れると新しいアプリでも何も考えずに使える状態になります。問題はこのUIのルールに慣れるまでですよね。

 僕も含め、発売初日に買ったような人たちは新しいUIのルールを覚えることに、苦労するどころか、逆に喜びを感じていたんじゃないかなぁと思います。みんなJobsの手の中で気持ちよく転がされてたんです。これは新しいUIに慣れる過程でもあったわけです。

 しかし、キャズムの向こう側には森公美子さんみたいにiPhoneの操作を難しいと感じて、新しいUIに慣れる過程を楽しめず、自分でなんとかしようというモチベーションが皆無の人もたくさんいるというのもまた事実です。
 これは自分が興味のない分野に関して考えてみると分かりやすいのですが、例えば僕は車や音楽に関してモリクミ状態で、モチベーションの低さは好きな人から見たら信じられないだろうなーと思います。


 で、iPhoneのUIは間違いなく多少の慣れが必要です。予備知識もなく、慣れる前に何も考えずに使いこなせるなんてことはないと思います。これは直感的なUIとは言えないですよね。優れたUIだとは思いますけど、直感的っていうのは違うかなーと。そもそも、直感というものは経験の積み重ねから推測するものであって、iPhoneのように新規性の高いものでは通用しないと思うんですよね。
 iPhoneの場合、比較的慣れやすい(と思います。)し、慣れた後の使いやすさはものすごく計算されて設計されていますが、機械の類が苦手な人に直感的だからといって勧められるほどじゃないです。


Jobsは期待させすぎ、孫さんターゲット広げすぎ



 PCを普通に使っている人にとって、iPhoneに慣れる過程はむしろ快感で 一瞬で覚えてしまうかもしれませんが、さっぱり分からない人がいることも忘れてはいけません。いや、僕やみなさんは忘れてもいいと思うんですが、AppleとSoftBankは忘れちゃいけないだろうと思います。

 iPhoneを売っちゃいけない層に売っちゃったなーというのが僕の意見です。Appleの売り方は、購入後のライフスタイルを強烈にイメージさせてしまいます。イメージだけで買ってしまうと、使いこなせない人にとってのがっかり感は大きいのかなぁと思いますよ。


iPhoneが直感的じゃないなら、改造すればいいじゃない



 iPhoneは多くの点で革新的でしたが、iPhoneのUIはソフトウェアで記述されているという点もその一つです。
 この際、AppleはiPhoneのUIを選択できるようにすればいいんじゃないでしょうか!コストもあまりかかりませんし。なんなら僕が開発しますよ!
RIMG0047

hayashi311 at 15:21コメント(0)トラックバック(0) 

2008年11月03日

 そのまんまです。iPhone向けサイトを作る時に前はサーバーにアップしたものを実機で確認しながら作っていたんですが、しばらくMacを借りている間にMacのWeb共有機能とiPhoneシミュレーターを使うと楽に開発できることを発見しました!

 発見しました!と言ってもMacユーザーにとっては当たり前のことだと思うので、iPhoneユーザーがMacにはまっていく過程を生暖かく見守りながら読んでもらえばいいかなぁと思います。


Web共有

 [Macintosh HD][サイト]というディレクトリに作ってるものを突っ込む。

 [システム環境設定][共有]で鍵を開けてから、[Web共有]にチェックを入れる。
 個人のWebサイトと書いてあるURLをコピー。


iPhoneシミュレーター

 iPhoneシミュレーター(iPhoneSDKに付いてくる)にはSafariが入っているのでこれを立ち上げて、Safariで上のURLを開く。

ピクチャ 5


 超簡単!わざわざ説明する程じゃないですねー。もう少し複雑なものを作る時はローカルサーバーをたてたりしてもいいんですが、XMLファイルを転がしておいて、Ajaxで取りにいくので十分かなぁと。もちろんWinでも同じことはできるんですが、Macの方が簡単。こうやってiPhone開発者はJobsの罠に嵌っていくんですね!


チラ裏

 とはいっても、MacもWinもFirefoxがちゃんと動いていれば普通に使う分には何も変わらないのですよね。ネットに重心が移ってきている今、MacかWinかっていうのは割とどうでもいい問題だなーと思っています。(但し、Vistaはない)

hayashi311 at 08:48コメント(1)トラックバック(0) 
Twitter
記事検索
QRコード
QRコード
  • ライブドアブログ