ソフトウェアジャパン2009に行ってきた

会社から会場が近かったので、サクっと行ってきました。

情報処理学会主催なので、基本的にはお堅いお話が多かったようですが、
個人的にはてなとモバゲーの講演もあるとのことで、参加することに。

はてなの挑戦

ビジネスモデル
  • ユーザ登録、基本的な機能は無料
  • 広告、オプション機能による課金
  • 登録ユーザ90万人、月間ユニークユーザー1000万人

ビジネスモデル的には、特に目新しいことはないようです。
以下に質が良いサービスを出すかというところでしょう。

はてなブックマークのリニューアル
  • 2008/11 全面リニューアル
    • 2005年サービス開始からのプログラムを一新
    • 開発期間 約半年(人数 4人)
    • デザインのリニューアル
    • ソーシャル機能
      • 友達のブックマークを追いかけよう
    • カテゴリ導入
    • 全文検索導入
      • 注目度の高い記事のみから検索
      • ブックマークしておけばいつでも呼び出せる

リニューアル当日はいろいろトラブルもあり、予定通りに終わらなかったみたいですが
リニューアル後のUUやPVは順調に増加しているようです。

情報処理技術の活用
  • 全文検索
    • PFIのSedue導入
      • ブックマーク数等を加味した検索結果
      • 圧縮SuffixArray
  • カテゴリ分類
    • 文書内の単語用いた機械学習による自動分類
  • 本文抽出

全文検索エンジンにSedueを使っているところが個人的に気になります。
大規模データの全文検索エンジンでは、モバゲーやGreeが使っているSenna
MixiHyper Estraier辺りが無難な選択だと思いますが、(Luceneやsolrは使ったことがないので)
ただ検索して表示だけではなく、独自色を出したいという思いが感じられますね。

私は実績と資料の豊富さからSennaを使うことを安易に選択しましたが。

PFI社との協業

開発時はPFI社と開発合宿を行って、効率的な開発ができたそうです。
他社と仕事する上と質問のやり取りがネックになって開発が滞ることがありますが、
その場で疑問点とか解決したり、意思の疎通ができるとかなり楽になるとおもいます。
中には開発合宿とか嫌う人も居そうですが。

サマーインターン

前半2週間は技術演習
後半2週間で本番にリリースする機能の開発

  • 「(はてブのデータなど)親しみのあるデータが大量にある場所で働くのは面白い」

教育カリキュラムをちょっとだけ紹介されましたが、なかなかレベルが高いような感じでした。
HadoopMapReduceとか、現場で働いていてもなかなか触れないようなモノまでやられているようで、
そのうち公開してくれないかなーとか、書籍で出してくれないかなーとか思ってます。

優秀なインターンが集まるようで、中には機能のコアとなる開発を任される人もいるとか。
社員の刺激にもなりますし、良い人材を囲えるし会社にとっても、学生にとってもいいこと尽くめですね。

うごメモはてな

DSiうごくメモ帳」で描かれた作品を共有するサービス
サーバ側のサービスの開発・運用ははてなが担当
任天堂からうごくメモ帳のネット部分の開発をできないかと打診
プロトを作成し、開発開始

浅草橋オフィスで1ヶ月あまり開発合宿

開始1ヶ月で20万作品(1/27時点で22万5000作品)

ネットを利用しているDSiユーザの39.5%が作品を投稿
ネットを利用している1DSiユーザあたり1日100作品を再生
高い投稿者比率、アクティブな利用


「ものづくりの現場からディレクター、プロデューサーを育てる」
時間は掛かるが、長期的にデザイナーやエンジニアと良好な関係が保てる。

経営職とか作って無理やりリーダーやらせようとしても成功するわけないよとのこと。
ですよねー。

0から1を生み出すために
  • 0から1を
    • 少人数で冒険する
      • 数が多くなると収集が付かない
      • とにかく動かせる人、変化を楽しめる人
      • とりあえず、動かしてみる(プロトタイプ作成)
      • 変更は必須。仕様通りにはおわらない。
      • ディレクターは一番考える。でないと人は付いて来ません。

よくある一番偉い人が一番思いつきで指示出しても誰も支持してくれません。

  • 0→1
    • とにかく動くものを作れる力
  • 1→10
    • 大量の情報を処理できる力

モバゲータウン開発秘話

現状

小説が人気コンテンツであることを強調されているように聞こえました。

サービス設計の前提条件
  • アバターの価値を最大化
  • 最初のコアターゲットは高校生
  • 他のSNSとの住み分けを考える

最初にアバターでお金を回収することを決めることで、「アバターの価値を最大化する」ことを基準として仕様を決定したそうです。

基本方針
  • 仮想世界でのコミュニケーションを主体とする
  • リアルとは違う自分に
  • みんなが主役になれる、居心地の良い場所を提供
  • 重要機能に絞った分かりやすいサービス
治安の維持
  • 携帯サービスのため、複数アカウントの取得が難しい
  • アバターやアカウントに愛着を持たせることによるモラルの維持
  • 居心地のよいコミュニティを大切にしてもらう文化作りを自治の定着
  • ユーザによる通報システム

アバターやアカウントに愛着を持たせるというのが基本なので、名前の変更も自由、アバターの受け渡しも自由、コインの受け渡しも自由となんでもOKのサイトでは、アバタやアカウントに対しての愛着は沸きにくい。
愛着があれば、AUのWeb切断しにくい状況になるかも。

システム設計・開発基本方針
  • 基本システムはモバオクのものを流用
  • 対応機種の世代と基本仕様の見直し
    • その当時の端末の95%ぐらいをカバーできればおk
  • ゲーム用フレームワークの新規開発
  • サイト規模に応じて、設定変更のみでスケールアウトできるように

最初から当時6000万PV/月?のモバオクより大きくなることを前提に構築されているため、スケールアウトが容易にできるらしい。何も考えずに開発を始めると後で大変だよ。

早期開発成功のポイント
  • 少人数で役割分担がしやすく、目標の共有、意思の決定も容易
  • 仕様決定の大部分の裁量があるため、開発しながらの試行錯誤が可能
    • 一貫したサイトの方向性を打ち出し易い

開発の現場にある程度の裁量があると、開発し易いし、より良いと思ったものをすぐに導入できる。
もちろん、目標の共有がきちんと行われていることが前提。
普通の会社ではなかなか裁量を与えてくれない。いい判断。

開発方針
  • システム全体を理解して運用まで見据えた設計・コーディング
  • 枯れたモジュール以外は極力使わず、必要最低限の機能で書き直す
  • 依存関係と呼び出し階層は極力浅めに
  • システム全般にマージンをとっておく
    • 負荷が上がってきたら、とっておいたマージンを使って対応時間を稼ぐ。亀仙人の甲羅。
  • 開発対象の性質に応じて、開発の丁寧さを調整
    • 早くだすことに意味がある機能は、テスト工数を極力削ってリリースを早める
  • サービス設計思想の共有

基本的な方針は全て自分達で抑えること。これによって、障害発生時や仕様変更時の対応をすばやくできるようにしている。