相手に伝わらないtwitterの要注意機能 2015/05版

twitterは今も基本は140文字のテキストコミュニケーション(最近聞かなくなった表現で言う所のミニブログ)がメインのサイトです。そこに画像が投稿できるようになったりなど様々な機能が追加・変更・削除されてきたわけですが、相手が使っているtwitterクライアントによっては伝えたかった事が伝わらないかもしれません。

複数人ダイレクトメッセージ 危険度:大

複数人DM

プライベートなやりとりには少し使いづらい所の有ったtwitterですが、複数人でダイレクトメッセージがやり取りできるようになった事で便利になりました。例えば遊びに行くときなど、お店の名前や時間をTL上には出したくない時にいいかもしれません。LINEでいいのではと思う方もいるかもしれませんが、直接相手と会った事が有り名前も知っているような相手とのやりとりが主と思われるLINEでは相手が違いますからね。

しかしこの機能、複数人DMに対応していないクライアントでは一切表示されません。DM欄どころか通知欄にもこないのです。DMした事を「Dしました」とリプライでも伝えておく文化が一部で見られますが、本当に一切見えないので、「Dしましたと言っておきながら来てないじゃないか」となお、気づいてもらえない可能性が有ります。この機能を使うには、「Dしました。複数人DM機能を使っているので公式クライアントやWeb以外だと見えないかもしれません」ぐらい言っておく必要が有ります。が、ちょっと面倒ですね。

複数画像アップロード 危険度:中

全く珍しくなくなった公式の4枚まで画像がアップロードできる機能。なんですが、未だに対応しないクライアントが存在しています。個人的には、もう対応しているクライアントも多く、気にせず使っていけばいい物と思いますが、複数の画像で重要な事を伝えたいようなときはちょっと気を付けた方がいいかもしれません。相手には2つ目以降の画像のURLすら表示されないので、画像が複数ある事自体気づく余地がありません。

また、複数画像に対応していても、表示される順番が本来とは異なるクライアントが存在します(現時点バージョンのPC版Janetter等)。ネタツイートには画像の順番が重要な事も多々あるので、「ん?」という事態になる可能性が有ります。

動画アップロード 危険度:低

動画で重要なツイートをする事は今はまだほとんど無いと思いますが、やはり非対応のクライアントでは表示されません。

画像サムネイル表示非対応 危険度:低

今でも画像のサムネイル表示に対応しないクライアントはかなり少ないように思います。URLを開けばOKな話ではありますが、例えば文章は同じで画像だけが違うネタツイートなどは、「パクツイをしている」「パクツイをRTしてしまっている人」に見えてしまっているかもしれません。

公式引用RT 危険度:?

所謂非公式RTではなく、公式でコメントを付けたリツイートが出来るようになりました。まだ登場して間もない機能なので具体的な危険事例は見えてこないものの、やはり非対応のクライアントでは正常に表示できない物と思われます。便利ですが、多少見えない人が居てもOKな内容の言及にとどめておく方が無難です。

傾向と対策

様々なクライアントが存在し、好みに応じて自由に選べることもtwitterの便利さの一つではありますが、どんどん機能が増え・変化し続けていく中で、作者の目指す所や、開発の停滞・中止などで、どうしても今時の機能を使いこなす事にそぐわなくなったクライアントが多々存在します。

結局の所、そのなかで公式クライアントが一番無難、ということになります。多少の広告も表示されますが、そもそも無料のサイトなのでちょっとぐらい見てあげてもいいでしょう。次点で、公式クライアントは非常用として入れておき、公式の変化に頑張って追従しているクライアントをメインに使うのも良いでしょう。ただ、対応が遅れたり対応しない機能が出てきても、大体公式のせい(情報を取得するための仕様が公開されていないなど)なので、作者を責めないでやってください。

そして肝心の伝える側の場合ですが、なんだかんだ新しい機能を特に深く考えずに使っていった方が、サイトとしてもクライアントとしても新陳代謝が行われるのかなと思います。ただし、重要な内容については、単純な旧来のツイート、リプライ、一人へのRT、公式画像を使う場合は1枚ずつ等、古典的な方法が無難になります。今時の機能を利用する場合は、その旨さらにリプライを送っておくなどの単純な対策をやっていくしか有りません。クライアントの種類に詳しい方は相手の利用しているクライアントで判断するという方法もあるかもしれませんが、最も新機能を実装し最も無難な公式クライアントは相手のクライアントが何であるかを表示できないので面倒ですね。

 

Share this…

今も生きているPHPフレームワーク CodeIgniter、3.0RCへ

PHP Webアプリケーションフレームワーク CodeIgniter の今について。

cakePHPなどのRailsに影響を受けたフレームワークに比べると、スクラッチのコードをががっと書いたり、ActiveRecordが実質的にお手軽SQL作成器だったり、MVCのMを作らないなんて選択も出来たり、そのゆるさと学習コストの低さから人気だったCodeIgniterですが、以下のOSLライセンスの問題などからFuel PHPや、DIだComposerだSymfony2だとなかなか現代的なLaravelへの移行が起きていると言われています。

【重要】EllisLabが現行の「CodeIgniterライセンス」はGPLと互換性がないという見解を公表しました
http://codeigniter.jp/blog/article/65

とはいえ、今となってはそのライセンスの問題も解決しており、CodeIgniterは(一応)生きているよという話です。正直、公式サイトを見れば書いてある事だけなのですが、あまりにも日本語ソースが無い(みんなもう興味ない……?)ので、簡単にまとめてみます。

ライセンスの問題はMIT Licenseになり解決

CodeIgniterのオーナーが EllisLab から、ブリティッシュ・コロンビア工科大学に移る事になりました。それに合わせてCodeIgniter 3.0も安心のMIT Licenseへの変更となりました。よほどの事が無ければJavaやMySQL、OpenOffice.orgのような事にはならないのではないでしょうか。

CodeIgniter 2.2.1 はPHP 5.6対応へ

CodeIgniter v2.2.0の時点で、ソースを1行だけ修正すればPHP5.6で動作する状態ではあったのですが、修正なく動作するようになりました。2.x系に関してはCodeIgniterライセンスのままなのですが、今2.xで動作しているシステムを新しいサーバーへ移行するような事になっても、新しいバージョンのPHPで利用する事が出来ます(もちちろん自分で書いた部分のコードは検証が必要です)。XSSフィルタなども修正されています。

CodeIgniter 2.2.1 Released 2015.01.22
http://forum.codeigniter.com/thread-843.html

CodeIgniter 3.0 リリース候補版の登場

ライセンスなどの問題も解決したCodeIgniter 3.0のリリース候補版がついに登場しました。ドキュメントもそこそこわかりやすい物が用意されています。2.xからのアップグレードも可能で、これまでのバージョン同様、移行マニュアルが用意されています。

CodeIgniter 3.0 Release Candidate 2015.01.26
http://forum.codeigniter.com/thread-890.html

と、すごくざっくりですが3点まとめてみました。
既にLaravelでバリバリやっている人や、まだ使ってはいないけどそろそろリッチなフレームワークへ移りたい方※、PSR-2準拠でコーディングしたいんじゃーという方ももちろん多く居ると思います。ただ、重厚過ぎないフレームワークの上で素のPHPをさくっと書きたい時や、今既にCodeIgniter 2.xで動いているシステムを今後も長く使っていくためのリプレースには悪くない選択肢ではないでしょうか。

※私自身、そろそろ勉強したいなと。

追記:
2015年3月30日にCodeIgniter 3.0の正式版がリリースされました。
http://www.codeigniter.com/

Share this…

C#でCPU使用率を取得する

C#で実行中PCのCPU使用率を取得しようとした場合、下記の様なコードで取れる、と思われます。System.Diagnostics 名前空間を using しておいてください。

パフォーマンスカウンタから値を取得するhttp://dobon.net/vb/dotnet/system/readperformancecounter.html

PerformanceCounter pfcounter = new PerformanceCounter("Processor", "% Processor Time", "_Total");
float cpu = pfcounter.NextValue();

……が、なぜか0しか取得出来ない。

MSDNやGoogleに頼ってみてもなかなか明確な答えが見つけられなかったものの、
どうも「最初の1回目の値は使えない」「すぐには値が取れない」らしい。

いろいろ試した結果、以下がCPU使用率を正常に取得できたコードです。
Visual Studio Express 2013 for Windows Desktop + .netFramework 4.5で動作確認済み。

PerformanceCounter pfcounter = new PerformanceCounter("Processor", "% Processor Time", "_Total");
float cpu = pfcounter.NextValue();
Thread.Sleep(1000);
cpu = pfcounter.NextValue();

とりあえず動いた、という大変アレなコードですが忘備録として。
(PerformanceCounter インスタンスの nextValue() の計算方法は PerformanceCounterType 列挙体によってが制御されているので、その辺りが関係ありそう? )

Share this…