JP2004502239A - Mimeタイプを識別し異なるアイコンを表示する方法及び装置を含む機能拡張された電子メールシステム - Google Patents

Mimeタイプを識別し異なるアイコンを表示する方法及び装置を含む機能拡張された電子メールシステム Download PDF

Info

Publication number
JP2004502239A
JP2004502239A JP2002506441A JP2002506441A JP2004502239A JP 2004502239 A JP2004502239 A JP 2004502239A JP 2002506441 A JP2002506441 A JP 2002506441A JP 2002506441 A JP2002506441 A JP 2002506441A JP 2004502239 A JP2004502239 A JP 2004502239A
Authority
JP
Japan
Prior art keywords
icon
type
mail
file
mime
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2002506441A
Other languages
English (en)
Inventor
ベイカー,ミシェル
Original Assignee
インテリネット インコーポレイティド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by インテリネット インコーポレイティド filed Critical インテリネット インコーポレイティド
Publication of JP2004502239A publication Critical patent/JP2004502239A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/107Computer-aided management of electronic mailing [e-mailing]

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Human Resources & Organizations (AREA)
  • Theoretical Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Strategic Management (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Economics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

電子メールクライアントソフトウェア(16)は、各メッセージ用のアイコンと共にメッセージを一覧表示するメールボックスディスプレイヤ(14)を備えており、これらのアイコンは各メッセージのMIMEタイプに関連付けられている。添付ファイル(18)を含むメールは、そのメールに添付されたファイルのタイプを示すアイコンと共に受信ボックスに一覧表示される。メールボックスディスプレイヤがMIMEタイプを解釈し、OS内のアイコンレジストリ又はEメールクライアントソフトウェアが維持管理するアイコンディレクトリから適切なアイコンを選択する。アイコンディレクトリに適切なアイコンが存在しない場合には、メールボックスディスプレイヤは、MIMEメッセージのサブパートに含まれているアイコン画像データを使用する(データが提供されている場合)。そうでなければ、アイコンを使用しないか、或いは一般アイコンが使用される。好適な実施例によれば、タイプテーブル(20)がタイプアップデータ(12)コンポーネントによって維持管理される。このタイプテーブルには、メールボックスディスプレイヤが使用する拡大縮小可能なアイコンのファイル名と共に、メッセージタイプ及びサブタイプのリストが含まれている。

Description

【0001】
(関連出願の相互参照)
本出願は、1998年12月10日付けの米国特許出願第09/209,162号の一部継続出願であり、本引用により、その開示内容のすべてが本明細書に包含される。又、本出願は、同時に出願された同時継続中の米国特許出願第BAK−007号と関連しており、そのすべての開示内容も本引用によって本明細書に包含される。
【0002】
(発明の分野)
本発明は電子メールプログラムに関し、更に詳しくはメールアイテムのMIMEタイプごとに異なるアイコンを表示するメールボックスブラウザ表示を備えた電子メールプログラムに関する。
【0003】
(本技術分野の状況)
近年、電子メール(「Eメール」)が、ビジネス、教育、及び個人的な通信に広く使用されるようになっている。電子メールの(特に、ビジネス及び教育分野における)最も便利な機能の1つがバイナリコンピュータファイルをEメールメッセージに添付する能力である。この機能により、Eメールの利用者は、ワードプロセッサ文書、データベース文書、表計算文書、マルチメディア文書などのコンピュータによって作成されたほとんどすべての種類のバイナリファイルを迅速に共有することができる。しかしながら、Eメールメッセージへのバイナリファイルの添付には深刻な制約と不都合が存在している。
【0004】
RFC(Request for Comments)821及び822によって1982年に定義されたオリジナルのインターネットメールシステムには、いくつかの重要な制約事項が存在していた。特に、このシステムは、Eメールメッセージで任意の大量データを搬送するように設計されていなかったのである。現実に、1982年のSMTP(Simple Mail Transport Protocol)規格によれば、Eメールメッセージは、行当たりの文字数が1000文字(32kのブロック)以下のASCII文字のみからなる単一メッセージで構成する必要があった。
【0005】
インターネット電子メールシステムを介してバイナリデータを送信する能力は、インターネットメッセージ用のMIME(Multipurpose Internet Mail Extensions)規格によって実現されたものである。オリジナルのMIME規格は、インターネットRFC文書(RFC1341)として公表され、1992年6月に承認されている(最新のMIME規格については、RFC2045、2046、及び2047を参照されたい)。このMIME規格には、MIMEに準拠するためのEメールのフォーマット方法が記述されている。MIMEには、1組のメッセージヘッダフィールドと1組のメッセージ符号化規格が定義されており、これらは、RFC822のメッセージフォーマットに存在していた制約を克服すると共にインターネット上で使用されている多数のレガシーメール配送システムのいずれを介しても配送できるように設計されている(具体的には、ネットワークワーキンググループ(Network Working Group)のN.フリード(N. Freed)及びN.ボレンスタイン(N. Borenstein)による1996年11月発行のRFC2045「MIMEの第1部:メッセージ本文のフォーマット(Multipurpose Internet Mail Extensions (MIME) Part I: Format of Message Bodies)」を参照されたい)。MIMEメッセージヘッダフィールドでは、RFC822に定義されていたものを拡張し、Eメールメッセージの内容と符号化タイプを記述する。MIME規格で許されている符号化体系には、「quoted−printable」と「base64」が含まれている。更に、これに加えて、3つの非符号化データタイプも許されており、これらは、「8bit」、「7bit」、及び「binary」と呼ばれている。尚、レガシーゲートウェイでは、まだバイナリデータを処理しておらず、ほとんどすべてのMIME準拠メッセージは、バイナリデータをMIMEの既定の符号化体系である「7bit」として処理していることに留意されたい。
【0006】
現在、MIMEは、主要な電子メールクライアント、即ち、「ユーザーエージェント」のすべて(例:Microsoft Outlook及びOutlook Express、Netscape Communicator、及びQualcomm Eudora)において実装されている。但し、これらのプログラムが処理できるのは、「test/plain」、「text/html」、「multipart/alternative」、及び「multipart/mixed」を含むいくつかのMIMEタイプのみである。恐らく、MIME規格の最も重要な機能は、あらゆるバイナリデータを適切に符号化し古いメールゲートウェイ及びエクスチェンジのSMTPシステムを介して送信することを可能にしたということであろう。前述のものなどの各メールクライアントプログラムは、あらゆるタイプのファイルをユーザーがメールメッセージに添付できるように変更されており、これは、(a)任意ファイルのバイナリデータを「7bit」や「base64」などの認められているMIME符号化体系に変換する符号化モジュールの組み込み、(b)MIMEタイプが「multipart」に設定されているメッセージを処理するためのメールクライアント機能の拡張、(c)ユーザーが指定したファイルを「multipart」メッセージの一部として組み込むこと、によって実現されたものである。従って、長年にわたってメールクライアントプログラムがユーザーに提供してきたのは、単純なテキストメッセージの送信(「content−type=text/plain」による送信)と、単純なテキストメッセージへのファイルの添付(「content−type=multipart/mixed」)という2つの選択肢のみであったのである。
【0007】
最近になり、前述の各プログラムは、作成者が別のフォントやスタイルなどのテキストフォーマットの基本的なタイプを使用できるように拡張されているが、これは、これらの機能をメールクライアントのテキストエディタに組み込み、MIMEタイプを「text/html」に設定してメッセージを送信することによって実現されている。現在、マイクロソフト(Microsoft)社のOutlookの場合には、フル機能テキストエディタであるWordによる電子メールメッセージの作成も可能になっており、これは、WordのファイルフォーマットをHTMLに変換した後に、メールメッセージの本文に手作業で挿入して送信することによって実現されている。しかしながら、その他のタイプのファイルフォーマットの場合には、メールクライアントプログラムは、まだMIMEタイプを「multipart」に設定したメッセージへのファイルの添付に依存しているのである。
【0008】
バイナリファイルが添付されたEメールメッセージの送信者と受信者がブランドとバージョンが同一のEメールプログラムを使用していると共に、両方のプログラムの設定が実質的に同一であれば、受信者のEメールプログラムは、添付されたバイナリファイルに適切な復号を自動的に施し、送信者がEメールに添付したファイルとまったく同一のファイルを生成するであろう。しかしながら、送信者と受信者が使用するEメールプログラムが異なる場合には、受信したファイルを復号するのに別の復号プログラムの使用を要することもある。
【0009】
ファイルが適切に受信並びに復号された後においても、当該ファイルを開くことがファイルの受信者にとって困難な場合も多い。ファイルの受信者は「ファイルのアイコンをクリックすればファイルが開く」と考えるのだが、ファイルのアイコンをクリックしてもファイルが開かないことも多く、「application not found」のようなエラーメッセージが表示されたり、ひどい場合には、不適切なアプリケーションによってファイルが開かれ、「意味不明な文字列」が表示されたりするのである。即ち、ファイルの受信者は、ファイルを読み取る(開く)ことができるプログラムを備えていなければならないのであり、例えば、Eメールメッセージに表計算ファイルが添付されておれば、当該ファイルをファイルの受信者が開くためには、表計算プログラムを備えていなければならない。無論、技術的には、ファイルの受信者は当該ファイルを作成したものと同一ブランドのプログラムを備えている必要はない。しかしながら、作成したものとは異なるプログラムによってファイルを開くのは可能だとはいうものの、それはかなり厄介なことになり得る。即ち、ファイルの受信者は、どのような種類のファイルがEメールメッセージに添付されているのかを知らなければならず、自分のコンピュータに存在するどのプログラムがそのファイルタイプを読み取ることができるのかを知らなければならず、そのプログラムを起動しなければならず、そのプログラム内から当該ファイルを開かねばならず、更には、そのプログラムが当該ファイルを変換する間、待機しなければならないのである。
【0010】
このようなインターネット電子メールに伴う制約事項は、送信者と受取人が使用するオペレーティングシステム(OS)が異なる場合には、更に厄介なものになり得る。メール添付ファイルの符号化体系(及びファイル圧縮体系)の中にはOSに依存したものがあり、受信したファイルを復号(又は解凍)できないということも起こり得るのである。
【0011】
電子メールに伴うこれらの制約事項により、ファイルの電子メールメッセージへの添付操作は、多くの人々(特に上級者ではないコンピュータユーザー)にとって億劫なものになっている。実際、初心者ユーザーの中には、1つのアプリケーションを起動して文書を作成し、その文書を保存し、別のEメールアプリケーションを起動してEメールメッセージを作成し、先程保存しておいた文書を探し出してEメールメッセージに添付するという作業が余りに難しく、怯んでしまう者もいるのである。更に、初心者ユーザーの場合には、Eメールメッセージに添付されたファイルを「ダウンロード」した後に、当該ファイルをハードディスク上で見つけ出すことができないという不満を漏らす者も多い。
【0012】
【外1】
Figure 2004502239
【0013】
【外2】
Figure 2004502239
【0014】
現在のシステムでは、アイコンをファイルに関連付けるのに、MIMEタイプではなく、ファイルタイプ拡張子が使用されている。この結果、バージョンが異なるソフトウェアによって作成されたバージョンの異なるソフトウェアや文書を異なるアイコンと関連付ける機能に重要な制約が生じている。例えば、MS Wordで作成されたすべての文書には、使用したWordのバージョンとは無関係に同一のファイルタイプ(ファイル拡張子)が付加され、この結果、同一のアイコンと関連付けられてしまう。しかしながら、多くの場合、新しいバージョンのファイルは古いバージョンのソフトウェアで読み取ることができないため、問題となる。
【0015】
先程包含された親出願には、メインEメールコンポーネントといくつかのインストール可能コンポーネントを含む電子メールソフトウェアが開示されている。インストール可能コンポーネントには、様々な種類の文書の作成/読み取りを行うオーサリング/読み取りコンポーネント(authoring/reading component)と様々な種類のメッセージを一覧表示したり異なるスタイルでメッセージを一覧表示するメールボックスコンポーネントが含まれている。メインEメールコンポーネントは、電子メールメッセージの保存と転送に直接関連する機能の基礎となるグラフィカル・ユーザー・インターフェイスを提供すると共に、オーサリング・コンポーネントで作成されたメッセージをMIMEに準拠したメッセージに変換するのに必要なすべてのデータのバンドリングとアンバンドリングを処理する。オーサリング/読み取りコンポーネントは、Eメールプログラムに組み込まれたアプリケーションのように機能し、表計算、グラフィック、データベースなどの特定のタイプの文書をEメールプログラム内から作成して直接Eメールすることを可能にする。又、オーサリング/読み取りコンポーネントは、Eメールレターへのバイナリファイルの添付に伴う従来の問題なしに受信文書を読み取ることを可能にしている。本発明のオーサリングコンポーネントがデータをメインEメールコンポーネントに渡し、メインEメールコンポーネントがデータをMIMEに準拠したメッセージとしてパッケージ化する。一方、メッセージを受信した場合には、メインEメールコンポーネントがMIMEメッセージを(必要に応じて)連結して復号し、そのデータがMIMEタイプと関連付けられたオーサリング/読み取りコンポーネントに送られる。
【0016】
先程包含された親出願には、メールボックス処理ソフトウェアが広範に開示並びに権利請求されており、このソフトウェアにより、モジュラーコンポーネントEメールソフトウェアのコンテキストにおいて、様々なタイプのメッセージが様々な方法でメールボックスの一覧に表示される。
【0017】
親出願に開示されているいくつかの機能はあらゆるEメールクライアントソフトウェアに適用可能であり、それらを使用してEメールへのファイルの添付とEメールに添付されたファイルの使用プロセスを改善することができる。
【0018】
(発明の要約)
従って、異なる種類のメッセージと添付文書を異なる種類のアイコンと共に表示する受信ボックスリストを含む電子メールプログラムを提供することが本発明の目的である。
【0019】
以下に詳述するこの目的に従い、本発明による電子メール・クライアント・ソフトウェアは、メッセージを各メッセージ用のアイコンと共に一覧表示するメールボックス・ディスプレイヤを備えており、それらの各アイコンは、各メッセージのMIMEタイプと関連付けられている。添付ファイルを含むメールは、そのEメールに添付された当該ファイルのタイプを示すアイコンと共に受信ボックスに一覧表示される。メールボックス・ディスプレイヤは、MIMEタイプを解釈し、OS内のアイコンレジストリ又はEメール・クライアント・ソフトウェアが維持管理するアイコン・ディレクトリから適切なアイコンを選択する。例えば、ADOBE ACROBATファイルが添付されたEメールを受信すると、メールボックの一覧の当該メールアイテムのそばにADOBE ACROBATアイコンが表示される。更に、親出願で説明されているように特別なオーサリング/読み取りコンポーネントによってメッセージが作成されている場合には、そのオーサリング/読み取りコンポーネントに関連付けられたアイコンがメールアイテムを表示する行の一部としてメールボックスの一覧に表示される。
【0020】
本発明の電子メールソフトウェアは、親出願のEメールソフトウェアを参照して例を挙げて説明するが、このEメールソフトウェアには、メインEメールコンポーネントと、このEメールコンポーネントとアプリケーションプログラムインターフェイス(API)を介して双方向に通信するいくつかのインストール可能コンポーネントが含まれている。そして、インストール可能コンポーネントには、オーサリング/読み取りコンポーネント及びメールボックスディスプレイヤコンポーネントが含まれている。又、好適な実施例によれば、アイコンのデータベースを維持管理するためのコンポーネントも含まれる。
【0021】
メールボックス・ディスプレイヤ・コンポーネント機能は、メールボックスを開いたりメールのリストをスクロールしたりする際に、ユーザーによって起動される。メールボックス・ディスプレイヤ・コンポートネントには、最新技術のメールボックス・ディスプレイヤのすべての機能を含むと共に、メッセージのMIMEタイプに基づいてアイコンディレクトリをチェックしアイコンを当該メッセージに関する情報と共に表示する機能を含むことが好ましい。LINGOによる実施例では、各メッセージごとに、メッセージのMIMEタイプとサブタイプに基づいた追加のTYPEフィールドを有するデータ構造が生成され、この内部TYPEフィールドを使用してMIMEタイプをアイコンに関連付けている。別の実施例では、アイコン画像と関連付けるために、メッセージの「content−type」(MIMEタイプ)ヘッダの内容を直接使用している。そして、アイコンディレクトリに適切なアイコンが存在しない場合には、メールボックスディスプレイヤは、MIMEメッセージのサブパートに格納されているアイコン画像データを使用する(このデータが提供されている場合)。そうでなければ、アイコンを使わないか、或いは、一般アイコンを使用する。好適な実施例によれば、タイプアップデータコンポーネントによってタイプテーブル(TYPETABLE)が維持管理される。このタイプテーブルには、メッセージタイプ及びサブタイプのリストが、メールボックスディスプレイヤが使用する拡大縮小可能なアイコンのファイル名と共に含まれている。本発明には、メールボックスの内容の表示用に選択されたフォントサイズと整合するよう、アイコンのサイズを変更できる拡大縮小可能なアイコンが好ましい。
【0022】
タイプアップデータコンポーネントの複数の実施例が提供されている。第1実施例によれば、アイコンは、ユーザーが手作業でインストール/削除する。第2実施例によれば、アイコンは、モジュラーオーサリング/読み取りコンポーネントがインストール/削除される際に自動的にインストール/削除される。第3実施例によれば、メールボックスディスプレイヤが新しいメッセージタイプを検出するごとに新しいアイコンが自動的に追加され、この新しいアイコンは、オペレーティングシステムのレジストリ又はメッセージに組み込まれているアイコン画像データから取得される。そして、第4実施例によれば、タイプアップデータが新しいアイコン情報について自動的にネットワークサーバーに問い合わせ、必要に応じてアイコン画像データをダウンロードする。
【0023】
本発明の更なる目的と利点は、添付の図面と関連して提示する以下の詳細な説明を参照することにより、当業者に明らかになるであろう。
【0024】
(好適な実施例の詳細な説明)
図2を参照すれば、本発明による電子メールクライアントソフトウェアは、メッセージを各メッセージ用のアイコンと共に一覧表示するメールボックスディスプレイヤを備えており、これらの各アイコンは各メッセージのMIMEタイプと関連付けられている。ファイルが添付されているメールは、そのEメールに添付されたファイルのタイプを示すアイコンと共にこの受信ボックスに一覧表示される。例えば、図2に示すように、「議事録(Minutes of Meeting)」という件名のメールメッセージは、このEメールメッセージにWORDファイルが添付されていることを示すMICROSOFT WORDアイコンと共に一覧表示されている。そして、「新しいラジオ広告」という件名のメッセージは、このEメールにオーディオファイルが添付されていることを示すQUICKTIME WAVアイコンと共に一覧表示されており、「新しい広告パンフレット」という件名のメッセージには、ACROBATアイコンが示しているように、ADOBE ACROBATファイルが添付されている。同様に「売上予測」メッセージは、EXCEL表計算アイコンと共に表示され、「顧客データベース」メッセージは、FILEMAKER PROデータベースアイコンと共に表示され、「年末会計」メッセージは、QUICKENアイコンと共に表示されている。本発明によれば、メールボックスディスプレイヤは、メッセージのMIMEタイプ及び/又は添付ファイル(存在する場合)のMIMEタイプ又は文書タイプを解釈し、OS内のアイコンレジストリ又はEメールクライアントソフトウェアが維持管理するアイコンディレクトリから適切なアイコンを選択する。
【0025】
本発明の電子メールソフトウェアは、先に包含された親出願のEメールソフトウェアを参照して例を挙げて説明するが、このEメールソフトウェアには、メインEメールコンポーネントと、このEメールコンポーネントとアプリケーションプログラミングインターフェイス(API)を介して双方向に通信するいくつかのインストール可能コンポーネントが含まれている。そして、インストール可能コンポーネントには、オーサリング/読み取りコンポーネントと少なくとも1つのメールボックスディスプレイヤコンポーネントが含まれる。図2aは、先程包含された親出願のEメールソフトウェアの実施例を示しており、メールメッセージに関連付けられたオーサリング/読み取りコンポーネントを示すアイコンが表示されている。この実施例は、従来技術のEメールクライアントからEメールを受信すると共に、それらに対してEメールを送信する能力を有している。図2aには、2つのアイコン(即ち、ペーパークリップ及びACROBATアイコン並びにペーパークリップ及びPHOTOSHOPアイコン)を有する2つのメールアイテムが表示されたメールボックスリストが示されている。これらのデュアルアイコン表示は、当該メールが特別なオーサリング/読み取りコンポーネントなしに作成され、その他のプログラム(この場合には、ACROBAT及びPHOTOSHOP)によって作成された添付ファイルを備えていることを示している。
【0026】
前述のように、本発明の電子メールソフトウェアは、先程包含された親出願のEメールソフトウェアを参照して例を挙げて説明するが、このEメールソフトウェアには、メインEメールコンポーネントといくつかのインストール可能コンポーネントが含まれている。又、好適な実施例によれば、アイコンのデータベースを維持管理するためのコンポーネントも含まれており、図3に、これらのコンポーネントの間の関係が示されている。
【0027】
この図3に示すように、TYPETABLEと呼ばれるデータ構造10がタイプアップデータ(TYPE UPDATER)と呼ばれるコンポーネント12によって作成され、維持管理される。本発明によるタイプアップデータの実用的な例が付属書Bに示されているが、これについては後程詳細に説明する。TYPETABLEの主な目的は、メールボックスディスプレイヤコンポーネント14によって読み取られることである。タイプアップデータ12とメールボックスディスプレイヤ14は、関数の呼び出しと共有データ構造TYPETABLEを使用して互いに通信する。例えば、メールボックスディスプレイヤは、タイプ・アップデータ・コンポーネント内の「initialize_TYPETABLE」関数(図6aの306)に対する呼び出しを含んでいる。メールボックスディスプレイヤは、親出願及び先程包含された出願第BAK−007号に説明されているAPIを使用して電子メールクライアント・ソフトウェアと通信する。図3に示すように、メールボックスディスプレイヤコンポーネント14と電子メールクライアントソフトウェア16もユーザーのメールボックス内の電子メールメッセージデータに対して双方向にアクセスしている。好適な実施例によれば、親出願に説明されている種類のインストール可能なアプリケーションコンポーネントによってメッセージが作成されている場合には、電子メールメッセージは、そのMIMEタイプ及びサブタイプヘッダフィールドから導出された情報を含む任意選択のタイプフィールドと共に保存される。
【0028】
メールボックスディスプレイヤコンポーネント機能は、メールボックスを開いたりメールのリストをスクロールした際に、ユーザーによって自動的に起動される。当業者であれば、大部分の電子メールクライアントソフトウェアは、受信ボックス、送信ボックス、読み取り済みメール、送信済みメールなどのいくつかの異なるメールボックスを備えていることを理解するであろう。メールボックスディスプレイヤコンポーネント14は、最新技術のメールボックスディスプレイヤのすべての機能を含むと共に、TYPETABLE(及び、後述するように、MIMEメッセージの本文)をチェックして適切なアイコンを探し出してメールボックス表示の当該メッセージの件名のそばに表示する機能を含むことが好ましい。好適な実施例によれば、アイコンは小さな画像ファイル(例:EPSファイル又はGIFファイル)で保存され、TYPETABLEデータ構造によってポイントされている。又、メールボックス表示において様々なサイズのフォントを使用できるよう、アイコングラフィックのサイズを拡大縮小する手段も提供される。これには、3つの方法が使用可能であり、まず、標準的な補間アルゴリズムを使用して画像を拡大縮小することができる。2番目として、解像度が異なる複数のアイコン画像のコピーを保存しておき、限られた数のフォントポイントサイズに整合するように取得してもよい。更には、3番目として(現状ではこれが好ましい)、以上の2つの方法を組み合わせて使用し、各アイコンごとに少なくとも1つの画像を保存し、フォントのポイントサイズに最も密接に整合するアイコンを選択した後に、必要に応じて拡大縮小し、フォントポイントサイズに更に整合させるのである。
【0029】
表1は、TYPETABLEデータを永久ストレージ(例:ハードディスク)に保存する方法を示している。
【0030】
【表1】
Figure 2004502239
【0031】
この表1には、少なくとも5つのMIMEタイプが示されている。最初の4つは、オーサリング/読み取り用のインストール可能コンポーネントを利用するMIMEタイプである。インストール可能コンポーネントは、「.dxr」ファイル拡張子によって示されている。表1に示されているmultipart/mixed(5番目)MIMEタイプは、インストール可能コンポーネントではなく、外部アプリケーションによって作成された添付ファイルを示している。図2aを参照して述べたように、インストール可能コンポーネントで作成されたメールメッセージとこの添付ファイルを一般的なペーパークリップアイコンを使用して区別している。
【0032】
表2は、RAMにロードされる際のTYPETABLEデータ構造を示している。
【0033】
【表2】
Figure 2004502239
【0034】
TYPETABLEデータ構造をRAMにロードしたものはSG_TYPETABLEと呼ばれ、図2に示す構造を有している。この構造には、アイコンに対するポインタが含まれており、模範的な実施例におけるこのポインタは、LINGOのキャストメンバである。
【0035】
前述のように、模範的な実施例によれば、Eメールメッセージが添付ファイルを有している場合には、一般的な添付ファイルアイコンが表示されると同時に、当該添付ファイルに固有のアイコンも表示される。この2番目のアイコンは、オンザフライで作成され(例えば、図6bに示されているように)、SG_ATTACH_TYPETABLEと呼ばれるRAM内のデータ構造によってポイントされる。このSG_ATTACH_TYPETABLEの基本構造が表3に示されている。
【0036】
【表3】
Figure 2004502239
【0037】
この表3に示すように、ファイル拡張子がアイコンポインタと当該添付ファイルの読み取りに使用するプログラムへのパス名に関連付けられている。図6bを参照して以下に詳述するように、このSG_ATTCH_TYPETABLEは、システムレジストリのアイコンを使用してオンザフライで作成される。
【0038】
メールボックスディスプレイヤコンポーネントの好適な実施例が付属書Aに詳細に定義されているが、この付属書Aは、先程包含された親出願の付属書Bと類似している。本明細書の付属書Aに示すコードリストは、メインメールボックス表示関数が始まる第287行以降において親出願のコードリストと異なっており、このメインメールボックス表示関数は、図4のフローチャートにも示されている。ここでこの図4と付属書Aを参照する。この関数は、付属書Aでは第287行及び図4のフローチャートの開始点101から始まっている。まず、メールボックスの内容を表示する前に、付属書Aの第293〜300行及び図4の103、105に示すように、TYPETABLEへのポインタと関連システム機能がセットアップされる。そして、様々なメールボックスフィールド(例:メッセージ番号、件名、日付、メッセージ読み取りインジケータ)が付属書Aの第302〜307行及び図4の107においてクリアされる。付属書Aの第309〜311行及び図4の107において、アイコングラフィックスの表示に使用される「スプライトチャネル」(MACROMEDIAグラフィックホルダ)がクリアされる。次に、付属書Aの第313行以降及び図4の109において、メッセージリストが表示される。メールボックス表示の各行を構成する要素(例:メッセージの件名、日付、送信者の名前、並びにグラフィック要素)は「プロパティ(属性)」と呼ばれるが、付属書Aの第320〜326行及び図4の111、113において、これらのプロパティがメッセージから読み取られる。図4の111及び付属書Aの第320〜323行に示されているように、メールボックス、MIMEタイプ、及びステータスを除き、すべてのプロパティは、読み取られると自動的に表示される。一方、メールボックス、MIMEタイプ、及びステータスの各プロパティは、図4の113及び付属書Aの第324〜326行において読み取っている。好適な実施例によれば、MIMEタイプアイコンは、メッセージのステータスの表示にも使用されており、メッセージが既読の場合には、アイコンはグレースケールで表示されるが、メッセージが未読の場合は、アイコンは色付きで表示される。アイコンを見つけ出し、そのアイコンをグレースケール又は色付きに設定する段階が付属書Aの第328〜355行に示されている。付属書Aの第332〜334行及び図4の115でスプライトチャネルカウンタが設定され、TYPETABLEデータ構造が付属書Aの第340〜343行及び図4の117において解析される。このメッセージのMIMEタイプを示すアイコンがTYPETABLEに含まれていない場合は、付属書Aの第344〜346行及び図4の119において既定のアイコンが選択される。当該メッセージのステータスがメッセージ(その添付ファイル)が既読であることを示している場合には、付属書Aの第348〜349行及び図4の121においてグレースケールバージョンのアイコンが設定される。そして、メールボックスの内容リストをスクロールする際に迅速にアクセスできるよう、選択されたアイコンがアイコンリストに追加されるが、これは付属書Aの第351〜352行及び図4の123に示されている。付属書Aの第354〜374行及び図4の125のメインメールボックス表示関数の残りの部分は、適切な画面位置へのテキストとアイコンの配置に関連するものである。尚、第315〜374行に示されているコードは、図4の127の判定が示しているように、メールボックス内のメッセージの数だけ繰り返される。そして、一覧表示するメッセージがなくなると、メインメールボックス表示関数は、付属書Aの第376行及び図4の129に示すように終了する。
【0039】
ここでは、これらのコード又はフローチャートには示されていないが、前述のように、アイコンのディレクトリに適切なアイコンが存在しない場合には、メールボックスディスプレイヤは、MIMEメッセージのサブパートに格納されているアイコン画像データを使用する(このデータが提供されている場合)。当業者であれば、前述の規格によって定義されているMIMEファイル内の場所からアイコン画像データを読み取ることにより、この機能を簡単に実行できることを理解するであろう。これを実装するコードは、付属書Aの第325行又は付属書Aの第345行に挿入可能である。
【0040】
前述のように、付属書Aの残りの部分は、親出願の付属書Bのメールボックスコンポーネントと実質的に同一であり、それらの説明は先程包含された親出願に十分に示されている。当業者であれば、これら付属書のコードリストがMACROMEDIA DIRECTOR開発スイートに固有のものであり、別の開発環境を使用しても同一の機能を実現することができることを理解するであろう。図5は、このメールボックス表示関数の機能を、別のプログラミング言語に適用可能な更に一般化した形態で示している。
【0041】
この図5を参照すれば、メールボックスの表示は、201において始まり、メッセージのリストが読み取られる。次に202において、TYPETABLEが既に初期化されているかどうかをチェックし、判定する。そして、初期化されていなければ、図7を参照して以下に詳述するように、204においてTYPETABLEが初期化される。203において、メールボックス表示は次のメッセージを取得する。そして、203で取得されたこのメッセージに関し、メールボックスは、205においてそのプロパティ、207においてそのプロパティ値を取得する。そして、209において、そのプロパティが表示用アイコンを使用すると判定された場合には、211において「アイコン取得」ルーチンが呼び出される(このルーチンは図6に示されている)。このアプリケーションに関係するメッセージプロパティは、(a)メッセージのMIMEタイプ、及び(b)メッセージにファイルが添付されているかどうか、の2つである。図5のフローチャート(209)において、本システムは、LINGOのシンボルとして実装されている当該メッセージのプロパティ(例:#type、#date、#mailbox、#status)がアイコンによって表されるかどうかをルックアップする。この実装では、各プロパティが個別にコーディングされているが、図5のフローチャートが説明する更に一般的な実装では、ターゲットシンボル(例:#type)がリストデータ構造の要素であるかどうかを図5の手順209においてチェックすることにより(例:Properties_with_Icons=(#type,#has_attachment)実現することができる。そして、当該アイコンが213で表示される。一方、209で、プロパティがアイコンを使用しないと判定された場合には、215においてプロパティの値が表示される。そして、217において、このメッセージに更なるプロパティが存在するかどうかが判定され、存在する場合には、プログラムは205に戻るが、存在しない場合には、219において一覧表示すべき更なるメッセージが存在するかどうかが判定される。そして、存在する場合には、プログラムは203に戻り、存在しなければ、プログラムは221で終了する。
【0042】
図6は、付属書Aの第328〜350行に含まれている機能を一般化したものを示している。これは、図5の211で呼び出される「アイコン取得」ルーチンを一般化したものである。このルーチンは、301において、呼び出し元のプログラムからプロパティ名とプロパティ値を取得して始まる。そして、303において、プロパティが「MIMEタイプ」である、即ち、LINGO実装の「#type」に一致していると判定されると、305においてMIMEタイプのアイコンが取得され、307においてそのアイコンへのポインタが呼び出し元のプログラムに返される。このMIMEタイプのアイコン取得に必要な実際の段階は図6aに示されている。309において、プロパティが「添付ファイルが存在する(has attachment)」であると判定されると、「添付ファイルが存在する」のアイコンが311において取得され、307において、そのアイコンへのポインタが呼び出し元のプログラムに返される。Microsoft Windowsプラットフォーム用のファイル添付アイコンの取得手順が図6bで説明されている。この代わりに、ファイル拡張子からMIMEタイプ及びMIMEタイプアイコンへのマッピングに使用するファイルタイプ用のフィールドをTYPETABLEデータ構造に含めてもよい。この方法でTYPEDATAを変更した場合には、メッセージタイプ及びファイルタイプのアイコンルックアップの両方でTYPETABLEを使用することになる。これに関連し、従来未知のメッセージタイプ又はファイルタイプと検出した際にそれらのファイルタイプ/MIMEタイプの関連付けをインストールするためのTYPE_UPDATERの変更も必要になろう。又、ファイルタイプ拡張子は、MIMEタイプほどに豊富ではないため、同一のファイルタイプ拡張子が多数の異なるMIMEタイプにマッピングされることになる。例えば、ソフトウェア製造者が彼らのソフトウェアのバージョンごとに異なるMIMEサブタイプを割り当てた場合、その同一ソフトウェアの異なるバージョンにおいて、このような状況が生じることになる。
【0043】
313において、プロパティが「既読(message read)」であると判定された場合は、「既読」用のアイコンが315で取得され、307において、そのアイコンへのポインタが呼び出し元のプログラムに返される。そして、317において、プロパティが「優先順位(priority)」であると判定されると、「優先順位」用のアイコンが319で取得され、307においてそのアイコンへのポインタが呼び出し元のプログラムに返される。以上の内容から、当業者であれば、様々なプロパティに対して多数の異なるアイコンを表示することができることを理解するであろう。
【0044】
図6aは、付属書Aの第328〜346行に含まれている実装を一般化したものを示している。これは、図6の305で呼び出される「MIMEタイプ用アイコン取得(get icon for mimetype)」関数である。このルーチンは、呼び出し元のプログラムから「MIMEタイプ」を与えられ、302において始まる。まず304において、TYPETABLEが既に初期化されているかどうかを判定する。そして、初期化されていない場合は、306において初期化する。この初期化ルーチンは、タイプアップデータコンポーネントに存在するか、或いは、タイプアップデータコンポーネントに存在する関数を呼び出す形態であってもよい。例えば、LINGOの実装においては、タイプアップデータコンポーネントの一部である関数Read_TypeTable_File(図8)を使用してTYPETABLEデータ構造を初期化している。そして、この初期化の後に、或いは、306においてTYPETABLEが既に初期化済みであると判定された場合には、308において、MIMEタイプを使用してTYPETABLEからアイコンポインタを取得する。付属書Aの第328〜342行を参照されたい。次に310において、そのアイコンポインタがNULL(空)であるかどうかを判定する。そして、NULLである場合には、312において、「メッセージタイプインストール(install message type)」ルーチンが呼び出される。タイプアップデータコンポーネントに含まれているこの「メッセージタイプインストール」ルーチンについては、MIMEタイプ用の新しいメッセージハンドラとアイコンのインストールを示す図11を参照して後程詳細に説明する。一方、アイコンポインタがNULLでなければ、314において、アイコンポインタが「アイコンがインストールされていない(icon not installed)」をポイントしているかどうかを判定する。そして、これをポイントしている場合には、316において、アイコンポインタを既定のポインタに設定するが、いずれの場合にも、318において、NULLではないポインタが呼び出し元のプログラムに返される。
【0045】
図6bは、Eメールメッセージの添付ファイル用のアイコンを取得する模範的な手順を示している。320で始まり、まず添付ファイルのファイル拡張子を読み取る(Windowsプラットフォームの場合には、ファイル名の「.」に続く3文字によって「ファイルタイプ」が決定されるが、Macintoshプラットフォームなどのその他のプラットフォームでは、ファイルタイプと「クリエータコード」が、ファイルの「リソースフォーク」に一覧表示されている。従って、これらのプラットフォームの場合には、まず、ファイルのリソースフォークからファイルタイプ(及びクリエータコード)を読み取ることに留意されたい)。このファイルタイプ(又はファイルタイプとクリエータコード)の判定が完了すると、このルーチンは、322においてSG_TYPETABLE内で適切なアイコンを見つけ出そうと試みる。そして、324において適切なアイコンが見つけられなかったと判定された場合には、326において、SG_ATTACH_TYPETABLE内で適切なアイコンを見つけ出そうと試みる。そして、328において、再度適切なアイコンが見つけられなかったと判定されると、ルーチンは、330及び332において、システムレジストリ内で適切なアイコンを見つけ出そうと試みる(その他のオペレーティングシステムでは、アイコンリソースが別の場所に保存されている場合がある。例えば、Macintosh OSの場合には、アイコンリソースは、非表示の「デスクトップ」ファイル内に保存されていることに留意されたい)。334において適切なアイコンが検出された場合には、336においてそのアイコンへのポインタが設定され、そのポインタが338においてSG_ATTACH_TYPETABLEに書き込まれる。そして、340において、そのアイコンポインタがメールボックスディスプレイヤに返される。図6の311と図5の211を参照されたい。一方、342において適切なアイコンが検出されない場合には、アイコンポインタは提供されない。
【0046】
次に付属書Bを参照すれば、第1〜26行には、タイプアップデータの概要と紹介情報が提供されている。このタイプアップデータには、11個の関数が含まれている。この中の3つは、メールボックスディスプレイヤによって呼び出されるパブリック関数であり、これらには、Initialize_TypeTable、Install_Type、及びUninstall_Typeが含まれる。そして、残りの8つの関数は、タイプアップデータ内部で使用されるプライベート関数であり、これらには、Write_Typetable、Read_Typetable_File、Read_Icon_Files_To_RAM、read_iconFile、delete_mimetype、insert_mimetype、delete_filetype、insert_filetypeが含まれる。まず、Initialize_TypeTable関数は、図7及び付属書Bの第29〜60行に示されている。この関数は図7の360において始まり、まず362においてSG_TYPETABLEをNIL(空)に設定する(付属書Bの第39行)。次に364において、SG_ATTACH_TYPETABLEをNILに設定する(付属書Bの第43行)。そして、366においてディスク上に保存されているTYPETABLEファイルがSG_TYPETABLEに読み込まれる(付属書Bの第44行)。このread_typetable_file内部関数は、図8及び付属書Bの第207〜252行に示されている。368(付属書Bの第46行)においてエラーチェックが実行され、データがRAMにロードされたかどうかを判定する。そして、データが読み込まれていない場合には、370(付属書Bの第47行)においてユーザーに警告し、372(付属書Bの第48行)において失敗(failure)を返す。一方、データが読み込まれている場合には、374(付属書Bの第51行)においてアイコンファイルがRAMに読み込まれる。そして、376(付属書Bの第47行)においてエラーチェックが実行され、データの読み込みに成功していれば、378(付属書Bの第60行)においてこの関数は終了する。
【0047】
次に図8及び付属書Bの第207〜252行を参照すれば、read_typetable_file関数は380(付属書Bの第218行)において始まる。まず382(付属書Bの第222行)において、SG_TYPETABLEをNILに設定する。そして、384(付属書Bの第224より227行)でtypetable.txtファイルを開き、386(付属書Bの第229行)においてファイルのオープンエラーのチェックを行う。そして、ファイルのオープンエラーが検出された場合には、388(付属書Bの第230行)においてエラー警告を生成し、390(付属書Bの第231行)でファイルを閉じ、392(付属書Bの第232行)においてSG_TYPETABLEを返す。一方、エラーなしにファイルがオープンされた場合には、391において最初の行を読み込むが、ファイルの末尾に到達した際に最終的に394で終了するループ(第394〜408行)がこの391から始まっている。このループが終了すると、390(付属書Bの第231行)においてファイルが閉じられ、392(付属書Bの第232行)においてSG_TYPETABLEが返される。尚、付属書Bの第235〜239行に示すように、LINGOの場合には行単位の読み取りができないため、このLINGOによる実装では、ファイル全体を1つの文字列に読み込んで行単位の読み取りをシミュレートしている。1つの行を読み取ると、その行の最初のワード(データ)がMIMEタイプである(付属書Bの第243行)。このMIMEタイプを396(付属書Bの第244行)においてSG_TYPETABLEに挿入する。そして、398において、MIMEタイプが定義されていないことが判明した場合には、400でユーザーに警告し、391において次の行が読み込まれる。一方、MIMEタイプが定義されている場合には、402(付属書Bの第245行)において、その行の次のワード(ファイルタイプ)が読み込まれ、SG_TYPETABLEに挿入される。続いて、404(付属書Bの第246行)において、行内の次のワード(iconFileName)が読み込まれてSG_TYPETABLEに挿入され、406(付属書Bの第247行)において行内の次のワード(msgHandler)が読み込まれてSG_TYPETABLEに挿入される。408において検出されたすべてのエラーが400において報告されるが、前述のように、このプロセスは、typetable.txtファイルのすべての読み取りが完了するまで継続される。
【0048】
関数Write_TypeTable_Fileが図9及び付属書Bの第159〜206行に説明されている。この関数は、図11を参照して後述するInstall_Type関数によって新しいMIMEタイプとアイコンがSG_TYPETABLEに追加された後に、そのSG_TYPETABLEの内容をtypetable.txtに書き戻す。このWrite_TypeTable_File関数は410(付属書Bの第163行)において始まり、まず412(付属書Bの第168行)においてSG_TYPETABLE構造がNILであるかどうかをチェックする。そして、NILの場合には、414(付属書Bの第169行)においてエラーメッセージを生成し、416(付属書Bの第170行)において「失敗」メッセージを返す。一方、SG_TYPETABLE構造がNILでなければ、418(付属書Bの第173行)においてtypetable.txtファイルのバックアップコピーを作成し、420(付属書Bの第176〜180行)において新しい空のファイルが作成される。そして、422(付属書Bの第181行)においてエラーチェックが実行され、新しいファイルの作成にエラーが検出された場合には、424(付属書Bの第182行)においてエラーメッセージが返され、426(付属書Bの第183行)でバックアップファイルが回復された後に、428(付属書Bの第184行)において戻りコードが「失敗」に設定される。そして、430(付属書Bの第203行)でtypetable.txtファイルが閉じされ、432(付属書Bの第204行)においてバックアップファイルを削除した後に、434(付属書Bの第205〜206行)において戻りコードを返す。一方、新しいファイルの作成にエラーがなければ、第187〜188行においてそのファイルを書き込みアクセス用に開き、第191行において開始行カウンタを設定する。そして、436(付属書Bの第192行)でSG_TYPETABLE内の最初の(次の)エントリを読み込み、438(付属書Bの第193行)においてSG_TYPETABLEの末尾に到達したと判定された場合には、440(付属書Bの第201行)において戻りコードを「成功(success)」に設定し、430でファイルを閉じ、432でバックアップを削除した後に、434で戻りコードを返す。
【0049】
SG_TYPETABEの末尾に到達するまでは、442において書き込みデータを設定され、446(付属書Bの第194行)においてMIMEタイプが文字列に書き込まれる。更に、446、448、及び450(付属書Bの第195〜197行)において、filetype、iconfilename、及びmessagehandlerfilenameが、それぞれ文字列に追加される。そして、452(付属書Bの第198行)において、その文字列を新しいtypetable.txtファイルに書き込み、454(付属書Bの第199〜200行)において行区切り文字を書き込んだ後に、この関数は436にループして戻るが、これらの動作は、SG_TYPETABLE内のすべてのエントリが読み込まれ、新しいtypetable.txtファイルに書き込まれるまで継続する。
【0050】
図10は、付属書Bの第255〜290行に示されている関数Read_Icon_Files_To_RAMを示している。この関数は、図10の456(付属書Bの第255行)において始まり、まず458(付属書Bの第259行)でSG_TYPETABLE構造内になにかMIMEタイプが定義されているかどうかを判定する。そして、存在していなければ、アイコンが定義されておらず、460(付属書Bの第260行)においてエラーメッセージが返され、462(付属書Bの第261行)で戻りコードが「失敗」に設定されて464(付属書Bの第261〜262行)においてこの戻りコードが返される。一方、SG_TYPETABLE構造が空でなければ、この関数は、既定のアイコンをRAMにロードし、466(付属書Bの第265行)において、それに対するポインタを設定する。このアイコンポインタの番号は、付属書Bの第268行のLINGOのcastNumberに関連したものになっており、このcastNumberを増分するカウンタを第270行で設定している。468(付属書Bの第271行)において、SG_TYPETABLE構造内の最初の(次の)エントリを読み込む。そして、470(付属書Bの第272行)において、読み取るエントリが存在していないと判定された場合には、472において戻りコードが「成功」に設定され、464(付属書Bの第288行)でその戻りコードが返される。一方、エントリが残っている間は、474においてMIMEタイプが読み込まれ、476(付属書Bの第273行)においてそのMIMEタイプに対するiconfilenameが読み込まれる。そして、478(付属書Bの第274行)において、このMIMEタイプに関連付けられたアイコンが存在しないと判定されると、480(付属書Bの第275行)において既定のアイコンポインタが割り当てられるが、そうでなければ、482(付属書Bの第277行)において、関数read_iconfile(付属書Bの第295〜298行)を使用して次のアイコンビットマップとポインタを読み込む。そして、484(付属書Bの第278行)においてアイコンポインタがNILではないと判定された場合には、第279行においてcastNumが増分される。そうでなければ、castNumは増分されず、480(付属書Bの第280行)において既定のアイコンポインタが使用されるが、いずれの場合にも、MIMEタイプと関連付けられているアイコンポインタが486(付属書Bの第283行)において挿入される。そして、第284行でカウンタが増分され、468(付属書Bの第285行)において次のエントリがSG_TYPETABLEから読み込まれる。
【0051】
図11は、特定のMIMEタイプ又はファイルタイプ用の新しいアイコン及び/又はメッセージハンドラのインストールに使用するinstall_type関数を示している。この関数は、アイコンファイル名、メッセージハンドラプログラム名、及びMIMEタイプ又はファイルタイプのいずれかを含む入力を取得して600から始まる(付属書Bの第71〜75行)。この入力は、ユーザーから、或いは、後述する自動手段によって提供することができる。まず、602(付属書Bの第78行)においてTYPETABLEファイルがRAMに読み込まれ、SG_TYPETABLEが作成される。そして、604(付属書Bの第80行)での判定において、そのSG_TYPETABLEが空であれば、606(付属書Bの第81〜82行)でエラーが返される。そうでなければ、608(付属書Bの第87行)において、600で指定されたMIMEタイプ(又はファイルタイプ)をSG_TYPETABLEから取得する(存在している場合)。SG_TYPETABLEにそのMIMEタイプ(又はファイルタイプ)が存在し、それが既にアイコン及びメッセージハンドラに関連付けられている場合には、612(付属書Bの第90行)において、それを再定義するべきかどうかに関してユーザーに確認を求める。そして、ユーザーがNOを選択した場合には、614(付属書Bの第94行)においてエラーが返される。一方、そのMIMEタイプが以前に定義されていなかったり、或いはユーザーがそれを再定義することを選択した場合には、616(付属書Bの第102行)において、600で指定されたメッセージハンドラプログラムの有効性(例:それがハードディスク上又はネットワークに存在するかどうか)をチェックする。そして、それが有効ではない場合には、614(付属書Bの第104〜105行)においてエラーが返される。一方、メッセージハンドラとMIMEタイプ(ファイルタイプ)が有効な場合には、618(付属書Bの第108行)においてSG_TYPETABLE内でそれらを互いに関連付ける。次に、620(付属書Bの第110行)において、600で指定されたアイコンファイル名の有効性をチェックし、有効でない場合には、622(付属書Bの第112行)で既定のアイコンを指定し、624(付属書Bの第111行)においてエラー警告が返されるが、いずれの場合にも、626(付属書Bの第114行)において、指定されたアイコンファイル名又は(必要に応じて)既定のアイコンがメッセージハンドラ及びMIMEタイプ(ファイルタイプ)とSG_TYPETABLE内で関連付けられる。そして、628(付属書Bの第122〜125行)でSG_TYPETABLEからtypetable.txtファイルに書き戻し、エラーが発生しなければ、630(付属書Bの第126行)において「成功」が返される。
【0052】
当業者であれば、モジュラーオーサリング/読み取りコンポーネントがインストール/除去される際に、アイコンが自動的にインストール/除去されるよう、install_type関数を別のプログラムによって呼び出すことができることを理解するであろう。本明細書のコード又は図面には具体的に示されていないが、当業者であれば、本明細書の付属書Bと親出願のコンポーネントインストールコードを参照することにより、この第2の実施例の実装方法を理解するであろう。
【0053】
第3の実施例によれば、メールボックスディスプレイヤが新しいメッセージタイプを検出するたびに新しいアイコンが自動的に追加される。これらの新しいアイコンは、オペレーティングシステムのレジストリ又はメッセージに組み込まれたアイコン画像データから取得されるが、当業者であれば、本明細書の付属書Bと前述のMIME規格を参照することにより、この実施例の実装方法を理解するであろう。
【0054】
第4の実施例によれば、必要に応じて、或いはスケジュールに従って、タイプアップデータが新しいアイコン情報についてネットワークサーバーに問い合わせ、アイコン画像データをダウンロードする。当業者であれば、ファイルサーバーからデータをダウンロードする自動アップデータは周知であり、そのような周知の自動アップデータを本明細書の付属書Bと共に参照することにより、この実施例を実装できることを理解するであろう。
【0055】
以上、本明細書では、MIMEタイプを識別し異なるアイコンを表示する方法及び装置を含む機能拡張された電子メールシステムのいくつかの実施例について説明及び例証した。尚、本発明の特定の実施例について説明しているが、これは、本発明をそれらに限定することを意図するものではなく、本発明は、その技術が許容するだけの広い範囲を有しており、その仕様も同様に読み取られるべきである。従って、特定のコードリストを開示しているが、その他のコードも利用することができるものと理解されたい。例えば、付属書においては、MACROMEDIA DIRECTORのLINGOコードによって本発明を示しているが、本発明は、「MOZILLA」エンジンに基づいて、C++により、或いは、その他の数多くの一般的な開発ツールによって実装することができる。又、インストール可能なオーサリング/読み取りコンポーネントを備えるEメールクライアントと関連する本出願人の親出願を参照して本発明を開示しているが、メールボックスのリストにMIMEタイプを表すアイコンを表示する本明細書に開示された原理は、その他の種類のEメールクライアントにも適用可能であることを認識されたい。更には、アイコン画像を保存する方法(即ち、拡大縮尺可能な画像)を参照して特定の構成を開示しているが、その他の構成も同様に使用可能であることを理解されたい。又、本発明はコンピュータ画面上での表示を参照して示されているが、この表示は、テレビ、個人用情報端末、携帯電話、腕時計などにおけるものであってもよいことを理解されたい。従って、当業者であれば、権利請求された精神と範囲を逸脱することなく、本発明に対して更なるその他の変更が可能なことを理解するであろう。
(付属書の簡単な説明)
(付属書A)
本発明によるメールボックスディスプレイヤのMCROMEDIA DIRECTOR用のプログラムリストである。
(付属書B)
本発明によるタイプアップデータのMACROMEDIA DIRECTOR用のプログラムリストである。
(付属書A:メールボックスディスプレイヤのコード)
001 −−− メールボックスディスプレイヤの実装
002 −−− キッドコード(KidCode)電子メールクライアントのメールボックスハンドラのコード
003 −−− このDirector MIAWは、メールボックスを各メッセージ当たり1行で構成されるリストとしてウィンドウ内に表示するものである。
004 −−− 各メッセージは、次の表示フィールドを備えている。
005 −−− 1. メッセージの番号
006 −−− 2. メッセージの送信者
007 −−− 3. メッセージのMIMEタイプとステータス(単一のアイコンを使用して両プロパティを示す)
008 −−− 4. メッセージの件名ヘッダ
009 −−− 5. メッセージの日付
010
011
012 on startMovie
013 global SG_lastActiveWindow −−− KCの最新のアクティブウィンドウを記録しておくスーパーグローバル変数
014 global mbxG_username −−− 現在のユーザー名
015 global mbxG_messages −−− メッセージのリスト
016 global mbxG_nMsgs −−− メールボックス内のメッセージの数
017 global mbxG_boxName −−− 現在のメールボックス名
018 global mbxG_whichLine −−− 現在のハイライト行 = msgNumber
019 global mbxG_subtractLine
020 global mbxG_lips
021
022 set mbxG_lips = 0
023
024 −−− APIによってメインムービーに呼び出される。
025 tell the stage to emh_continue(#mailbox)
026 end
027
028
029 on activateWindow
030 global SG_lastActiveWindow
031 global mbxG_myWindow
032 set SG_lastActiveWindow = mbxG_myWindow
033 end activateWindow
034
035
036 −−− ムービーハンドラを停止する。
037 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
038 MIAW内のStopMovieハンドラは、ムービーが最後まで再生されるか、
039 −−− 或いは別のムービーにジャンプしたときにのみ呼び出される。
040 −−− ウィンドウが閉じられたり、ウィンドウがforgetWindow
041 −−− コマンドによって削除された場合には呼び出されない。
042
043 on stopMovie
044 cleanUpMovie()
045 end
046 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
047 MIAWを閉じるか、或いはforgetWindowが呼び出されたときに
048 −−− 自動的に呼び出される。
049
050 on closeWindow
051 cleanUpMovie()
052 end
053 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
054
055 −−− cleanUpMovieは、stopMovie及びcloseWindowの両方から呼び出す
056 −−− ことができる。
057
058 on cleanUpMovie
059 global mbxG_whichLine
060 global mbxG_subtractLine
061 global mbxG_nMsgs
062 global mbxG_username
063 global mbxG_lips
064
065 −−− フィールドとグローバル変数をクリアする。
066
067 put ”” into field ”MailboxTitle”
068 put ”” into field ”prepositionTitle”
069 put ”” into field ”MessageNumber”
070 put ”” into field ”MailboxTo”
071 put ”” into field ”MailboxSubject”
072 put ”” into field ”MailboxDate”
073 put ”” into field ”messageread”
074
075 set mbxG_nMsgs = 0
076 set mbxG_lips = 0
077 restHilite()
078
079 if findEmpty(member 50) > 50 then
080 set the scriptText of member 50 = ””
081 end if
082
083 set the memberNum of sprite 6 = the memberNum of member ”lips up”
084 set the loc of strite 4 to point(800, 4)
085 set the loc of sprite 5 = point(800, 19)
086 end cleanUpMovie
087
088
089 −−− APIパブリックハンドラ −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
090 −−−
091 −−− MIAWのDirector起動に伴う問題に対処するための不恰好な
092 −−− 裏技である。その問題とは、MIAWでハンドラを呼び出した後に、
093 −−− 呼び出し元のムービーが次のフレームに進むまでMIAW用の
094 −−− StartMovieハンドラが実行されないことである。
095 −−− 従って、制御が呼び出し元ムービーに返されるまでMIAW内の
096 −−− 本当のハンドラが実行されないよう、呼び出し元ムービーの
097 −−− 呼び出しシーケンスを設計しなければならない。しかしながら、
098 −−− MIAW内の少なくとも1つのハンドラは、StartMovieハンドラが実行
099 −−− される前に呼び出し元ムービーによって呼び出されなければならない。
100
101 −−− startMeupは偽のハンドラであり、メインムービーから呼び出され
102 −−− ると、すぐにメインムービーに戻り、このムービーのstartMovie
103 −−− ハンドラを実行させる。
104
105 −−− この不細工な裏技の第2部分は、MIAWのstartMovieハンドラ内
106 −−− に含まれている。それは、呼び出し元ムービー内のworkAround
107 −−− ハンドラに対するcontinueComponentと呼ばれる呼び出しである。
108 −−− 呼び出し元ムービーのcontinueRebusハンドラがMIAW内の
109 −−− 本当のハンドラを呼び出している。
110
111 on emc_startMeup
112 −−− put ”Macromedia sucks!”
113 return(TRUE)
114 end emc_startMeUp
115
116 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
117 initWindowは、メッセージハンドラが開かれた際に、Eメールメイン
118 −−− によって呼び出される。
119
120 on emc_initWindow userName, windowName
121 global mbxG_myWindow
122 global mbxG_username
123 global mbxG_platformType
124
125 −−− put ”Enter emc_initWindow mailbox”
126 set mbxG_username = userName
127 set mbxG_myWindow = windowName
128
129 −−− puppet hilite (MB 4−17−99) removed this
130 resetHilite()
131 tell the stage to emh_getColorDepth()
132 set colorDepth = the result
133 mapColors(colorDepth)
134 tell the stage to emh_getPlatformType()
135 set mbxG_platformType = the result
136
137 −−− put ”EXIT emc_initWindow Mailbox”
138
139 return(TRUE)
140
141 end emc_initWindow
142
143 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
144 −−− closeWindowは、RebusがMIAWとして再生されない限り、呼び出さ
145 −−− れない。
146
147 on emc_closeWindow
148 −−− put ”ENTER emc_closeWindow Mailbox”
149 closeWindow()
150 −−− step frame
151 −−− put ”EXIT emc_closeWindow Mailbox”
152 return(TRUE)
153
154 end emc_closeWhidow
155
156 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
157
158 on emc_getComponentInfo
159 return( list( ”SimpleMail”, 1, #mailbox, ”text”))
160 end emc_getComponentInfo
161
162 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
163
164 on mbx_getMessage
165 −−−
166 −−− −−− 「Open」ボタン及びハイライトされているメッセージのダブル
167 −−− −−− クリックによってEメールメインが呼び出され、選択された
168 −−− −−− メッセージがメッセージ処理ムービーに渡される。
169 −−− −−− このスクリプトは、以前は「Open」キャストメンバスクリプトであった。
170 −−−
171 −−− global mbxG_whichLine
172 −−− global mbxG_messages
173 −−−
174 −−− set mailData = getAt(mbxG_messages, mbxG_whichLine)
175 −−−
176 −−− return(mailData)
177 −−−
178 −−−
179 −−−
180 −−−end mbx_getMessage
181
182 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
183
184 on mbx_getMessageNumber
185 global mbxG_whichLine
186 return(mbxG_whichLine)
187 end mbx_getMessageNumber
188
189 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
190 −−− mbx_trashMessagesは、メールファイル内の破棄するメッセージの
191 −−− リストを返し、Eメールメインが当該メールファイルを書き換える。
192 −−− 正しく実装すれば、メールボックス表示内の現在選択されている
193 −−− 行のメッセージ番号を判定し、表示を更新してそれらのメッセージを
194 −−− リストから削除し、削除されたメッセージ番号のリストを返す。
195 −−−
196
197 on mbx_trashMessages
198
199 global mbxG_messages −−− メッセージのリスト
200 global mbxG_nMsgs −−− メールボックス内のメッセージの数
201 global mbxG_whichLine −−− 現在のハイライト行 = msgNumber
202
203 −−− set mailData = getAt(mbxG_messages, mbxG_whichLine)
204 −−−
205 −−− −−− tell the stage
206 −−− return(mailData)
207 −−− −−− end tell
208
209 −−− 複数メッセージを処理可能な実装が必要である。
210 −−− 又、その他のムービー内で呼び出すことができるのはAPI
211 −−− ハンドラのみであるというAPI規則に準拠していない
212 −−− trashItを書き換えることも必要である。
213 −−− set message = mbxG_messages
214 if mbxG_whichLine > 0 AND mbxG_whichLine<= mbxG_nMsgs then
215 tell the stage to emh_alertUserToTrash()
216 set yes = the result
217 if not yes then return [] −− ユーザーが取り消される。
218
219 set trashList = list(getAt(mbxG_messages, mbxG_whichLine))
220 deleteAt(mbxG_messages, mbxG_whichLine)
221 set mbxG_nMsgs = mbxG_nMsgs − 1
222 displayMailbox(mbxG_messages)
223 restHilite()
224 else
225 alert(”削除するメッセージをクリックしてください。”)
226 set trashList = []
227 end if
228
229 return(trashlist)
230
231 end mbx_trashMessages
232
233 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
234 −−− ボックス名とメッセージのリストから構成されるメールボックスの
235 −−− データ構造を受け付ける。
236
237 on mbx_openMailbox mailbox
238 global mbxG_username
239 global mbxG_messages
240 global mbxG_boxName
241 global mbxG_nMsgs
242
243 −−− put ”ENTER mbx_openMailbox”
244 set mbxG_boxName = getAt(mailbox, 1)
245 put mbxG_userName & ”’s” & mbxG_boxName into field ”mailboxTitle”
246
247 set bmxG_messages = getAt(mailbox, 2)
248 set mbxG_nMsgs = count(mbxG_messages)
249
250 displayMailbox(mbxG_messages)
251
252 −−− put ”EXIT mbx_openMailbox”
253 return(TRUE)
254
255 end mbx_openMailbox
256
257 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
258
259 Utilities −−
260 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
261 テキストフィールドの書式設定を初期化する。
262 −−− これについてはFrank Leahyに感謝する。
263
264 on SetTextInfo fldName, FldValue, FldAlign, FldFont, FldSize, FldStyle
265 if fldValue <> EMPTY then
266 put fldValue into field fldName
267 end if
268 set the textAlign of field fldName = fldAlign
269 set the textFont of field fldName = fldFont
270 set the textSize of field fldName = fldSize
271 set the textStyle of field fldName = fldStyle
272 end
273
274 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
275 on formatFields
276
277 −−− テキストフィールドの書式設定を行う。
278
279 setTextInfo ”MessageNumber”,” ”,”left”,”arial”,14,”bold”
280 setTextInfo ”MailboxTo”,” ”,”left”,”arial”,14,”bold”
281 setTextInfo ”MailboxSubject”,” ”,”left”,”arial”,14,”bold”
282 setTextInfo ”MailboxDate”,” ”,”left”,”arial”,14,”bold”
283 setTextInfo ”Messageread”,” ”,”left”,”arial”,14,”bold”
284
285 end formatFields
286
287 −−− メインメールボックス表示関数
288 −−− メールボックススタイルのメッセージリストを表示する。
289 −−− 各メッセージの適切な構成要素をフィールドメンバ内に
290 −−− 配置し、各行を揃えて表示する。
291
292 on displayMailBox msgList
293 global SG_TYPETABLE −−− 様々なMIAWで共有するスーパーグローバル変数
294 global mbxG_red
295 global mbxG_platformType
296 global mbxG_iconList
297
298 −−− mbxG_iconListは、上/下スクロールスクリプトで将来使用する。
299 set mbxG_iconList = [:]
300 set count = 0
301
302 −−− まず、すべてのフィールドとスプライトをクリアする。
303 put ”” into field ”MessageNumber”
304 put ”” into field ”MailboxTo”
305 put ”” into field ”mailboxSubject”
306 put ”” into field ”mailboxDate”
307 put ”” into field ”Messageread”
308
309 repeat with i = 40 to 70
310 set the member of sprite i = member ”blank”
311 end repeat
312
313 −−− ウィンドウのスクロールの際に供給されるよう、すべての
314 −−− メッセージの情報をテキストフィールドに書き込む。
315 repeat with msg in msgList
316
317 −−− メールボックス、MIMEタイプ、及びステータスを除き、
318 −−− 書き込まれるとそのフィールドは自動的に表示される。
319
320 put the lineCount of member ”MailboxTo”+1 & RETURN after field ”MessageNumber”
321 put getProp(msg, #from) & RETURN after field ”MailboxTo”
322 put getProp(msg, #subject) & RETURN after field ”mailboxSubject”
323 put getProp(msg, #date) & RETURN after field ”mailboxDate”
324 put getProp(msg, #mailbox) into mailbox
325 put getProp(msg, #mimetype) into mime
326 put getProp(msg, #status) into status
327
328 −−−−−− MIMEタイプのアイコンを表示する。
329 −−−−−− メッセージステータスの表示にもMIMEタイプのアイコンを使用している。
330 −−− メッセージが既読の場合には、グレースケールバージョンのアイコンを表示する。既読でなければ、カラーのアイコンを表示する。
331
332 −−−−−− アイコンは、40番以上のスプライトチャネルに配置する。
333 set i = 40 + count
334 set count = count + 1
335
336 −−− メッセージのMIMEタイプ用のアイコンを見つけ出す。
337 −−−−−− このコードはデータアクセス関数を使用して書き換えるべきである。
338 −−−−−− 現時点では、TYPETABLEデータ構造のフォーマットを知る必要がある。
339
340 set mimeProperties = getProp(SG_TYPETABLE, mime)
341 set iconCastMember = getAt(mimeProperties, 2)
342 −−− 2番目の項目はキャストメンバ番号である。
343
344 −−− このタイプが未知のものであれば、既定のアイコンを使用する。
345 if iconCastMember = 0 then set iconCastMember = the number of member
346 ”DefaultIcon”
347
348 −−− メッセージが既読の場合には、グレースケールバージョンのアイコンを取得する。
349 if status = ”R” then set iconCastMember = iconCastMember + 1
350
351 −−− このアイコンをウィンドウのスクロールに使用するアイコンリストに追加する。
352 append (mbx_iconList, iconCastMember)
353
354 −−− 表示用の適切な位置にこのアイコンを配置する。
355 set the memberNum of sprite i to iconCastMember
356
357 −−− このアイコンをメールボックスのメッセージリスト内の正しいグリッドセルに表示する。
358 −−− すべてのアイコンのlocHを50に設定する。
359 set whereGoesIcon = the lineCount of member ”MailboxTo”
360 puppetSprite i, True
361 set the visible of sprite i = TRUE
362 set the locH of sprite i to 50
363
364 −−− メッセージの隣にアイコンを正確に配置する。
365 set positonVar = 105 + linePosToLocV(member ”MailboxTo”, whereGoesIcon)
366 set the locV of sprite i to positonVar
367 −−− 但し、多数のメッセージが存在する場合、アイコンがウィンドウからはみ出さないようにする。
368 if positonVar > 550 or positonVar < 105 then
369 set the visible of sprite i = FALSE
370 else
371 set the visible of sprite i = TRUE
372 end if
373 addProp mbxG_iconList, (the locV of sprite i), mime
374 end repeat
375
376 end displayMailbox
377
378 −−− ユーザーのメールボックスとのやり取りへの応答に使用する関数
379 −−− HILITE MESSAGEは、ユーザーがメッセージの行をマウスでクリックすると呼び出される。
380
381 on hiliteMessage whichLine
382 global mbxG_nMsgs, mbxG_whichLine, mbxG_subtractLine, mbxG_messages
383
384 −−− 選択された行を記録する。
385
386 set mbxG_whichLine = whichLine
387
388 −−− 行が有効であることを確認する
389
390 if mbxG_whichLine <= 0 then
391 return(0) −−− なにもしない。エラーは別のところで取得される。
392 else if mbxG_whichLine > mbxG_nMsgs then
393 −−− ユーザーはフィールド内の別の部分をクリックした。
394 set mbxG_whichLine = 0 −−− 0にリセットする。
395 return(0)
396 end if
397
398 −−− 選択された行をハイライトする。
399
400 set whichHighlight = mbxG_whichLine + mbxG_subtractLine
401
402 −−− 表示されているすべてのフィールドメンバが同期状態に維持されて
403 −−− いるため、どれでもlinePosToLocVに使用できる。
404 −−− 小さいため、”MailboxTo”を使用する。
405
406 set the locV of Sprite 11 to −
407 (99 + linePosToLocV(member ”MailboxTo”, whichHighlight))
408
409 −−− ハイライトされたメッセージをユーザーがダブルクリックした際に、mailFileからそのメッセージを取得する。
410
411 if the doubleClick then
412 set maildata = getAt(mbxG_message, mbxG_whichLine)
413 tell the stage
414 emh_openMessage(maildata)
415 end tell
416 −−− mbx_getMessage()
417 end if
418
419 end hiliteMessage
420
421
422 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
423 on restHilite
424 global mbxG_whichLine, mbx_subtractLine
425
426 set mbxG_whichLine = 0
427 set mbxG_subtractLine = 0
428
429 −−− ハイライトをオフステージに設定する。
430 set the loc of sprite 11 to point(11, −20)
431
432 end resetHilite
433 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
434 −−− これは、色のルックアップテーブルである。
435 −−− これを実際に必要とするのは、Macプラットフォームにおいてのみである。
436 −−− フィールドの前景色に設定したい色の上で使用する。
437 −−−
438
439 on mapColors colorDepth
440 global mbxG_red
441 global mbxG_blue
442 global mbxG_white
443 global mbaG_black
444
445 case colorDepth of
446
447 8:
448 set mbxG_red = 6
449 set mbxG_blue = 4
450 set mbxG_white = 0
451 16:
452 set mbxG_red = 31744
453 set mbxG_blue = 31
454 set mbxG_white = 32767
455 32:
456 set mbxG_red = 16711680
457 set mbxG_blue = 255
458 set mbxG_white = 16777215
459
460 end case
461
462 set mbxG_black = the forecolor of line 1 of member the member of sprite 4
463
464 end mapColors
465
466 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
467 メールボックスのメッセージの行をマウスでクリックすると、スクリプトが実行される。
468 メッセージ行のフィールドごとにスクリプトが必要である。
469
470 on mouseUp
471 hiliteMessage (the clickon − 40)
472 end
473
474
475 on mouseDown
476
477 global mbxG_lips
478 set whichLine = the mouseLine
479 if mbxG_lips then
480 set astr = line whichline of field ”MailboxTo”
481 speak(astr)
482 else
483 hiliteMessage(whichLine)
484 end if
485 end
486
487 on mouseDown
488
489 global mbxG_lips
490 set whichLine = the mouseLine
491 if mbxG_lips then
492 set astr = line whichline of field ”MailboxSubject”
493 speak(astr)
494 else
495 hiliteMessage(whichLine)
496 end if
497 end
498
499 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
500 メールボックスのメッセージ行をマウスでクリックすると、更なるスクリプトが実行される。
501
502 on mouseDown
503 global mbxG_lips
504 set whichLine = the mouseLine
505 if mbxG_lips then
506
507 set astr = line whichline of field ”MailboxDate”
508 set aday = word 1 of astr
509 case aday of
510 ”Mon,”:put ”Monday” into word 1 of astr
511 ”Tue,”:put ”Tuesday” into word 1 of astr
512 ”Wed,”:put ”Wednesday” into word 1 of astr
513 ”Thu,”:put ”Thursday” into word 1 of astr
514 ”Fri,”:put ”Friday” into word 1 of astr
515 ”Sat,”:put ”Saturday” into word 1 of astr
516 ”Sun,”:put ”Sunday” into word 1 of astr
517 otherwise
518 end case
519
520 speak(astr)
521 else
522 hiliteMessage(whichLine)
523 end if
524 end
525
526 on mouseDown
527 global mbxG_lips
528
529 set whichLine = the mouseLine
530 if mbxG_lips then
531 set astr = line whichline of field ”MessageNumber”
532 speak(astr)
533 else
534 hiliteMessage(whichLine)
535 end if
536 end
537
538
539 −−− このスクリプトは、メッセージ行に表示されるメッセージタイプアイコンに付加される。
540
541 on mouseUp
542 set whichLine = the mouseLine
543 hiliteMessage(mouseLine)
544 end
545
546 −−−−−− スクロールボタン用のコード
547
548 on mouseDown
549 global mbxG_whichLine
550 global mbxG_subtractLine
551 global mbxG_iconList
552
553 −−− ハイライトされた状態で上にスクロールする。
554 −−− これでアイコンはスクロールする。しかし、アイコンの
555 −−− スプライト位置は、mbxG_subtractLineに基づいており、
556 −−− メールボックスウィンドウ内のメッセージの対応する実際の
557 −−− 行番号には基づいていない。
558
559 set numberOfIconsVar = count(mbxG_iconList)
560 set lastIconPos = getPropAt(mbxG_iconList, count(mbxG_iconList)
561 if lastIconPos >= 550 then
562 −−− メッセージが多数存在しており、スクロールが必要である。
563 repeat while the mouseDown = TRUE
564
565 −−− oldSubtractLineは、mbxG_subtractLineを増分する
566 −−− 前にmbxG_subtractLineに設定する。これにより、
567 −−− 対象メッセージより1つ後ろにアイコンがずれないようにしている。
568
569 set oldSubtractLine = mbxG_subtractLine
570 set mbxG_subtractLine = mbxG_subtractLine + 1
571
572 if mbxG_subtractLine > 0 then
573 set mbxG_subtractLine = 0
574 end if
575
576 −−− すべてのフィールドを一緒にスクロールする。
577
578 scrollByLine member ”MessageNumber”, −1
579 scrollByLine member ”MailboxTo”, −1
580 scrollByLine member ”MailboxSubject”, −1
581 scrollByLine member ”MailboxDate”, −1
582 scrollByLine member ”mime”, −1
583 scrollByLine member ”Messageread”, −1
584
585 set numberOfIcons = the lineCount of member ”MailboxTo” + 40586 set amountOfMail = the lineCount of member ”MailboxTo”
587
588 −−− デバック用
589 −−− put ”linecount:” & the lineCount of member ”MailboxTo”
590 −−− put ”subtractline:” & mbxG_subtractLine
591
592 repeat whith i = 40 to numberOfIcons
593
594
595 −−− 次の2条件が真であれば、アイコンをスクロールする。
596 −−− 即ち、メッセージがスクロールすれば、アイコンもスクロールし、メッセージがスクロールしなければ、アイコンもスクロールしない。597
598 if mbxG_subtractLine >= − amountOfMail + 1 and oldSubtractLine < 0 then
599 set the locV of sprite i = the locV of sprite i + 15
600 if the locV of sprite i < 105 then
601 set the visible of sprite i = FALSE
602 else
603 set the visible of sprite i = TRUE
604 end if
605 else
606 nothing
607 end if
608 end repeat
609
610 −−− 行と共にハイライトを移動させ、行が画面から外れたら、
611 −−− ハイライトも画面から外す。
612 set whichHighlight = mbxG_whichLine + mbxG_subtractLine
613 if whichHighlight <= 0 or whichHighlight >= 22 then
614 set the loc of sprite 11 to point(11, −20)
615 else −−− スクロールされたメッセージにハイライトのlocVを設定する。
616 set the locV of Sprite 11 to (99 + linePosToLocV(member ”MailboxTo”, whichHighlight))
617 end if
618 updateStage
619 end repeat
620 end if
621 end
622
623 on mouseUp
624 set numberOfIcons = the lineCount of member ”MailboxTo” + 40
625 repeat with i = 40 to numberOfIcons
626 if the locV of sprite i > 550 or the lobV of sprite i< 105 then
627 set the visible of sprite i = FALSE
628 else
629 set the visible of sprite i = TRUE
630 end if
631 end repeat
632 end
633
634 on mouseDown
635 global mbxG_whichLine
636 global mbxG_subtractLine
637 global mbxG_iconList
638
639
640 −−− メッセージがスクロールする際には、
641 アイコンもメッセージと共に移動する必要があり、
642 スクロールした後に表示される新しい
643 −−− メッセージに
644 アイコンスプライトのmemberNumを
645 −−− 割り当てる。
646 −−− これでアイコンがスクロールする。しかし、
647 −−− アイコンスプライトの位置は、mbxG_subtractLine
648 −−− に基づいており、メールボックスウィンドウ内のメッセージの
649 −−− 対応する実際の行番号には基づいていない。
650 set number OfIconsVar = count(mbxG_iconList)
651 set lastIconPos = getPropAt(mbxG_iconList, Count(mbxG_iconList)
652 if lastIconPos >= 550 then
653 −−− 多数のメッセージが存在しており、スクロールが必要である。
654 repeat while the mouseDown = TRUE
655 scrollByLine member ”MessageNumber”, 1
656 scrollByLine member ”MailboxTo”, 1
657 scrollByLine member ”MailboxSubject”, 1
658 scrollByLine member ”MailboxDate”, 1
659 scrollByLine member ”mime”, 1
660 scrollByLine member ”Messageread”, 1
661 −−− mouseLineとlinePosTolocVの間の
662 違いを補正するために
663 −−− 使用する数値を取得する。
664 −−− mouseLineはフィールド合計内の行を与える。
665 −−− linePosTolocVは画面上のフィールドの行を使用している。
666 set bmxG_subtractLine = mbxG_subtractLine − 1
667 set numberOfIcons = the lineCount of member ”MailboxTo” + 40
668 set amountOfMail = the lineCount of member ”MailboxTo”
669 −−− put ”linecount:” & the lineCount of member ”MailboxTo”
670 −−− put ”subtractline:” & mbxG_subtractLine
671 repeat with i = 40 to numberOfIcons
672 if mbxG_subtractLine >= − amountOfMail + 1 then
673 set the locV of sprite i = the locV of sprite i − 15
674 if the locV of sprite i < 105 then
675 set the visible of sprite i = FALSE
676 else
677 set the visible of sprite i = TRUE
678 end if
679 else
680 nothing
681 end if
682 end repeat
683
684 if mbxG_subtractLine < − amountOfMail + 1 then
685 set mbxG_subtractLine = − amountOfMail + 1
686 end if
687
688 −−− ハイライトを行と共に移動させ、行が画面から
689 −−− 外れたら、ハイライトも画面から外す。
690
691 set whichHighlight = mbxG_whichLine + mbxG_subtractLine
692 if whichHighlight <= 0 or whichHighlight >= 22 then
693 set the loc of sprite 11 to point (11, −20)
694 else
695 set the locV of Sprite 11 to (99 +
696 linePosToLocV(member ”MailboxTo”, whichHighlight))
697 end if
698 updateStage
699 end repeat
700 end if
701 end
702
703 −−−−−−
704
705 on emc_indicateCheckingInternet
706 global mbxG_red
707 global mbxG_blue
708 global mbxG_white
709 global mbxG_black
710
711 if the locH of sprite 4 > 600 then
712 set the loc of sprite 4 = point(223, 4)
713 end if
714 −−− if the locH of sprite 5 > 600 then
715 −−− set the loc of sprite 5 = point(509, 19)
716 −−− end if
717
718 set colorNow = the forecolor of line 1 of member the member of sprite 4
719
720 case colorNow of
721 mbxG_black: set colorNext = mbxG_blue −−− 青
722 mbxG_blue: set colorNext = mbxG_white −−− ピンク
723 mbxG_white: set colorNext = mbxG_red −−− 赤
724 mbxG_red: set colorNext = mbxG_blue −−− 青
725 end case
726
727 set the forecolor of line 1 of member the member of sprite 4 to colorNext
728 updateStage
729
730 end emc_indicateCheckingInternet
731
732 on emc_endIndicateCheckingInternet
733 set the loc of sprite 4 to point(800, 4)
734 set the loc of sprite 5 = point(800, 19)
735 cursor − 1
736 updateStage
737 end emc_endIndicateCheckingInternet
738
739 −−−−−−−−− ウィンドウクローズボタン用のスクリプト
740
741 on mouseDown
742
743 repeat while the stillDown
744 if inside(point(the mouseH, the mouseV), the rect of sprite the clickon) then
745 if the name of member the member of sprite the clickon = ”closeWindow”
746 then
747 set the member of sprite the clickon = ”closeWindow_down”
748 updateStage
749 end if
750 else
751 set the member of sprite the clickon = ”closeWindow”
752 updateStage
753 end if
754 end repeat
755 set the member of sprite the clickon = ”closeWindow”
756 updateStage
757
758 end mouseDown
759
760 on mouseUp
761
762 −−− ウィンドウを閉じる。
763 if inside(point(the mouseH, the mouseV), the rect of sprite the clickon) then
764 −−− 以下の2行は、クローズに当たってメールボックス
765 −−− アイコンの処理をスピードアップするためのものである。
766 −−− 低速のマシンでこれをチェックする必要がある。
767 hideMailIcons(the lineCount of member ”MailboxTo”)
768 go frame ”stop”
769 tell the stage to emh_killComponent(0, ””)
770 set success = the result
771 if success <> TRUE then
772 alert(”メールボックスMIAWを閉じる際にエラーが発生しました。”)
773 end if
774 end if
775 end
776
777 on hideMailIcons numberOfIcons
778 repeat with i = 40 to (40 + numberOfIcons)
779 set the visible of sprite i = FALSE
780 end repeat
781 updateStage
782 end
783
784
785 −−− オープンボタン用のスクリプト
786
787 on mouseDown
788
789 repeat while the stillDown
790 if inside(point(the mouseH, the mouseV), the rect of sprite the clickon) then
791 if the name of member the member of sprite the clickon = ”open” then
792 set the member of sprite the clickon = ”open_down”
793 updateStage
794 end if
795 else
796 set the member of sprite the clickon = ”open”
797 updateStage
798 end if
799 end repeat
800 set the member of sprite the clickon = ”open”
801 updateStage
802 end mouseDown
803
804
805 on mouseUp
806
807 if inside(point(the mouseH, the mouseV), the rect of sprite the clickon) then
808 global mbxG_whichLine, mbxG_messages
809 if mbxG_whichLine = 0 then
810 alert ”マウスでクリックし、メッセージを選択してください。”)
811 exit
812 end if
813 set maildata = getAt(mbxG_messages, mbxG_whichLine)
814 tell the stage
815 emh_openMessage(maildata)
816 end tell
817 end if
818 end
(付属書B:タイプアップデータのコード)
001 −−− タイプアップデータの実装
002 −−− キッドコード(KidCode)電子メールクライアントのメッセージタイプ情報を
003 −−− 維持管理するコンポーネントのコードである。
004 −−− このDirector MIAWにより、キッドコードのその他のコンポーネント
005 から呼び出し可能なパブリック関数が提供される。
006
007 −−− パブリック関数
008 −−− 1. Initialize_TypeTable
009 −−− 2. Install_Type
010 −−− 3. Uninstall_Type
011
012
013
014 −−− 内部でのみ使用されるプライベート関数
015 −−− 1. Write_Typetable_File
016 −−− 2. Read_Typetable_File
017 −−− 3. Read_Icon_Files_To_RAM
018 −−− 4. read_iconFile
019 −−− 5. delete_mimetype
020 −−− 6. insert_mimetype
021 −−− 7. delete_filetype
022 −−− 8. insert_filetype
023
024
025 −−− TYPETABLEファイルの永久的な保存バージョンのファイル名は
026 −−− typetable.txtであり、既定のディレクトリはcurrentPathディレクトリである。
027
028
029 −−− Initialize_TypeTableは、MIMEタイプアイコン、添付ファイルタイプアイコン、
030 及びメッセージハンドラMIAWをルックアップするのに使用されるデータ構造を初期化する。
031 −−− 使用する前に、まずSG_Typetableをセットアップする。
032 ファイル添付情報は、添付ファイルを有するメッセージを検出した際に使用するまでルックアップしない。
033
034 on Initialize_TypeTable
035 global SG_TYPETABLE −−− 様々なMIAWで共有するTypetable用
036 のスーパーグローバル変数である。
037 global SG_ATTACH_TYPETABLE −−− 添付ファイルタイプ情報を維持管理する。
038
039 set SG_TYPETABLE = [:] −−− MIME情報のプロパティリストを初期化する。
040
041 −−− ファイルタイプ情報のプロパティリストを初期化する。
042 −−− このリストは、添付ファイルを有するメッセージを検出したときにのみ記入される。
043 set SG_ATTACH_TYPETABLE = [:]
044 set SG_TYPETABLE = Read_TypeTable_File(the pathname & ”typetable.txt”)
045
046 if count(SG_TYPETABLE) = 0 then −−− typetableファイルの読み取りに失敗した。
047 alert(”エラー:MIMEタイプファイルの読み取りに失敗しました。”)
048 return(0)
049 end if
050
051 set retVal = Read_Icon_Files_To_RAM()
052
053 if retVal = 0 then
054 alert(”エラー:MIMEタイプアイコンのロードに失敗しました。”)
055 return(0)
056 else
057 return(1)
058 end if
059
060 end −−− Initialize_TypeTable
061
062
063
064 −−− Install_Typeは、システムに新しいMIMEタイプをインストールするために使用する。
065 Install_Typeは、MIMEタイプ(文字列)、メッセージ処理ムービーのファイル名、
066 MIMEタイプアイコンを格納するビットマップのファイル名、及び任意選択でファイル拡張子(文字列)を入力として取得する。
067 この関数は、MIMEタイプに関連する情報(関数パラメータとして与えられたもの)を
068 永久ストレージに記録されるMIMEタイプテーブルに追加する。
069 ここでは、MIMEタイプ情報の永久ストレージとして「typetable.txt」というファイルを使用している。
070
071 on Install_Type mimeToInstall, msgHandler_filename, icon_filename, filetype
072 global SG_TYPETABLE −−− インストールされているすべてのMIMEタイプに関する情報
073
074 set DEFAULT_ICONFILE = ”defautIcon.bmp”
075 set SG_TYPETABLE = [:] −−− MIMEタイプ情報のプロパティリストを初期化する。
076
077 −−− 既存のMIMEタイプ情報をRAMに読み込む。
078 set SG_TYPETABLE = Read_TypeTable_File(the pathname & ”typetable.txt”)
079
080 if count(SG_TYPETABLE) = 0 then −−− typetableファイルの読み取りに失敗した。
081 alert(”エラー:MIMEタイプファイルの読み取りに失敗しました。”)
082 return(0)
083 end if
084
085 −−− MIMEタイプが既にインストールされているかどうかをチェックする。
086
087 set mimeProperties = get_mimetype(mimeToInstall)
088
089 if mimeProperties <> 0 then−−− MIMEタイプは既にインストールされている。
090 set redefineAlert = baMsgBox(theMessage, ”KidCode”, ”YesNoCancel”, ”Question”, 1)
091
092 −−− 警告関数はメッセージを保存せず、警告するだけである。
093 case redefineAlert of
094 ”No”: return 0
095 ”Cancel”: return n1
096 otherwise: nothing −−− 継続
097 end case
098 end if
099
100 −−− 新しいMIMEタイプを定義する。
101
102 if verifyMessageHandler(msgHandler_filename) = 0 then −−− プログラムファイルに
103 問題が存在している。
104 alert(”エラー:メッセージハンドラプログラム” && msgHandler_filename ”が無効です。”)
105 return (0)
106 end if
107
108 insert_msgHandler(SG_TYPETABLE, mimeToInstall, msgHandler_filename)
109
110 if verifyIconImage(icon_filename) = 0 then −−− アイコンファイルに問題が存在する。
111 alert(”Error: アイコンファイル” && msgHandler_filename ”が無効です。既定のアイコンを使用します。”)
112 insert_iconFileName(SG_TYPETABLE, mimeToInstall, DEFAULT_ICONFILE)
113 else
114 insert_iconFileName(SG_TYPETABLE, mimeToInstall, icon_Filename)
115 endif
116
117 if filetype <> ”” then
118 insert_fileytype(mimeToInstall, filetype)
119 writeTypeToRegistry(mimeToInstall, filetype)
120 end if
121
122 set retVal = write_TypeTable_File()
123 if retVal = 0 then
124 alert(”ファイルへのタイプテーブルの書き込みにエラーが発生しました。” && mimeToInstall && ”はインストールされていません。”)
125 return(0)
126 else return(1)
127
128 end −−− Install_type
129
130
131 −−− Uninstall_Typeは、ファイルとグローバル変数SG_TYPETABLE
132 の両方からMIMEタイプとそのプロパティを削除する。
133
134 on unInstall_Type mimeType
135 global SG_TYPETABLE −−− インストールされているすべてのMIMEタイプに関する情報である。
136
137 set SG_TYPETABLE = [:] −−− MIMEタイプ情報のプロパティリストを初期化する。
138
139 −−− 既存のMIMEタイプ情報をRAMに読み込む。
140 set SG_TYPETABLE = Read_TypeTable_File(the pathname & ”typetable.txt”)
141
142 if count(SG_TYPETABLE) = 0 then −−− typetableファイルの読み取りに失敗した。
143 alert(”エラー:MIMEタイプファイルの読み取りに失敗しました。”)
144 return(0)
145 end if
146
147 delete_mimetype(mimeType)
148
149 −−− 改訂されたTypetableをファイルに書き込む。
150 set retVal = write_TypeTable_File()
151 if retVal = 0 then
152 alert(”エラー:” && mimeToInstall && ”をアンインストールできませんでした。
153 Typetableファイルの書き込みエラーです”)
154 return(0)
155 else return(1)
156
157 end unInstall_Type
158
159 −−− Write_Typetable_Fileは、SG_TYPETABLE内の情報をディスク
160 上のTypetableファイルに書き込む。このファイルは、各MIMEタイプに関連するプロパティを保存している。
161 −−− SG_TYPETABLEは、MIMEタイプのリストを格納するプロパティリストである。
162
163 on Write_Typetable_File
164 global SG_TYPETABLE −−− 様々なMIAWで共有するスーパーグローバル変数である。
165 set fileName = the pathname & ”typetable.txt”
166 set bkupFileName = the pathname & ”typetable.bak”
167
168 if count(SG_TYPETABLE) = 0 then −−− MIMEタイプが定義されていない。
169 alert(”エラー:書き込むMIMEデータが存在していません。”)
170 return(0)
171 end if
172
173 −−− typetableファイルのバックアップを作成する。
174 copyFile(filename, bkFileName)
175
176 −−− Fileio Xtraを起動する。
177 set mFile = new(xtra ”fileio”)
178
179 set retVal = deleteFile(mFile, filename) −−− 書き換えの前に古いバージョンを削除する。
180 set retVal = createFile(mFile, Filename)
181 if retVal = 0 then
182 alert(”typetableファイルの更新にエラーが発生しました。”)
183 renameFile(bkFileName, filename)
184 return(0)
185 end if
186
187 openFile(mFile, fileName, 2) −−− 書き込みアクセス用に開く。
188 setPosition(mFile, 0)
189
190 −−− データをファイルに書き込む。
191 set i = 1
192 set mimeType = getAt(SG_TYPETABLE, i)
193 repeat while mimeType <> 0
194 set dataToWrite = mimetype
195 put ” ” & get_filetype(mimetype) into dataToWrite
196 put ” ” & get_iconFileName(mimetype) into dataToWrite
197 put ” ” & get_MsgHandler(mimetype) into dataToWrite
198 writeline(mFile, dataToWrite)
199 set i = i + 1
200 set mimeType = getAt(SG_TYPETABLE, i)
201 end repeat
202
203 closeFile(mFile)
204 set retVal = deleteFile(mFile, bkFileName) −−− バックアプファイルを削除する。
205 return(0)
206 end Write_TypeTable_File
207 −−− Read_Typetable_Fileはtypetableファイルを読み取り、
208 −−− メモリ内にデータ構造SG_TYPETABLEを作成する。
209 −−− SG_TYPETABLEは、MIMEタイプのリストを格納するプロパティリストである。
210
211 この関数から戻ると、グローバルプロパティリストデータ構造SG_TYPETABLEは、
212 各MIMEタイプごとに1つのエントリを格納しており、メッセージ処理ムービー用のpathNameとIconFileが含まれている。
213 後で、このデータ構造にRAM内のアイコンのキャストメンバ番号を追加する。
214 現時点では、これらはすべて0に設定されている。
215 このデータ構造は、[”text/plain”:[”txt”, 0, ”C:¥KidCode¥text.gif”, ”C:¥KidCode¥text.dxr”],
216 ”x−application/grid”:[””, 0, ”C:¥KidCode¥grid.gif”, ”C:¥KidCode¥grid.dxr”]]のようになっている。
217
218 on Read_TypeTable_File
219 global SG_TYPETABLE −−− 様々なMIAWで共有するスーパーグローバル変数である。
220 set fileName = the pathname & ”typetable.txt”
221
222 set SG_TYPETABLE = [:] −−− MIMEタイプのプロパティリストを初期化する。
223
224 −−− Fileio Xtraを起動する。
225 set mFile = new(xtra ”fileio”)
226 opeFile(mFile, fileName, 1) −−− 読取専用アクセス用に開く。
227 set status = status(mFile)
228
229 if status <> 0 then
230 alert(”エラー:MIMEタイプテーブルが開けませんでした。”& error (mFile, status))
231 closeFile(mFile) −−− 安全のため。
232 return FALSE
233 end if
234
235 setPosition(mFile, 0)
236
237 −−− LINGOでは行単位の読み取りができない。従って、ファイル全体を
238 文字列strに読み込むことにより、これをシミュレートしている。
239 set str = readFile(mFile)
240
241 set nTypes = the number of lines in str
242 repeat with j = 1 to nTypes
243 set mimetype = word 1 of line j
244 insert_mimetype(mimetype)
245 insert_filetype(mimetype, word 2 of line j)
246 insert_iconFileName(mimetype, word 3 of line j)
247 insert_msgHandler(mimetype, word 4 of line j)
248 end repeat
249
250 closeFile(mFile)
251
252 end Read_TypeTable_File
253
254
255 on Read_Icon_Files_To_RAM
256 global SG_TYPETABLE
257 global SG_DEFAULT_ICON_PTR = 1000
258
259 if count(SG_TYPETABLE) = 0 then −−− MIMEタイプが定義されていない。
260 alert(”エラー:MIMEタイプデータが存在していません。アイコンをロードできません。”)
261 return(0)
262 end if
263
264 −− 既定のアイコンをロードする。
265 importFileInto(member SG_DEFAULT_ICON_PTR, the pathname & ”defaulticon.gif”)
266
267 −−− MIMEタイプを一巡してアイコンをロードする。
268 set castNum = SG_DAFAULT_ICON_PTR + 1 −−− 既定のものの直後の
269 アイコンである。
270 set i = 1
271 set mimeType = getAt(SG_TYPETABLE, i)
272 repeat while mimeType <> 0
273 set iconFile = get_iconFileName(SG_TYPETABLE, mimetype)
274 if icon = ”” then −−− アイコンが定義されておらず、既定のものを使用する。
275 set iconPTR = SG_DEFAULT_ICON_PTR
276 else
277 set iconPTR = read_IconFile(iconFile, castNum)
278 if iconPtr > 0 then
279 set castNum = castNum + 1
280 else set iconPtr = SG_DEFAULT_ICON_PTR
281 end if
282
283 insert_iconPtr(mimetype, iconPtr)
284 set i = i + 1
285 set mimeType = getAt(SG_TYPETABLE, i)
286 end repeat
287
288 return(1)
289
290 end Read_Icon_Files_To_RAM
291
292
293
294 −−− Read_IconFileは、1つのアイコンビットマップをRAMにロードする。
295 on read_IconFile filename, castMemberNum
296 set retVal = importFileInto(member castNum, iconFile)
297 return(retVal)
298 end read_IconFile
299 −−− MIMEタイプ情報のデータアクセス関数
300 −−− データは、「MIMEタイプ:プロパティ」という構造で
301 −−− プロパティリストSG_TYPETABLE内に保存される。
302 −−− ここで、MIMEタイプは文字列である(例:”text/plain”)。
303 −−− プロパティは、次の要素を有するリストである。
304 −−− [filetype, iconPtr, idonFilename, msgHandler_FileName]
305 −−− 例:SG_TYPETABLE =
306 −−− [”text/plain”:[”txt”, 0, ”C:¥KidCode¥text.gif”, ”C:¥KidCode¥text.dxr”],
307 −−− ”x−application/grid”:[””, 0, ”C:¥KidCode¥grid.gif”, ”C:¥KidCode¥grid.dxr”]]
308
309 on get_mimetype mimetype
310 global SG_TYPETABLE
311 return(getProp(SG_TYPETABLE, mimetype))
312 end
313
314 on get_filetype mimetype
315 global SG_TYPETABLE
316 set theProperties = getProp(SG_TYPETABLE, mimetype)
317 return(getAt(theProperties, 1))
318 end
319
320 on get_iconPtr mimetype
321 global SG_TYPETABLE
322 set theProperties = getProp(SG_TYPETABLE, mimetype)
323 return(getAt(theProperties, 2))
324 end
325
326 on get_iconFileName mimetype
327 global SG_TYPETABLE
328 set theProperties = getProp(SG_TYPETABLE, mimetype)
329 return(getAt(theProperties, 3))
330 end
331
332 on get_msgHandler mimetype
333 global SG_TYPETABLE
334 set theProperties = getProp(SG_TYPETABLE, mimetype)
335 return(getAt(theProperties, 4))
336 end
337
338 on insert_mimetype mimetype
339 global SG_TYPETABLE
340 addProp(SG_TYPETABLE, mimetype)
341 end
342
343 on insert_filetype mimetype, filetype
344 global SG_TYPETABLE
345 set theProperties = getProp(SG_TYPETABLE, mimetype)
346 add(theProperties, filetype)
347 setProp(SG_TYPETABLE, mimetype, theProperties)
348 end
349
350 on insert_iconPtr mimetype, iconPtr
351 global SG_TYPETABLE
352 set theProperties = getProp(SG_TYPETABLE, mimetype)
353 add(theProperties, iconPtr)
354 setProp(SG_TYPETABLE, mimetype, theProperties)
355 end
356
357 on insert_iconFileName mimetype, iconFilename
358 global SG_TYPETABLE
359 set theProperties = getProp(SG_TYPETABLE, mimetype)
360 add(theProperties, iconFilename)
361 setProp(SG_TYPETABLE, mimetype, theProperties)
362 end
363
364 on insert_msgHandler mimetype
365 global SG_TYPETABLE
366 set theProperties = getProp(SG_TYPETABLE, mimetype)
367 add(theProperties, msgHandler)
368 setProp(SG_TYPETABLE, mimetype, theProperties)
369 end
370
371
372 on delete_mimetype mimetype
373 global SG_TYPETABLE
374 deleteProp(SG_TYPETABLE, mimetype)
375 end
376
377 on delete_filetype mimetype
378 global SG_TYPETABLE
379 set properties = getProp(SG_TYPETABLE, mimetype)
380 setAt(properties, 1, ””)
381 setProp(SG_TYPETABLE, mimetype, properties)
382 end
383
384 on delete_icon mimetype
385 global SG_TYPETABLE
386 set properties = getProp(SG_TYPETABLE, mimetype)
387 setAt(properties, 2, 0)
388 setProp(SG_TYPETABLE, mimetype, properties)
389 end
390
391 on delete_iconFileName mimetype
392 global SG_TYPETABLE
393 set properties = getProp(SG_TYPETABLE, mimetype)
394 setAt(properties, 3, ””)
395 setProp(SG_TYPETABLE, mimetype, properties)
396 end
397
398 on delete_msgHandler mimetype
399 global SG_TYPETABLE
400 set properties = getProp(SG_TYPETABLE, mimetype)
401 setAt(properties, 4, ””)
402 setProp(SG_TYPETABLE, mimetype, properties)
403 end

【図面の簡単な説明】
【図1】従来技術の電子メールボックスディスプレイヤの画面ショットである。
【図2】本発明による電子メールボックスディスプレイヤの画面ショットである。
【図2a】本発明の別の実施例による電子メールボックスディスプレイヤの画面ショットである。
【図3】本発明による電子メールクライアントのコンポーネント構成のブロックダイアグラムである。
【図4】本発明によるメールボックスディスプレイヤの基本的な動作を示す概略フローチャートである。
【図5】本発明によるメールボックスディスプレイヤの別の実施例の基本的な動作を示す概略フローチャートである。
【図6】メールアイテムの様々なプロパティ用のアイコンのルックアップを示す概略フローチャートである。
【図6a】MIMEタイプ用のアイコンのルックアップを示す概略フローチャートである。
【図6b】添付ファイルのファイルタイプ用のアイコンのルックアップを示す概略フローチャートである。
【図7】タイプアップデータコンポーネントの一実施例におけるinitialize_TypeTable関数を示す概略フローチャートである。
【図8】タイプアップデータコンポーネントの一実施例におけるread_TypeTable_file関数を示す概略フローチャートである。
【図9】タイプアップデータコンポーネントの一実施例におけるwrite_TypeTable_file関数を示す概略フローチャートである。
【図10】タイプアップデータコンポーネントの一実施例におけるread_icon_files_to_RAM関数を示す概略フローチャートである。
【図11】タイプアップデータコンポーネントの一実施例におけるinstall_TYPE関数を示す概略フローチャートである。

Claims (17)

  1. 表示装置と共に使用する電子メールクライアントソフトウェアであって、
    a)メールボックスの内容を前記表示装置上にスクロール可能なリストとして表示するメールボックスディスプレイヤ手段であって、各メールアイテムが複数のプロパティと共に一覧表示され、前記プロパティは件名、送信者の名前、及び送信日付からなる群から選択されるメールボックスディスプレイヤ手段と、
    b)複数のMIMEタイプを複数のアイコン画像と関連付ける関連付け手段と、
    を有し、
    前記メールボックスディスプレイヤ手段は、メールボックス内の少なくともいくつかのメールアイテムのMIMEタイプを判定する手段と、前記関連付け手段を読み取る手段と、前記スクロール可能なリスト内にアイコン画像を前記少なくともいつかのメールアイテムのそれぞれに関連付けられたプロパティとして表示する手段と、を含み、
    前記少なくともいくつかのメールアイテムのそれぞれ用のアイコン画像は、前記少なくともいくつかのメールアイテムのそれぞれのMIMEタイプに従って前記関連付け手段から選択されることを特徴とする電子メールクライアントソフトウェア。
  2. c)前記関連付け手段を更新して更なるMIMEタイプと更なるアイコン画像を含めるタイプアップデータ手段を、
    更に有する請求項1記載の電子メールクライアントソフトウェア。
  3. c)それぞれがファイル名を備える複数のアイコン画像を更に有し、前記関連付け手段は、少なくともいくつかのMIMEタイプのそれぞれを前記アイコン画像のファイル名と関連付けるデータ構造である請求項1記載の電子メールクライアントソフトウェア。
  4. 前記関連付け手段は、MIMEタイプをプログラムと関連付ける手段を含み、いくつかのMIMEタイプは、アイコン画像とは関連付けられず、プログラムと関連付けられる請求項1記載の電子メールクライアントソフトウェア。
  5. 前記タイプアップデータ手段は、ユーザー入力に応答する請求項2記載の電子メールクライアントソフトウェア。
  6. 前記複数の画像の少なくともいくつかは拡大縮小可能である請求項3記載の電子メールクライアントソフトウェア。
  7. 前記電子メールクライアントソフトウェアは、アイコンのレジストリを維持管理するオペレーティングシステムと共に使用するように設計されており、
    前記関連付け手段は、少なくともいくつかのMIMEタイプを前記アイコンのレジストリから選択されたアイコンと関連付ける請求項1記載の電子メールクライアントソフトウェア。
  8. c)Eメール又はEメールの添付ファイルに格納されているグラフィカルアイコン情報を読み取るアイコン回復手段を更に有し、
    前記関連付け手段は、その他のアイコンが見つからない場合に、MIMEタイプを前記アイコン回復手段によって回復されたアイコンと関連付ける請求項1記載の電子メールクライアントソフトウェア。
  9. 前記タイプアップデータ手段は、前記電子メールクライアントソフトウェアのユーザーが手動で操作可能である請求項2記載の電子メールクライアントソフトウェア。
  10. 前記タイプアップデータ手段は、
    新しいMIMEタイプのオーサリング/読み取りを行う能力を有する新しいアプリケーション又はコンポーネントがインストールされるイベントと、
    受信したメールメッセージにおいて新しいMIMEタイプを検出するイベントと、
    定期的にスケジュールされたイベントにより新しいアイコンを取得するべく前記タイプアップデータがサーバーをチェックするイベントと、
    から構成される群から選択されたイベントに従って新しいアイコンを自動的にインストールする請求項2記載の電子メールクライアントソフトウェア。
  11. 電子メールボックスの内容リストを表示装置上に表示する方法であって、
    a)前記メールボックスの内容をスクロール可能なリストとして前記表示装置上に表示する段階であって、各メールアイテムは複数のプロパティと共に一覧表示され、前記プロパティは、件名、送信者の名前、送信日付からなる群から選択される段階と、
    b)前記メールボックス内の少なくともいくつかのメールアイテムのMIMEタイプを判定する段階と、
    c)前記スクロール可能なリスト内にアイコン画像を前記少なくともいくつかのメールアイテムのそれぞれと関連付けられたプロパティとして表示する段階であって、前記少なくともいくつかのメールアイテムのそれぞれ用のアイコン画像は、前記少なくともいくつかのメールアイテムのそれぞれのMIMEタイプに従って選択される段階と、
    を有することを特徴とする方法。
  12. d)MIMEタイプをプログラムと関連付ける段階と、
    e)あるMIMEタイプのメールアイテムが開かれた際に当該MIMEタイプと関連付けられたプログラムを実行する段階と、
    を更に有する請求項11記載の方法。
  13. 前記アイコン画像の少なくともいくつかは拡大縮小可能である請求項11記載の方法。
  14. 前記表示段階は、アイコンの中央レジストリから少なくともいくつかのアイコンを選択する段階を含む請求項11記載の方法。
  15. 前記表示段階は、Eメール又はEメールの添付ファイルに格納されたグラフィカルアイコン情報を読み取る段階を含む請求項11記載の方法。
  16. d)前記表示段階を実行する際に使用するグラフィカルアイコンの保存データを維持管理する段階を、
    更に有する請求項11記載の方法。
  17. e)新しいMIMEタイプのオーサリング/読み取りを実行する能力を有する新しいアプリケーション又はコンポーネントがインストールされた際と、
    受信したメールメッセージ内で新しいMIMEタイプを検出した際と、
    定期的にスケジュールされたイベントにより新しいアイコンを取得するべく前記タイプアップデータがサーバーをチェックした際と、
    からなる群から選択されたイベントに応答して前記グラフィカルアイコンの保存データ内に新しいアイコン画像を自動的にインストールする段階を、
    更に有する請求項16記載の方法。
