2005-10-03
■ [PalmBacker]クリエイターIDでくくる必要性 
以前、この日記でもお話いたしましたPalmBackerというアプリを本日公開いたしました。
このアプリは、指定したアプリと同じクリエイターIDを持つDBをまとめて外部メモリへバックアップするというもの。
Palmの世界ではこのクリエイターIDというのが重要で、アプリケーション本体と関連するデータベースは同じIDで管理されています。
例えば何気なくアプリケーションをPalmの本体から削除した際、同じクリエイターIDを持つデータベースもまるごと削除されるのですね。
例えば新しいPalmを購入し、メインマシンをそちらに乗り換える際にも、アプリ本体のほかに同じIDを持つデータベースを併せてコピーすれば、新しいマシンで今までの設定を引き継いだままアプリが使える仕組みになっています。
ところが実際にはFilezや3XComなど一般的なメモリ管理アプリは、クリエイターID毎にデータベースをグルーピングできません。
昔は、僕の使っていたクリエのPEG-SJ33などにはMS Gateなど、ある程度のグルーピング表示が可能なメモリ管理ツールがあったのですが、OS5クリエには搭載されなくなったようです(Visorのフラッシュメモリモジュールにも同様の管理アプリがありました)。
そう考えると、今は何故このテのアプリが無くなってしまったのか疑問が沸いてきますね。
ただ無くなってしまったものを嘆いても仕方ありません。無い物は作るだけです。
NS Basicで作るPalmwareには色々と制限も多く、高機能なことを実現するのは難しいのですが、簡単な機能を組み合わせることでこういったグルーピング可能なデータベースのバックアップ専用アプリを作ることは出来そうです。
そんな無い物ねだりの中で試行錯誤をしながら作ったのがPalmBackerです。
階層リスト表示はパフォーマンス的に厳しいので2リスト構成にし、メインのリストにはアプリケーション一覧を、サブリストには関連するDB一覧を表示するようにしました。
サブリストはそのままバックアップ一覧となりますので、不要なDBはリストから選択して除外する事も可能にしました。
これだけあれば、機能的には十分です。
実は、とってもメジャーなアプリで同じ事をやっている物があります。
このアプリの目的はバックアップではありませんが、アプリ本体と関連するDBを拡張メモリに退避すると言う基本動作は全く一緒だったりします(私も引越しの際にかなりPowerRUNのお世話になりました)。
強いて言うなら、アプリの退避先がアプリごとにフォルダ訳されているところまで一緒です。
つまり、アプリのバックアップを目的とする限り、PowerRUNを使用しても全く同じ効果が得られるのですね。あちらはアプリ名が日本語の場合に日本語表示されるあたり、PalmBackerより出来がいいです。
これではPalmBackerの存在価値がなくなってしまいます。
しかしPalmBackerでは、HackやDAといったPowerRUNで対応していない形式のアプリについても同様の手法でバックアップを行えると言う利点があります。
しかも、共有ライブラリのバックアップ機能は大きなプラスポイントとなるでしょう。
僕自身がNS Basicというツールでアプリを作っているからかもしれませんが、共有ライブラリのバックアップにはひときわ神経を使っています。
NS Basicのランタイムをはじめ、システムライブラリやVFSライブラリは僕の主要なアプリでは必須ですが、これらはアプリではないのでランチャー画面からは認識できません。
機種を乗り換えた際にこれらのインストールを忘れてFatalエラーが発生すると言うのは、結構ある話なのです。
アプリと共有ライブラリをバックアップすることで、およそ機種乗り換えに必要なDBの95%はカバーできると考えているので、これだけでもPalmBackerの有効性が分かっていただけると思います。
その他、DOC文書やPIM系のDBがあればほぼ100%でしょう。
これら引越しに必要なDBを、メモリカードに分類しながらバックアップできるPalmBackerは、出番は多くないかもしれませんがきっと貴方のお役に立つアプリだと考えています。