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 のモジュール独自の変数を新規に追加・削除することはできませんので,もし自作モジュールでそういう機能を使いたい場合にはあらかじめそういう変数が設定されているモジュールをこの手順で書き換えるのがよいでしょう.