kozyty
August 21, 2014 2:14 am
APIを公開するということの意味と価値と意志と…。
アプリにしろWebサービスにしろサーバーサイドが存在しているサービスは多いだろう。今日はそんなサービスがAPIを作成して公開することについて話してみたい。
エンジニアに限らずプロデューサーやディレクター、デザイナーなど開発現場に属している方は是非一度APIというものについて考察していただきたい。これがそのキッカケになれば幸いだ。
今日のネタ元はこちら
UberがAPIを公開―TripAdvisor、UAなど外部アプリ内からUberが呼べるようになった
http://jp.techcrunch.com/2014/08/21/20140820uber-api-part-deux/
先週、われわれのJosh Constineは「Uberはサードパーティーのアプリ内からUberの車を呼べるようにAPIを公開する準備をしている」という記事を書いた。今日(米国時間8/20)、Uberは11社のサードパーティーのパートナーに対してAPIを提供したことを発表した。
これをみて自分は感激した。Uberは今までも様々な施策などで幾度となく驚かされていたけれど、今日この記事を読んで驚きが感動に変わった。Uberがみていたものの片鱗が垣間見れたからだ。
サービスをローンチしたのなら一度はチームで議論すべきだ。
はじめに言っておくが、規模やサービスのコンセプトなどによってはAPIの公開は悪になる可能性はある。それもあってなのか不思議なことにAPI公開の価値を言及する人は多くない。
- サービスの体験自体を変化させるほどのインパクトを持ち得ない。
- その割りに開発コストや運営コストが高い。
- さらには問題の起点となることもしばしばある。 などと思われがちだ。
それでも敢えて言いたい。API公開にはコストや負荷以上に価値がある場合があると。
公開すべきと思う理由
1. 自由な発想は許容すべき
サービスが発展途上にあるのならば、より多くの柔軟な発想に触れるべきだ。 最小構成のチームで開発している場合、圧倒的にリソースが足りていないことを再認識すべきだ。自分たちはコア部分に専念する。という意味でも。
2. 共有可能なデータは公開すべき
自身のサービスのことを想うのであれば、親は過保護しぎてはいけない。インプットもアウトプットも存分にさせるべきだ。
3. 属人的な内部事情や負債になりがちなものに目が行く。
後回しになりがちなことだし、とても大変なことだが、幸せにはなれる。サービスが大きくなってからではそれこそ手が付けられないモンスターになってしまっている場合もあるだろう。
サービスの状態に合わせて臨機応変に
公開タイミングやその内容は、サービスの状態に合わせて変更していくという前提条件を忘れずに。
公開するからには最善の注意を
いざ公開する前に、以下の点には注意しておいたほうがいい。
1. 完全公開ではなく登録制にしているか。
完全公開を悪とは言わないが、登録制をお勧めしたい。ある程度コントロールできるようにしておかなければ、それこそ何かあった時の対処法が継続か停止という2択のみになってしまう。
2. コアサービスに影響がないように設計されているか。
これは負荷やコア体験部分に関してである。大抵の場合、緊急時におけるAPIの優先度は高くない。
影響し合うような設計は避けて、しっかりとお互いに独立すべきだ。
個人的にAPI公開して欲しいサービス
- bento.jp
- medium.com
- dayone.me
API公開しているサービスがあったら、APIを使ってどんなことができるのか考えてみよう。
サービスの可能性を妄想するのは単純に楽しい。最初は遊び感覚でやってみるといいかもしれない。ぜひ試してみてほしいですね。
Dayoneからの投稿3日目