2013年3月31日日曜日

App.net への投稿の文字数ごとの頻度,ならびにクライアントシェア

2013 年の 2 月末から App.net(ADN)という 256 文字まで投稿可能なのが特徴な Twitter クローンのサービスを始めてみましたら,そこのフォロワーさんが Google Apps Script(GAS)というサービスを教えてくださいました.このサービスを使いますとたとえば GMail まわりでいろんなことができたりしてそれはそれは便利なのでさっそく重宝しておりますのですが,さてこのサービスと ADN とを組み合わせてなにかできないものか,というわけで 2013 年 3 月 22 日の夜以降に ADN のグローバルストリーム(Twitter でいうところの今はなきグローバルタイムライン)を流れたポスト(Twitter でいうところのツイート)から得られた

  • 各ポストの文字数とその頻度
  • 各ポストを投稿する際に用いられた ADN クライアントのシェア
を図示してみました.ほんとうは数分おきにに更新されるデータをリアルタイムでこのブログ上に表示できたらかっこよかったのですが,残念ながら GAS で生成した図を直接ブログに埋め込むすべがわからなかったので,この記事では 2013 年 3 月 31 日 1 時 49 分までのデータを掲載します.現在時刻までのほぼリアルタイムなデータをご覧になりたい方はこちらへどうぞ.

Distribution of Post Length in ADN since Fri Mar 22 201320:00:00 GMT+0900 (JST) until Sun Mar 31 2013 01:49:32GMT+0900 (JST)Frequency07014021028005001,0001,5002,000Post LengthFrequency
Frequency
ADN Client Usage Chart since Sat Mar 23 2013 00:00:00GMT+0900 (JST) until Sun Mar 31 2013 01:49:32 GMT+0900(JST)Netbot for iOSIFTTTFelixRiposteKiwiAlphaBufferWedgeRobinDashNoodleAppZapierRivr1/316.2%13.8%12.1%5.9%8.6%9.7%12%
0/0

2 つ載せた図のうち上の図は ADN に投稿された各ポストの文字数とその頻度をプロットした図です.この図によりますと各ポストの文字数とその頻度には

  • 1 –20 文字では文字数に対して頻度が線形に増加
  • 20–70 文字では頻度はほぼ横ばい
  • 70–240 文字では文字数が増えるにつれて頻度は減少(130–140 文字の区間は例外)
  • 240–256 文字では再び頻度が増加
という傾向があるようです.頻度が減少傾向にある 70–240 文字の区間の中でも 130–140 文字の区間だけは例外的に頻度が増加しているのですが,じつは 2012 年 9 月ごろに実施された先行事例でも同様のピークは観察されておりまして,こちらでは「この区間だけ頻度が増加しているのは外部連携サービスを用いて Twitter と ADN とに同じ内容の投稿を行なっている人たちの影響があるんじゃないかな」などといった話がなされています.参考資料として Twitter での文字数と頻度の関係を示した図を見てみますと,なるほどこちらの図によれば Twitter ではたしかに 130 文字台で頻度が増加してますので,断定はできませんがなにやら関係はあるかもです.このあたりは文字数が 140 文字前後での投稿クライアントの内訳を調べればなにかわかるかもしれませんが,残念ながら今は文字数ごとの投稿クライアントのデータは手元にございませぬ.気が向いたら調べてみるかもです.

2 つ載せた図のうち下の図は ADN にポストを投稿する際に用いられたクライアントのシェアを示した円グラフです.このグラフの上位 10 件(全体の 9 割に相当)に登場しましたクライアントのプラットフォームを見ていきますと

という結果になりました.うーむ,ADN のグローバルストリームに流れたポストのうちおよそ 4 割を 3 本の iOS 用クライアントが占めますとは.今後このシェアがどう推移していくのかが楽しみです.

P. S. 今回掲載した両図を描画するために取得したポストの数を記録しておくのを忘れてました.参考までに 2013 年 3 月 31 日 4 時 30 分時点で取得したポスト数は,上の図で 224751 件,下の図で 219138 件でした.

2013年3月11日月曜日

