Slack Slashコマンドでポモドーロ数を楽しく測れるようにした

yoshitsuguです。

みなさんはポモドーロテクニックを使っているでしょうか?
弊社ではここ最近ポモドーロが流行の兆しを見せていて、数名の社員が日々活用しています。
世の中には既にポモドーロタイマーなど便利なツールがありますが、今回は、こなしたポモドーロ数をカウントするSlack Slashコマンドを作りましたので紹介します。
(さらに…)


続きを読む

セガ・インタラクティブ 社、「三国志大戦」コミュニティ運用にBONDOを導入

しくみ製作所株式会社(代表取締役:車拓哉)が提供するファンコミュニティ開発・運営サービス「BONDO」が、「三国志大戦」(ゲーム開発企業:株式会社セガ・インタラクティブ以下セガ・インタラクティブ)のコミュニティサイト「三国志大戦 桃園」に採用されました。「三国志大戦 桃園」は、2016年12月21日より運用を開始しております。
桃園URL http://3594t-touen.jp/

三国志大戦 桃園について
「三国志大戦 桃園」は、2016年12月21日に全国のゲームセンターで稼働を開始したセガ・インタラクティブのゲームタイトル「三国志大戦」のコミュニティサービスです。カードアクションゲームである三国志大戦とプレイヤーデータを共有しており、ゲームプレイをサポートする機能を担っています。

「三国志大戦 桃園」に登録したプレイヤーは、一緒に盛り上がる仲間を探し、サークルを結成したり、カードのトレード募集、イベントの開催をすることができます。
Twitterで登録・連携するので、公式情報の入手や、プレイヤー同士のコミュニケーションを活発に行うことができます。

サービス開始 2016年12月21日


著作権表記 ©SEGA
※記載されている会社名、ロゴマーク、製品名などは、各社の登録商標または商標です。
※本書面に掲載された画像及びテキストの無断転用を禁じます。

 

本件に関するお問合わせ
しくみ製作所株式会社 セールス&マーケティング部
TEL:050-5539-9295
E-mail:sales@sikmi.com


続きを読む

SlackのEmoji reactionsを集計してコミュニケーションの可視化を図った話

こんにちは。yoshitsuguといいます。しくみブログでは初寄稿です。

この記事は 『Slack Advent Calendar 2016』14日目の記事です。

 

皆さんはチャットツールをどのくらい活用されているでしょうか?

フルリモートワークの弊社にとって、SlackでのやりとりはDiscordと同様、なくてはならないものとなっています。
SlackではEmoji reactionsという、発言に対してEmojiで反応できる機能があります。弊社でもEmoji reactionsはよく活用されていて、独自のEmojiもたくさん追加されています。

日頃頻繁にreactionのやりとりをしていると、誰がどのくらいreactionを受け取ったんだろう?というのが気になってきませんか?
受け取ったreactionの数を見せることで次のreactionの動機にもつながりそうです。
そこで今回は、誰がどのくらいのreactionを受け取ったのか、可視化してみることにしました。

(さらに…)


続きを読む

タニタ製体重計の IFTTT トリガーを作ってLINE, HUE, Slackと連携してみた

こんにちは。kamocです。
この記事は、おうちハック Advent Calendar 2016 の6日目のエントリーです。

この記事では、

  • タニタ社製の体重計用の IFTTT トリガーの実装について
  • HUE, Slack, LINE と連携する IFTTT レシピを運用して感じたこと

について紹介します。

なぜやろうと思ったか?

筆者はフルリモートワークのため基本的に自宅で仕事をしています。最近は寒さも相まって運動不足に拍車が掛かり、体重がすくすくと増加・・・。「これは健康に良くない!」ということで、定期的な運動を心がけると共に、体重を継続的に記録することにしました。しかし、元々”体重計に乗る”という習慣が無かったため、計測をサボりがちになっていました。そこで、おうちハックによって継続的に体重を計測するしくみを作ることにしました!

体重計選び Withings vs タニタ

体重計は Withings か、タニタの2択になり、最終的にタニタの体重計を選択しました。
どちらもデータをAPIから取得することができますが、 Withings の体重計はデフォルトで myThingsIFTTT と連携しているため、特にプログラムを書かずとも他の機器やサービスと連携することができます。それにも関わらず、私がタニタの体重計を選択した理由は、 データの更新間隔がタニタの方が短いからです。
Withings のデータ更新間隔が15分なのに対して、タニタの Health Planet API は実質1分間隔で更新されます。
“体重計に乗ったらHUEを点灯させる”という、データ更新間隔が短いことが要求される IFTTT レシピを作りたかったので更新間隔の短いタニタ体重計を選択しました。

