「フラグが立った」ことを表現する旗

手動でもブラウザからでも上げ下げできる物理的な旗『1bitフラグ』を作った。

ブラウザ上の旗と物理的な旗が連動する仕組み『1bitフラグ』を作った。
この1bitフラグのWebサイトでは、画面上の旗をクリックすることで旗の上げ下げができ、またその状態が現実の旗にも同期するようになっている。
もちろん現実の旗の方を手動で上げ下げすると、画面上旗も同期する。

日常で「フラグが立つ」場面、ありますよね

「フラグが立つ」というネットスラング的な言い回しがある。
「フラグ」とは、もともとゲームのプログラミング等でよく使われる用語であり、特定の条件によってイベントを開始させる、ルートを分岐させるといった場合に、その条件が成立しているかどうかの判定をするものである。まさに上記の場面では、目印といった意味で旗のモチーフを概念的に用いているわけなのだが、これが『1bitフラグ』によって本物の旗になることで、現実世界においても様々なフラグを立てることが可能になる。

たとえば、お風呂を洗ったとき。
このフラグを立てれば、お風呂を洗ったかどうかがひと目で判別できる。

もしくは金魚にエサをあげたあと。
このフラグを立てておけば、他の人がうっかりもう一度エサをあげてしまうリスクを回避できる。

冷蔵庫の食材が切れたとき、何かをひらめいたとき、雨が降ったとき……
このように日常のあらゆる場面において、目印としての「フラグが立った」ことを物理的に表現することが可能になるのである。

遠隔でもフラグが立つ

この旗デバイスの通信には、obniz Boardという小型のシングルボードコンピュータを用いている。機種は obniz Board 1Y。
obniz Boardには個別のIDが割り振られており、そのIDを1bitフラグのサイトで入力すれば個別の旗にインターネット経由で接続することができる。

サイトにアクセスするとフォームが表示され、obniz IDを入力することで旗に接続できる

現在、一つの旗には同時に5人まで接続できる。
もちろんIDさえ知っていれば遠くからでも接続・操作ができるため、用途さえ決めておけば、リモートワークをしている同僚と連携して「あの人は今、席を離れているんだな」と把握できるようなコミュニケーションツールとしても使えそうだ。
むしろ、用途も何も決めずに「何かしらのフラグが立った」程度で使うのもいいかもしれない。

この旗の特徴はとにかく単機能であること。
それゆえに、フラグの使い道は使う人次第でいくらでも拡げることができる。
現在はいくつか旗を増やして、さらなる使い方を開発してみようとしているところだ。


余談:いいかんじの旗ができるまで

今回この『1bitフラグ』を発案した高田徹さんが、obnizの導入や旗デバイスのモデリング等を担当してくれた。技術要件については高田さんにいろいろ詰めてもらい、私はよちよちとobnizのプログラム、画面デザイン・構築を行った。(ここは東さんにかなりサポートしていただいた。)

これが
こうなって
こうなった

プロトタイプ段階の旗の勢いがすごすぎる。

ちなみにこちらが、高田さんが作成した駆動部の設計図。
旗を単に通信で上げ下げできるだけではなく、手動でも上げ下げできるように工夫しているところがミソ。

旗を手で動かす場合は、内蔵している磁石がやさしく張り付いて「カチッ」っと確かな手応えがするように細かく工夫していただいた。個人的なお気に入りポイントである。

磁石の張り付きが強すぎると手で動かすときに力が要るため、磁石同士が完全に張り付かないようなほどよい隙間ができる配置に。また、この張り付きによって、モーターを稼働し続けなくても旗が自立できていたり、磁気センサーで旗が上がっているか下がっているかをブラウザの表示と同期できていたりと、通信上の機能性向上にも大いに役立っている。

旗をサーボモーターで上げ下げする場合は、スピードや角度が少し変わるだけで旗の上がりやすさや印象が大きく変わってしまうため、コード上で細かな調整を行った。具体的には、for文を回してちょっとずつ角度を変更している。私はプログラミングや開発については全くの初心者なのであるが、このあたりを感覚頼りに面白がりながら調整できたのはとても楽しかった。

がんばれ〜〜!

ちなみにこのデバイスの旗部分や土台部分は3Dプリンターで印刷したものなので、フィラメントの色を変えれば旗の色を変えることも可能。実は1bitフラグサイトにアクセスするときに、各自で使用する旗の色をURLに入力すると画面上でも色が変えられるというちょっとした便利機能も仕込んでいる。

obniz IDもURLに打ち込めば省略可能。便利〜

1bitフラグのサイト:http://1bitflag.club/

制作 schappe, tettou771, 東信伍