KR20040048933A - 사용자 인터페이스를 스타일링하는 방법 및 적응성 사용자인터페이스를 구비한 디바이스 - Google Patents

사용자 인터페이스를 스타일링하는 방법 및 적응성 사용자인터페이스를 구비한 디바이스 Download PDF

Info

Publication number
KR20040048933A
KR20040048933A KR10-2004-7004966A KR20047004966A KR20040048933A KR 20040048933 A KR20040048933 A KR 20040048933A KR 20047004966 A KR20047004966 A KR 20047004966A KR 20040048933 A KR20040048933 A KR 20040048933A
Authority
KR
South Korea
Prior art keywords
user interface
style information
style
node
tree
Prior art date
Application number
KR10-2004-7004966A
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 KR20040048933A publication Critical patent/KR20040048933A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • 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
    • G06F9/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Transfer Between Computers (AREA)
  • Digital Computer Display Output (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

디바이스(400)를 위한 사용자 인터페이스를 스타일링하는 방법 및 적응성 사용자 인터페이스를 구비한 디바이스(400). 사용자 인터페이스에 대한 스타일 정보가 수신된다. 이 스타일 정보는 계층 트리 내의 노드들과 연계되고, 트리 내의 각 코드는 디바이스 특징에 대응한다. 각 노드는 페어런트 노드보다 더 특정한 디바이스 특징에 대응한다. 계층 트리 내의 가장 잘 일치하는 노드가 선택되고, 선택된 노드 및 선택된 노드의 모든 페어런트들을 위한 스타일 정보가 수집된다. 수집된 스타일 정보는 그후 사용자 인터페이스에 적용된다.

Description

사용자 인터페이스를 스타일링하는 방법 및 적응성 사용자 인터페이스를 구비한 디바이스{Method of styling a user interface and device with adaptive user interface}
확장형 마크업 언어(XML)는 매우 다양한 목적들을 위해 사용될 수 있다. 이들 목적들 중 하나는 사용자 인터페이스들의 정의이다. 버튼들, 슬라이더들, 체크박스들, 라디오 버튼들 등 같은 엘리먼트들을 가지는 사용자 인터페이스의 요약 정의는 바람직하게는, 일부 문서 유형 정의(DTD) 또는 도표에 첨부하여, XML 문서를 사용하여 제공될 수 있다. 이 방식으로, XML 문서를 분석하고, 지시된 사용자 인터페이스 엘리먼트들을 렌더링함으로써, 사용자 인터페이스는 다른 클라이언트 디바이스들, 즉, 사용자에게 사용자 인터페이스를 생성 및 제시하는 디바이스들 상에 쉽게 생성될 수 있다.
사용자 인터페이스 정의 문서에 제공된 사용자 인터페이스를 렌더링하기를 원하는 클라이언트 디바이스는 일반적으로 사용자 인터페이스 엘리먼트들의모양(look) 및 느낌(feel), 또는, 보다 일반적으로는 스타일을 렌더링하는 부가 정보를 필요로 한다. 일반적으로, 이 정보는 소위 스타일 시트들에 제공되어 있다. CSS 또는 DSSSL 같은 언어를 사용하여, 버튼의 폰트 또는 색상이나 스크린상의 체크박스의 위치 같은 스타일 특성들이 쉽게 정의될 수 있다.
스타일 정의들에 유연성을 제공하기 위해, 모듈식 접근법이 사용될 수 있다. 하나의 단일 스타일 시트 문서를 제공하는 대신, 스타일 정보는 다양한 문서들로 분리된다. 이 방식으로, 사용되는 폰트 같은 포괄 스타일 정의들은 포괄 스타일 시트 문서에 제공될 수 있고, 스크린상의 윈도우 내의 사용자 인터페이스 엘리먼트들의 위치 같은 플랫폼 지정 스타일 정의들은 지정 스타일 시트 문서들에 제공될 수 있다.
클라이언트 디바이스가 그 특정 플랫폼에 적용할 수 있는 모든 스타일 정의들을 사용할 수 있도록, 다양한 스타일 시트 문서들이 함께 제공될 필요가 있다. 한가지 해법은 스타일 시트들의 목록을 그 의도된 용도의 표시와 함께 사용자 인터페이스 정의 내에 제공하는 것이다. 예로서, 인쇄용 스타일 시트, 온-스크린 디스플레이용 스타일시트 및 대화 합성기용 스타일시트와 함께 포괄 스타일 시트를 제공한다.
다른, 보다 유연한 해법은 하나의 스타일 시트 문서의 참조를 다른 것에 삽입하는 것을 포함한다. 예로서, CSS에서, 이는 "@import" 명령문을 사용하여 이루어진다. 지정 스타일 정보를 가지는 스타일 시트는 다른 것, 일반적으로는 보다 포괄적인 스타일 시트를 조회하기 위해 "@import" 명령문을 사용할 수 있다. 이 방식으로, 다수의 다른 지정 스타일 시트 문서들이 보다 포괄적인 스타일 시트내의 정의들로부터 모든 이득을 얻을 수 있다.
이 메커니즘을 사용하여, 공급자는 하나 이상의 포괄 스타일 시트들과 함께 다른 플랫폼들을 위해 다른 지정 스타일 시트들을 가용하게 할 수 있다. 이때, 이 지정 스타일 시트들은 참조에 의해 포괄 스타일 시트(들)를 포함한다. 이때, 특정 플랫폼상의 클라이언트 디바이스는 그 특정 플랫폼을 위한 지정 스타일 시트 및 사용자 인터페이스 정의와, 이 지정 스타일 시트에 참조된 소정의 포괄 스타일 시트들을 다운로드한다. 그후, 클라이언트 디바이스는 사용자 인터페이스를 생성 및 렌더링한다.
이 접근법의 고유한 문제점은 클라이언트 디바이스가 그 특정 플랫폼을 위한 지정 스타일 시트를 필요로 한다는 것이다. 이는 공급자가 모든 가능 플랫폼을 위한 지정 스타일 시트를 가용하게 하여야 할 필요가 있다는 것을 의미하며, 이는 거의 불가능하다. 물론, 클라이언트 디바이스가 또한 포괄 스타일 시트를 직접적으로 다운로드할 수 있지만, 그러나, 이때, 소정의 플랫폼-지정 스타일 정보를 누락하게 된다.
이 문제의 한가지 요인은 스타일 정보가 실질적으로 임의의 형태로 조직화된다는 사실에 있다. 예로서, 640x480-화소 디스플레이를 위한 스타일 정보를 수평-배향(landscape-oriented) 디스플레이를 위한 스타일 정보와 링크하는 어떠한 의미론적 정보도 존재하지 않는다. 클라이언트 디바이스는 그 특정 기능들과 관련될 수 있는 소정의 스타일 정보가 존재하는지 여부를 알기 위해 모든 스타일 정보를 처리하여야만 한다. 이는 매우 비효율적이다.
본 발명은 디바이스를 위한 사용자 인터페이스를 스타일링하는 방법에 관한 것이다. 또한, 본 발명은 적응성 사용자 인터페이스를 구비한 디바이스 및 컴퓨터 프로그램 제품에 관한 것이다.
도 1은 서버 및 몇몇 클라이언트들을 포함하는 시스템을 도시하는 개략도.
도 2는 서버를 보다 세부적으로 도시하는 개략도.
도 3은 스타일 정보의 계층 조직화된 그룹화를 도시하는 개략도.
도 4는 클라이언트를 보다 세부적으로 도시하는 개략도.
본 발명의 목적은 스타일 정보의 보다 효과적인 처리를 가능하게 하는, 서두에 따른 방법을 제공하는 것이다.
이 목적은 본 발명에 따라, 사용자 인터페이스에 대한 스타일 정보를 획득하는 단계, 계층 트리 내의 노드를 선택하는 단계, 선택된 노드 및 선택된 노드의 모든 페어런트들(praents)을 위한 스타일 정보를 수집하는 단계 및 수집된 스타일 정보를 사용자 인터페이스에 적용하는 단계를 포함하는 방법으로 달성되며, 이 스타일 정보는 계층 트리 내의 노드들과 연계되어 있고, 트리 내의 각 노드는 디바이스 특징에 대응하며, 여기서, 차일드 노드(child node)는 페어런트 노드(parent node)보다 더 특정한 디바이스 특징에 대응한다.
계층 트리 구조를 사용하는 것은 스타일 정보를 자동으로 처리하는 것이 보다 용이하다는 장점을 가진다. 디바이스 특징들의 단순한 계층 조직화는 "수직-배향 디스플레이" 및 "수평-배향 디스플레이"로 세분된 "그래픽 디스플레이"에서 시작할 수 있다. 카테고리 "수평-배향 디스플레이"는 예로서, "4:3 비율 디스플레이" 및 "16:9 디스플레이"로 추가로 세분될 수 있다. 그리고, 순차적으로, "4:3 비율 디스플레이는 640 x 480 또는 800 x 600 같은 지정 해상도들로 세분될 수 있다.
이제, 주어진 디바이스 특징과 일치하는 노드들을 트리로부터 선택함으로써 디바이스 특징들에 기초한 스타일 정보를 수집할 수 있다. 또한, 선택된 노드의 페어런트들(직접적 페어런트 노드뿐만 아니라 그랜드페어런트 노드들, 그랜드-그랜드페어런트 노드 등도 포함)와 연계된 스타일 정보를 수집함으로써 주어진 디바이스의 특징들에 직접적으로 일치하지 않는 관련 스타일 정보를 수집하는 것도 가능하다.
예로서, 640x480 화소 디스플레이를 가지는 디바이스는 위에 주어진 예시 계층 조직 트리 내의 "640x480 화소 디스플레이를 위한 노드의 스타일 정보를 수집할 뿐만 아니라, "4:3 비율 디스플레이", "수평-배향 디스플레이" 및 "그래픽 디스플레이"를 위한 노드들의 스타일 정보도 수집하며, 그 이유는 이들 노드들 모두가 640x480 화소 디스플레이를 가지는 디바이스에 의해 일치되는 디바이스 특징들을 나타내기 때문이다. 이들 노드들은 노드 "640x480 화소 디스플레이"에 대한 페어런트이며, 그래서, 즉시 그 스타일 정보가 식별될 수 있고, 그 스타일 정보가 액세스될 수 있다.
일 실시예에서, 선택된 노드는 디바이스와 일치하는 디바이스 특징에 대응한다. 선택된 노드는 스타일 정보를 수집하기 위한 기준점으로서 기능할 수 있다. 디바이스 특징들이 계층 트리에 따라 조직화되기 때문에, 선택된 노드의 모든 페어런트 노드들이 디바이스와 일치하는 디바이스 특징들에 대응하여야만 한다. 그후, 이 스타일 정보가 수집되어야 한다.
본 실시예의 변형에서, 선택된 노드는 디바이스와 일치하는 디바이스 특징에 대응하는 트리 내의 최하위 노드이다. 이 방식으로, 디바이스를 위한 최대 관련 스타일 정보가 수집되는 것이 보증된다.
다른 실시예에서, 트리의 제 1 레벨의 스타일 정보는 제 1 스타일 시트 문서에서 가용화되고, 제 1 레벨 보다 낮은, 트리의 제 2 레벨의 스타일 정보는 제 2 스타일 시트 문서에서 가용화되며, 제 2 스타일 시트 문서에 대한 링크가 제 1 스타일 시트 문서에 제공된다.
이 형태에서, 역시 가용할 수 있는 소정의 지정 스타일 시트들에 무관하게, 시작점으로서 기능하는 단일 스타일 시트가 항상 존재한다. 제 1 스타일 시트로부터 제 2 스타일 시트로의 링크는 클라이언트 디바이스가 보다 특정한 스타일 정보를 액세스할 수 있게 한다. 다수의 제 2 레벨 시트들로의 다수의 링크들이 또한 제공되어 클라이언트 디바이스에게 그 특징들에 기초하여 어떠한 것을 사용할 것인지에 대한 선택을 제공한다.
이 실시예는 스타일 정보의 재사용을 보다 쉽게 하여 더욱 유리하다. 스타일 정보가 계층 트리에 따라 제공되어야만 하기 때문에, 보다 포괄적인 스타일 정보는 보다 특정한 스타일 정보와 연계된 노드들보다 트리 내에서 보다 높게 존재하는 노드들과 연계된다. 이때, 보다 포괄적인 스타일 정보는 제 1 스타일 시트 문서에 제공되고, 보다 특정한 스타일 정보는 제 2 스타일 시트 문서에 제공될 수 있다. 이는 포괄 스타일 정보가 재사용될 수 있게 한다.
이 실시예의 변형에서, 제 2 스타일 시트 문서로의 링크는 제 2 스타일 시트 문서내의 스타일 정보와 연계된 노드의 페어런트를 나타내는 언어 엘리먼트의 범주내의 링크 엘리먼트를 통해 제공된다. XML은 정보를 마크업하기 위한 실질적 표준이며, 그래서, 여기서 XML을 사용하는 것이 적합하다.
이 형태의 링크를 제공함으로써, CSS, XSL 또는 DSSSL 같은 종래 기술 시스템들의 경우처럼 매 디바이스를 위해 하나의 지정 스타일 시트 문서에 기초하는 대신, 개별 디바이스 특징들에 기초한 스타일 정보의 종속이 가능해진다. 이는 보다 큰 유연성을 제공한다.
다른 실시예에서, 본 방법은 상단 노드로부터 선택된 노드까지 트리 내의 최단 경로를 결정하고, 최단 경로상의 노드들과 연계된 스타일 정보를 수집하는 것을 포함한다. 이 실시예는 이제 단지 최단 경로상의 노드들만이 수반되기 때문에, 스타일 정보의 선택적 수집을 가능하게 한다. 다른 노드들은 모두 생략될 수 있다. 이는 처리될 스타일 정보의 양을 감소시킨다.
스타일 정보는 예로서, 상속 또는 종속을 통해 병합될 필요가 있을 수 있다. 최단 경로 외측의 노드들을 생략함으로써, 무관한 고려대상 스타일 정보의 양이 감소된다. 또한, 스타일 정보가 복수의 스타일 시트 문서들에서 가용화되는 경우에, 이때, 액세스될 필요가 있는 스타일 시트 문서들의 수를 최단 경로내의 노드들을 위한 스타일 정보를 포함하는 문서들로 감소시킨다.
본 실시예의 변형에서, 본 방법은 상단 노드와 함께 시작하여 스타일 정보를 수집하는 것을 더 포함한다. 이 방식으로, 트리 내에 하나의 알려진 진입점이 항상 존재하게 되며, 선택된 노드가 트리 내의 어디에 위치되어 있는지를 알 필요가 없다.
다른 실시예에서, 선택된 스타일 정보는 수집된 스타일 정보를 사용자 인터페이스에 적용하기 이전에 디바이스로 전송된다. 이는 스타일링 대상 사용자 인터페이스가 위치하는 (클라이언트) 디바이스 내가 아닌, 서버 내에 스타일 정보를 수집할 수 있게 한다.
클라이언트 디바이스들은 예로서, 그들이 배터리 구동식이거나, 단지 한정된 메모리, CPU 처리 파워나 스타일 정보의 전송을 위한 가용 대역폭을 가지기 때문에, 그 처리 기능들이 제한될 수 있다. 이때, 결과만 클라이언트에 전송되면 되도록 보다 높은 처리 기능들을 가지는 서버상에 스타일 정보를 수집하는 것이 유리하다. 이때, 클라이언트는 단지 그 사용자 인터페이스로 수집된 스타일 정보를 적용하기만 하면 되며, 이는 보다 적은 처리 전력을 소요한다. 또한, 이제 단지 직접적인 관련 스타일 정보만이 클라이언트로 전송되기 때문에, 대역폭도 절감된다.
이들 및 본 발명의 다른 양태들은 도면에 도시된 실시예들을 참조로 명백 및 명백해질 것이다.
도면들 전반에 걸쳐, 동일한 참조 번호들은 유사 또는 대응 특징들을 지시한다. 도면들에 표시된 특징들 중 일부는 일반적으로 소프트웨어로 구현되며, 이는 소프트웨어 모듈들 또는 객체들 같은 소프트웨어 엔티티들을 나타낸다.
도 1은 본 발명에 따른 시스템(100)을 개략적으로 도시한다. 시스템(100)은인터넷 또는 지역 네트워크(LAN) 같은 네트워크(110)에 연결된다. 또한, 네트워크에는 다양한 클라이언트들 : 랩톱 컴퓨터(120), 데스크톱 컴퓨터(125), 이동 전화(130) 및 수지식(handheld) 컴퓨터(135)가 연결되어 있다.
컴퓨터들(120, 125)은 예로서, 이더넷, IEEE 1394 또는 다이얼-업 접속을 통한 네트워크(110)에 대한 유선 접속을 가진다. 이동 전화(130) 및 수지식 컴퓨터(135)는 예로서, 블루투스 비콘(131)을 경유한, 또는 네트워크(110)에 연결된 기지국에 접속하기 위해 GSM, DECT, GPRS 또는 UMTS 접속을 사용하여 네트워크(110)에 대한 무선 접속을 가진다. 디지털 텔레비전, DVD 플레이어/리코더 또는 다른 CE 디바이스 같은 다른 디바이스들도 네트워크(110)에 연결될 수 있다.
도 2는 서버(101)를 보다 상세히, 개략적으로 도시한다. 서버(101)는 다운로드를 위해 가용한 정보가 저장되어 있는 저장 매체(200)를 포함한다. 본 발명에 따라, 저장부(200)는 사용자 인터페이스 정의 문서(210), 제 1 스타일 시트 문서(211) 및 제 2 스타일 시트 문서(212)를 포함한다.
사용자 인터페이스 정의 문서(210)는 하나 이상의 클라이언트들(120, 125, 130, 135)에 의해 다운로드될 수 있으며, 그후, 클라이언트들(120, 125, 130, 135)상에 사용자 인터페이스를 생성하기 위해 사용될 수 있다. 이 사용자 인터페이스는 다양한 목적들을 수행할 수 있다. 예로서, 사용자 인터페이스는 서버(101)상에서 구동되는 프로세스를 제어하기 위해, 또는, 서버(101)에 접속된 다른 디바이스를 제어하기 위해 사용될 수 있다. 사용자 인터페이스는 또한 클라이언트(120, 125, 130, 135) 그 자체 상에서의 동작을 목적으로 할 수도 있다.
사용자 인터페이스 정의를 제공하기 위해 다양한 방식들이 본 기술에 공지되어 있다. 일부 예들은 : http://www.uiml.org에서 인터넷 상에 기술되어 있는 바와 같은 사용자 인터페이스 마크업 언어(UIML) 또는 http://www.mozilla.org/xpfe/xulref/에서 인터넷 상에서 프로그래머들이 참조할 수 있는 확장형 사용자 인터페이스 언어(XUL) 이다. 널리 알려진 하이퍼텍스트 마크업 언어(HTML)도 특히, 기입 양식들(fill-in forms)을 제공할 때, 사용자 인터페이스 정의를 제공하기 위해 (제한된)방법들을 제공한다.
사용자 인터페이스 엘리먼트들을 포함하는 요약 엘리먼트들을 위한 스타일 정보를 이들 엘리먼트들을 위한 하나 이상의 소위 특성들을 지정함으로써 제공하는 것은 일반적이다. 그래픽 엘리먼트("위지트(widget)")의 색상은 그 폰트, 스크린상의 X- 및 Y-좌표들 등 같이 특성이다. 총체적인 사용자 인터페이스는 또한 예로서, 그 배치, 디폴트 폰트들, 배경 색상 또는 이미지 등의 특성들을 가진다. 이때, 스타일 시트 문서는 이들 특성들의 하나 또는 그 이상의 값들을 제공한다.
특성들은 특정 유형의 모든 사용자 인터페이스 엘리먼트들을 위해 지정될 수 있다. 부가적으로, 특성들은 엘리먼트들의 특정 부류, 예로서, 메뉴들에 보여진 모든 텍스트 또는 확인 대화들에 사용된 모든 버튼들을 위해 지정될 수 있다. 특성들은 또한, 개별 엘리먼트들을 위해 지정될 수도 있다. 일반적으로, 이는 XML내의 ID 속성을 통해 고유 식별자를 개별 엘리먼트에 할당하고, 특정 ID를 가지는 엘리먼트를 위한 특성을 지정함으로써 수행된다.
특성들을 위한 값들은 종속적일 수 있다. 예로서, 총체적인 사용자 인터페이스를 위한 폰트 특성은 "타임즈 뉴 로만(Times New Roman)"으로서 주어질 수 있다. 이때, 그를 위해 어떠한 폰트 특성값도 제공되지 않은 소정의 버튼들 상의 텍스트는 타임즈 뉴 로만으로 디스플레이된다. 그러나, 특정 버튼을 위한 폰트 특성이 "가라몬드(Garamond)"로 설정될 수 있고, 이때, 이 특정 버튼상의 텍스트는 타임즈 뉴 로만이 아닌 가라몬드가 된다.
도 3은 하기의 실시예들에 사용되는 스타일 특성들의 가능한 계층 조직화를 개략적으로 예시한다. 계층의 최고위 지점, 레벨 L1은 비록 희귀하지만, 사용자 인터페이스들의 모든 유형들에 적용될 수 있는 스타일 정보를 위한 가장 포괄적인 스타일 정보를 제공한다. 따라서, 레벨 L1은 주로 도 3에 도시된 계층 트리로의 진입점으로서 기능한다.
1 레벨 하위, 계층의 레벨 L2에서, 제 1 구별이 그래픽 스타일 정보(GFX)와 오디오 스타일 정보(AUD) 사이에서 이루어질 수 있다. 이 레벨에서, 그래픽 스타일 정보(GFX)는 사용되는 폰트들 또는 색상들 같은 특징들을 포함할 수 있다.
그래픽 스타일 정보(GFX)는 레벨 L3에서, 배향의 구별, 예로서, 수직(PRTRT) 또는 수평(LNDSCP)을 사용하여 보다 특정적으로 제공될 수 있다. 레벨 L3에서, 사용자 인터페이스 엘리먼트들의 일반적 상대 배열들이 정의될 수 있다.
계층내의 보다 저위의 레벨 L4는 4:3 또는 16:9 같은 형상비로 구별을 추가로 세분한다. 이 레벨 L4에서, 사용자 인터페이스 엘리먼트들의 상대 정렬, 엘리먼트들의 최소 및 최대 크기들, 백분율들로 표현된 개별 사용자 인터페이스 엘리먼트들의 높이가 정의될 수 있다.
또 다른 세분은 사용되는 스크린 크기에 대한 지정 정의이다 : 640x480 화소들, 800x600, 1024x768 등. 이 레벨 L5에서, 여백들, 폰트 크기, 배경 일러스트레이션들 및 화소들로 표현된 개별 사용자 인터페이스 엘리먼트들의 폭 및 높이 같은 특성들이 정의될 수 있다.
오디오 스타일 정보(AUD)에서, 레벨 L3에서, 명령 기반 인식(CMD) 및 음소 기반 인식(PHNM) 같은 가용한 다양한 대화 인식 입력 유형들 사이의 구별이 이루어질 수 있다. 레벨 L4로 인도하는 추가적인 구별은 사용되는 어휘, 예로서, 영어(EN) 또는 네덜란드어(NL)일 수 있다.
계층의 또 다른 레벨들 및 도 3에 도시된 것들 다음의 다른 레벨들이 고려될 수도 있다. 다른 클라이언트 디바이스들은 다른 사용자 인터페이스 유형들을 가질 수 있거나, 다른 사용자 인터페이스 엘리먼트들을 취급할 수 있다. 예로서, 데스크톱 퍼스널 컴퓨터(125)상에서, 메뉴 바는 일반적으로 스크린의 상단에 보여지지만, 수지식 컴퓨터(135)에서, 메뉴 바는 일반적으로 사용자 요청시에만 보여진다(예로서, '메뉴' 버튼을 누름으로써). 이동 전화(130)는 옵션들을 가지는 하위메뉴들과 함께 메뉴들을 디스플레이할 수 없을 수 있으며, 단지, 사용자가 선택할 수 있는 옵션들을 가지는 목록을 디스플레이할 수 있다.
도 4는 보다 상세히 클라이언트 디바이스(400)를 개략적으로 도시한다. 상술된 바와 같이, 클라이언트 디바이스(400)는 에로서, 랩톱 컴퓨터(120), 데스크톱 컴퓨터(125), 이동 전화(130), 수지식 컴퓨터(135) 또는 텔레비전, 비디오나 DVD 리코더 등 같은 다른 디바이스일 수 있다.
클라이언트 디바이스(400)는 네트워크(110)를 경유하여, 서버(101)로부터 사용자 인터페이스 정의 문서(210)를 획득하는 네트워킹 모듈(410)을 포함한다. 그후, 이 문서(210)는 사용자 인터페이스 모듈(420)에 공급되고, 이는 사용자 인터페이스를 생성하기 위해 문서(210)를 처리한다. 그후, 렌더링 모듈(450)은 디스플레이(452) 또는 스피커(451) 같은 출력 수단을 사용하여, 클라이언트 디바이스(400)의 사용자에게 생성된 사용자 인터페이스를 제시한다. 스타일 정보는 이하에서 명백해질 바와 같이, 이 사용자 인터페이스에 적용된다.
입력 모듈(430)은 사용자 인터페이스와의 그 상호작용 동안 사용자로부터 입력을 수신한다. 입력은 사용자 인터페이스 모듈(420)로 피드백될 수 있으며, 이는 사용자 인터페이스를 갱신한다. 입력 중 일부는 또한 네트워킹 모듈(410)을 사용하여 서버(101)로 반환될 수도 있다. 사용자에 의한 입력의 다른 종류들은 렌더링 모듈(450)에 의해 직접적으로 취급될 수 있다. 이런 배열은 본 기술에 일반적으로 알려져 있으며, 추가로 설명하지 않는다.
본 발명에 따라서, 사용자 인터페이스 모듈(420)은 문서(210)를 처리하고, 문서(210)가 제 1 스타일 시트 문서(211)에 대한 참조를 포함한다는 것을 발견한다. 그후, 사용자 인터페이스 모듈(420)은 네트워킹 모듈(410)을 작동시켜 서버(101)로부터 제 1 스타일 시트 문서(211)를 다운로드하게 한다. 문서(211)가 다운로드되고 나면, 네트워킹 모듈(410)은 문서(211)를 사용자 인터페이스 모듈(420)에 공급한다. 그후, 사용자 인터페이스 모듈(420)은 사용자 인터페이스 생성시 문서(211)내에 포함된 스타일 정보를 사용한다.
또한, 제 1 스타일 시트 문서(211)는 디바이스(400)내의 로컬 저장소에 이미 존재할 수 있으며, 그래서, 이는 로컬 저장부로부터 이를 단순히 독출함으로써 얻어질 수 있다. 예로서, 네트워킹 모듈(410)은 문서(210)와 함께 다운로드된 스타일 시트 문서를 가질 수 있거나, 제 1 스타일 시트 문서(211)가 기록 캐리어 상에 공급되어 있을 수 있다.
제 1 스타일 시트 문서(211)는 CSS 또는 DSSSL 같은 스타일 정보를 마크업 하기 위해 적합한 소정의 언어로 스타일 정보를 포함한다. 또한, 스타일 정보를 마크업하도록 XML을 사용하는 것도 가능하다. XML 문서로서의 제 1 스타일 시트 문서의 예시적 실시예가 하기에 제시되어 있다.
상기 XML 문서(211)는 잘 정형화되어 있다. XML 개념으로 유효한 상기 문서(211)를 구성하는 예시적 XML DTD가 하기에 주어져 있다.
이 DTD는 클라이언트 디바이스(400)에 설치되거나, 또는 필요시 네트워킹 모듈(410)을 사용하여 다운로드될 수 있다. 유효화되기 위해, 이 DTD를 참조하는 <!DOCTYPE> 선언이 필요하며, 물론, DTD에 대하여 유효화되어야 한다. 스타일 시트 문서(211) 및 이 DTD에 사용되는 다양한 엘리먼트들 및 속성들의 해석은 본 명세서의 말미에 주어진다. 여기서는 라인들 8, 11, 19, 23 및 24의 엘리먼트 정의들이 디바이스 특징들을 참조하는 반면에, 라인 12-18, 20-22 및 29-46의 엘리먼트 정의들은 스타일 특성들을 참조한다는 것이 관찰된다. 사용된 XML 엘리먼트들의 상세한 설명 및 그 양호한 해석을 위해 본 명세서의 말미의 표를 참조하라.
예로서, 사용자 인터페이스가 640x480 화소 해상도를 가지는 디스플레이(452)상에 제시되는 것을 가정한다. 이 디바이스 특징 및 다른 특징들은 예로서, 메모리(440)내에 디바이스 특징들의 목록으로서 저장될 수 있으며, 그래서, 사용자 인터페이스 모듈(420)은 적절한 스타일 정보를 선택하기 위해 이 목록을 참고할 수 있다. 이 목록, 또는 그 일부는 또한 네트워킹 모듈(410)에 의해 다운로드될 수도 있다. 이 목록은 클라이언트 디바이스(400)의 디바이스 특징들 프로필로서 보여질 수 있다.
디바이스 특징들에 부가하여, 리스트는 디바이스(400)의 하나 이상의 사용자들을 위해 사용자 선호도들을 포함할 수도 있다. 이런 사용자 선호도들은 양호한 폰트 크기 또는 색상 설계들 같은 스타일 특성들을 설정할 수 있다. 시력이 나쁜 사용자는 예로서, 스타일 시트 문서들에 지시된 바와 같은 작은 폰트 크기들을 무시하고, 큰 폰트 크기들을 지정하기를 원할 수 있다. 디바이스(400)를 사용할 때, 사용자는 단지 그 자신의 사용자 선호도들만이 사용되도록 그 자신을 식별시킬 수 있다. 이는 한 사용자가 예로서, 동일 디스플레이 상에서, 큰 폰트들이 사용되도록 지정하고, 다른 사용자가 작은 폰트들이 사용되도록 지정할 수 있게 한다.
사용자 인터페이스를 스타일링하기 위해, 사용자 인터페이스 모듈(420)은 라인 2상의 UISL 엘리먼트에 대응하는 계층 트리의 레벨 L1에서 시작한다. USIL 엘리먼트의 하나의 차일드 엘리먼트, 즉, GFX 엘리먼트가 존재하며, 이는 레벨 L2에 대응한다. 이 엘리먼트가 그래픽 스타일 정보를 나타내고, 디바이스(400)의 특징이 그래픽 디스플레이(452)를 가진다는 것이기 때문에, 사용자 인터페이스 모듈(420)은 GFX 엘리먼트에 포함된 스타일 정보를 수집한다.
GFX 엘리먼트는 도 3의 트리의 레벨 L3의 노드들 LNDSCP 및 PRTRT에 대응하는 차일드 엘리먼트들(LANDSCAPE 및 PORTRAIT)을 포함한다. 디바이스(400)의 디바이스 특징은 그 디스플레이가 수평 배향을 가지는 것이며, 그래서, 인터페이스 모듈(420)은 차일드 엘리먼트 LANDSCAPE를 선택하고, 그 내부에 포함된 스타일 정보를 수집한다(라인 4-9). 그후, 사용자 인터페이스 모듈은 패널 트리로서 사용자 인터페이스 엘리먼트들을 배열한다.
사용자 인터페이스 모듈(420)은 제 1 스타일 시트 문서(211)내의 라인 8에서 <level 2>라 지칭된 XML 엘리먼트를 통해 실행되는, "stylesheet-landscape.uisl"이라 명명된, 제 2의 보다 특정한 스타일 시트 문서(212)에 대한 링크를 만난다.
제 2 스타일 시트 문서(212)는 수평 배향 시각적 사용자 인터페이스를 사용하는 디바이스들을 위한 보다 특정한 스타일 정보를 포함한다. 이는 디바이스(400)의 특징들과 직렬이기 때문에, 사용자 인터페이스 모듈(420)은 이제 서버(101)로부터 제 2 스타일 시트 문서(212)를 다운로드하도록 네트워킹 모듈(410)을 동작시킨다. 라인 14의 스타일 시트 문서에 대한 링크 "stylesheet-portrait.uisl"은 무시되며, 그 이유는 이는 디바이스(400)의 디바이스 특징들과 일치하지 않기 때문이다. 이 무관한 스타일 시트 문서를 무시하는 것은 대역폭 및/도는 처리 시간을 절감한다.
제 2 스타일 시트 문서(212)의 예시적 실시예가 하기에 주어져 있다.
이 제 2 스타일 시트 문서(212)는 잘 정형화되어 있다. XML 개념으로도 유효한 문서(212)를 구성하는 예시적 DTD는 아래에 주어져 있다.
스타일 시트 문서(211) 및 이 DTD에 사용된 다양한 엘리먼트들 및 속성들의 해석은 본 명세서의 말미에 주어져 있다.
제 2 스타일 시트 문서(212)는 4:3 형상비를 가지는 그래픽 디스플레이를 위한 스타일 정보를 제공함으로써, 수평 배향을 가지는 그래픽 디스플레이를 위한 보다 특정한 스타일 정보를 제공한다. 사용자 인터페이스 모듈(420)은 제 2 스타일 시트 문서(212)를 분석하고, 4:3 비율의 해상도들을 가지는 디스플레이들을 위해 보다 특정한 스타일 정보가 가용한지를 결정한다. 디스플레이(452)가 4:3의 비율에 대응하는 640x480 해상도를 가지기 때문에, 사용자 인터페이스 모듈(420)은 이 정보를 수집한다.
<4x3> 엘리먼트도 <level 3>으로 지칭되는 XML 엘리먼트를 통해 실행되는, 보다 낮은 레벨의 스타일 시트 문서에 대한 링크를 포함한다. 사용자 인터페이스 모듈(420)은 이제 이 보다 하위의 스타일 시트 문서를 다운로드하도록 네트워킹 모듈(410)을 동작시키고, 그 안에 포함된 보다 특정한 스타일 정보를 적용한다. 이 메커니즘은 물론 낮은 레벨들에도 적용될 수 있다. 어떤 점에서, 낮은 레벨 스타일 시트는 한 특정 클라이언트 디바이스에 지정되어 있을 수 있다. 그 특정 클라이언트 디바이스의 판매자 또는 제조자가 보다 낮은 레벨의 지정 스타일 정보를 정의하게 하는 것이 바람직할 수 있다.
4:3 형상비를 가지는 그래픽 디스플레이를 위한 보다 특정한 스타일 정보를 가지는 이런 제 3 스타일 시트 문서의 예시적 실시예가 하기에 주어져 있다.
이 제 3 스타일 시트 문서는 640x480 또는 1024x768 화소 해상도 디스플레이를 가지는 그래픽 디바이스들을 위한 지정 스타일 시트 정보를 제공한다. 이 스타일 시트 문서는 적절한 DTD를 정의함으로써 유효화될 수도 있다.
이들 실시예에서, 사용자 인터페이스 엘리먼트들을 위한 스타일 특성들은 하기와 같이 정의되어 있다. 스타일 특성이 적용되는 사용자 인터페이스 엘리먼트(들)의 목록을 포함하는 XML 엘리먼트로서 주어져 있다. 이들 사용자 인터페이스 엘리먼트들도 XML 엘리먼트들로서 주어진다. 이들은 그 사용자 인터페이스 엘리먼트에 적용되는 스타일 특성을 위한 값을 포함한다. 사용자 인터페이스 엘리먼트들은 유형, ID 또는 부류에 의해 어드레스될 수 있다.
상기 설명에서, 사용자 인터페이스 모듈(420은 제 1 스타일 시트 문서(211)의 <uisl> 엘리먼트에서 시작하였으며, 그후, 제 2 및 추가 스타일 시트 문서들에 포함된 점점 더 많은 지정 정보를 액세스하였다. 실제로, 모든 레벨에서, 사용자 인터페이스 모듈(420)은 디바이스와 일치하는 디바이스 특징을 가지는 이미 선택된엘리먼트의 차일드 엘리먼트를 선택한다.
사용자 인터페이스 모듈(420)은 디바이스(400)의 디바이스 특징과 일치하는 트리 내의 노드를 선택할 수 있다. 이는 디바이스(400)의 디바이스 특징에 대응하는 트리 내의 최하위 노드인 것이 적합하다. 사용자 인터페이스 모듈(420)은 그후 상단 노드로부터 선택된 노드까지 트리 내의 최단 경로를 결정하고, 선택된 노드에서 시작하거나, 상단 노드에서 시작하는 최단 경로상의 노드들의 스타일 정보를 수집한다.
위에 주어진 실시예에서, 사용자 인터페이스 모듈(420)은 레벨 l5에서 640x480 노드를 선택하며, 노드 GNRC로부터 선택된 노드까지 최단 경로를 결정한다. 이 경로는 노드들 GFX(레벨 l2), LNDSCP(레벨 L3) 및 4:3(레벨 L4)을 통과한다. 사용자 인터페이스 모듈(420)은 이제 다양한 스타일 시트 문서들 내의 어떤 스타일 정보, 즉, 이들 노드들과 연계된 정보를 알아내고, 다른 노드들과 연계된 정보를 생략할 수 있다.
대안적으로, 사용자 인터페이스 모듈(420)은 가장 유망한 차일드 엘리먼트를 선택하기 위해 모든 레벨에서 디바이스 특징들의 목록을 참조할 수 있다. 그래서, 사용자 인터페이스 모듈(420)은 그후 그래픽 디스플레이가 가용하다는 것을 결정하기 위해 목록을 참조하고, 그후, 노드 GFX로부터 스타일 정보를 수집한다. 제 1 스타일 시트 문서(211)내의 대응 엘리먼트(GFX)가 제 2 스타일 시트 문서(212)를 참조하기 때문에, 이 제 2 스타일 시트 문서(212)가 검색 및 처리되어야 한다. 사용자 인터페이스 모듈(420)은 이제 목록을 참조하고, <landscape> 엘리먼트가 사용자인터페이스를 위한 관련 정보를 포함한다는 것을 결정한다. 그래서, 이 엘리먼트가 그후 처리된다.
사용자 인터페이스 모듈(420)의 스타일 정보 수집 기능성은 또한 서버(101)에 또는 다른 서버에 제공될 수도 있다. 디바이스(400)는 에로서, 배터리 구동식이거나, 단지 제한된 메모리, CPU 처리 파워 또는 가용 대역폭을 가지기 때문에, 그 처리 기능들이 규제될 수 있다. 이때, 보다 높은 처리 기능을 가지는 서버 상에서 스타일 정보를 수집하고, 단지 결과만 디바이스(400)로 전송하면 되도록 하는 것이 유리하다. 이때, 디바이스(400)는 그 사용자 인터페이스에 수집된 스타일 정보를 적용하기만 하면 되며, 이는 보다 적은 처리 파워를 소요한다. 이 경우, 디바이스(400)는 그 디바이스 특징들 프로필을 서버에 제출하고, 그래서, 적절히 맞춤화된 스타일 시트가 생성되거나, 무관한 스타일 정보가 여과 제거될 수 있다.
레벨 L2 스타일 시트 문서 및 연계된 DTD내에 사용된 엘리먼트들 및 속성들의 양호한 해석은 하기와 같다.n은 수치값을 나타내고,str은 스트링 값을 나타내며,url은 균일 자원 배치기(RFC 1738) 또는 균일 자원 식별기(RFC 2396)를 나타낸다는 것을 인지하여야 한다.
레벨 L2 스타일 시트 문서 및 연계된 DTD내에 사용된 엘리먼트들 및 속성들의 양호한 해석은 하기와 같다.
상술한 실시예는 본 발명을 한정하는 것이 아니라 예시하는 것이며, 본 기술의 숙련자들은 첨부된 청구범위의 범주로부터 벗어나지 않고 다수의 대안 실시예들을 설계할 수 있을 것이다.
예로서, 비록, 그런 것이 스타일 정보의 재사용을 보다 용이하게 하지만, 한 레벨(L1, L2, L3...)에서의 스타일 정보가 별개의 스타일 시트 문서들에 저장되는 것은 필수적이지 않다. 위에 주어진 것들 이외의 XML 엘리먼트들이 제공되거나, 속성들이 필요에 따라 추가 또는 제거될 수 있다. 예로서, CSS에서 가용한 바와 같은 @import 또는 @media 구성들을 사용하여, 지정 엘리먼트들의 환경 외측에 다른 보다 특정한 스타일 시트 문서들에 대한 링크들도 제공될 수 있다.
동일 레벨의 두 노드들은 전체적으로 또는 부분적으로 동일 디바이스 특징에 대응할 수 있다. 예로서, 한 노드는 640-화소 넓이 스크린들에 대응하고, 나머지는 480-화소 높이 스크린들에 대응할 수 있다. 이제 640x480 스크린을 가지는 디바이스는 이들 두 노드들 중 어느 하나 또는 양자 모두를 고르기 위한 옵션을 가진다. 하나를 선택하기 위한 판정은 임의적이거나, 이 디바이스에서 무엇이 가장 중요한가(예로서, 스크린 폭은 고정되지만, 불충분한 스크린 높이를 위해 스크롤 바들이 사용될 수 있음)의 결정에 기초할 수 있다.
이는 심지어 계층 트리를 단일 루트를 가지는 비순환 지향 그래프와 유사하게 할 수 있다. 이는 본 발명을 보다 유연하게 만들지만, 이런 트리를 구매하는 것은 다소 보다 곤란하다.
청구항에서, 괄호들 사이에 배치된 소정의 참조 부호들은 청구항을 한정하는 것으로 해석되어서는 안 된다. 단어 "포함하는"은 청구항에 나열된 것을 이외의 엘리먼트들 또는 단계들의 존재를 배제하지 않는다. 엘리먼트에 선행하는 단어 "일(a 또는 무)"는 복수의 이런 엘리먼트들의 존재를 배제하지 않는다. 본 발명은 몇몇 별개의 엘리먼트들을 포함하는 하드웨어에 의해, 그리고, 적절히 프로그램된 컴퓨터에 의해 이행될 수 있다.
몇몇 수단을 열거하는 장치 청구항에서, 이들 수단 중 몇몇은 하나의, 그리고, 동일 항목의 하드웨어에 의해 구현될 수 있다. 순수한 사실은 서로 다른 종속항에 기재된 특정 조치들은 이들 조치들의 조합이 유리하게 사용될 수 없다는 것을 나타내지는 않는다.

Claims (10)

  1. 디바이스에 대한 사용자 인터페이스를 스타일링하는 방법에 있어서,
    상기 사용자 인터페이스에 대한 스타일 정보를 획득하는 단계로서, 상기 스타일 정보는 계층 트리 내의 노드들과 연계되어 있고, 상기 트리 내의 각 노드는 디바이스 특징에 대응하며, 차일드 노드(child node)는 페어런트 노드(parent node)보다 더 특정한 디바이스 특징에 대응하는, 상기 스타일 정보 획득 단계,
    상기 계층 트리 내의 노드를 선택하는 단계,
    상기 선택된 노드 및 상기 선택된 노드의 모든 페어런트들에 대한 스타일 정보를 수집하는 단계, 및
    상기 수집된 스타일 정보를 상기 사용자 인터페이스에 적용하는 단계를 포함하는 사용자 인터페이스 스타일링 방법.
  2. 제 1 항에 있어서, 상기 선택된 노드는 상기 디바이스와 일치하는 디바이스 특징에 대응하는, 사용자 인터페이스 스타일링 방법.
  3. 제 2 항에 있어서, 상기 선택된 노드는 상기 디바이스와 일치하는 디바이스 특징에 대응하는 상기 트리 내의 최하위 노드인, 사용자 인터페이스 스타일링 방법.
  4. 제 1 항에 있어서, 상기 트리의 제 1 레벨에서의 스타일 정보는 제 1 스타일 시트 문서에서 가용화되고, 상기 제 1 레벨 보다 낮은 상기 트리의 제 2 레벨에서의 스타일 정보는 제 2 스타일 시트 문서에서 가용화되며, 상기 제 1 스타일 시트 문서에 상기 제 2 스타일 시트 문서에 대한 링크가 제공되는, 사용자 인터페이스 스타일링 방법.
  5. 제 4 항에 있어서, 상기 제 2 스타일 시트 문서에 대한 링크는 상기 제 2 스타일 시트 문서내의 스타일 정보와 연계된 노드의 페어런트를 나타내는 언어 엘리먼트의 범주이내의 링크 엘리먼트를 통해 제공되는, 사용자 인터페이스 스타일링 방법.
  6. 제 1 항에 있어서, 상기 상단 노드로부터 상기 선택된 노드까지 상기 트리 내의 최단 경로를 결정하는 단계, 및
    상기 최단 경로상의 상기 노드들과 연계된 상기 스타일 정보를 수집하는 단계를 더 포함하는 사용자 인터페이스 스타일링 방법.
  7. 제 6 항에 있어서, 상기 상단 노드에서 시작하여 상기 스타일 정보를 수집하는 단계를 더 포함하는 사용자 인터페이스 스타일링 방법.
  8. 제 1 항에 있어서, 상기 사용자 인터페이스에 상기 수집된 스타일 정보를 적용하기 이전에, 상기 수집된 스타일 정보를 상기 디바이스로 전송하는 단계를 더 포함하는 방법.
  9. 적응성 사용자 인터페이스를 구비한 디바이스에 있어서,
    상기 사용자 인터페이스에 대한 스타일 정보를 획득하는 수단으로서, 상기 스타일 정보는 계층 트리 내의 노드들과 연계되어 있고, 상기 트리 내의 각 노드는 디바이스 특징에 대응하며, 차일드 노드는 페어런트 노드보다 더 특정한 디바이스 특징에 대응하는, 상기 스타일 정보 획득 수단, 및
    상기 계층 트리 내의 노드를 선택하고, 상기 선택된 노드 및 상기 선택된 노드의 모든 페어런트들에 대한 스타일 정보를 수집하며, 상기 수집된 스타일 정보를 상기 사용자 인터페이스에 적용하기 위한 사용자 인터페이스 수단을 포함하는 적응성 사용자 인터페이스를 구비한 디바이스.
  10. 컴퓨터 프로그램 제품에 있어서,
    사용자 인터페이스에 대한 스타일 정보를 획득하는 수단으로서, 상기 스타일 정보는 계층 트리 내의 노드들과 연계되어 있고, 상기 트리 내의 각 노드는 디바이스 특징에 대응하며, 차일드 노드는 페어런트 노드보다 더 특정한 디바이스 특징에 대응하는, 상기 스타일 정보 획득 수단, 및
    상기 계층 트리 내의 노드를 선택하고, 상기 선택된 노드 및 상기 선택된 노드의 모든 페어런트들에 대한 스타일 정보를 수집하며, 상기 수집된 스타일 정보를상기 사용자 인터페이스에 적용하기 위한 사용자 인터페이스 수단을 포함하는 컴퓨터 프로그램 제품.
KR10-2004-7004966A 2001-10-04 2002-09-09 사용자 인터페이스를 스타일링하는 방법 및 적응성 사용자인터페이스를 구비한 디바이스 KR20040048933A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP01203753.7 2001-10-04
EP01203753 2001-10-04
PCT/IB2002/003653 WO2003032151A2 (en) 2001-10-04 2002-09-09 Method of styling a user interface and device with adaptive user interface

Publications (1)

Publication Number Publication Date
KR20040048933A true KR20040048933A (ko) 2004-06-10

Family

ID=8181010

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2004-7004966A KR20040048933A (ko) 2001-10-04 2002-09-09 사용자 인터페이스를 스타일링하는 방법 및 적응성 사용자인터페이스를 구비한 디바이스

Country Status (7)

Country Link
US (1) US20030137539A1 (ko)
EP (1) EP1442367A2 (ko)
JP (1) JP2005505076A (ko)
KR (1) KR20040048933A (ko)
CN (1) CN100338573C (ko)
AU (1) AU2002328118A1 (ko)
WO (1) WO2003032151A2 (ko)

Families Citing this family (95)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6891170B1 (en) * 2002-06-17 2005-05-10 Zyvex Corporation Modular manipulation system for manipulating a sample under study with a microscope
US20040027377A1 (en) * 2002-08-06 2004-02-12 Grace Hays User interface design and validation including dynamic data
US20040027378A1 (en) * 2002-08-06 2004-02-12 Hays Grace L. Creation of user interfaces for multiple devices
FR2844370B1 (fr) * 2002-09-05 2008-05-09 Canon Kk Document electronique de description d'un service informatique
US7363588B2 (en) * 2002-11-01 2008-04-22 Rockwell Electronic Commerce Technologies, Llc GUI for organizational environment
US7272607B2 (en) 2002-11-27 2007-09-18 Zyvex Labs, Llc System and method for processing a hierarchical data tree
US7272608B2 (en) 2002-11-27 2007-09-18 Zyvex Labs, Llc Isosurface extraction into splat hierarchy
WO2004049711A1 (en) * 2002-11-27 2004-06-10 Samsung Electronics Co., Ltd. Apparatus and method for reproducing interactive contents by controlling font according to aspect ratio conversion
US7519603B2 (en) * 2002-11-27 2009-04-14 Zyvex Labs, Llc Efficient data structure
US7814423B2 (en) * 2003-02-28 2010-10-12 Bea Systems, Inc. Method for providing a graphical user interface
US7577912B2 (en) * 2003-03-27 2009-08-18 Sap Ag Suggestive form factors
US20060156220A1 (en) * 2003-05-05 2006-07-13 Dreystadt John N System and method for managing dynamic content assembly
US7236982B2 (en) * 2003-09-15 2007-06-26 Pic Web Services, Inc. Computer systems and methods for platform independent presentation design
WO2005031789A2 (en) * 2003-09-23 2005-04-07 Zyvex Corporation Method, system and device for microscopic examination employing fib-prepared sample grasping element
US7831931B2 (en) 2003-09-30 2010-11-09 Sap Aktiengesellschaft Successively displaying panels in a computer user interface
US7237194B2 (en) * 2003-11-18 2007-06-26 Microsoft Corporation System and method for generating optimized binary representation of an object tree
US8196044B2 (en) * 2004-01-05 2012-06-05 Microsoft Corporation Configuration of user interfaces
JP2007525747A (ja) * 2004-01-24 2007-09-06 バイエリッシェ モートーレン ウエルケ アクチエンゲゼルシャフト 車両用のグラフィック操作及び/又は表示表面の作成
TW200531420A (en) 2004-02-20 2005-09-16 Zyvex Corp Positioning device for microscopic motion
JP2005251745A (ja) * 2004-02-23 2005-09-15 Zyvex Corp 荷電粒子ビーム装置プローブ操作
US7326293B2 (en) * 2004-03-26 2008-02-05 Zyvex Labs, Llc Patterned atomic layer epitaxy
US20050216834A1 (en) * 2004-03-29 2005-09-29 Microsoft Corporation Method, apparatus, and computer-readable medium for dynamically rendering a user interface menu
US9734222B1 (en) 2004-04-06 2017-08-15 Jpmorgan Chase Bank, N.A. Methods and systems for using script files to obtain, format and transport data
US7359902B2 (en) * 2004-04-30 2008-04-15 Microsoft Corporation Method and apparatus for maintaining relationships between parts in a package
US7512878B2 (en) * 2004-04-30 2009-03-31 Microsoft Corporation Modular document format
US8661332B2 (en) * 2004-04-30 2014-02-25 Microsoft Corporation Method and apparatus for document processing
US7549118B2 (en) * 2004-04-30 2009-06-16 Microsoft Corporation Methods and systems for defining documents with selectable and/or sequenceable parts
US7487448B2 (en) * 2004-04-30 2009-02-03 Microsoft Corporation Document mark up methods and systems
US7418652B2 (en) * 2004-04-30 2008-08-26 Microsoft Corporation Method and apparatus for interleaving parts of a document
US7383500B2 (en) * 2004-04-30 2008-06-03 Microsoft Corporation Methods and systems for building packages that contain pre-paginated documents
US20050246384A1 (en) * 2004-05-03 2005-11-03 Microsoft Corporation Systems and methods for passing data between filters
US7440132B2 (en) 2004-05-03 2008-10-21 Microsoft Corporation Systems and methods for handling a file with complex elements
US7519899B2 (en) 2004-05-03 2009-04-14 Microsoft Corporation Planar mapping of graphical elements
US7755786B2 (en) * 2004-05-03 2010-07-13 Microsoft Corporation Systems and methods for support of various processing capabilities
US8243317B2 (en) 2004-05-03 2012-08-14 Microsoft Corporation Hierarchical arrangement for spooling job data
US7580948B2 (en) * 2004-05-03 2009-08-25 Microsoft Corporation Spooling strategies using structured job information
US8363232B2 (en) 2004-05-03 2013-01-29 Microsoft Corporation Strategies for simultaneous peripheral operations on-line using hierarchically structured job information
KR100652672B1 (ko) * 2004-09-20 2006-12-06 엘지전자 주식회사 이동 통신 단말기의 시력 검사 장치와 방법 및 시력에따른 글자 크기 변경 방법
US7617450B2 (en) 2004-09-30 2009-11-10 Microsoft Corporation Method, system, and computer-readable medium for creating, inserting, and reusing document parts in an electronic document
US7584111B2 (en) * 2004-11-19 2009-09-01 Microsoft Corporation Time polynomial Arrow-Debreu market equilibrium
US7752632B2 (en) 2004-12-21 2010-07-06 Microsoft Corporation Method and system for exposing nested data in a computer-generated document in a transparent manner
US7770180B2 (en) 2004-12-21 2010-08-03 Microsoft Corporation Exposing embedded data in a computer-generated document
US7917860B2 (en) * 2005-03-03 2011-03-29 Microsoft Corporation Simple styling
US20070135945A1 (en) * 2005-12-14 2007-06-14 Microsoft Corporation Identifying property relationships
US20080178122A1 (en) * 2006-02-03 2008-07-24 Crown Partners,Llc System and method for website configuration and management
US20070220035A1 (en) * 2006-03-17 2007-09-20 Filip Misovski Generating user interface using metadata
KR100772875B1 (ko) 2006-05-22 2007-11-02 삼성전자주식회사 사용자 선호도에 따른 사용자 인터페이스를 설정하는 장치및 그 방법
KR101402886B1 (ko) * 2006-08-10 2014-06-02 톰슨 라이센싱 분산형 네트워크에서 정보의 확산을 위한 방법
JP2008129702A (ja) * 2006-11-17 2008-06-05 Canon Inc 情報処理装置および制御方法および制御プログラム
US20080307312A1 (en) * 2007-06-08 2008-12-11 Infosys Technologies Ltd. User interface development tools
CN100456239C (zh) * 2007-08-28 2009-01-28 中国科学院软件研究所 一种图形用户界面的多语言自适应方法
MX2010010150A (es) * 2008-03-21 2010-10-25 Koninkl Philips Electronics Nv Metodo para mostrar la informacion generada por el cliente.
US8108777B2 (en) 2008-08-11 2012-01-31 Microsoft Corporation Sections of a presentation having user-definable properties
US9009662B2 (en) 2008-12-18 2015-04-14 Adobe Systems Incorporated Platform sensitive application characteristics
US9009661B2 (en) * 2008-12-18 2015-04-14 Adobe Systems Incorporated Platform sensitive application characteristics
CN101814021B (zh) * 2009-02-24 2014-08-06 易保网络技术(上海)有限公司 在远程设备上显示用户界面的方法和系统
US9241062B2 (en) * 2009-05-20 2016-01-19 Citrix Systems, Inc. Methods and systems for using external display devices with a mobile computing device
US10127524B2 (en) * 2009-05-26 2018-11-13 Microsoft Technology Licensing, Llc Shared collaboration canvas
US20100306018A1 (en) * 2009-05-27 2010-12-02 Microsoft Corporation Meeting State Recall
US9529648B2 (en) * 2009-06-26 2016-12-27 International Business Machines Corporation Generic declaration of bindings between events and event handlers regardless of runtime structure
US20110246913A1 (en) * 2010-03-30 2011-10-06 Microsoft Corporation Automated User Interface Generator
US9383888B2 (en) 2010-12-15 2016-07-05 Microsoft Technology Licensing, Llc Optimized joint document review
US9118612B2 (en) 2010-12-15 2015-08-25 Microsoft Technology Licensing, Llc Meeting-specific state indicators
US9864612B2 (en) 2010-12-23 2018-01-09 Microsoft Technology Licensing, Llc Techniques to customize a user interface for different displays
US9015226B2 (en) 2011-01-06 2015-04-21 Oracle International Corporation Techniques for detecting new browser windows
US8892635B2 (en) 2011-01-06 2014-11-18 Oracle International Corporation Techniques for detecting inactive browser windows
CN102622376A (zh) * 2011-01-28 2012-08-01 北京千橡网景科技发展有限公司 用于合并层叠样式表文件的方法和设备
US8667024B2 (en) 2011-03-18 2014-03-04 International Business Machines Corporation Shared data management in software-as-a-service platform
US9329839B2 (en) * 2011-04-11 2016-05-03 Data Systems International, Inc. Multi-view form design
US9575949B2 (en) 2011-04-11 2017-02-21 Data Systems International, Inc. Multi-view runtime interrogator
US9117395B2 (en) * 2011-04-19 2015-08-25 Samsung Electronics Co., Ltd Method and apparatus for defining overlay region of user interface control
US9424236B2 (en) 2011-04-26 2016-08-23 Oracle International Corporation Filtered Stylesheets
US8601029B2 (en) 2011-05-27 2013-12-03 International Business Machines Corporation Data stewardship in federated multi-level master data management systems
US8380787B2 (en) 2011-05-27 2013-02-19 International Business Machines Corporation Federation of master data management systems
US8635249B2 (en) 2011-05-27 2014-01-21 International Business Machines Corporation Federation of multi-level master data management systems
US9600131B2 (en) * 2011-05-31 2017-03-21 Red Hat, Inc. Integrated application that contains software modules coupled to a message bus
US8635673B2 (en) 2011-06-17 2014-01-21 International Business Machines Corporation Dynamic application adaptation in software-as-a-service platform
US8595798B2 (en) 2011-06-17 2013-11-26 International Business Machines Corporation Enforcing data sharing policy through shared data management
US9652790B2 (en) 2011-06-17 2017-05-16 International Business Machines Corporation Open data marketplace for municipal services
US9544158B2 (en) 2011-10-05 2017-01-10 Microsoft Technology Licensing, Llc Workspace collaboration via a wall-type computing device
US8682973B2 (en) 2011-10-05 2014-03-25 Microsoft Corporation Multi-user and multi-device collaboration
US9996241B2 (en) 2011-10-11 2018-06-12 Microsoft Technology Licensing, Llc Interactive visualization of multiple software functionality content items
US10198485B2 (en) 2011-10-13 2019-02-05 Microsoft Technology Licensing, Llc Authoring of data visualizations and maps
US8510794B1 (en) * 2012-07-15 2013-08-13 Identropy, Inc. Methods and apparatus for a unified identity management interface across internal and shared computing applications
US20140104137A1 (en) * 2012-10-16 2014-04-17 Google Inc. Systems and methods for indirectly associating logical and physical display content
US8671352B1 (en) * 2013-05-07 2014-03-11 Axure Software Solutions, Inc. Variable dimension version editing for graphical designs
US9946806B2 (en) 2013-05-07 2018-04-17 Axure Software Solutions, Inc. Exporting responsive designs from a graphical design tool
KR101607887B1 (ko) * 2013-10-31 2016-04-04 삼성에스디에스 주식회사 마인드 맵 형태의 온라인 커뮤니티 서비스 제공 장치
KR101548228B1 (ko) * 2013-12-27 2015-08-28 주식회사 케이티 사용자 상태에 기반하여 사용자 인터페이스를 동기화하는 동기화 기기 및 동기화 방법
US10402034B2 (en) 2014-04-02 2019-09-03 Microsoft Technology Licensing, Llc Adaptive user interface pane manager
US10671252B2 (en) * 2014-09-04 2020-06-02 Home Box Office, Inc. Styling system
US10042655B2 (en) 2015-01-21 2018-08-07 Microsoft Technology Licensing, Llc. Adaptable user interface display
US10209849B2 (en) 2015-01-21 2019-02-19 Microsoft Technology Licensing, Llc Adaptive user interface pane objects
US10592589B1 (en) 2018-08-21 2020-03-17 Axure Software Solutions, Inc. Multi-view masters for graphical designs
US10915694B2 (en) * 2018-08-28 2021-02-09 Accenture Global Solutions Limited Virtual agent creation platform

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5606702A (en) * 1991-03-30 1997-02-25 International Business Machines Corporation Method for specifying user interfaces and programming system running a multiple user interface computer
US5613122A (en) * 1994-11-14 1997-03-18 Object Technology Licensing Corp. Object-oriented operating system
US6023714A (en) * 1997-04-24 2000-02-08 Microsoft Corporation Method and system for dynamically adapting the layout of a document to an output device
JP3968176B2 (ja) * 1997-10-06 2007-08-29 松下電器産業株式会社 送信文書編集装置、受信文書処理装置
US6668354B1 (en) * 1999-01-05 2003-12-23 International Business Machines Corporation Automatic display script and style sheet generation
US6778992B1 (en) * 1999-12-21 2004-08-17 Lockstream Corporation Flexible and hierarchical user interfaces defined using a data definition language
US20020010716A1 (en) * 2000-02-24 2002-01-24 Mccartney Alan F. System and method for dynamically publishing XML-compliant documents
US6505190B1 (en) * 2000-06-28 2003-01-07 Microsoft Corporation Incremental filtering in a persistent query system
US6973625B1 (en) * 2001-07-06 2005-12-06 Convergys Cmg Utah Method for creating browser-based user interface applications using a framework

Also Published As

Publication number Publication date
AU2002328118A1 (en) 2003-04-22
US20030137539A1 (en) 2003-07-24
JP2005505076A (ja) 2005-02-17
CN100338573C (zh) 2007-09-19
EP1442367A2 (en) 2004-08-04
WO2003032151A3 (en) 2004-01-15
CN1564976A (zh) 2005-01-12
WO2003032151A2 (en) 2003-04-17

Similar Documents

Publication Publication Date Title
KR20040048933A (ko) 사용자 인터페이스를 스타일링하는 방법 및 적응성 사용자인터페이스를 구비한 디바이스
JP4344693B2 (ja) ブラウザの文書編集のためのシステムおよびその方法
US6668354B1 (en) Automatic display script and style sheet generation
US7000184B2 (en) Remote web site editing in a standard web browser without external software
US7562307B2 (en) Automated creation of web page to XML translation servers
US7797627B2 (en) Method and apparatus for providing a graphical user interface for creating and editing a mapping of a first structural description to a second structural description
US20070214422A1 (en) Framework for implementing skins into a portal server
EP1517248A2 (en) Information processing apparatus, its control method, and program
US20070206221A1 (en) Methods and apparatus for enabling use of web content on various types of devices
US20050066271A1 (en) Extraction of information from structured documents
US20060129920A1 (en) Declarative mechanism for defining a hierarchy of objects
US20070277099A1 (en) Page source data generation method, page source data generation system, and program
CN101308489B (zh) 电子表单中的声明式尺寸可变列表
JP2004510254A (ja) ネットワークサーバ
JP2004259286A (ja) 階層データの複数方向での表示およびナビゲーション、ならびに、表示領域消費の最適化
EP1274019A2 (en) Observation display method for dynamically changing on monitor screen object information observed on computer network and observation display system using computer network
JP2000305835A (ja) ウェブサイト閲覧システム
US20090259952A1 (en) Information processing apparatus and method of controlling same
KR101282254B1 (ko) 화상처리장치 및 화상처리방법과 그 화상처리방법을 수행할 수 있는 프로그램이 포함된 기록매체
US8225217B2 (en) Method and system for displaying information on a user interface
KR101292982B1 (ko) Clr 객체의 계층 구조 결정 방법, 컴퓨터 판독가능 매체, 객체를 선언적으로 정의하는 방법, clr 객체의 계층 구조 결정 메카니즘, 및 clr 객체를 선언적으로 정의하는 장치
JP2002351781A (ja) 画面表示用ページレイアウトを利用したコンテンツ生成装置
JP2006185064A (ja) データ処理装置及びプログラム
Book et al. Automatic dialog mask generation for device-independent web applications
EP1693741B1 (en) System and program for displaying device information by utilizing browser

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid