iPhone(2)

iPhoneの発売日が着々と近づいてきていて、世間ではiPhoneに対して期待する意見もあれば、「そんなに売れないだろう」という否定的な意見も出てきています。

さて、私個人はというと、期待している側です。

iPhoneを見ていて、私はWiiを思いおこします。

それまでのゲーム機の発展というのは、基本的には処理性能の向上であって、主にそれは「より綺麗な画像」という形で世に出てきていました。また、消費者であるゲーマーに新たな刺激を与える手段として、コントローラーのボタンの数はだんだん増えてきました(初代ファミコンは2つだったのに。。。)

その状況において、Wiiという、それまでとは全く異なったコンセプトの製品を出して、今までにはありえなかったユーザーエクスペリエンスを提供したというのがすごいところです。
これこそがまさに、「破壊的イノベーション」(「イノベーションのジレンマ 増補改訂版 (Harvard Business School Press)」より)というやつなんでしょうけど、それがゲーム業界のトップ企業から生まれたというのが、任天堂のすごいところですね。

さて、Wiiの話はこの辺にしておいて。

携帯電話業界も、おさいふケータイやワンセグなど横一線の機能強化が続いてきていましたが、個人的にはあまり魅力を感じられなくなってきていました。

その状況で出てくるiPhoneは、「あれができない」「これができない」という突っ込みどころは満載であっても、「今までの端末では出来なかったことができる」という点で突出しています。私は、そこに期待しています。

先ほどWiiの話を出しましたが、Nitendo DSも、それまでになかった操作性をベースとして、脳トレを代表とする新しいタイプのアプリケーションが出てきたからこそ、これだけ大ヒットしたんだと思います。

iPhone も、「今までになかった操作性」「魅力的な製品デザイン」という点で、プラットフォームとしてはすごくいいものになっているので、あとは、「今までになかったユーザーエクスペリエンス」を提供するアプリケーションが出てくれば、予想以上に普及する事だって十分ありえるんじゃないかなと。

もちろん、ゲーム機の場合は乗り換えコストなんてものは無いですし、対象となっているユーザーの層も携帯電話のほうが幅広いので、WiiやDSを引き合いに出すのはナンセンスかもしれません。

それでも私は、「これまではありえなかった未来がそこにはある」ってことに期待しています。

#あとは、妻の反対をどう説得するかだな。。。

子供をどう育てるか

近々、父親になります。

男の子だということはもうわかっているので、名前とかは考え始めているのですが、それとあわせて「どう育てるか」ってこともやっぱり考えます。

別にどこかのマニュアル通りに育てるつもりなんてないし、教育パパになるつもりもまったくないのですが、そうはいっても完全に放任主義ってのもよくないよなと思っています。
以前、テレビか何かで見たのですが、肉食の動物(トラか何かだったかな)の母親が、捕まえた小さめの獲物をわざと殺さず(でも動きは鈍らせて)子供に与えて、狩りの仕方を教えていくというのをやっていました。
野生動物の世界でも、大人になってから生きていくための能力を身につけさせるようにしているのだから、人間としても子供が将来生きていくための能力を身につける手助けをするのは親の役目じゃないかと思ったりします。

生きていくっていうのは、結局は仕事を得てお金を稼ぐということが主になるのですが、いまどきの社会では生きていくために稼ぐ手段(職業など)がかなり多様化しているのが難しいところです。

「○○になるしかない」ということが決まっているのであればそれに向けて行動すればいいんでしょうけど、そういうわけではないですし、子供の将来の職業を誘導するつもりもないです。でも、子供が将来、目指す職業を全く見いだせず将来に不安を抱くようなことになるのはできれば避けたいなと思いますし。。。

さて、とりあえずの今の思いは、

  • 子供が自分の興味や強みを見つけられるように、いろいろなもの・世界に触れさせる。
  • 自分で「調べる」・「考える」という癖は付けられるようにする
  • (興味を持たなかったら仕方ないけど)本は好きなだけ読めるようにする。

といったところです。

ま、子供が生まれてきたら今考えていることなんて吹っ飛んでしまうのかもしれませんけど。

最後にちょっと話が変わりますが、