なお、おうちハッカーのぼへみあさんが同じ課題に Withings でトライしたところ、

体重計に乗っても、期待していたとおりにすぐ照明は付きません。 暗い部屋でしばらく待ち続けたところ、15分後に思い出したかのようにHueが点灯しました。

という結果になってしまったそうです。失敗から得た知見を公開してくれているのは非常にありがたいですね。参考にさせて頂いた記事はこちらです。

それでは、今回実装したタニタ製体重計の IFTTT トリガーの実装について見ていきましょう。

IFTTT Trigger の実装

Health Planet IFTTT トリガー 構成図

今回実装した IFTTT Trigger のシステム構成はこちらの図の通りです。

体重計に乗ると、

  • 体重計の計測データはすぐに Health Planet サーバーに送信されます
  • 一方、EC2上で Health Planet API を毎分叩くプログラムを走らせておきます
  • 測定値が条件を満たしたら、IFTTT の Maker Channel のエンドポイントを叩きます

といった流れでトリガーが発動します。
ソースコードは GitHub に上げておきました。

Health Planet API は毎時60回という呼出回数制限があるため、ポーリング周期は1分としています。

運用した IFTTT レシピ集

新しい計測値が検出されたら LINE に通知を飛ばす

line3
体重が測定されたら家庭の LINE グループに通知を飛ばすようにしてみました。
筆者が体重計に乗った場合は体重値と、前回計測との差分が表示されるようになっています。一方、妻が体重計に乗った場合は、前回との差分値のみ共有するように設定しました。(妻に「体重を家庭の LINE グループで共有しよう」と交渉してみたところ、軽蔑の眼差しで見られました・・・。そりゃそうですよね。)
体重値はなかなかデリケートな情報ですが、差分値だと公開することによる心理的障壁が大幅に低くなるようです。
LINE共有の運用を始めてから、家庭内の状況にもちらほら変化が見られました。例えば、食事や運動といった健康を意識した会話が増えまたことや、ご飯のメニューがヘルシーになったり、お菓子ボックスが補充されなくなったりといった感じです。

新しい計測値が検出されたら Slack に通知を飛ばす

Slack連携
体重が測定されたら、増減値を社内 Slack に通知するようにしてみました。
筆者が体重の減少で一喜一憂していると、社員の皆さんが優しくリアクションしてくれました。

体重が減少/増加したら HUE を点灯する

体重計の周りに色が制御できる LED ランプ”HUE”をセッティングし、体重が減少したら HUE を青く、体重が増加したら HUE を赤く点灯してみました。

体重が増加したらこんなことになります。

HUE連携

これは結構焦る!!!

HUE 連携、初回のインパクトだけは大きいのですが、残念ながら実運用には繋げられませんでした。
理由は、2つあります。

  • 1つめは、最大60秒のラグが大きく使い勝手を損なうことです。60秒というのは想定していた以上に長く、2回に1回は体重を測り終えてから点灯して残念でした。もともと”欽ちゃんの仮装大賞”みたいに体重を測ったらすぐにランプを点けて音を鳴らしたかったのですが、無念…
  • 2つめは、消すのが面倒なことです。HUE が点灯するところまでは良いのですが、消す場合にスマホを取り出して HUE のアプリ等を起動して消灯しなくてはなりません。これが普段使いするにはかなり億劫でした。HUE を IFTTT レシピに使う時は、点灯するトリガーのデザイン以上に、消灯するトリガーのデザインをよく考える必要があると痛感しました。

まとめ

この記事ではタニタ社製の体組成計の IFTTT トリガーの実装と、レシピを運用したことについて紹介しました。今のところ家庭の健康意識が高まっているので、今後も継続運用して行きたいと思います。
今回やってみて面白かった気付きとしては

  • 体重の値を教えることは抵抗が大きいが、差分であれば殆ど抵抗が無いということ
  • IFTTT のアクションに HUE を持ってくる場合は、消灯トリガーもよく考える必要があること

でした。今後のおうちハックに役立てて行こうと思います。

