いっしきまさひこBLOG

AI・機械学習関連、Web制作関連、プログラミング関連、旅行記録などなど。一色政彦。

未来のIT業界とクラウド コンピューティングに対する考察

cloudcomp.jpg商用コンピュータの過去の時代の流れと、これからの時代の流れの予測をシンプルにまとめてみました。

1. 【1950~1990年】メインフレーム(汎用機)時代

 → 利用者:一部の大企業(少ない)。

 → 価格:大企業なら買えるレベル

 → 用途:大企業の基幹業務。

2. 【1980~2020年】パーソナル コンピュータ時代

 → 利用者:一般の人から大企業まで(多い)。1人1台程度

 → 価格:中小企業や個人でも買えるレベル

 → 用途:一般業務、日常の連絡手段や作業、ゲームなどなど。

3. 【2010~2050年】クラウド コンピューティング時代

 → 利用者:一般の人から大企業まで(多い)。1人5台程度

 → 価格:安い。個人がいくつでも買えるレベル。薄利多売の世界。

 → 用途:一般業務、日常の連絡手段や作業、ゲームなどなど。そのほか生活を便利にするサービス(詳しくは下記)。

2010年から始まると予測しているクラウド コンピューティング時代ですが(まぁ、すでに始まっていると見てもいいかもしれませんが)、このころになるとソフトウェアやサービスの価格がぐっと安くなってきます。結局、経済市場の世界では、ものがあふれてくると、どうしても安くならざるを得ないと思います。

ここでもし「絶対にうちは安くしない」と言い張ったところで、機能は少し劣っても圧倒的に安いものを他社が出してきたら、それに負ける可能性が高くなります。成功した企業は機能改善して顧客満足度を追求するのが普通ですが、そうするとそれよりも機能の劣る顧客満足度の低い製品が出せなくなります。そうこうしているうちに機能は劣るが価格が安い他社の製品に負けてしまうのです。いわゆる「イノベーションのジレンマ」。

それぞれの製品が安くなっていくとすれば、企業の利益は少なくなるので、結果的に現在の(IT業界の)パーソナル コンピュータ市場の規模は小さくなっていってしまうはずです。そう考えると、IT業界に関わっている人の未来は暗いのでしょうか? その答えは僕には分からないし、誰にも分からないでしょうが、クラウド コンピューティングに可能性を見ることができると僕は考えています。

すでにコンピュータは1人1台程度は普及していると思います。だから、メインフレーム時代からパソコン時代に起こった「パソコンを持っていない人にもっと普及させる」という手法による市場拡大は、もうさすがに期待できません。ではクラウド コンピューティングでは、どうするか? それは、製品を安くしても1人3台も4台も持たせて、トータルでのIT業界の収益を高めることです。

とはいっても「そんなに何台も要らないよ……」という反応ばかりでしょうが、確かにそのとおりです。しかしクラウド コンピューティング時代では、ノート パソコンとか、デスクトップ パソコンとかだけをITの対象としてはいけないと僕は考えています。そうではなく、コンピュータが動くデバイスの種類を増やしていかなければならない。それ以外にIT業界がいまよりも飛躍的に発展していく道はあり得ない。僕はそう思います。

例えば、ネットワーク サービスとつなげてリアルタイムに番組視聴者のコメントを表示させる「テレビ」や「ラジオ」を作ったり、ネットワーク サービスに接続して最新ニュースのアラートが表示される「時計」を作ったり、冷蔵庫の中身をネットワーク上に情報を送信して買い物に時に携帯でチェックできるようにする「冷蔵庫」を作ったり、そういうふうにコンピュータが載る領域を広げる以外に、IT業界が今後めざましい発展を遂げる可能性はないと思います。

もしクラウド コンピューティングが単にシステム形態においてパーソナル コンピュータに取って代わるだけで、それ以外の広がりや革新がないのであれば、IT業界の未来はそれほど明るくないかもしれないと僕は危惧しています。だってIT業界で働いてもお金が儲からなくなるわけだから、この業界に入りたいという人もより少なくなるし、この業界に今居る人も居続けたいと思わないですよね?! クラウド コンピューティング時代の幕開けは、上に書いたような対象デバイスの拡大がセットでなければならない。そうしないと、IT業界の人は上記の理由でジリ貧になってくる可能性があります。クラウド コンピューティング時代の到来が、IT業界も消費者も幸せにならずに、双方にとって悲劇になってしまう可能性もあるということです。だからこそ、時代の過渡期にいる(と思われる)今が、非常に重要な時間なのかもしれない。ふとそう思いました。未来からいまを振り返ってみると、「あのころは激動の時代だった!」とか言っているのかもしれませんね。

