euvicc's sphere cycloalkanique

ダイアリーから移行して再始動。自転車とMETALとその他雑多な物欲記録。

何故か四十手前にして自転車趣味に目覚めてしまったある男の記録...のようなもの。

ライドの記録、買い物記録、超私的レビューみたいな駄文を書き連ねます。

今更感すごいが、自動化にハマっている件

Euviccです。
うわ、久々ですねtechタグ付きの日記エントリ書くの😅 まあ、それぐらいハマっているわけではありまして。タイトルの通りそれが自動化なわけであります。

そもそも自動化ってなんなのさ

プログラマだったりSEだったり、ITに関わる仕事をしてる人ならバッチ処理って言った方がピンとくるかもしれない。
といっても、バッチ処理はbatch(束)という言葉が指す通り束になった=大量のデータを一斉に連続で処理するという意味あいが強い。今回の話はちょっと違ってて、まず第一にスマホーー私に限っていえばiPhoneの操作が対象です。例えば、

  1. カメラアプリを起動する
  2. 写真を撮る(そして保存する)
  3. Twitterクライアントを開く
  4. 新規ツイートを開く
  5. さっき撮った写真を添付する
  6. 今いる場所の位置情報を取得する
  7. 「〜なう」と一文くっつける
  8. ツイート投稿

この例はみんなよくやるであろう、旅行に行った時スマホで写真を撮ってTwitterにうp!! といった行動をひとつずつ細かいアクションに分解したものです。これでも一部省略してるところがあるけれど、合計8ステップもあるんですよ? 毎回毎回コレやるの、面倒臭くないですか?w
そこで出てくるのがジャーン! 自動化(automation)です(`・ω・´)キリッ 自動化によってこの8ステップの労力をたった1ステップ(タップ)で終わらせられたら、楽じゃありません?
もちろん上記の例だと、操作のやり方によってはいくらか簡略化できるし、同じことを一気通貫にやってくれるアプリだって探せばある。だけどこういう作業を自分で組み合わせて作るようにできるともっと楽しいよ?(((o(^∇^)o)))←こう考える人ばかりとは限らない

何をどうすればいいのさ?

必要なのは、これぐらいになります。

  • 自動化したい操作(つまり目的)
  • 操作に必要なアプリ(ただし外部連携可能なもの)
  • 自動化用プラットフォーム

一番最初に挙げた「目的」これが最も重要なんだが、実のところ最初のうちはなくてもなんとかなるw 理由は後述。
操作に必要なアプリも重要ですね。ツイートしたいならTwitterクライアントが要るし、LINEにメッセージ投げたいなら当然LINEが必要。ただ注意しなきゃいけないのはそのアプリがAPI公開されてて外部連携できること。そうじゃないと何もできないし😥

次に自動化プラットフォーム。webでできるのもあるようだけど、アプリになってるヤツがお手軽且つまとまってて良いですね。こんなん↓があります。

myThings

myThings

  • Yahoo Japan Corp.
  • ユーティリティ
  • 無料
myThingsは1トリガー/1アクション。つまり

○○○したら/されたら/なったら(トリガー)

▲▲▲する(アクション)

というヤツです。これはかなりわかりやすい。Yahoo!(日本の)が作ってるヤツらしく、UIが日本語ってところもgoodですね。画面はこんな感じです。

連携できるサービスはやはり日本のもの……特にYahoo!系が充実。Yahoo!天気とかヤフオクとか。ハードウェア、いわゆるIoT家電ってヤツらとも連携できるけど、この次のIFTTTと比べると全然少ないかな。画面に出てるけど、よく使いそうなアクション(あるいはサービス)はレシピ化されているので、最初のうちはざっと画面を眺めて「お。これはあったら便利かも?」みたいなのを見つけて登録すればいい。最初のうちは目的なんてなくても何とかなるって書いてたのはコレがあるからです。ではお次。

IFTTT

IFTTT

  • IFTTT
  • 仕事効率化
  • 無料
「イフト」と読む。"if this, then that"の意で、つまりこちらも1トリガー1アクションではあるのだが、連携できるものの種類がクッソ多い。特にIoT家電とかが豊富かも。webからでも使える。
ifttt.com
残念ながら英語onlyです。といっても、そんな難しいもんでもないので直感的にわかると思うけどねw ちなみにiOSアプリだけでなくAndroidアプリもある。ゆえにAndroid使いの皆さんだって大丈夫♪🙆‍♂️
iOS版の画面はこんな感じです。

画面に出ているのは、myThingsと同様使い方の提案=レシピです。結構な数があります。面白そうなのを書き出してみるとこんなのがある。

  • iOSのアドレス帳に新規登録するとGoogleのアドレス帳にも同時に登録する
  • 国際宇宙ステーションが自宅の真上を通過したら通知を出す
  • 外が雨だったら通知する
  • WHOがパンデミック発生のニュースをリリースしたら通知する
  • PHILIPS hue*1の光る色を変えるボタン

などなどなど。誰得?みたいなのも多いけど、これは使えそう!みたいなのも結構いる。ただし、天気予報とかは海外のサービスを使ってるようなので日本の天気は精度悪いかも。あと豊富なIoT機器も日本じゃ売ってないヤツがかなりあったりして残念なケース多し(´・ω・`) 惜しいよね〜。でも日本のIoTってまだまだこれからなので、IFTTTももっと楽しく便利なレシピが増えてくんじゃないかな。……えーと、ほら。HomePodだってこれから発売なんだし? それにAmazon Echoだったらもう日本でも手に入るよね? これからの発展に期待。できれば日本語化を強く希望ですw

Workflow

Workflow

  • Apple
  • 仕事効率化
  • 無料
いよいよきましたWorkflow。iOS向けのみなんだけど、コレが真打ちですね。ちなみにアプリ提供元がAppleになってるけど、それはこのアプリをAppleが買収したからだそうで。
コイツで何ができるかっていうと、myThingsやIFTTT同様外部のwebサービスとの連携も勿論できるが、iPhone自体の操作(≒iOS自体の機能/操作)を自動化できるんですね。iOS機能だけでなくアプリとの連携もできる(ただしこれは連携先アプリと開発元からの提供が必要だけど)。これがスゴイ。
まあ画面を見てみてくれ。

最初の画面(My Workflows)には試しに作ってみたフロー(後述)が載っちゃってるが、自分が作った、あるいは隣の画面(Gallery)から登録したフローが表示される。ここから起動することもできるし、iOSウィジェット内にボタンとして登録することもできる*2。こんな風にね。

一部自分の音楽の趣味がバレる感じになってるがそこはスルーしてくださいw ギャラリー画面はmyThingsやIFTTTと同様レシピ集になっている。さっき書いたようにココから気に入ったフローを登録することができる。

試しに作ってみた

前節で挙げたアプリは実際に私が導入、つまりインストールした順に記しています。ネットでこの手の記事を見つけてさらっと読み、活用できたらちょっぴり便利かも?ぐらいに思ったのがきっかけ。普段わざわざ開いて見ず通知も切ってるSNS*3に関して、特定の人の投稿があった瞬間に通知してくれればいいなあ、とかそんな感じでmyThingsの連携をひとつ作ってみたような気がします。
その次にIFTTTだったかな。ホーム画面から1タップで「今ここにいる」てSMSを位置情報リンクつきで作れれば楽かもね〜、そんな感じだったと記憶してる。
ただ、その後入れたWorkflowについては、入れてもしばらくの間使えず、単にストレージの肥やしになってました😅 恥ずかしながら、使い方がわからないことに加えコレ使って何かやりたいって目的も特に思い浮かばなかったためです。オペレーションの自動化という意味では一応、プラットフォームこそ違えどmacAutomatorで「Homebrewのupdate→upgrade→cleanupを一気通貫で行う」みたいなフローを組んで運用してるんですけどねェ?(ただし起動は手動)。
ただここ最近、このWorkflowに関するネットの記事が若干増えてきて、それとともにTipsみたいなのも探せば見つかるようになってきた。先達はあらまほしきことかな(*'ω'*) 単に"Workflow"だけでググってもざっとこんな感じに出てくる。

いや、実はAppleがWorkflowを買収したのは2015年のことで、記事によってはその頃から既にぽちぽち出始めてるんですけどね。単に俺が知らなかっただけっていう(苦笑)

そんな記事を見てると、よっしゃ俺も一丁作ってみようではないか♪ という気になるわけだ。それが先ほどのスクショに載っけたヤツである。名付けて"tweet #nowplaying" ……iPhoneで今流してる曲の情報をハッシュタグもつけてツイートしてしまおう、という機能であります。かつて公式ではないTwitterクライアント*4の何かにこういう機能があってそれなりに重宝してたんだけどサービスが終わってなくなっちゃったので、あればいいなあ〜とか考えてたんですよ(((o(^∇^)o))) フローの中身はこんな感じになります。

フローは左の一番上から始まり右に移って一番下で終わる。何をしているのか?

①Get Current Song: 再生中の曲情報を取得する
②Text: 取得した曲情報のうちタイトルをtext型の変数に入れる(型はキャストされる)
③If判別ブロック: ②で取得したTextの中身は空っぽか?
    <true>すぐ下を実行→④へ
    <false> Otherwiseを実行→⑤⑥へ
④Show Notification: 通知メッセージを出す
⑤Text: ツイートの内容作成
    ・固定文言+カレンダーのcurrent dateで日時を入れる
    ・Current Songオブジェクトから
        タイトル
        アーティスト名
        アルバム
      を列記
    ・定番ハッシュタグ#nowplayingとその日本語版的な#なうぷれ、は固定文言で入れる
    ・#の後ろにアーティスト名をつけてアーティストのハッシュタグを作る
⑥TweetBot: アプリ連携でTweetBotを起動し新規ツイートにTextの中身を書き込む
  ※アカウントは選択式、ツイートは手動
⑦終了

こんな感じです。こうやって書いてみるとものすごく単純ですね😅 動かしてみるとこうなります。ちなみにツイート投稿には個人的趣味で公式クライアントではなくTweetBotを採用しております。


一方、何も再生してないとコレが出ます。

このメッセージ*5にもある通り、残念なことにまことに残念なことに、Amazon Musicには対応できてません(´・ω・`) これは仕方のない話で、WorkflowからAmazon Musicの情報を取得することができないんですね。Amazonさん何とかなりませんかマジで? それはともかく、基本形はこれで完成なのでできればこのフロー、さらに発展させたいなぁ。


如何だったでしょうか。使いこなせば、色々楽しくなると思いません? 後半Workflowネタばかりになっちゃった感があるが、iPhone使いな皆様には是非試してみていただきたいです。マジ便利。マジ卍←JK語無理して使うなよε-(´∀`; )
では、このへんで!

*1:フィリップスのスマートLEDライト

*2:実はこれはIFTTTもできる

*3:FacebookとかInstagramとかそのへん

*4:BIGLOBEのついっぷるだったような気がする…

*5:メッセージ自体は自分で書いたんですけどねw