JP2002506441A 2000-06-27 2001-06-20 Mimeタイプを識別し異なるアイコンを表示する方法及び装置を含む機能拡張された電子メールシステム Pending JP2004502239A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/604,426 US6546417B1 (en) 1998-12-10 2000-06-27 Enhanced electronic mail system including methods and apparatus for identifying mime types and for displaying different icons
PCT/US2001/020348 WO2002001373A1 (en) 2000-06-27 2001-06-20 Enhanced electronic mail system including methods and apparatus for identifying mime types and for displaying different icons

Publications (1)

Publication Number Publication Date
JP2004502239A true JP2004502239A (ja) 2004-01-22

Family

ID=24419552

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002506441A Pending JP2004502239A (ja) 2000-06-27 2001-06-20 Mimeタイプを識別し異なるアイコンを表示する方法及び装置を含む機能拡張された電子メールシステム

Country Status (7)

Country Link
US (1) US6546417B1 (ja)
EP (1) EP1410220A1 (ja)
JP (1) JP2004502239A (ja)
CN (1) CN1292358C (ja)
AU (1) AU2001271493A1 (ja)
CA (1) CA2423407A1 (ja)
WO (1) WO2002001373A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009230542A (ja) * 2008-03-24 2009-10-08 Toshiba Corp 電子機器
US8037074B2 (en) 2007-07-02 2011-10-11 Onkyo Corporation Content type registration apparatus and content type registration program