やる夫系まとめサイトのスマートフォン対応には text-size-adjust の設定が肝心でしたり

2011 年にスマートフォンでアスキーアート(AA)を閲覧するためのウェブフォント Textar Font とそのサイト側での導入方法が公開されてからはや 2 年,現在ではほとんどのやる夫系まとめサイトで何かしらの方法によるウェブフォントの導入が行われております(私も Kuma_Lite や Saitamaar フォントを作ったりしました).かつて iPod touch や iPhone でやる夫系まとめサイトを読むとなるとなかなかの手間がかかったものですが,今ではさしたる手間なしにだれでも気軽に見られるようになったぶん,いい時代になったものだと思います……AA が画面端などで折り返されて輪切りにならない限りは.そしてこれが 2013 年 3 月現在では案外多くのサイトで発生するのでございまして.

じつは iPhone のブラウザ全般,そして Android の一部のブラウザではサイトの視認性向上のためかテキストのフォントサイズを PC 表示時より大きくする機能がデフォルトで有効になっております.いったいどういう条件下でフォントサイズがどのくらい大きくなるのかという法則は調べきれていませんが,たとえばやる夫系まとめサイトの場合ですと CSS で 16px に設定したはずのフォントサイズが 24px や 26px に拡大されているケースが多いようです.

さてこのおせっかいお役立ち機能,CSS の設定により無効にする方法がちゃんと用意されております.方法は簡単,AA の存在する要素に対するスタイルシートに

-moz-text-size-adjust: none;
-ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
text-size-adjust: 100%;

の 4 行を加えるだけです.これら 4 行の意味は MDN の公式ドキュメントを参照してください……ではぶっきらぼうすぎますが,要するに「フォントサイズの拡大をやめろ,もしくは元のまま(100%)にしろ」という意味であります.-moz-text-size-adjust だけ指定が異なるのは Firefox(厳密には Gecko)がこのプロパティについてはパーセント指定に対応していないためです.なお -webkit-text-size-adjust: none はバグがあるので 2013 年 3 月時点では使ってはならぬということです.もうすぐ直るっぽいですが

【2013 年 3 月 12 日追記】

やる夫系まとめサイト Yaruyomi 管理人の Noire Taya さんより,text-size-adjust 適用前と適用後のスクリーンショットを掲載する許可を頂きました.ありがとうございます.

text-size-adjust 適用後

2013年3月2日土曜日

Netbot の URL スキーム

Tapbots がリリースしている iOS 用 App.net クライアント,Netbot で利用可能な URL スキームを調べました. 基本的には Tapbots のブログで紹介されている Tweetbot 用の URL スキームとほぼ同じですが,一部 App.net 内での呼称に合わせ呼び出し方法が変更されている URL スキームもあります.

ストリーム表示

netbot:///

メンション表示

netbot:///mentions

メッセージ表示

netbot:///direct_messages
注:“messages” では不可

スター表示

netbot:///stars

検索画面表示

検索クエリとコールバック URL をオプションで指定可能
netbot:///search?query=<keyword>&callback_url=<url>

ポストの詳細表示

要 表示したいポストの ID.コールバック URL をオプションで設定可能
netbot:///status/<post_id>?callback_url=<url>

ユーザプロフィール表示

要 username もしくは user_id.コールバック URL をオプションで設定可能
netbot:///user_profile/<username>?callback_url=<url>

投稿画面表示

投稿するテキスト,コールバック URL,リプライ先のポストの ID をオプションで指定可能
netbot:///post?text=<text>&callback_url=<url>&in_reply_to_status_id=<post_id>

指定したユーザをフォロー

要 username もしくは user_id
netbot:///follow/<username|user_id>

指定したユーザをアンフォロー

要 username もしくは user_id
netbot:///unfollow/<username|user_id>

指定したポストにスターをつける

要 スターをつけたいポストの ID
netbot:///star/<post_id>

指定したポストのスターをはずす

要 スターをはずしたいポストの ID
netbot:///unstar/<post_id>

指定したポストをリポストする

