第6章


ソフトウェアのインストールとソフトウェアの更新


第一印象はいつまでも残る印象です。そこで、あなたのインストール手順を適切にデザインしましょう。もしユーザがあなたのアプリケーションを正常動作させるためにてこずれば、彼らは実際に使用する前であってもそれに審判を下すでしょう。あなたのソフトウェア更新の仕組みもまた、印象を作り出します。ユーザはあなたのアプリケーションの最新版を、簡単に、そして彼らに都合のよいときに手に入れられることを望んでいます。もしユーザがあなたの提供する最新のソフトウェアの更新、もしくはパッチを手に入れたりインストールするために苦労すれば、あなたは技術サポートのための費用が発生することに気がつくでしょう。

この章は最高のMacintosh体験を提供するために、ユーザがあなたのアプリケーションをはじめて起動する前にあなたができることについて述べています。また、あなたが控えめで、カスタマイズ可能なソフトウェア更新の体験を、あなたのユーザに提供することができる方法についても説明します。

パッケージをつくる

ユーザはあなたのアプリケーションが到着したときの物理的、または電子的なパッケージの体裁を基にして、あなたのアプリケーションの評価を始めます。すばらしいユーザ体験の実現は、あなたの製品がインストール作業より前にどのように提示されるかについて考えることから始まります。あなたのアプリケーションを箱か、オンラインで配布するかに関わらず、あなたの目標はパッケージの美観を心地よく、有益なものにするという点に置くべきです。

システム要求事項を見分けよ

システム要求事項をあなたのパッケージに含めることは必須事項です。あなたのソフトウェアを実行するために必要なMac OS Xのバージョンを確実に見分けてください。

Mac OS Xは3つの異なるプロセッサ、G3、G4、G5上で動作します【intelも…】。もしこれらのプロセッサのどれかを明示的に必要とする機能があれば、確実にあなたのシステム要求事項の中で明記してください。

あなたにできる限りの幅広くさまざまな設定上で確実に試験してください。もし、あなたのアプリケーションが特定の状況下で動作しないことがわかっているのなら、あなたのパッケージに明記することで明らかにしてください。

ADC会員は、アプリケーションをさまざまな異なる種類のハードウェアと、オペレーティングシステムのバージョンで試験するために、ADC互換性実験室を活用することができます。実験室はMacintoshの対応モデルのすべてと、アップル製ディスプレイのすべてを完備しています。実験室の技術者は、これらの装置にさまざまなバージョンのオペレーティングシステムをインストールできます。これは、あなたにとってソフトウェアを多くの異なる環境で試験するためのすばらしい資産となります。最新の情報については、Apple’s ADC Testing Facilitiesウェブサイトを訪れてください。

あなたのソフトウェアをバンドル形式にせよ

あなたが新規のアプリケーションを作成するのなら、必ずアプリケーションバンドルに含めるようにしましょう。アプリケーションバンドルはあなたの実行形式、リソース、設定ファイルのための構造を提供します。また、アプリケーションバンドルはユーザとあなたのアプリケーションとのやりとりを単純化し、ユーザがうっかり重要なリソースを削除する事故を起こりにくくします。Mac OS XとMac OSの以前のバージョンの両方に対応する必要のあるアプリケーションであってもバンドル形式は使用できます。アプリケーションバンドルの詳細は、Bundle Programming Guideを参照してください。

インストール

あなたは、あなたのソフトウェアをインストールすることが、短時間で苦にならない体験であることを保障しなければなりません。このセクションは、あなたのソフトウェアのインストールを、どのようにして扱うかのガイドラインを提供します。さまざまなインストール機構の実装方法についての詳細は、Software Distributionを参照してください。

インターネットで利用できるディスクイメージを使用せよ

もし、インターネットを通じて、あなたのソフトウェアのダウンロード可能なバージョンをユーザに提供するのであれば、あなたはソフトウェアを、インターネットで利用できるディスクイメージにパッケージ化することで、インストール手順を単純化することができます。ディスクイメージはあなたのファイルを圧縮する必要をなくします。なぜなら、ディスクイメージは自分自身で封入されたデータを圧縮できるからです。ディスクイメージがダウンロードされると、Mac OS Xは自動的にそれを開き、ユーザのデスクトップ上にマウントします。ユーザがすべきことは必要なファイルをコピーするか、インストーラを起動することがすべてです。

