Google Wave が大きな話題になっている。
John Gruber が興味深い発言をしている。
Daring Fireball: “Google Wave” by John Gruber: 30 May 2009
* * *
今週初めの Google I/O で「Google Wave」が発表されて以来ずっと考え続けている。テクノロジーの成果としてはすばらしいことに思える。しかし Google Wave が何物なのか私には理解できない。テクノロジーとして複雑なだけでなく、コンセプトとしても複雑に思えるからだ。
I’ve been thinking about Google Wave since it was announced earlier in the week at Google I/O. It looks brilliant and impressive as technical accomplishment. But I don’t understand what it is. It seems not [...]
2009年5月のアーカイブ
Google Wave とは何か
Concept, Google, Google Wave, John Gruber, Platform へ投稿: 2009年 5月 31日 | 2件のコメント »
読んでくださってありがとう
Blog, maclalala へ投稿: 2009年 5月 29日 | 11件のコメント »
[Saturn’s icy moon Rhea at Half-Moon | NASA]
ブログが現在の形をとるまでには紆余曲折(うよきょくせつ)があった。
その昔、新聞や雑誌の切り抜きで家中を散らしては家族の顰蹙(ひんしゅく)を買ったのがそもそもの始まり。
コンピュータというバーチャルな世界での切り抜きは場所をとらずに済むので家族にも怒られない。
ブログという形をとるようになっていつのまにか4年近くが経った。
* * *
マックやアップルに関する海外の話題を毎朝チェックするのが日課になっている。当ブログはそんな海外ニュースのスクラップブックみたいなもの。
あくまで主役は紹介した記事で、筆者は黒子(くろこ)に過ぎない。
ひたすら海の向こうのおもしろそうな記事を探してくる。おもしろいかどうかの判断はすべて賢明な読者の手に委ねられる。
* * *
主流メディアでマックやアップルのことを取り上げない日はなくなった。
大手メディアもウワサ系も必ずソースを明記し、リンクを貼る。その気になれば誰でも簡単に、一番最初の記事にたどり着ける。
そんな元記事の雰囲気を損なわないように日本語にしてみる。
ブログを始めるまでは翻訳なんてやったこともなかった。原文併記という形ではごまかしが効かない。
眼光鋭い読者から間違いの指摘を受けることもしばしば。翻訳だけでなく、筆者の理解不足を指摘してくださる読者もいる。
* * *
そんな個人の営為(えいい)だが、気がつけばアクセスが50万ヒットを超えた。
これだけの数の読者の目に触れることができたのは望外の幸せ。個人のささやかな試みを暖かく見守ってくださる読者の存在は本当にありがたい。
世にブログの数は山ほどある。いちばん得難いのは読者だ。
お名前は存じ上げないが、無言でサポートしてくださる読者の存在はいつも感じている。
コメントなど頂いてお名前が分った方々を以前まとめたことがある。大切な読者のお名前は決して忘れない。
当ブログを読んでくださったみなさま、折にふれ当ブログを紹介してくださったみなさまに心からお礼申し上げます。
読んでくださってありがとうございます。
Technorati Tags: Blog, maclalala
WWDC で iPhone 新モデルは出るのか出ないのか
Apple, John Gruber, Rumor, WWDC, iPhone へ投稿: 2009年 5月 24日 | 7件のコメント »
[New iPhone with beefier CPU]
ちょっと見過ごせないウワサが注目を集めている。
Apple iPhone Apps: “Source Reveals Specs And Release Date of Next iPhone!” by Rob: 19 May 2009
内容が多岐にわたっており、コンパス内蔵や改良カメラによる新サービスも予感させる。その後旭化成のコンパスが iPhone に採用されるというウワサがあったりして、一概に切って捨て難い。
特に気になるのが発売時期を7月17日と特定している点だ。
こうなると「そんなわけないだろう、(WWDC で)新しい iPhone が出るにきまってるじゃないか」と大見得を切った John Gruber はどう反応するのだろうか。
* * *
で John Gruber は・・・
そう考えていたら早速 Gruber の長い投稿が載った。
Daring Fireball: “The Next iPhone” by John Gruber: 21 May 2009
Gruber が学生時代に実習生として手伝った DOS/Windows 開発の思い出から始まって、次世代 iPhone で予想される改良点は何かと縷々述べ、その後に WWDC の予想が続く。
前段もなかなかおもしろいのだが(余裕のある方はぜひ覗いてみていただきたい)、要すればそのポイントはつぎのとおり。
・次世代 iPhone のプロセッサは劇的にパワーアップ
・コンパス内蔵と機能向上カメラの採用
Gruber の WWDC [...]
[‘Dramatically’ different…]
来月に迫った WWDC では iPhone の発表はないと予想したアナリストの Gene Munster が、アップルタブレットの発表も 2010 年まではないと予想している。
Fortune [Apple 2.0]: “Analyst: ‘Dramatically’ different Apple tablet in 2010” by Philip Elmer-DeWitt: 21 May 2009
* * *
タブレットがネットブックに対する回答
300 ドルのネットブックに対するアップルの回答はタッチスクリーンタブレットだとウワサではいわれているが、実際に登場するのは投資家が考えるよりもっと遅く、しかもガラリと変わったものになるだろう。
The touchscreen tablet computer that is widely expected to be Apple’s answer to those $300 netbooks will cost more, come later and be more dramatically different than most investors [...]
同時進行でみるスタンフォード iPhone プログラミング:第12回アドレスブック・第13回 Notification
CS193P, Cocoa, Programming, Stanford, iPhone, iPhone SDK, iTunes U, タグ iPhone, CS193P, Cocoa, Programming, Stanford, iPhone SDK, iTunes U へ投稿: 2009年 5月 20日 | コメントする »
[Alex Aybes – Apple]
iPhone 知らず、プログラミング知らずのスタンフォード講義受講も第7週目にはいった。
講義内容はますますプログラミングの実際に合わせたより実践的なものになっていく。
* * *
第12回講義:アドレスブック
講師はゲストスピーカー Alex Aybes。やはりアップルの iPhone ソフトウェアエンジニアだ。[冒頭画像参照]
[Evan and Alan]
いつもの Evan と Alan は最前列で Alex をフォローする。
* * *
アドレスブック
今回のテーマはアドレスブック。冒頭の「アドレスブックの Hello World」というデモが印象的。
iPhone のカラッポのスクリーンが、ほんの数行のコードを加えるだけで、本物のアドレスブックが持つすべての UI を利用できるようになる。これはなかなかの圧巻だ。
たぶんこれが iPhone プログラミングの威力なのだろう。
どのコードがどの UI に対応するものか、デモをじっくり見ながら、加えたり削除したりすれば、たった一行のもたらす威力が実感できるはず。
* * *
ローレベル C API の利用
アドレスブックで個人データを処理し、表示するためには、ローレベルの C API の利用が必須となる。
これらの背後にあるのが CoreFoundation だ。C ベースで書かれたフレームワークで、Objective-C 用のもの。(7分ごろから)
C と Objective-C をミックスして用いるときに効力を発揮する。C と Objective-C が自由にミックスして使えるため、ローレベルでは純粋 C にすることが可能で、このためオーバーヘッドを減らすことができる。相互乗り入れ自由なことを「無料の高速道路ブリッジ」(Toll-Free Bridging)に例える。
* * *
ネットワーク上の個人データ:手順
アドレスブックがもっと威力を発揮するのは、ネットワーク上の個人データを読み込むときだ。
Social Networking Website の個人データは、次のような手順で読み込む。(18 分ごろから)
Step 1: Search
ダウンロードしたデータから個人名を探す。
Step 2: Update
アドレスブックを更新する
Step 3: Display
結果をソートして表示する
* * *
ネットワーク上の個人データ:デモ
Social [...]
iPhone がわが家にやって来た
Blog, iPhone, maclalala へ投稿: 2009年 5月 17日 | 15件のコメント »
[Fun with iPhone by Charlotte Geary]
実はまだ iPhone を持っていなかった。
iPhone の記事を追っかけるのに持っていないとどうも不便だ。
* * *
きっかけはウチの奥さんのひとこと。
iPhone のコマーシャルを見たバーチャル嫌いの奥さんが「私だって出来るかも・・・」
このチャンスを逃がす手はない。
* * *
ウチの奥さんの長年の夢はおチビさんたちとケータイのメールをやりとりすること。
だが何度チャレンジしてもうまくいかない。文字入力が大仕事、やっと出来たメールは送信する前にどこかへ消えてしまう。
助け舟を出そうにもケータイ嫌いのボクには分らない。
おチビさんたちがわが家にくるたびに特訓するのだが、ひとりでやる段になるとどうしてもうまくいかない。
とうとうおチビさんたちも投げ出した。
* * *
で、遅ればせながら iPhone への乗り換えを検討することにした。
「iPhone FAN (^_^)v」のガイドを参考に、「iPhone for everybody」キャンペーンを利用して乗り換えた。
* * *
まず電話から・・・
連絡先リストから電話番号をタッチするだけで電話が掛けられる簡単さにウチの奥さんもご満悦。
カメラも直感的で、これまた簡単だ。
苦手なテキスト入力にもチャレンジ。
タッチすると十文字に開く日本語キーボードがすっかりお気に召した。これは私向きねと大満足。
どうやらメールの可能性も見えてきた。
かくて iPhone はウチの奥さんのお出かけに欠かせないお供となった。
とりあえずは好調なスタートが切れてボクもハッピー。
* * *
追記:使ってみてのあれこれ・・・
1)電話がかからない
家にもって帰って電話を掛けようとしたら電話がかからない。
ソフトバンクの店にトンボ帰りをしたらちゃんとかかる。
どうやら二階はいいが下のダイニングテーブルのあたりが死角らしい。
狭い家の中でも掛かるところと掛からないところがあるのは新発見。
2)通話料金
インターネットやメールはパケット定額フルで上限があるが、電話に関しては掛けただけ通話料がかかる仕組みらしい。30秒で10円。
おチビさんたちとちょっと話しをすると5分や10分すぐ経ってしまう。これじゃ公衆電話より高くつく。
子供のケータイ利用料金に親が悲鳴を上げるというわけがやっと分った。
最初の請求がくるまでは、いくらになるものか見当がつかない。
Technorati Tags: Blog, iPhone, maclalala
・・・と John Gruber がいっている。
Daring Fireball: “A New iPhone Means New APIs” by John Gruber: 13 May 2009
ことの発端は6月に迫った WWDC についてアップルがプレスリリースを出したことだ。
元気になった Steve Jobs が新 iPhone を発表するのではないかという大方の期待に反して、キーノートは Phil Schiller 以下、テーマは iPhone OS 3.0 と Mac OS X Snow Leopard という内容だ。
* * *
アップルの WWDC プレスリリース
2009年5月13日、アップルは本日、恒例のワールドワイドデベロッパカンファレンス(世界開発者会議、以下WWDC)が、6月8日(月)午前10時(米国西海岸時間)から始まる基調講演で開幕します。アップルのワールドワイドプロダクトマーケティング担当シニアバイスプレジデント、フィリップ・シラーを始めとするアップルのエグゼクティブたちが基調講演を行ないます。WWDCでは、世界で最も先進的なモバイルオペレーティングシステムであるiPhone™ OS 3.0と、世界最高のデスクトップオペレーティングシステムをさらに強化、洗練させ、将来のMac®イノベーションの基礎となる、Mac OS® X Snow Leopard™の両方について、詳細なセッションが提供されます。[アップル]
CUPERTINO, California—May 13, 2009—Apple® will kick off its annual Worldwide Developers Conference [...]
同時進行でみるスタンフォード iPhone プログラミング:第10回と第11回の講義プラス補講2回分
CS193P, Cocoa, Programming, Stanford, iPhone, iPhone SDK, iTunes U, タグ iPhone, CS193P, Cocoa, Programming, Stanford, iPhone SDK, iTunes U へ投稿: 2009年 5月 12日 | コメントする »
[Loren Brichter]
連休でぽけっとしている間もスタンフォードの講義は着々と進む。第6週目も2回の講義が行なわれた。
それだけではない。補講の2回分もアップされている。
で、今週は都合4本のビデオ講義について・・・
* * *
第10回講義:パフォーマンス
iPhone の限られたメモリー、遅い CPU、遅いネットワークはパフォーマンスにとって限界となる。
どうしたらパフォーマンスを上げられるかが iPhone プログラミングの重要な課題だ。
今回の講義ではメモリーと並列処理(concurrency)についての問題点を取り上げる。
* * *
限られたメモリー
限られたメモリーを有効に活用するために・・・
1)必要なとき必要なデータだけ読み込む(4 分ごろから)
講師はこれを「怠け者のデータ読み込み」(load lazily)という。なるほど。ココアプログラミングの要諦にも通じる。
2)メモリーリークを防ぐ(7分ごろから)
リーク(leak)はメモリー管理の大敵。Autorelease を多用するとメモリーなどすぐ使い切ってしまう。(1万回のループなど。)リークを見つけるための武器がパフォーマンスツールだ。そのデモが 12 分ごろから。
3)オーバーヘッドを減らす(デモは 21 分ごろから)
一体どのくらいメモリーを使っているか(maximum autorelease footprint)、ピークはどうか(High-Water Mark:最高水位)をチェックし、オーバーヘッドを減らすことを心掛ける。
Autorelease を使わないようにしたり、オブジェクトの再利用(Reusing Objects )を図るのもその方法だ。
4)システムからのメモリー警告(Memory Warnings)(28 分ごろから)
メモリーを使い切ったときシステムから発せられるメモリー警告は重大な結果をもたらす。結局は何を捨てるかということに帰する。
* * *
並列処理(Concurrency)
もうひとつ iPhone プログラミングで重要な問題はスレッド(Threads)のような同時進行の処理だ。スレッドはパフォーマンスの低下をもたらす。(30 分ごろから)
スレッドの問題はデバッグが大変むずかしいということらしい。NSThread、NSOperation、NSOperationQueue などに関して Xcode を使ったデモが 37 分ごろからあるがなかなかむずかしくてよく分からない。また Flickr からスレッドを読み込むデモは 54 分ごろから。
* * *
第11回講義:テキスト入力とモーダルコンテンツ
第11回目の講義は宿題 Presence をやるのに必要なテーマを取り上げる。テキスト入力(Text Input)とモーダルコンテンツ(Modal Content)だ。
* * *
Clang Static Analyzer
その前に、前回の復習を兼ねてデバッギングツールのデモがある。オープンソースの Clang Static Analyzer だ。(9 分ごろから)
C/Objective-C コードの静的分析(static analysis)を行なうツールで、バグの可能性を見つける。コマンドラインから起動するのだが、結果が Safari に出力されるところがクールだ。
* * *
iPhone Keyboard
まず最初に iPhone Keyboard について(18 分ごろから)。
これらのキーボードから入力されるテキストには様々な特性(traits)がある。その特性をどう反映させるかという問題。
* * *
テキスト入力をカスタマイズする
テキスト入力をカスタマイズするデモについては 26 分ごろから。
* * *
モーダルコンテンツ(Modal [...]
大変だあ、パスワードのリセットができない!
Backup, Blog, Carbon Copy Cloner, GUID, HD Cradle, HD Replacement, Intel Mac, MacBook, OS X, OS X Installation, Partition Scheme, Password, Repair, maclalala へ投稿: 2009年 5月 8日 | 14件のコメント »
[スタートアップ時にパスワードを要求される]
真っ青になった・・・
MacBook が開けなくなってしまったのだ。
久しぶりに赤ん坊を連れて帰ってきた娘が使っている MacBook だ。
Mac でも Windows でもやすやすと使いこなすくせに、OS やソフトにはサッパリ関心がない。
OS も Tiger(10.4)のままなので、親切気を起こして(というか余計なお節介で)Leopard(10.5)へのアップグレードを申し出たのがそもそもの始まり。
なかなかインストールディスクを受け付けないのは光学式ドライブがおかしくなっているせいか。何度か試みてやっとアップグレードできた。ところが、その後が大変・・・
再起動するとパスワードを要求するようになったのだ。これまでそんなことはなかったのに。
肝心のパスワードだが、娘自身も忘れていて、いろいろ試してみるのだがどれも受け付けない。
* * *
パスワードのリセット
しかし慌てなかった。パスワードを忘れたときリセットする方法を知っていたからだ。[注1]
ところがどういうわけか手順どおりやっても MacBook が認識されない。
さあ大変、パスワードのリセットができない!
それ以上先に進めないので MacBook も使えない。
アップルサポートの助けも求めたがよく分らない。どうやら OS の一部が壊れているのではないか、ハードディスクを初期化するよりほかないとの感触・・・
赤ん坊の写真がいっぱいはいった MacBook だからさあ大変だ。
そもそもアップグレードに乗り気でなかった娘の、口に出してこそ詰(なじ)らないが悲しそうな目を見ると、もういても立ってもおられない。
唯一の救いは、アップグレード作業に取りかかる前に丸ごと MacBook のバックアップを取っておいたこと。[注2]
なんとかして修復しないと・・・
* * *
ハードディスクの交換
ハードディスクを新しく交換して、新たに MacBook の内容を復旧してみることにした。
秋葉原に出かけて 250 GB の 2.5 インチハードディスクを買ってくる。
二つのパーティションを切って、ひとつにはバックアップしておいた分を戻し、もうひとつには新しく Leopard を入れてみようというわけ・・・
ハードディスクの交換だが、作業自体は比較的簡単だ。ただ、念には念を入れてその手順を確認しておく。[注3]
[内部をいじる前に静電気を除去する]
交換作業自体は10分程度。
* * *
「このボリュームにインストールできません」
で、換装したハードディスクに Mac OS X のインストールを試みる。ところが「Mac OS X はこのボリュームにインストールできません。」というメッセージ。そんな・・・
Leopard を試しても Tiger を試しても同じエラーメッセージで、純正のインストールディスクを受け付けない。
困り果ててあちこちググってみると、原因が分かった。[注4]MacBook はインテルマックなのに、パーティションを切るとき「GUID」のオプションを選択していなかったためだ。
改めて GUID パーティション方式に直して、おそるおそる Leopard をインストールする。
電源スイッチを入れて MacBook が立ち上がったときはホッとした。今回はパスワードを要求されることもない。
もうひとつのパーティションにバックアップを取っておいた MacBook の内容をそっくり元に戻す。
ここでバックアップソフト Carbon Copy Cloner[注2]とハードディスク用クレードル「裸族のお立ち台」[注5]が活躍する。
* * *
すべてが済んでなんとか MacBook が修復できたのは、一昼夜過ぎた翌日のことだった。
無事 MacBook をお持ち帰りいただいて胸をなで下ろした。
今回の教訓:頼まれもしないのに余計なことはしないこと!
* * *
[注記]
1)パスワードのリセット
パスワードを忘れてもインストールディスクさえあれば大丈夫だ。アップルのサポートサイト「Mac [...]
同時進行でみるスタンフォード iPhone プログラミング:第8回スクロール・第9回データ処理
CS193P, Cocoa, Programming, Stanford, iPhone, iPhone SDK, iTunes U, タグ Cocoa, CS193P, iPhone, iPhone SDK, iTunes U, Programming, Stanford へ投稿: 2009年 5月 5日 | 2件のコメント »
[Jason Beaver – Apple UIKit Team]
早いもので第5週にはいった。マラソンでいえば折り返し地点だ。
驀進(ばくしん)する機関車に必死でしがみついて振り落とされないようにしているというのが毎回の正直なところ・・・
* * *
第8回講義:スクロール
指一本動かすだけで iPhone の画面が上下にスクロールするところはマルチタッチの醍醐味(だいごみ)だろう。
今回の授業ではその仕掛けを取り上げる。
講師はアップルの UIKit チームに属する Jason Beaver だ。現役パリパリを引っぱり出してくるところから、この講義に対するアップルの熱意が窺える。
* * *
Table View:リスト
スクロールの対象になるのがリストだ。iPhone には様々なリストがある。それが Table View だ。
今回スクロールに関して取り上げられるのはつぎのようなオブジェクトだ。
UITableView
UITableViewCell
UITableViewController
UITextView
UIImageView
UIScrollView
UIScrollViewDelegate
* * *
Delegation:
必要最小限ということが何度も強調される。リストには多くのデータが含まれるが、その都度ゼロからリストを再構築して描画したりしないで、最小限スクリーン表示に必要な範囲に限るべきだと。煩雑さを避け、限られたメモリーの中で対応するためだ。
それはまたアルゴリズムと View を分けるという考え方にもつながるのだろう。
いちいち描き直さないためには Delegation という考えが大切になるということらしい。
* * *
デモ:
講義にはたくさんのデモが含まれている。スライドでは Demo と一枚だけ表示されるだけだが、実はこの部分が大変重要だ。スタンフォード講義のお値打ち部分といえる。
今回はぜんぶで4つのデモがある。
教科書的に概論を教える部分が講義だとすると、問題解決にあたる実技の部分がデモということになる。
さらにはデモの部分のコードサンプルも zip ファイルの形でダウンロードできるようになっている。
* * *
・どうやってリストにデータを表示するか
・表示されたデータをどう選択するか
・コンテンツのカスタマイズはどうするか
概論のあとデモという形で解説が続く。
* * *
第9回講義:データ処理
第9回のテーマはデータの話だ。
データといってもいろいろある。iPhone の中のデータと、雲の上(インターネット上)のデータと。ローカルデータとリモートデータ。
* * *
Property List:
あまり大きくないローカルなデータを load/save するには Property List が便利だ。
* * *
SQLite:
一方、インターネット上のデータにアクセスするには別の手法を使う。
最もエレガントなのがオープンソースの SQLite だ。具体的には C API を使う。(30 分ごろから)
* * *
JSON:
あまりオーバーヘッドがかからない手法(iPhone では特に重要)としては XML や JSON がある。
JSON(JavaScript Object Notation) とは軽量のデータ記述言語(Open source json-framework wrapper for Objective-C)のこと。
JSON のコードはこんな感じ・・・
JSON を使って Flickr [...]