This document: http://www.w3.org/TR/NOTE-agent-attributes-971230.html
Authors:
Tomihisa Kamada, ACCESS Co.,Ltd.,
tomy@access.co.jp
Tomohiko Miyazaki, ACCESS Co.,Ltd.,
miyazaki@access.co.jp
This document is based on the public recommendation proposed by EIA(Easy Internet Association in Japan) in September 1997. EIA promotes the consumer Internet market both from the side of services and from the side of information appliances.
Appendix Table of User-Agent Attributes Specification
(1) Minimize network traffic (High speed communication)
(2) Best fit web pages
For example, when a client like low-cost PDA can display only mono-color texts and images, it is definitely better to send mono-color web pages from the server to the client, which can reduce the bytes of page data through the network. This is, in fact, beneficial to users both in performance and in communication cost, especially in the case of low-band wireless network. When a client has limited display space like 320 x 240(1/4 VGA: normal size of car navigation display), web pages fit for this size would be better. When an Internet-TV has only a remote controller as the input device, web pages designed for easy operation with a remote controller are required.
Several information providers are going to start the services focusing on consumer Internet devices (non-PC devices). The common definition and rule for client-specific services, on which these information providers can rely, is required.
The client reports useful "User Agent Attributes" to the server with the content request. The server recognizes the properties of a connected client, and understands how the client browser works. Then, the server sends the suitable HTML contents to the client.
User-Agent: AVE-Front/2.0
(BrowserInfo Screen=640x480x256; InputMethod=REMOCON,KEYBOARD; Page=512K;
Product=XXXX/Internet-TV; HTML-Level=3.2; Language=ja.JIS; Category=TV; CPU=SH2; Storage=NO;)
The client property information is defined as the following Prof_def.
Prop_def = "(" "BrowserInfo" Prop_items ")"
Prop_items = Prop_item | Prop_items Prop_item
Prop_item = Prop_name "=" Prop_value ";"
Prop_name = STRING
Prop_value = STRING
The upper case and lower case in describing Prop_name and Prop_value have to be discriminated.
Prop_name | = "Screen" | "InputMethod" | "Page" | "Product" | "HTML-Level" | "Language" | "Category" | "CPU" | "Storage" |
Several values are defined for respective properties below. In the cases of some properties, it is difficult to define without ambiguity. The proposed properties and values intend to give useful cues to the contents providers. The properties "Screen", "InputMethod", "Page", "Product", and "HTML-Level" are strongly recommended.
(1) Screen
The Screen property represents the screen size and the number of colors. The values are defined as the format: width (pixels) "x" height (pixels) "x" colors.
The representative screen sizes are 800x600, 640x480, 480x240, and 320x240.
The color variations are defined one of the following values;
Example: | Screen=320x240x4 (Quarter VGA size screen with 4 gray scale colors) |
Screen=640x480x64K (VGA size screen with 16-bit colors) |
(2) InputMethod
The InputMethod property represents which input methods are available for the browser operation.
The values are defined as one or some of the following values;
Example: | InputMethod=PEM, KEYBOARD (typical word processors) |
InputMethod=REMOCON (typical TVs) |
For example, in the case of the products like Internet-TVs with only REMOCON (remote controller), the web pages designed for easy operation with left, right, up, down buttons are required. And, clickable maps should be avoided because it is difficult to operate by using a remote controller.
(3) Page
The Page property represents the memory capacity for web page buffer. The value is defined as K bytes unit or M bytes unit.
Example: | Page=512K |
Page=1M |
(4) Product
The Product property represents the information of the client product. The values are defined as the format: manufacturing company name/product name.
Example: | Product= XXX/InternetTV97 |
Product=YYY/NaviT32 |
(5) HTML-Level
The HTML-Level property represents which level of HTML is supported by the client. The values are defined as one of the following values;
Example: | HTML-Level=3.2 |
HTML-Level=2.0 |
We are going to add the subset levels of compact HTML for small information appliances such as smart phones.
(6) Language
The Language property represents the information of language which the client prefers to receive.
The values are defined as LANGUAGE_TERRITORY.CODESET, where LANGUAGE(lower case) and
TERRITORY(upper case) are defined by
ISO 639
and
ISO 3166
respectively, and CODESET(upper case) is followed by "." if necessary.
Example: | Language=ja.SJIS (Japanese (SJIS Code)) |
Language=zh_CN(mainland Chinese) |
(7) Category
The Category property represents the category of the client product. The values are defined as follows;
Example: | Category=PDA |
The Category property is actually required from the service companies. For example, when a service company wants to provide the PDA-specific web services, this property may be useful.
(8) CPU
The CPU property represents the CPU type which the product uses. The values are defined as follows;
Example: | CPU=SH3 |
When new chips are available, suitable values should be added. The CPU property is used to download the executables such as plug-in software and the browser (version up). The users of consumer information appliances are general end users, and they do not have enough knowledge about the hardware and software. It is, therefore, required to download the right module automatically by the client-server negotiation.
(9) Storage
The Storage property represents the availability and the size of the secondary data storage.
The local storage such as flash memory, hard disk, or floppy disk is used for "push" type Internet services.
The value is defined in the same way as the Page property. In the case of no storage, the value NO is used.
Example: | Storage=NO | |
Storage=1M |
When local property extensions are required for some products, X-yyyy property name is recommended.
In this document, we have presented a simple framework for client-specific web services and its practical implementation. There might be other possible implementations like pre-registration of User Agent Attributes or "Transparent Content Negotiation Mechanism" proposed in [2]. We are also planning to propose the IETF that the client properties should be reported from the client (user agent) in User-Agent or Accept-Features header in the future HTTP version.
[1] | R. Fielding, J. Gettys, J. C. Mogul, H. Frystyk, and T. Berners-Lee, HyperText Transfer Protocol - HTTP/1.1. RFC2068, HTTP Working Group, Jan. 1997. | |
[2] | K. Holtman and A. Mutz, Transparent Content Negotiation in HTTP, Internet-Draft, Mar. 1997. | |
[3] | D. Connolly, PEP: an Extension Mechanism for HTTP, Internet-Draft, Mar. 1997. |
We would like to thank to the EIA Tech-WG members listed below for the discussions and promotions. We are grateful to Hiroshi Nagaoka (OMRON Co.) for his suggestions of the Language property, and to Hideki Sakamoto (NTT) for his helpful comments and suggestions.
In addition, we would like to thank to Prof. Nobuo Saito (KEIO University) and other W3C members for their supports and suggestions. Finally special thanks to the manufacturing companies of information appliances using our NetFront browser (supporting the User-Agent attributes based on this document): CASIO, EPSON, Fujitsu, JVC, Matsushita, Mitsubishi, NEC, SHARP, SII, and SONY. Also thanks to Recruit which realizes the web services using this framework.
Company | Name |
---|---|
ACCESS Co.,Ltd. | Tomihisa Kamada |
ACCESS Co.,Ltd. | Masahito Koike |
ACCESS Co.,Ltd. | Hiroshi Suzuki |
ACCESS Co.,Ltd. | Tomohiko Miyazaki |
Easy Internet Association | Nozomi Naka |
NEC Home Electronics, Ltd. | Takeshi Saito |
NEC Home Electronics, Ltd. | Kenji Kageyama | NEC Home Electronics, Ltd. | Toshiharu Ikeda |
CASIO Computer Co., Ltd. | Satoshi Ogasawara |
CASIO Computer Co., Ltd. | Masaru Sakata |
Seiko Epson Co. | Hidekazu Maezawa |
Nippon Telegraph and Telephone Co. (NTT) | Masaru Nonaka |
Mitsubishi Electric Co. | Yasutaka Urakawa |
Recruit Co., Ltd. | Takashi Yamamoto |
User-Agent Attributes | Prop_name | Prop_value | Priority |
---|---|---|---|
Screen size | Screen | 800x600, 640x480, 480x240, 320x240, 240x160, ... | Recommended |
Colors | Screen | 2, 4, 8, 16, 32, 64, 128, 256, 32K, 64K, 16M | Recommended |
Input Method | InputMethod | PEN, KEYBOARD, MOUSE, REMOCON, BUTTON, JOG, ... | Recommended |
Memory Capacity | Page | 512K, 800K, 1M, 1.2M, 1.5M, ... | Recommended |
Product Information | Product | Manufacturer/Product | Recommended |
HTML Level | HTML-Level | 1.1, 2.0, 3.2, 4.0, ... | Recommended |
Preferred Language | Language | LANGUAGE_TERRITORY.CODESET | Optional |
Product Category | Category | TV, WP, PDA, Phone, PHS, Display, CarNavi, STB, ... | Optional |
CPU Type | CPU | x86, 68000, SH1, SH2, SH3, SH4, ARM7, ARM8, M32R, V810, V830, Vr4100, Vr4300, R3000, R4000, PowerPC, ... | Optional |
Secondary Storage | Storage | NO, 512K, 1M, 2M, ... | Optional |
Example
User-Agent: Mozilla/3.0N AVE-Front/2.0
(BrowserInfo Screen=640x480x256; InputMethod=REMOCON, KEYBOARD; Page=512K;
Product=XXXX/Internet-TV; HTML-Level=3.2; Language=ja.JIS; Category=TV; CPU=SH2; Storage=NO; )