Google ChromeとIE8の類似性

Google ChromeGoogle Chromeに搭載されている機能で、IE8の新機能と同じようなものがあります。

例えば以下。

●ブラウザ全体がクラッシュしない!(タブごとにプロセス化)

●ドメイン・ハイライト(アドレス入力部分で嘘のアドレスを見つけやすい)

●ブラウザに履歴などを残さないモード

Google Chrome:シークレット・ウィンドウ

IE8(ベータ):InPrivateブラウズ

後出しはグーグルの方だから、グーグルが「真似た」ということでしょうか。

表示の速さは同じくらいか、IE8の方が早いんじゃないかという印象を受けています(ちゃんと計測しないと分からないですが)。

やっぱり便利さではIE8と思うんですけど、Google Chromeのシンプルさはいいですね。

しかしGoogle Chromeはまだ実用レベルじゃないですね……。ブログが書き込めない……。

プラットフォームとしての「Google Chrome」

Google Chrome9月2日(米国時間)にグーグルが新しいWebブラウザ「Google Chrome」を提供開始しました。確かにGoogle Chromeはブラウザですが、オフラインでWebアプリケーションを実行できる機能(Google Gears)が標準で組み込まれているという意味で、長く噂されてきた「The Google OS」プラットフォームとして見る方が適切かもしれません。

グーグルによると「ウェブは、シンプルなテキストのみのページばかりが提供されていた時代から、リッチでインタラクティブなアプリケーションへと進化を遂げています。特に、今本当に必要とされているのは、単なる「ブラウザ」ではなく、ウェブページやアプリケーションに対応した最新の「プラットフォーム」なのだ」そうです。つまり、Google ChromeはWebアプリケーションのためのプラットフォームとして作られ、今後、Windows OS プラットフォームに対抗することを目指しているように見えます。

Google Chromeは、Mac OSよりも、Windows Vista/Windows 7よりも、安価なプラットフォームとしての地位を目指すための第1歩なのかもしれません。Windows XP Home EditionにGoogle Chromeを乗せた超安価なPCが販売され、「それだけで普段の業務(SaaSアプリケーション)や、メール、ブラウジングといった日常の操作は十分でしょ」というユーザーが増え、それがデファクト・スタンダードになることもあり得ます。これは、マイクロソフトにとって最悪のシナリオだと思います。

もちろん、マイクロソフトもIE8でブラウザを改善してくるし、こういったシナリオは現実のものには、なかなかならないとは思います。ですが、ブラウザ、インターネット、クラウド、これらの分野の競争がますます熾烈になってくるのは確実なんじゃないでしょうか。

「関連記事」を自動生成するサービス

relatedarticlesicon.gifWebサイトの価値を計る指標として「直帰率」(=1ページ見ただけでサイトを離れる閲覧者の確率)がありますが、実際にWebサイトの訪問者に次々とページを読んでもらうには、自サイト内のほかのページへの誘導が欠かせません。そこで使われるのが「関連記事」の一覧です。

関連記事の一覧とは、現在のページに関連性の高いページへのリンクが一覧表示されるものです。検索エンジンなどから「この情報を知りたい」という明確な目的を持ってやって来た閲覧者に、まさにその目的に関連する記事の一覧が提示されることになり、閲覧者にとっても有益で、サイトで情報を公開する人にとっても(PV面で)良い手法だと思います。

このような関連記事は手動で作成することも可能ですが、労力を省くために機械で自動生成するサービスがいくつかあります。

そこで、現在、世に出ている「関連記事生成サービス」をいくつか紹介します。

続きを読む

メソッドのシグネチャ(signature)とメソッドの構文(syntax)の違い

signature syntaxメソッドの「シグネチャ」(signature)という用語は、メソッドの定義を示す際によく使われる用語ですが、厳密な意味を考えると、この用語を使用する際には注意を要します。シグネチャは、プログラミング言語設計の用語で、言語ごとに明確な意味が定義されているからです。その意味を正しく把握したうえで「シグネチャ」という用語を使う必要があるのです。