それでは、今日はこの辺で。

明日のおうちハックアドベントカレンダーもお楽しみに!


続きを読む

ゲーム用チャットツール「Discord」を「リモートワーク」に導入してみた

はじめに

みなさん、こんにちは。福島支部長の穂積です(`・ω・´)ゞ ・・・支部員は1人ですw

弊社はオールリモートワークを取り入れており、北は北海道、南は大阪まで社員が点在しております。これだけ社員が点在していると、コミュニケーションレスになると思われる方も多いのではないでしょうか?

弊社では円滑なコミュニケーションのために、複数の音声チャットツールを導入しています。今回は、ゲーム用チャットツール 「Discord」を導入した事例をご紹介します。リモートワークに取り組んでいる方の参考になりましたら幸いです。

既存ツール「Google Hangouts」の課題

弊社では、音声チャットツール「Google Hangouts」を使ってきました。「Google Hangouts」は、音質も良く、手軽にチャットルームを作れる素晴らしいツールです。ですが・・・・社員数が10人を超えたあたりから問題が発生してきました。

弊社では毎朝、「昨日やったこと」「今日やること」「気になるニュース」を共有する朝会を実施しています。以前はこの朝会を Google Hangouts 上で行っていました。社員が増えたため、朝会を複数のグループに分けて実施することになったのですが、Google Hangouts にはチャットルームが複数になると管理が難しくなるという問題があったのです。

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-11-07-15-12-11
Google Hangouts で複数のチャットルームを作った場合、上の写真のように、ブラウザのお気に入り機能で管理するしかありません。この方法だと、チャットルームに変更があった場合、社員全員がブラウザのお気に入りをいじる必要があり、とても面倒です。

また、各チャットルームに入っている社員を把握しづらいという問題もありました。このため、チャットルーム毎に人数が偏ってしまったり、話したい社員を探してチャットルームを彷徨うこともありました(´・ω・`)

Discord とは?

Google Hangouts の問題点を解決すべく、色々なチャットツールを調べました。そして白羽の矢が立ったのは、なんとゲーム用のチャットツール「Discord」!※私がゲーマーなのでプライベートで使ってましたw

最初は「ゲーム用のツールを会社に導入だと!?」・・・という雰囲気でしたが、使ってみると意外と便利なことが分かったのです。Discord では、複数の音声チャットルームを手軽に作成し、管理することができます。さらに、それぞれのチャットルームに入っている人が一覧形式で可視化されるのです。これは・・・イケル!ということで、さっそく次の日から導入してみました。

Discord をしくみ製作所に導入してみた

さて、Discord の導入が決まり、チャットルームを作成することになりました。

ここで課題となったのが、チャットルームの名前です!Discord では、チャットルームに名前をつけることができるのです。たかが名前、されど名前!某G社の会議室が駅名になっているのは有名な話!

弊社でも様々な議論が交わされました・・・結果、寿司にちなんだ名前となりました!下の写真の通り、「アナゴ」「イクラ」「ウニ」「エンガワ」「おいなりさん」という、あいうえお順のチャットルームが作られました。また、ミーティングに参加している人や外出している人が分かるように、専用のチャットルームもできました。※ 途中、マグロ好きの社員により、全てのボイスチャットルームがマグロにされるという悲劇が・・・
%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-11-07-15-16-13

翌日から、実際に朝会で使ってみると・・・・なんということでしょう~!以前までは、誰がどこにいるかわからなかった弊社のチャットルームが一変!一目で居場所がわかる素敵なチャットルームに!

チャットルームに入っている人数がわかるため、朝会のグループ毎に人数が偏ることがなくなりました。また、誰がどこにいるか一目瞭然のため、コミュニケーションを取りたい社員に話しかけやすくなったのです。さらに、ミーティングに出ている、外出しているなども状況も分かるようになったため、テキストチャットで無駄に呼びかけることも減りました。

というわけで、Discord を導入したらとても幸せになったのであります。しかし Discord も万能ではなく、画面共有やカメラ共有の機能はありません。そこで、弊社では朝会と平常時は Dicord、ミーティングでは Google Hangouts、というように住み分けをして併用しています。

まとめ

今回はゲーム用チャットルーム「Discord」を導入したら意外と良かったぞ!という記事を書きました。けっこう良い感じなので、Discord を一度使ってみてください!

