Facebookアプリの開発において注意すべき点はどのようなものがあるのでしょうか。技術的な問題以外にも、Facebookという特殊なプラットフォーム上でのアプリ開発には様々な制限やリスクが存在します。それらを回避するためのノウハウを5つのポイントに絞って紹介したいと思います。
1.継続的な情報収集を心がける
ソーシャルアプリの多くは、サービスがローンチしたとしてもそれで終わりではありません。継続的な成長のためには、常に品質改善と機能追加をしていく必要があります。Facebookでのソーシャルアプリ開発でも変わりはありませんが、仕様変更や機能追加が多いため、少なくとも以下のような情報収集を継続的に行っていく必要があるでしょう。
情報の入手方法
①大まかな情報はfacebookの開発ブログで集める。
http://developers.facebook.com/blog/
②仕様変更などに関してはロードマップを参考にする。
http://developers.facebook.com/roadmap/
③SDKごとの細かい情報は更新履歴を参考に変更箇所を探す。
https://github.com/facebook/php-sdk/ (PHP SDKの場合)
④開発者が積極的に情報交換の場所に出向き、収集する。
⑤Facebook 主催のカンファレンスをチェックする。
⑥日本から細かい話題のピックアップ元としてはフォーラムを積極活用する。
http://forum.developers.facebook.net/
2.Facebook側の仕様変更に備える
頻繁に仕様が変わったり、機能が追加されるため、ロードマップを確認しながら計画を立て、開発を進める必要があります。
FacebookロードマップURL:http://developers.facebook.com/roadmap/
今年に入ってからも、Static FBMLアプリの停止やコメント機能のバージョンアップなどの変更がありました。近いところでは2011年3Q に開発者アプリのリニューアル、7月にFacebook Creditsの利用義務化、9月にOAuth2.0への統合などが予定されています。
開発期間が長期に渡る場合は、その間に仕様変更がされる可能性も考慮し、余裕を持った納期設定を行い、柔軟性を持った開発手法を取り入れるべきでしょう。アプリ開発ではありませんが、当社も書籍の執筆中にFacebookファンページの大規模な仕様変更があり、大幅なリライトを与儀なくされたという切ない経験があります。
大きな仕様変更や開発計画は前述のロードマップで把握できますが、細かい変更は告知されないことがあるようです。当社が把握している限りでは過去一度だけですが、API戻り値のフォーマットが突然変わっていたことがありました。全く告知されない場合は稀であるにしても、通知が変更の直前になることはあるようなので、柔軟に対応していくしかないようです。
このような突然の仕様変更は、開発者側としては勘弁して欲しいというのが心情です。ただ、背景には、セキュリティ上の問題が発覚した場合や、ユーザーからのバク修正に対するFacebook側の迅速な対応などがあるようで、一概に非難することもできないように思います。
対応方針
このような仕様変更の対応方法ですが、基本的には事後対応するしかありません。
認知経路としては、不具合としてユーザーや身内から報告されるケースが多いようです。本来、ユニットテストによる継続的なテスト(例えばPHPUnitやJUnit、Seleniumのようなソリューション)を行っていればユニットテスト実行段階で発覚するところでしょうが、Flash や Javascriptなどクライアントサイドの処理が多くなることや、多数のFacebookオブジェクト間のソーシャルグラフの複雑な組み合わせに対する網羅性などがその実施を難しくしているようです。最初この話を聞いたとき、クライアントサイドで発生する処理のエミュレートはともかく、条件網羅などの担保はテスティングフレームワークの十八番じゃないかと思ったのですが、それがわかっていたとしてもFacebookの頻繁な仕様変更が開発者の心を打ち砕く、というのが現実のようです。
Facebook 側のバグ修正に関する事後の確認は、以下URLで閲覧できます。
http://developers.facebook.com/docs/changelog/
3.できるだけ海外のサイトから情報を収集する
Facebook公式の情報はもちろんですが、海外のブログも有力な情報収集手段になります。
センセーショナルなニュースは日本語に翻訳されることもありますが、鮮度・精度の面でどうしても劣ります。また、翻訳されるのはニュース性の高い記事が多く、開発系のコアな話題は放置されがちです。公式情報である日本語版Facebookのヘルプへの反映が遅れることも少なくありません。
英語のブログ記事を日常的に読んでいるなど、海外の情報につよい人がいないと、既に変更された仕様について書いてある日本語記事に惑わされることになるかもしれません。
有名どころ
- Inside Facebook:http://www.insidefacebook.com/
- ReadWriteWeb:http://www.readwriteweb.com/
- Mashable:http://mashable.com/
他にもTechCrunchやVentureBeatなども役立ちます。また、GoogleアラートやGoogleブログ検索も便利に使えます。
4.SDK(開発キット)はPHP版がおすすめらしい
サーバーサイドの開発言語は、特にこだわりがないのであればSDKが充実しいているPHPをすすめる開発者が多いようです。ただし、PHP版SDKは更新頻度が頻繁であるため、こまめなアップデートや対応が必要になります。
JAVA SDKもありますが、海外でも情報や資料が少ないようです。また、 Java の SDK は役に立つライブラリがそれほどないため、結局 PHP SDK や公式のドキュメントを参考にして自前でアクセスライブラリなどを作成することになるなど、作業量が多いようです。
とは言え、開発言語は自社技術者の習熟度にもっとも影響されるため、使い慣れた技術・環境次第になるでしょう。
5.海外向けサービスはネットワーク環境の違いに注意
海外はネットワーク環境が日本に比べ整っていません。ほとんどがADSL回線のためレイテンシが大きく、パケットロスの発生率が高いと言われています。
大容量の通信を一気に行うといったような、リッチなコンテンツは日本国内で問題なくテストができても海外で同じように動くとは限りません。海外で同様のテストを行うことができればベストですが、アプリ用Facebookページやインサイトを利用してユーザーの利用動向を注視し、使い勝手に関するコメントに耳を傾けるようにした方がよいでしょう。
終わりに
いかがでしたでしょうか。これらの情報は複数の開発・運用現場から業務上の必要性に迫られてヒアリングしたものです。Facebook公式のものではありませんし、内容が保証されたものでもありません。これらの情報を元に行った開発で万が一何らの不具合や損害が発生した場合でも、一切の責任を負いかねますのでご了承ください。
もっと詳細な情報が必要でしたら、私の所属会社でコンサルティングも請け負っておりますので会社経由でお問い合わせいただければと思います。
■ループス・コミュニケーションズお問い合わせフォーム
http://www.looops.net/aboutus/contact.php