Families Citing this family (133)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6282578B1 (en) * 1995-06-26 2001-08-28 Hitachi, Ltd. Execution management method of program on reception side of message in distributed processing system
US6952823B2 (en) * 1998-09-01 2005-10-04 Pkware, Inc. Software patch generator using compression techniques
US7444374B1 (en) * 1998-12-10 2008-10-28 Michelle Baker Electronic mail software with modular integrated authoring/reading software components including methods and apparatus for controlling the interactivity between mail authors and recipients
US20030023695A1 (en) * 1999-02-26 2003-01-30 Atabok Japan, Inc. Modifying an electronic mail system to produce a secure delivery system
US6318156B1 (en) * 1999-10-28 2001-11-20 Micro Motion, Inc. Multiphase flow measurement system
US6832245B1 (en) 1999-12-01 2004-12-14 At&T Corp. System and method for analyzing communications of user messages to rank users and contacts based on message content
JP2001318823A (ja) * 2000-02-28 2001-11-16 Kizna Corp クライアントサーバシステム及びこれを用いた通信方法
US8959582B2 (en) 2000-03-09 2015-02-17 Pkware, Inc. System and method for manipulating and managing computer archive files
US20060143237A1 (en) * 2000-03-09 2006-06-29 Pkware, Inc. System and method for manipulating and managing computer archive files
US20060143249A1 (en) * 2000-03-09 2006-06-29 Pkware, Inc. System and method for manipulating and managing computer archive files
US7844579B2 (en) * 2000-03-09 2010-11-30 Pkware, Inc. System and method for manipulating and managing computer archive files
US20060173847A1 (en) * 2000-03-09 2006-08-03 Pkware, Inc. System and method for manipulating and managing computer archive files
US20050015608A1 (en) * 2003-07-16 2005-01-20 Pkware, Inc. Method for strongly encrypting .ZIP files
US8230482B2 (en) 2000-03-09 2012-07-24 Pkware, Inc. System and method for manipulating and managing computer archive files
US6879988B2 (en) * 2000-03-09 2005-04-12 Pkware System and method for manipulating and managing computer archive files
US20060143199A1 (en) * 2000-03-09 2006-06-29 Pkware, Inc. System and method for manipulating and managing computer archive files
US20060143180A1 (en) * 2000-03-09 2006-06-29 Pkware, Inc. System and method for manipulating and managing computer archive files
US20060143253A1 (en) * 2000-03-09 2006-06-29 Pkware, Inc. System and method for manipulating and managing computer archive files
US7219302B1 (en) * 2000-07-19 2007-05-15 Everez Systems Limited System and method for organizing, managing, and manipulating desktop objects with an activity-oriented user interface
JP2002041404A (ja) * 2000-07-24 2002-02-08 Canon Inc 情報提供システム及び装置とその方法
JP4521943B2 (ja) * 2000-07-24 2010-08-11 キヤノン株式会社 情報提供装置及び情報提供方法、コンピュータ読み取り可能な記憶媒体
JP4416294B2 (ja) * 2000-08-30 2010-02-17 富士通株式会社 広告方法及びアウェアネスサーバ
US6895426B1 (en) * 2000-10-17 2005-05-17 Microsoft Corporation Addresses as objects for email messages
US20020091774A1 (en) * 2001-01-08 2002-07-11 Kokoro Imamura Method and system for retrieving electronic mail for a plurality of users over a single device
US7092992B1 (en) 2001-02-01 2006-08-15 Mailshell.Com, Inc. Web page filtering including substitution of user-entered email address
US20020163538A1 (en) * 2001-05-07 2002-11-07 Koninklijke Philips Electronics N.V. Electronic mail guide
US6993522B2 (en) * 2001-06-27 2006-01-31 Microsoft Corporation System and method for resolving conflicts detected during a synchronization session
US6826729B1 (en) * 2001-06-29 2004-11-30 Microsoft Corporation Gallery user interface controls
US7117210B2 (en) 2001-09-06 2006-10-03 Danger, Inc. System and method of distributing a file by email
US7774711B2 (en) 2001-09-28 2010-08-10 Aol Inc. Automatic categorization of entries in a contact list
JP2003141044A (ja) * 2001-11-06 2003-05-16 Nec Corp 携帯電話のメール検索方法ならびに携帯電話のメール検索プログラム
US7171621B1 (en) * 2001-11-30 2007-01-30 Compuware Corporation Reformatting messages introduced into a user interface
US20030140067A1 (en) * 2002-01-18 2003-07-24 Robert Sesek Systems and methods for sending documents
US8037137B2 (en) * 2002-04-04 2011-10-11 International Business Machines Corporation Method and system for efficient attachment of files to electronic mail messages
US7376702B2 (en) * 2002-05-02 2008-05-20 Danger, Inc. System and method for processing message attachments
US6788929B2 (en) * 2002-05-14 2004-09-07 Motorola, Inc. Email message confirmation by audio email tags
US8732249B2 (en) * 2002-05-29 2014-05-20 Verizon Services Corp. Providing an advisory to a user of a processing system
US7548952B2 (en) * 2002-05-31 2009-06-16 International Business Machines Corporation Method of sending an email to a plurality of recipients with selective treatment of attached files
KR100702105B1 (ko) * 2002-06-07 2007-04-02 샤프 가부시키가이샤 표시장치, 표시방법, 표시 프로그램, 및 표시 프로그램을기록한 기록매체
US9076147B2 (en) * 2002-09-18 2015-07-07 Advenix, Corp. Systems and methods for online marketing and advertising on e-mail systems
US8032597B2 (en) * 2002-09-18 2011-10-04 Advenix, Corp. Enhancement of e-mail client user interfaces and e-mail message formats
US7263688B2 (en) * 2002-09-23 2007-08-28 Realnetworks, Inc. Method and apparatus for dynamic data-type management
CA2666074A1 (en) * 2002-10-31 2004-05-13 Nokia Corporation Method, server and computer readable medium for providing a computerized icon ordering service
US7743102B1 (en) * 2002-11-15 2010-06-22 Stampede Technologies, Inc. System for selectively and automatically compressing and decompressing data and enabling compressed data to be rendered in a pseudo-native form
US7263614B2 (en) 2002-12-31 2007-08-28 Aol Llc Implicit access for communications pathway
US7945674B2 (en) 2003-04-02 2011-05-17 Aol Inc. Degrees of separation for handling communications
US20040205127A1 (en) 2003-03-26 2004-10-14 Roy Ben-Yoseph Identifying and using identities deemed to be known to a user
US7430580B2 (en) * 2003-06-12 2008-09-30 International Business Machines Corporation Method and apparatus for adding recipients to sent email
US7086003B2 (en) * 2003-06-13 2006-08-01 International Business Machines Corporation Attaching multiple files to an electronic document
US9715678B2 (en) 2003-06-26 2017-07-25 Microsoft Technology Licensing, Llc Side-by-side shared calendars
US7444598B2 (en) 2003-06-30 2008-10-28 Microsoft Corporation Exploded views for providing rich regularized geometric transformations and interaction models on content for viewing, previewing, and interacting with documents, projects, and tasks
US7716593B2 (en) * 2003-07-01 2010-05-11 Microsoft Corporation Conversation grouping of electronic mail records
US20050005249A1 (en) * 2003-07-01 2005-01-06 Microsoft Corporation Combined content selection and display user interface
US7707255B2 (en) 2003-07-01 2010-04-27 Microsoft Corporation Automatic grouping of electronic mail
US8799808B2 (en) 2003-07-01 2014-08-05 Microsoft Corporation Adaptive multi-line view user interface
JP3870176B2 (ja) * 2003-07-29 2007-01-17 キヤノン株式会社 情報処理方法及び装置
EP1661338A1 (en) 2003-08-12 2006-05-31 Research In Motion Limited System and method of secure message processing
US10437964B2 (en) 2003-10-24 2019-10-08 Microsoft Technology Licensing, Llc Programming interface for licensing
US7356772B2 (en) * 2003-11-25 2008-04-08 International Business Machines Corporation Multi-column user interface for managing on-line threaded conversations
US7590694B2 (en) * 2004-01-16 2009-09-15 Gozoom.Com, Inc. System for determining degrees of similarity in email message information
US8266218B2 (en) * 2004-02-12 2012-09-11 International Business Machines Corporation Automated electronic message filing system
US8898239B2 (en) 2004-03-05 2014-11-25 Aol Inc. Passively populating a participant list with known contacts
US7644127B2 (en) * 2004-03-09 2010-01-05 Gozoom.Com, Inc. Email analysis using fuzzy matching of text
US8918466B2 (en) * 2004-03-09 2014-12-23 Tonny Yu System for email processing and analysis
US7631044B2 (en) 2004-03-09 2009-12-08 Gozoom.Com, Inc. Suppression of undesirable network messages
US7555707B1 (en) 2004-03-12 2009-06-30 Microsoft Corporation Method and system for data binding in a block structured user interface scripting language
US8050653B2 (en) 2004-03-22 2011-11-01 Research In Motion Limited System and method for viewing message attachments
US20050257159A1 (en) * 2004-05-13 2005-11-17 International Business Machines Corporation Method and apparatus for identifying attachments in an email message
US8326930B2 (en) * 2004-06-22 2012-12-04 J2 Global Communications Variation of image content in electronic messaging protocol messages
US8040880B2 (en) * 2004-06-30 2011-10-18 Movius Interactive Corporation Signed message based application generation and delivery
JP4585801B2 (ja) * 2004-07-14 2010-11-24 株式会社日立製作所 広告情報登録方法及び広告表示システム
US8117542B2 (en) 2004-08-16 2012-02-14 Microsoft Corporation User interface for displaying selectable software functionality controls that are contextually relevant to a selected object
US7703036B2 (en) 2004-08-16 2010-04-20 Microsoft Corporation User interface for displaying selectable software functionality controls that are relevant to a selected object
US8146016B2 (en) 2004-08-16 2012-03-27 Microsoft Corporation User interface for displaying a gallery of formatting options applicable to a selected object
US8255828B2 (en) 2004-08-16 2012-08-28 Microsoft Corporation Command user interface for displaying selectable software functionality controls
US9015621B2 (en) 2004-08-16 2015-04-21 Microsoft Technology Licensing, Llc Command user interface for displaying multiple sections of software functionality controls
US7895531B2 (en) * 2004-08-16 2011-02-22 Microsoft Corporation Floating command object
US7747966B2 (en) * 2004-09-30 2010-06-29 Microsoft Corporation User interface for providing task management and calendar information
US8032482B2 (en) 2004-09-30 2011-10-04 Microsoft Corporation Method, system, and apparatus for providing a document preview
US7783708B2 (en) * 2005-01-27 2010-08-24 Microsoft Corporation Attachment browser
JP4928821B2 (ja) * 2005-04-28 2012-05-09 オセ−テクノロジーズ ビーブイ ネットワークシステムにおけるデジタル文書の取り扱い
US7886290B2 (en) * 2005-06-16 2011-02-08 Microsoft Corporation Cross version and cross product user interface
US20080086640A1 (en) * 2005-07-28 2008-04-10 Jmj Software, Llc Systems, methods and apparatus of an email client
US8239882B2 (en) 2005-08-30 2012-08-07 Microsoft Corporation Markup based extensibility for user interfaces
US8689137B2 (en) 2005-09-07 2014-04-01 Microsoft Corporation Command user interface for displaying selectable functionality controls in a database application
US9542667B2 (en) * 2005-09-09 2017-01-10 Microsoft Technology Licensing, Llc Navigating messages within a thread
US8627222B2 (en) 2005-09-12 2014-01-07 Microsoft Corporation Expanded search and find user interface
US7739259B2 (en) 2005-09-12 2010-06-15 Microsoft Corporation Integrated search and find user interface
US20070112848A1 (en) * 2005-11-17 2007-05-17 Steve Wang Method and system for concurrently processing multiple large data files transmitted using a multipart format
EP2214094A3 (en) * 2005-12-19 2010-10-06 Research In Motion Limited Computing device and method of indicating status of application program
US8605090B2 (en) 2006-06-01 2013-12-10 Microsoft Corporation Modifying and formatting a chart using pictorially provided chart elements
US9727989B2 (en) 2006-06-01 2017-08-08 Microsoft Technology Licensing, Llc Modifying and formatting a chart using pictorially provided chart elements
US20080046518A1 (en) * 2006-08-16 2008-02-21 James I Tonnison Enhanced E-Mail System
US8621373B2 (en) * 2006-08-31 2013-12-31 Microsoft Corporation Desktop assistant for multiple information types
US7882185B2 (en) * 2006-09-26 2011-02-01 International Business Machines Corporation Method and apparatus for managing e-mail attachments
US10489749B2 (en) * 2006-11-14 2019-11-26 Microsoft Technology Licensing, Llc Presenting daily task lists
KR101524572B1 (ko) * 2007-02-15 2015-06-01 삼성전자주식회사 터치스크린을 구비한 휴대 단말기의 인터페이스 제공 방법
KR101364885B1 (ko) 2007-02-21 2014-02-19 엘지전자 주식회사 아이콘을 이용한 메시지 수신 표시 방법 및 단말기
US20080229238A1 (en) * 2007-03-14 2008-09-18 Microsoft Corporation Scalable images using bitmaps and vector images
KR101417769B1 (ko) * 2007-04-16 2014-08-07 삼성전자주식회사 통신 단말기의 사용자 컨텐츠 관리 방법
US8489702B2 (en) 2007-06-22 2013-07-16 Apple Inc. Determining playability of media files with minimal downloading
US8762880B2 (en) 2007-06-29 2014-06-24 Microsoft Corporation Exposing non-authoring features through document status information in an out-space user interface
US8201103B2 (en) 2007-06-29 2012-06-12 Microsoft Corporation Accessing an out-space user interface for a document editor program
US8484578B2 (en) 2007-06-29 2013-07-09 Microsoft Corporation Communication between a document editor in-space user interface and a document editor out-space user interface
US9237148B2 (en) 2007-08-20 2016-01-12 Blackberry Limited System and method for displaying a security encoding indicator associated with a message attachment
US7949355B2 (en) 2007-09-04 2011-05-24 Research In Motion Limited System and method for processing attachments to messages sent to a mobile device
JP5153358B2 (ja) * 2008-01-23 2013-02-27 インターナショナル・ビジネス・マシーンズ・コーポレーション 電子メール表示プログラム、方法、装置及びシステム
EP2096809A1 (en) * 2008-02-29 2009-09-02 Research In Motion Limited System and method for dynamically updating message and list indicators
US9588781B2 (en) 2008-03-31 2017-03-07 Microsoft Technology Licensing, Llc Associating command surfaces with multiple active components
US9665850B2 (en) 2008-06-20 2017-05-30 Microsoft Technology Licensing, Llc Synchronized conversation-centric message list and message reading pane
US8402096B2 (en) 2008-06-24 2013-03-19 Microsoft Corporation Automatic conversation techniques
US8799353B2 (en) * 2009-03-30 2014-08-05 Josef Larsson Scope-based extensibility for control surfaces
US9046983B2 (en) 2009-05-12 2015-06-02 Microsoft Technology Licensing, Llc Hierarchically-organized control galleries
US8880620B2 (en) * 2009-06-12 2014-11-04 Microsoft Corporation Social graphing for data handling and delivery
JP5676859B2 (ja) * 2009-06-22 2015-02-25 キヤノン株式会社 画像形成装置、画像形成装置の制御方法、及びプログラム
US20110289072A1 (en) * 2010-05-24 2011-11-24 Microsoft Corporation Search-based system management
US8302014B2 (en) 2010-06-11 2012-10-30 Microsoft Corporation Merging modifications to user interface components while preserving user customizations
KR20120010047A (ko) * 2010-07-23 2012-02-02 삼성전자주식회사 이메일 처리 방법 및 장치
US9165285B2 (en) 2010-12-08 2015-10-20 Microsoft Technology Licensing, Llc Shared attachments
US9251508B2 (en) 2010-12-09 2016-02-02 At&T Intellectual Property I, L.P. Intelligent message processing
US9137185B2 (en) 2011-04-28 2015-09-15 Microsoft Technology Licensing, Llc Uploading attachment to shared location and replacing with a link
US10552799B2 (en) 2011-04-28 2020-02-04 Microsoft Technology Licensing, Llc Upload of attachment and insertion of link into electronic messages
US8682989B2 (en) 2011-04-28 2014-03-25 Microsoft Corporation Making document changes by replying to electronic messages
US11308449B2 (en) 2011-04-28 2022-04-19 Microsoft Technology Licensing, Llc Storing metadata inside file to reference shared version of file
US10185932B2 (en) 2011-05-06 2019-01-22 Microsoft Technology Licensing, Llc Setting permissions for links forwarded in electronic messages
US9390149B2 (en) 2013-01-16 2016-07-12 International Business Machines Corporation Converting text content to a set of graphical icons
RU2595533C2 (ru) * 2013-10-02 2016-08-27 Общество С Ограниченной Ответственностью "Яндекс" Система отображения почтовых вложений на странице веб-почты
US10582005B2 (en) 2016-06-24 2020-03-03 Airwatch Llc Architecture for performing actions in a third-party service by an email client
US11032220B2 (en) 2016-06-24 2021-06-08 Airwatch Llc Architecture for performing actions in a third-party service by an email client
US10484324B2 (en) 2016-10-02 2019-11-19 Vmware, Inc. Hero cards that display contextual information and actions for backend systems
US11340961B2 (en) 2017-03-23 2022-05-24 Airwatch Llc Dynamically integrating a client application with third-party services
CN108694207B (zh) * 2017-04-11 2022-04-01 Tcl科技集团股份有限公司 一种文件图标的显示方法及系统
CN112947974B (zh) * 2021-04-12 2022-10-28 平安国际智慧城市科技股份有限公司 桌面图标更新方法、装置、设备及计算机可读存储介质

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5906656A (en) 1991-12-26 1999-05-25 International Business Machines Corporation Method and system for providing actions by way of electronic distributions
US5752059A (en) * 1992-12-29 1998-05-12 Apple Computer, Inc. Apparatus and method for representing electronic mail
US5452289A (en) 1993-01-08 1995-09-19 Multi-Tech Systems, Inc. Computer-based multifunction personal communications system
US5734901A (en) * 1993-02-26 1998-03-31 Apple Computer, Inc. Electronic mail information associated with native application data
JP3150246B2 (ja) * 1993-12-09 2001-03-26 キヤノン株式会社 データ管理方法及び装置
US5890130A (en) 1994-02-04 1999-03-30 International Business Machines Corporation Workflow modelling system
CA2122573A1 (en) 1994-04-13 1995-10-14 John M. Pratt Dynamic electronic mail facility for applications executing in an integrated operating environment
JPH08180003A (ja) * 1994-12-22 1996-07-12 Hitachi Ltd 電子メールシステム
US5826269A (en) 1995-06-21 1998-10-20 Microsoft Corporation Electronic mail interface for a network server
US5706434A (en) 1995-07-06 1998-01-06 Electric Classifieds, Inc. Integrated request-response system and method generating responses to request objects formatted according to various communication protocols
JPH09134319A (ja) * 1995-10-03 1997-05-20 Sony Electron Inc パーソナル通信ルーティングシステムのユーザインターフェース及びルール処理
US5889518A (en) 1995-10-10 1999-03-30 Anysoft Ltd. Apparatus for and method of acquiring, processing and routing data contained in a GUI window
US5956486A (en) 1995-12-20 1999-09-21 Hickman; Paul Lawrence Method and apparatus for monitoring multiple electronic mail systems
US5826062A (en) * 1996-05-30 1998-10-20 International Business Machines Corporation Method and apparatus for converting and displaying a multimedia document at a client
US5818447A (en) 1996-06-06 1998-10-06 Microsoft Corporation System and method for in-place editing of an electronic mail message using a separate program
US5917489A (en) * 1997-01-31 1999-06-29 Microsoft Corporation System and method for creating, editing, and distributing rules for processing electronic messages
US5995756A (en) 1997-02-14 1999-11-30 Inprise Corporation System for internet-based delivery of computer applications
US6014688A (en) 1997-04-25 2000-01-11 Postx Corporation E-mail program capable of transmitting, opening and presenting a container having digital content using embedded executable software
US5974449A (en) 1997-05-09 1999-10-26 Carmel Connection, Inc. Apparatus and method for providing multimedia messaging between disparate messaging platforms
US6189026B1 (en) * 1997-06-16 2001-02-13 Digital Equipment Corporation Technique for dynamically generating an address book in a distributed electronic mail system
US6088696A (en) * 1997-09-29 2000-07-11 Ericsson Inc. Mailing/filing system for congruently categorizing different types of electronic mail resources received through a messaging system
US6073166A (en) * 1997-10-14 2000-06-06 Maila Nordic Ab System for transfer of data
US6092114A (en) * 1998-04-17 2000-07-18 Siemens Information And Communication Networks, Inc. Method and system for determining the location for performing file-format conversions of electronics message attachments
US6205432B1 (en) * 1998-06-05 2001-03-20 Creative Internet Concepts, Llc Background advertising system
US6192396B1 (en) * 1998-08-11 2001-02-20 Canon Kabushiki Kaisha Electronic mail with recipient-specific content
US6249807B1 (en) * 1998-11-17 2001-06-19 Kana Communications, Inc. Method and apparatus for performing enterprise email management
US6360252B1 (en) * 1999-09-20 2002-03-19 Fusionone, Inc. Managing the transfer of e-mail attachments to rendering devices other than an original e-mail recipient

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8037074B2 (en) 2007-07-02 2011-10-11 Onkyo Corporation Content type registration apparatus and content type registration program
JP2009230542A (ja) * 2008-03-24 2009-10-08 Toshiba Corp 電子機器

