Structure of User Interface Module for Practical Internet Messages

Morioka Tomohiko

JAIST, Hokuriku; 1-1 Asahidai, Tatsunokuchi, Nomi, Ishikawa, 923-12, Japan

                   E-mail:  morioka@jaist.ac.jp

MIME offers structures like “multipart”[2] for messages. Structured messages may form a tree and in that case the node of the tree is called “entity”[1]. Each entity has a type known as “media-types”[1] for representing the data type. Conventional MUAs (Message User Agent; mail reader, news reader, etc.) provide the features necessary for message navigation. However, they do not provide any feature for navigating the entities and therefore, some kind of mapping between the message and the entity hierarchy is required. Moreover, as the conventional MUAs can not process the entities itself, the MIME module has to be employed for processing the entities. The processing is normally defined by a mapping between media-type and program. However, entity processing is not depended on media-type alone. Hence, a simple mapping between media type and program is not adequate. In the present study, the notion of “acting situation model” is proposed to overcome the above mentioned problems of the conventional MUAs. Instead of the simple mapping between media-type and program; a generlaized MIME processing module is designed based on the “acting situation model”. The proposed system is implemented on GNU Emacs and its variants, namely “tm”[3] and “SEMI”[4].

1 Mapping between a message and its entities

Traditional Internet messages are limited to plain text. Hence, conventional MUAs do not require complex message processing. They ignore the internal structure and simply manage messages. Therefore, the proposed MIME processing module must provide the adequate features to process and manage the hierarchy of entities, and at the same time it has to offer an interface between a message and its structure. In the present approach, SEMI and tm employ the “preview” function for supporting these functions. Entity related information are embedded for allowing the user to navigate entities in preview. Tm and SEMI manage the mapping between a message and its preview. The interface modules between MIME processing module and MUAs replace the display for a message of original MUAs by its preview. Preview functions as a message display for MUAs and therefore, MIME processing features are added to the message features of the original MUAs.

2 Acting situation model

An “Acting situation” consists of (1) information of entities specified by the header (ex. Content-Type[1]), (2) conditions related to program execution, (3) operation type and (4) information related to MUA type. “Acting situation” is generated by the operation on entity. In case of tm and SEMI, an acting situation is represented by the association list: ((t_{1}.v_{1})(t_{2}.v_{2})...(t_{n}.v_{n})). An acting situation consists attributes with type t_{i} and value v_{i}. During an operation on entity, tm or SEMI generates the draft for acting situation with the help of (1),

(3) and (4) (They are unique and therefore they are simply appended). Finally the appropriate condition is retrieved from (2) and it is compared with the draft of acting situation. For example, if the draft for action situation is:

        ((media-type . message)(media-subtype . partial)("number" . "2")
         ("total" . "3")("id" . "foo@tsukuyomi.jaist.ac.jp")
         (mode . play)(major-mode . gnus-original-article-mode))

and

        ((media-type . message)(media-subtype . partial)
         (method . mime-combine-message/partials-automatically)
         (major-mode . gnus-original-article-mode)
         (summary-buffer-exp . gnus-summary-buffer))

is matched with the list of conditions (2), then

        ((media-type . message)(media-subtype . partial)
         ("number" . "2")("total" . "3")
         ("id" . "foo@tsukuyomi.jaist.ac.jp")
         (mode . play)(major-mode . gnus-original-article-mode)
         (method . mime-combine-message/partials-automatically)
         (summary-buffer-exp . gnus-summary-buffer))

will be generated as the acting situation. Next, the program specified by the ‘method’ attribute is executed. The remaining attributes are to be referenced by the program.

3 Conclusion

The proposed MIME processing module employs preview for providing an adequate mapping mechanism between a message and its hierarchy of entities. The functions of the proposed MIME processing module should be consistent with the original functions of MUAs. The acting situation model allows the user to specify conditions along with various factors. In the proposed method the acting situation is generated dynamically, hence it is flexible. However present implementation of the model might generate wrong acting situation. Therefore, the subject is to be farther investigated.

References

[1] Freed, N. and Borenstein, N., “Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies”, RFC 2045, 1996-02-12.

[2] Freed, N. and Borenstein, N., “Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types”, RFC 2046, 1996-12-02.

[3] ftp://ftp.jaist.ac.jp/pub/GNU/elisp/mime/

[4] ftp://ftp.jaist.ac.jp/pub/GNU/elisp/mime/alpha/

[5] Borenstein, N., “A User Agent Configuration Mechanism For Multimedia Mail Format Information”, RFC 1524, 1993-09-23.