自宅でiPadで執筆しているとき、机の上にMacBookを置いて、iTunes(アプリのアップデートを確認したり、iTunes Match/Radioで音楽を再生するため)を開いたり、MailMate(iOS 7.1ベータ版でメールアプリに問題があったため)を起動したりしていることがよくあります。執筆中はデュアルモニター構成で、Google検索やその他の参考資料はMacBookで確認するのが一般的です。つまり、かなりの量の調査が必要な記事を執筆しているときは、iPadのサブディスプレイとしてMacBookを使用しているということです。
Command-C のリリース以来、私は Danilo Torrisi のユーティリティを使って、テキストと URL をすべてのデバイスに素早く送信しています。Launch Center Pro のアクションを使ってプロセスを高速化しています。Command-C は URL スキームを強力にサポートしており、iOS で作業する際に自動化のテクニックを駆使して時間を節約する iPad ユーザーにとっては大きなメリットです。しかし最近、Command-C で共有しているコンテンツのほとんどが Safari の URL であることに気づいたので、外部アプリやキーボードショートカットを使わずに Safari からワンクリックで URL を送信できるソリューションを作れないかと考えました。最終的にはブックマークレットを使うことになるだろうことは最初から明らかでしたが、私が望んでいたワークフローを実現するために必要なガイダンスを提供してくれた Danilo に感謝しなければなりません。
このブックマークレットは、私自身のために作った部分と、(いつものように)他の人が繰り返し使えるようにするための概念実証の部分があります。他のデバイスのSafariからCommand-CでURLを送信するだけでなく、Safariで現在表示しているWebページをCommand-Cで他のデバイスの別のアプリに送信します。
私の例では、Safari にブックマークレットをインストールしてクリックすると、次の操作を実行できます。
- デバイス A から Web ページを送信して、デバイス B の Tweetbot で新しいツイートを開始します。
- デバイス A から Web ページを送信して、デバイス B の Editorial のブラウザで開きます。
Command-C で Tweetbot ブックマークレット
javascript:window.location=('command-c://x-callback-url/copyText?deviceIndex=1&text='+escape('tweetbot://USERNAME/post?text='+encodeURIComponent(document.location.href)));
(「USERNAME」をTweetbotのTwitterユーザー名に変更してください)
Command-C で編集ブックマークレット
javascript:window.location=('command-c://x-callback-url/copyText?deviceIndex=1&text='+escape('editorial://?command=SimpleURL&input='+encodeURIComponent(document.location.href)));
(SimpleURL ワークフローが必要です)
ブックマークレットを動作させるには、私とTorrisiの間で何度かやり取りが必要でした。Safariにウェブページを別のデバイスの特定のアプリに送信するよう指示することで、エンコードに問題が発生する可能性があり、このescape機能が正しく動作するために必要なためです。また、deviceIndexCommand-Cの設定に応じてパラメータを変更する必要がありますので、詳しい手順についてはCommand-Cのドキュメントを参照してください。
この技術はブラウザ1で動作し、iOSとOS Xの両方で使用できるという柔軟性があり、任意のアプリで特定のアクションをリモートで呼び出すためのテンプレートとして使用できます。理論的には、Pebbleと少しの時間があれば、手首のボタンを押すだけでMacのSafariからiPhoneのTweetbotにBondのようなスタイルでウェブページを送信するワークフローを作成できるはずです。2
アクションはブックマークレットとしてブラウザ内に保存されるため、Alfred、AppleScript、Keyboard Maestro などの外部ランチャーは必要ありません。ブックマーク バーでアクションをクリックするだけで、Command + C により他のデバイスに通知が送信され、それをタップしてアクションを実行できます。
URLスキームのワークフローやiOSではよくあることですが、これらはすべて便利で自動化されていますが、あくまでも上級ユーザー向けの回避策です。上記のコードを自由に変更して、何か別のものを作成された場合は、ぜひお知らせください。
-
同じコードをChromeやFirefox、iOSのiCab、あるいはEditorialのJavaScriptアクションとしても使えます。問題なく動作します。↩︎
-
個人的には試していませんが、SmartWatch+とKeyboard Maestroの組み合わせで実現できるかもしれません。↩︎
追加コンテンツと特典にアクセスする
Club MacStories は 2015 年に設立され、ほぼ 10 年間にわたって毎週独占コンテンツを提供してきました。
毎週、毎月の電子メール ニュースレターから始まったものが、すべての MacStories ファン向けに設計されたメンバーシップ ファミリーに成長しました。
詳細については、こちらおよびクラブの FAQ をご覧ください。
Club MacStories : アプリ、ヒント、自動化ワークフロー、長文執筆、MacStories Unwind ポッドキャストへの早期アクセス、定期的な景品など、盛りだくさんの情報を満載した、電子メールと Web 経由の週刊および月刊ニュースレター。
Club MacStories+ : Club MacStories が提供するすべての機能に加え、アクティブな Discord コミュニティ、クラブの過去のカタログ全体を閲覧するための高度な検索機能とカスタム RSS 機能、ボーナス コラム、多数のアプリ割引などが含まれます。
Club Premier : 上記のすべてに加え、早期に、広告なしで、高ビットレートのオーディオで配信される当社の主力ポッドキャストの拡張バージョンである AppStories+ が含まれます。