Also Published As

Publication number Publication date
AU2001271493A1 (en) 2002-01-08
EP1410220A1 (en) 2004-04-21
CN1292358C (zh) 2006-12-27
US6546417B1 (en) 2003-04-08
CN1449525A (zh) 2003-10-15
WO2002001373A1 (en) 2002-01-03
CA2423407A1 (en) 2002-01-03

Similar Documents

Publication Publication Date Title
JP2004502239A (ja) Mimeタイプを識別し異なるアイコンを表示する方法及び装置を含む機能拡張された電子メールシステム
US7062536B2 (en) Grouping electronic reply messages
KR101169080B1 (ko) 전자 메일 메시지의 첨부물을 미리보기하고 그에 대하여동작을 수행하기 위한 방법 및 컴퓨터 판독 가능 매체
US5956486A (en) Method and apparatus for monitoring multiple electronic mail systems
US5283856A (en) Event-driven rule-based messaging system
US8510664B2 (en) Method and system for displaying email thread information
US7076730B1 (en) Electronic mail software with modular integrated authoring/reading software components
US7603424B2 (en) Method and system for generating template replies to electronic mail messages
US8543656B2 (en) Enhancement of E-mail client user interfaces and E-mail message formats
US6304897B1 (en) Method of processing an E-mail message that includes a representation of an envelope
US8108206B2 (en) Auto-generated to-do list
US6526413B2 (en) Architecture for a hierarchical folder structure in hand-held computers
US7707591B2 (en) Integration of audio or video program with application program
US20230259247A1 (en) Data entry for an application
US6606649B1 (en) Application programming interface functions for supporting an improved message store for hand-held computers
US20040068545A1 (en) Displaying and working with email attachments
US8032553B2 (en) Email integrated task processor
US20110119338A1 (en) Email composition and processing
EP1182600A2 (en) Methods and apparatus for previewing multimedia attachments of electronic messages
US7346660B2 (en) Method and system for managing and retrieving data
JPH09200254A (ja) 電子メール表示装置
WO2000048099A2 (en) Messaging architecture
US20070049302A1 (en) Method and System for Handling Files with Mobile Terminals and a Corresponding Computer Program and a Corresponding Computer-Readable Storage Medium
EP2088516A1 (en) Method and system for generating template replies to electronic mail messages
US20070239836A1 (en) Method for Providing a Memo Function in Electronic Mail Service