要 リポストしたいポストの ID
netbot:///repost/<post_id>
注:Netbot 起動後に “Repost to Followers” “Repost to Twitter” “Quote Post” “Cancel” を選択するダイアログが出現

2013年1月2日水曜日

iOS 6(非 JB)の iCab Mobile に自作モジュールを導入する

私が愛用している iOS のブラウザアプリ,iCab Mobile にはモジュールという Opera や Firefox におけるユーザ JS や Greasemonkey みたいな機能が標準で搭載されてまして,本来ならば JB なしではユーザ側でカスタマイズする余地などほとんど無い iOS のブラウザ業界において独自の地位を占めております.

……が,そんな iCab Mobile のモジュールもひところに比べますと自作モジュールの導入が難しくなっておりまして,2011 年 3 月にはアップルの審査によりウェブ経由での自作モジュール導入機能が廃止され,それでも自作モジュールの導入を諦められない人たちは iExplorer(旧 iPhone Explorer)や iFunBox 経由でのモジュール導入を余儀なくされました.

参考:iPhone Explorerを使ってiCabモジュールを強制インストールするの巻

とまあこんな風にして非 JB ユーザはなんとか自作モジュールの導入を続けてきたわけでありましたが,2012 年の 9 月にリリースされた iOS 6 では .app 以下のディレクトリへの上書きが不可能になったため,この方法も使えなくなってしまいました.

今回の記事はそんな環境にあっていかにして iCab Mobile に自作モジュールを導入するのか,というお話です.おおまかな流れは「バンドルされてる 50 以上のモジュールのうち,不要なモジュールを iExplorer や iFunBox を用いて自作モジュールに上書きする」ということになります.

「おいお前さっき上書きはできないって言ったじゃないかどういうことだ!?」と思われた方もいるかも知れませんが,今回の方法では .app 以下のディレクトリには触れずそれ以外のディレクトリに存在するファイルをいじるのでセーフ,なのであります.以下に iFunBox での手順を説明しますがくれぐれもご利用は自己責任で

  1. iOS 端末を PC/Mac に接続した状態でiFunBox を起動し,サイドバーから「ユーザー App」を選択,その後メインウィンドウから「iCabMobile → Documents → .iCabMobileFiles.private → Modules」へとディレクトリを潜る.
    潜った結果はだいたい下の画像に示した感じ.拡張子 .icon のファイルはアイコンファイル(@2x が含まれるほうは Retina ディスプレイ用),.code のファイルにはモジュールのコード本体が入っています.
  2. 不要そうなモジュールの .code ファイルを選んでデスクトップあたりにドラッグアンドドロップしてコピー.アイコンも変えたい場合には .icon ファイルもコピー.
  3. .code ファイルの内容を自作モジュールに書き換え,保存する.アイコンも変えたい場合には .icon ファイルの内容を自作アイコンに書き換え,保存.
  4. 書き換えた .code ファイルを iFunBox へ戻す.アイコンも変えたい場合には以下略.

以上であります.なおこの方法を使って自作モジュールを導入した場合,autorun や confirmation など iCab Mobile のモジュール独自の変数を新規に追加・削除することはできませんので,もし自作モジュールでそういう機能を使いたい場合にはあらかじめそういう変数が設定されているモジュールをこの手順で書き換えるのがよいでしょう.

2012年12月27日木曜日

ブックマークレットで iOS,Android 端末でも綺麗なアスキーアート(AA)を表示しよう!

このブログを開設する前に作成しました Kuma_Lite ブックマークレット(やる夫之書さんぶらりとやる夫さん他多数のブログでご紹介いただきました.ありがとうございます)でのアスキーアート表示のクォリティに不満があったため,今回ブックマークレット & フォントを一から作り直しました.フォントサイズは 650 KB 弱約 560 KB(2013 年 1 月 12 日現在)と Kuma_Lite の 140 KB より増えていますが,ブラウザ自体のキャッシュ機能 + 最近の通信事情を考えますと実用に耐える範囲内でしょう.