インターネットで利用できるディスクイメージの作成方法の詳細は、Software Distributionを参照してください。

ドラッグアンドドロップ式インストール

バンドルは、アプリケーションにドラッグアンドドロップ式インストールを提供することを可能にします(アプリケーションバンドルの詳細は、Bundle Programming Guideを参照)。バンドルを使用することは、以下の理由のために、アプリケーションをインストールするために好まれる方法です…

  • アプリケーションのインストールとアンインストールがユーザにとって簡単です。
  • インストールのための時間を短縮します(必要なのはバンドルをコピーするための時間だけです)。
  • あなたはインストーラの開発に時間を費やす必要がありません。

ドラッグアンドドロップ式インストールを提供することは、あなたがシステムの特定の場所へファイルを設置することを妨げるわけではありません。あなたのアプリケーションの初回起動時に、必要な補助ファイルをシステムの適切な場所へコピーすることができます。けれども、あなたはこの技法を、追加の実行可能コードをインストールするために用いることは避けなければいけません。その代わり、環境設定ファイル、文書テンプレート、その他の、必要に応じて再生成でき、アプリケーションの実行には必要ないリソースをインストールするために用いるべきです。

注:もしあなたのアプリケーションの初回実行時に追加ファイルをインストールするならば、これらは必ずApplication Supportディレクトリのような明白な場所へインストールするようにしてください。あなたのリソースは、ユーザがあなたのアプリケーションをアンインストールする必要ができたときに、簡単にこれらのファイルを見つけることができるように、あなたのアプリケーションの名前を付けたディレクトリの中に置くようにお願いします。

インストールパッケージ

もしあなたのアプリケーションバンドルが、実行するために必要なすべてを含んでいるのであれば、ドラッグアンドドロップ式インストールに対応すべきです。けれども、以下の状況のいずれかに該当するなら、あなたはインストールパッケージを作成する必要があるでしょう…

  • あなたがユーザのシステム上の特定の場所にフレームワークやその他のファイルをインストールする必要がある場合。
  • あなたがシステムの管理者権限アクセスを要求される部分にソフトウェアをインストールする必要がある場合。

もしあなたが、アプリケーション以外のソフトウェアを開発しているのであれば、インストールパッケージの必要性はソフトウェアの性質と、どこへインストールされるかに依存します。たとえば、あなたはスクリーンセーバをインストールするためにインストーラを使用する必要があるでしょう。なぜなら、ユーザの「ライブラリ」ディレクトリか、ローカルの「ライブラリ」ディレクトリのいずれかにファイルを置くことを伴うからです。

あなたはインストールパッケージを、Xcode Toolsで利用できるPackage Makerを用いて作成できます。インストーラとパッケージ作成の詳細は、Software Distributionを参照してください。

一般的なインストーラのガイドライン

