一学生がクリスマスでイラっとしてたところにはてなの記事があったので、ちょっとストレス解消に意見してみる。しかし、VCでのバイトや自分自身がソフトウェア開発を個人でやった経験からもいろいろと疑問を感じた。何をやってきた人なのか気になる人は自己紹介ページなどを見てください。
近藤社長「未熟だったと思う」 はてなが目指す“脱IT系” (1/2)
とりあえず先に言い訳書いておきます。
まず、私ははてなのサービスをほとんど使ってません。こっそりはてなスターついてますが、友達に言われてつけたくらいののりで、使い方も何気にわかっていません。
はてなの中の人もまったく知り合いいないので、誰のこともよく知らないので、人物評価とかに客観性は皆無です。
言い訳終わり。
はてなダイアリーとかはてブとかで有名な、株式会社はてな。東京オフィスはいったことあるんですが、正直あまり興味がないのでどのサービスがどうなのかとかは具体的にはよく知りませんでした。
そのときたまたま上記記事を見つけていろいろ疑問に思ったのでtwitterで突っ込みいれまくったのですが、せっかくなのでまとめてみようかなと思いました。
とりあえず読み進む前に記事をご一読ください。
まず一番最初に思い出した言葉はドラッカーの言葉。
「テクノロジストの条件」より
ベンチャーのマネジメントについて重要なことを1つあげるとすれば、それはトップマネジメントチームを構築することである。
たぶん、これは「個人ではなく、組織で作る」と本文で言っているところに対応するように思える。
しかし、なぜ近藤さんはコードを書くことをやめたのだろうか?やめるべきだったのだろうか。俺はそうはおもわない。これに関してもドラッカーの記述がある。
「テクノロジストの条件p107」
彼ら(起業家)は何をしたいかから考える。あるいは、自分が何に向いているかから考える。しかし正しい問いは、客観的に見て、今後事業にとって重要なことは何かである。
p109
自分は何が得意で何が不得意かとの問いこそ、ベンチャーに成功の兆しが見えたところで、創業者である起業家が向き合い考えなければならない問題である。
そして自動車の本田の例をひく。
p109
これは(中略)本田宗一郎が本田技研工業というベンチャーを始めるにあたって行ったことだった。彼は、マネジメント、財務、マーケティング、販売、人事を引き受けるパートナーが現れるまで、事業を本格化しなかった。彼自身はエンジニアリングと製造以外はやるつもりがなかった。この決心が、やがて本田を成功に導いた。
はてなのように急成長しようとしている会社に今必要なのは「マーケティングチーム」なのではなく、「トップマネジメントチーム」なのではないか。そして、少なくともネットで手に入る情報で知る限りの近藤社長はプログラミング大好き人間なのであり、それをやめて経営に注力する意味が果たしてあるのだろうか?
私は、経営ができる人を入れて、近藤社長はよりサービス作りに注力すべきだったのではないかと感じる。
次に疑問に思ったのは、節々に感じられる「顧客思考の欠如」である。顧客思考であろうとする意思は見えるが、その発言からはまだ、「自分のサービスを使わせたい」という俺俺感がぬぐえない
http://www.itmedia.co.jp/news/articles/0812/24/news044.html
「自分が作ったものをできるだけたくさんの人に使ってほしい」
「自分でプログラムを書いて動くものを作っていると、どうしても視野が狭くなる。現場から離れれば、現場で出てきたものをたくさんの人に使ってもらえるかを考えるようになる」
「作るだけでなく『どう広めるか』を考える人たちが、初めて生まれた」
確かに、作ったものをアピールし、できるだけリーチさせようという点での努力を開始したことは読み取れる。が、基本的には「自分たちが作ったものありき」である。後に詳述するが、この発想は「サービス」ではなく「コンテンツ」の売り方に近い。
また次のように個人でなく組織で作れば顧客思考になるという記述もあるが、これも勘違いであるように思う。
今必要なのは、開発者の個人プレーではなく、ある程度の規模のものを組織的に作っていける体制だ。社内には新たに、「マーケティングチーム」を設置。「作るだけでなく『どう広めるか』を考える人たちが、初めて生まれた」
確かにこうすれば、個人の思い込みが和らぐかもしれない。しかし、それは個人がはてな社内に広がっただけである。いまだに顧客思考がまったくかけている。
実ははてなのサービスは、「サービス」ではなくて「コンテンツ」に近い販売方法になるのではないかと個人的に思う。検索エンジンやブログサービスよりは、マンガやゲームに近い娯楽要素を強く感じる。
これも記事中からある程度読み取れる。
http://www.itmedia.co.jp/news/articles/0812/24/news044_2.html
あこがれの対象は、Googleから任天堂に変わった。
世界に通じる「本当に面白いもの」は、米国でなくても、Googleのような会社でなくても作れるということを、任天堂は、日本の京都で、証明してくれたのだ。
注意してほしいのは、googleは「面白いもの」では決してないことに気をつけてほしい。言葉尻で遊んでるようにも思えるかもしれないが、googleが提供するのは「サービス」なのである。もう少し正確に言えば「ツール」である。
webページを探し出すツール。メールを授受するツール。スケジュールを管理する「ツール」
ついついgoogle mapなどの見た目の面白さにだまされがちではあるが、本来的にgoogleが提供しているのは道具であり、日常的なユーザはあれを面白いと思って使ってはいない。
一方ではてブや増田などのサービスはどうだろうか?あれは、見て面白いものを探す「コンテンツ」である。増田も少なくとも読者目線でいえばコンテンツであろう。
果たしてどのくらいのユーザが「はてなを便利なツールとして」使っているのだろうか?はてなを使わない私はその点を判断しずらいが、少なくとも私の知人などの観測範囲では娯楽を得るための「コンテンツ」としての要素が強いように思える。
またその開発に当たっての発想も、「コンテンツ」に近かったのではないだろうか。少なくとも今までは。
http://www.itmedia.co.jp/news/articles/0812/24/news044.html
「エンジニア主導で作ると、動いたところで満足してしまう。『ちゃんと動いているから、あとは使う人が分かってくれるだろう』と、考えをストップするところがあった。本当は、動いたものを説明して分かってもらい、使ってもらうところまで来てやっと完成なのに」
これは、芸術などに近い考え方であるように思う。自分の考え・自分の思いを形にしてそれを見せる。顧客のニーズなどは一切お構いなし。しかし、コンテンツはそれでいいのである。
利便性よりも意外性・娯楽性が優先するのが「コンテンツ」である。
googleではなく任天堂に憧れが変わったことからもこれはわかるだろう。任天堂はいわずと知れたコンテンツ提供会社である。
結論に先立って、今までの流れをまとめる。私が思うに、はてなは「サービス」を提供している企業というよりは、「コンテンツ」を提供している企業である。またはてなに必要なのは、トップマネジメントチームである。
だいたい、どうすべきかという意見は文中に書いた。
個人的にはてながもし迷走しているのだとしたら、自分たちのコンテンツへの思いが強すぎる点にあるように感じる。ここでまたドラッカーの言葉をひく。
p99
最大の危険は、製品やサービスが何であり、何であるべきか、いかに買われ、何に使われるのかを顧客以上に知っていると思い込むことである。
p97
起業家なるものは、イノベーションの目的を自分なりに持ている。そのため別の使われ方をすると腹を立てる。想定外の顧客に売ることを拒否はしないかもしれないが、歓迎しないことをはっきりさせたがる。
(中略)
最初のコンピュータを手にしていたユニバックは、コンピュータを科学計算用に設計した。そのため、企業が関心を示してもセールスマンを派遣しなかった。コンピュータが何たるかを知らないのではないかとさえいっていた。
IBMも最初は科学用にコンピュータを設計した。天文学の計算が目的だった。しかしIBMは企業からの注文を喜んで受けた。10年後の1060年ごろ、ユニバックは圧倒的に優れたコンピュータを手にしていたが、IBMが市場を手にしていた。
直感的には、この状態に近いのではないかと感じる。はてなは娯楽・ギーク・IT系の人のコンテンツとしての成功を収めつつあるにもかかわらず、それを捨てようとしているのではないか?
「普通の人が知ってるサービスになりたい」という願望が強すぎるのではないだろうか?これに果たして意味があるのだろうか?
個人的な経験から言えば、大方の直感に反して「普通の人が知っているかどうか」はそれほど重要ではない。「普通の人が知ってるサービスになりたい」というのはあくまで近藤社長の願望であり、それは売り上げや利益とはまた別問題であり、さらに顧客のニーズとも別問題である。
(それは多くの人が広告モデルを直感するから、ユーザが多いほうがいいと信じているに過ぎない)
この記事からだけで、今後のはてなの行く末を予見することは無理だけど、ただひとつ思うのは「顧客指向になり、サービスを提供する」のか「コンテンツとして、娯楽をうっていくのか」の大きな岐路に立っているんだろうなということだろうか。
追記:
はてダとかどうなんだとか突っ込まれて考えたんですが、ダイアリー、人力検索、アンテナとそれ以外で結構ユーザ層が違うのかなぁという印象を受けました。
結局はっきりとした事実はわからないのであれですが、どちらにフォーカスするのかというのは重要な決断だと思うし、両方やることは不可能でないにしても方向性が違うので、どちらかに注力するほうがいい選択なのではないかと思います。路線として。
追記:
関連URL
railsアプリの欠点のひとつはファイルのアップロードが大変なことでしょう。
そこで次のようなrakeを作って、rsyncをつかってサーバと同期するようにしました。
これでテストサーバにアップロードするのが簡単になります。
deployするときはcapistranoの方が楽そうですが、開発段階ではいちいちsvnにコミットせねばならず無駄にコミットを繰り返すことになってしまいます。
おそらくこちらの方がよいでしょう。
参考につくったrakeファイルを置いておきます。これを lib/tasksに入れておけばOK。
SERVER=”username@domain.name”
APP_DIR=”/path/to/merb/root/”namespace “rsync” do
desc “do rsync”
task :do do
sh “rsync -avz –delete –exclude ‘.pid’ –exclude ‘log/’ –exclude ‘.svn/’ –exclude ‘tmp/’ –exclude ‘*~’ –progress ./ #{SERVER}:#{APP_DIR}”
enddesc “test rsync”
task :test do
sh “rsync -avz –delete –exclude ‘.pid’ –exclude ‘log/’ –exclude ‘.svn/’ –exclude ‘tmp/’ –exclude ‘*~’ –progress –dry-run ./ #{SERVER}:#{APP_DIR}”
end
enddesc “alias do rsync”
task :rsync => “rsync:do”desc “reset merb”
task :restart do
sh “ssh #{SERVER} touch #{APP_DIR}tmp/restart.txt”
end
これを使うと merb restart で再起動(mod_rack使用時のみ)でき、merb rsyncでrsyncを実行、merb rsync:testでrsyncの内容を確認することができます。
実は口頭とtwitterではよく言ってるんだけど、iPhoneがビジネスになるかどうかは結構難しいよね。
という、話を書いている人がいたのでリンクを貼る。
単価を100円とすると1万本売れても100万円が1回入ってくるだけで、優秀な開発者を2名以上アサインすると開発費を捻出できない。(実際にペイしなかった)
たぶん一番の問題はここで、現状app storeにあがっているものは漫画とかの「コンテンツ」の扱いに近く、一度消費されたら二度消費されない。
つまり一回の収入で売り切りになってしまうわけ。
よく600万円売り上げたソフトがある?とか話題になるけど、それで企業のお金が回るようには思えない。恒常的にヒットが飛ばし続けられるのかという問題に結局はなってしまう。
ポイントはおそらくここ。
App Storeでは不可能だが、既にコンテンツを抱えていたり、ウェブサービスを展開している会社では、そちらでお金を稼ぎ、アプリは無料で公開するというビ ジネスモデルが可能。つまり、有償版のウェブサービスを契約しないとアプリは接続できないようにする。iPhone アプリは、なぜか通信は比較的自由にできるのでそれをフル活用すべし。
個人的にはIDを有料で売るような仕組みはありなんだろうなと思っている。どうやら利用規約で禁止されていたりはしないようなので、こういう形で月額課金を施すことは可能なのかと思う。
たとえば「機能限定版は無料で使えるけど、フル機能はIDを取得してアクティベートとできない」というのは原理的には可能な仕組みのはず。
ほかにもいろいろとアイディアはあるけど、儲けようとおもうならこうした仕組みは必要だろうなと思う。
確実に利益を出すには、コンテンツプロバイダーからの受託やコンサルかと思います。携帯の公式サイトを作りたがるコンテンツプロバイダーが多いように、iPhoneアプリを作りたいというコンテンツプロバイダーは一定数いると思います。
そう。だけどこの議論は、どんなことにも当てはまってしまうので、あまり新しい事実ではないんだよね。「何かをつくりたいけど、能力がないorつくることが本業でない」ひとから仕事を請けるというのは、いつの時代も安定的に収入につながる。たぶん中学生でもわかる。
個人的に思うのは、こういったものはiPhoneだけでなくfacebookのときもほとんど同じ現象が起きたのになということ。単純にfacebookが日本人にあまりなじみがないので日本だと表面化しなかったのかなぁ。
rockyouとかがfacebookでは有名ですが、あれがまわってる(か、どうか知らないけど)のはコンテンツ(ゲーム)を作るだけじゃなくて、人のを買ったりすることで安定的にコンテンツを提供し続けている点にある。
ジャンプはたくさん漫画が載っているわけだけど、漫画家が何年もヒットを飛ばすなんてことは考えにくいよね。あったとしてもレアすぎてそれを期待するのはナンセンス。
やはりビジネスとして定常的にまわそうと思うなら、コンテンツを流通させる部分にまわるのが正解なのかなぁとおもう。
デジタルコンテンツを流通させる方法が増えているのは事実で、facebookやiPhone, Android marketやらなんやらある。個人的に思うのは適切なコンテンツを集め、適切な流通路に流す。そういうことをするのがあの周辺のビジネスではうまくいくんじゃないかなと感じます。
もうひとつの可能性は、「コンテンツ」ではなく「サービス」を提供するようにすること。そして、「サービス」の提供に見合った課金方法を構築することかな。
前述のとおり月額課金することは、iPhone app store自身ではできないわけですが、技術的に実現することは可能です。
そして、ユーザに一定の「サービス」を提供することで毎月少しずつ売り上げる。きっとこういうモデルを確立する必要があるのだと思います。
「コンテンツ」と「サービス」は何が違うんだという話はありそうですが、それはまた別の話なのでまたの機会に。ただ、この二つを混同してビジネスを構築すると必ず破綻するだろうなと思います。そして、知っている範囲ではほとんどが「コンテンツ」として売られているような気がします。
さて、趣味でやってる俺見たいのとか個人の人は別として、企業でやろうとしてる人はちょっと考えてみてはいかがでしょうか?
http://www.snotr.com/video/1926
(http://twitter.com/shi3z/status/1042030674)
実は似たようなのは結構あったりしてテンションを刺激されるなーと思う。
processingという割と有名なツールがよく使われており、そこのページのexhibitionにたくさん例が載っています。
http://processing.org/exhibition/index.html
気に入ってるものをいくつか。
http://www.movingbrands.com/pages/home/responsive?casestudyid=147&flash=1
http://www.firstbornmultimedia.com/gallery/player.aspx?title=Digital%20Kitchen&stitle=Live%20Event&file=dk_fb&width=480&height=270
http://bricktable.wordpress.com/about/what-is-roots/
http://www.flickr.com/photos/shiffman/2124879919/
すごいといえば、違う意味ですごいのがこの動画。ファイルサイズ概要に小さい。
http://gigazine.net/index.php?/news/comments/20070423_fr041_debris/
メガデモとよばれるもので、むかーしはやってました。
重い重いといわれているeclipseですがこれで若干マシになりました。
JVMがいけないのもようです。
インストラクションどおりにsunのjvmに変えたらダイブマシになりました。
まぁなんでプログラミング10何年もやってて知らないんだって話しです。
冷静に考えると特に必要はなかった気もするんですが、実験のデータ加工をするプログラムをC++で書いてみました。
C++あまり使ったことなかったのですが、最近のプログラミング言語に比べて割と挙動が違うのでコツが必要だった。
ようは一番何が違うかというと、オブジェクトとそれを格納する変数の取り扱いが違う。
C++:
MyClass mc;
と書くと、たとえばjavaとかの場合mcにはnullが入っているわけですが、c++の場合暗黙にコンストラクタMyClass()が呼び出されて初期化されます。
どういう差かというとjavaの場合オブジェクト型を入れる変数は全部ポインタなんですね。だから宣言しただけだとnull(pointer)が入ってるわけです。
C++の場合普通に宣言すると、ちょうどCの構造体と同じ扱いになります。つまり基本的には「値」扱いみたいな感じになります。
なのでC++にはガーベッジコレクトがないわけですが、上のように宣言すると(mcの内部の話は別として)mc自体は破棄されます。
これを確認するのに一時間くらいテストコード書いてた・・・・
つまりは、C++で
C++:
MyClass * mc = new MyClass();
と書く場合がjavaのデフォルトで、ただし、ガーベッジコレクトがあるおかげで、なんか適当な感じにできてるわけです。
この辺はrubyとか、たぶんpythonも一緒。
で、問題はガーベッジコレクトがないところで、newなどで動的にメモリ確保をした場合が割りとめんどくさいのです。
たとえばつぎのようなクラスを作ったとします。このクラスはあまり設計的によろしくないような感じがします。
こういう風にした場合hogefunc()で作られたFooのメモリが開放されません。どっかでdeleteしないといけないんでしょうが、どこでやったものかという悩みが発生します。
ちなみにjavaとかだとまったく問題ないんだけども。
MyClassのデストラクタでやるとするとMyClassが破棄された時点でFooが消えるので、メモリの変なところへアクセスしたりしそうです。
一方で、(この場合は問題にならないですが)MyClassの外で消すと、MyClass内の処理で引っかかりそうです。
なんか適当に作ってしまったので、いまさら変更するのもなーと思って放置なんですが、どうやるのが美しいのかなぁ。
new使わずにやるのがよさそうかな。
けどその場合の帰り値はコピーコンストラクタとかが使われることになるのかな。解決できる問題ではあるんだけど、めんどくさいのとC++の流儀がどうなってるのかがひっかかってるはらじゅんでした。