ねとわく
背後でねとわくをかけるのであれば、ユーザには全く気づかせないようでないと、
意味が無いのだと思います。
それは例えば、ねとわく中にもゴーストが凍ったり、
ゴーストを終了できなくなったりしてはいけない、ということで。
さらに言うと、勝手にリロードがかかるのもNGですから、
つまり、SHIORI起動中に背後でねとわくをかけるのは、多分あまり歓迎されない。
ではどうするか。
SHIORI起動中がだめなら、SHIORI起動前にねとわくをかけてしまえばよい。
沢山の更新があった場合は待つことになりますが。
で、それを敷衍していくと、似た仕組みはすでにあるのですね。
Webブラウザがそうです。
ページを見に行く。
ローカルにキャッシュをしておいて、変更されたファイルだけ落としてきて、
結果、いつも最新の状態で表示される。オフライン状態だとキャッシュから表示する。
つまり、本体がブラウザになればよい。
ローカルにあるのはキャッシュ(及びCookieとしてのセーブデータ)だけで、
ゴーストを「インストールする」という概念はなく、配布元のURLだけが
お気に入り=ゴーストメニューに登録されている状態。
オフラインモードで起動するとキャッシュからそのゴーストを起動する。
ブラウザと違って、キャッシュはexpireされないので、
キャッシュから起動したからといって壊れた表示にはならないでしょう。
こうすると、多分ユーザは「ねとわく」を意識しません。
起動時にねとわくがかかるのが、Webブラウザでページを見ると通信が起きる、
と同じレベルで、余りにも当たり前になるからです。
小さな更新であれば、更新があったのかどうかも体感では分からなくなるでしょう。
Webページで1文字変えられても気づかないのと一緒です。
ただそうしたとしても、ゴーストセンターのようなものは同じ意味を持ち続けるでしょう。
ゴーストセンターが、Webでいうところの「アンテナ」になるだけです。
そしてそれは、たぶん、必要とされているからこんなに存在しているのでしょう。
で、たぶん、これ、実装するのは技術的にはそれほど難しくないんじゃないかな。
個々のゴーストというより本体の範疇になりますが。
難しいのは、設計思想をそこまで変えて良いのかどうかという問題でしょう。
- 本体側に「オンラインモード」と「オフラインモード」を作って、「オンラインモード」では常に起動時にねとわくをかけるようにすればよい。
- オンラインモードではnarファイルでインストールするのではなく、updates2.dauのURLをゴーストメニュー項目と紐づけてお気に入り管理すればよい。
- .dauファイルとの関連付けも要るかな。
- 「このゴーストはオンライン専用」「このゴーストはオフライン専用」というフラグも、定義ファイルに要るでしょう。
- オフラインの一品モノとして配布したいやつは、オフライン専用フラグを立てて、これまで通りnarで配ればよい。
- 既存のローカルにインストール済みゴーストを「オンライン」モードに持っていくために、インストール済みゴーストのSHIORIにURLを聞いて、「オンライン」の「お気に入り」にインポートするツールが要るかな
- 「インストールされているゴースト」のSHIORI通知は大分意味が変わってくる