複雑になりがちなWebのプログラミングをぐっと身近にしてくれる﹁SimpleAPI﹂シリーズをご存知だろうか。ちょっとしたパラメーターをURLに渡すだけでさまざまな情報を返してくれるこのシリーズ、サイトの縮小画像を簡単に作ってくれる﹁サムネイル作成API﹂を皮切りとして、﹁最寄り駅&地図API﹂﹁Wikipedia API﹂と続いている。
このシリーズを提供しているのはたった1人。開発者の伊藤まさおさんは1996年にオンラインコミュニティサイトを立ち上げて個人で運営し、2002年に法人化。現在は仕事をしながら大学院に通っている。
伊藤まさおさん。手にしているのは愛用の手帳
﹁自分が今80の力を持っているとしたら、90か95のことをやりたいのです﹂
SimpleAPIシリーズで何をしたかったのかを尋ねたところ、伊藤さんはこう答えてくれた。
今の実力でできる簡単なものを作ってもしょうがない、自分の能力よりほんのちょっと上のことを目指せば、やりとげたときに達成感があり、その方が仕事としても面白い。学びながらやっていけることが伊藤さんにとって何よりも大事という。SimpleAPIの第1弾﹁サムネイル作成API﹂は3日で作ったという。
﹁その間ずっとひきこもって作ってました。一気に仕上げないと自分にとっての新しさがなくなり飽きてしまうので﹂
このとき、自分にちょっとだけ高いハードルを課した。画像系のツールは使うことができたけれど、サイトのキャプチャをとって、それをリアルタイムに生成するのはなかなか大変そうだな、と思っていたのだ。ここにチャレンジすることにした。結果としてこのサービスは、現在1日900万リクエストを受けるほどに成長。しかも日本だけでなく、海外でも使われているということだ。
﹁900万件のうち、400万件ぐらいは海外からのアクセスです﹂
そんなワールドワイドなサービスは、驚くべきことに伊藤さんの自宅サーバで動いている。
﹁1台5万円程度のPCサーバが家に25台あり、半分ぐらいが実稼働しています。SimpleAPIはそのうちの7台で動いています﹂
増え続けるアクセスにどう対処するか苦労しています、と語る伊藤さん。サーバがダウンして真夜中に作業をすることもしばしばあるという。
SimpleAPIシリーズは現在は3つ。今後もどんどん便利なAPIを提供していく予定という。﹁勉強しながら作っていて、10個ぐらいは行くかもしれません﹂と伊藤さんは語る。
伊藤さんの自宅にあるサーバ群
次々とプロダクトをリリースしていく伊藤さんのモチベーションはどこから来るのだろうか。
﹁モチベーションに関して重要なのは、まず﹃モチベーションは長く続かない﹄と意識することではないでしょうか。﹃あ、作りたいな﹄と思っても、しばらく経ったら人は飽きてしまう﹂
アイデアが出てから1週間も経つともう新鮮さが無くなる、1か月経つと作るのが苦痛になる、だから今やる。伊藤さんはそういうスタンスで開発をしている。﹁会社だったらアイデアが実現されるまできちんとやり切る仕組みがあるから大丈夫なんです。でも個人の場合は誰も管理してくれないので今すぐやるしかない﹂と伊藤さんは語る。
﹁今の時代、人気があるサービスにはどれもスピード感があり、作り手の﹃躍動感﹄のようなものが伝わってきます。企画書がわりにとりあえずサイト作りました、というサイトがいわゆるWeb2.0っぽいのではないでしょうか。﹂
﹁これはすごいな﹂と思うサービスはありますか、と聞いた。﹁最近だと﹃あとで読む﹄︵8月11日の記事参照︶が出たときはすごいなと感じました。コードの量も少なそうだし、ハイテクではないけれど斬新で、実際便利。思いついたアイデアをすぐにリリースしました、という感じですよね﹂
サービスを作るモチベーションとして﹁作品の事業化﹂についても聞いてみた。儲からなさそうだけど始めてみよう、というのが個人サービスの良いところで、SimpleAPIも儲かるものではないという。
﹁小学校のときに1年間以上欲しがってたマイコンをようやく買ってもらったころ、その時はうれしくて、うれしくて……。そのときの感覚から言えばPCをいじっているだけで幸せ。ビジネスという意識はない﹂
アイデアを思いつくだけでは99%は儲からない。でも大勢の人に役立つようになれば、そのうち1つぐらいビジネスになるかも知れない、と伊藤さんは語る。
では伊藤さんはどのようにしてプログラミングのスキルを学んだのだろうか。
﹁何か覚えたい言語があれば、まず本を買ってひたすら読みます。入門書のようなものと関数のリファレンスの2冊です。語学でいう文法書と単語帳のようなものですね﹂
小学生のころ覚えた言語がBASIC。その当時はPCも持っておらず、まず本でBASICを覚えて紙にプログラムが書けるようになり、ようやくPCを買ってもらったという。
そのあとは他人の書いたソースを読み、改変していくことで覚えていく。Perlを勉強していたときは、当時流行していた﹁miniBBS﹂という掲示板プログラムをいじったりながらスキルを上げていった。
それから先は検索エンジンや雑誌を活用する。﹁やりたいことは明確だけど実装方法がわからない、というときは検索エンジンで調べます。そもそもどんなことができるか知りたいというときは雑誌で知識を仕入れます﹂
伊藤さんはどうやってアイデアを生み出し、SimpleAPIなどのサービスを開発しているのだろうか。
﹁なにか作ろうとしているとき﹃ここらへんが面倒そうで引っかかりそうだ……﹄と思うものを解決するサービスを作ります。僕が思っているならきっと他人も同じことでつまづいているはずで、SimpleAPIシリーズはそういう人に役立つサービスになるといいな、と思っています﹂
また、﹁個人で作るサービスは自己管理能力を超えないことが大事﹂だという。﹁個人だとあまり複雑なサービスは作れません。自分が管理しきれる以上の量はやらない、が鉄則です﹂
そして思いついたアイデアは人にぶつけるようにしている。﹁何かいいな、と思うことがあれば、とりあえずメッセンジャーなどで人に伝えます。そこから会話が始まってアイデアが出てくることが多いのです。だからメッセンジャーの履歴をよく検索します﹂
ネットだけではなく﹁なるべく人に会うようにしています﹂と伊藤さんは語る。﹁個人で作っていると、どうしても視野が狭くなります。会社にいればアンテナを張らなくても業界情報が入ってきますが、今は大学院に通っているのであまり情報が入ってこないのです﹂
そのため伊藤さんはよく技術者仲間と開発合宿に行っている。﹁社会人になりたてのころは上司から学ぶことができます。でも長く同じ会社にいると次第に学ぶことが少なくなってきます。だから外に出て、自分ができないことをやっている人と一緒に作業するのはとても大事なことです﹂
愛用の手帳。消えたToDoリストはペンでぐしゃぐしゃと消してしまう
大学に通いながら、個人で世界に向けてサービスを提供している伊藤さん。どういう仕事術を持っているのだろうか。
﹁特別なことはしていません。つねにメモ帳を持ち歩いていることぐらいですかね。このメモをPCの付箋紙ソフトとWiki︵PukiWiki︶に入れています。ToDoリストは数を増やさないようにしています。数が増えると心理的に重いし、2カ月たってもやらないものは多分一生やらないので、そういうものは消していきます﹂
スケジュールはMSNのものを使っている。﹁予定はメッセンジャー経由で入ることが多いです。MSNメッセンジャーからすぐにアクセスできるのでこれを利用しています﹂
RSSリーダーはフレッシュリーダーを利用。﹁ネット系のニュースや開発者のブログをよく読みます。でもフィード数は60ぐらい。増えすぎないように削っています﹂
使っているPCは﹁Let'snote﹂。これにApache、PHP、MySQLをインストールしておりいつでも開発ができる。﹁メモする感覚でちょこちょこプログラミングしています。思いついたコードを電車の中で書いたりもしますよ﹂
伊藤さんと話していると、﹁今できることからとにかくやる﹂という姿勢が伝わってくる。﹁自分が思いつくことなんて、絶対に他の人も考えているはずです。実際、思いついたけれどもやらなかったら他の人がやりはじめて流行っている、ということが何度もありました。それで悔しい思いをしたくないという意識が強いです﹂
シンプルなサービスをつくる伊藤さんの開発姿勢はとてもシンプル。﹁他の人がサービスをつくるときに役立つものを作りたい﹂、そう語る伊藤さんによる次のサービスに期待せずにはいられない。
Copyright © ITmedia, Inc. All Rights Reserved.