Weitere ähnliche Inhalte Ähnlich wie Twitter4Jのプロモーション戦略 - たくさん使ってもらうためにしたこと #jjug_b11 (20) Mehr von Yusuke Yamamoto (20) Kürzlich hochgeladen (10) Twitter4Jのプロモーション戦略 - たくさん使ってもらうためにしたこと #jjug_b115. Twitter4Jの プロモーション 戦略
たくさん使ってもらうためにしたこと
Yusuke Yamamoto @yusuke
8. 活動 手段
プロモーション 広告出稿
インセンティブ
営業活動
口コミ
Yusuke Yamamoto @yusuke
9. 目的 活動 手段
プロモーション 広告出稿
インセンティブ
営業活動
口コミ
Yusuke Yamamoto @yusuke
10. 目的 活動 手段
知名度向上 プロモーション 広告出稿
インセンティブ
営業活動
口コミ
Yusuke Yamamoto @yusuke
11. 目的 活動 手段
知名度向上 プロモーション 広告出稿
インセンティブ
ブランド向上
営業活動
口コミ
Yusuke Yamamoto @yusuke
12. 目的 活動 手段
知名度向上 プロモーション 広告出稿
インセンティブ
ブランド向上
営業活動
売上最大化 口コミ
Yusuke Yamamoto @yusuke
13. 目的 活動 手段
知名度向上 プロモーション 広告出稿
インセンティブ
ブランド向上
営業活動
売上最大化 口コミ
Yusuke Yamamoto @yusuke
14. 目的 活動 手段
知名度向上 プロモーション 広告出稿
インセンティブ
ブランド向上
営業活動
ユーザー増加 口コミ
Yusuke Yamamoto @yusuke
15. 目的 活動 手段
知名度向上 プロモーション
ブランド向上
ユーザー増加
Yusuke Yamamoto @yusuke
16. 目的 活動 手段
知名度向上 プロモーション
ブランド向上
ユーザー増加
Yusuke Yamamoto @yusuke
17. 目的 活動 手段
知名度向上 プロモーション
ユーザー層を広げる
ブランド向上
ユーザー増加
Yusuke Yamamoto @yusuke
18. 目的 活動 手段
知名度向上 プロモーション
ユーザー層を広げる
ブランド向上
安心して使えるように
ユーザー増加
Yusuke Yamamoto @yusuke
19. 目的 活動 手段
知名度向上 プロモーション
ユーザー層を広げる
ブランド向上
安心して使えるように
ユーザー増加 簡単に使えるように
Yusuke Yamamoto @yusuke
20. 目的 活動 手段
知名度向上 プロモーション
ユーザー層を広げる
ブランド向上
安心して使えるように
ユーザー増加 簡単に使えるように
Yusuke Yamamoto @yusuke
21. 目的 活動 手段
知名度向上 プロモーション
ユーザー層を広げる
ブランド向上
安心して使えるように
ユーザー増加 簡単に使えるように
Yusuke Yamamoto @yusuke
24. プロモーション
Yusuke Yamamoto @yusuke
25. プロモーション
• とにかく知って貰う
‣ ブログ
Yusuke Yamamoto @yusuke
26. プロモーション
• とにかく知って貰う
‣ ブログ
Yusuke Yamamoto @yusuke
27. プロモーション
• とにかく知って貰う
‣ Twitter
Yusuke Yamamoto @yusuke
28. プロモーション
• とにかく知って貰う
‣ Twitter
Yusuke Yamamoto @yusuke
29. プロモーション
• ニュース系サイト
Yusuke Yamamoto @yusuke
30. プロモーション
• ニュース系サイト: javanews.jp
Yusuke Yamamoto @yusuke
31. プロモーション
• ニュース系サイト: TheServerSide
Yusuke Yamamoto @yusuke
32. プロモーション
• ニュース系サイト: digg.com
Yusuke Yamamoto @yusuke
33. プロモーション
• ニュース系サイト: DZone.com
Yusuke Yamamoto @yusuke
34. プロモーション
• ニュース系サイト: マイナビ
Yusuke Yamamoto @yusuke
36. プロモーション
• 高いググラビリティ
Yusuke Yamamoto @yusuke
39. 対象言語を増やす
• ユーザー: プログラマ
Yusuke Yamamoto @yusuke
40. 対象言語を増やす
• ユーザー: プログラマ
‣ 手段: 言語を増やす
Yusuke Yamamoto @yusuke
41. 対象言語を増やす
• ユーザー: プログラマ
‣ 手段: 言語を増やす
• プログラミング言語
• 自然言語
Yusuke Yamamoto @yusuke
42. 対象言語を増やす
{
• ユーザー: プログラマ
Java
‣ 手段: 言語を増やす .Net
• プログラミング言語 C
Ruby
Python
• 自然言語
Yusuke Yamamoto @yusuke
43. 対象言語を増やす
{
• ユーザー: プログラマ
Java
‣ 手段: 言語を増やす .Net
• プログラミング言語 C
{
英語 Ruby
中国語
Python
• 自然言語 ヒンディー語
....日本語
Yusuke Yamamoto @yusuke
44. 対象言語を増やす
{
• ユーザー: プログラマ
Java
‣ 手段: 言語を増やす .Net
• プログラミング言語 C
{
英語 Ruby
中国語
Python
• 自然言語 ヒンディー語
....日本語
Yusuke Yamamoto @yusuke
45. 英語対応
• マルチリンガルサイト
‣ http://twitter4j.org/en/ : 英語
‣ http://twitter4j.org/ja/ : 日本語
Yusuke Yamamoto @yusuke
47. 対象プラットフォームを増やす
• プラットフォーム
‣ Java
• 1.4.x
• 5.0
• 6.0
{ リリース当時サポート
• 7.0
Yusuke Yamamoto @yusuke
51. 参考情報
http://www.slideshare.net/yusukey/java7-8530853
Java7シンタックスで レガシーコードを快適メンテナンス
Yusuke Yamamoto @yusuke
52. 対象プラットフォームを増やす
• プラットフォーム
‣ Java
• 1.4.x
• 5.0
• 6.0
{ リリース当時サポート
• 7.0
Yusuke Yamamoto @yusuke
53. 対象プラットフォームを増やす
• プラットフォーム
‣ Java -target jsr14ではJava 7互換性に問題あり
• 1.4.x
• 5.0
• 6.0
{ リリース当時サポート
• 7.0
Yusuke Yamamoto @yusuke
54. 対象プラットフォームを増やす
• プラットフォーム
‣ Java -target jsr14ではJava 7互換性に問題あり
• 1.4.x
• 5.0
• 6.0
• 7.0
{ 次期バージョンのサポート対象
Yusuke Yamamoto @yusuke
56. 対象プラットフォームを増やす
• プラットフォーム
‣ Java
‣ Google App Engine
Yusuke Yamamoto @yusuke
57. 対象プラットフォームを増やす
• プラットフォーム
‣ Java
‣ Google App Engine
‣ Android
Yusuke Yamamoto @yusuke
58. 対象プラットフォームを増やす
• プラットフォーム
‣ Java
‣ Google App Engine
‣ Android
• 「対応しています」
• テストはしてない!
• 報告があり次第対応
Yusuke Yamamoto @yusuke
60. 安心して使える
Yusuke Yamamoto @yusuke
66. ロードマップが明確
• JIRAで課題、ロードマップ公開
Yusuke Yamamoto @yusuke
67. • プロジェクトに設定しやすい
• 古典的なライブラリの使い方
‣zip/tgzをダウンロード・展開
‣ jarをlibsディレクトリに配置
‣ クラスパスに通す
Yusuke Yamamoto @yusuke
68. • プロジェクトに設定しやすい
• モダンなライブラリの使い方
• プロジェクトの依存を明記
• 対応ツール
• Maven / Ivy / Grape / Gradle / Buildr / SBT
• Maven Central Repoよりダウンロード
• 自動的にクラスパスに追加
Yusuke Yamamoto @yusuke
69. 簡単に使える
Yusuke Yamamoto @yusuke
72. ドキュメント
• 多くのOSSで問題
‣ ドキュメンテーションのメンテナン
スコスト
Yusuke Yamamoto @yusuke
73. ドキュメント
• Twitter4Jのフォーカス
‣ 簡単なサンプルコード例
‣ 設定方法
‣ 開発に参加する方法
Yusuke Yamamoto @yusuke
74. ライブラリ依存関係
• 依存関係があると敷居が高い
‣ クラスパスが分からない開発者
• NoClassDefFoundError!
‣ 他の依存ライブラリと衝突
Yusuke Yamamoto @yusuke
75. ライブラリ依存関係
• Twitter4Jはライブラリ依存なし
‣ twitter4j-core.jarをクラスパスに通す
だけ
Yusuke Yamamoto @yusuke
76. ライブラリ依存関係
• がんばって自作した
‣ OAuth
‣ BASE64
‣ HttpClient
Yusuke Yamamoto @yusuke
77. ライブラリ依存関係
• パッケージを変更して内蔵
‣ org.json.* → twitter4j.interna.org.json.*
Yusuke Yamamoto @yusuke
78. ライブラリ依存関係
• あれば自動的に使う
‣ ロギング
• Log4j / Commons Logging
• SLF4J
• LogBack
• JUL(java.util.logging.*)
Yusuke Yamamoto @yusuke
80. 容易なトラブルシューティング
• 例外スタックトレースの工夫
‣ バージョンを織り込む
twitter4j.TwitterRuntimeException: A JSONArray
text must start with '[' at 2 [character 3 line
1]Relevant discussions can be on the Internet at:
http://www.google.co.jp/search?q=610d24cf or
http://www.google.co.jp/search?q=03587c2f
TwitterException{exceptionCode=[610d24cf-03587c2f
2efc4644-56189413], statusCode=-1, retryAfter=-1,
rateLimitStatus=null,
featureSpecificRateLimitStatus=null,
version=2.2.5}
Yusuke Yamamoto @yusuke
81. 容易なトラブルシューティング
• 例外スタックトレースの工夫
‣ 検索用コードを織り込む
twitter4j.TwitterRuntimeException: A JSONArray
text must start with '[' at 2 [character 3 line
1]Relevant discussions can be on the Internet at:
http://www.google.co.jp/search?q=29f6cd28
http://www.google.co.jp/search?q=00ded0d8
TwitterException{exceptionCode=[610d24cf-03587c2f
2efc4644-56189413], statusCode=-1, retryAfter=-1,
rateLimitStatus=null,
featureSpecificRateLimitStatus=null,
version=2.2.5}
Yusuke Yamamoto @yusuke
84. プロモーション ユーザー層を広げる
ブログ 言語
Twitter プラットフォーム
ニュースサイト
ググラビリティの高い名称
安心して使える 簡単に使える
一般的なライセンス サンプルコードが充実
開発がアクティブ ドキュメント
コミュニティがアクティブ ライブラリ依存関係
ロードマップが明確 シンプルなパッケージ構成
Maven対応 容易なトラブルシューティング