あなたの製品のインストールパッケージをデザインする際に、以下のガイドラインを心に留めておいてください…

  • 何らかのインストールを行う前に、あなたのインストーラはインストール先のボリュームの、前もってインストールされたアプリケーションの構成要素について調査する必要があります。
  • 常にユーザに単純な初期設定によるインストール(「簡易インストール」)を提供しましょう。ほとんどの製品はカスタムインストールも提供する必要があるでしょう。たとえば、もしユーザがうっかり特定のファイルを捨ててしまった場合に、ユーザはアプリケーション全体を再インストールすることなく復旧できる必要があります。(また、あなたのアプリケーションは実行時に毎回必要なファイルを確認し、これらが失われていたら自動的にインストールしてもかまいません)
  • 選択肢を提供し、その影響を説明しましょう。たとえば、あるインストールオプションは結果的に高速な性能となるもののよりディスク領域を消費し、別のオプションはディスク領域の使用量は少ないが結果的に性能は遅くなるというように。これらの選択肢は必ず、あなたのユーザにとって意味があるように、用語を明確にしてください。
  • 常にユーザにインストール先として特定のフォルダを選択させるようにしましょう。ユーザにアプリケーションを決まった場所へインストールすることを求めてはいけません。
  • ファイルは推奨される場所にのみインストールしましょう(システムディレクトリとその推奨される内容の一覧は、File System Overviewを参照)。もしユーザが何らかの理由であなたのアプリケーションを削除したくなったら、大抵は単にそのアイコンをゴミ箱へドラッグするだけでしょう。

    残ったファイルでユーザのハードディスクを散らかすことは避けてください。もしあなたの製品がインストーラを使用するなら、それにユーザにすべての関連ファイルを削除させるためのアンインストールオプションを含めてください。

  • インストールの間に上書きされるかもしれないデータについて、ユーザに忠告しましょう。そして最初にこれらのデータをバックアップする手段を提供しましょう。以前のユーザ環境設定を上書きしてはいけません。ユーザが初めて更新されたアプリケーションを開いたときに、バージョンと書式の差分を処理してください。
  • 適切なところでヘルプを提供しましょう。たとえば、カスタムインストールペインにおいて、「詳細」ボタンをクリックすることで、なぜユーザはその内容をインストールする必要があるのか、そしてインストールしない場合の結果を説明するべきです。
  • /System以下のアップルのシステムソフトウェアは、いずれもアンインストールしてはいけません。
  • もし、あなたのアプリケーションが、ユーザのシステムに既にインストールされているかもしれないソフトウェアをインストールするのであれば、あなたのインストールするバージョンが、ユーザの既存のバージョンよりも新しいということを確実にしてください。ユーザに対して既存のバージョンと、あなたのアプリケーションが必要とするバージョンを明確にし、このソフトウェアのインストールをスキップするための選択肢を提供しましょう。
  • 現在の段階と残り時間のような、インストールの間の進行状況を示しましょう。関連情報は、「反応と伝達」(42ページ)を参照してください。
  • キャンセルボタンを提供しましょう。もしインストール作業の中断が、システムの安定を危うくするのであれば、その間はボタンを無効にしてください。もしユーザがインストールを中断したら、インストール先のディスクをインストール作業の前と同じ状態のままにしてください(言い換えると、インストール手順が中断される前にインストールされたファイルはすべて削除してください)。
  • ユーザによるあなたのアプリケーションの初回起動時に、補助ファイルをインストールすることを検討しましょう。この技法はインストールパッケージを作成する必要性を軽くし、ユーザによる不慮の削除が行われたときに、あなたのアプリケーションがファイルを再インストールすることを可能にします。
  • あなたのアプリケーションの視聴者に配慮しましょう。一般的な例では、子供が自分用のゲームをホームディレクトリにインストールする場合に、あなたの取り扱い説明は彼らに合わせて(混乱させるような、もしくは技術的な用語は使用しないで)、インストールを彼らに可能な程度に簡単にしましょう。

設定アシスタント

複雑な設定手順が必要な製品のために、設定アシスタントは役立ちます。設定アシスタントとは、設定オプションのあちこちにユーザを案内する小さなアプリケーションです。あなたはアプリケーションバンドルの中といった、あなたのアプリケーションが見つけることのできる場所に設定アシスタントを記録します。

あなたのアプリケーションはいつでも適切なとき—たとえば、システムが新しいハードウェア装置を検出したり、ユーザがあなたのアプリケーションを始めて開いたとき—に設定アシスタントを自動的に開く必要があります。理想的には、ユーザがアシスタントを使用するのはただ一度だけであるべきでしょう。

アシスタントアプリケーションのアイコンは、図 6-1に示す通り、設定アシスタントのアイコンに、あなたのアプリケーションのアイコンが、右下の角にバッジの形式で重ねられた組み合わせでなければいけません。

図 6-1 アシスタントアイコンの例

図 6-2はサンプル用設定アシスタントウインドウの配置を示します。挿入領域内の文字列が左寄せである点と、アシスタントの手順に関連付けされたコントロールは、すべてインデントされていることに気をつけてください。

