Ruby会議 2009    Ruby, Railsによる      「ケータイ」    ポータルの作り方!    ニフティ株式会社 成田 智也 / 浜中 慶
自己紹介✦成田 智也 / 浜中 慶✦ @nifty の Portal/CGM系サービスの開発✦ @nifty の Portal/CGM系基盤の開発/運用✦ (時々)実験的なサービスの企画/開発 ✦ @nifty TimeLine / @nift...
アジェンダ✦ @niftyとRuby/Rails(これまで)✦ ケータイサイトとその特徴✦ ニフティでのケータイポータルの作り方✦ ケータイポータル(集合体)の要件✦ 現状とこれから
今日触れないこと✦ 具体的なモバイル実装に関わる話✦ Ruby/Railsのコード✦ 周辺ミドルウェア/ライブラリの話✦ Android / iPhoneに特化した話✦ 所謂「ケータイ」サイト
@niftyとRuby/Rails
2003年✦ Ruby大好きエンジニアがニフティ入社✦ Rubyいいよと周りに薦める
2007年✦ @niftyでRuby, Rails製サービスが作られる✦ β版サービス    2サービス✦ ニフティのサービス基盤として、向いてるかも。✦ でも、まだLabs案件のみでの採用にとどまる...
@nifty TimeLine β
@nifty アバウトミー β
2008年✦ Rails製ケータイ向けCGMサービスを開始!✦ 社内のインフラを徐々に整えはじめる!✦ RailsPluginのOSS公開をやってみる!
@nifty 旅行日和
ココログサポート
@nifty ツクシィ
Ruby on Rails プラグイン
その他✦ サービス以外にもいくつかの活動
サービスだけじゃない✦ 2007∼2009 Ruby会議スポンサー✦ 福岡Rubyビジネス拠点推進会議 顧問企業
サービスだけじゃない✦ 慶応義塾大学 寄付講座にてRuby利用(2007∼) ✦ 寄付講座は他にも、青山学院/上智大学でも実施
Ruby, Railsによる   「ケータイ」ポータルの作り方とは
最近の@nifty✦ ケータイサイトを結構やってる   40サイト強
ケータイサイトの特徴✦仕様変更当たり前✦機種依存当たり前✦ターゲット層と使われ方✦スピード勝負
仕様変更当たり前 ✦ キャリア 「xxxサービス、はじめます」 ✦ メーカー 「端末にxx機能を追加します」 ✦ ユーザー 「もっと新しい物を!」要件は収まらない(追加され続ける)ので、   キャッチアップ→作りつづける
機種依存当たり前✦ 端末によって、✦ 画面サイズが違う✦ サポートする機能が違う✦ 些細な挙動が違う機種ごとの細やかな対応が必要になり、新機種の対応内容も反映する必要がある
ターゲット層と使われ方✦ 年齢:若年層あり(月525円払える)✦ 時間:日中いつでも(手元にある)✦ 使われ方も特徴的:✦ メール/メルマガ重要✦ 簡略操作(空メール/QRコード/UID)  ライフスタイルにあった利用→システムもライフスタイル...
スピード勝負✦ 簡単に作れる✦ サイトの単位やデザインコスト✦ 大手ベンダーの本格参入がされていない?✦ 投資規模の小さなサイトが大多数?✦ 無茶するベンダーが多い?✦ 「動けばよい」も時には通る?    スピード感が求められる
ケータイサイトの特徴✦ 仕様変更当たり前✦ 機種依存当たり前✦ ターゲット層と使われ方✦ スピード勝負
@niftyの解(検証中)  Rubyで!
ところでQ. Ruby on Railsにて構築されている、 国内の大規模モバイルサイト教えて。  A. あんまない(知られていない)
ケータイサイトの特徴✦仕様変更当たり前✦機種依存当たり前✦ターゲット層と使われ方✦スピード勝負
Rubyな理由✦ 過去の実績/積み上げ✦ トライアル/サービス経験✦ 迅速なリリースサイクルが可能✦ リリース後の改修しやすさ重要✦ ソースコードが標準化しやすい
ニフティでのケータイポータルの作り方!
@niftyケータイポータルの要件 ✦ 量産が必須要件 ✦ サービス単位の開発量は極力少なく ✦ サービス単位の運用量も極力少なく ✦ 継続的なエンハンスが必須 ✦ メンバーの入れ替わりにも柔軟に対応 ✦ 追加になったメンバーにもすぐに開発に入...
垂直統合型 開発スタイル メール         メール 画像加工       画像加工 レコメンド      レコメンドWebサービス   Webサービス  個々のサービスで各種機能を開発
垂直統合型 開発スタイル✦ メリット✦ 使いたいものを好きに使える✦ デメリット✦ 個々のサービス開発量が増える✦ 各サービスのAPLサーバでImage Magickや、postfixなどを保守する必要 がある
水平分業型 開発スタイル Webサービス Webサービス Webサービス Webサービス   各サービスではAPIを叩くだけ メール    画像加工       レコメンド       APIで機能を提供
水平分業型 開発スタイル✦ メリット✦ メール受信/送信、画像加工処理を他シス テムに移譲できる✦ 個々のサービス開発量を削減できる✦ デメリット✦ サービスは委譲した側のシステムの制約を 受ける
現状
現状✦垂直統合型開発スタイル✦ 各言語でフルスクラッチ(垂直統合) ✦ PHP, Java, Perl, Ruby.... ✦ ミドルウェア構成もバラバラ✦ 運用が大変...
これから
これから(検討中)✦水平分業+柔軟性✦基本はRuby/Rails✦サービスとしてコアな箇所は、 一部垂直統合(独自開発)も
たとえば
ケータイサービス✦Ruby+Rails✦jpmobile✦社内Railsプラグイン✦認証/メール/管理画面など✦firemobilesumilator / ssb
プロジェクト管理✦ @niftyProject ✦ ruby製tracファーム(redmine化検討中)✦ 開発規約の策定 ✦ @nifty Rubyコーディング規約  ✦ shugo maeda作のカスタマイズ版 ✦ @nifty Rails...
API:画像変換✦ 端末にあった画像を作る✦ P05AならWQVGAサイズへ変換✦ いい感じの切り取り機能
API:汎用メール投稿✦ 汎用モブログ受付君✦ メール投稿(日記、メアド確定)✦ 受け付けたメールを中継 ✦ csv/tsv/yaml ✦ HTTPで中継(規定のREST仕様)メールサーバの保守不要、導入が容易に
モバイル向けブラウザ✦ ssbカスタマイズ(予定)✦ シュミレーターの使い方の共有は無理✦ 安全な携帯端末IDを付与 ✦ ユーザデータなどの保護のため
まとめ
まとめ!✦ ケータイサービスやってる✦ ポータル量産屋✦ Ruby/Railsでやっていこうとしている✦ ケータイサービス✦ 共通機能も( 水平分業型で)
ニフティでは一緒にRuby,Railsでサービス開発をする仲間を募集しています!
ご清聴ありがとうございました!<narita.tomoya@nifty.co.jp><hamanaka.kei@nifty.co.jp>
Ruby会議2009:Ruby, Railsによる「ケータイ」ポータルの作り方
Upcoming SlideShare
Loading in …5
×