本音:Google Hangouts に複数部屋管理とメンバー把握機能がつけばいいのに・・・誰か作ってくれないかな?(*´∀`)


続きを読む

スクウェア・エニックス社、「ガンスリンガー ストラトス3」コミュニティ運用にBONDOを導入

しくみ製作所株式会社(代表:車拓哉)は、株式会社スクウェア・エニックス(本社:東京都新宿区)が運営する「ガンスリンガー ストラトス」のコミュニティ運営にあたって、BONDO提供を2016年10月13日より開始いたしました。

 

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-11-25-18-52-23

 

サービス名:ガンステ
サービス開始:2016年10月13日
著作権表記:© 2016 SQUARE ENIX CO., LTD. / しくみ製作所
※記載されている会社名、ロゴマーク、製品名などは、各社の登録商標または商標です。
※本書面に掲載された画像及びテキストの無断転用を禁じます。

本件に関するお問合せ先

しくみ製作所株式会社 担当:林
TEL:050-5539-9295
E-mail:info@sikmi.com


続きを読む

セガ・インタラクティブ社、コード・オブ・ジョーカー」コミュニティ運営にBONDOを導入

しくみ製作所株式会社(代表:車拓哉)は、株式会社セガ・インタラクティブ(本社:東京都大田区)が運営する「コード・オブ・ジョーカー」のコミュニティ運営にあたって、BONDO提供を2016年8月4日より開始いたしました。

screencapture-cojdan-jp-1481685786942

 

サービス名 COJ団
サービス開始 2016年8月4日
著作権表記 ©SEGA
※記載されている会社名、ロゴマーク、製品名などは、各社の登録商標または商標です。
※本書面に掲載された画像及びテキストの無断転用を禁じます。

 

本件に関するお問合せ先
しくみ製作所株式会社 担当:林
TEL:050-5539-9295
E-mail:info@sikmi.com


続きを読む

ElasticBeanstalk with (Multi-container) DockerにCircleCIで自動デプロイ

皆さんはじめまして。プログラマーなのに最近インフラばかりイジっている水上です。

今回は弊社で開発中のnendoというサービスの仕組み改善ということで、ElasticBeanstalk with Dockerの自動デプロイに挑戦しました。

CircleCI公式サイトに手順が載っていたのですが、手順が省略されていたり、DockerHubのサンプルがちゃんと動かなかったりなどしていたので今回の記事にまとめました。

せっかちな方は下記を参照。

 

1. ファイルの設定

まずはcircle.ymlから。

 

deploy.sh。ここでdockerhubやawsへのアップロード、beanstalkのデプロイコマンドを実行します。

 

Dockerrun.aws.json.templateファイル。今回のプロジェクトではrailsアプリケーションとnginxでコンテナを分けるため、Multi-container Docker用の設定をしました。

 

2. CircleCIの設定

DockerHubのログイン情報を設定します。CircleCIのSettings -> Environment Variablesに下記の情報を設定しましょう。

DOCKER_EMAIL DockerHubアカウントのメールアドレス
DOCKER_USER DockerHubアカウントのユーザ名
DOCKER_PASS DockerHubアカウントのパスワード

スクリーンショット 2016-06-22 10.54.52

 

AWSアクセスキーの設定も忘れずに。beanstalk ec2にアクセスできる権限のあるアクセスキーを発行し、CircleCIのSettings -> AWS Permissionsで設定してください。

スクリーンショット 2016-06-22 10.55.15

ここまで設定した状態でdevelopブランチにマージすると自動でデプロイが走ります。以上、お疲れ様でした!

ただ、Dockerのデプロイは時間が少々かかるのが難点ですね。。。

 

docker buildしてbeanstalkのデプロイ実行指示をするまでに8分23秒。

スクリーンショット 2016-06-22 11.47.52

 

その後beanstalk側でDockerイメージを載せ替えるのに3分ほど。

スクリーンショット 2016-06-22 11.48.32

 

まあ、Dockerの便利さを考えればこの問題は目を瞑りますか〜。

 


続きを読む

GitHub + IIJ SmartKey での2段階認証の方法

はじめに

みなさん、こんにちは。たけのこシーズンを満喫した田舎系エンジニアの穂積です。
今回は、IIJ SmartKey を使って、GitHubを 2段階認証にする方法を紹介します!

2段階認証とは?

2段階認証とは、旧来の ID/パスワード認証に加え、ユーザーの端末(スマホなど)に送信されるセキュリティコードを用いて認証する方法を指します。

旧来のID/パスワード認証では、ID/パスワードが流出してしまった場合に第三者にログインされてしまう危険性がありました。そこで、近年では、ID/パスワードに加え、ユーザーの端末に送信されるセキュリティコードを用いて認証することで、情報流出があった場合でも第三者に情報を盗まれないようにする取り組みが進んでいます。

GitHub における2段階認証の設定方法

GitHub でも2段階認証を設定することができます。GitHub では2段階認証の方法として、SMS認証とアプリ認証を提供しているのですが、今回はアプリ認証を採用しました。

アプリ認証を行う場合、2段階認証をサポートするアプリを端末に導入する必要があります。いくつかのサービスが出ているのですが、端末引継ぎが可能という利点を考慮し「IIJ SmartKey」を使うことにしました。以下設定方法です。

まずは GitHub のユーザー設定から「Security」という項目を選択してください。選択すると下画像の通り、Two-factor authentication が表示されるかと思います。表示されましたら、「Set up two-factor authentiacation」をクリックしてください。

スクリーンショット 2016-06-17 10.28.15

クリックすると認証方法を選択する画面に遷移しますので、アプリ認証を選択してください。

スクリーンショット 2016-06-17 10.28.47

そうすると、QRコードが表示されるかと思います。

スクリーンショット 2016-06-17 10.28.57

ここまで来たら、次は「IIJ SmartKey」の出番です。「IIJ SmartKey」を起動し、左上のプラスボタンをクリックして、QRコード読み込み画面に遷移してください。QRコードを読み込むと6桁のワンタイムパスワードが表示されますので、上画像の「2. Enter the six-digit code from the application」に入力してください。これで2段階認証の設定が完了しました(`・ω・´)ゞ