図 6-2 典型的な設定アシスタントのペイン

設定アシスタントをデザインする際には、以下のガイドラインを心に留めてください…

  • アシスタントが有効な間、アプリケーションメニュー(「〜について」と終了の項目を含む)と編集メニュー(ユーザの文字列入力を補助するための標準的な項目を含む)だけを表示してください。ヘルプメニュー(もしくはヘルプボタン)を提供しないでください。設定アシスタント自体がヘルプです。
  • 移動のために「戻る」と「続ける」ボタンを提供しましょう。
  • アシスタントウインドウのタイトルバーは淡色表示の閉じるボタン、使用可能なウインドウをしまうボタン、淡色表示の拡大/縮小ボタンを含んでいる必要があります。
  • 最初のペインの題名は「はじめに」です。このペインは以降のペインの目的を説明する必要があります。
  • 最後のペインの題名は「仕上げ」です。このペインはユーザに対し、彼らのシステムの何が変更されたのか、これらの設定を変更するにはどうするかを伝える必要があります。このペインはデフォルトの「完了」ボタンと淡色表示の「戻る」ボタンを持つ必要があります。
  • ほとんどの場合、ペインにつきひとつの質問だけを行うのが最適です。
  • 適切なときは常に、空選択に対応しない選択コントロールを使用して、同じ情報について複数回問い合わせる必要を避けましょう。
  • 必須の文字列入力欄それぞれの隣に、アスタリスクやカスタムアイコンを表示することは避けてください。代わりに、ユーザが「続ける」をクリックしたときに空の文字列入力欄を調べてください。もし何かあれば、現在のペインに戻って、空の文字列入力欄の隣にアスタリスクやその他の目印を表示しましょう。
  • ユーザに賢いデフォルトの選択を提供するために、できるだけ多くのシステムアプリケーションとサービスを用いてください。たとえば、あなたは適切なIPアドレスを決定するためにBonjourを利用することができます。
  • 質問の全体の数は、仕事を完了するために必要な最小限の数に制限しましょう。最高の設定アシスタントは可能な限りすぐにユーザに正常動作をさせ、本体のアプリケーションがユーザに環境設定と設定を改良するための機会を提示できるようにします。
  • 適切なときには、関連のある反応を提供しましょう。必要ならば、あなたは「戻る」ボタンの隣に進行バーを表示することもできます(進行バーの左端はペインの左端とそろえてください)。
  • 画面を完全に埋め尽くしてはいけません。ユーザはアシスタントが開かれている間も、彼らのシステムの他の部分にアクセスできる必要があります。

インストールされたアプリケーションを更新する

もし、あなたがすでにインストールされているアプリケーションを更新する必要があれば、新しいバージョンで必要とするファイルだけを変更するインストーラを提供するべきです。

ファイルは名前を変更されたり、移動されているかもしれないことを忘れないでください。「アプリケーション」ディレクトリの中だけを見ていてはいけませんし、あなたのアプリケーションのファイルを見分けるために、ファイル名だけに依存してはいけません。代わりに、あなたのアプリケーションを見分けるために、作成日、変更日、バージョン数、ファイルサイズ、その他を調べましょう。

もし、あなたのアプリケーションの複数のバージョンを検出したら、ユーザがどれを更新するか選択できるように、場所や作成日といったそれぞれについての情報を提供しましょう。

Macintoshユーザは、システム環境設定のソフトウェアアップデートを用いて、オペレーティングシステムとシステムソフトウェアを更新することに慣れ親しんでいます。

オペレーティングシステムをアップグレードすることは、サードパーティ製アプリケーションのアップグレードとは意図が異なっており、これらの手続きのためのユーザ体験は、この点を反映しなければいけません。

サードパーティ製アプリケーションは、ソフトウェアアップデートのユーザ体験を再現しようとするべきではありません。もし、あなたがユーザに自動的な更新を提供したいのであれば、このセクションのガイドラインに従った、効率的で一貫性のあるユーザ体験を提供しましょう。