8月31日、昨年から幾度と無く噂に登っていたmixi版Facebookページ、mixiページがリリースされました。開始初日で開設数は3万ページを超えたと言われており、業界での注目を集めています。
へー、知らないことだらけでした。さすがです。確かにFacebookアプリのリソースは少ない。いつも役立つ記事に感謝です。 http://fb.me/11STUTfFu
Facebookアプリの開発前に知っておきたい5つのポイント http://looops-lab.com/naoto/2011/05/26/facebook_application_dev/ via @okamuranaoto
]
当社直人のブログ記事です – Facebookアプリの開発前に知っておきたい5つのポイント http://ow.ly/53ciR
Facebookアプリの開発前に知っておきたい5つのポイント
http://ow.ly/53cpz
アプリ開発はよくわからんw/Facebookアプリの開発前に知っておきたい5つのポイント http://t.co/TiWFYkY via @okamuranaoto
@waffle_maker つ RT @toru_saito: 当社直人のブログ記事です – Facebookアプリの開発前に知っておきたい5つのポイント
Facebookアプリの開発前に知っておきたい5つのポイント « Looops 直人の備忘録: Facebookアプリの開発において注意すべき点はどのようなものがあるのでしょうか。技術的な問題以外にも、Facebookという… http://bit.ly/mFj2EH
Facebookアプリの開発前に知っておきたい5つのポイント « Looops 直人の備忘録: Facebookアプリの開発において注意すべき点はどのようなものがあるのでしょうか。技術的な問題以外にも、Fac… http://bit.ly/j5RH5n #fbkuma
Facebookアプリの開発前に知っておきたい5つのポイント « Looops 直人の備忘録 http://ff.im/-Ecbyq
LooopsのCTOナオトさんの記事。「Facebookアプリの開発前に知っておきたい5つのポイント」 http://t.co/fwFjBwv via @okamuranaoto
ソーシャルメディアマーケティング&コンサルティングの分野で著名な、Looops社CTO方の記事。Facebookアプリの開発前に知っておきたい5つのポイント http://t.co/fwFjBwv via @okamuranaoto
当社直人のブログ記事です – Facebookアプリの開発前に知っておきたい5つのポイント http://ow.ly/53ciR
ソーシャルメディアマーケティング&コンサルティングの分野で著名な、Looops社CTO方の記事。Facebookアプリの開発前に知っておきたい5つのポイント http://t.co/fwFjBwv via @okamuranaoto
Facebookアプリの開発前に知っておきたい5つのポイント « Looops 直人の備忘録 http://ht.ly/53gx0
当社直人のブログ記事です – Facebookアプリの開発前に知っておきたい5つのポイント http://ow.ly/53ciR
備忘録。
当社直人のブログ記事です – Facebookアプリの開発前に知っておきたい5つのポイント http://ow.ly/53ciR
ふむふむ・・・Facebookアプリの開発前に知っておきたい5つのポイント http://t.co/A59d7U0 via @okamuranaoto
Facebookアプリの開発前に知っておきたい5つのポイント http://t.co/PqStsnc via @okamuranaoto
この記事は保存版ですね。弊社ループス許(旧姓岡村)直人がまとめたFacebookアプリの開発にあたっての注意点。「Facebookアプリの開発前に知っておきたい5つのポイント」 http://ow.ly/53udM
この記事は保存版ですね。弊社ループス許(旧姓岡村)直人がまとめたFacebookアプリの開発にあたっての注意点。「Facebookアプリの開発前に知っておきたい5つのポイント」
この記事は保存版ですね。弊社ループス許(旧姓岡村)直人がまとめたFacebookアプリの開発にあたっての注意点。「Facebookアプリの開発前に知っておきたい5つのポイント」 http://ow.ly/53udM
この記事は保存版ですね。弊社ループス許(旧姓岡村)直人がまとめたFacebookアプリの開発にあたっての注意点。「Facebookアプリの開発前に知っておきたい5つのポイント」 http://ow.ly/53udM
見てる:
Facebookアプリの開発前に知っておきたい5つのポイント « Looops 直人の備忘録 http://bit.ly/lNQ74u
保存用
Facebookアプリの開発前に知っておきたい5つのポイント « Looops 直人の備忘録 http://htn.to/61ZhgG
[*流し読み][facebook][開発] / Facebookアプリの開発前に知っておきたい5つのポイント « Looops 直人の備忘録 http://t.co/Leg8Bsk
「このような仕様変更の対応方法ですが、基本的には事後対応するしかありません。」 / “Facebookアプリの開発前に知っておきたい5つのポイント « Looops 直人の備忘録” http://t.co/oXxUiQnZ
Facebookアプリの開発前に知っておきたい5つのポイント « Looops 直人の備忘録 – http://t.co/6eakOETf
Facebookアプリの開発前に知っておきたい5つのポイント http://t.co/LDZkRJM1 #dlab
Facebookアプリの開発前に知っておきたい5つのポイント « Looops 直人の備忘録 -
Facebookアプリの開発前に知っておきたい5つのポイント http://t.co/LDZkRJM1 #dlab
Facebookアプリの開発前に知っておきたい5つのポイント « Looops 直人の備忘録: Facebookアプリの開発前に知っておきたい5つのポイント « Looops 直人の備忘録Facebookアプリの開発において… http://t.co/K1G42VCJ