2段階認証後に必要な作業

2段階認証後、既存の GitHub で管理しているリポジトリで push が行えなくなる可能性があります。その場合の対処方法を紹介します。push が行えなくなる原因は https 接続を利用していた場合、ID/パスワードだけでは認証が通らなくなることです。そこで、接続方法を https から ssh に変更し認証が通るようにします。

まずは、公開鍵を GitHub にアップし、接続の準備をします。ユーザー設定の「SSH and GPG keys」から「New SSH key」をクリックし、公開鍵を登録してください。
※鍵の作成方法は割愛させていただきます。

スクリーンショット 2016-06-17 12.25.45

公開鍵の登録が終わりましたら、ターミナルにて以下のコマンドを打ち接続確認をしましょう。

ssh -T git@github.com

以下のように表示されれば成功です。

Hi <User Name>! You’ve successfully authenticated, but GitHub does not provide shell access.

最後にリポジトリの remote 設定を https から ssh に変更する必要があります。リポジトリのルートディレクトリに移動し、以下のコマンドを実行してください。これで push ができるようになるはずです。

git remote set-url origin git@github.com:[オーナーのユーザーIDまたはチームID]/[リポジトリ].git

※オーナーのユーザーIDまたはチームID/リポジトリ名がわからない場合には以下のコマンドで確認ができます

git remote -v

さいごに

今回は、IIJ SmartKey を使って、GitHubを 2段階認証にする方法を紹介しました。今後もためになりそうなことを記事にしていこうと思いますのでどうぞよろしくお願いします (`・ω・´)ゞ


続きを読む

セガ・インタラクティブ社、「Wonderland Wars」コミュニティ運営にBONDOを導入

しくみ製作所株式会社(代表:車拓哉)は、株式会社セガ・インタラクティブ(本社:東京都大田区)が運営する「Wonderland Wars」のコミュニティ運営にあたって、BONDO提供を2016年4月25日より開始いたしました。

screencapture-wonder-club-jp-1481685767730

 

サービス名 ワンダー部
サービス開始 2016年4月25日
著作権表記 ©SEGA
※記載されている会社名、ロゴマーク、製品名などは、各社の登録商標または商標です。
※本書面に掲載された画像及びテキストの無断転用を禁じます。

 

本件に関するお問合せ先
しくみ製作所株式会社 担当:林
TEL:050-5539-9295
E-mail:info@sikmi.com


続きを読む