Android 端末でのブックマークレットの登録方法は
  1. 上記 “javascript:~” で始まる文字列をすべて選択してコピー
  2. 「お気に入り」登録画面を開き,1. でコピーした文字列を新規お気に入りのアドレス欄にペーストして保存
です(2013 年 1 月 4 日追記).iOS 端末でのブックマークレットの登録方法はこちらのページをご覧ください(むぅもぉ.jp さんに感謝!)こちらのページの「ブックマークレットの登録方法」の項目を参考にしてください.

ブックマークレットを登録しましたら,
  1. 見たいサイトを開く
  2. 「お気に入り」を開き,先ほど登録したブックマークレットを起動
することにより処理が始まります.

使用前:
元  URL: http://www.twitaa.in/?v=pftf

使用後:


不具合報告,要望等はこの記事のコメント,もしくは Twitter の @keage までよろしくお願いします.

【2013 年 1 月 25 日追記】
現在までに動作確認のとれた OS・ブラウザ
  • iOS の Safari,UIWebView を用いたサードパーティ製ブラウザアプリ(Opera Mini は不可)
  • Android 4.x の Chrome
    (【2013 年 2 月 23 日追記】本記事のコメント欄にて Chrome では動作しない,との報告もございました)
  • Android 2.x の 標準ブラウザ,iLunascape,Dolphin Browser

【2014 年 1 月 18 日追記】
したらば掲示板が & を &amp; にエスケープして数値参照文字を使った AA が崩れる問題に対応
【2015 年 4 月 24 日追記】
iOS での登録方法を紹介したページへのリンクが切れていたのを修正

2012年5月5日土曜日

Twitterでよく見られる画像投稿サービスのURLから元画像のURLを取得する

日ごろiPod touchで愛用しておりますTweetbot for iPhoneiPad版もあるよ)というすこぶる優秀なTwitterクライアント,このクライアントの日本語非公式アカウント@TweetbotJPさんに携帯百景ついっぷるフォト蔵のサムネイル対応をお願いしましたところ,日本時間で2012年5月1日未明にリリースされましたv2.3にて対応して下さいました.開発元のtapbotsさんと日本語非公式アカウントの@TweetbotJPさんに御礼申し上げます.
注:このツイートでは触れられておりませんが,Tweetbotのv2.3ではフォト蔵のサムネイルにも対応しています
……というわけで,そのお願いの際に報告しました携帯百景とついっぷるとフォト蔵の元画像取得URLまとめをこちらの記事に掲載しました.でもそれだけでは殺風景極まる記事になってしまいますので,ついでに自分のタイムラインに出てきた画像投稿サービスのうち,幾つかの元画像取得URLまとめも一緒に掲載しました.いずれの画像投稿サービスも,ツイートに掲載されている投稿URLさえわかれば元画像のURLも判明する,という仕組みになっております.

なお,サムネイル取得法につきましては,2009年時点での情報ですがこちらのブログ記事がよくまとまっております.併せてご参照ください.

Twitpic

  • 投稿URL:http://twitpic.com/<photo_id>
  • 元画像:http://twitpic.com/show/full/<photo_id>

yfrog

  • 投稿URL:http://yfrog.com/<photo_id>
  • 元画像:http://yfrog.com/<photo_id>:medium

Twitgoo

  • 投稿URL:http://twitgoo.com/<photo_id>
  • 元画像:http://twitgoo.com/show/img/<photo_id>

Lockers

  • 投稿URL:http://lockerz.com/s/<photo_id>
  • 元画像:http://api.plixi.com/api/tpapi.svc/imagefromurl?url=http://lockerz.com/s/<photo_id>?size=big

img.ly

  • 投稿URL:http://img.ly/<photo_id>
  • 元画像:http://img.ly/show/full/<photo_id>

Instagram

  • 投稿URL:http://instagr.am/p/<photo_id>
  • 元画像:http://instagr.am/p/<photo_id>/media/?size=l

Droplr

  • 投稿URL:http://d.pr/i/<photo_id>
  • 元画像:http://d.pr/<photo_id>+