404 Blog Not Found:親に関する最もありがちな2つの誤解

子育てで育つのは、子供だけではない。親もそうなのだ。

この「親も育つ」って感覚はどんなんだろうというのが、今から楽しみです。

JavaScriptでビンゴゲーム

以前、友人の結婚式2次会向けにビンゴゲームを作ったのですが、それを汎用的にして公開しました。

http://www.geocities.jp/kazumax_2007/bingo/bingo.html

もちろんフリーですので、自由に使ってください。
インターネットにつながらない環境で使いたい場合は、以下のZIPファイルをダウンロードして解凍すればローカルで動作します。

ZIPはこちら

パーティのような場で、大きなプロジェクターがあるような場合にお勧めです。というか、自分自身がそういった状況だった時に適当なものがなかったので作りました。遠目から見た際の見やすさに気を使っています。

稼働環境
  • 動作確認は、Windows上のInternet Explorer 7とFirefox 2で行っています。
  • 解像度は1280×1024以上を推奨します(全画面モードで表示すれば、1280×800でも大丈夫です)
こんな使い方がお勧め
  • 結婚式の2次会で使う場合は、式や披露宴で撮影した写真を画像に使うといいんじゃないかと思います。その場合は、bingo.jsファイルのimgListの値を編集すると、任意の画像を使うことができます(画像の数は変わっても問題ありません)。

// 横に表示する画像の配列
var imgList = [
"images/eyes0033.jpg",
"images/eyes0065.jpg",
"images/eyes0067.jpg",
"images/eyes0070.jpg",
"images/eyes0071.jpg",
"images/eyes0072.jpg",
"images/eyes0081.jpg",
"images/eyes0087.jpg",
"images/eyes0120.jpg",
"images/eyes0129.jpg",
"images/eyes0965.jpg",
"images/eyes0967.jpg"
];

この辺は、もともと作ったものはローカルでWebサーバーを稼働させてRubyでサーバーサイドアプリを作っていたので、特定のフォルダにある画像を自動で読みこめたのですが。。。
それはJavaScriptだけでは無理としても、せめてXMLの設定ファイルを読み込むようにするくらいのことをしてもいいかなとは思ったのですが、とりあえずこれで公開します。

ソースコードのコメントについて

パッケージソフトの開発に携わっていると、長期的にメンテナンス・機能追加を繰り返すためソースコードの保守性をいやがおうにも意識することになります。

ソースコードの保守性の観点から私が嫌いなのが、「不要なコメント」です。

その際たるものが、修正箇所の最初と最後に「日付 名前 開始(終了)」を記入しているだけのコメントです。まっとうな開発であれば何らかのソースコードバージョン管理ツール(subversionCVS)を使っているでしょうから、全くの無意味です(継続的な修正や機能追加でこういったコメントが累積していってはたまりません)。

これは極端な例としても、私は極力コメントをソースコードに入れないほうがいいと思っています。私なりのソースコードコメントについてのスタンスは以下の通りです。

  • クラス・メソッドに対しては、コメントをきちんと書く。クラスやメソッドに対しては、多くの言語では標準のコメント書式があるので(javaならjavadoc)、その書式に従って「クラスの役割」・「メソッドの役割」を明確にする。
  • メソッド中の処理については、原則としてコメントを書かない。複雑な処理をする部分でコメントを書きたくなるかもしれないが、その場合は、その複雑な処理をメソッドとして切り出してメソッドにコメントを書く(そもそも、その複雑な処理が必要かどうかも考える必要がある)。
  • 変数の説明のためのコメントも原則として書かない。変数の意味は、その変数の名称で判別できるようにするべき。そうしないと、変数の意味をコメントで覚えておいてから続きを読まなければならなくなる。

例外としては、サンプルコードです。
サンプルコードの場合は、APIの使い方などを第3者に説明するためにあるので、それぞれの処理が何を意味しているのかを丁寧に書いた方がいいと思っています。

私自身完全にその通りにしているかというと、時にはメソッド中の処理や変数にコメントを付けることはあります。しかし、安易にコメントに頼ることなく上記のようなことを心がけることで、より可読性・保守性の高いコードを書くことができると考えています(もちろん、他にも大切なことはたくさんありますけどね)。