ソフトウェア更新の機構の目標は、便利で、なおかつ、でしゃばらないことです。これを成し遂げるためには、あなたのアプリケーションが起動されたときにのみ、すべてのソフトウェア更新手続きを行うことが秘訣です。特に、あなたのアプリケーションとは独立して実行する背面プロセス、もしくは単独の顔のないユーティリティを用いて、更新を調べることは避けなければいけません。もしあなたのアプリケーションを終了した後にもかかわらず、ユーザの知らないそのようなプロセスが実行していたら、更新通知の唐突な出現はユーザに予期されず驚かせることでしょう。

注:もしあなたが、設定アシスタントのような、あなたのアプリケーションの初回起動時におけるユーザ体験を提供するのであれば、ユーザがこの作業に携わる間に、利用できる更新の調査を行うのが適切でしょう。もしあなたのアプリケーションの新しいバージョンが利用できるなら、ユーザが現在インストールされたバージョンで作業を始める前に、ユーザがすぐにアップグレードできるようにしましょう。次回からの起動時には、以下のガイドラインに従ってください。

便利なアプリケーション更新の体験を提供するために、これらの手順に従いましょう…

  1. あなたのアプリケーションがインストールされてから、まったくの初回起動時に、更新を調べるための分割されたスレッドを開始しましょう。
  2. もし新しいバージョンが利用できるのであれば、この事実をあなたのアプリケーションの中で保持しましょう。このときユーザに通知しないでください。
  3. あなたのアプリケーションの次回起動時、手順2であなたが判断した更新の有無の状態を調べて、もし新しいバージョンが利用できれば、すぐにユーザに通知しましょう。

    新しいバージョンが利用できないのであれば、更新を調べる分割されたスレッドを開始し、その結果をあなたのアプリケーションの中で保持しましょう。このときユーザに通知しないでください。

以降、あなたのアプリケーションは起動されるたびに手順3を繰り返します。ユーザが新バージョンをインストールすることを選択したら、アップグレードされたアプリケーションは再び手順1から始めます。

この方法を用いることはいくつかの利点があります…

  • あなたのアプリケーションが起動した後で、分割されたスレッドを使用することで、起動時間が遅くなることをを回避します。

    更新を頻繁に調べることはインターネット接続を行うことを伴います。もしあなたがこれをアプリケーションのメインスレッドで行えば、あなたの起動時間は著しく遅くなるでしょう。

  • 作業中に唐突に通知されるよりも、一貫して起動直後に更新通知を受け取ることをユーザは高く評価するでしょう。

    更新通知の表示は、内部状態のすばやい確認(時間がかかる可能性がある、利用可能な更新の検索完了時ではなく)に依存しているため、あなたは常に起動直後に通知が届くことを保障できます。

  • あなたは、アプリケーションの実行中に更新の確認をするべきかをユーザに尋ねる、余分なダイアログをデザインする必要がなくなります。
  • あなたの実行中のアプリケーションの文脈から外れたところで発生する、予期せざる邪魔な更新通知によってユーザを驚かせることを避けます。

あなたの環境設定ウインドウの中で、ユーザがソフトウェア更新のふるまいをカスタマイズできるようにしてください。ユーザは自動的なソフトウェア更新のオプションと、今すぐ更新を調べる機能を持つ必要があります。図 6-3(83ページ)はサンプルの環境設定ウインドウがどのようにしてこれを行うために変更されるかの例を示します。

図 6-3 アプリケーション更新の環境設定ウインドウ

あなたのアプリケーションがその内部の更新有無状態を調べて、新しいバージョンが利用できることがわかったときに、更新の種類と利用可能かどうかを説明し、新しいバージョンを入手するための選択肢をユーザに与える、警告表示を行いましょう。

あなたは無料更新向け、有料更新向けに応じて警告表示をカスタマイズすることができます。図 6-4(84ページ)は無料更新のための警告表示がどのように見えるべきかを示します。

図 6-4 無料のアプリケーション更新が利用できるかどうかを説明するための警告表示