Ruby会議2009:Ruby, Railsによる「ケータイ」ポータルの作り方

2,487 views

Published on

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,487
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
0
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Ruby会議2009:Ruby, Railsによる「ケータイ」ポータルの作り方

  1. 1. Ruby会議 2009 Ruby, Railsによる 「ケータイ」 ポータルの作り方! ニフティ株式会社 成田 智也 / 浜中 慶
  2. 2. 自己紹介✦成田 智也 / 浜中 慶✦ @nifty の Portal/CGM系サービスの開発✦ @nifty の Portal/CGM系基盤の開発/運用✦ (時々)実験的なサービスの企画/開発 ✦ @nifty TimeLine / @nifty旅行日和✦ @niftyのモバイル系サービス/基盤の開発/ 運用
  3. 3. アジェンダ✦ @niftyとRuby/Rails(これまで)✦ ケータイサイトとその特徴✦ ニフティでのケータイポータルの作り方✦ ケータイポータル(集合体)の要件✦ 現状とこれから
  4. 4. 今日触れないこと✦ 具体的なモバイル実装に関わる話✦ Ruby/Railsのコード✦ 周辺ミドルウェア/ライブラリの話✦ Android / iPhoneに特化した話✦ 所謂「ケータイ」サイト
  5. 5. @niftyとRuby/Rails
  6. 6. 2003年✦ Ruby大好きエンジニアがニフティ入社✦ Rubyいいよと周りに薦める
  7. 7. 2007年✦ @niftyでRuby, Rails製サービスが作られる✦ β版サービス 2サービス✦ ニフティのサービス基盤として、向いてるかも。✦ でも、まだLabs案件のみでの採用にとどまる...
  8. 8. @nifty TimeLine β
  9. 9. @nifty アバウトミー β
  10. 10. 2008年✦ Rails製ケータイ向けCGMサービスを開始!✦ 社内のインフラを徐々に整えはじめる!✦ RailsPluginのOSS公開をやってみる!
  11. 11. @nifty 旅行日和
  12. 12. ココログサポート
  13. 13. @nifty ツクシィ
  14. 14. Ruby on Rails プラグイン
  15. 15. その他✦ サービス以外にもいくつかの活動
  16. 16. サービスだけじゃない✦ 2007∼2009 Ruby会議スポンサー✦ 福岡Rubyビジネス拠点推進会議 顧問企業
  17. 17. サービスだけじゃない✦ 慶応義塾大学 寄付講座にてRuby利用(2007∼) ✦ 寄付講座は他にも、青山学院/上智大学でも実施
  18. 18. Ruby, Railsによる 「ケータイ」ポータルの作り方とは
  19. 19. 最近の@nifty✦ ケータイサイトを結構やってる 40サイト強
  20. 20. ケータイサイトの特徴✦仕様変更当たり前✦機種依存当たり前✦ターゲット層と使われ方✦スピード勝負
  21. 21. 仕様変更当たり前 ✦ キャリア 「xxxサービス、はじめます」 ✦ メーカー 「端末にxx機能を追加します」 ✦ ユーザー 「もっと新しい物を!」要件は収まらない(追加され続ける)ので、 キャッチアップ→作りつづける
  22. 22. 機種依存当たり前✦ 端末によって、✦ 画面サイズが違う✦ サポートする機能が違う✦ 些細な挙動が違う機種ごとの細やかな対応が必要になり、新機種の対応内容も反映する必要がある
  23. 23. ターゲット層と使われ方✦ 年齢:若年層あり(月525円払える)✦ 時間:日中いつでも(手元にある)✦ 使われ方も特徴的:✦ メール/メルマガ重要✦ 簡略操作(空メール/QRコード/UID) ライフスタイルにあった利用→システムもライフスタイルを追う必要
  24. 24. スピード勝負✦ 簡単に作れる✦ サイトの単位やデザインコスト✦ 大手ベンダーの本格参入がされていない?✦ 投資規模の小さなサイトが大多数?✦ 無茶するベンダーが多い?✦ 「動けばよい」も時には通る? スピード感が求められる
  25. 25. ケータイサイトの特徴✦ 仕様変更当たり前✦ 機種依存当たり前✦ ターゲット層と使われ方✦ スピード勝負
  26. 26. @niftyの解(検証中) Rubyで!
  27. 27. ところでQ. Ruby on Railsにて構築されている、 国内の大規模モバイルサイト教えて。 A. あんまない(知られていない)
  28. 28. ケータイサイトの特徴✦仕様変更当たり前✦機種依存当たり前✦ターゲット層と使われ方✦スピード勝負
  29. 29. Rubyな理由✦ 過去の実績/積み上げ✦ トライアル/サービス経験✦ 迅速なリリースサイクルが可能✦ リリース後の改修しやすさ重要✦ ソースコードが標準化しやすい
  30. 30. ニフティでのケータイポータルの作り方!
  31. 31. @niftyケータイポータルの要件 ✦ 量産が必須要件 ✦ サービス単位の開発量は極力少なく ✦ サービス単位の運用量も極力少なく ✦ 継続的なエンハンスが必須 ✦ メンバーの入れ替わりにも柔軟に対応 ✦ 追加になったメンバーにもすぐに開発に入って もらえるように
  32. 32. 垂直統合型 開発スタイル メール メール 画像加工 画像加工 レコメンド レコメンドWebサービス Webサービス 個々のサービスで各種機能を開発
  33. 33. 垂直統合型 開発スタイル✦ メリット✦ 使いたいものを好きに使える✦ デメリット✦ 個々のサービス開発量が増える✦ 各サービスのAPLサーバでImage Magickや、postfixなどを保守する必要 がある
  34. 34. 水平分業型 開発スタイル Webサービス Webサービス Webサービス Webサービス 各サービスではAPIを叩くだけ メール 画像加工 レコメンド APIで機能を提供
  35. 35. 水平分業型 開発スタイル✦ メリット✦ メール受信/送信、画像加工処理を他シス テムに移譲できる✦ 個々のサービス開発量を削減できる✦ デメリット✦ サービスは委譲した側のシステムの制約を 受ける
  36. 36. 現状
  37. 37. 現状✦垂直統合型開発スタイル✦ 各言語でフルスクラッチ(垂直統合) ✦ PHP, Java, Perl, Ruby.... ✦ ミドルウェア構成もバラバラ✦ 運用が大変...
  38. 38. これから
  39. 39. これから(検討中)✦水平分業+柔軟性✦基本はRuby/Rails✦サービスとしてコアな箇所は、 一部垂直統合(独自開発)も
  40. 40. たとえば
  41. 41. ケータイサービス✦Ruby+Rails✦jpmobile✦社内Railsプラグイン✦認証/メール/管理画面など✦firemobilesumilator / ssb
  42. 42. プロジェクト管理✦ @niftyProject ✦ ruby製tracファーム(redmine化検討中)✦ 開発規約の策定 ✦ @nifty Rubyコーディング規約 ✦ shugo maeda作のカスタマイズ版 ✦ @nifty Railsセキュリティ規約
  43. 43. API:画像変換✦ 端末にあった画像を作る✦ P05AならWQVGAサイズへ変換✦ いい感じの切り取り機能
  44. 44. API:汎用メール投稿✦ 汎用モブログ受付君✦ メール投稿(日記、メアド確定)✦ 受け付けたメールを中継 ✦ csv/tsv/yaml ✦ HTTPで中継(規定のREST仕様)メールサーバの保守不要、導入が容易に
  45. 45. モバイル向けブラウザ✦ ssbカスタマイズ(予定)✦ シュミレーターの使い方の共有は無理✦ 安全な携帯端末IDを付与 ✦ ユーザデータなどの保護のため
  46. 46. まとめ
  47. 47. まとめ!✦ ケータイサービスやってる✦ ポータル量産屋✦ Ruby/Railsでやっていこうとしている✦ ケータイサービス✦ 共通機能も( 水平分業型で)
  48. 48. ニフティでは一緒にRuby,Railsでサービス開発をする仲間を募集しています!
  49. 49. ご清聴ありがとうございました!<narita.tomoya@nifty.co.jp><hamanaka.kei@nifty.co.jp>

×