代助iPhoneやiPadにJavaScriptの開発実行環境を提供するMyScriptsを使っていろいろとスクリプトを自作していますが、ある悩みがありました。いくつかのスクリプトを選択的に実行したい場合に、バックグラウンド監視がひとつしか指定できない制約があるがどうすればよいのか、ということ。いうエントリをまとめてくださいまして「これだ!」とピーンときました。自分用のユーザー・インターフェース(UI)を作ってしまえばいいんだ、と。自分のスキルとして、Webデザイン、jQuery、CSSなど勉強が必要なことはたくさんありますが、はじめの一歩は踏み出せたかなと思っています。同じように考えている方の参考になればということでまとめてみました。最近、ストレスに感じているのはちょっとアレな広告です。Mobile等で開けるようにしています。//日本語をエンコード//でprefixとしてブラウザのURLスキームを指定します。Storeで詳細を見るこれもストレスなんですがFlash対応サイトが正しく表示できないので、Puffinというブラウザアプリを使っています。同様にURLスキームを変えてやります。MobileとPuffinをそれぞれのURLスキームを作って開くためのスクリプトを用意しているのですが、これを一つのスクリプトにしてどちらのブラウザかを選択できると便利なのにと思っていたことがキッカケです。カスタムUIを作るとできることはじめの一歩は「これまで作成したスクリプトを選択的に実行すること」です。UIスクリプトをバックグランド監視状態で起動しておき、TwitterクライアントからURLをコピーします。通知バーにMyScriptsが通知されるのですかさずタップします。MyScriptsがフォアグラウンドに出てきて、左図のようにメニューを表示させます。Mobile用のURLスキームに作り直して実行します。Puffinを選ぶことも可能になります(もちろんURLスキームが提供されているブラウザならなんでも)。今度はカスタムUIからエディタで開いてみます。ツイート内容を選択してコピーして、通知バーからカスタムUIを呼び出し、Textforceをタップしてみます。MyScriptsに保存してあるClip2Textforceを実行(myscripts://run〜)させることができます。ファイル名を指定してOKすると、クリップボードの内容がTextforceに渡されて編集状態になります。今度は、既存のBookmarkletを登録してみた例です。さんのブロガー必須アイテムをまんま実行できます。AppHtmlを実行して”MyScripts”を入力してみたところです。Lookでプレビューされます。inに対応したアプリがリストされます(上限9個なので自由度は低い)。いうスクリプトのデザインを流用させていただきました。これだけでも十分な気がしますが、やはり欲がでてきます。MobileやCSS、フォームなどを使ってもっと見栄え良く、機能的にしたいなぁと考えています。メニューを折りたたんだり展開したり、フォームやテキストエリアで加工編集したり。自由度が高い分、標準パッケージ化が難しいのかなと思いながら誰か作ってー、と早速、他力本願です・・・しっかし、このアプリの奥深さときたら。Androidの専売特許的なカスタムUIですが、MyScriptsを使えば結構なものが出来るんじゃないかと早くも妄想が広がっております。見栄えもそうですが、スクリプトを実行できるという点で単なるランチャーには留まらないわけで、さらにシーン別に複数のUIを用意しおけばカンタンに切り替えることもできます。Creatorでホーム画面からワンタップで実行できるようにしておくのがいいでしょうね。遠いですが夢はどんどん広がっていきます。