タイトルなし
「(アプリケーション名)の新しいバージョンが(会社名)から手に入れられます。    (警告文)
あなたのアプリケーションをアップグレードしますか?」
「(アプリケーション名)は、ソフトウェア更新機能を用いて    (参考文)
更新されたバージョンがあるか自動的に確認します。
更新を確認する頻度は、(アプリケーション名)環境設定の
ソフトウェア更新から指定してください。
「環境設定を変更…」「あとで再度尋ねる」「今すぐ更新」    (ボタン)
【※日本語文面の実例未確認】

図 6-4(84ページ)に示す警告表示の各要素が必要です。多くの場合、あなたが行う必要のある変更は、(アプリケーション名)と(会社名)をあなたのアプリケーション名と会社名に変えること、そして警告アイコンにあなたのアプリケーションアイコンのバッジをつけることだけです。

この警告表示に警告アイコンを表示することは重要であるという点に注意してください。なぜならソフトウェアのインストールはユーザデータを破壊する可能性があるからです。

警告表示の構成要素についての詳細は(そして警告アイコンの使用例は)、「警告表示の要素」(210ページ)を参照してください。また、あなたは「〜の新しいバージョン」という文句を、適宜「〜へのマイナーアップデート」のような文句に置き換えることができます。

図 6-4(84ページ)のソフトウェア更新警告表示は、警告文を強調された(太字の)システムフォントで、参考文は小型システムフォントで表示しています。単純化された警告表示(警告文のみを表示するもの)はここでは使用しません。なぜなら、それではユーザに更新手順をカスタマイズするための十分な情報を与えないからです。

図 6-4(84ページ)に示す3つの必要とされる警告表示ボタンは、ユーザの取ることのできる行動を説明しています。それぞれのボタンはあなたのアプリケーションが行うべき特定の動作の組み合わせを導きます…

  • 「環境設定を変更…」デフォルトボタンは、警告表示を消去し、ソフトウェア更新環境設定ウインドウを開きます。ユーザがソフトウェア更新環境設定を調整し、環境設定ウインドウを消去した後で、あなたのアプリケーションが再開します。
  • 「あとで再度尋ねる」ボタンは、内部の更新有無状態を変更しないまま、警告表示を消去します。更新が利用できることを示す状態がまだセットされているため、次にユーザがあなたのアプリケーションを起動したときに警告表示は再び現れるでしょう。
  • 「今すぐ更新」ボタンは内部状態をリセットし、警告表示を消去し、新しいソフトウェアのダウンロードを開始します。ダウンロードが完了した後で、あなたのアプリケーションはユーザに対し、開いているすべての文書を保存し、ダウンロードされたバージョンで更新を行うかを尋ねます。

もしあなたが有料のソフトウェア更新を提供するのであれば、図 6-5(85ページ)に示すような警告表示を用いる必要があります。

図 6-5 有料の更新が利用できるかどうかを説明する警告表示

タイトルなし
「(アプリケーション名)の有料の新しいバージョンが(会社名)から手に入れられます。    (警告文)
詳細について興味がありますか?」
「(アプリケーション名)は、ソフトウェア更新機能を用いて    (参考文)
更新されたバージョンがあるか自動的に確認します。
更新を確認する頻度は、(アプリケーション名)環境設定の
ソフトウェア更新から指定してください。
「環境設定を変更…」「あとで再度尋ねる」「詳細…」    (ボタン)
【※日本語文面の実例未確認&いまいちな訳だ】

図 6-5の警告表示は、無料のソフトウェア更新のための警告表示とは2つの点で異なります…

  • 本文にははっきりと、新しいバージョンのソフトウェアは有料であるということと、ユーザがアップグレードに興味があれば「詳細…」ボタンをクリックするよう促す質問を明記します。
  • 「詳細…」ボタンは、アプリケーションの内部状態をリセットし、警告表示を消去してから、ユーザが更新の詳細について知ることができ、購入オプションを選択できるように、あなたの会社のウェブサイトへと誘導します。もしユーザがソフトウェアをアップグレードすることを選んだら、現在実行中のアプリケーションとは独立して、バンドルもしくはインストールパッケージがダウンロードされる必要があります。ユーザはその後、都合のいいときに更新をインストールすることができます。

←第5章:Mac OS Xの技術を使用する
→第3部:アクア インタフェース