携帯百景

  • 投稿URL:http://movapic.com/pic/<photo_id>
  • 元画像:http://image.movapic.com/pic/m_<photo_id>.jpeg

ついっぷる

  • 投稿URL:http://p.twipple.jp/<photo_id>
  • 元画像:http://p.twpl.jp/show/orig/<photo_id>

フォト蔵

  • 投稿URL:http://photozou.jp/photo/show/<user_id>/<photo_id>
  • 元画像:http://photozou.jp/bin/photo/<photo_id>/org.bin

はてなフォトライフ

  • 投稿URL:http://f.hatena.ne.jp/<user_id>/YYYYMMDD<image_id>
  • 元画像:http://img.f.hatena.ne.jp/images/fotolife/<first_character_of_user_id>/<user_id>/YYYYMMDD/YYYYMMDD<photo_id>_original.jpg

2012年1月29日日曜日

もっと便利じゃね? GoogleトレンドとTweetbotを連携させるWebアプリ「Google Trends 2 Tweetbot」

【01/29 14時半頃追記】Google Trendsの単語を羅列したbot避けの処置を追加しました.これに伴い図2と図4を処置後のスクリーンショットに差し替え,関連する本文とキャプションを差し替えました.

ふとTwitterを「Tweetbot」で検索してましたら,こんなエントリを見つけました.

便利じゃね? | GoogleトレンドとTweetbotを連携させるTrendBotSearch | ひとりぶろぐ

なるほど,Google Trendsに載っているクエリをTweetbotの検索機能に送る機能ですか.これはなかなか便利そうです.しかし,MyScriptというアプリ(350円)が必要というのがいただけません.私が持ってませんし.

というわけで,私もまねっこして同じ機能を実装してみました.ただし,こちらはHTMLとJavascript(とCSS)による無料のWebアプリで.


Google Trends 2 Tweetbot
左に載せましたのが今回作成したWebアプリ「Google Trends 2 Tweetbot」です.アイコンをタップ(クリック)して移動した先のページを「ホーム画面に保存」しますと,あたかも普通のアプリのように利用できます.もちろんTweetbotです.

それでは実際に実行してみましょう.


図1: ホーム画面上のGoogle Trends 2 Tweetbot


図1に示したホーム画面左上の「Trends2bot」が今回作成したWebアプリです.ホーム画面の制約上アプリ名をコンパクトにしております.これをタップしますと図2の画面に進みます.

図2: Google Trends 2 Tweetbot

ここではGoogle Feed APIを利用して,Google Trendsで発行されているRSSをJSONに変換することにより,Google Trendsのサイトからこのページへのデータの受け渡しをJavascriptのみで実現しています.

図3: Tweetbot起動
図4: 「大阪国際女子マラソン」検索結果

一例として,図2に表示されている3番目のトレンド「大阪国際女子マラソン」をタップします.すると図3に示すTweetbotユーザにとってはおなじみの起動画面が表示され,しばらくすると「大阪国際女子マラソン」の検索結果が図4のように表示されます.
【追記】なお,この検索ではGoogle Trendsの単語を羅列したbotのツイートを排除するため,トレンド上位の単語(exclude 自分自身)をマイナス検索で排除してます.

もしすでに別の検索画面やプロフィール画面が表示されてましたら,一旦その画面を閉じてからもう一度やり直してください.

図5: タスク一覧に表示されたGoogle Trends 2 Tweetbot
一度起動しましたGoogle Trends 2 Tweetbotは,iOSのネイティブアプリと同様にホームボタンをダブルクリックすると表示されるタスク一覧からも起動することができます.


いかがでしょうか? 元ネタのスクリプトを公開した「ひとりぶろぐ」さんも言及されているように,「TwitterのJapan trendsは、診断メーカーとか大喜利タグに汚染されていて役に立ちません」ので,「そういうのもういいから!」とプンスコしているTweetbotユーザの方はぜひ一度利用してみてください.

フィードバック・リクエストはお気軽にどうぞ.そして現在は仮置き中のGoogle Trends 2 Tweetbotのアイコン画像を作ってくださる方を募集中なのです.よろしくお願いします.