KR100866165B1 - 사용자 인터페이스 애플리케이션들에서 뷰 라우팅 - Google Patents

사용자 인터페이스 애플리케이션들에서 뷰 라우팅 Download PDF

Info

Publication number
KR100866165B1
KR100866165B1 KR1020067007927A KR20067007927A KR100866165B1 KR 100866165 B1 KR100866165 B1 KR 100866165B1 KR 1020067007927 A KR1020067007927 A KR 1020067007927A KR 20067007927 A KR20067007927 A KR 20067007927A KR 100866165 B1 KR100866165 B1 KR 100866165B1
Authority
KR
South Korea
Prior art keywords
view
list
application
data
router
Prior art date
Application number
KR1020067007927A
Other languages
English (en)
Other versions
KR20060064003A (ko
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 KR20060064003A publication Critical patent/KR20060064003A/ko
Application granted granted Critical
Publication of KR100866165B1 publication Critical patent/KR100866165B1/ko

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
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units

Landscapes

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

Abstract

본 발명은 사용자 인터페이스 애플리케이션들에서 뷰 라우팅을 이용하는 방법, 컴퓨터 프로그램, 시스템 및 전자 디바이스에 관한 것이다. 컴퓨터는 적어도 제 1 애플리케이션과 제 2 애플리케이션을 포함하는데, 여기서 상기 제 1 애플리케이션은 사용자에게 개시될 뷰들의 체인을 초기화하며, 상기 제 2 애플리케이션은 상기 제 1 애플리케이션과 관련된 적어도 하나의 뷰를 갖는다. 적어도 하나의 뷰를 포함하는 뷰 리스트가 결정된다. 뷰 리스트는 제 1 애플리케이션으로부터 뷰 라우터로 전달된다. 뷰 리스트에 기초하여 적어도 하나의 뷰가 개시된다. 뷰 리스트의 적어도 일부가 처리된 때에, 제어는 제 1 애플리케이션으로 복귀한다. 본 발명의 이점들은 사용자 인터페이스 애플리케이션들의 설계에 있어서 유연성 개선에 관한 것이다.
사용자 인터페이스, 뷰 리스트, XML

Description

사용자 인터페이스 애플리케이션들에서 뷰 라우팅{VIEW ROUTING IN USER INTERFACE APPLICATIONS}
본 발명은 컴퓨팅 장치에서 사용자 인터페이스들에 관한 것이다. 특히, 본 발명은 컴퓨터 단말기들에서 사용되는 그래픽 사용자 인터페이스들에서 뷰 라우팅에 관한 것이다.
사용자 친화성은 모든 컴퓨터 애플리케이션들에서 중요한 요소이다. 특히, 보통 사용자들 및 빈번한 사용을 목표로 한 애플리케이션들에서 더욱 중요하다. 최근에 그래픽 사용자 인터페이스들 및 운영 체제들이 다수의 청중(audience)들에게 이용가능한 컴퓨터 애플리케이션들을 만들게 되었다. 최근에 데스크톱 및 랩탑 컴퓨터들에서 유행하는 운영 체제들은 Microsoft Windows® 및 Linux ™ 이다. Symbian™ 운영 체제는 이동 디바이스들 및 다른 유사한 핸드-헬드(hand-held) 디바이스들에 그래픽 사용자 인터페이스 및 운영 체제를 제공한다.
사용자가 다양한 엔티티들에 관련된 데이터를 채워야 하는 데이터 엔트리 애플리케이션들(data entry applications)에서, 채워질 정보를 조직화하는 2개의 방식들, 즉 데이터 지향 방식 및 프로세스 지향 방식이 있다. 데이터 지향 방식이 애플리케이션 설계자 관점에서 훨씬 단순하다. 사용자가 관심을 가진 엔티티들과 관련된 데이터를 채울 수 있는 단순한 데이터 엔트리 형태들이 제공되어야 한다. 통상적으로, 데이터 지향 방식은 데이터 엔트리 형태들 세트 또는 시퀀스를 제공함으로써 단순화되는데, 여기서 데이터 엔트리 형태들은 데이터가 현실적으로 수집되는 프로세스를 고수(adhere)한다. 유사하게는, 데이터 질문 시퀀스들 및 갱신 형태들이 제공되는데, 이들은 데이터가 이용되고 정정되는 프로세스들을 고수한다. 하지만, 프로세스 지향 방식에서의 문제점은 데이터가 수집, 이용 및 갱신되는 매우 다양한 프로세스들이 있다는 것이다. 이러한 문제는 유사한 데이터가 다양한 개별 애플리케이션들에서 처리되어야 한다는 사실에 의해 더욱 심각하게 된다. 데이터 검색 및 데이터 엔트리 단계들을 다수의 애플리케이션들로부터 단계들의 하나의 논리적 시퀀스로 통합할 수 있는 것이 중요하다. 전형적으로, 하나의 단계는 소정의 애플리케이션에서 소정의 뷰(view)에 의해 표시된다. 뷰는 입력 사용자 인터페이스 요소들 세트와 정보 사용자 입력 요소들의 조합으로서 정의될 수 있다. 입력 사용자 인터페이스 요소들은 전형적으로 일정 작업을 수행하는데에 사용될 수 있는 요소들이며, 사용자 입력이 요구되는 때에 정상적으로 사용된다. 이러한 요소들은 예를 들어, 라디오 버튼들, 체크박스들, 입력 필드들, 승인(OK) 버튼들 및 취소(Cancel) 버튼들 등이다. 정보 사용자 인터페이스 요소들은 전형적으로 텍스트 및/또는 사진들을 포함하며, 사용자에게 통지하거나 지시하는데에 사용된다. 가령, 접촉(contact) 애플리케이션에서, 검색 워드와 같은 검색 식을 입력하기 위한 하나의 뷰 및 검색 식에 부합하는 모든 접촉들을 디스플레이하기 위한 다른 뷰가 있다. 실제로, 뷰는 전형적으로 사용자에게 디스플레이되는 사용자 인터페이스 형태 또는 윈도우로서 보여질 수 있다. 뷰는 또한 전체 스크린을 커버할 수 있다. 예시적으로, Symbian™ 운영 체제 환경에서 사용하는 경우를 고려하면, 사용자는 새로운 단말기를 보유하고 있으며 단말기의 동작에 요구되는 세팅들을 입력해야 한다. 첫째로, 사용자는 세계 시각 서비스를 위한 시간대(time zone)를 세팅해야 하는데, 여기서 시간대는 서로다른 시간대들에서의 시간을 예시한다. 둘째로, 사용자는 동일한 애플리케이션에서 시간을 설정해야 한다. 셋째로, 사용자는 접촉 애플리케이션에서 자신의 명함의 세부사항들을 특정해야 한다. 넷째로, 사용자는 인터넷 액세스 애플리케이션에서 인터넷 액세스 정보를 특정해야 한다. 다섯째로, 사용자는 메시지 애플리케이션(Messaging Application)에서 이메일 세팅들을 특정해야 한다.
도 1을 참조하면, 사용자가 구입한 새로운 단말기의 셋업에 관련된 세팅들을 입력하기 위한 상술된 프로세스가 도시된다. 도 1은 단말기 셋업 애플리케이션의 뷰 시퀀스를 예시한다. 사용자가 셋업 애플리케이션을 시작하거나 사용자를 대신하여 자동으로 시작된다. 셋업 애플리케이션은 각 필요한 뷰를 하나씩 호출한다. 호출된 뷰들은 서로다른 애플리케이션들에서 구현될 수 있다. 단계(11)에서, "세계 시각(World Clock)" 애플리케이션이 위치 세팅을 위한 뷰에서 시작된다. 사용자는 자신이 현재 있는 국가를 선택해야 한다. 국가가 스크롤가능한 리스트로부터 선택되는 때에, "세계 시각" 애플리케이션이 나타나서 사용자 선택을 단말기 셋업 애플리케이션으로 복귀시킨다. 단계(12)에서, "세계 시각" 애플리케이션이 다시 시작되며, 이번에는 시간 세팅을 위한 뷰가 개시된다. 사용자가 현재시간을 입력한 이후에, "세계 시각" 애플리케이션이 나타나서 사용자 선택을 단말기 셋업 애플리케이션으로 복귀시킨다. 프로세싱은 각 애플리케이션 및 단말기 셋업 애플리케이션에 의해 개시되는 뷰에 대해 유사하게 진행된다. 단계(13)에서, "접촉" 애플리케이션이 또한 자신의 카드 세부사항들을 특정하기 위한 뷰로부터 시작된다. 단계(14)에서, "인터넷 액세스" 애플리케이션이 현재의 범용 전파 서비스(GPRS) 액세스 포인트를 선택하기 위한 뷰로부터 시작된다. 단계(15)에서, "메시지" 애플리케이션은 사용되는 이-메일 서버를 위한 정보를 입력하기 위한 뷰로부터 시작되는데, 여기서 이-메일 서버는 가령, 서버 이름 및/또는 IP-주소를 포함한다. 사용자가 이-메일 서버를 위한 정보를 입력하고 "승인" 버튼을 누르는 때에, "인터넷 액세스" 애플리케이션이 나타나서 입력 정보를 단말기 셋업 애플리케이션으로 복귀시킨다.
도 2를 참조하면, 클라이언트 애플리케이션으로부터 뷰들을 하나씩 호출하기 위한 상술한 일반적인 패턴이 도시된다. 도 2에서, 클라이언트 애플리케이션으로서 동작하는 애플리케이션(100)이 있다. 3개의 다른 애플리케이션들, 즉 애플리케이션들(140, 150 및 170)이 있다. 뷰들(141, 152 및 172)은 애플리케이션(100)에 의해 사용될 것이다. 뷰들은 인터페이스들(143, 153 및 173)에서의 방법에 의해 개시된다. 데이터가 인터페이스들(144, 154 및 174)에서의 리스너 방법(listener method) 들에 의해 뷰들로부터 복귀된다.
예를 들어, 뷰(112)에서, 뷰(112)를 위한 데이터 충전에 있어서 디그레션(digression)(탈선)을 야기하는 버튼 또는 다른 선택이 있을 수 있다. 이 디그레션은 뷰들(141, 152, 172)에서 데이터 엔트리 형태들의 충전을 발생시키며, 정보를 뷰(112)로 복귀시킨다. 예컨대, 사용자에게 버튼이 제공될 수 있는데, 이는 뷰(112)에 관련된 명령(command)의 실행에 필요한 일부 정보들이 조기에 정의되었는지를 검사한다. 예컨대, 애플리케이션(100)은 먼저 인터페이스(143)를 통해 애플리케이션(140)에서 뷰(141)를 개시한다. 이는 뷰(141)와 관련된 사용자 인터페이스 윈도우 또는 형태의 표시를 발생시킨다. 뷰(141)가 나타나는 때에, 가령 사용자에 의한 "승인" 명령의 선택 때문에, 애플리케이션(140)은 인터페이스(145)에서 리스너 방법을 통해 사용자에 의해 충전된 데이터를 애플리케이션(100)으로 복귀시킨다. 본질적으로 유사한 단계들이 애플리케이션(150) 내의 뷰(152)와 애플리케이션(170) 내의 뷰(172)에 대해 반복된다.
도 2에 도시된 것과 같은 사용자 인터페이스 애플리케이션들에서 뷰 체인(view chain)과 관련된 문제점들이 있다. 첫째로, 뷰 개시 시퀀스들은 클라이언트 애플리케이션, 즉 도 2에서의 애플리케이션(100)에 하드-코딩(hard-coding) 되어야 한다. 따라서, 이러한 뷰 체인들, 즉 뷰들 사이의 뷰 리스트(view route)들을 정의하는 어떤 용이하고도 유연성있는 방법이 없다. 이는, 프로그램 코드가 뷰 개시 시퀀스를 명시적으로 특정해야 함을 의미한다. 뷰 개시들 시퀀스를 변경해야 할 필요가 있는 경우에, 애플리케이션(100)을 위한 프로그램 코드는 갱신되어야 한다. 추가적인 단점은, 서버 애플리케이션들, 즉 도 2의 애플리케이션들(140, 150 및 170)에서 임의의 변경이 있는 경우에, 클라이언트 애플리케이션도 역시 갱신되어야 한다는 것이다. 예컨대, 비지니스 카드들과 같은 일부 정보와 관련된 데이터 엔트리 뷰들이 새로운 특성들 때문에 재조정되는 경우에, 이 뷰들을 사용한 모든 애플리케이션이 비록 이 새로운 특성들을 이용하지는 않을 것이지만 갱신되어야 한다.
둘째로, 뷰로부터의 데이터를 뷰를 개시시킨 애플리케이션으로 복귀시키는 어떠한 용이한 방법도 없다. 서버 애플리케이션은 각 뷰를 위한 방법 인터페이스를 공표 및 구현해야 하는데, 이는 다른 애플리케이션들의 사용에 대비하는 것이다. 다른 애플리케이션들은 뷰를 개시하기 위해 이 방법을 호출해야 한다. 사용자가 뷰와 관련된 데이터를 입력하고, "승인"과 같은 명령을 선택한 때에, 방법이 서버 애플리케이션에서 호출된다. 이 방법은 또한 클라이언트 애플리케이션에 의해 공표 및 구현되는 리스너 방법을 호출해야 한다. 바꾸어 말하면, 인터페이스는 본 기술분야의 전문가에게는 익숙한 객체 지향 프로그래밍으로부터의 통상적인 방식으로 사용된다. 이 방법은 상술한 바와같이 유연성이 없고 정적인데, 이는 인터페이스 정의들과 관련된 서버 애플리케이션에서의 각 변화가 클라이언트 애플리케이션을 또한 갱신할 필요를 야기하며, 그 반대 경우도 발생하기 때문이다. 이는 수많은 방식들로 상호연결되어야 하는 다수의 애플리케이션들을 제공하는 시스템에서 복잡한 작업이 될 수 있다. 애플리케이션들의 상호연결은 일반적으로 효과도 없는 노력을 들여 다시 시작해야 하는 즉, "접촉" 애플리케이션 외의 애플리케이션들에서 동일한 데이터(예를 들어, 전화번호부 데이터)를 입력 및 처리해야 하는 문제들을 피할 수 있다.
셋째로, 실시간으로 전체적으로 새로운 뷰 라우터들을 도입 및 개시하는 것이 가능하지 않다. 데이터를 클라이언트와 서버 애플리케이션 사이에서 동적으로 전달하는 일반적인 방식이 필요한데, 이는 개별적인 뷰들의 갱신 및 새로운 뷰 리스트들의 생성을 허용한다.
본 발명은 전자 디바이스에서 사용자 상호작용을 제공하는 방법에 관한 것인데, 상기 전자 디바이스는 적어도 제 1 애플리케이션과 이와 관련된 적어도 하나의 뷰를 갖는 제 2 애플리케이션을 포함한다. 상기 방법에서, 적어도 하나의 뷰를 포함하는 뷰 리스트가 결정되며, 상기 뷰 리스트는 상기 제 1 애플리케이션으로부터 뷰 라우터로 전달되며, 상기 뷰 리스트에 기초하여 적어도 하나의 뷰가 개시되며, 그리고 상기 뷰 리스트의 적어도 일부가 처리되는 때에 상기 제 1 애플리케이션이 계속된다.
본 발명은 또한 적어도 제 1 애플리케이션과 이와 관련된 적어도 하나의 뷰를 갖는 제 2 애플리케이션을 저장하는 시스템에 관한 것이다. 상기 시스템은 적어도 하나의 뷰를 포함하는 뷰 리스트를 결정하기 위한 수단과, 상기 뷰 리스트를 처리함과 아울러 상기 뷰 리스트에 기초하여 적어도 하나의 뷰를 개시하기 위한 뷰 라우터와, 그리고 상기 뷰 리스트의 적어도 일부가 처리된 때에 상기 제 1 애플리케이션을 계속하기 위한 수단을 포함한다.
본 발명은 또한 적어도 제 1 애플리케이션과 이와 관련된 적어도 하나의 뷰를 갖는 제 2 애플리케이션을 저장하는 전자 디바이스에 관한 것이다. 상기 전자 디바이스는, 적어도 하나의 뷰를 포함하는 뷰 리스트를 결정하기 위한 수단과; 상기 뷰 리스트를 처리함과 아울러 상기 뷰 리스트에 기초하여 적어도 하나의 뷰를 개시하기 위한 뷰 라우터와, 그리고 상기 뷰 리스트의 적어도 일부가 처리된 때에 상기 제 1 애플리케이션을 계속하기 위한 수단을 포함한다.
본 발명은 또한 데이터 처리 시스템에서 실행되는 때에 적어도 하나의 뷰를 포함하는 뷰 리스트를 결정하는 단계와, 상기 뷰 리스트를 제 1 애플리케이션으로부터 뷰 라우터로 전달하는 단계와, 상기 뷰 리스트에 기초하여 제 2 애플리케이션과 관련된 적어도 하나의 뷰를 개시하는 단계와, 그리고 상기 뷰 리스트의 적어도 일부가 처리된 때에 상기 제 1 애플리케이션을 계속하는 단계를 수행하는 코드를 포함하는 컴퓨터 프로그램에 관한 것이다.
본 발명의 일 실시예에서, 상기 뷰 리스트가 처리된 때에 상기 제 1 애플리케이션은 재개된다. 상기 뷰 리스트의 종료는 뷰 리스트 리스트를 검사함으로써 결정될 수 있다. 본 발명의 일 실시예에서, 개시된 뷰로부터 존재하는 것은 상기 뷰 리스트에 개시되지않은 다른 뷰들이 여전히 남아있는 경우에도 상기 제 1 애플리케이션이 재개되게 한다.
본 발명의 일 실시예에서, 상기 방법은 상기 적어도 하나의 뷰로부터 데이터를 수집하는 단계, 및 상기 수집된 데이터를 상기 뷰 라우터로부터 상기 제 1 애플리케이션 또는 상기 뷰 리스트의 후속 애플리케이션으로 전달하는 단계를 더 포함한다. 본원에서, 상기 뷰 리스트의 후속 애플리케이션은 상기 뷰 리스트에서 이미 존재하였으며, 제어를 상기 뷰 라우터에 다시 전달한 뷰를 뒤따르는 뷰 및 애플리케이션을 의미한다.
본 발명의 일 실시예에서, 상기 뷰 리스트는 적어도 상기 제 2 애플리케이션 및 이와 관련된 뷰를 식별하는 정보를 포함하는 리스트로서 정의된다. 전형적으로, 상기 리스트는 하나 이상의 엔트리를 포함한다. 각 엔트리는 애플리케이션, 상기 애플리케이션 내의 뷰 및 선택적으로 상기 뷰와 관련된 명령을 특정한다. 상기 리스트는 엔트리들 리스트의 링크가 될 수 있다.
본 발명의 일 실시예에서, 수집된 데이터는 상기 뷰 리스트에서 각 뷰을 위한 엔트리를 포함하는 저널 리스트로 조직화된다. 본 발명의 일 실시예에서, 수집된 데이터는 타입 및 값 쌍들의 리스트로 조직화된다. 상기 데이터 타입 및 값 쌍들은 XML(extensible markup language format)과 같은 마크업 언어 포맷(markup language format)으로 정의될 수 있다.
본 발명의 일 실시예에서, 상기 뷰 라우터는 범용 방법들로 범용 인터페이스를 제공하며, 정보를 개시된 상기 뷰로부터 상기 제 1 애플리케이션 또는 뷰 체인의 후속 애플리케이션으로 복귀시키기 위한 어댑터(adapter)로서 동작한다.
본 발명의 일 실시예에서, 상기 뷰 라우터는 라이브러리로서 구현된다. 본 발명의 다른 실시예에서, 상기 뷰 라우터는 자신의 애플리케이션으로서 구현된다.
본 발명의 일 실시예에서, 상기 뷰 리스트의 적어도 일부는 전자 디바이스의 메모리에 특정된다. 상기 전자 디바이스는 상기 제 1 애플리케이션 및 제 2 애플리케이션들을 실행시킨다. 상기 뷰 리스트의 적어도 일부는 메모리 또는 상기 제 1 애플리케이션과 관련된 위치에서 특정될 수 있다. 상기 뷰 리스트는 전적으로 상기 메모리 영역 또는 위치에 저장된 정보에 기초하여 갱신되거나 결정될 수 있다. 사용자 동작들은 상기 제 1 애플리케이션 또는 이에 선행하는 일부 다른 애플리케이션에서 수행되었을 수 있다. 상기 애플리케이션과 관련된 메모리 영역은 상기 제 1 애플리케이션이나 상기 뷰 라우터가 액세스하는 버퍼 또는 버퍼들의 세트이다. 상기 메모리 영역은 상기 제 1 애플리케이션과 관련된 메모리 세그먼트에 위치되거나, 제 1 애플리케이션이 액세스하는 다른 애플리케이션에 소속되는 세그먼트에 위치될 수 있다.
본 발명의 일 실시예에서, 컴퓨터는 그래픽 사용자 인터페이스를 갖는다. 상기 그래픽 사용자 인터페이스는 예를 들어, Symbian™ 운영 체제, Microsoft Windows® 또는 다른 운영 체제에 기반할 수 있다. 상기 뷰는 데이터 엔트리 또는 데이터 디스플레이와 관련될 수 있는 사용자 인터페이스 요소들을 포함할 수 있다. 상기 뷰는 전체 디스플레이 영역을 커버하거나, 상기 뷰가 개시되는 때에 개방되는 개별 윈도우 내에 있을 수 있다.
본 발명의 일 실시예에서, 컴퓨터 프로그램은 컴퓨터 판독가능 매체상에 저장된다. 상기 컴퓨터 판독가능 매체는 착탈가능한 메모리 카드, 자기 디스크, 광 디스크 또는 자기 테이프가 될 수 있다.
본 발명의 일 실시예에서, 상기 전자 디바이스는 이동 디바이스, 예를 들어 랩탑 컴퓨터, 팜탑 컴퓨터, 이동 단말기 또는 개인 디지털 어시스턴트(PDA)이다. 본 발명의 일 실시예에서, 상기 전자 디바이스는 데스크톱 컴퓨터 또는 임의의 다른 컴퓨팅 디바이스들이다.
본 발명의 이점들은 애플리케이션 사용자 인터페이스 설계에서 유연성 개선에 관련된다. 본 발명은 클라이언트와 서버 애플리케이션 사이에서 데이터를 동적으로 전달하는 일반적인 방식을 제공한다. 본 발명은 다른 애플리케이션들을 갱신할 필요없이 소정의 애플리케이션 내에서 개별적인 뷰들의 갱신을 허용한다. 예를 들어, 클라이언트 애플리케이션은 상기 클라이언트 애플리케이션이 뷰들을 개시하는 서버 애플리케이션들의 변경없이 갱신될 수 있다. 일 애플리케이션에서의 변경은 자동으로 다른 애플리케이션들을 갱신할 필요성을 도입하지 않는다. 더욱이, 본 발명에서, 심지어 애플리케이션 실행 시간 동안에도 새로운 뷰 리스트들을 동적으로 정의하는 것이 가능하다.
본 발명의 추가적 이해를 제공함과 아울러 본원 명세서의 일부를 구성하도록 포함되는 첨부 도면들은 본 발명의 실시예들을 도시하며, 상세한 설명과 함께 본 발명의 원리들의 설명을 돕는다.
도 1은 종래 기술의 단말기 셋업 애플리케이션의 뷰 시퀀스를 예시하는 블록도이다.
도 2는 뷰 리스트를 호출하는 종래 기술의 사용자 인터페이스 애플리케이션을 예시하는 블록도이다.
도 3은 본 발명에 따라 사용자 인터페이스 애플리케이션에 의해 사용되는 뷰 리스트를 도시하는 블록도이다.
도 4는 본 발명에 따라 뷰 리스트를 정의하기 위한 데이터 구조를 예시하는 블록도이다.
도 5는 본 발명에 따라 뷰 리스트 저널 데이터(journal data)를 저장하기 위한 데이터 구조를 예시하는 블록도이다.
도 6는 본 발명에 따라 도 3의 뷰 라우터를 사용하여 뷰 라우팅 방법의 일 실시예를 도시하는 흐름도이다.
도 7은 본 발명에 따라 전자 디바이스를 도시한다.
도 8은 본 발명에 따라 컴퓨터를 도시한다.
예시들이 첨부 도면들에서 도시되는 본 발명의 실시예들에 대한 상세한 참조가 있을 것이다.
도 3은 본 발명의 일 실시예에서 사용자 인터페이스 애플리케이션에 의해 사용되는 뷰 라우터를 도시하는 블록도이다. 애플리케이션(310)은 뷰 체인, 즉 뷰 리스트를 호출할 필요가 있는 사용자 인터페이스 애플리케이션인데, 여기서 상기 뷰 리스트에서의 뷰는 다른 애플리케이션들에 의해 서비스제공된다. 우선, 상기 뷰(312)는 활성이며, 사용자에게 디스플레이된다. 상기 뷰는 데이터 엔트리 필드들, 스크롤가능한 바들을 갖는 선택 리스트들, 라디오 버튼들 및 다른 유사한 사용자 인터페이스 요소들을 포함할 수 있다. 뷰(312)는 동작 명령을 제공하기 위한 사용자 인터페이스 요소를 포함한다. 상기 요소는 예를 들어, 버튼, 메뉴 항목 또는 다른 제어 객체가 될 수 있다. 상기 요소의 선택은 뷰 리스트를 처리하게 한다. 상기 뷰 리스트는 메모리 영역 또는 애플리케이션(310)과 관련된 위치에 특정될 수 있거나, 상기 뷰 리스트는 애플리케이션(310) 또는 다른 위치에서의 이전 사용자 동작들에 기초하여 결정된다. 유사하게는, 상기 뷰 리스트의 단지 적어도 일부만이 미리 특정될 수 있으며, 다른 뷰들은 애플리케이션(310)에서의 프로세스의 진행 동안에 또는 임의의 이전에 활성 애플리케이션에서의 프로세스의 진행 동안에 동적으로 상기 뷰 리스트에 추가될 수 있다.
도 3의 뷰 리스트는 애플리케이션(320)으로부터의 뷰(321), 애플리케이션(330)으로부터의 뷰(331) 및 애플리케이션(340)으로부터의 뷰(341)를 상기 순서로 포함한다. 뷰들, 애플리케이션들 및 일 애플리케이션 내의 뷰들의 정확한 개수는 결코 제한적이지 않으며, 이는 단지 예시적 목적을 위한 것이다. 원하는 뷰 리스트상의 정보는 인터페이스(301)에서 일반적인 뷰 리스트 호출 방법을 호출함으로써 애플리케이션(310)으로부터 뷰 라우터(300)에 제공된다. 두 애플리케이션들 사이에서 정보 전달 및 호출 방법들은 화살표들(313, 323, 333 및 343)과 같은 화살표들을 사용하여 도시된다. 뷰 라우터(300)에서 방법의 구현은 뷰 리스트 정보의 처리로 시작한다. 뷰 리스트는 가능한한 다른 애플리케이션들에서 조기에 만들어진 사용자 전문지식 레벨과 같은 다양한 조건들 및 선택들에 의존하여 런-타임 동안에 애플리케이션(310)에 의해 결정되었을 것이다. 먼저, 뷰 라우터(300)는 인터페이스(322)와 관련된 방법을 호출함으로써 애플리케이션(320)에서 뷰(321)를 개시한다. 이러한 과정 동안에 사용자는 데이터를 뷰(321)과 관련된 사용자 인터페이스에 입력시킨다. 사용자가 뷰(321)를 종료시키는 사용자 인터페이스 요소, 예를 들어 "승인" 버튼을 선택하는 때에, 애플리케이션(320)은 뷰 라우터(300)와 관련된 인터페이스(302)에서 리스너 방법을 호출한다. 이를 수행하기 이전에, 애플리케이션(320)은 미래의 사용을 위해 사용자가 입력한 데이터를 메모리에 저장하였을 것이다. 리스너 방법은 일반적인 방법인데, 이는 서버 애플리케이션(예를 들어, 애플리케이션(320)), 클라이언트 애플리케이션(예를 들어, 애플리케이션(310)) 및 뷰와 관계없이 동일한 파라메터들을 가짐을 의미한다. 이런 식으로, 클라이언트 애플리케이션과 관련된 세부사항들은 숨겨진다. 뷰 리스트에 여전히 계류중인 뷰들이 있는 때에, 뷰 라우터(300)는 제 2 뷰(즉, 인터페이스(332)를 통해 애플리케이션(330) 내의 뷰(331))를 개시함으로써 계속된다. 본 발명의 일 실시예에서, 애플리케이션(330)에는 사용자에 의해 입력된 데이터와 같은 애플리케이션(320)에 의해 수집된 정보가 전달된다. 일반적으로, 애플리케이션 내에서 개시된 뷰에는 이미 처리된, 뷰 리스트의 일부에 의해 수집된 정보가 전달된다. 이런 식으로, 앞선(earlier) 뷰는 후속 뷰에 정보를 전달한다. 이후에, 프로세싱은 전체 뷰 리스트가 처리될 때까지 계속된다.
전체 뷰 리스트가 처리된 때에, 뷰 라우터(300)는 애플리케이션(310)의 인터페이스(314)에서 리스너 방법을 호출한다. 본 발명의 일 실시예에서, 리스너 방법은 뷰 리스트에 의해 수집된 정보를 애플리케이션(310)에 제공한다. 사용자에 의해 입력된 일부 정보는 단지 애플리케이션(310)의 메모리에만 저장되는 반면에, 일부 정보는 뷰들이 개시된 애플리케이션들에서 이미 저장되어 있을 수 있다. 본 발명의 일 실시예에서, 각 뷰에 의해 수집된 정보는 저널 리스트로 모여진다. 애플리케이션에 전달된 정보의 분석은 애플리케이션(310) 또는 여전히 뷰 리스트에 있는 애플리케이션에 달려 있다. 저널 리스트를 검사함으로써, 뷰 리스트에서 아직 개시되지 않은 뷰 또는 애플리케이션(310)이 이미 개시 및 처리된 각 뷰에서 무슨 정보가 수집되어 있는지를 결정할 수 있다.
고려될 필요가 있는 두가지 양상들이 있다. 첫째로, 서비스를 제공하는 애플리케이션(이하, 제공자 또는 서비스 제공자)이 무엇을 다른 애플리케이션들에게 제공하는 지이다. 둘째로, 다른 애플리케이션들의 서비스를 이용하는 애플리케이션(이하, 클라이언트 애플리케이션)이 무엇을 해야 할지이다. 무엇보다도, 서버 애플리케이션(예를 들어, 320)은 클라이언트 애플리케이션 및 제공자 모두를 위한 뷰들, 명령들 및 데이터 구조들의 구현을 담당한다. 이는 애플리케이션을 위한 특정 헤더를 정의, 구현 및 보급한다. 라우트에서 데이터 또는 저널의 세팅은 즉시처리(line) 기능들로서 구현되는데, 이는 요구된 데이터를 플랫 버퍼(flat buffer)로 랩(wrap) 하는데에 어떠한 라이브러리도 요구되지 않음을 의미한다.
클라이언트 애플리케이션은 당연히 라우트에서 일정 명령 및 경로들에 대해 무슨 데이터가 필요한지를 알아야 한다. 반면에, 제공자는 경로에서 다른 데이터 또는 명령이 무엇을 의미하는지를 알거나 이해할 필요가 없다. 단지, 제공자는 자신이 요구한 명령들을 적절히 처리하는 방법을 알 필요가 있다.
도 4는 본 발명의 일 실시예에서 도 3의 뷰 라우터(300)와 같은 뷰 라우터에 대한 뷰 리스트를 정의하기 위한 데이터 구조를 도시하는 블록도이다. 데이터 구조는 리스트(400)이다. 리스트는 엔트리들(410, 420 및 430)을 포함한다. 각 엔트리는 애플리케이션 UID를 특정하는데, 이는 개시되는 뷰를 갖는 애플리케이션을 결정하기 위해 라우터(300)에 의해 사용된다. 뷰는 뷰 UID를 사용하여 식별된다. 만일 뷰와 관련된 명령이 개시와 관련하여 호출되는 경우에, 명령 UID가 이를 특정한다. 상기 명령은 전형적으로 파인드(find)와 같은 뷰와 관련된 방법이다. 예를 들어, 상기 방법은 개시 방법 호출과 관련하여 제공되는 키 식별자와 관련된 데이터를 페치(fetch)할 수 있다. 데이터 필드(Data Field)는 개시되는 뷰로 전달되는 데이터를 포함한다. 개시되는 뷰는 애플리케이션 UID와 뷰 UID에 의해 특정된 것이다. 후속 단계 색인 필드는 뷰 리스트 리스트에서 후속 엔트리에 대한 포인터를 제공한다. 리스트의 최종 엔트리에서, 후속 단계 색인 필드는 예를 들어, 널 포인터(null pointer)를 포함한다. 일 실시예에서, 뷰 리스트 정보는 XML(extensible markup language) 문서를 사용하여 특정될 수 있다. 본 실시예에서, 뷰 라우터(300)는 뷰 리스트를 결정하기 위해 XML 문서를 분석한다.
도 5는 본 발명의 일 실시예에서 뷰 리스트 저널 데이터를 저장하기 위한 데이터 구조를 도시하는 블록도이다. 데이터 구조는 리스트(500)이다. 저널 리스트(Journal List)는 각 애플리케이션으로부터 복귀된 데이터를 포함한다. 각 애플리케이션에 대한 엔트리가 있다. 도 5는 엔트리들(510, 520 및 530)을 포함한다. 식별자 애플리케이션 UID는 엔트리를 위한 데이터를 남겨놓은 애플리케이션을 특정한다. 식별자 뷰 UID는 엔트리를 위한 데이터를 남겨놓은 애플리케이션 내의 뷰를 특정한다. 복귀되는 데이터는 데이터 필드에 포함된다. 후속 데이터 필드는 저널 리스트에서 후속 엔트리에 대한 포인터를 제공한다. 최종 엔트리에서, 이 필드는 예를 들어, 널 포인터를 제공한다. 저널 리스트는 데이터를 다시 호출한 애플리케이션으로 복귀시키는데에 사용된다. 이는 임의 타입의 데이터 및 임의 개수의 저널 엔트리들을 포함할 수 있다.
본 발명의 일 실시예에서, 저널 리스트 정보는 XML(extensible markup language) 문서를 사용하여 특정될 수 있다. 본 실시예에서, 뷰 리스트에서 후속 애플리케이션 또는 클라이언트 애플리케이션(예를 들어, 도 3의 애플리케이션(310))은 저널 리스트를 결정하기 위해 XML 문서를 분석한다. 일 실시예에서, 저널 데이터는 애플리케이션 및 뷰 마다 조직화되지 않고 데이터 타입마다 조직화된다. 이는, 저널이 타입 및 값 쌍들의 세트를 포함한다는 것을 의미한다. 저널에 존재하는 타입들을 검사함으로써, 도 3의 애플리케이션 또는 뷰 리스트에서 후속 애플리케이션이 데이터 사용자가 무엇을 충전하였는지를 결정할 수 있다. 예를 들어, 만일 "전화 번호" 타입이 존재하는 경우에, 사용자가 필드들 중 하나에 전화 번호를 충전하였음을 나타낸다. 전형적으로, 타입 및 값 쌍들은 XML 포맷으로 제공된다.
도 6은 도 3의 뷰 라우터를 사용하여 뷰 라우팅 방법의 일 실시예를 도시하는 블록도이다. 단계(600)에서, 클라이언트 애플리케이션은 뷰 리스트를 시작해야 함을 결정한다. 이는 사용자의 이전의 선택들 및 도 3의 애플리케이션(310)에서 검출된 일부 다른 조건들 때문이다. 예컨대, 애플리케이션(310)이 도 1에 도시된 바와같이 단말기 셋업 애플리케이션인 경우에, 필요한 사용자 파라메터들이 존재하지 않는 것으로 애플리케이션(310)에서 결정되었을 수 있다.
단계(602)에서, 분실 사용자 파라메터들 세트를 검사함으로써, 애플리케이션(310)은 사용자에게 이 파라메터들을 알려주기 위해 무슨 뷰들이 개시되어야 하는지를 결정한다. 뷰 리스트가 도 3에 도시된 바와같이 애플리케이션들(320, 330 및 340)로부터의 뷰를 포함해야 함을 애플리케이션(310)이 결정하는 것으로 가정한다. 본 발명의 일 실시예에서, 뷰 리스트의 결정은 일부 다른 애플리케이션들에 의해서도 수행될 수 있는데, 여기서 다른 애플리케이션들은 애플리케이션(310)이 작업을 위해 호출하는 것이며, 결정된 뷰 리스트를 다시 애플리케이션(310)으로 복귀시킨다. 뷰 리스트 결정자 애플리케이션은 애플리케이션(310)에 의해 표시되는 분실 정보 요소 타입들에 기초하여 뷰 결정을 수행할 수 있다. 뷰 리스트는 또한 이전에 메모리에 저장된 분실 정보를 사용하여 결정될 수 있다. 본 발명의 일 실시예에서, 뷰 결정 애플리케이션은 도 3의 뷰 라우터(300)이다. 단계(604)에서, 애플리케이션(310)은 뷰 라우터(300)를 호출한다. 본 발명의 일 실시예에서, 뷰 라우터는 애플리케이션(310)에 링크된 라이브러리이다. 본 발명의 다른 실시예에서, 뷰 라우터는 개별 애플리케이션이다. 애플리케이션(310)은 인터페이스(301)와 관련된 방법을 호출한다. 뷰 라우터(300)에는 뷰 리스트 정보가 전달된다. 본 발명의 일 실시예에서, 뷰 리스트는 도 4에 도시된 바와같이 구조화된다. 뷰 리스트는 애플리케이션(310)에 의해 구성되는 객체이다. 실제 구성은 뷰들을 뷰 리스트에 추가시키기 위한 방법 호출들에 의해 발생한다.
단계(606)에서, 도 3의 뷰 라우터(300)는 뷰 리스트 엔트리 리스트에서 후속 항목에 관한 정보를 추출한다. 예를 들어, 현재 뷰가 애플리케이션(320) 내의 뷰(321)임을 가정한다. 단계(608)에서, 뷰 라우터(300)는 현재 뷰 리스트 리스트 엔트리에서 표시된 뷰를 개시한다. 뷰 라우터(300)는 뷰를 개시하는 방법을 결정하기 위해 애플리케이션 UID, 뷰 UID 및 명령 ID 파라메터들을 이용한다. 데이터 파라메터 콘텐츠가 개시된 뷰에 전달된다. 본 발명의 일 실시예에서, 뷰 리스트로부터 이전에 처리된 뷰들에 의해 수집된 데이터는 뷰가 개시되는 애플리케이션에 전달된다. 수집된 데이터는 도 5에 도시된 바와같이 저널 엔트리 리스트 형태이다. 본 발명의 일 실시예에서, 인터페이스(322)와 관련된 방법이 호출되도록 뷰가 개시된다. 데이터 파라메터는 방법 파라메터들을 나타낸다. 저널 엔트리 리스트에 대한 추가 파라메터가 있을 수 있다. 사용자가 뷰에 대한 일부 데이터를 채운 때에, 애플리케이션(320)은 채워진 데이터를 획득하며, 적어도 일부를 뷰 라우터(300)에 복귀시킨다. 본 발명의 일 실시예에서, 사용자에 의해 입력된 일부 데이터는 이미 애플리케이션(320)에 있는 메모리에 저장될 수 있다. 애플리케이션(320)은 인터페이스(302)와 관련된 리스너 방법을 호출한다. 도 3에 도시된 바와같이, 리스너 방법 및 인터페이스는 뷰 리스트의 모든 애플리케이션들 및 뷰에 대해 유사하다. 이런 식으로, 이들은 뷰 라우터(300)를 호출한 애플리케이션에 의존하지 않는다. 단계(610)에서, 저널 데이터가 뷰 라우터(300)에 의해 수집되어야 하는지를 체크한다. 단계(612)에서, 뷰 라우터는 애플리케이션(320)에 의해 복귀된 데이터에 관한 저널 엔트리를 형성한다.
단계(614)에서, 뷰 라우터(300)는 뷰 리스트에 더 많은 뷰들이 있는지를 결정한다. 본 발명의 일 실시예에서, 상기 결정은 뷰 리스트 리스트에 더 많은 엔트리들이 있는지를 체크하는 것을 포함한다. 본 발명의 일 실시예에서, 일반적으로 뷰 리스트로부터 뷰 처리를 계속해야 하는지가 결정된다. 예컨대, 뷰 라우터(300)는 사용자가 이미 요구되는 모든 데이터를 입력하였으며, 뷰 리스트에서 잔여 뷰들을 처리할 필요가 없음을 결정할 수 있다. 또한, 사용자가 마지막 뷰의 처리 동안에 선택했을 가능성이 있는데, 이는 뷰 리스트로부터 더 많은 뷰들을 처리할 필요가 없음을 나타낸다. 예컨대, 사용자는 뷰 리스트에 관한 정보 엔트리 처리를 중지하는 결정의 선택을 할 수 있다. 만일 처리되어야 할 더 많은 엔트리들이 있는 경우에, 방법은 단계(606)에서 계속된다.
단계(616)에서, 뷰 리스트의 뷰들에 의해 수집된 데이터는 애플리케이션(310)으로 복귀된다. 모든 사용자 입력 데이터가 뷰 체인에서의 애플리케이션들에 의해 저장되었지만은, 정보의 일부 상태는 애플리케이션(310)으로 복귀될 수 있다. 본 발명의 일 실시예에서, 수집된 데이터는 도 5에 도시된 바와같이 저널 엔트리 리스트의 형태이다. 뷰 라우터(300)는 인터페이스(314)와 관련된 애플리케이션(310)에서 리스너 방법을 호출한다. 이런 식으로, 제어는 애플리케이션(310) 내의 뷰(312)로 복귀된다. 단계(618)에서, 클라이언트 애플리케이션은 류 라우트의 뷰들에 의해 수집된 정보를 필요로 하였던 작업을 종료한다. 이후에, 클라이언트 애플리케이션은 종료된다.
도 7은 이동 단말기와 같은 전자 디바이스(700)가 뷰 라우팅 방법을 이용하는 본 발명의 일 실시예를 도시한다. 이동 디바이스는 컴퓨터 프로그램을 실행하도록 조직화되는데, 여기서 컴퓨터 프로그램은 본원에서 개시된 본 발명과 관련된 기능들을 구현한다. 전자 디바이스(700)는 키패드(710), 기능 키들(720 및 724), 디스플레이(730) 및 포인터 디바이스(722)를 갖는다. 디스플레이(730)는 다양한 애플리케이션들에 관한 뷰가 디스플레이되는 그래픽 사용자 인터페이스(740)를 도시한다. 본 발명의 뷰 라우팅 방법은 그래픽 사용자 인터페이스(740)와 관련된 뷰 리스트들을 처리하는데에 사용된다. 본 발명의 다른 실시예들에서, 이동 디바이스는 다른 타입들의 디스플레이들, 키보드들 또는 다른 입력 디바이스들 및 포인터 디바이스들을 갖는다. 본 발명의 일 실시예에서, 이동 디바이스는 이동 네트워크, 예를 들어 범용 이동 통신 서비스(UMTS), 이동 통신 글로벌 시스템(GSM) 네트워크 또는 무선 근거리망(WLAN)에 접속된다.
도 8은 컴퓨터(800)가 뷰 라우팅 방법을 이용하는 본 발명의 일 실시예를 도시한다. 컴퓨터는 컴퓨터 프로그램을 실행하도록 조직화되는데, 여기서 컴퓨터 프로그램은 본원에서 개시된 본 발명과 관련된 기능들을 구현한다. 컴퓨터(800)는 디스플레이(810), 키보드(820), 버튼들(824 및 826)을 갖는 포인터 디바이스(822)를 갖는다. 디스플레이는 그래픽 사용자 인터페이스(811)를 제공한다. 그래픽 사용자 인터페이스(811)는 윈도우들(812 및 814)을 포함한다. 윈도우(814)상에서 텍스트 필드(815) 및 2개의 명령 버튼들(816 및 818)이 있다. 예컨대, 윈도우(814)는 본 발명에 따라 뷰 리스트 처리와 관련하여 개시된 뷰가 될 수 있다. 도 8에서, 컴퓨터(800)은 현재의 랩탑 컴퓨터와 유사하지만은, 본 발명은 데스크톱 컴퓨터들, 핸드헬드 컴퓨터들, 팜탑 컴퓨터들 및 대형 워크스테이션들에도 또한 애플리케이션가능하다. 본 발명은 임의 타입들의 사용자 인터페이스들, 예를 들어 텍스트 기반 사용자 인터페이스들, 그래픽 사용자 인터페이스들 및 단순한 음성 기반 사용자 인터페이스들에 애플리케이션가능하다.
다음으로, 본 발명은 일부 사용례들에 의해 예시된다. 제 1 사용례는 뷰 리스트들의 생성 및 이들의 전환의 단순성을 보여준다.
개별 애플리케이션들은 위치, 시간, 인터넷 액세스 포인트(Internet access Point), 이-메일 세팅들 등과 같은 데이터를 셋업하기 위해 자신의 뷰 스위치들을 지원할 것이다. 디바이스 시작 애플리케이션(Device Start-up application)은 하기내용으로 구성되는 뷰 리스트를 생성할 수 있다.
<World Clock, Set Location, "">
<World Clock, Set Time, "">
<Internet access, Create new access point, "">
<Messaging, Create new Setting, "E-Mail">
<Device Start-up, Finish, "">
상기 항목들은 <애플리케이션 식별자, 명령, 데이터> 포맷으로 된다. 기호("")는 어떤 데이터도 전달될 필요가 없음을 의미한다.
세계 시각 애플리케이션은 뷰 리스트를 수신하고, 최상부 항목을 택할 것이다. 이후에, 위치 뷰의 디스플레이를 허용하고, 사용자가 위치를 선택하도록 요구할 것이다. 일단 사용자가 하나의 위치를 선택하면, 애플리케이션은 뷰 라우팅 코드, 즉 뷰 라우터에게 라우트를 계속하도록 요청할 것이다. 이는 세계 시각이 다시 호출되게 하지만, 이번에는 시간을 세팅하게 할 것이다. 일단 사용자가 시간을 세팅하면, 다시 세계 시각 애플리케이션은 뷰 라우터에게 후속 뷰로 진행하도록 요청할 것이다. 이는 인터넷 액세스 애플리케이션으로의 뷰 스위치를 야기할 것이며, 여기서 인터넷 액세스 애플리케이션은 사용자에게 새로운 인터넷 액세스 포인트를 생성하도록 요청한다. 일단 사용자가 액세스 포인트를 생성하면, 인터넷 세팅들 애플리케이션(Internet Settings application)이 뷰 라우터에게 후속 뷰로 진행하도록 요청할 것인데, 이 경우에 후속 뷰는 메시지 애플리케이션이다.
이후에, 메시지 애플리케이션은 사용자에게 새로운 이메일 계정을 생성하도록 요청하고, 일단 생성되면, 메시지 애플리케이션은 뷰 라우터에게 뷰 리스트를 계속하도록 요청하는데, 이는 다시 전체 뷰 리스트를 시작한 애플리케이션, 즉 디바이스 시작 애플리케이션을 야기할 것이다.
디바이스 시작 애플리케이션은 마지막 뷰 리스트 메시지를 수신하여, 다른 애플리케이션들에 대한 자신의 요구가 완료되었으며, 따라서 존재하고 있음을 알게 된다.
제 2 사용례는 시간의 세팅 이후에 소유자 정보의 셋업을 추가해야 할 필요를 예시한다. 이는 뷰 라우터를 사용함으로써 용이하게 된다. 상기 라우트는 단지 하기내용으로 변경된다.
<World Clock, Set Location, "">
<World Clock, Set Time, "">
<Contacts, Set Contact details, "Own card">
<Internet access, Create new access point, "">
<Messaging, Create new Setting, "E-Mail">
<Device Start-up, Finish, "">
호출자 이외의 어떤 애플리케이션도 변경될 필요가 없다. 세계 시각 애플리케이션이 시간 세팅을 종료한 이후에, 접촉들 애플리케이션이 스위칭 되며, 개인 세부사항들이 입력된다.
이후에, 접촉들 애플리케이션은 뷰 라우터에게 후속 뷰, 즉 인터넷 액세스 포인트 애플리케이션을 계속하도록 요청한다.
제 3 사용례는 애플리케이션들 사이에서 데이터의 전달을 예시한다. 사용자가 노트 문서(note document)를 선택하고, 이후에 텍스트를 워드 프로세싱 애플리케이션으로 옮기도록 요청하고자 한다. 이를 수행하는 하나의 방법은 하기 뷰 리스트를 생성 및 개시하는 워드 프로세싱 애플리케이션에 의하는 것이다.
<Note taker, Select document, "", "">
<Word processor, Insert text, "", "">
상기 포맷은 <애플리케이션, 명령, 명령을 위한 데이터, 이전 명령으로부터 복귀된 데이터>가 된다. 따라서, 일단 노트 애플리케이션이 사용자로 하여금 노트를 선택하게 하면, 잔여 뷰 리스트는 하기내용이 될 것이다.
<Word processor, Insert text, "", text from note>
노트 애플리케이션은 후속 뷰 리스트 엔트리에 관해 알 필요없이 데이터를 후속 뷰 리스트 엔트리에 추가하였다. 노트 애플리케이션은 뷰 리스트가 비어있지 않음을 알게 되고, 뷰 라우터에게 뷰 리스트를 계속하도록 요청할 것인데, 여기서 뷰 리스트는 이제 노트들 애플리케이션으로부터 전달된 데이터를 또한 갖게 된다. 이것은 뷰가 워드 프로세싱 애플리케이션으로 스위칭 되게 하며, 이는 텍스트를 현재 문서에 삽입시킬 것이다.
제 4 사용례는 확장된 데이터 전달을 예시한다. 노트가 워드 프로세서에 삽입되기 이전에 노트를 불어로 번역하기를 원한다. 이를 달성하는 하나의 방법은 하기 뷰 리스트를 생성하는 워드 프로세서에 의한 것이다.
<Note taker, Select document, "", "">
<Translator, Translator text, "French", "">
<Word processor, Insert text, "", "">
노트를 선택하는 노트들 애플리케이션이 종료된 이후에, 뷰 리스트는 하기내용이 될 것이다.
<Translator, Translate text, "French", notes text>
<Word processor, Insert text, "", "">
이후에, 뷰 라우터에게 뷰 리스트를 계속하도록 요청할 것인데, 이에 의해 번역을 하기 위해 번역기로 스위칭 될 것이다.
일단 사용자가 번역을 확인하면, 뷰 리스트는 하기내용과 같을 것이다.
<Word processor, Insert text, "", translated text>
번역 애플리케이션은 라우트가 비어있지 않았던 것으로 결론지으며, 뷰 라우터에게 뷰 리스트를 계속하도록 요청할 것인데, 이에 의해 워드 프로세서로 스위칭 되며, 번역된 텍스트를 삽입시킬 것이다.
라우트 동안 어느 시점에서도, 애플리케이션들로의 스위칭이 후속 뷰 리스트를 인식할 필요가 없게 되었다. 단지 뷰 스위치로부터 무슨 데이터를 전달해야 할지를 알아야만 했는데, 이는 애플리케이션들 자신이 정의하는 것이다.
기술이 진보함에 따라, 본 발명의 기본 사상은 다양한 방식들로 구현될 수 있음이 기술분야의 당업자에게는 자명할 것이다. 따라서, 본 발명 및 그 실시예들은 상술된 예들에 국한되지 않으며, 청구범위의 범주 내에서 변할 수 있다.

Claims (62)

  1. 적어도 제 1 애플리케이션(application)과 제 2 애플리케이션을 포함하는 전자 디바이스에서 사용자 상호작용을 제공하는 방법에 있어서, 상기 제 2 애플리케이션은 적어도 하나의 뷰를 포함하고, 상기 적어도 하나의 뷰는 상기 제 2 애플리케이션에 의해 제공되며, 상기 방법은,
    상기 적어도 하나의 뷰에 대한 뷰 리스트(view list)를 결정하는 단계;
    상기 뷰 리스트를 상기 제 1 애플리케이션으로부터 뷰 라우터(view router)로 전달하는 단계;
    상기 뷰 리스트에 기초하여 적어도 하나의 뷰를 개시하는 단계; 그리고
    상기 뷰 리스트에 포함된 상기 적어도 하나의 뷰가 개시되면, 상기 제 1 애플리케이션을 재개하는 단계를 포함하는 것을 특징으로 하는 전자 디바이스에서 사용자 상호작용 제공 방법.
  2. 제 1항에 있어서,
    상기 적어도 하나의 뷰로부터 데이터를 수집하는 단계; 그리고
    상기 데이터를 상기 뷰 라우터로부터 상기 제 1 애플리케이션 또는 상기 뷰 리스트의 후속 애플리케이션으로 전달하는 단계를 더 포함하는 것을 특징으로 하는 전자 디바이스에서 사용자 상호작용 제공 방법.
  3. 제 1항에 있어서,
    상기 뷰 리스트는 적어도 상기 제 2 애플리케이션 및 이와 관련된 뷰를 식별하는 정보를 포함하는 리스트로서 정의되는 것을 특징으로 하는 전자 디바이스에서 사용자 상호작용 제공 방법.
  4. 제 2항에 있어서,
    상기 데이터는 상기 뷰 리스트에서 각 뷰을 위한 엔트리(entry)를 포함하는 저널 리스트(journal list)로 조직화되는 것을 특징으로 하는 전자 디바이스에서 사용자 상호작용 제공 방법.
  5. 제 2항에 있어서,
    상기 데이터는 유형 및 값 쌍들의 리스트로 조직화되는 것을 특징으로 하는 전자 디바이스에서 사용자 상호작용 제공 방법.
  6. 제 5항에 있어서,
    상기 데이터 유형 및 값 쌍은 마크업 언어 포맷(markup language format)인 것을 특징으로 하는 전자 디바이스에서 사용자 상호작용 제공 방법.
  7. 제 2항에 있어서,
    상기 뷰 라우터는 범용 인터페이스를 제공하며, 개시된 상기 적어도 하나의 뷰로부터 상기 제 1 애플리케이션 또는 상기 뷰 리스트의 후속 애플리케이션으로 데이터를 복귀시키기 위한 어댑터(adapter)로서 동작하는 것을 특징으로 하는 전자 디바이스에서 사용자 상호작용 제공 방법.
  8. 제 1항에 있어서,
    상기 전자 디바이스는 그래픽 사용자 인터페이스를 갖는 것을 특징으로 하는 전자 디바이스에서 사용자 상호작용 제공 방법.
  9. 제 1항에 있어서,
    상기 뷰는 사용자 인터페이스 요소들을 포함하는 것을 특징으로 하는 전자 디바이스에서 사용자 상호작용 제공 방법.
  10. 제 8항에 있어서,
    상기 뷰는 상기 개시 단계 동안에 오픈되는 개별 윈도우인 것을 특징으로 하는 전자 디바이스에서 사용자 상호작용 제공 방법.
  11. 제 1항에 있어서,
    상기 전자 디바이스는 Symbian™ 운영 체제 디바이스인 것을 특징으로 하는 전자 디바이스에서 사용자 상호작용 제공 방법.
  12. 제 1항에 있어서,
    상기 뷰 리스트의 적어도 일부는 상기 전자 디바이스의 메모리에서 특정되는 것을 특징으로 하는 전자 디바이스에서 사용자 상호작용 제공 방법.
  13. 제 12항에 있어서,
    상기 뷰 리스트는 사용자 동작들에 기초하여 갱신되는 것을 특징으로 하는 전자 디바이스에서 사용자 상호작용 제공 방법.
  14. 제 1항에 있어서,
    상기 뷰 리스트는 사용자 동작들에 기초하여 결정되는 것을 특징으로 하는 전자 디바이스에서 사용자 상호작용 제공 방법.
  15. 적어도 제 1 애플리케이션과 적어도 하나의 뷰를 갖는 제 2 애플리케이션을 포함하는 시스템에 있어서,
    상기 적어도 하나의 뷰를 포함하는 뷰 리스트를 결정하기 위한 수단;
    상기 뷰 리스트를 처리하여 상기 뷰 리스트에 기초하여 적어도 하나의 뷰를 개시하기 위한 뷰 라우터; 그리고
    상기 뷰 리스트에 포함된 상기 적어도 하나의 뷰가 개시되면, 상기 제 1 애플리케이션을 재개하기 위한 수단을 포함하는 것을 특징으로 하는 시스템.
  16. 제 15항에 있어서,
    상기 뷰 라우터는 상기 적어도 하나의 뷰로부터 데이터를 수집하고, 상기 데이터를 상기 제 1 애플리케이션 또는 상기 뷰 리스트의 후속 애플리케이션으로 전달하는 것을 특징으로 하는 시스템.
  17. 제 15항에 있어서,
    상기 뷰 리스트는 적어도 상기 제 2 애플리케이션 및 이와 관련된 뷰를 식별하는 정보를 포함하는 리스트로서 정의되는 것을 특징으로 하는 시스템.
  18. 제 16항에 있어서,
    상기 데이터는 상기 뷰 리스트에서 각 뷰을 위한 엔트리를 포함하는 저널 리스트로 조직화되는 것을 특징으로 하는 시스템.
  19. 제 16항에 있어서,
    상기 데이터는 유형 및 값 쌍들의 리스트로 조직화되는 것을 특징으로 하는 시스템.
  20. 제 16항에 있어서,
    상기 데이터 유형 및 값 쌍은 마크업 언어 포맷인 것을 특징으로 하는 시스템.
  21. 제 15항에 있어서,
    상기 뷰 라우터는 범용 인터페이스를 제공하며, 상기 적어도 하나의 뷰로부터 상기 제 1 애플리케이션 또는 상기 뷰 리스트의 후속 애플리케이션으로 정보를 복귀시키기 위한 어댑터로서 동작하는 것을 특징으로 하는 시스템.
  22. 제 15항에 있어서,
    상기 시스템은 그래픽 사용자 인터페이스를 갖는 것을 특징으로 하는 시스템.
  23. 제 15항에 있어서,
    상기 뷰는 사용자 인터페이스 요소들을 포함하는 것을 특징으로 하는 시스템.
  24. 제 22항에 있어서,
    상기 뷰는 뷰 개시 동안에 오픈되는 윈도우인 것을 특징으로 하는 시스템.
  25. 제 15항에 있어서,
    상기 시스템은 Symbian™ 운영 체제 디바이스에서 동작하는 것을 특징으로 하는 시스템.
  26. 제 15항에 있어서,
    상기 뷰 리스트의 적어도 일부는 전자 디바이스의 메모리에서 특정되는 것을 특징으로 하는 시스템.
  27. 제 26항에 있어서,
    상기 뷰 리스트는 사용자 동작들에 기초하여 갱신되는 것을 특징으로 하는 시스템.
  28. 제 15항에 있어서,
    상기 뷰 리스트는 사용자 동작들에 기초하여 결정되는 것을 특징으로 하는 시스템.
  29. 적어도 제 1 애플리케이션과 적어도 하나의 뷰를 갖는 제 2 애플리케이션을 저장하는 전자 디바이스에 있어서,
    상기 적어도 하나의 뷰를 포함하는 뷰 리스트를 결정하기 위한 수단;
    상기 뷰 리스트를 처리함과 아울러 상기 뷰 리스트에 기초하여 적어도 하나의 뷰를 개시하기 위한 뷰 라우터; 그리고
    상기 뷰 리스트에 포함된 적어도 하나의 뷰가 개시되면 상기 제 1 애플리케이션을 재개하기 위한 수단을 포함하는 것을 특징으로 하는 전자 디바이스.
  30. 제 29항에 있어서,
    상기 뷰 라우터는 상기 적어도 하나의 뷰로부터 데이터를 수집하고, 상기 데이터를 상기 제 1 애플리케이션 또는 상기 뷰 리스트의 후속 애플리케이션으로 전달하는 것을 특징으로 하는 전자 디바이스.
  31. 제 29항에 있어서,
    상기 뷰 리스트는 적어도 상기 제 2 애플리케이션 및 이와 관련된 뷰를 식별하는 정보를 포함하는 리스트로서 정의되는 것을 특징으로 하는 전자 디바이스.
  32. 제 30항에 있어서,
    상기 데이터는 상기 뷰 리스트에서 각 뷰을 위한 엔트리를 포함하는 저널 리스트로 조직화되는 것을 특징으로 하는 전자 디바이스.
  33. 제 30항에 있어서,
    상기 데이터는 유형 및 값 쌍들의 리스트로 조직화되는 것을 특징으로 하는 전자 디바이스.
  34. 제 30항에 있어서,
    상기 데이터 유형 및 값 쌍은 마크업 언어 포맷인 것을 특징으로 하는 전자 디바이스.
  35. 제 29항에 있어서,
    상기 뷰 라우터는 범용 인터페이스를 제공하며, 상기 적어도 하나의 뷰로부터 상기 제 1 애플리케이션 또는 상기 뷰 리스트의 후속 애플리케이션으로 정보를 복귀시키기 위한 어댑터로서 동작하는 것을 특징으로 하는 전자 디바이스.
  36. 제 29항에 있어서,
    상기 전자 디바이스는 그래픽 사용자 인터페이스를 갖는 것을 특징으로 하는 전자 디바이스.
  37. 제 29항에 있어서,
    상기 뷰는 사용자 인터페이스 요소들을 포함하는 것을 특징으로 하는 전자 디바이스.
  38. 제 29항에 있어서,
    상기 뷰는 뷰 개시 동안에 오픈되는 윈도우인 것을 특징으로 하는 전자 디바이스.
  39. 제 29항에 있어서,
    상기 전자 디바이스는 Symbian™ 운영 체제 디바이스인 것을 특징으로 하는 전자 디바이스.
  40. 제 29항에 있어서,
    상기 뷰 리스트의 적어도 일부는 상기 전자 디바이스의 메모리 영역에서 특정되는 것을 특징으로 하는 전자 디바이스.
  41. 제 29항에 있어서,
    상기 뷰 리스트는 사용자 동작들에 기초하여 갱신되는 것을 특징으로 하는 전자 디바이스.
  42. 제 29항에 있어서, 상기 뷰 리스트는 사용자 동작들에 기초하여 결정되는 것을 특징으로 하는 전자 디바이스.
  43. 데이터 처리 시스템에서 실행되면,
    적어도 하나의 뷰를 포함하는 뷰 리스트를 결정하는 단계;
    상기 뷰 리스트를 제 1 애플리케이션으로부터 뷰 라우터로 전달하는 단계;
    상기 뷰 리스트에 기초하여 제 2 애플리케이션과 관련된 적어도 하나의 뷰를 개시하는 단계; 그리고
    상기 뷰 리스트에 포함된 적어도 하나의 뷰가 개시된 때에 상기 제 1 애플리케이션을 재개하는 단계를 수행하는 코드를 포함하는 컴퓨터 프로그램을 수록하는 컴퓨터 판독가능 매체.
  44. 삭제
  45. 제 43항에 있어서,
    상기 컴퓨터 판독가능 매체는 착탈가능한 메모리 카드인 것을 특징으로 하는 컴퓨터 판독가능 매체.
  46. 제 43항에 있어서,
    상기 컴퓨터 판독가능 매체는 자기 디스크 또는 광 디스크인 것을 특징으로 하는 컴퓨터 판독가능 매체.
  47. 제 43항에 있어서, 상기 코드는
    상기 적어도 하나의 뷰로부터 데이터를 수집하는 단계; 그리고
    상기 데이터를 상기 뷰 라우터로부터 상기 제 1 애플리케이션 또는 상기 뷰 리스트의 후속 애플리케이션으로 전달하는 단계를 더 수행하도록 된 것을 특징으로 하는 컴퓨터 판독가능 매체.
  48. 제 43항에 있어서,
    상기 뷰 리스트는 적어도 상기 제 2 애플리케이션 및 이와 관련된 뷰를 식별하는 정보를 포함하는 리스트로서 정의되는 것을 특징으로 하는 컴퓨터 판독가능 매체.
  49. 제 47항에 있어서,
    상기 데이터는 상기 뷰 리스트에서 각 뷰을 위한 엔트리를 포함하는 저널 리스트로 조직화되는 것을 특징으로 하는 컴퓨터 판독가능 매체.
  50. 제 47항에 있어서,
    상기 데이터는 유형 및 값 쌍들의 리스트로 조직화되는 것을 특징으로 하는 컴퓨터 판독가능 매체.
  51. 제 50항에 있어서,
    상기 데이터 유형 및 값 쌍은 마크업 언어 포맷인 것을 특징으로 하는 컴퓨터 판독가능 매체.
  52. 제 47항에 있어서,
    상기 뷰 라우터는 범용 인터페이스를 제공하며, 개시된 상기 적어도 하나의 뷰로부터 상기 제 1 애플리케이션 또는 상기 뷰 리스트의 후속 애플리케이션으로 데이터를 복귀시키기 위한 어댑터로서 동작하는 것을 특징으로 하는 컴퓨터 판독가능 매체.
  53. 제 43항에 있어서,
    상기 컴퓨터 프로그램은 그래픽 사용자 인터페이스를 갖는 것을 특징으로 하는 컴퓨터 판독가능 매체.
  54. 제 43항에 있어서,
    상기 뷰는 사용자 인터페이스 요소들을 포함하는 것을 특징으로 하는 컴퓨터 판독가능 매체.
  55. 제 53항에 있어서,
    상기 뷰는 상기 개시 단계 동안에 오픈되는 윈도우인 것을 특징으로 하는 컴퓨터 판독가능 매체.
  56. 제 43항에 있어서,
    상기 뷰 리스트의 적어도 일부는 전자 디바이스의 메모리에서 특정되는 것을 특징으로 하는 컴퓨터 판독가능 매체.
  57. 제 56항에 있어서,
    상기 뷰 리스트는 사용자 동작들에 기초하여 갱신되는 것을 특징으로 하는 컴퓨터 판독가능 매체.
  58. 제 43항에 있어서,
    상기 뷰 리스트는 사용자 동작들에 기초하여 결정되는 것을 특징으로 하는 컴퓨터 판독가능 매체.
  59. 제 53항에 있어서,
    상기 뷰는 상기 개시 단계 동안에 오픈되는 윈도우인 것을 특징으로 하는 컴퓨터 판독가능 매체.
  60. 제 43항에 있어서,
    상기 컴퓨터 프로그램은 Symbian™ 운영 체제 디바이스를 위해 설계되는 것을 특징으로 하는 컴퓨터 판독가능 매체.
  61. 제 43항에 있어서,
    상기 뷰 라우터는 라이브러리로서 구현되는 것을 특징으로 하는 컴퓨터 판독가능 매체.
  62. 삭제
KR1020067007927A 2003-10-27 2004-10-27 사용자 인터페이스 애플리케이션들에서 뷰 라우팅 KR100866165B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/694,568 2003-10-27
US10/694,568 US20050091400A1 (en) 2003-10-27 2003-10-27 View routing in user interface applications

Publications (2)

Publication Number Publication Date
KR20060064003A KR20060064003A (ko) 2006-06-12
KR100866165B1 true KR100866165B1 (ko) 2008-10-31

Family

ID=34522634

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067007927A KR100866165B1 (ko) 2003-10-27 2004-10-27 사용자 인터페이스 애플리케이션들에서 뷰 라우팅

Country Status (7)

Country Link
US (1) US20050091400A1 (ko)
EP (1) EP1678603B1 (ko)
KR (1) KR100866165B1 (ko)
AT (1) ATE430960T1 (ko)
DE (1) DE602004021015D1 (ko)
ES (1) ES2325442T3 (ko)
WO (1) WO2005041027A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8438537B2 (en) * 2005-03-07 2013-05-07 Siemens Aktiengesellschaft System arrangement and method for automated application development with user guidance
US8935634B2 (en) * 2005-12-21 2015-01-13 International Business Machines Corporation Displaying dynamic graphical content in graphical user interface (GUI) controls
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
US20100235430A1 (en) * 2009-03-13 2010-09-16 Bruce Kim Methods and systems to provide services to a mobile device
US20100325565A1 (en) * 2009-06-17 2010-12-23 EchoStar Technologies, L.L.C. Apparatus and methods for generating graphical interfaces
US8634807B2 (en) 2011-10-17 2014-01-21 Blackberry Limited System and method for managing electronic groups

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5542069A (en) * 1994-03-02 1996-07-30 Sun Microsystems, Inc. Method and apparatus for simulating input events in a windowed environment
US5737557A (en) * 1995-05-26 1998-04-07 Ast Research, Inc. Intelligent window user interface for computers
US6002398A (en) * 1997-10-30 1999-12-14 Novell, Inc. Navigation between property pages with tabs and menus

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4714918A (en) * 1984-04-30 1987-12-22 International Business Machines Corporation Window view control
US5926177A (en) * 1997-10-17 1999-07-20 International Business Machines Corporation Providing multiple views in a model-view-controller architecture
US6065012A (en) * 1998-02-27 2000-05-16 Microsoft Corporation System and method for displaying and manipulating user-relevant data
US6161136A (en) * 1998-10-16 2000-12-12 Nortel Networks Limited High performance user interface and method of structuring same
US6335741B1 (en) * 1999-01-06 2002-01-01 International Business Machines Corporation Apparatus and method for user indication of model state in a model view controller
US7181686B1 (en) * 1999-10-29 2007-02-20 International Business Machines Corporation Selecting screens in a GUI using events generated by a set of view controllers
EP1170673A1 (en) * 2000-07-05 2002-01-09 Sony International (Europe) GmbH Portal application
US7114127B2 (en) * 2002-03-28 2006-09-26 International Business Machines Corporation Method, system and program product in a model-view-controller (MVC) programming architecture for inter-object communication with transformation
US7187376B2 (en) * 2002-06-04 2007-03-06 Sap Aktiengesellschaft Displaying views on computer screens

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5542069A (en) * 1994-03-02 1996-07-30 Sun Microsystems, Inc. Method and apparatus for simulating input events in a windowed environment
US5737557A (en) * 1995-05-26 1998-04-07 Ast Research, Inc. Intelligent window user interface for computers
US6002398A (en) * 1997-10-30 1999-12-14 Novell, Inc. Navigation between property pages with tabs and menus

Also Published As

Publication number Publication date
WO2005041027A1 (en) 2005-05-06
US20050091400A1 (en) 2005-04-28
ATE430960T1 (de) 2009-05-15
KR20060064003A (ko) 2006-06-12
ES2325442T3 (es) 2009-09-04
DE602004021015D1 (de) 2009-06-18
EP1678603A1 (en) 2006-07-12
EP1678603B1 (en) 2009-05-06

Similar Documents

Publication Publication Date Title
US7953804B2 (en) User interface for a handheld device
US7934162B2 (en) Running state migration of platform specific graphical user interface widgets between heterogeneous device platforms
US5802526A (en) System and method for graphically displaying and navigating through an interactive voice response menu
US20090158212A1 (en) System and method for presenting recently-used and in-use applications for ease of navigation on an electronic device
US20130219333A1 (en) Extensible Framework for Facilitating Interaction with Devices
US20080161045A1 (en) Method, Apparatus and Computer Program Product for Providing a Link to Contacts on the Idle Screen
US8762464B2 (en) Email message creation
KR20000062737A (ko) 양방향 이동 통신장치를 위한 애플리케이션 란처
EP1998259A2 (en) Character input device, mobile terminal, and character input program
US20110191790A1 (en) Method and apparatus for generating user adaptive application in mobile terminal
KR20070039099A (ko) 상태-기반 컴퓨터 도움말 유틸리티
US7984455B2 (en) Enhanced native contact book application
KR100866165B1 (ko) 사용자 인터페이스 애플리케이션들에서 뷰 라우팅
US6898591B1 (en) Method and apparatus for server responding to query to obtain information from second database wherein the server parses information to eliminate irrelevant information in updating databases
US7675435B2 (en) Smart filtering with multiple simultaneous keyboard inputs
KR100789467B1 (ko) 소프트웨어 애플리케이션 다운로드
US7433705B2 (en) Information terminal and recording medium for recording program of a computer to operate as the information terminal
KR100764651B1 (ko) 휴대용 단말에서 애플리케이션을 실행시키는 방법 및 장치
US20210026913A1 (en) Web browser control feature
CN111740850A (zh) 群聊的创建方法及装置、电子设备、可读存储介质
JP5386269B2 (ja) 情報処理装置、表示装置及びプログラム
WO2016122352A1 (ru) Способ перехода на интернет-страницу и запуска программы мессенджера (варианты)
KR20060118244A (ko) 왑 브라우저에서의 유알엘 입력 및 편집 방법
CN117289836A (zh) 应用融合显示方法与控制设备
JPH10289207A (ja) データ入力システム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee