kazasiki's blog

プログラミングとかVRゲームとか

Twitterの報告(通報)を押す前に知ってほしい事

あなたがもしTwitterが公開している報告に関するポリシーを熟読したことがあるのであれば、私から特に言うことは特に有りません。ここから先を読む必要も有りません。ぜひ報告(通報)機能を使ってTwitter上の治安を守る助けをしてください。

さて、この文を読んでいるということはあなたは報告に関するポリシーを読んだことがない、もしくは単にこの先の文に興味があるということでしょう。 著作権・ポルノなどについてはこの記事では触れません。この記事ではもっと微妙なケースについて具体例を取り挙げます。それは「自分にとっては迷惑極まりないユーザ及びツイートだったとしても、それを報告すべきでない」というケースです。

例えば、Twitter経由で執拗なナンパを仕掛けるアカウントがあるとします。実際良く見かけます。このアカウントは何かの機会で知り合った女性に1日4-5件のリプライを送ります。単にツイートに対するリアクションだったり「今度一緒に食事に行こう」という露骨な誘いだったり。半匿名なSNSではありがちなことです。 もし、あなたが女性側であればまずブロック機能を使うでしょう。そこまでは問題有りません。ここで議題にしたいのはこのアカウントをTwitterの運営に報告するかです。

Twitterの2016/06/08現在のポリシーに沿って考えれば、このアカウントは報告すべきではありません。該当する条項がないからです。迷惑なアカウントでありますが、それはTwitterの運営の効力をもって解決すべき問題ではありません。

ブロック機能はユーザ側に閉じた機能です(多分)。自由に使えばいいでしょう。しかし、報告機能は運営がその集計によってなんらかの決定(BANとか)を行います。ならば、報告するかどうかの判断は絶対に運営のポリシーに従うべきです。

Twitterでインプレッションを増やす簡単な(汚い)方法

Twitterでインプレッションを増やす簡単な方法を教えます。 一応1週間弱ほど実験して効果があることは確認済みです。

f:id:kazasiki:20160523103905p:plain

5/18に実験開始して2日間だけ異常に増えてるのか分かるかと思います。
5/20が0になってるのは多分計測エラーです。そのあと2日間も10万インプレと以前に比べればそこそこの大きい数字になってるかと思います。

そもそもTwitterにおけるインプレッションとは?

Twitterにおけるインプレッションとはあなたのツイートが他のユーザに表示された表示された回数です。 普通はTLに表示された回数とほぼ同義になります。フォロワーが多かったりRTが多かったりするとそれに伴って大きくなる数字です。

簡単にインプレッションを増やす方法

結論から述べます。方法は以下の手順です。

  1. RT数が伸びてるツイートを見つける。
  2. そのツイートに対してリプライを送る。

細かいは話は順を追って説明します。

この方法でインプレッションが増える理由

まず、何故この方法でインプレッションが増えるのかを説明します。
Twitterの仕様として、ツイートの詳細情報を確認する際にそのツイートへのリプライを併せて表示するという仕様があります。
この仕様はリプライしたユーザとの関係性(フォロワーかどうか)などは全く関係しません。 つまり、10万人に見られるツイートにリプライを送ればそのリプライも10万人に見られるということになります。
実際は単にツイートを見ることとツイートの詳細情報を表示するのには乖離が有りますが、細かいことはいいんだよ。

RT数が伸びてるツイートの見つけ方

さて、理由がわかったところで細かい方法を説明します。RT数が伸びてるツイートをどうやって見つけるのか、です。
私は以下の様なブックマークを作りました。

https://twitter.com/search?f=tweets&q=lang%3Aja%20min_retweets%3A5000

このURLはツイッターの検索機能を使って以下の条件でツイートを検索します

  • "lang:ja" => 日本語
  • "min_retweets:5000" => 5000回以上RTされた

大抵の場合はこれで十分だと思います。 もっと頑張りたい場合はこちらのTwitterアカウントをチェックすると良いかと思います。

twitter.com

リプライの内容

次はどんなリプライを送るか、です。私は以下のことに気をつけています。

  • スパムっぽくしない
  • 礼儀正しく、送り先に失礼のないようにする
  • あんまり気の利いたことは言わず直感に任せる

上記のことに気をつけていれば邪険にされることは有りません(多分)
具体例としてはこんな感じです。

まとめ

ぶっちゃけ実験的な意味合いが強く、インプレッションが増えていいことがあったかと言われると特に無いです。
プロフィールへのアクセスは倍増しましたが、フォロワーは増えてません。アカウントの性質にも寄るかもしれません。
ただ、Twitterにこういう性質というか抜け穴的な仕様が存在することは認識してたほうがなにかと良いかと思って記事にした次第です。
あと、この性質を利用して業者への広告を貼る悪質なアカウントもやはり存在するようです。

Nike FuelBand SEを2年間使ってみて

Nike FuelBand SE(以下、FuelBand)を購入して早2年が経ちましたので、所見を纏めます。買って1週間くらいのレビューは巷に溢れてますが、2年後のレビューはなかなかないと思います。

f:id:kazasiki:20151211115116p:plain

筆者のNike+ ダッシュボード(2015/12/11当時)

 

Nike FuelBand SEだけでなく、運動を測定するタイプのウェアラブルデバイス全体についての洞察も含むので、購入を検討されている方の参考になれば幸いです。

前提

簡単に、FuelBandの性能や筆者の使用状況などを箇条書きします。

FuelBandの機能

  • 主な機能は運動量(Fuelという独自単位)、歩数、消費カロリーの測定/表示。
  • 時刻を表示できる。
  • 睡眠判定、脈拍計の機能はない。
  • iOS/Android端末から通知を受け取る機能はない。
  • 生活防水。

筆者の状況

  • 筆者はFuelBandをほぼ毎日腕時計の代わりとして装着している。
  • 基本的には毎日入浴時に充電している。
  • 日常的にスポーツはしていない。
  • 運動不足や肥満には特に悩んでない。

わかったこと

充電切れになることは殆ど無い

1日のどこかに充電するタイミングを用意していれば充電切れになることはまず有りません。筆者の場合は入浴するときに外して充電しています。生活防水なので装着したままの入浴も可能ですが、体洗ったりするときに邪魔なので。友人宅に外泊した場合などは充電できませんが、それでも充電が切れたことはほとんど有りません。

まとめると、ウェアラブルデバイスのバッテリーの要件は以下のようになります。

  • 追加充電なしで2日間連続使用可能(欲を言えば3日間)
  • 10~30分程度で満充電できる

逆に、「連続使用5日間可能」とか言われても5日に1回だけ充電みたいな生活習慣を作るほうが大変でしょう。ウェアラブルデバイスは毎日充電、これをベースに多少余裕が有るくらいで十分です。逆に、バッテリーのためにデバイスが大きくなったり重くなったりするほうが損でしょう。

測定結果はほぼ直感通り

簡単に言うと、歩けば数値が増えます。出社日の運動量のほぼ全ては通勤時の最寄り駅への徒歩です。以下、細かい気づきを箇条書きにします。

  • エスカレータやエレベータを使わずに階段を使うのは効果的。
  • 昼はオフィスでお弁当食べるよりも、外に出て飲食店で食べるほうが運動になる。
    • 歩いて外に出るから考えてみれば当たり前。
    • 1日の総量から見ても数値的な差はかなり大きい。
  • 同じ距離を走っても歩いてもそんなに運動量は変わらない。
    • FuelBandの測定方法の問題かもしれない。
  • 太鼓の達人をプレイするとめっちゃ歩数が増える。

数値だけ見ても行動は変えられない

測定結果を見て実際の行動に反映できるかは、個々人の知識や意思に依存します。私はFuelBandをつけて運動する気になったかと言われるとNoです。月に1回位は数値の確認をしていますが、特に何も思うことはありません。

ただ、休日に沢山歩いたりした時に数値をみると嬉しくなるのは確かです。そういう時の話の種にはなります。

おわりに

やはり、”収集した値を専門知識と掛けあわせて具体的なアドバイスをしてくれるサービス”が必要だなぁというのが現時点の感想です。あと、実際はおしゃれな万歩計にしかならないので、お安く済ませたい人は万歩計を買えばいいと思います。

この話題を載せるのにちょうどいいアドベントカレンダーがあったら教えて下さい。

 

RailsのActiveJobからurl_helperを呼ぶ

RailsのActiveJob内から*_urlヘルパーを呼ぶ方法です。

どんなときに使う?

Jobから何かしらのAPIにアクセスして、そのパラメータにcallbackアドレスを設定する場合など

やり方

  1. url_helpersをinclude
  2. default_url_optionsをoverride(これをしないとhost名がわからないよって怒られる)
  3. お好みでBaseJobを作ってそれを継承する形でHogeJobを作成する
# app/jobs/base_job.rb
class BaseJob < ActiveJob::Base
  include Rails.application.routes.url_helpers

  protected

  def default_url_options
    { host: ENV['HOST_NAME'] }
  end
end
# app/jobs/hoge_job.rb
class HogeJob < BaseJob
  queue_as :default

  def perform(*args)
    # something
    # foobar_urlが呼べる
  end
end

ウェアラブルには専門家の洞察が必要

Xiomiが1300円のウェアラブルデバイスを発表した。
http://japanese.engadget.com/2014/07/23/xiaomi-1300-mi-band/

私はnike fuelband SE+を愛用しており、2013年の12月からほぼ毎日欠かさず着用して活動量を図っている。
しかし、数字を見てもその数値が実際に自分の健康にどのように影響しているかがわからない。

わかることは以下程度。
  1. 1日の平均値
  2. ランニングなどの意識して行っている運動の運動量がわかる。
  3. 多めに歩く機会があると数字が上昇していることがわかる。
活動量計は、家計簿などと違い数字を視覚化してもその効果が読み取りにくいため、達成感は得られても実際の健康管理には役立て辛い。専門的な知識がなければ、自分が健康であるために必要な運動量もわからない。

やはり、専門家の洞察が必要である。

現実的な案としてはこんな感じか。
  1. 医療関係者がロギングして、健康診断時や医療行為の際の参考にする。
  2. スポーツトレーナーが数値を元にメニューの作成や提案に役立てる。

1300円程度であれば、会社の福利厚生として配布することもできるし、そこから得られるデータを(産業医等を使って)社員の健康管理に利用するのは悪くない考えのように思える。
スポーツジムも入会特典で配るのは難しくないだろう。

今後、単にデバイスを作るだけでなく、それから得られるデータを活用するところまで含めたサービスを作ることが求められることは間違いない。

スケジュールのバッファを食いつぶしてしまう人へ

後輩が「作業をふられた時にいつも期限ギリギリまで作業してしまう。どういう心持ちでやれば余裕を持って作業を完了できるようになるか?」と言っていたのに対して、とりあえず返答した内容を書きます。以下の内容を意識すれば少しはマシになるかと思います。

あくまでも業務上での作業を前提として話していますので、私生活とかでは参考にならないと思います。あしからずご了承下さい。

作業時間は測定されている

通常、業務上の作業時間は管理簿に記録されます。もし、あなたが期限直前に終わるように調整して作業すれば、記録上にはその時間が残ります。
同じような内容の作業を再度行う場合、それは作業時間の見積りが本来の時間とずれる原因になります。

バッファは特定の目的があって作られている

スケジュールにはバッファを用意します。バッファは作業上で発生する不測の事態に対応するためのものであり、トラブル、バグ、認識齟齬などのために用意するものです。
あなたがバッファを食いつぶしている場合、原因の報告が求められる筈です。何も起こってないのであれば予測時間からバッファを差し引いた時間で作業が完了する筈ですから。

蛇足:「できるだけ前倒し」は無意

この手の相談に対して「できるだけ前倒しで作業したほうが何か問題が生じたときに対応できる。(だからできるだけ前倒しで作業しよう)」という旨の返答する人がいますが、この意識は無意味だと思います。「できるだけ早く」という曖昧な目標設定では人の行動は変わりません。

Facebookのアカウントを簡単に交換する方法

プログラミングとは関係ない話ですが、便利な機能のわりにあまり知名度が高くないようなので、記事として書いてみることにしました。

想定するシーン

イベントや勉強会などで、そこで初めてあった人と連絡先を交換しようとすることがあるかと思います。その際に、電話番号やメールアドレスではなく、FacebookなどのSNSアカウントを交換しようとしたことはありませんか?

人にもよるかと思いますが、今では電話やメールよりもFacebookTwitterやLINEのようなSNSので連絡しあう事のほうが多いという人もいるかと思います。

この方法はそういった「実際に対面してる人とFacebookアカウントを交換しあう」という言ったシチュエーションを想定しています。

今、みなさんは「その場で名前を聞く」→「その名前をFacebookで検索」→「検索結果一覧から相手のアカウントを探す」って感じでやってるかと思います。

名前を入力するのが結構面倒くさいですよね。名前を打ち間違えたりなんかしょっちゅうです。あと、案外似た名前の人がいて、検索結果から探すのも一苦労だったりします。

やり方

実はAndroidiOSFacebookのアプリには、(多分)最初からそういったシチュエーションを想定した機能が搭載されてます。

QRコードという名前のFacebookアプリです。
(Androidの画面です。モザイクかけてます)
f:id:kazasiki:20131201172827p:plain:h400

このアプリを開始するとこんな画面に行きます。 (モザイクかけてます)
f:id:kazasiki:20131201174220p:plain:h400

このQRコードを読み取ると、そのユーザのプロフィールページに飛べるという寸法です。また、アプリ画面の右下に『コードをスキャン』という項目がありますが、これを押すとQRコードのスキャンモードに移行します。

プロフィールページにさえ行ければあとは友だち登録するだけですね。

応用編

この方法自体はTwitter等のアカウントを交換するときにも使えます。要はプロフィールページのURLをQRコードにしておいて、それをQRコードスキャナでスキャンするというだけですからね。

自分のプロフィールページのURLを事前にQRコードの画像にしておいて、ショートカットをホーム画面上においておくと便利かと思います。ただ、相手がそういった準備をしてくれていることは殆ど無いと思うので、最初に自分を相手に登録してもらって、それに対して登録を返すという形になることが多いかと思います。

おわりに

便利な機能を利用して、よりよいFacebookライフを!