• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Twitter4Jのプロモーション戦略 - たくさん使ってもらうためにしたこと #jjug_b11
 

Twitter4Jのプロモーション戦略 - たくさん使ってもらうためにしたこと #jjug_b11

on

  • 3,868 views

 

Statistics

Views

Total Views
3,868
Views on SlideShare
3,738
Embed Views
130

Actions

Likes
12
Downloads
16
Comments
0

5 Embeds 130

https://twitter.com 123
http://tweetedtimes.com 4
http://twitter.com 1
http://kred.com 1
https://si0.twimg.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Twitter4Jのプロモーション戦略 - たくさん使ってもらうためにしたこと #jjug_b11 Twitter4Jのプロモーション戦略 - たくさん使ってもらうためにしたこと #jjug_b11 Presentation Transcript

    • Twitter4Jのプロモーション戦略たくさん使ってもらうためにしたこと Yusuke Yamamoto @yusuke
    • @yusuke#jjug_b11 #q
    • • 2007年5月∼• オープンソース• たくさん使って貰いたい• 営利目的ではない Yusuke Yamamoto @yusuke
    • Yusuke Yamamoto @yusuke
    • Twitter4Jの プロモーション 戦略たくさん使ってもらうためにしたこと Yusuke Yamamoto @yusuke
    • プロモーション Yusuke Yamamoto @yusuke
    • 活動プロモーション Yusuke Yamamoto @yusuke
    • 活動 手段プロモーション 広告出稿 インセンティブ 営業活動 口コミ Yusuke Yamamoto @yusuke
    • 目的 活動 手段 プロモーション 広告出稿 インセンティブ 営業活動 口コミ Yusuke Yamamoto @yusuke
    • 目的 活動 手段知名度向上 プロモーション 広告出稿 インセンティブ 営業活動 口コミ Yusuke Yamamoto @yusuke
    • 目的 活動 手段知名度向上 プロモーション 広告出稿 インセンティブブランド向上 営業活動 口コミ Yusuke Yamamoto @yusuke
    • 目的 活動 手段知名度向上 プロモーション 広告出稿 インセンティブブランド向上 営業活動売上最大化 口コミ Yusuke Yamamoto @yusuke
    • 目的 活動 手段知名度向上 プロモーション 広告出稿 インセンティブブランド向上 営業活動売上最大化 口コミ Yusuke Yamamoto @yusuke
    • 目的 活動 手段知名度向上 プロモーション 広告出稿 インセンティブブランド向上 営業活動ユーザー増加 口コミ Yusuke Yamamoto @yusuke
    • 目的 活動 手段知名度向上 プロモーションブランド向上ユーザー増加 Yusuke Yamamoto @yusuke
    • 目的 活動 手段知名度向上 プロモーションブランド向上ユーザー増加 Yusuke Yamamoto @yusuke
    • 目的 活動 手段知名度向上 プロモーション ユーザー層を広げるブランド向上ユーザー増加 Yusuke Yamamoto @yusuke
    • 目的 活動 手段知名度向上 プロモーション ユーザー層を広げるブランド向上 安心して使えるようにユーザー増加 Yusuke Yamamoto @yusuke
    • 目的 活動 手段知名度向上 プロモーション ユーザー層を広げるブランド向上 安心して使えるようにユーザー増加 簡単に使えるように Yusuke Yamamoto @yusuke
    • 目的 活動 手段知名度向上 プロモーション ユーザー層を広げるブランド向上 安心して使えるようにユーザー増加 簡単に使えるように Yusuke Yamamoto @yusuke
    • 目的 活動 手段知名度向上 プロモーション ユーザー層を広げるブランド向上 安心して使えるようにユーザー増加 簡単に使えるように Yusuke Yamamoto @yusuke
    • Twitter4Jのプロモーション戦略 プロモーション Yusuke Yamamoto @yusuke
    • Twitter4Jのプロモーション戦略 プロモーション ユーザー層を広げる 安心して使えるように 簡単に使えるように Yusuke Yamamoto @yusuke
    • プロモーション Yusuke Yamamoto @yusuke
    • プロモーション• とにかく知って貰う‣ ブログ Yusuke Yamamoto @yusuke
    • プロモーション• とにかく知って貰う‣ ブログ Yusuke Yamamoto @yusuke
    • プロモーション• とにかく知って貰う‣ Twitter Yusuke Yamamoto @yusuke
    • プロモーション• とにかく知って貰う‣ Twitter Yusuke Yamamoto @yusuke
    • プロモーション• ニュース系サイト Yusuke Yamamoto @yusuke
    • プロモーション• ニュース系サイト: javanews.jp Yusuke Yamamoto @yusuke
    • プロモーション• ニュース系サイト: TheServerSide Yusuke Yamamoto @yusuke
    • プロモーション• ニュース系サイト: digg.com Yusuke Yamamoto @yusuke
    • プロモーション• ニュース系サイト: DZone.com Yusuke Yamamoto @yusuke
    • プロモーション• ニュース系サイト: マイナビ Yusuke Yamamoto @yusuke
    • プロモーション•見つけて貰う• 名前を分かりやすく‣ Twitter + Java = Twitter4J Yusuke Yamamoto @yusuke
    • プロモーション• 高いググラビリティ Yusuke Yamamoto @yusuke
    • ユーザー層を広げる Yusuke Yamamoto @yusuke
    • ユーザー層を広げる • 言語 • プラットフォーム Yusuke Yamamoto @yusuke
    • 対象言語を増やす• ユーザー: プログラマ Yusuke Yamamoto @yusuke
    • 対象言語を増やす• ユーザー: プログラマ‣ 手段: 言語を増やす Yusuke Yamamoto @yusuke
    • 対象言語を増やす• ユーザー: プログラマ‣ 手段: 言語を増やす • プログラミング言語 • 自然言語 Yusuke Yamamoto @yusuke
    • 対象言語を増やす {• ユーザー: プログラマ Java‣ 手段: 言語を増やす .Net • プログラミング言語 C Ruby Python • 自然言語 Yusuke Yamamoto @yusuke
    • 対象言語を増やす {• ユーザー: プログラマ Java‣ 手段: 言語を増やす .Net • プログラミング言語 C { 英語 Ruby 中国語 Python • 自然言語 ヒンディー語 ....日本語 Yusuke Yamamoto @yusuke
    • 対象言語を増やす {• ユーザー: プログラマ Java‣ 手段: 言語を増やす .Net • プログラミング言語 C { 英語 Ruby 中国語 Python • 自然言語 ヒンディー語 ....日本語 Yusuke Yamamoto @yusuke
    • 英語対応• マルチリンガルサイト‣ http://twitter4j.org/en/ : 英語‣ http://twitter4j.org/ja/ : 日本語 Yusuke Yamamoto @yusuke
    • 実装•jsp + サーブレットフィルタ• jspのファイル内に英語と日本語を混ぜて書ける $[ja:日本語]$[en:English] Yusuke Yamamoto @yusuke
    • 対象プラットフォームを増やす• プラットフォーム‣ Java • 1.4.x • 5.0 • 6.0 { リリース当時サポート • 7.0 Yusuke Yamamoto @yusuke
    • Java 1.4.xサポートの難しさ•拡張for文なし• Genericsなし• アノテーションなし• StringBuilderなし• Enumなし Yusuke Yamamoto @yusuke
    • Java 1.4.xサポートの難しさ••• 拡張for文なし• Genericsなし アノテーションなし { StringBuilderなし -target jsr14• Enumなし Yusuke Yamamoto @yusuke
    • Java 1.4.xサポートの難しさ•拡張for文なし• Genericsなし• アノテーションなし { -target jsr14•• StringBuilderなし Enumなし {使わない努力 Yusuke Yamamoto @yusuke
    • 参考情報 http://www.slideshare.net/yusukey/java7-8530853Java7シンタックスで レガシーコードを快適メンテナンス Yusuke Yamamoto @yusuke
    • 対象プラットフォームを増やす• プラットフォーム‣ Java • 1.4.x • 5.0 • 6.0 { リリース当時サポート • 7.0 Yusuke Yamamoto @yusuke
    • 対象プラットフォームを増やす• プラットフォーム‣ Java -target jsr14ではJava 7互換性に問題あり • 1.4.x • 5.0 • 6.0 { リリース当時サポート • 7.0 Yusuke Yamamoto @yusuke
    • 対象プラットフォームを増やす• プラットフォーム‣ Java -target jsr14ではJava 7互換性に問題あり • 1.4.x • 5.0 • 6.0 • 7.0 { 次期バージョンのサポート対象 Yusuke Yamamoto @yusuke
    • 対象プラットフォームを増やす• プラットフォーム‣ Java Yusuke Yamamoto @yusuke
    • 対象プラットフォームを増やす• プラットフォーム‣ Java‣ Google App Engine Yusuke Yamamoto @yusuke
    • 対象プラットフォームを増やす• プラットフォーム‣ Java‣ Google App Engine‣ Android Yusuke Yamamoto @yusuke
    • 対象プラットフォームを増やす• プラットフォーム‣ Java‣ Google App Engine‣ Android • 「対応しています」 • テストはしてない! • 報告があり次第対応 Yusuke Yamamoto @yusuke
    • Android対応• AndroidはJavaジャナイ• 両対応ライブラリは注意が必要http://www.slideshare.net/yusukey/android-6595931 Yusuke Yamamoto @yusuke
    • 安心して使える Yusuke Yamamoto @yusuke
    • 使う側から見て安心できるOSS•一般的なライセンス• 開発がアクティブ• コミュニティがアクティブ• ロードマップが明確• プロジェクトに設定しやすい Yusuke Yamamoto @yusuke
    • 一般的なライセンス•OSI公式ライセンス• 緩め(感染性がない)‣リリース当初: BSD‣ 現在: Apache License 2.0 Yusuke Yamamoto @yusuke
    • 開発がアクティブ•頑張る• Twitter APIの追加変更に即対応 Yusuke Yamamoto @yusuke
    • コミュニティがアクティブ• MLで素早く親切丁寧に対応 Yusuke Yamamoto @yusuke
    • コミュニティがアクティブ• MLで素早く親切丁寧に対応No GGRKS! Yusuke Yamamoto @yusuke
    • ロードマップが明確• JIRAで課題、ロードマップ公開 Yusuke Yamamoto @yusuke
    • • プロジェクトに設定しやすい • 古典的なライブラリの使い方 ‣zip/tgzをダウンロード・展開 ‣ jarをlibsディレクトリに配置 ‣ クラスパスに通す Yusuke Yamamoto @yusuke
    • • プロジェクトに設定しやすい • モダンなライブラリの使い方 • プロジェクトの依存を明記 • 対応ツール • Maven / Ivy / Grape / Gradle / Buildr / SBT • Maven Central Repoよりダウンロード • 自動的にクラスパスに追加 Yusuke Yamamoto @yusuke
    • 簡単に使える Yusuke Yamamoto @yusuke
    • 簡単に使えるOSS•サンプルコードが充実• ドキュメントが充実• ライブラリ依存関係• シンプルなパッケージ構成• 容易なトラブルシューティング Yusuke Yamamoto @yusuke
    • サンプルコードが充実•全メソッドにサンプルコード• .cmd / .sh で簡単に実行できる Yusuke Yamamoto @yusuke
    • ドキュメント• 多くのOSSで問題‣ ドキュメンテーションのメンテナン スコスト Yusuke Yamamoto @yusuke
    • ドキュメント• Twitter4Jのフォーカス‣ 簡単なサンプルコード例‣ 設定方法‣ 開発に参加する方法 Yusuke Yamamoto @yusuke
    • ライブラリ依存関係• 依存関係があると敷居が高い‣ クラスパスが分からない開発者 • NoClassDefFoundError!‣ 他の依存ライブラリと衝突 Yusuke Yamamoto @yusuke
    • ライブラリ依存関係• Twitter4Jはライブラリ依存なし‣ twitter4j-core.jarをクラスパスに通す だけ Yusuke Yamamoto @yusuke
    • ライブラリ依存関係• がんばって自作した‣ OAuth‣ BASE64‣ HttpClient Yusuke Yamamoto @yusuke
    • ライブラリ依存関係• パッケージを変更して内蔵‣ org.json.* → twitter4j.interna.org.json.* Yusuke Yamamoto @yusuke
    • ライブラリ依存関係• あれば自動的に使う‣ ロギング • Log4j / Commons Logging • SLF4J • LogBack • JUL(java.util.logging.*) Yusuke Yamamoto @yusuke
    • シンプルなパッケージ構成•import twitter4j.* で利用可能• 内部実装は twitter4j.internal.* に 配置 Yusuke Yamamoto @yusuke
    • 容易なトラブルシューティング • 例外スタックトレースの工夫 ‣ バージョンを織り込むtwitter4j.TwitterRuntimeException: A JSONArraytext must start with [ at 2 [character 3 line1]Relevant discussions can be on the Internet at: http://www.google.co.jp/search?q=610d24cf or http://www.google.co.jp/search?q=03587c2fTwitterException{exceptionCode=[610d24cf-03587c2f2efc4644-56189413], statusCode=-1, retryAfter=-1,rateLimitStatus=null,featureSpecificRateLimitStatus=null,version=2.2.5} Yusuke Yamamoto @yusuke
    • 容易なトラブルシューティング • 例外スタックトレースの工夫 ‣ 検索用コードを織り込むtwitter4j.TwitterRuntimeException: A JSONArraytext must start with [ at 2 [character 3 line1]Relevant discussions can be on the Internet at:http://www.google.co.jp/search?q=29f6cd28http://www.google.co.jp/search?q=00ded0d8TwitterException{exceptionCode=[610d24cf-03587c2f2efc4644-56189413], statusCode=-1, retryAfter=-1,rateLimitStatus=null,featureSpecificRateLimitStatus=null,version=2.2.5} Yusuke Yamamoto @yusuke
    • 容易なトラブルシューティング• 例外スタックトレースの工夫‣ 検索用コードを織り込む Yusuke Yamamoto @yusuke
    • #q Yusuke Yamamoto @yusuke
    • プロモーション ユーザー層を広げるブログ 言語Twitter プラットフォームニュースサイトググラビリティの高い名称安心して使える 簡単に使える一般的なライセンス サンプルコードが充実開発がアクティブ ドキュメントコミュニティがアクティブ ライブラリ依存関係ロードマップが明確 シンプルなパッケージ構成Maven対応 容易なトラブルシューティング
    • #ありがとうございました