iPhone

そこかしこのニュースサイトで取り上げられている通り、「iPhoneソフトバンクが年内発売へ」って話が出てきてますね。

ただ気になるのが、ソフトバンクの発表資料がすごく短いってことです。

ソフトバンクってこういうものなのかな、と思いつつも、よく読んでみると「発売することについて契約を締結した」というだけなので、まだ今年中に発売が決定したというわけでは無さそうです。

と、そんなことを考えていたら、「Life is beautiful」ではもうちょっと深読みされていて、なるほどなと思いました。

・「独占的に」と言っていないということは、Appleが独占権をソフトバンクに与えなかったということ
・たぶんまだドコモとの交渉は水面下で続いているのだろう

いずれにせよ、出てくるのが楽しみです。

個人的にはソフトバンクのインフラには不安があるので(※)、できればドコモから出てきて欲しいですが、ソフトバンクからしか出てこなかったらそれはそれで乗り換えてしまおうかと思っています。

まあ、「電話するのが面倒そう」とか「日本語メールの打ちやすさはどうだろうか」といった心配はあるのですが、無難なばかりじゃ面白みが無いのでiPhoneに移行してしまおうかと思っています。たまには新しいものに飛びついていかないと♪(Vistaのときはそれで失敗したのですが。。。)

(※)明確な根拠無くこういったことを書くべきではないかもしれませんが、秘書代行業務をやっている人から、「ソフトバンクだけ他のキャリアより、送ったはずのメールがとどかないトラブルが多い」という話を聞いたことがあったので。そんなことはないとしても、仮に独占販売となったら他のキャリアからの移行者は増えるでしょうし、パケット通信の利用頻度は通常の携帯より多くなるでしょうから、インフラの運用はがんばってほしいところです。

小倉昌男 経営学

小倉昌男 経営学」という本を読みました。

ヤマト運輸の元社長が書いた本で、ヤマト運輸が企業向けの配送サービスから個人向け宅配(宅急便)に事業をシフトした(他の業種にも通じる表現を使うと、BtoBからBtoCってことですね)というエピソードについて書かれています。それについてちょっと詳しく知ってみたいと思い、読んでみました。

印象的だったところを1つ上げると、BtoCに事業を変えたことでドライバーの役割が変わったというところです。配送だけでなく集荷も行うようになり、まさに最前線で働くことになったということや、直接お客様から「ありがとう」と言われることでやりがいを持てるというエピソードが書かれています。

これをITエンジニアに置き換えてみると、エンジニアが直接お客様(一般消費者)と接点を持ってやりがいを持って活躍できるようなモデルってあるんだろうか。。。と考えてみましたが、そう単純に置き換えられるものじゃないですね。

とはいえ、お客様の声がダイレクトに届くとやりがいにつながるということについては、学ぶべきところがあるように思います。Webベースでサービスを展開していたり、「販売は営業」となっていると、仕組みを考えない限りなかなかお客様の声が開発者に伝わるということはないでしょうから。

さて、それ以上に気になった部分が、ヤマト運輸が個人向け宅配でうまくいったら、途端に35社も競合が現れたということです。

もちろんそのほとんどが撤退してしまったわけですが、それについては以下のようなことが書かれています。

  • ヤマト運輸は、配送の効率よく行うための全国網の配送ネットワーク整備(配送センターの配置や、個人商店を取次店にするなど)を行った上でやっているから質の高いサービスを提供できるし結果として採算が取れる。
  • そういったネットワーク整備は、一朝一夕に出来るものではない。
  • 裏側の苦労や工夫を知らずに、表面的に「個人向け宅配が成功しているみたいだからやってみよう」ということで参入してもうまくいくわけがない。

IT業界でも、さまざまな技術やコンセプト(*)、それを元にしたビジネスモデルが出てきていますが、成功企業が現れたとしても、上っ面の流行だけを追いかけると失敗することになるというのは同じなんでしょうね。

(*) ここ2〜3年ってことでいうと、Web2.0とかSaaSあたりがぱっと頭に浮かんできます。

小倉昌男 経営学

小倉昌男 経営学