プログラミングしたことありますか?
2020年度からプログラミング教育が必修化と言われており、これまで一部のプロフェッショナルや、いわゆるオタクがやっているというイメージの強かった、プログラミングが随分身近になって来た。
プログラミングというのは、基本的には英数字が並ぶ文字列なので見た瞬間に「無理!!」って思う人も多いと思う。
実は僕も昔はそんなタイプだった。
僕は社会学部というザ・文系な学部を卒業し、PCが好きだからということでシステム業界に就職したのだが、今考えたら恐ろしく浅はかな考えで、就職直後は本当に苦労した。
それから15年くらいが経過し、紆余曲折を経て今もこの業界で、プログラミングをしながら仕事を続けているのだが、プログラミング言語は、C・Java・HTML・PHP・Swiftなど色々あるものの、基本的な考え方は全て同じだと思っている。
要するに、
ある事象が発生し、それを一定の条件に基づいて処理して、結果を返却する
この繰り返しだ。
この部分を生活に活かすことができるようなサービスが登場した。『Codyl Connect』というもので、
Codyl Connectであなたの生活をプログラムしてみませんか?
というキャッチコピーで開始されたサービスだ。
今回コーディルテクノロジー社よりレビュー依頼をいただいたので、サービスを体験した感想や、おすすめの活用法、プログラマー視点でみた可能性を紹介してみようと思う。
ちなみに、2017年3月時点ではベータ版で利用は無料となっている。
本ページはアフィリエイトプログラムによる収益を得ています。
Codyl Connect(コーディル コネクト)とは
生活をプログラムする
がコンセプトのCodyl Connect(コーディル コネクト)は、コーディルテクノロジー社が開発している、新サービスだ。
同種サービスの代表格はIFTTT(イフト)じゃ無いかと思う。
複数のWEBサービスを繋げる事ができるもので、例えば僕はブロガーなので、こんな使い方をよくする。
- 自分のブログのRSSに新しい記事が配信されたら
- Twitter・Facebookに記事のタイトルとURLを投稿する
- さらに、Evernoteに保存する
とか、
- TwitterでいいねしたURLの記事を
- Evernoteに保存する
みたいなものだ。
とはいえ、無理に使わなくても困らないものは多い。僕は一時期使っていたが、今は利用をやめてしまっている。
様々なWEBサービスを通じて得た情報を、1箇所に集約したり、それを拡散する用途に向いているのだが、1つ1つは公式サービスとして用意されていることも多いからだ。
Codyl Connect(コーディル コネクト)の対応サービス
この手のサービスは、外部のWEBサービスとの連携がメインとなる。
各種サービス・デバイスとCodyl Connectを接続する対象を『コネクター』と呼んでいるが、その対象は2017年3月現在だと以下になる。
- Gmail
- Googleカレンダー
- Googleドライブ
- SMTP/IMAPメール
- フィード
- メソッドバスケット
- 天気予報(Open Weather Map)
- iPhone(Bluetooth・iBeacon・Wi-Fi アクセスポイント・プッシュ通知・ボタン・位置情報)
はっきり言ってまだまだ少ない。
特にこの手のサービスとして需要が一番多いであろう、FacebookやEvernote・OneNoteに対応していないのは弱点。
これは時間がある程度解決する問題だと思うが、まあこういうサービスと連携したければ、IFTTTなどを使った方が早いと思う。
Codyl Connect(コーディル コネクト)が凄いと思う所
ベータ版と言うことでまだまだ過渡期のサービスとは思うが、Codyl Connectの面白いと思う所は、WEBサービスを繋げるというよくある仕組みだけでなく、スマホの情報を使ってPUSH通知が送れるというところだ。
むしろこれが『肝』であり最大の特徴だと思う。
というのもこのサービス、2017年3月時点ではiOS 9.3以降で動作するiPhoneシリーズ, iPadシリーズに対応ということで、Androidには対応していない。
Androidでは『Tasker』というアプリがあり、例えば、
- スマホの位置情報を使って通知を送る
- Wi-Fiのアクセスポイントに接続したら、特定の動作を行う
なんて事が設定出来る。これをどう使いこなすかは悩ましいものの、Androidでしかできなかったことの一部がiOSでできるというのが僕にとっては便利と感じた。
誤解のないようにして欲しいが、IFTTTなどの先行サービスでも対応はしている。現状でできる事にそれほど違いは無いが、iPhoneユーザー的に可能性を感じるという意味で期待しているのだ。
ただ、多くの方は、
それの何が凄いの?メリットは??
って思うだろう。
Codyl Connectは生活をプログラミングするサービスだ。プログラミングとは創造であり、できる事はほぼ無限にあるので、これは一例に過ぎないが、僕が考える便利な使い方は、
入退室管理
だ。といっても、会社でよくあるIDカードとかではなく、家族、さらに言えば子供の入退室管理として使えるなと思っている。
以降は、それを具体的に試した結果を紹介しようと思う。
家族の入退室管理をスマホで『自動化』する
家族の入退室管理なんて何に使うのかと思うだろうが、特に共働き家庭だと、子供が誰もいない家に帰ってくることがある。
- 無事に帰っているのか
- いつ帰ったのか
って情報は子供が小さい頃は気になると思うが、だからといって防犯カメラのようなものを用意したり、会社の入退室管理のようにカードをかざすなんて、面倒だしコストもかかる。
さらに言えば、子供とは言え監視されている感じは気分のいいものではないだろう。
Codyl Connectを使うとこれが、
- 安価に構築できる
- 監視される側(主に子供)は特に何もしなくて言い
- 監視する側(親)も能動的に確認する必要は無く、スマホにPUSH通知が届くので確認が楽
- やめたいときはすぐにやめられる
というのがとてもいい。
家族とは言え『監視されている感じが嫌』ということもあるだろうし、適度な緩さは大切だと思う。
緩さのポイントは、例えばWi-Fiをオフにすれば検知されないし、設定的にはWi-Fi接続(帰宅)とWi-Fi切断(外出)の両方を設定可能だが、敢えて片方だけ設定する事もできる。
僕の場合は、とりあえず、
- 2台のiPhone(iPhone 7とiPhone 6s Plus)で設定
- 1台のiPhone(iPhone 7)が特定のWi-Fiアクセスポイント接続すると、2台にPUSH通知
という設定で構成してみた。
セットアップ
セットアップにはまずアカウント設定が必要になる。
SNS連携による認証はTwitterのみだった。
WEBブラウザ経由でのアクセスでも、専用アプリでも同様だ。
ちなみに、端末(iPhone・iPad)との連携はログインした端末が対象となる。
つまり、2台の端末に設定する場合は、とりあえずその2台でログインしておく必要がある。
一連の処理をCodyl Connectでは『シナリオ』と呼んでいる(IFTTTでいうレシピ)。
作成画面では、
- 新規シナリオ作成
- テンプレートから作成
の2種類が選べるため、最初はとりあえずテンプレートから作ってみることをおすすめするが、今回は『新規シナリオ』で進める。
ところが、スマホアプリ上から(正確にはWebViewだが)設定できると思いきや、確かに新規シナリオとかはできるのだが、
新規シナリオの場合、画面の横幅が足りないのでデフォルトでは作成不可だった。
まあ後述の画面をみれば納得なのだが、iPadかPC(Mac)からじゃないと設定出来ないというのは、利用者が増えた場合に厳しいだろうと感じた。
以降の設定画面はPCのもので解説する。
Wi-Fi接続でPUSH通知のシナリオを作る
作成画面はこんなもの。
まずは、『イベントウォークを新規作成』を選択して、処理の流れを作成する。
すると新規作成画面が表示され、
- main
- abort
というフローが表示される。プログラミング経験のある人ならスッと理解できると思うが、一般的にはちょっと分かりづらい。
mainは通常処理、abortは異常処理くらいの認識で良いと思う。つまり、通常はmainだけを作れば良い。
間の『+』を押すと『state』という箱が増えて、そこで何をするかが設定出来る。
すると、ステート遷移、タイムアウト、コネクターが出てくるが、とりあえずコネクターだけを設定する。コネクターの追加を押すと、
このように作ったことがあるものは優先的に表示されるのだが、最初は何もないはずなので、新しいコネクターを作成を選択する。
ここで、今回は『Wi-Fiアクセスポイント』を選択。
※画面上では1度設定したため、表示されているが
iOSデバイスを選択すると、ログインした端末が表示されるので、Wi-Fi接続を監視する端末を選択する。
するとコネクターの作成が完了しこのような表示になる。
メソッドというのは組み込まれた処理みたいなイメージだろうか。例えば、『TRIGGER:when connected』はWi-Fiに接続という意味で、その時どうするかを設定出来る。
ここでは、Wi-Fiのアクセスポイント名(SSID)を設定する。
設定しない場合どのWi-Fiでも接続したら通知されるため、自宅のアクセスポイント名を設定するのがポイントとなる。
そして、またstateを追加する。
次はPUSH通知を設定。先ほどと同じくコネクターを新規追加し、PUSH通知する端末を追加する。
2台の場合は対象を追加して、こんな風に設定した。
設定後の画面はこんな感じだ。
メッセージは任意だがとりあえず「Wi-Fiに接続」としておいた。
その後、設定画面に戻り、
- 今すぐ実行を押し
- スケジュール設定を有効
にすれば、設定は完了だ。
実際に通知はどのように送られるか
設定が完了すれば、あとは特にやることはない。
今回のシナリオの場合、
iPhone 7が特定のWi-Fiアクセスポイントに接続すると、2台のiPhoneにPUSH通知
というものだ。
実際に自宅に入って、iPhone 7がWi-Fi接続状態になると、
こんな感じで、iPhone 7とiPhone 6s PlusにPUSH通知が飛んできた。バッチリだ。
タイムラグもほぼない。アクセスポイント接続後1分以内で通知が届く。
ちなみに、PUSH通知はCodyl Connectのアプリを介して行われるため、対象アプリがインストールされている前提になる。
PUSH通知なので、とりあえず見たら終わりという手軽さと、地味に便利なのがアプリ上で一覧確認できる事。
今回の用途だと、いちいちアプリを開くことはほぼない。見て終わりなので、未読通知がどんどん増えて行く。
アプリでそれを確認すると、一括で既読化出来るというのがとても嬉しい。
終わりに
今回紹介した事例は、ほぼ無限にあるCodyl Connectの使い方の1つに過ぎない。
プログラミングというのは、もちろん言語毎に制限はあるし、Codyl Connectも全てが自由と言うわけでもない。
だが、例えば『Wi-Fiアクセスポイントに接続』というイベントを契機にやることも、パターンはほぼ無限大だと思うし、それこそがプログラミングの面白さだと僕は思っている。
プログラミングというとどうしても身構えてしまう人が多いのも事実だが、プログラミングの思想的なものに触れるという意味でも、Codyl Connectは可能性を感じるサービスだと思った。
作る楽しさ
は子供も大人も一緒だと思うからだ。
是非試してみて欲しい。