一方の「構文」(syntax)という用語は、より汎用的な意味で使われます。単に「ソース コード上にどのように文字が配列されているか」という表記方法を表しているだけなので、プログラミング言語ごとに意味合いが異なるわけではありません。

従って、無難にメソッドの定義について言及したい場合は、「メソッド構文」という用語を使った方がよいと思います。

以下ではメソッドの「シグネチャ」についてもう少し詳しく解説しましょう。

続きを読む

ハッカソンとは(Hackathonとは)

itbizdic.jpgハッカソン(Hackathon:Hack-a-thon)とは、とある開発テーマの技術に興味のあるプログラマーたちが、会議室やソファーがある場所などにノートPC持参で集まり、みんなで一緒にソフトウェアをハックしまくって楽しみ、最後に開発したアプリケーションやサービスを参加者全員の前でプレゼンするという、いわばギークのためのお祭りイベントです。ハッカソンの期間はだいたい1日中が普通で、長ければ合宿などで数日から1週間もある場合があります。

ハッカソンという用語は、「Hack」と「Marathon」を合わせた造語で、米国で1999年あたりから使われ出し、まず OpenBSD が開いたイベントで使われ、次に Sun の JavaOne conference イベントで使われたそうです。その後、2000年に PHP の開発イベントで、2001年に FreeBSD、2002年に Apache と、徐々にさまざまなイベントで使われるようになりました。ちなみに、ハッカソンと同様のイベントの用語として、「CodeFest」(コードフェスト)や「Sprint」(スプリント)などがあります。ちなみに Google のカンファレンスでは「Code Lab」(コードラボ)と呼ばれています。

ハッカソンの意義は、単にハックしている時間にあるのではなく、多くの人々が一緒に、自分らがしたいことをしたいようにハックする「特別な時間」にあります。通常、参加者は興味テーマごとにいくつかのグループ(5人程度)に分かれて、各グループ内でアイデアを出し合いながら画期的なアプリケーションを作成したり、資料となる開発手順ドキュメントなどを見ながら黙々とサンプル アプリケーションを作ったりします。各グループ内で「ああだ」「こうだ」とやり合うことで、テーマ技術に対するおもしろい発見や気づきがもらえたり、これまで抱えていた疑問が解消したりと、1人でハックするだけの行為にはないメリットがあります。こうやってみんなで考えたものが、革新的なサービスやアプリケーションを開発するためのの新たなプロジェクトの誕生につながったりすることも考えられます。つまり「3人寄れば文殊の知恵」(Two heads are better than one.)というわけです。

日本でもここ最近ハッカソンが開かれて盛り上がる例が増えてきました。そのレポート記事へのリンクを以下に紹介します。

続きを読む

Google App Engine コード ラボ (Hackathon)レポート

Google Developer Day 2008本日の Google Developer Day 2008 Japan の午後は、Google App Engine コード ラボ (Hackathon)に参加しました。20~30名ぐらいの参加者がいました。

まず最初の30~60分が、課題の Google App Engine アプリケーションである「Wiki」のコード内容の説明でした。

 ・セッションで使った資料(A progressive example of developing a Wiki with Google App Engine)

その後、「残りの3時間で、この Wiki を拡張するか、独自の Google App Engine アプリケーションを構築せよ」とのことで、それぞれ個人で黙々と、もしくは数名で協力したりしながら、ときには Google 社員のアドバイスを受け、それぞれが思いのままにアプリケーションを開発しました。

そして、5時あたりから開発したアプリケーションのプレゼンを開始しました。プレゼンは希望者だけだったので8名ぐらいが発表していたと思います。次の写真はその風景です。

googledevday05.jpg

ちなみに僕は、独自アプリケーションの開発を選択しました。今回作成したのは、GData API(= Google のサービスからデータを取得、設定するためのAPI)を Google App Engine アプリケーション内で使うというもの。具体的には、Google カレンダ(Google Calendar)のイベント情報を Web ページにテキストで列挙し、またテキストでイベントを一括設定するというものです。しかし残念ながら 3 時間という時間制限のなかで、不慣れな Python 言語と GData API の活用とあって、一括設定まではすすみませんでした。しかしできたところまでをみんなの前でプレゼンさせてもらいました。質問もあり、興味を持ってもらえた人もいるようで良かったです。

今回作成したアプリケーションについてもう少し詳しく説明しましょう。

続きを読む