KR20170080689A - 소형 스크린 디스플레이를 위한 애플리케이션 명령 제어 - Google Patents

소형 스크린 디스플레이를 위한 애플리케이션 명령 제어 Download PDF

Info

Publication number
KR20170080689A
KR20170080689A KR1020177015390A KR20177015390A KR20170080689A KR 20170080689 A KR20170080689 A KR 20170080689A KR 1020177015390 A KR1020177015390 A KR 1020177015390A KR 20177015390 A KR20177015390 A KR 20177015390A KR 20170080689 A KR20170080689 A KR 20170080689A
Authority
KR
South Korea
Prior art keywords
application
palette
command control
application command
drill
Prior art date
Application number
KR1020177015390A
Other languages
English (en)
Other versions
KR102430623B1 (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 KR20170080689A publication Critical patent/KR20170080689A/ko
Application granted granted Critical
Publication of KR102430623B1 publication Critical patent/KR102430623B1/ko

Links

Images

Classifications

    • G06F9/4443
    • 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]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0485Scrolling or panning
    • 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]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • 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]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • 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]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04886Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
    • 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)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • User Interface Of Digital Computer (AREA)
  • Digital Computer Display Output (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

본 개시의 예들은 소형 스크린 디스플레이를 위한 애플리케이션 명령 제어를 설명한다. 프로세싱 디바이스와 관련된 디스플레이 폭이 임계 값 이하라는 것을 검출할 때, 프로세싱 디바이스는 소형 스크린 상에 디스플레이되도록 프로그래밍된 애플리케이션 명령 제어를 론칭한다. 애플리케이션 명령 제어는 애플리케이션과 인터페이스하며, 애플리케이션을 위해 프로그래밍된 복수의 최상위 레벨 팔레트 및 복수의 드릴-인 팔레트를 포함한다. 애플리케이션에 대한 최상위 레벨 팔레트는 수직 스크롤 가능하고 하나 이상의 선택 가능한 명령 요소를 포함하는 행들의 컬렉션을 포함한다. 최상위 레벨 팔레트의 하나 이상의 명령 요소의 행은 선택될 때 드릴-인 팔레트를 표시하는 드릴-인 특징을 포함한다. 드릴-인 팔레트는 수직으로 스크롤 가능하며 선택 가능한 명령 요소들의 하나 이상의 행을 포함한다.

Description

소형 스크린 디스플레이를 위한 애플리케이션 명령 제어{APPLICATION COMMAND CONTROL FOR SMALL SCREEN DISPLAY}
본 출원은 2014년 11월 6일자로 출원된 미국 가출원 제62/076,368호의 이익을 주장하며, 이는 전체가 참조로서 통합된다.
소형 스크린 프로세싱 디바이스(예를 들어, 모바일 전화 또는 태블릿)의 디스플레이상의 사용 가능한 공간은 데스크탑 디바이스에 비해 제한되어 있다. 애플리케이션용 그래픽 제어 요소를 개발할 때 개발자들은 그러한 그래픽 제어 요소를 개발하고 프로그래밍하는데 있어서 일반적으로 스크린 크기 제한을 고려하지 않는다. 소형 디스플레이에서 많은 애플리케이션을 실행할 때 그래픽 제어 요소가 제대로 작동하지 않는 것과 같은 문제(예를 들어, 디스플레이, 작업(actions)/데이터 프로세싱 및 유용성 문제)와 같이, 기능 및 유용성 문제가 나타난다. 견고하고(robust) 많은 요소/기능을 포함하는 그래픽 제어 요소는 일반적으로 스크린 크기가 작은 제약 조건하에서 디스플레이될 때 기능을 상실한다. 본 출원은 이러한 일반 기술 분야에 관한 것이다.
본 개시의 실시 예들은 소형 스크린에 대한 애플리케이션 명령 제어(application command control)를 설명한다. 프로세싱 디바이스와 관련된 디스플레이 폭이 임계 값 이하라는 것을 검출할 때, 프로세싱 디바이스는 소형 스크린 상에 디스플레이되도록 프로그래밍된 애플리케이션 명령 제어를 론칭(launch)한다. 애플리케이션 명령 제어는 애플리케이션과 인터페이스하며, 애플리케이션을 위해 프로그래밍된 복수의 최상위 레벨 팔레트(top-level palette) 및 복수의 드릴-인 팔레트(drill-in palette)를 포함한다. 애플리케이션에 대한 최상위 레벨 팔레트는 수직 스크롤 가능하고 하나 이상의 선택 가능한 명령 요소(command element)를 포함하는 행들의 컬렉션(collection)을 포함한다. 최상위 레벨 팔레트의 하나 이상의 명령 요소의 행은 선택시 드릴-인 팔레트를 표시하는 드릴-인 특징을 포함한다. 드릴-인 팔레트는 수직 스크롤이 가능하며 선택 가능한 명령 요소들의 하나 이상의 행을 포함한다.
이 요약은 상세한 설명에서 하기에서 더 설명되는 단순화된 형태의 개념의 선택을 소개하기 위해 제공된다. 이 요약은 청구된 주제의 주요 특징 또는 필수 특징을 식별하기 위한 것이 아니며 청구된 주제의 범위를 제한하는 데 사용되지도 않는다. 예시의 부가적인 양태, 특징 및/또는 장점은 부분적으로는 이하의 설명에서 설명될 것이며, 부분적으로는 설명으로부터 명백해지거나 론칭의 실시에 의해 습득될 수 있다.
비-한정적이고 비-포괄적인(non-exhaustive) 예들이 다음의 도면들을 참조하여 설명된다.
도 1은 본 개시의 양태들이 실시될 수 있는 컴퓨팅 디바이스의 일례를 나타내는 블록도이다.
도 2a 및 도 2b는 본 개시의 양태들이 실시될 수 있는 모바일 컴퓨팅 디바이스의 간략화된 블록도이다.
도 3은 본 개시의 양태들이 실시될 수 있는 분산형 컴퓨팅 시스템의 간략화된 블록도이다.
도 4a는 본 개시의 양태들이 실시될 수 있는 프로세싱 디바이스에 대한 방향(orientation)을 설명하는 도면이다.
도 4b는 본 개시의 양태들이 실시될 수 있는 애플리케이션 명령 제어를 론칭하기 위한 예시적인 방법이다.
도 5는 본 개시의 양태들이 실시될 수 있는 상이한 크기의 프로세싱 디바이스들을 위한 디스플레이를 도시하는 다이어그램이다.
도 6은 본 개시의 양태들이 실시될 수 있는 애플리케이션 명령 제어에 대한 실행의 상이한 예시 상태들을 나타내는 도면이다.
도 7은 본 개시의 양태들이 실시될 수 있는 최소화된 포지셔닝에서 애플리케이션 명령 제어의 위치들의 예들을 도시하는 도면이다.
도 8은 본 개시의 양태들이 실시될 수 있는 개방 위치(open position)에서의 애플리케이션 명령 제어의 위치들의 예를 나타내는 도면이다.
도 9는 본 개시의 양태들이 실시될 수 있는 재개 또는 확장시의 애플리케이션 명령 제어의 예시적인 거동(behavior)을 나타내는 블록도이다.
도 10은 애플리케이션을 종료하고 본 발명의 양태들이 실시될 수 있는 애플리케이션을 재진입 또는 재론칭할 때의 애플리케이션 명령 제어의 예시적인 거동을 나타내는 블록도이다.
도 11은 다수의 애플리케이션들(또는 애플리케이션의 다수의 인스턴스들)이 이용되고 있는 경우에 본 개시의 양태들이 실시될 수 있는 애플리케이션 명령 제어의 예시적인 거동을 나타내는 블록도이다.
도 12 내지 도 20은 본 개시의 양태들이 실시될 수 있는 애플리케이션 명령 제어의 예를 예시하는 도면이다.
도 21은 본 개시의 양태들이 실시될 수 있는 예시적인 애플리케이션 명령 제어를 포함하는 디스플레이(2102)를 도시한다.
소형 스크린 디바이스 사용자에게 사용 가능한 디스플레이 공간은 귀한 것이다(at a premium). 사용자들은 전통적으로 더 많은 디스플레이 공간 및 더 큰 프로세싱 능력을 가진 대형 디바이스에 의존하기보다 소형 스크린에서 애플리케이션의 향상된 기능과 유용성을 원한다. 사용자는 디스플레이의 작은 부분에 애플리케이션을 디스플레이하는 디바이스가 더 큰 스크린 디바이스보다 크거나 적어도 유사한 기능을 가지기를 기대한다. 소형 스크린 디바이스 사용자들은 또한 그들이 더 큰 스크린 디바이스에서 사용할 수 있는 애플리케이션에의 친숙함을 기대한다.
본 개시의 실시 예들은 예를 들어 임계 값 이하인 프로세싱 디바이스와 관련된 디스플레이 폭을 갖는 소형 스크린에 대하여 애플리케이션 명령 제어를 설명한다. 예를 들어, 임계 값은 프로세싱 디바이스(예를 들어, 모바일 디바이스)의 디스플레이의 폭, 디스플레이의 유효 해상도 또는 프로세싱 디바이스의 디스플레이의 대각선과 관련된 측정치 및 프로세싱 디바이스 상에서 실행되는 애플리케이션을 위한 디스플레이 윈도우의 동작 크기(operating size)를 포함하지만 이에 제한되지 않는 스크린 크기에 관련될 수 있다. 애플리케이션 명령 제어는 폼-팩터(form-factor) 적절한 방식으로, 예를 들어 세로(portrait) 또는 가로(landscape) 보기에서 프로세싱 디바이스의 디스플레이 상에 디스플레이 가능하다. 애플리케이션 명령 제어는 개별 팔레트, 청크(chunk) 및 명령의 계층적 구조로 구성된 애플리케이션의 명령 집합의 대부분을 호스팅한다. 또한, 애플리케이션 명령 제어는 애플리케이션과 동적으로 상호 작용하고 애플리케이션 및/또는 소프트 입력 패널(soft input panel, SIP) 또는 온 스크린 키보드(on screen keyboard)와 같은 사용자 인터페이스 컴포넌트와 동시에 디스플레이하도록 프로그래밍될 수 있다. 일 예에서, 애플리케이션 명령 제어는 (예를 들어, 애플리케이션 캔버스 상에서 디스플레이되거나 선택된) 애플리케이션의 콘텐츠에 기초하여 지능적으로 적응할 수 있다.
애플리케이션 명령 제어의 위치 결정(positioning)은 애플리케이션 명령 제어의 상태에 의존할 수 있다. 애플리케이션 명령 제어의 위치 결정 및 디스플레이는 예로서 SIP와 같은 다른 사용자 인터페이스 특징들 또는 창(pane) 또는 상황 메뉴(contextual menu)와 같은 다른 명령 컨테이너(command container)뿐만 아니라, 애플리케이션 명령 제어와 인터페이스하는 애플리케이션에 의해 또한 영향을 받을 수도 있다. 일례에서, 애플리케이션 명령 제어는 애플리케이션을 실행하는 디바이스의 디스플레이의 적어도 일부에 디스플레이할 수 있다. 예를 들어 애플리케이션이 실행되는 동안 애플리케이션 명령 제어가 디스플레이의 맨 아래 부분에 디스플레이될 수 있다. 그러나, 애플리케이션 명령 제어는 다수의 부분을 포함할 수 있다. 예를 들어, 애플리케이션 명령 제어의 일부는 디스플레이의 하부에 디스플레이될 수 있는 반면, 애플리케이션 명령 제어와 관련된 특정 기능들은 애플리케이션이 실행되는 동안 디스플레이의 상부에 디스플레이될 수 있다. 애플리케이션 명령 제어의 크기는 프로그래밍되거나 가변적일 수 있다. 예시적인 열린 상태에서, 애플리케이션 명령 제어는 반화면(half-screen) 제어일 수 있다. 적어도 하나의 예에서, 애플리케이션 명령 제어의 팔레트는 수직 레이아웃으로 제공되고 수직으로 스크롤될 수 있다. 명령은 서로의 위에 수직으로 쌓는 청크로 레이아웃될 수 있다. 애플리케이션 명령 제어의 메뉴 또는 팔레트는 최상위 레벨 팔레트(예를 들어 그룹화에 대응함)를 포함할 수 있으며 드릴-인 팔레트는 콜 아웃(callouts)으로 호스트된 오버흐름 및 드릴-인에 대응한다.
많은 기술적 이점들이 본 개시에 기초하여 달성되는데, 이점으로는 애플리케이션에 대한 그래픽 제어 요소의 개선된 확장성(scalability) 및 소형화, 예를 들어, GUI 기능을 위해 요구되는 공간의 감소, 소형 스크린 디바이스 상의 그래픽 제어 요소를 위한 향상된 프로세싱 능력, 소형 스크린 디바이스 상의 애플리케이션/그래픽 제어 요소를 위한 향상된 효율 및 유용성, 제어 콘텐츠의 탐색(navigation) 및 액세스의 향상된 효율, 및 사용자 상호 작용을 위한 향상된 시각적 표시를 포함하지만, 이에 국한되지는 않는다.
도 1 내지 도 3 및 관련 설명은 본 발명의 실시 예들이 실행될 수 있는 다양한 동작 환경에 대한 논의를 제공한다. 그러나, 도 1 내지 도 3과 관련하여 도시되고 설명된 디바이스 및 시스템은 예 및 설명의 목적을 위한 것이며, 본 발명의 실시 예들을 실행하는데 이용될 수 있는 방대한 수의 컴퓨팅 디바이스 구성을 제한하지 않는다.
도 1은 본 개시의 실시 예들이 실행될 수 있는 컴퓨팅 디바이스(102), 예를 들어 모바일 프로세싱 디바이스의 물리적 컴포넌트를 나타낸 블록도이다. 기본적인 구성에서, 컴퓨팅 디바이스(102)는 적어도 하나의 프로세싱 유닛(104) 및 시스템 메모리(106)를 포함할 수 있다. 컴퓨팅 디바이스의 구성 및 유형에 따라, 시스템 메모리(106)는 휘발성 저장 장치(예를 들어, 랜덤 액세스 메모리), 비휘발성 저장 장치(예를 들어, 판독 전용 메모리), 플래시 메모리, 또는 이러한 메모리들의 임의의 조합을 포함할 수 있으나 이에 국한되는 것은 아니다. 시스템 메모리(106)는 운영 체제(107) 및 IO 관리자(124), 다른 유틸리티(126) 및 애플리케이션(128)과 같은 소프트웨어 프로그램/모듈(120)을 실행하기에 적합한 하나 이상의 프로그램 모듈(108)을 포함할 수 있다. 예로서 시스템 메모리(106)는 실행을 위한 명령어들을 저장할 수 있다. 시스템 메모리(106)의 다른 예들은 애플리케이션과 관련된 데이터를 저장할 수 있다. 예를 들어, 운영 체제(107)는 컴퓨팅 디바이스(102)의 동작을 제어하기에 적합할 수 있다. 또한, 본 발명의 예는 그래픽 라이브러리, 다른 운영 체제 또는 임의의 다른 애플리케이션 프로그램과 관련하여 실시될 수 있으며, 임의의 특정 애플리케이션이나 시스템에 한정되지 않는다. 이러한 기본 구성은 점선(122) 내의 컴포넌트에 의해 도 1에 도시되어 있다. 컴퓨팅 디바이스(102)는 추가적인 특징 또는 기능을 가질 수 있다. 예를 들어, 컴퓨팅 디바이스(102)는 또한 예를 들어 자기 디스크, 광학 디스크 또는 테이프와 같은 추가적인 데이터 저장 디바이스(탈착식 및/또는 비탈착식)을 포함할 수 있다. 이러한 추가적인 저장 장치는 도 1에 탈착식 저장 디바이스(109) 및 비탈착식 저장 디바이스(110)에 의해 도시된다.
전술한 바와 같이, 다수의 프로그램 모듈 및 데이터 파일이 시스템 메모리(106)에 저장될 수 있다. 프로세싱 유닛(104) 상에서 실행되는 동안, 프로그램 모듈(108)(예를 들어, 입/출력(I/O) 관리자(124), 다른 유틸리티(126) 및 애플리케이션(128))은 본 개시 전체에 걸쳐 설명된 동작들의 하나 이상의 단계를 포함하지만 이에 한정되지는 않는 프로세스를 수행할 수 있다. 본 발명의 실시 예에 따라 사용될 수 있는 다른 프로그램 모듈들은 전자 메일 및 연락처 애플리케이션, 워드 프로세싱 애플리케이션, 스프레드시트 애플리케이션, 데이터베이스 애플리케이션, 슬라이드 프레젠테이션 애플리케이션, 드로잉 또는 컴퓨터 보조 애플리케이션 프로그램, 사진 편집 애플리케이션, 저작(authoring) 애플리케이션 등을 포함할 수 있다.
또한, 본 발명의 실시 예들은 개별 전자 소자, 논리 게이트를 포함하는 패키지 또는 집적 전자 칩, 마이크로프로세서를 이용하는 회로를 포함하는 전기 회로에서 또는 전자 소자 또는 마이크로프로세서를 포함하는 단일 칩에서 실시될 수 있다. 예를 들어, 본 발명의 예들은 도 1에 도시된 많은 또는 각각의 컴포넌트가 단일 집적 회로로 통합될 수 있는 SOC(system-on-a-chip)을 통해 실시될 수 있다. 이러한 SOC 디바이스는 단일 집적 회로로서 칩 기판 상에 통합된(또는 "버닝(burned)"된) 하나 이상의 프로세싱 유닛, 그래픽 유닛, 통신 유닛, 시스템 가상화 유닛 및 다양한 애플리케이션 기능을 포함할 수 있다. SOC를 통해 동작할 때, 여기에 설명된 기능은 단일 집적 회로(칩)상의 컴퓨팅 디바이스(502)의 다른 컴포넌트들과 통합된 애플리케이션 특유의 로직을 통해 동작될 수 있다. 본 개시의 실시 예들은 기계적, 광학적, 유체 및 양자 기술을 포함하지만 이에 제한되지 않는, 예를 들어 AND, OR 및 NOT과 같은 논리 연산을 수행할 수 있는 다른 기술을 사용하여 실시될 수도 있다. 또한, 본 발명의 예들은 범용 컴퓨터 또는 임의의 다른 회로 또는 시스템에서 실시될 수 있다.
컴퓨팅 디바이스(102)는 또한 키보드, 마우스, 펜, 사운드 입력 디바이스, 음성 입력/인식 디바이스, 터치 입력 디바이스 등과 같은 하나 이상의 입력 디바이스(들)(112)를 가질 수 있다. 디스플레이, 스피커, 프린터 등과 같은 출력 디바이스(들)(114)가 또한 포함될 수 있다. 전술한 디바이스들은 일례이며, 다른 것들도 사용될 수 있다. 컴퓨팅 디바이스(104)는 다른 컴퓨팅 디바이스(118)와의 통신을 허용하는 하나 이상의 통신 연결(116)을 포함할 수 있다. 적절한 통신 연결(116)의 예로는 RF 송신기, 수신기 및/또는 송수신기 회로; USB(universal serial bus), 병렬 및/또는 직렬 포트를 포함하지만, 이에 한정되는 것은 아니다.
본 명세서에서 사용되는 컴퓨터 판독 가능 매체라는 용어는 컴퓨터 저장 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독 가능 명령어들, 데이터 구조 또는 프로그램 모듈과 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 탈착식 및 비탈착식 매체를 포함할 수 있다. 시스템 메모리(106), 착탈식 저장 디바이스(109), 비착탈식 저장 디바이스(110)는 모두 컴퓨터 저장 매체(즉, 메모리 저장 장치)의 예이다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM(electrically erasable read-only memory), 플래시 메모리 또는 다른 메모리 기술, CD-ROM, DVD(digital versatile disk) 또는 다른 광학 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 다른 자기 저장 디바이스, 또는 정보를 저장하는데 사용될 수 있고 컴퓨팅 디바이스(102)에 의해 액세스될 수 있는 임의의 다른 제조물을 포함할 수 있다. 이러한 컴퓨터 저장 매체는 컴퓨팅 디바이스(102)의 일부일 수 있다. 컴퓨터 저장 매체는 반송파 또는 다른 전파되거나 변조된 데이터 신호를 포함하지 않는다.
통신 매체는 반송파 또는 다른 전송 메커니즘과 같은 변조된 데이터 신호 내의 컴퓨터 판독 가능 명령어들, 데이터 구조, 프로그램 모듈 또는 다른 데이터에 의해 구현될 수 있으며 임의의 정보 전달 매체를 포함한다. "변조된 데이터 신호"라는 용어는 신호에서 정보를 인코딩하는 방식으로 설정되거나 변경된 하나 이상의 특성을 가지는 신호를 설명할 수 있다. 예로서, 통신 매체는 유선 네트워크 또는 직접 유선 접속과 같은 유선 매체, 및 음향, 무선 주파수(radio frequency, RF), 적외선 및 다른 무선 매체와 같은 무선 매체를 포함할 수 있으며, 이에 한정되지는 않는다.
도 2a 및 도 2b는 본 발명의 실시 예들이 실행될 수 있는 모바일 컴퓨팅 디바이스(200), 예를 들어 모바일 전화, 스마트폰, 개인 정보 단말기, 태블릿 개인용 컴퓨터, 랩톱 컴퓨터 등을 도시한다. 예를 들어, 모바일 컴퓨팅 디바이스(200)는 애플리케이션 명령 제어와 관련하여 애플리케이션을 실행하도록 구현될 수 있다. 애플리케이션 명령 제어는 사용자 인터페이스(user interface, UI) 또는 그래픽 사용자 인터페이스(graphic user interface, GUI)를 통해 애플리케이션과 함께 사용하기 위한 명령의 제시 및 제어와 관련된다. 일례에서, 애플리케이션 명령 제어는 단일 애플리케이션과 동작하도록 구체적으로 프로그래밍될 수 있다. 다른 예들에서, 애플리케이션 명령 제어는 하나보다 많은 애플리케이션에 걸쳐서 작동하도록 프로그래밍될 수 있다. 도 2a를 참조하면, 실시 예들을 구현하기 위한 모바일 컴퓨팅 디바이스(200)의 일례가 도시되어 있다. 기본 구성에서, 모바일 컴퓨팅 디바이스(200)는 입력 요소 및 출력 요소를 모두 갖는 핸드헬드(handheld) 컴퓨터이다. 모바일 컴퓨팅 디바이스(200)는 전형적으로 사용자가 모바일 컴퓨팅 디바이스(200)에 정보를 입력할 수 있게 하는 디스플레이(205) 및 하나 이상의 입력 버튼(210)을 포함한다. 모바일 컴퓨팅 디바이스(200)의 디스플레이(205)는 또한 입력 디바이스(예를 들어 터치 스크린 디스플레이)로서 기능한다. 포함되는 경우, 선택적인 측면 입력 요소(side input element, 215)는 추가의 사용자 입력을 허용한다. 측면 입력 요소(215)는 회전식 스위치, 버튼, 또는 임의의 다른 유형의 수동 입력 요소일 수 있다. 다른 예에서, 모바일 컴퓨팅 디바이스(200)는 더 많거나 적은 입력 요소들을 통합할 수 있다. 예를 들어, 일부 실시 예들에서 디스플레이(205)는 터치 스크린이 아닐 수도 있다. 또 다른 대안적인 예에서, 모바일 컴퓨팅 디바이스(200)는 셀룰러 폰과 같은 휴대 전화 시스템이다. 모바일 컴퓨팅 디바이스(200)는 또한 선택적인 키패드(235)를 포함할 수 있다. 선택적 키패드(235)는 물리적인 키패드 또는 터치 스크린 디스플레이 또는 임의의 다른 소프트 입력 패널(soft input panel, SIP)상에 생성된 "소프트" 키패드일 수 있다. 다양한 예들에서, 출력 요소들은 GUI, 시각적 표시기(visual indicator)(220)(예를 들어, 발광 다이오드) 및/또는 오디오 변환기(225)(예를 들어, 스피커)를 도시하기 위한 디스플레이(205)를 포함한다. 일부 예들에서, 모바일 컴퓨팅 디바이스(200)는 촉각 피드백을 사용자에게 제공하기 위한 진동 변환기를 포함한다. 또 다른 예에서, 모바일 컴퓨팅 디바이스(200)는 외부 디바이스와 신호를 송수신하기 위한 오디오 입력(예를 들어, 마이크로폰 잭), 오디오 출력(예를 들어, 헤드폰 잭) 및 비디오 출력(예를 들어, HDMI 포트)과 같은 입력 및/또는 출력 포트를 포함한다.
도 2b는 모바일 컴퓨팅 디바이스의 일례의 아키텍처를 나타내는 블록도이다. 즉, 모바일 컴퓨팅 디바이스(200)는 몇 가지 예를 구현하기 위해 시스템(즉, 아키텍처)(202)을 통합할 수 있다. 일례에서, 시스템(202)은 하나 이상의 애플리케이션(예를 들어, 브라우저, 이메일, 캘린더, 연락처 관리자, 메시징 클라이언트, 게임 및 매체 클라이언트/플레이어)을 실행할 수 있는 "스마트 폰"으로서 구현된다. 일부 예들에서, 시스템(202)은 통합 개인 휴대 정보 단말기(PDA), 태블릿 및 무선 전화와 같은 컴퓨팅 디바이스로서 통합된다.
하나 이상의 애플리케이션 프로그램(266)은 메모리(262)에 로딩되어 운영 체제(264) 상에서 또는 운영 체제(264)와 관련하여 실행될 수 있다. 애플리케이션 프로그램의 예로는 전화 걸기(phone dialer) 프로그램, 이메일 프로그램, 개인 정보 관리(personal information management, PIM) 프로그램, 워드 프로세싱 프로그램, 스프레드시트 프로그램, 인터넷 브라우저 프로그램, 메시징 프로그램 등을 포함한다. 또한, 시스템(202)은 메모리(262) 내의 비휘발성 저장 영역(268)을 포함한다. 비휘발성 저장 영역(268)은 시스템(202)의 전원 공급 장치가 꺼지더라도 지워져서는 안 되는 영구 정보를 저장하는데 사용될 수 있다. 애플리케이션 프로그램(266)은 전자 메일 또는 전자 메일 애플리케이션에 의해 사용되는 다른 메시지 등과 같은 정보를 비휘발성 저장 영역(268)에 저장하고 사용할 수 있다. 동기화 애플리케이션(도시되지 않음)은 또한 시스템(202) 상에 상주하며, 호스트 컴퓨터에 저장된 대응 정보와 동기화된 비휘발성 저장 영역(268)에 저장된 정보를 유지하기 위하여 호스트 컴퓨터에 상주하는 대응 동기화 애플리케이션과 상호작용하도록 프로그래밍된다. 이해될 수 있는 바와 같이, 다른 애플리케이션들이 메모리(262)에 로딩될 수 있고 여기에 설명된 모바일 컴퓨팅 디바이스(200)상에서 실행될 수 있다.
시스템(202)은 하나 이상의 배터리로서 구현될 수 있는 전원 공급 장치(270)를 갖는다. 전원 공급 장치(270)는 배터리를 보충하거나 재충전하는 AC 어댑터 또는 전원 공급 장치 도킹 크레이들(powered docketing cradle)과 같은 외부 전원 공급 장치를 더 포함할 수 있다.
시스템(202)은 시스템(202)과 하나 이상의 주변 디바이스 사이의 접속성을 용이하게 하는 기능을 수행하는 주변 디바이스 포트(230)를 포함할 수 있다. 주변 디바이스 포트(230)와 주고 받는 송신은 운영 체제(OS)(264)의 제어 하에 수행된다. 다시 말해서, 주변 디바이스 포트(230)에 의해 수신되는 통신은 운영 체제(264)를 통해 애플리케이션 프로그램(266)으로 전파될 수 있으며, 그 반대도 마찬가지이다.
또한, 시스템(202)은 무선 주파수 통신을 송신 및 수신하는 기능을 수행하는 무선 인터페이스 층(272)을 포함할 수 있다. 무선 인터페이스 층(272)은 통신 캐리어 또는 서비스 제공자를 통해 시스템(202)과 "외부 세계" 사이의 무선 접속을 용이하게 한다. 무선 인터페이스 층(272)과의 송신은 운영 체제(264)의 제어 하에 수행된다. 다시 말해서, 무선 인터페이스 층(272)에 의해 수신된 통신은 운영 체제(264)를 통해 애플리케이션 프로그램(266)으로 전파될 수 있으며, 그 반대도 마찬가지이다.
시각적 표시기(220)는 시각적인 통지를 제공하기 위해 사용될 수 있고/있거나, 오디오 인터페이스(274)는 오디오 변환기(225)를 통해 가청 통지를 생성하는데 사용될 수 있다. 도시된 예에서, 시각적 표시기(220)는 LED(light emitting diode)이고, 오디오 변환기(225)는 스피커이다. 이들 디바이스는 전원 공급 장치(270)에 직접 결합될 수 있어서 프로세서(260) 및 다른 컴포넌트가 배터리 전력을 보존하기 위해 셧다운될지라도, 활성화될 때 통보 메커니즘에 의해 표시된 지속 기간 동안 온 상태를 유지한다. 사용자가 디바이스의 전원 공급 장치가 파워 온 상태를 표시하기 위한 조치를 취할 때까지 LED가 온 상태로 무기한 유지되도록 프로그래밍될 수 있다. 오디오 인터페이스(274)는 사용자에게 가청 신호를 제공하고 사용자로부터 가청 신호를 수신하는 데 사용된다. 예를 들어, 오디오 변환기(225)에 결합되는 것 이외에, 오디오 인터페이스(274)는 전화 대화를 용이하게 하기 위해, 청취 가능한 입력을 수신하기 위해 마이크로폰에 연결될 수 있다. 본 발명의 예들에 따라, 마이크로폰은 또한 후술되는 바와 같이, 통지의 제어를 용이하게 하는 오디오 센서로서의 역할을 할 수 있다. 시스템(202)은 온-보드(on-board) 카메라(230)의 동작이 스틸 이미지, 비디오 스트림 등을 기록할 수 있게 하는 비디오 인터페이스(276)를 더 포함할 수 있다.
시스템(202)을 구현하는 모바일 컴퓨팅 디바이스(200)는 추가적인 특징 또는 기능을 가질 수 있다. 예를 들어, 모바일 컴퓨팅 디바이스(200)는 또한 자기 디스크, 광학 디스크 또는 테이프와 같은 추가적인 데이터 저장 디바이스(착탈식 및/또는 비착탈식)를 포함할 수 있다. 이러한 추가적인 저장 장치는 비휘발성 저장 영역(268)에 의해 도 2b에 도시된다.
모바일 컴퓨팅 디바이스(200)에 의해 생성되거나 캡쳐되고 시스템(202)을 통해 저장되는 데이터/정보는 전술한 바와 같이 모바일 컴퓨팅 디바이스(200) 상에 국부적으로 저장되거나, 데이터는 무선(272)을 통해 또는 모바일 컴퓨팅 디바이스(200)와 이 모바일 컴퓨팅 디바이스(200)와 연관된 별도의 컴퓨팅 디바이스, 예를 들어 인터넷과 같은 분산 컴퓨팅 네트워크 내의 서버 컴퓨터 사이의 유선 접속을 통해, 디바이스에 의해 액세스될 수 있는 임의의 수의 저장 매체에 저장될 수 있다. 알 수 있는 바와 같이, 이러한 데이터/정보는 모바일 컴퓨팅 디바이스(200)를 통해 무선(272)을 통해 또는 분산 컴퓨팅 네트워크를 통해 액세스될 수 있다. 유사하게, 그러한 데이터/정보는 전자 메일 및 협업(collaborative) 데이터/정보 공유 시스템을 포함하는 잘 알려진 데이터/정보 전달 및 저장 수단에 따라 저장 및 사용을 위해 컴퓨팅 디바이스들 간에 용이하게 전송될 수 있다.
도 3은 저장 시스템상의 목표 데이터(target data)를 신뢰성 있게 액세스하는 애플리케이션을 제공하기 위한 시스템의 아키텍처의 일례를 도시하고, 전술한 바와 같이, 하나 이상의 클라이언트 디바이스로의 통신 실패를 다룬다. 프로그래밍 모듈들(108), 애플리케이션들(120), 및 저장 장치/메모리와 관련하여 액세스되거나, 상호 작용되거나 편집되는 목표 데이터가 상이한 통신 채널들 또는 다른 저장 유형들에 저장될 수 있다. 예를 들어, 디렉토리 서비스(322), 웹 포탈(324), 메일 박스 서비스(326), 인스턴트 메시징 저장소(328), 또는 소셜 네트워킹 사이트(330), 애플리케이션(128), IO 관리자(124), 다른 유틸리티(126)를 사용하여 다양한 문서가 저장될 수 있고, 여기에 설명된 바와 같이 저장 시스템은 데이터 이용을 가능하게 하기 위해 이러한 유형의 시스템 등 중 임의의 것을 사용할 수 있다. 서버(320)는 네트워크(315)를 통해 일반적인 컴퓨팅 디바이스(102) 및 모바일 디바이스(들)(200) 상에서 동작하는 클라이언트에 의한 사용을 위한 저장 시스템을 제공할 수 있다. 예로서, 네트워크(315)는 인터넷 또는 임의의 다른 유형의 로컬 또는 광역 네트워크를 포함할 수 있고, 클라이언트 노드들은 퍼스널 컴퓨터, 태블릿 컴퓨팅 디바이스 및/또는 모바일 컴퓨팅 디바이스(200)(예를 들어, 모바일 프로세싱 디바이스)에 구현된 컴퓨팅 디바이스(102)로서 구현될 수 있다. 클라이언트 컴퓨팅 디바이스(102 또는 200)의 이러한 예들 중 임의의 것은 저장소(316)로부터 콘텐츠를 얻을 수 있다.
도 4a는 본 개시의 양태들이 실시될 수 있는 프로세싱 디바이스에 대한 예시적인 방향(orientations)을 나타내는 도면이다. 도 4a는 세로 모드(portrait mode) 방향(406)의 예시적인 프로세싱 디바이스 및 가로 모드(landscape mode) 방향(408)의 예시적인 프로세싱 디바이스를 도시한다. 도 4a의 시각적 예들에 도시된 바와 같이, 애플리케이션 명령 제어(402)는 폼 팩터 적절한 방식으로 예를 들어 세로 모드 방향(406) 및 가로 모드 방향(408)으로 프로세싱 디바이스의 디스플레이에 디스플레이 가능하다.
블록(406 및 408)에 도시된 바와 같이, 디스플레이는 적어도 애플리케이션 명령 제어(402) 및 애플리케이션/캔버스(404)에 의해 공유될 수 있다. 애플리케이션 명령 제어(402)는 프로세싱 디바이스(예를 들어, 메모리, 프로세서, 및 모바일 디바이스의 기능) 및 다른 예들 중에 운영 체제(OS), 모바일 디바이스 상에서 실행되는 애플리케이션들, 프로그래밍 모듈, 입력 방법(예를 들어, SIP), 및 창 또는 상황 메뉴와 같은 명령 컨테이너와 같은 소프트웨어 컴포넌트들 상에 실행되는 애플리케이션과 인터페이스하는 그래픽 제어 요소이다. 예로서, 애플리케이션 명령 제어(402)는 애플리케이션에 대한 작업/명령의 실행을 제어하는데 사용된다. SIP는 디바이스의 온-스크린 입력 방법(예를 들어 텍스트 입력 또는 음성 입력)이며, 창은 다른 예들 중에서 OS 및 다른 소프트웨어 애플리케이션들과 같이 디바이스 상에서 실행되는 다른 소프트웨어의 기능을 지원하는 소프트웨어 컴포넌트이다. 애플리케이션(404)은 프로세싱 디바이스 상에서 실행되고, 디바이스의 하드웨어 및 소프트웨어 컴포넌트들과 인터페이스하는 소프트웨어 컴포넌트이다. 애플리케이션(404)은 동작을 수행하도록 설계된 하나 이상의 프로그램을 포함한다. 블록(404)은 디바이스 상에서 실행되는 애플리케이션의 디스플레이를 위해 지정된 프로세싱 디바이스의 디스플레이의 일부인 애플리케이션/캔버스를 도시한다. 애플리케이션/캔버스 영역은 애플리케이션 UI(그래픽 요소 및 제어로 구성되지만 이에 국한되지 않음) 또는 애플리케이션 캔버스이다. 애플리케이션 캔버스는 콘텐츠(작업 영역의 페이지 또는 애플리케이션의 편집 가능한 부분으로 구성되어 있지만 이에 국한되지 않음)이다.
애플리케이션 명령 제어(402)는 소형 스크린 디바이스 상에서 실행되거나 임계 값 이하인 디스플레이 윈도우에 디스플레이되는 하나 이상의 애플리케이션에 대한 명령 제어를 제공한다. 디바이스 상의 OS는 애플리케이션 명령 제어(402)와 인터페이스하여, 터치 입력(예를 들어, 모바일 디바이스의 디스플레이 상에 직접적으로 또는 디바이스의 버튼 또는 기능을 통하여 간접적으로), 음성 입력, 텍스트 입력(예를 들어, 키보드 또는 가상 키보드를 통하여)을 포함하는 입력이 프로세싱 디바이스에 의해 인식되는 임의의 형태로 수신될 수 있게 한다. 애플리케이션 명령 제어(402)는 그 디스플레이의 폭이 임계 값(예를 들어, 미리 결정된 임계 값) 이하인 디바이스와 관련된 스크린/디스플레이 제한 하에서 견고한 애플리케이션의 실행을 다루도록 프로그래밍된다. 애플리케이션 명령 제어(402)는 블록(406) 및 블록(408)에서 도시된 방향 및 임의의 다른 관련된 방향으로 실행을 지원한다. 또한, 애플리케이션 명령 제어(402)는 블록(406) 및 블록(408)에 도시된 바와 같은 방향 상태 간의 변경 실행을 지원한다. 애플리케이션 명령 제어(402)의 기능은 애플리케이션 명령 제어(402)를 실행하는 모바일 디바이스의 방향 상태에 상관없이 동일하게 유지된다. 예를 들어, 애플리케이션 명령 제어(402)의 작업/명령의 표시는 디바이스가 세로 모드 방향(406) 및 가로 모드 방향(408)으로 동작하고 있을 때 동일하게 유지된다. 예들에서, 애플리케이션 명령 제어(402)는 열린 상태로 유지되거나 디바이스 방향 변경(예를 들어 세로 방향에서 가로 방향으로 또는 그 반대로)에서 축소(collapsed)/최소화 상태로 들어갈 수 있다.
애플리케이션 명령 제어(402)는 애플리케이션 제어를 위해 프로그래밍된 복수의 팔레트(명령 팔레트)를 포함한다. 팔레트는 애플리케이션 명령 제어(402)에 의해 구현될 수 있는 작업들 또는 명령들 또는 명령들의 청크의 컬렉션 또는 관련 그룹이다. 일례에서, 애플리케이션 명령 제어(402)의 팔레트는 최상위 레벨 팔레트 및 드릴-인 팔레트를 포함한다. 최상위 레벨 팔레트 및 드릴-인 팔레트 각각은 하나 이상의 선택 가능한 명령 또는 명령 요소를 포함하는 행들의 컬렉션 또는 그룹이다. 예를 들어, 최상위 레벨 팔레트는 명령 또는 기능의 최고 레벨 그룹을 포함할 수 있으며 사용자들에 의해 더 자주 사용되는/사용 가능성이 더 높은 명령을 포함할 수 있다. 최상위 레벨 팔레트는 드릴-인 팔레트에 드릴(drilled into) 및 디스플레이될 수 있는 명령 목록을 디스플레이할 수 있다. 도 12는 애플리케이션 명령 제어(402)의 예시적인 최상위 레벨 팔레트를 도시한다. 드릴-인 팔레트는 최상위 레벨 팔레트 상에 디스플레이되는 명령들과 비교하여 덜 자주 사용될 수 있거나 덜 자주 사용될 가능성이 있는 명령들의 집합 또는 그룹이다. 예로서, 드릴-인 팔레트는 소형 스크린 디바이스의 디스플레이상의 애플리케이션 명령 제어(402)에 대한 제한된 양의 디스플레이 공간으로 인한 제약으로 인해 최상위 레벨 팔레트에 포함되지 않는 오버-흐름 명령을 호스트한다. (아래에 설명된) 도 13은 애플리케이션 명령 제어(402)의 예시적인 드릴-인 팔레트를 도시한다. 예시적인 애플리케이션으로서 워드 프로세싱 애플리케이션을 사용하여, 최상위 레벨 팔레트는 사용자들에 의해 자주 호출(called on)될 수 있는 텍스트 편집, 폰트 편집, 단락 서식(paragraph formatting), 워드 파인더(word finder), 맞춤법 검사 등에 대한 상위 레벨 명령 또는 기능을 포함할 수 있다. 예를 들어, 워드 프로세싱 애플리케이션에 대한 드릴-인 팔레트는 최상위 레벨 팔레트의 상위 레벨 명령의 하위 요소(sub-elements), 예를 들어 폰트 명령/기능에 대한 아래 첨자 또는 위 첨자를 포함할 수 있다. 예들에서, 예를 들어, 팔레트의 명령 또는 정해진 청크는 하나의 팔레트로부터 빼내어(pull) 다른 곳으로 추가/디스플레이될 수 있는 경우, 팔레트 및 명령의 조직(organization)은 편집 가능하다. 예를 들어, 드릴-인 팔레트의 오버 흐름 명령을 최상위 레벨 팔레트에 추가할 수 있다.
도 4b는 본 개시의 양태들이 실시될 수 있는 애플리케이션 명령 제어를 론칭하기 위한 예시적인 방법(410)이다. 방법(410)은 동작, 프로그램, 명령어, 및 동작, 프로그램 또는 명령을 실행하도록 구성된 적어도 하나의 프로세서를 저장하도록 구성된 적어도 하나의 메모리를 포함하는 디바이스 상에서 실행될 수 있다.
방법(410)은 프로세싱 디바이스에 대한 디스플레이와 관련된 크기가 검출되는 동작(412)에서 론칭한다. 프로세싱 디바이스에 대한 디스플레이의 크기를 검출하는 것은 소형 스크린 상에 디스플레이하도록 프로그래밍된 애플리케이션 명령 제어가 론칭되어야 하는지 아니면 (예를 들어, 애플리케이션/애플리케이션 명령 제어의 데스크탑 버전과 같은 더 큰 스크린 디스플레이를 위해) 다른 애플리케이션 명령 제어가 론칭되어야 하는 지를 결정할 수 있게 한다. 일 예에서, 크기의 검출은 디스플레이 폭(예를 들어, 프로세싱 디바이스에 대한 디스플레이의 폭 또는 프로세싱 디바이스상에서 실행되는 애플리케이션에 대한 디스플레이 윈도우의 동작 크기)을 검출하는 것을 포함한다. 동작(412)은 모바일 디바이스와 같은 프로세싱 디바이스에 대한 시스템 사양을 식별 및 평가할 수 있는 프로그램 명령 또는 모듈을 포함할 수 있다. 일 예에서, 동작(412)에서 구현된 프로그래밍 명령어는 프로세싱 디바이스의 유형 또는 버전을 식별하고, 애플리케이션 명령 제어가 프로세싱 디바이스 상에서 동작하도록 프로그래밍되어 있는지 여부를 식별하기 위해 데이터의 페치(fetch)를 동작시킨다. 다른 예에서, 프로세싱 디바이스에 대한 디스플레이와 관련된 크기의 검출(동작 412)은 애플리케이션 및/또는 애플리케이션 명령 제어를 다운로드 할 때 발생하며, 애플리케이션 명령 제어와 인터페이스하는 애플리케이션의 다운로드 또는 애플리케이션 명령 제어의 다운로드는 디스플레이 크기(예를 들어, 디스플레이 폭)에 따라 허용되거나 거부될 수 있다. 다른 예에서, 애플리케이션 및 애플리케이션과 인터페이스하는 애플리케이션 명령 제어(402)는 프로세싱 디바이스 상에 미리 로딩될 수 있다.
흐름은 결정(414)으로 진행하여, 여기서 프로세싱 디바이스에 대한 디스플레이와 관련된 크기가 임계 값 이하인지 여부가 결정된다. 임계 값은 소형 스크린 프로세싱 디바이스 또는 소형 스크린 애플리케이션 명령 제어에 적합한 운영 환경의 식별에 해당한다. 임계 값은 다른 예들 중에서 전체 스크린 크기, 폭, 길이 및 스크린 대각선, 픽셀, 유효 픽셀 및 해상도, 및 애플리케이션의 디스플레이 윈도우의 동작 크기를 포함하지만, 이에 한정되지는 않는 프로세싱 디바이스의 디스플레이의 크기와 관련된 임의의 미리 정해진 값으로 설정될 수 있다. 예로서, 임계 값은 프로세싱 디바이스에 대한 디스플레이의 디스플레이 폭에 대응할 수 있다. 예를 들어, 디스플레이 폭에 대한 임계 값은 512 유효 픽셀로 설정될 수 있다. 512 유효 픽셀의 디스플레이 폭은 스크린 대각선이 6인치 또는 152.4 밀리미터 미만인 디바이스에 대응할 수 있다. 그러나, 당업자는 (예를 들어, 디스플레이 폭에 대한) 임계 값이, 미리 정해져 있고 예를 들어 프로세싱 디바이스의 크기가 시간이 경과함에 따라 변할 때, 변할 수 있는 임의의 기준일 수 있다는 것을 인식할 것이다.
만일 결정(414)이 디스플레이와 관련된 크기가 임계 값 이하가 아니라고 결정하면, 흐름은 다른 애플리케이션 명령 제어가 론칭되는 동작(416)으로 진행한다. 예를 들어, 더 큰 스크린 디스플레이를 위해 의도된 다른 버전의 애플리케이션/애플리케이션 명령 제어가 론칭될 수 있다.
만일 결정(414)이 디스플레이와 관련된 크기가 임계 값 이하라고 결정하면, 흐름은 애플리케이션 명령 제어의 팔레트(들)에 대해 높이가 설정되는 동작(416)으로 진행한다. 도 4a에 도시된 애플리케이션 명령 제어(402)와 같은 애플리케이션 명령 제어에 의해 디스플레이되는 팔레트의 높이는 애플리케이션 명령 제어가 팔레트를 디스플레이하는 열린 상태일 때, 프로세싱 디바이스의 디스플레이 상에서 애플리케이션 명령 제어가 길이로 차지하는 공간 양이다. 애플리케이션 명령 제어의 상태는 도 6에 설명되어 있다. 일례에서, 애플리케이션 명령 제어의 팔레트 높이는 애플리케이션 명령 제어의 프로그램 개발자에 의해 설정되고 사용자에 의해 크기가 변경되는 것이 방지된다. 다른 예에서, 팔레트의 높이는 예를 들어 사용자에 의한 사용 중에 조정 가능할 수 있다. 어떤 예에서도, 애플리케이션 명령 제어의 팔레트 높이는 애플리케이션 명령 제어의 사용에 기초하여 조건부로 설정될 수 있다. 예를 들어, 팔레트의 높이는 애플리케이션 명령 제어가 상이한 상태(예를 들어 열린 상태, 최소화된 상태, 보이지 않는 상태 등)로 디스플레이되는 경우에 설정될 수 있다. 상이한 상태들에서는 디스플레이되는 하나의 팔레트 또는 모든 팔레트의 높이가 미리 결정된 값으로 설정될 수 있다. 예를 들어, 팔레트 높이는 애플리케이션 명령 제어가 열린 상태에서 동작하고 있을 때 프로세싱 디바이스에 대한 디스플레이의 높이의 백분율(예를 들어, 55 %)로 설정될 수 있다. 다른 예에서, 팔레트의 높이는 애플리케이션 명령 제어가 최소화된 상태에서 동작하고 있을 때 디스플레이의 상이한 퍼센티지(예를 들어, 더 작은 퍼센티지)로 설정될 수 있다. 팔레트의 높이는 또한 애플리케이션 캔버스(404), SIP 및 사용 창(pane)과 같은 OS에 의한 다른 소프트웨어 컴포넌트의 론칭에 기초하여 조건부일 수 있다. 예를 들어, 조건은 팔레트 사이트가 SIP 위 또는 창 아래에 있을 때, 그 높이가 프로세싱 디바이스의 디스플레이상의 나머지 수직 공간과 동일하도록 설정될 수 있다. SIP 또는 사용 창과 같은 소프트웨어 컴포넌트가 닫히거나 최소화될 때 이는 애플리케이션 명령 제어의 팔레트 높이를 예를 들어 팔레트의 디스플레이를 위해 원래 설정된 높이로 되돌리도록 조정할 수 있다,
흐름은 팔레트에 대한 명령의 최대 행 수가 결정되는 동작(420) 및 팔레트에 대해 행당 최대 명령 수가 결정되는 동작(422)으로 진행된다. 동작(420) 및 동작(422)은 프로세싱 디바이스들 상에서 이용 가능한 제한된 공간이 주어졌을 때 애플리케이션 명령 제어가 사용자들을 위해 팔레트들 및 명령들을 최상으로 레이아웃할 수 있게 한다. 애플리케이션 명령 제어(402)의 팔레트들에서 명령들을 디스플레이하기 위한 스케일링(scaling)은 모바일 디바이스와 같은 프로세싱 디바이스의 디스플레이 크기(예를 들어, 디스플레이 윈도우의 디스플레이 폭 또는 동작 크기)에 기초하여 지능적으로 프로그래밍된다. 동작(420)은 프로세싱 디바이스의 디스플레이 크기에 기초하여 팔레트에 대한 명령의 최대 행 수를 결정한다. 동작(422)은 프로세싱 디바이스의 디스플레이 크기에 기초하여 팔레트에 대해 결정되는 행당 최대 명령 수를 결정한다.
예로서, 스케일링 플래토(scaling plateaus)는 다른 예들 중에서도, 모바일 디바이스의 스크린 크기, 디바이스 유형 또는 유효 해상도에 기초하여 구현될 수 있다. 예를 들어, 모바일 디바이스의 평가는 프로세싱 디바이스에 대한 디스플레이의 대각선이 4인치 폭이고, 프로세싱 디바이스의 디스플레이가 폭 360 픽셀 × 길이 640 픽셀의 해상도를 갖고 있다고 결정할 수 있다. 따라서, 애플리케이션 명령 제어(402)는 360 픽셀의 유효 픽셀 폭을 갖는 디스플레이에 대해 행 당 최대 4개의 명령을 갖는 최대 8개의 행이 디스플레이되어야 한다고 결정하는 그의 스케일링 플래토를 사용할 수 있다. 이를 통해 애플리케이션 명령 제어가 작업해야 하는 스크린 공간의 양과 그러한 스크린 공간을 할당(allocate)하는 가장 좋은 방법을 결정할 수 있다. 다른 예에서, 프로세싱 디바이스의 평가는 프로세싱 디바이스에 대한 디스플레이의 대각선이 5.5인치 폭이고, 프로세싱 디바이스의 디스플레이가 폭이 512 픽셀이고 길이가 853 픽셀인 해상도를 갖고 있다고 결정할 수 있다. 따라서, 애플리케이션 명령 제어(402)는 그 스케일링 플래토에 기초하여, 디스플레이된 팔레트에서 최대 12개의 행 및 명령의 행 당 최대 6개의 명령을 디스플레이하기로 결정할 수 있다.
흐름은 애플리케이션 명령 제어의 팔레트 또는 팔레트들에 대한 레이아웃이 설정되는 동작(424)으로 진행한다. 애플리케이션 명령 제어를 위한 레이아웃을 설정하는 것은 적어도 하나의 최상위 레벨 팔레트 및/또는 드릴-인 팔레트에 대한 레이아웃을 설정하는 것을 포함한다. 동작(424)은 예를 들어, 프로세싱 디바이스에 대한 디스플레이 크기 및 스케일링 플래토에 따라 결정된 행의 최대 개수 및 행 당 최대 명령 수에 따라 어느 팔레트에 어느 명령을 포함시킬 지 및 어떻게 팔레트를 레이아웃할 지를 식별한다. 예를 들어, 동작(424)은 애플리케이션 또는 다른 소프트웨어 컴포넌트의 디스플레이를 방지함이 없이 애플리케이션 명령 제어의 디스플레이에 이용 가능한 디스플레이 크기에 기초하여 (예를 들어, 최상위 레벨 팔레트 또는 드릴-인 팔레트에서) 명령들이 어떻게 그룹화되거나 중첩(nested)되어야 하는지 결정한다. 예들에서, 명령들은 크기(예를 들어, 명령 그룹 데이터(command grouping data)의 평가), 원격 측정(telemetry) 데이터(예를 들어, 사용자 데이터 또는 사용 데이터) 또는 이들의 조합에 기초하여 크기에 기초하여 그룹화되거나 중첩될 수 있다.
애플리케이션 명령 제어(402)의 팔레트의 생성 및 조직을 지능적으로 향상 시키기 위하여 애플리케이션에 대한 명령 또는 기능의 사용과 관련된 데이터가 추적될 수 있다. 예를 들어, 원격 측정 데이터(예를 들어, 애플리케이션/애플리케이션 명령 제어 사용과 관련된 이력 데이터)가 애플리케이션 명령 제어(402)의 개선된 프로그래밍을 위해 추적 및 평가될 수 있다. 추적되는 메트릭의 예들은 다른 예들 중에서 각 명령이 사용된 횟수, 각 팔레트가 방문된 횟수, 팔레트를 전환하기 전의 팔레트당 작업 수, 팔레트를 해제하기(dismiss) 전에 완료된 작업 수를 포함하지만, 이에 한정되는 것은 아니다. 원격 측정 하드웨어 또는 소프트웨어는 개별 또는 그룹 레벨의 애플리케이션으로 애플리케이션 명령 제어(402)의 데이터 사용을 추적하도록 구현될 수 있다. 원격 측정 하드웨어 또는 소프트웨어는 그러한 메트릭 데이터를 얻기 위하여 애플리케이션 명령 제어(402)를 실행하는 프로세싱 디바이스와 인터페이스할 수 있다.
팔레트에서의 명령의 조직 또는 그룹은 또한 애플리케이션 명령 제어의 프로그래머가 이용할 수 있는 명령 그룹 데이터에 기초할 수 있다. 명령 그룹 데이터는 명령들 간의 연관을 포함하는 명령들의 그룹에 관한 정보이다. 예를 들어, 굵은 글씨, 밑줄, 이탤릭체, 위 첨자 및 아래 첨자와 같은 텍스트 편집 기능이 연관되어 일반적으로 사용될 수 있다. 이상적으로, 애플리케이션 명령 제어는 공통적으로 사용되는 이 모든 기능을 동일한 팔레트에 포함하고자 한다. 그러나 스크린 크기 제한으로 인해 특정 명령을 구분해야 할 수도 있다. 명령 그룹 데이터는 연관(associations) 및 어떤 명령을 서로 분리해야 하는지 또는 분리해서는 안 되는지를 식별하는 정보이다. 예를 들어, 애플리케이션 명령 제어(402)는 최대 수의 행들 및 명령들이 최상위 레벨 팔레트에 위 첨자 편집 명령을 포함하는 텍스트 서식 명령의 디스플레이를 허용하지만 아래 첨자 명령의 디스플레이를 허용하지 않을 것이라고 결정할 수 있다. 명령 그룹 데이터를 사용하여 기능 및/또는 유용성의 관점에서 위 첨자 및 아래 첨자 편집 명령을 분리하지 않는 것이 최상이라고 식별될 수 있다. 예를 들어, 아래 첨자 텍스트 편집을 하는 사용자는 나중에 위 첨자를 편집하거나 그 반대일 수 있다. 따라서, 팔레트에 대한 명령의 레이아웃을 설정함에 있어서, 애플리케이션 명령 제어(402)는 최상위 레벨 팔레트에서의 텍스트 편집을 위한 상위 레벨(higher-level)의 명령을 디스플레이할 수 있고, 위 첨자 및 아래 첨자 편집 명령은 서로 분리되지 않도록 최상위 레벨 팔레트(부모 팔레트)의 드릴-인 팔레트(자식 팔레트)에 포함될 수 있다.
최상위 레벨 팔레트를 구성하는 공통 컴포넌트의 예들은 팔레트 바(bar) 및 팔레트 제목, (팔레트 바의 제목으로부터 팔레트 전환기(palette switcher)를 론칭하는 원터치 목표를 포함하는) 팔레트 전환 특징, 팔레트를 해제(dismiss)하는 명령(예를 들어, 타원의 시각적 표현), 퀵 명령(예를 들어, 실행 취소(undo) 또는 재실행(redo)), 다수의 명령, 청크 명령(예를 들어, 명령의 그룹) 및 청크 구분선(chunk divider)(예를 들어, 명령의 상이한 그룹을 분할)을 포함하는 팔레트 캔버스(palette canvas), (적용 가능할 때) 드릴-인 팔레트에 액세스할 수 있는 드릴-인 특징을 포함하지만, 이에 한정되는 것은 아니다.
드릴-인 팔레트를 구성하는 공통 컴포넌트의 예들은 팔레트 바 및 팔레트 제목, 부모 팔레트로 다시 탐색(navigate)하는 명령, 팔레트를 해제하는 명령(예를 들어, 타원의 시각적 표현), 퀵 명령(예를 들어, 실행 취소 또는 재실행), 다수의 명령, 청크 명령(예를 들어, 명령의 그룹) 및 청크 구분선(예를 들어, 명령의 상이한 그룹을 분할)를 포함할 수 있지만, 이에 한정되는 것은 아니다.
일 예에서, 애플리케이션 명령 제어의 팔레트는 수직 레이아웃으로 표시된다. 예를 들어, 최상위 레벨 팔레트와 드릴-인 팔레트는 수직으로 스크롤 가능하고 하나 이상의 선택 가능한 명령 요소를 포함하는 행들의 컬렉션을 포함한다. 그러나, 다른 예들에서, 팔레트의 레이아웃의 설정(동작 424)은 명령이 수평으로 스크롤될 수 있는 수평 레이아웃으로 명령을 표시하는 것을 포함할 수 있다. 일부 예에서는 팔레트의 스크롤 가능한 높이에 제한이 설정되지 않는다. 최상위 레벨 팔레트간에 전환할 때 스크롤 위치가 최상위 레벨 팔레트에 유지될 수 있지만 스크롤 위치는 드릴-인 팔레트에는 유지되거나 유지되지 않을 수 있다. 설정되고 디스플레이되는 명령에는 명령을 식별하는 라벨(label)이 포함될 수 있으며 팔레트의 전체 행을 차지하도록 구성될 수 있다. 다른 예들에서, 다수의 명령들이 팔레트의 한 행에 디스플레이될 수 있다. 스케일링은 팔레트 행에서 명령을 설정하고 디스플레이하는 데 적용된다. 일부 다른 예에서, 명령은 라벨, 예를 들어, 잘 알려져 있거나 사용자에게 잘 알려진 이미지가 디스플레이된 명령이 없을 수 있다. 구분자(separator) 또는 스페이서(spacer)(팔레트의 레이아웃에 따라 가로 또는 세로)가 디스플레이되어 상이한 명령들이나 명령 청크를 구분(break up)할 수 있다.
흐름은 프로세싱 디바이스에서 실행중인 애플리케이션에 대해 애플리케이션 명령 제어가 론칭되는 동작(426)으로 진행한다. 애플리케이션 명령 제어의 론칭은 애플리케이션 명령 제어와 인터페이스하는 애플리케이션의 론칭과 동시에 또는 거의 동시에 발생할 수 있다. 애플리케이션 명령 제어는 다른 예들 중에서 워드 프로세싱 애플리케이션, 스프레드시트 애플리케이션, 프레젠테이션 애플리케이션, 데이터베이스 관리 애플리케이션, 메모 작성 애플리케이션, 데이터 관리 애플리케이션(예를 들어 프로젝트 관리 애플리케이션), 다이어그램 작성 애플리케이션, 편집 애플리케이션, 통신 애플리케이션, 게시(publishing) 애플리케이션, 서버 애플리케이션, 클라이언트 애플리케이션 및 웹 서비스 애플리케이션을 포함하지만 이에 한정되지는 않는 임의의 애플리케이션과 인터페이스하고 론칭될 수 있다. 동작(426)에서 론칭되는 애플리케이션 명령 제어는 임계 값 이하인 디스플레이 크기를 갖는 디바이스들에 대해 프로그래밍되는 애플리케이션 명령 제어이다. 프로세싱 디바이스가 임계 값보다 큰 디스플레이 크기를 갖는다면, 동작(416)에서 설명된 바와 같이, 다른 애플리케이션/애플리케이션 명령 제어가 적용될 수 있다. 예를 들어, 프로세싱 디바이스와 관련된 디스플레이 폭이 임계 값 이하인 것으로 검출되면, 애플리케이션 명령 제어가 론칭된다. 일 예에서, 디바이스가 애플리케이션 및 애플리케이션 명령 제어로 사전로딩(preloaded)되는 경우에, 모바일 디바이스에 대한 애플리케이션 명령 제어의 론칭 요건이 암시적으로 충족될 수 있다.
일 예에서, 애플리케이션 명령 제어의 론칭은 애플리케이션 명령 제어의 팔레트를 숨기는 최소화된 상태에서 애플리케이션 명령 제어를 론칭하는 것을 포함한다. 또 다른 예에서는 론칭은 최상위 레벨 팔레트를 디스플레이하고 최상위 레벨 팔레트로부터 드릴-인 기능의 선택을 수신한 후 최상위 레벨 팔레트와 함께 드릴-인 팔레트를 표시하는 것을 포함한다. 이 예에서 드릴-인 팔레트는 드릴-인 기능을 선택할 때 최상위 레벨 팔레트로부터 수평으로 나타난다.
론칭되면, 예시적인 애플리케이션 명령 제어가 프로세싱 디바이스의 디스플레이의 하부(bottom portion)에 디스플레이된다. 또 다른 실시 예에서, 애플리케이션 명령 제어는 적어도 두 부분, 즉 프로세싱 디바이스의 디스플레이의 상부(top portion)에 디스플레이되는 제1 부분 및 프로세싱 디바이스의 디스플레이의 하부에 디스플레이되는 제2 부분을 포함한다. 애플리케이션 명령 제어의 부분들은 설정되거나 가변적일 수 있다. 하나의 예에서, 애플리케이션 명령 제어의 상부는 호출 및 해제 기능, 최소화/최대화 기능, 명명 규칙(naming conventions), 팔레트 전환 기능, 다른 애플리케이션에 대한 링크 등을 포함하지만, 이에 한정되지는 않는 팔레트 특유의(palette specific) 것이 아닌 기능 또는 명령을 포함할 수 있다. 다른 예에서, 모든 명령 기능은 디스플레이의 하부에 디스플레이되는 애플리케이션 명령 제어의 하부에 디스플레이될 수 있다.
애플리케이션 명령 제어의 다수의 버전이 동시에 실행될 수 있다. 애플리케이션 명령 제어의 상이한 버전들은 상이한 유형의 애플리케이션에 대해 특별히 프로그래밍될 수 있다. 방법(410)의 흐름은 또 다른 애플리케이션이 론칭되는지 여부를 검출할 수 있다(동작 428). 그렇지 않다면, 방법(410)의 흐름이 종료된다. 그렇다면, 흐름은 동작(430)으로 진행하며, 여기서 상이한 애플리케이션에 대해 프로그래밍된 애플리케이션 명령 제어의 다른 버전이 론칭된다.
또한, 본 개시는 애플리케이션의 디스플레이(예를 들어, 윈도우)가 임계 값 이하인 디스플레이 크기로 리사이즈될 때 애플리케이션 명령 제어(402)의 전이(transition)를 가능하게 한다. 즉, 소형 스크린 디바이스에 대한 애플리케이션 명령 제어의 론칭은 프로세싱 디바이스 상에 디스플레이된 윈도우의 동작 크기의 검출과 연관될 수 있다. 예를 들어, 임계 값보다 큰(즉, 더 큰 프로세싱 디바이스 상의) 윈도우에서 원래 실행중인 애플리케이션이 임계 값 이하인 윈도우에서 실행되도록 축소되면, 프로세싱 디바이스는 소형 스크린 애플리케이션 명령 제어를 론칭하여 더 큰 애플리케이션 명령 제어로부터 소형 스크린 디스플레이를 위해 프로그래밍된 더 작은 애플리케이션 명령 제어로 효과적으로 전이할 수 있다. 당업자는 소형 스크린 애플리케이션 명령 제어와 관련된/로부터의 임계 값이 또한 애플리케이션/애플리케이션 명령 제어 개발자에 의해 결정될 수 있다는 것을 인식할 것이다.
도 5는 본 개시의 양태들이 실시될 수 있는 상이한 크기의 프로세싱 디바이스들에 대한 디스플레이를 도시한 도면이다. 도 5에 도시된 예들은 다양한 크기 및/또는 다양한 스크린/디스플레이 크기를 갖는 프로세싱 디바이스, 예컨대 프로세싱 디바이스(502), 프로세싱 디바이스(504), 프로세싱 디바이스(506) 및 프로세싱 디바이스(508)를 포함한다. 도 5에 도시된 바와 같이, 애플리케이션 명령 제어(402) 및 애플리케이션/캔버스(404)는 예시적인 프로세싱 디바이스들(502-508)에서 디스플레이된다. 도 4b에서 설명된 바와 같이, 애플리케이션 명령 제어(402)는 디스플레이 윈도우의 상이한 크기 및/또는 동작 크기를 갖는 프로세싱 디바이스의 디스플레이 공간을 이용하기 위해 효율적으로 스케일링(scaling)하도록 프로그래밍된다. 예를 들어, 상이한 프로세싱 디바이스(502-508)에 걸친 애플리케이션 명령 제어(402)의 표시는 달라질 수 있다.
도 6은 본 개시의 양태들이 실시될 수 있는 애플리케이션 명령 제어에 대한 실행의 상이한 예시 상태들을 나타내는 도면이다. 예시적인 애플리케이션 명령 제어는 도 4a에서 설명된 애플리케이션 명령 제어(402)이다. 도 6에 도시된 바와 같이, 애플리케이션 명령 제어에 대한 실행 상태는 보이지 않는 상태(invisible state)(602), 최소화된 상태(604) 및 열린 상태(606)를 포함한다. 그러나, 당업자는 도 6에 도시된 상태가 애플리케이션 명령 제어를 위한 유일한 실행 상태가 아니라는 것을 인식할 것이다.
보이지 않는 상태(602)는 애플리케이션 명령 제어(402)가 사용자에게 보이지 않는(예를 들어, 보이지 않거나 투명함) 애플리케이션 명령 제어(402)에 대한 실행 상태이다. 보이지 않는 상태(602)에서, 애플리케이션 명령 제어(402)는 OS 상에서 실행되지만 사용자에게는 보이게 나타나지 않는다. 예를 들어, 애플리케이션이 프레젠테이션 모드에 있을 때, 사용자가 OS의 홈 스크린으로 돌아갈 때 또는 사용자가 애플리케이션을 통해 활발히 스크롤하고 있을 때, 보이지 않는 상태는 실행된다. 그러나, 애플리케이션 명령 제어(402)는 프로세싱 디바이스의 사용 또는 비-사용(non-use)과 관련된 임의의 작업에 기초하여 보이지 않는 상태(602)로 진입하도록 프로그램 가능하다. 일 예에서, 애플리케이션 명령 제어(402)는 유휴 기간(idle period) 동안 보이지 않는 상태(602)에 진입한다. 유휴 기간은 애플리케이션 명령 제어(402)의 프로그래머 또는 애플리케이션 개발자에 의해 설정될 수 있다.
최소화된 상태(604)는 애플리케이션 명령 제어(402)가 디스플레이되지만 팔레트를 나타내지 않는 애플리케이션 명령 제어(402)에 대한 실행 상태이다. 예를 들어, 최소화된 상태(604)는 애플리케이션 명령 제어(402)의 디폴트 상태이다. 예를 들어, 최소화된 상태(604)는 애플리케이션 명령 제어(402)가 처음 실행될 수 있는 실행 상태이다. 애플리케이션 명령 제어(402)는 프로세싱 디바이스의 사용 또는 비-사용과 관련된 임의의 작업에 기초하여 최소화된 상태(604)로 들어가도록 프로그래밍 가능하다. 일 예에서, 애플리케이션 명령 제어(402)는 유휴 기간 동안 최소화된 상태(604)로 복귀한다.
열린 상태(606)는 애플리케이션 명령 제어(402)가 사용 중인 애플리케이션 명령 제어(402)에 대한 실행 상태이다. 열린 상태(606)에서, 애플리케이션 명령 제어(402)는 하나 이상의 팔레트(예를 들어, 최상위 레벨 팔레트 및 드릴-인 팔레트)를 디스플레이하고 명령의 실행을 가능하게 한다. 애플리케이션 명령 제어(402)는 프로세싱 디바이스의 사용자에 의해 또는 사전 정의된 상태로 들어가는 애플리케이션에 의해 취해지는 임의의 작업에 기초하여 열린 상태(606)로 진입하도록 프로그램 가능하다.
도 7은 본 개시의 양태들이 실시될 수 있는 최소화된 위치 결정(positioning)에서의 애플리케이션 명령 제어의 위치들의 예시들을 도시하는 도면이다. 애플리케이션 명령 제어(402)의 최소화된 위치 결정은 애플리케이션 명령 제어(402)가 도 6과 관련하여 기술된 바와 같이 최소화된 상태(604)에서 동작하고 있을 때 발생할 수 있다. 초기 론칭시 애플리케이션 명령 제어(402)의 디스플레이가 프로세싱 디바이스 뷰(702)에 도시된다. 프로세싱 디바이스 뷰(702)에 도시된 바와 같이, 애플리케이션 명령 제어(402)는 애플리케이션/캔버스(404) 아래의 모바일 디바이스의 디스플레이의 하부에 도킹된다. 프로세싱 디바이스 뷰(704)는 애플리케이션 명령 제어(402)의 위치가 SIP(705)(예를 들어 소프트 입력 키보드)가 모바일 디바이스의 디스플레이에 표시될 때 스크린 상에서 변화한다는 것을 보여준다. 프로세싱 디바이스 뷰(704)에 도시된 바와 같이, 최소화된 상태에서의 애플리케이션 명령 제어(402)의 위치 결정은 SIP(705)가 디스플레이될 때 애플리케이션 명령 제어(402)가 SIP(705) 위에 있는 경우 변화된다. 프로세싱 디바이스 뷰(706)는 모바일 디바이스의 디스플레이를 공유하는 (최소화된 상태에서의) 애플리케이션 명령 제어(402), SIP(705) 및 창(707)의 디스플레이를 도시한다. 프로세싱 디바이스 뷰(706)에 도시된 바와 같이, 애플리케이션 명령 제어(402)는 창(707) 아래에 디스플레이된다. 창(707)은 다른 예들 중에서 OS 및 다른 소프트웨어 애플리케이션과 같은 모바일 디바이스에서 실행되는 다른 소프트웨어의 기능을 지원하는 소프트웨어 컴포넌트이다. 하나 이상의 창(707)은 애플리케이션 명령 제어(402)와 인터페이스할 수 있는 프로세싱 디바이스의 디스플레이 상에 디스플레이될 수 있다. 예시적인 창(707)은 다른 예들 중에서 탐색 창, 연구(research) 창, 편집 창, 제어 창, 명령 창 및 도움말 창을 포함하지만, 이에 한정되지는 않는다. 창(707) 및 SIP(705) 모두가 디스플레이되는 예에서, 애플리케이션 명령 제어(402)는 SIP(706) 위에 그리고 창(707) 아래에 디스플레이된다. 애플리케이션 명령 제어(402)의 예시적인 위치가 도 7과 관련하여 도시되고 설명되지만, 당업자는 모바일 디바이스의 디스플레이 상에 애플리케이션 명령 제어(402)의 위치 결정이 프로그램 개발자에 의해 가변적으로 제어될 수 있다는 것을 인식할 것이다.
도 8은 본 개시의 양태들이 실시될 수 있는 열린 위치에서의 애플리케이션 명령 제어의 위치의 예를 나타내는 도면이다. 애플리케이션 명령 제어(402)의 열린 위치 결정은 애플리케이션 명령 제어(402)가 도 6과 관련하여 기술된 바와 같이 열린 상태(606)에서 동작하고 있을 때 발생할 수 있다. 열린 상태로 초기 론칭시에 (애플리케이션 명령 제어(402)의 론칭 또는 사용자에 의해 취해진 작업에 기초한) 애플리케이션 명령 제어(402)의 디스플레이가 프로세싱 디바이스 뷰(802)에 도시되어 있다. 프로세싱 디바이스 뷰(802)에 도시된 바와 같이, 애플리케이션 명령 제어(402)는 프로세싱 디바이스의 디스플레이의 하부, 애플리케이션/애플리케이션 캔버스(404)의 아래에 도킹된다. 예를 들어, 애플리케이션 명령 제어(402)가 열린 상태에 있고, 애플리케이션(404) 및 애플리케이션 명령 제어(402)만이 디스플레이되는 경우, 애플리케이션 명령 제어(402)의 높이는 모바일 디바이스의 디스플레이 스크린의 대략 절반으로 설정될 수 있다. 그러나, 전술한 바와 같이 애플리케이션 명령 제어(402)의 높이는 가변적일 수 있다. 프로세싱 디바이스 뷰(804)는 SIP(705)(예를 들어, 소프트 입력 키보드)가 프로세싱 디바이스의 디스플레이 상에 표시될 때 애플리케이션 명령 제어(402)의 위치가 스크린 상에서 변화한다는 것을 보여준다. 프로세싱 디바이스 뷰(804)에 도시된 바와 같이, SIP(705)가 디스플레이 될 때, 애플리케이션 명령 제어(402)가 SIP(705) 위에 디스플레이되는 경우, 열린 상태의 애플리케이션 명령 제어(402)의 위치 결정이 변화된다. 프로세싱 디바이스 뷰(804)에서 애플리케이션 명령 제어(402)는 절반-스크린(half-screen) 디스플레이를 유지하고, 애플리케이션 명령 제어(402)의 위치 결정은 SIP(705) 위에 있다. 프로세싱 디바이스 뷰(806)는 모바일 디바이스의 디스플레이를 공유하는 (열린 상태의) 애플리케이션 명령 제어(402), SIP(705) 및 창(707)의 디스플레이를 도시한다. 프로세싱 디바이스 뷰(806)에 도시된 바와 같이, 애플리케이션 명령 제어(402)는 창(707) 아래에 디스플레이된다. 창(707)과 SIP(705) 모두가 디스플레이되는 예에서, 애플리케이션 명령 제어(402)는 SIP(706) 위에 창(707) 아래에 디스플레이된다. 애플리케이션 명령 제어(402)의 예시적인 위치가 도 8과 관련하여 도시되고 설명되었지만, 당업자라면 애플리케이션 명령 제어(402)의 모바일 디바이스의 디스플레이 상에서의 위치 결정이 프로그램 개발자에 의해 가변적으로 제어가능할 수 있다는 것을 인식할 것이다.
도 9는 본 개시의 양태들이 실시될 수 있는 재개 또는 확장시의 애플리케이션 명령 제어의 예시적인 거동을 나타내는 블록도이다. 도 9는 애플리케이션 명령 제어가 애플리케이션의 활성 세션(active session)에서 실행되고 있는 예제를 보여준다. 활성 세션의 예는 애플리케이션이 활성화되어 있고 애플리케이션 및/또는 애플리케이션 명령 제어가 닫혀 있지 않은 상태에서 애플리케이션 명령 제어가 론칭된 곳이다. 예들에서, 애플리케이션 명령 제어(402)와 같은 애플리케이션 명령 제어는 애플리케이션이 론칭되거나 닫힐 때 론칭 및/또는 닫힐 수 있다. 다른 예들에서, 애플리케이션 명령 제어는 애플리케이션과 독립적으로 론칭되거나 닫힐 수 있다. 애플리케이션 명령 제어가 활성 세션 동안 애플리케이션과 결합(engage)되어 있는 동안 최소화되기 전에 열린 상태로 확장된 팔레트는 사용자가 애플리케이션의 열린 상태로 돌아올 때 여전히 확장될 것이다. 팔레트가 최소화된 예에서, 팔레트를 다시 열면 사용자는 이전과 같은 팔레트를 볼 수 있다(예를 들어, "홈(home)" 팔레트로 리셋되지 않을 것이다). 예시적인 팔레트는 최상위 레벨 팔레트 또는 드릴-인 팔레트를 포함하며, 그 예들은 이전에 설명되어 있다.
도 9에 도시된 바와 같이, 프로세싱 디바이스 뷰(902)는 "팔레트 A"를 디스플레이하고 있는 애플리케이션 명령 제어의 열린 상태를 나타낸다. 프로세싱 디바이스 뷰(904)는 애플리케이션 명령 제어가 열린 상태에 있는 동안 애플리케이션 명령 제어의 팔레트가 (프로세싱 디바이스 뷰(902)에 도시된) "팔레트 A"로부터 "팔레트 B"로 변경된다는 것을 나타낸다. 프로세싱 디바이스 뷰(906)는 애플리케이션 명령 제어의 실행 상태가 열린 상태에서 최소화 상태로 변경되는 것을 도시한다. 애플리케이션 명령 제어가 최소화 상태로부터 열린 상태로 다시 되돌아갈 때, 실행된 상태 변화 전에 도시된 동일한 팔레트 "팔레트 B"가 프로세싱 디바이스 뷰(908)에 도시된 애플리케이션 명령 제어의 열린 상태에서 디스플레이된다.
도 10은 애플리케이션을 종료하고 본 개시의 양태들이 실시될 수 있는 애플리케이션을 재진입 또는 재론칭할 때의 애플리케이션 명령 제어의 거동을 나타내는 블록도이다. 도 10은 론칭된 애플리케이션 명령 제어를 포함하는 애플리케이션(예를 들어, "애플리케이션 1")의 활성 세션이 해제되지만 활성 상태로 유지되는 예를 도시한다.
도 10에 도시된 바와 같이, 프로세싱 디바이스 뷰(1002)는 애플리케이션( "애플리케이션 1")의 열린 상태 및 "팔레트 A"를 디스플레이하고 있는 애플리케이션 명령 제어를 나타낸다. 프로세싱 디바이스 뷰(1004)는 애플리케이션 명령 제어가 열린 상태인 동안 애플리케이션 명령 제어의 팔레트가 (프로세싱 디바이스 뷰(1002)에 도시된) "팔레트 A"로부터 "팔레트 B"로 변경된다는 것을 나타낸다. 프로세싱 디바이스 뷰(1006)는 "애플리케이션 1"의 디스플레이 및 애플리케이션 명령 제어가 해제되고 OS의 홈 스크린이 디스플레이되는 것을 도시한다. 사용자가 "애플리케이션 1" 및 관련 애플리케이션 명령 제어로 되돌아가면, "애플리케이션 1"의 디스플레이를 해제하기 전에 도시된 바와 같이, 동일한 팔레트 "팔레트 B"가 프로세싱 디바이스 뷰(1008)에 도시된 애플리케이션 명령 제어의 열린 상태로 디스플레이된다.
하나의 예에서, 마지막으로 사용된 팔레트가 드릴-인 팔레트이고 애플리케이션 명령 제어가 최소화된 상태에 있게 되거나 애플리케이션이 종료되면, 애플리케이션 명령 제어는 열린 상태로 진입할 때 마지막으로 디스플레이된 드릴-인 팔레트를 디스플레이한다. 또 다른 예에서 마지막으로 사용한 팔레트가 드릴-인 팔레트이고 애플리케이션 명령 제어가 최소화된 상태에 있거나 애플리케이션이 종료되면 애플리케이션 명령 제어가 열린 상태로 진입시의 드릴-인 팔레트의 최상위 레벨 팔레트를 디스플레이한다.
대안적인 예에서, "애플리케이션 1"과 같은 애플리케이션이 해제되고 닫힐 때, 론칭된 애플리케이션 명령 제어의 열린 상태에서 최초로 디스플레이되는 팔레트는 홈 팔레트(예를 들어, 제1 최상위 레벨 팔레트)이다. 또 다른 대안적인 예에서, "애플리케이션 1"과 같은 애플리케이션이 해제되고 닫힐 때, 론칭된 애플리케이션 명령 제어의 열린 상태에서 최초로 디스플레이되는 팔레트는 최종 사용된 팔레트(예를 들어, 최상위 레벨 팔레트 또는 드릴-인 팔레트)이다.
애플리케이션 명령 제어는 팔레트를 호출 또는 해제하기 위한 선택 가능한 특징 또는 명령을 포함한다. 예를 들어, 팔레트의 호출/해제를 위한 선택 가능한 특징이 도 4a 및 도 6-21에 도시된 바와 같이 생략(ellipsis) 또는 생략 부호에 의해 나타내어진다. 그러나, 당업자는 다른 이미지/아이콘/명령이 선택 가능한 기능을 나타낼 수 있다는 것을 인식할 것이다. 예를 들어, 팔레트는 다른 예들 중에서 생략 아이콘을 탭(tap)하는 것, 생략 아이콘을 드래그하는 것, 생략 아이콘을 플릭(flick)하는 것, 및 음성 명령 등을 포함하지만 이에 한정되지는 않는 제스처에 의해 프로그래밍 방식으로(programmatically) 호출될 수 있다. 예를 들어, 생략 아이콘이 탭될 때, 명령 팔레트(예를 들어, 최상위 레벨 팔레트)가 디스플레이 상에 표시된다. 생략 아이콘이 드래그될 때 명령 팔레트는 사용자가 제어 가능하게 표시될 수 있으며 생략 아이콘이 플릭될 때 명령 팔레트가 빠르게 나타난다/사라진다. 애플리케이션 명령 제어는 또한 팔레트 전환, 방향 변경, 명령 호출 및 SIP 또는 창과 같은 소프트웨어 컴포넌트 호출과 같은 다른 작업뿐만 아니라 호출/해제를 위한 애니메이션 및/또는 소리를 더 포함한다. 일부 예에서, 사용자는 이러한 특징을 제어할 수 있다.
도 11은 본 개시의 양태들이 실시될 수 있는 다수의 애플리케이션들 및 애플리케이션의 다수의 인스턴스들이 이용되고 있을 때의 애플리케이션 명령 제어의 거동을 나타내는 블록도이다. 도 11에 도시된 바와 같이, 프로세싱 디바이스 뷰(1102)는 애플리케이션("애플리케이션 1")의 열린 상태 및 "팔레트 A"를 디스플레이하고 있는 애플리케이션 명령 제어를 도시한다. 프로세싱 디바이스 뷰(1104)는 애플리케이션 명령 제어의 열린 상태에서 "팔레트 B"를 디스플레이하고 있는 다른 애플리케이션 "애플리케이션 2"의 론칭을 나타낸다. 예를 들어, "애플리케이션 2"의 론칭은 프로세싱 디바이스의 디스플레이 상에서 "애플리케이션 1"의 디스플레이를 해제하거나, "애플리케이션 1"을 해제하고 닫거나, "애플리케이션 1"과 동시에 "애플리케이션 2"를 론칭하는 결과일 수 있다. 프로세싱 디바이스 뷰(1106)는 "애플리케이션 1" 및 "애플리케이션 2" 중 적어도 하나의 디스플레이가 해제되고 OS의 홈 스크린이 디스플레이되는 것을 도시한다. 사용자가 "애플리케이션 1" 및 관련 애플리케이션 명령 제어로 되돌아갈 때, "애플리케이션 1"의 디스플레이를 해제하기 전에 도시된 바와 같이, 동일한 팔레트 "팔레트 A"가 프로세싱 디바이스 뷰(1108)에서 도시된 애플리케이션 명령 제어의 열린 상태에서 디스플레이된다.
일 예에서, "애플리케이션 1"과 같은 애플리케이션이 해제되고 닫힐 때, 론칭된 애플리케이션 명령 제어의 열린 상태에서 최초로 디스플레이되는 팔레트는 최종 사용된 팔레트(예를 들어, 최상위 레벨 팔레트 또는 드릴-인 팔레트)이다. 대안적인 예에서, "애플리케이션 1"과 같은 애플리케이션이 해제되고 닫힐 때, 론칭된 애플리케이션 명령 제어의 열린 상태에서 최초로 디스플레이되는 팔레트는 홈 팔레트(예를 들어, 제1 최상위 레벨 팔레트)이다. 일 예에서, 그 팔레트는 "팔레트 A"일 수 있지만, (예를 들어, 홈 팔레트가 "팔레트 A"가 아닌 경우) 그것은 또한 홈 팔레트일 수도 있다. 동일한 아이디어가 "애플리케이션 2"와 같은 다른 애플리케이션들을 호출하는/해제하는/닫는 유사한 시나리오에도 적용될 수 있다.
참고로, 다른 예들 중에서, 생략을 탭하는 것, Back 버튼을 탭하는 것, 애플리케이션 캔버스에 탭하는 것, 팔레트 내의 편집 가능한 표면에 탭하는 것, 창을 호출하는 팔레트의 특정한 명령에 탭하는 것을 포함하지만, 이에 한정되지는 않는 상이한 작업들이 적어도 도 6 내지 도 11에 도시된 상태들 간에 전이를 초래할 수 있다.
도 12 내지 도 20은 본 개시의 양태들이 실시될 수 있는 애플리케이션 명령 제어의 예를 도시하는 다이어그램이다. 도 12에서, 애플리케이션 명령 제어(1202)는 예시적인 최상위 레벨 팔레트이다. 도 13에서, 애플리케이션 명령 제어(1302)는 예시적인 드릴-인 팔레트이다. 예를 들어, 애플리케이션 명령 제어(1302)는 도 12에 도시된 최상위 레벨 팔레트(1202)의 드릴-인 팔레트를 디스플레이하는데, 여기서 최상위 레벨 팔레트(1202)는 드릴-인 팔레트(1302)(예를 들어, 최상위 레벨 팔레트의 자식 팔레트)의 부모 팔레트이다. 애플리케이션 명령 제어(1202)에 도시된 바와 같이, "폰트 서식" 명령을 나타내는 행은 드릴-인 특징을 표시하는 캐럿(caret)을 포함한다. 드릴-인 특징이 선택될 때, 애플리케이션 명령 제어의 드릴-인 팔레트(1302)가 프로세싱 디바이스의 디스플레이 상에 디스플레이된다. 애플리케이션 명령 제어(1302)에서 볼 수 있는 바와 같이, 폰트 서식 명령 특징인 "위 첨자" 및 "아래 첨자"가 디스플레이된다.
도 15에서, 애플리케이션 명령 제어(1502)는 예시적인 최상위 레벨 팔레트이다. 도 16에서, 애플리케이션 명령 제어(1602)는 예시적인 드릴-인 팔레트이다. 예를 들어, 애플리케이션 명령 제어(1602)는 도 15에 도시된 최상위 레벨 팔레트(1502)의 드릴-인 팔레트를 디스플레이하는데, 최상위 레벨 팔레트(1502)는 드릴-인 팔레트(1602)(예를 들어, 최상위 레벨 팔레트의 자식 팔레트)의 부모 팔레트이다. 애플리케이션 명령 제어(1502)에 도시된 바와 같이, "도형 스타일(shape style)" 명령을 나타내는 행은 드릴-인 특징을 표시하는 캐럿을 포함한다. 드릴-인 특징이 선택될 때, 애플리케이션 명령 제어(1602)의 드릴-인 팔레트가 프로세싱 디바이스의 디스플레이 상에 디스플레이된다. 애플리케이션 명령 제어(1602)에서 볼 수 있는 바와 같이, 도형 스타일 이미지 특징이 선택되어 애플리케이션과 함께 사용될 수 있다.
도 17은 예시적인 애플리케이션 명령 제어(1702)를 도시한다. 애플리케이션 명령 제어(1702)는 예시적인 최상위 레벨 팔레트이다. 팔레트(예를 들어, 최상위 레벨 팔레트 또는 드릴-인 팔레트)는 팔레트 전환 특징(1704)을 포함할 수 있다. 사용자는 팔레트들 간에 변경하거나 팔레트의 특징/뷰를 변경하기 위해 팔레트 전환 특징(1704)을 호출할 수 있다. 팔레트 전환 특징(1704)은 팔레트 전환 특징(1704)에 도시된 바와 같이 사용자가 전환할 수 있는 상이한 팔레트를 식별할 수 있다. 그러나, 당업자는 애플리케이션 명령 제어의 팔레트가 팔레트 전환 특징(1704)의 디스플레이에 열거된 것보다 추가적인 팔레트 또는 팔레트 유형을 포함할 수 있음을 인식할 것이다.
도 18 내지 도 20은 애플리케이션 명령 제어에 의해 디스플레이될 수 있는 예시적인 팔레트의 추가적인 예를 도시한다. 애플리케이션 명령 제어(1802)는 다른 예들 중에서 스프레드시트 애플리케이션 및 워드 프로세싱 애플리케이션을 포함하는 임의의 애플리케이션에 대한 예시적인 최상위 레벨 팔레트이다. 애플리케이션 명령 제어(1902)는 워드 프로세싱 애플리케이션을 포함하는 임의의 애플리케이션에 대한 예시적인 최상위 레벨 팔레트이다. 애플리케이션 명령 제어(2002)는 다른 예들 중에서 워드 프로세싱 애플리케이션, 메시징 애플리케이션 및 프레젠테이션 애플리케이션을 포함하는 임의의 애플리케이션에 대한 예시적인 최상위 레벨 팔레트이다.
도 21은 예시적인 애플리케이션 명령 제어를 포함하는 디스플레이(2102)를 도시한다. 디스플레이(2102)는 애플리케이션 명령 제어가 애플리케이션 내의 선택된 콘텐츠에 기초하여 팔레트(예를 들어, 최상위 레벨 팔레트 또는 드릴-인 팔레트)의 콘텐츠를 지능적으로 적응시키는 것을 나타낸다. 일례로, 팔레트 전환기(palette switcher) 상의 옵션들이 선택 사항에 따라 변경되도록 (예를 들어 사각형과 같은) 도형(shape) 오브젝트가 선택된다. 예를 들어, 공유 오브젝트가 선택될 때, "도형(Shape)" 팔레트가 사용 가능하게 되고 도 21에 도시된 바와 같이 팔레트 전환기를 통해 액세스할 수 있다. 다른 예에서, "사각형(square)"으로부터의 단어의 선택은 디스플레이(2102)의 애플리케이션 캔버스에서 사용자에 의해 강조된다. 애플리케이션 명령 제어는 애플리케이션과 인터페이스하고 사용자 경험을 향상시키기 위해 지능적으로 제안들을 사용자에게 제공할 수 있다. 예를 들어, 애플리케이션에서 "사각형(square)"라는 단어가 선택될 때 사각형 도형을 디스플레이하는 팔레트가 디스플레이될 수 있다. 또 다른 예에서, 애플리케이션 명령 제어는 서치 명령 또는 서치 창(예를 들어, 사용 창)을 론칭하여 사용자에 의해 강조된 단어 "사각형(square)"을 찾을 수 있다.
또한, 팔레트는 애플리케이션 및 소프트웨어 컴포넌트의 론칭에 지능적으로 적응할 수 있다. 예를 들어, 가상 키보드와 같은 SIP 컴포넌트가 론칭될 때, 애플리케이션 명령 제어는 텍스트 입력 팔레트와 같은 관련 팔레트를 입력할 수 있다. 예를 들어, 애플리케이션 명령 제어는 SIP와 같은 소프트웨어 컴포넌트가 해제될 때를 검출할 수 있고, 예를 들어 SIP의 론칭 이전에 디스플레이된 팔레트로 복귀하도록 팔레트 디스플레이를 지능적으로 적응시킬 수 있다.
본 개시의 비-제한적인 실시 예들은 프로세싱 디바이스와 관련된 디스플레이 폭이 임계 값 이하라고 검출될 때 소형 스크린 상에 디스플레이하도록 프로그래밍된 애플리케이션 명령 제어의 론칭와 관련된 프로세싱 디바이스, 컴퓨터 구현 방법 및 컴퓨터 판독 가능 저장 디바이스를 설명한다. 예들에서, 애플리케이션 명령 제어는 프로세싱 디바이스 상에서 실행되는 애플리케이션과 인터페이스하며, 애플리케이션을 위해 프로그래밍된 복수의 최상위 레벨 팔레트 및 복수의 드릴-인 팔레트를 포함한다. 애플리케이션에 대한 최상위 레벨 팔레트는 수직으로 스크롤 가능하고 하나 이상의 선택 가능한 명령 요소를 포함하는 행들의 컬렉션을 포함한다. 최상위 레벨 팔레트의 하나 이상의 명령 요소의 행은 선택될 때 드릴-인 팔레트를 표시하는 드릴-인 특징을 포함한다. 드릴-인 팔레트는 수직으로 스크롤 가능하고 선택 가능한 명령 요소의 하나 이상의 행을 포함한다. 적어도 하나의 예에서, 검출된 디스플레이 폭은 애플리케이션에 대한 디스플레이 윈도우의 동작 크기에 상응하고, 론칭은 동작 크기가 동작 크기와 관련된 임계 값 이하인지 여부를 결정한다. 애플리케이션 명령 제어는 애플리케이션 내의 선택된 콘텐츠에 기초하여 최상위 레벨 팔레트, 드릴-인 팔레트 및 팔레트 전환기 중 적어도 하나의 콘텐츠를 지능적으로 적응시킬 수 있다.
예들에서, 복수의 최상위 레벨 팔레트 및 복수의 드릴-인 팔레트는 애플리케이션, 프로세싱 디바이스의 소프트웨어 입력 패널 및 적어도 하나의 창과 인터페이스한다. 애플리케이션 명령 제어는 또한 애플리케이션을 포함하는 복수의 애플리케이션과 인터페이스하도록 프로그래밍 가능하다. 실행된 동작은 다른 애플리케이션의 론칭을 검출하는 것과, 다른 애플리케이션이 론칭될 때 다른 애플리케이션을 위해 프로그래밍된 애플리케이션 명령 제어의 버전을 론칭하는 것을 더 포함할 수 있다.
예들에서, 론칭은 애플리케이션 명령 제어의 팔레트를 숨기는 최소화된 상태에서 애플리케이션 명령 제어를 론칭하는 것을 포함한다. 애플리케이션 명령 제어의 위치는 소프트 입력 패널의 론칭에 따라 변경될 수 있다. 애플리케이션 명령 제어는 프로세싱 디바이스의 디스플레이의 하부에 디스플레이될 수 있다. 다른 예에서, 애플리케이션 명령 제어는 적어도 두 부분, 즉 프로세싱 디바이스의 디스플레이의 상부에 디스플레이되는 제1 부분 및 프로세싱 디바이스의 디스플레이의 하부에 디스플레이되는 제2 부분을 포함한다. 애플리케이션 명령 제어는 애플리케이션과의 실행을 위한 세로 방향 및 가로 방향을 지원하고, 실행되는 동작은 프로세싱 디바이스의 방향이 바뀔 때 애플리케이션 명령 제어의 디스플레이를 변경하는 것을 더 포함하고, 애플리케이션 명령 제어의 디스플레이의 변경이 제1 방향에서 제2 방향으로 변경될 때, 애플리케이션 명령 제어는 제2 방향에서 최소화된 상태로 디스플레이된다.
애플리케이션 명령 제어의 론칭은 최상위 레벨 팔레트를 디스플레이하고, 드릴-인 특징의 선택을 수신한 후, 최상위 레벨 팔레트와 함께 드릴-인 팔레트를 표시하는 것을 포함할 수 있고, 드릴-인은 드릴-인 기능을 선택할 때 최상위 레벨 팔레트로부터 수평으로 나타난다. 애플리케이션 명령 제어가 론칭되는 애플리케이션의 활성 세션 동안 애플리케이션 명령 제어가 해제되고 다시 호출되거나 최소화된 상태에서 열린 상태로 변경될 때 애플리케이션 명령 제어는 마지막으로 사용된 팔레트를 디스플레이하고, 마지막 사용된 팔레트가 드릴-인 팔레트이고 애플리케이션 명령 제어가 최소화된 상태에 놓이거나 애플리케이션이 종료될 때 애플리케이션 명령 제어는 열린 상태로 진입할 때 드릴-인 팔레트의 최상위 레벨 팔레트를 디스플레이한다. 실행된 동작은 드릴-인 특징의 선택을 인식하는 것, 드릴-인 팔레트를 표시하는 것, 최상위 레벨 팔레트로의 복귀를 요청하는 특징의 선택을 인식하는 것 및 최상위 레벨 팔레트를 표시하는 것을 더 포함할 수 있다.
또 다른 예들에서, 실행되는 동작은 적어도 최상위 레벨 팔레트의 레이아웃을 설정하는 것을 포함하며, 설정은 명령 그룹 데이터 및 원격 측정 데이터에 기초하여 최상위 레벨 팔레트의 행에 포함시키는 명령들을 결정하는 것을 더 포함하며, 최상위 레벨 팔레트의 행은 행당 디스플레이 가능한 것으로 결정된 최대 명령 수까지의 하나 이상의 명령을 포함한다. 레이아웃의 설정은 디스플레이될 행이 행당 디스플레이 가능한 것으로 결정된 최대 명령 수보다 적게 포함할 때 행에서 명령을 스케일링(scaling)하는 단계를 더 포함한다. 실행된 동작은 팔레트, 복수의 최상위 레벨 팔레트 및 복수의 드릴-인 팔레트의 디스플레이를 위한 높이를 설정하는 것과, 팔레트가 열린 상태에 있을 때 디스플레이 폭에 기초하여 디스플레이에 대해 설정된 높이에 따라 팔레트를 디스플레이하는 것을 더 포함할 수 있다.
본 명세서 전체에 걸쳐 "하나의 예(one example)" 또는 "예(an example)"로 언급되었는데, 이는 특정한 설명된 특징, 구조 또는 특성이 적어도 하나의 예에 포함됨을 의미한다. 따라서, 이러한 구(phrase)의 사용은 단지 하나의 예보다 많은 것을 일컬을 수 있다. 또한, 설명된 특징, 구조 또는 특성은 하나 이상의 예에서 임의의 적절한 방식으로 결합될 수 있다.
그러나, 관련 기술 분야의 당업자는 예들이 하나 이상의 특정 세부 사항들 없이 또는 다른 방법들, 자원들, 재료들 등과 함께 실시될 수 있다는 것을 인식할 수 있다. 다른 경우들에서, 잘 알려진 구조들, 자원들, 또는 동작들은 단지 예들의 모호한 면을 말하기 위해 상세히 도시 또는 기술되지 않았다.
샘플 예들 및 애플리케이션들이 도시되고 설명되었지만, 예들은 상술한 정확한 구성 및 자원들로 제한되지 않는다는 것을 이해해야 한다. 청구범위에 기재된 예들의 범위를 벗어남이 없이 본 명세서에 개시된 방법 및 시스템의 구성, 동작 및 세부 사항에서 당업자에게 자명한 다양한 수정, 변화 및 변형이 이루어질 수 있다.

Claims (15)

  1. 프로세싱 디바이스에 있어서,
    메모리; 및
    상기 메모리와 동작 가능하게 연결된 프로세서를 포함하며,
    상기 프로세서는,
    상기 프로세싱 디바이스와 관련된 디스플레이 폭이 임계 값 이하라는 것을 검출할 때, 소형 스크린 상에 디스플레이되도록 프로그래밍된 애플리케이션 명령 제어(application command control)를 론칭하는 동작을 포함하는 동작들(operations)을 실행하고,
    상기 애플리케이션 명령 제어는 상기 프로세싱 디바이스 상에서 실행되는 애플리케이션과 인터페이스하고, 상기 애플리케이션을 위해 프로그래밍된 복수의 최상위 레벨 팔레트(top-level palette) 및 복수의 드릴-인 팔레트(drill-in palette)를 포함하며,
    상기 애플리케이션에 대한 최상위 레벨 팔레트는 수직으로 스크롤 가능하고 하나 이상의 선택 가능한 명령 요소를 포함하는 행들의 컬렉션을 포함하고,
    상기 최상위 레벨 팔레트의 상기 하나 이상의 명령 요소의 행은, 선택될 때, 수직으로 스크롤 가능하고 선택 가능한 명령 요소들의 하나 이상의 행을 포함하는 드릴-인 팔레트를 표시(present)하는 드릴-인 특징(drill-in feature)을 포함하는 것인 프로세싱 디바이스.
  2. 제1항에 있어서, 상기 프로세서에 의해 실행되는 동작들은 적어도 상기 최상위 레벨 팔레트의 레이아웃(layout)을 설정(setting)하는 동작을 더 포함하며,
    상기 설정은 명령 그룹 데이터(command grouping data) 및 원격 측정 데이터(telemetric data)에 기초하여 상기 최상위 레벨 팔레트의 행에 포함시킬 명령들을 결정하는 동작을 더 포함하고,
    상기 최상위 레벨 팔레트의 행은 행당 디스플레이 가능한 것으로 결정된 최대 수의 명령까지의 하나 이상의 명령을 포함하는 것인 프로세싱 디바이스.
  3. 제2항에 있어서, 상기 레이아웃의 설정은 디스플레이될 행이 행당 디스플레이 가능한 것으로 결정된 최대 수의 명령보다 적게 포함할 때, 행 내의 명령들을 스케일링하는 동작 및 팔레트의 디스플레이를 위한 높이를 설정하는 동작을 더 포함하고, 상기 팔레트가 상기 디스플레이 폭에 기초하여 열린 상태로 있을 때 상기 디스플레이를 위한 설정된 높이에 따라 상기 팔레트가 디스플레이되는 것인 프로세싱 디바이스.
  4. 제1항에 있어서, 상기 론칭은 상기 애플리케이션 명령 제어의 팔레트들을 숨기는 최소화된 상태로 상기 애플리케이션 명령 제어를 론칭하는 동작을 포함하는 것인 프로세싱 디바이스.
  5. 제4항에 있어서, 상기 애플리케이션 명령 제어의 론칭은 상기 최상위 레벨 팔레트를 디스플레이하는 동작 및 상기 드릴-인 특징의 선택을 수신한 후에 상기 최상위 레벨 팔레트와 함께 상기 드릴-인 팔레트를 표시하는 동작을 더 포함하고, 상기 드릴-인은 상기 드릴-인 특징의 선택 시에 상기 최상위 레벨 팔레트로부터 수평으로 나타나는 것인 프로세싱 디바이스.
  6. 제1항에 있어서, 상기 애플리케이션 명령 제어가 론칭되는 애플리케이션의 활성 세션 동안에, 상기 애플리케이션 명령 제어가 해제되고(dismissed) 재호출되거나(re-invoked), 최소화된 상태로부터 열린 상태로 변화될 때, 상기 애플리케이션 명령 제어는 마지막으로 사용된 팔레트를 디스플레이하고,
    상기 마지막으로 사용된 팔레트가 드릴-인 팔레트이고, 상기 애플리케이션 명령 제어가 최소화된 상태로 있거나 상기 애플리케이션이 종료될 때, 상기 애플리케이션 명령 제어는 열린 상태로의 진입시에 상기 드릴-인 팔레트의 상기 최상위 레벨 팔레트를 디스플레이하는 것인 프로세싱 디바이스.
  7. 제1항에 있어서, 상기 프로세서에 의해 실행되는 동작들은 상기 드릴-인 특징의 선택을 인식하는 동작, 상기 드릴-인 팔레트를 표시하는 동작, 상기 최상위 레벨 팔레트로의 복귀를 요청하는 특징의 선택을 인식하는 동작, 및 상기 최상위 레벨 팔레트를 표시하는 동작을 더 포함하는 것인 프로세싱 디바이스.
  8. 제1항에 있어서, 상기 애플리케이션 명령 제어는 상기 프로세싱 디바이스의 디스플레이의 하부(bottom portion)에 디스플레이되고, 상기 애플리케이션 명령 제어의 위치는 소프트 입력 패널의 론칭에 기초하여 변하는 것인 프로세싱 디바이스.
  9. 제1항에 있어서, 상기 애플리케이션 명령 제어는 상기 애플리케이션과의 실행을 위해 세로 방향(portrait orientation) 및 가로 방향(landscape orientation)을 지원하고, 상기 프로세서에 의해 실행되는 동작들은 상기 프로세싱 디바이스의 방향이 변할 때 상기 애플리케이션 명령 제어의 디스플레이를 변경하는 동작을 더 포함하고, 상기 애플리케이션 명령 제어의 디스플레이의 변경이 제1 방향으로부터 제2 방향으로 변할 때, 상기 애플리케이션 명령 제어는 상기 제2 방향에서 최소화된 상태로 디스플레이되는 것인 프로세싱 디바이스.
  10. 제1항에 있어서, 상기 애플리케이션 명령 제어는 적어도 두 부분, 즉, 상기 프로세싱 디바이스의 디스플레이의 상부(top portion)에서 디스플레이되는 제1 부분 및 상기 프로세싱 디바이스의 디스플레이의 하부에서 디스플레이되는 제2 부분을 포함하는 것인 프로세싱 디바이스.
  11. 제1항에 있어서, 상기 애플리케이션 명령 제어는 상기 애플리케이션을 포함하는 복수의 애플리케이션과 인터페이스하도록 프로그래밍될 수 있고, 상기 프로세서에 의해 실행되는 동작들은 또 다른 애플리케이션의 론칭을 검출하는 동작, 및 상기 또 다른 애플리케이션이 론칭될 때 상기 또 다른 애플리케이션을 위해 프로그래밍된 상기 애플리케이션 명령 제어의 버전을 론칭하는 동작을 더 포함하는 것인 프로세싱 디바이스.
  12. 제1항에 있어서, 상기 애플리케이션 명령 제어는 상기 애플리케이션 내의 선택된 콘텐츠에 기초하여 상기 최상위 레벨 팔레트, 상기 드릴-인 팔레트, 및 팔레트 전환기(palette switcher) 중 적어도 하나의 콘텐츠를 지능적으로 적응시키는(intelligently adapt) 것인 프로세싱 디바이스.
  13. 제1항에 있어서, 상기 검출된 디스플레이 폭은 상기 애플리케이션를 위한 디스플레이 윈도우의 동작 크기에 대응하고, 상기 론칭은 상기 동작 크기가 상기 동작 크기와 관련된 임계 값 이하인지 여부를 결정하는 것인 프로세싱 디바이스.
  14. 컴퓨터로 구현되는 방법에 있어서,
    프로세싱 디바이스와 관련된 디스플레이 폭이 임계 값 이하라는 것을 검출할 때, 소형 스크린 상에 디스플레이되도록 프로그래밍된 애플리케이션 명령 제어를 론칭하는 단계를 포함하고,
    상기 애플리케이션 명령 제어는 상기 프로세싱 디바이스 상에서 실행되는 애플리케이션과 인터페이스하고, 상기 애플리케이션을 위해 프로그래밍된 복수의 최상위 레벨 팔레트 및 복수의 드릴-인 팔레트를 포함하며,
    상기 애플리케이션에 대한 최상위 레벨 팔레트는 수직으로 스크롤 가능하고 하나 이상의 선택 가능한 명령 요소를 포함하는 행들의 컬렉션을 포함하고,
    상기 최상위 레벨 팔레트의 상기 하나 이상의 명령 요소의 행은, 선택될 때, 수직으로 스크롤 가능하고 선택 가능한 명령 요소들의 하나 이상의 행을 포함하는 드릴-인 팔레트를 표시하는 드릴-인 특징을 포함하는 것인 컴퓨터 구현 방법.
  15. 프로세서 상에서 실행될 때 상기 프로세서가 프로세스를 실행하도록 하는 명령어들을 포함하는 컴퓨터 판독 가능 저장 디바이스에 있어서,
    상기 프로세스는,
    프로세싱 디바이스와 관련된 디스플레이 폭이 임계 값 이하라는 것을 검출할 때, 소형 스크린 상에 디스플레이되도록 프로그래밍된 애플리케이션 명령 제어를 론칭하는 단계를 포함하고,
    상기 애플리케이션 명령 제어는 상기 프로세싱 디바이스 상에서 실행되는 애플리케이션과 인터페이스하고, 상기 애플리케이션을 위해 프로그래밍된 복수의 최상위 레벨 팔레트 및 복수의 드릴-인 팔레트를 포함하며,
    상기 애플리케이션에 대한 최상위 레벨 팔레트는 수직으로 스크롤 가능하고 하나 이상의 선택 가능한 명령 요소를 포함하는 행들의 컬렉션을 포함하고,
    상기 최상위 레벨 팔레트의 상기 하나 이상의 명령 요소의 행은, 선택될 때, 수직으로 스크롤 가능하고 선택 가능한 명령 요소들의 하나 이상의 행을 포함하는 드릴-인 팔레트를 표시하는 드릴-인 특징을 포함하는 것인 컴퓨터 판독 가능 저장 디바이스.
KR1020177015390A 2014-11-06 2015-11-05 소형 스크린 디스플레이를 위한 애플리케이션 명령 제어 KR102430623B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201462076368P 2014-11-06 2014-11-06
US62/076,368 2014-11-06
US14/640,573 2015-03-06
US14/640,573 US10949075B2 (en) 2014-11-06 2015-03-06 Application command control for small screen display
PCT/US2015/059323 WO2016073780A1 (en) 2014-11-06 2015-11-05 Application command control for small screen display

Publications (2)

Publication Number Publication Date
KR20170080689A true KR20170080689A (ko) 2017-07-10
KR102430623B1 KR102430623B1 (ko) 2022-08-08

Family

ID=54705805

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177015390A KR102430623B1 (ko) 2014-11-06 2015-11-05 소형 스크린 디스플레이를 위한 애플리케이션 명령 제어

Country Status (11)

Country Link
US (1) US10949075B2 (ko)
EP (1) EP3215936B1 (ko)
JP (1) JP2018501545A (ko)
KR (1) KR102430623B1 (ko)
CN (1) CN107077273B (ko)
AU (1) AU2015342950A1 (ko)
BR (1) BR112017007056A2 (ko)
CA (1) CA2965699A1 (ko)
MX (1) MX2017005799A (ko)
RU (1) RU2017115649A (ko)
WO (1) WO2016073780A1 (ko)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9190110B2 (en) 2009-05-12 2015-11-17 JBF Interlude 2009 LTD System and method for assembling a recorded composition
US11232458B2 (en) 2010-02-17 2022-01-25 JBF Interlude 2009 LTD System and method for data mining within interactive multimedia
US9009619B2 (en) 2012-09-19 2015-04-14 JBF Interlude 2009 Ltd—Israel Progress bar for branched videos
US9792014B2 (en) 2013-03-15 2017-10-17 Microsoft Technology Licensing, Llc In-place contextual menu for handling actions for a listing of items
US9257148B2 (en) 2013-03-15 2016-02-09 JBF Interlude 2009 LTD System and method for synchronization of selectably presentable media streams
US10448119B2 (en) 2013-08-30 2019-10-15 JBF Interlude 2009 LTD Methods and systems for unfolding video pre-roll
US9653115B2 (en) 2014-04-10 2017-05-16 JBF Interlude 2009 LTD Systems and methods for creating linear video from branched video
US9792026B2 (en) 2014-04-10 2017-10-17 JBF Interlude 2009 LTD Dynamic timeline for branched video
US20160378967A1 (en) * 2014-06-25 2016-12-29 Chian Chiu Li System and Method for Accessing Application Program
US9792957B2 (en) 2014-10-08 2017-10-17 JBF Interlude 2009 LTD Systems and methods for dynamic video bookmarking
US11412276B2 (en) 2014-10-10 2022-08-09 JBF Interlude 2009 LTD Systems and methods for parallel track transitions
US20160132301A1 (en) 2014-11-06 2016-05-12 Microsoft Technology Licensing, Llc Programmatic user interface generation based on display size
US10582265B2 (en) 2015-04-30 2020-03-03 JBF Interlude 2009 LTD Systems and methods for nonlinear video playback using linear real-time video players
US10460765B2 (en) * 2015-08-26 2019-10-29 JBF Interlude 2009 LTD Systems and methods for adaptive and responsive video
US11164548B2 (en) 2015-12-22 2021-11-02 JBF Interlude 2009 LTD Intelligent buffering of large-scale video
US11128853B2 (en) 2015-12-22 2021-09-21 JBF Interlude 2009 LTD Seamless transitions in large-scale video
US10462202B2 (en) 2016-03-30 2019-10-29 JBF Interlude 2009 LTD Media stream rate synchronization
US11856271B2 (en) 2016-04-12 2023-12-26 JBF Interlude 2009 LTD Symbiotic interactive video
US10198404B2 (en) * 2016-06-10 2019-02-05 ProntoForms Inc. Flexible online form display
US10218760B2 (en) 2016-06-22 2019-02-26 JBF Interlude 2009 LTD Dynamic summary generation for real-time switchable videos
US11050809B2 (en) 2016-12-30 2021-06-29 JBF Interlude 2009 LTD Systems and methods for dynamic weighting of branched video paths
USD837243S1 (en) * 2017-03-27 2019-01-01 Vudu, Inc. Display screen or portion thereof with interactive graphical user interface
USD837245S1 (en) * 2017-03-27 2019-01-01 Vudu, Inc. Display screen or portion thereof with graphical user interface
USD837244S1 (en) * 2017-03-27 2019-01-01 Vudu, Inc. Display screen or portion thereof with interactive graphical user interface
CN107678821A (zh) * 2017-09-30 2018-02-09 链家网(北京)科技有限公司 房屋资产信息处理方法及装置
US10257578B1 (en) 2018-01-05 2019-04-09 JBF Interlude 2009 LTD Dynamic library display for interactive videos
US11601721B2 (en) 2018-06-04 2023-03-07 JBF Interlude 2009 LTD Interactive video dynamic adaptation and user profiling
USD884020S1 (en) * 2018-09-24 2020-05-12 Salesforce.Com, Inc. Display screen or portion thereof with animated graphical user interface
USD884731S1 (en) * 2018-09-24 2020-05-19 Salesforce.Com, Inc. Display screen or portion thereof with animated graphical user interface
US12045918B2 (en) 2018-10-25 2024-07-23 Autodesk, Inc. Techniques for analyzing command usage of software applications
US11490047B2 (en) 2019-10-02 2022-11-01 JBF Interlude 2009 LTD Systems and methods for dynamically adjusting video aspect ratios
US12113873B2 (en) * 2019-11-15 2024-10-08 Autodesk, Inc. Techniques for analyzing the proficiency of users of software applications in real-time
US11245961B2 (en) 2020-02-18 2022-02-08 JBF Interlude 2009 LTD System and methods for detecting anomalous activities for interactive videos
US12096081B2 (en) 2020-02-18 2024-09-17 JBF Interlude 2009 LTD Dynamic adaptation of interactive video players using behavioral analytics
US12047637B2 (en) 2020-07-07 2024-07-23 JBF Interlude 2009 LTD Systems and methods for seamless audio and video endpoint transitions
US11625141B2 (en) * 2020-09-22 2023-04-11 Servicenow, Inc. User interface generation with machine learning
US11882337B2 (en) 2021-05-28 2024-01-23 JBF Interlude 2009 LTD Automated platform for generating interactive videos
US11934477B2 (en) 2021-09-24 2024-03-19 JBF Interlude 2009 LTD Video player integration within websites
US12061776B2 (en) * 2022-06-24 2024-08-13 Google Llc List navigation with eye tracking

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080000712A (ko) * 2006-06-28 2008-01-03 삼성전자주식회사 터치패드를 구비한 단말기에서 사용자 인터페이스 제공장치 및 방법
US20090140977A1 (en) * 2007-11-30 2009-06-04 Microsoft Corporation Common User Interface Structure
US20100274869A1 (en) * 2002-09-10 2010-10-28 Warila Bruce W User interface, operating system and architecture
WO2011153623A2 (en) * 2010-06-08 2011-12-15 Aastra Technologies Limited Method and system for video communication
US20150082242A1 (en) * 2013-09-18 2015-03-19 Adobe Systems Incorporated Providing Context Menu Based on Predicted Commands

Family Cites Families (190)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2693810B1 (fr) 1991-06-03 1997-01-10 Apple Computer Systemes d'interfaces d'utilisateurs a acces direct a une zone secondaire d'affichage.
US5371844A (en) 1992-03-20 1994-12-06 International Business Machines Corporation Palette manager in a graphical user interface computer system
US5420605A (en) * 1993-02-26 1995-05-30 Binar Graphics, Inc. Method of resetting a computer video display mode
US5499334A (en) 1993-03-01 1996-03-12 Microsoft Corporation Method and system for displaying window configuration of inactive programs
US5666498A (en) 1996-03-29 1997-09-09 International Business Machines Corporation Method, memory and apparatus for automatically resizing a window
US5920315A (en) 1996-07-17 1999-07-06 International Business Machines Corporation Multi-pane window with recoiling workspaces
US5796401A (en) 1996-08-09 1998-08-18 Winer; Peter W. System for designing dynamic layouts adaptable to various display screen sizes and resolutions
US5760772A (en) 1996-08-30 1998-06-02 Novell, Inc. Method for automatically resizing a child window
US5886694A (en) 1997-07-14 1999-03-23 Microsoft Corporation Method for automatically laying out controls in a dialog window
US6433801B1 (en) 1997-09-26 2002-08-13 Ericsson Inc. Method and apparatus for using a touch screen display on a portable intelligent communications device
US6018346A (en) 1998-01-12 2000-01-25 Xerox Corporation Freeform graphics system having meeting objects for supporting meeting objectives
US6300947B1 (en) 1998-07-06 2001-10-09 International Business Machines Corporation Display screen and window size related web page adaptation system
US6335743B1 (en) 1998-08-11 2002-01-01 International Business Machines Corporation Method and system for providing a resize layout allowing flexible placement and sizing of controls
US6342907B1 (en) * 1998-10-19 2002-01-29 International Business Machines Corporation Specification language for defining user interface panels that are platform-independent
US8600437B2 (en) 1999-04-07 2013-12-03 Khyber Technologies Corporation Portable computing, communication and entertainment device with central processor carried in a detachable portable device
US6262724B1 (en) * 1999-04-15 2001-07-17 Apple Computer, Inc. User interface for presenting media information
US7624356B1 (en) 2000-06-21 2009-11-24 Microsoft Corporation Task-sensitive methods and systems for displaying command sets
GB0019459D0 (en) 2000-07-28 2000-09-27 Symbian Ltd Computing device with improved user interface for applications
US6734882B1 (en) * 2000-09-29 2004-05-11 Apple Computer, Inc. Combined menu-list control element in a graphical user interface
US6640655B1 (en) 2000-10-03 2003-11-04 Varco I/P, Inc. Self tracking sensor suspension mechanism
US6978473B1 (en) 2000-10-27 2005-12-20 Sony Corporation Pop-up option palette
US7028306B2 (en) 2000-12-04 2006-04-11 International Business Machines Corporation Systems and methods for implementing modular DOM (Document Object Model)-based multi-modal browsers
US7493568B2 (en) 2001-01-26 2009-02-17 Microsoft Corporation System and method for browsing properties of an electronic document
US6791581B2 (en) 2001-01-31 2004-09-14 Microsoft Corporation Methods and systems for synchronizing skin properties
US7155681B2 (en) * 2001-02-14 2006-12-26 Sproqit Technologies, Inc. Platform-independent distributed user interface server architecture
GB0105994D0 (en) 2001-03-10 2001-05-02 Pace Micro Tech Plc Video display resizing
WO2003005186A1 (fr) 2001-07-05 2003-01-16 Fujitsu Limited Demarrage d'application sur un processeur d'information au moyen d'une unite portative
US6950993B2 (en) 2001-08-02 2005-09-27 Microsoft Corporation System and method for automatic and dynamic layout of resizable dialog type windows
US8966379B2 (en) * 2010-10-01 2015-02-24 Z124 Dynamic cross-environment application configuration/orientation in an active user environment
US20130024778A1 (en) * 2011-07-13 2013-01-24 Z124 Dynamic cross-environment application configuration/orientation
US7234111B2 (en) * 2001-09-28 2007-06-19 Ntt Docomo, Inc. Dynamic adaptation of GUI presentations to heterogeneous device platforms
US7895522B2 (en) * 2001-09-28 2011-02-22 Ntt Docomo, Inc. Layout of platform specific graphical user interface widgets migrated between heterogeneous device platforms
US7392483B2 (en) * 2001-09-28 2008-06-24 Ntt Docomo, Inc, Transformation of platform specific graphical user interface widgets migrated between heterogeneous device platforms
US20030063120A1 (en) * 2001-09-28 2003-04-03 Wong Hoi Lee Candy Scalable graphical user interface architecture
US20050066037A1 (en) * 2002-04-10 2005-03-24 Yu Song Browser session mobility system for multi-platform applications
US20040056894A1 (en) 2002-09-19 2004-03-25 Igor Zaika System and method for describing and instantiating extensible user interfaces
US7574669B1 (en) 2002-10-08 2009-08-11 Microsoft Corporation User interface control for navigating, selecting, and organizing document pages
US20040075693A1 (en) * 2002-10-21 2004-04-22 Moyer Timothy A. Compact method of navigating hierarchical menus on an electronic device having a small display screen
US20040153973A1 (en) 2002-11-21 2004-08-05 Lawrence Horwitz System and method for automatically storing and recalling application states based on application contexts
US8418081B2 (en) 2002-12-18 2013-04-09 International Business Machines Corporation Optimizing display space with expandable and collapsible user interface controls
US20040223004A1 (en) 2003-05-05 2004-11-11 Lincke Scott D. System and method for implementing a landscape user experience in a hand-held computing device
US7308288B2 (en) * 2003-08-22 2007-12-11 Sbc Knowledge Ventures, Lp. System and method for prioritized interface design
US7395500B2 (en) 2003-08-29 2008-07-01 Yahoo! Inc. Space-optimizing content display
US20050055645A1 (en) 2003-09-09 2005-03-10 Mitutoyo Corporation System and method for resizing tiles on a computer display
KR101068509B1 (ko) 2003-09-24 2011-09-28 노키아 코포레이션 작은 디스플레이 창에서 큰 객체들의 개선된 표현법
US7418670B2 (en) * 2003-10-03 2008-08-26 Microsoft Corporation Hierarchical in-place menus
US7992103B2 (en) 2004-04-26 2011-08-02 Microsoft Corporation Scaling icons for representing files
US7565623B2 (en) 2004-04-30 2009-07-21 Microsoft Corporation System and method for selecting a view mode and setting
US8302020B2 (en) 2004-06-25 2012-10-30 Apple Inc. Widget authoring and editing environment
US7895531B2 (en) 2004-08-16 2011-02-22 Microsoft Corporation Floating command object
US8255828B2 (en) 2004-08-16 2012-08-28 Microsoft Corporation Command user interface for displaying selectable software functionality controls
GB2419454A (en) 2004-10-19 2006-04-26 Pranil Ram Multiple monitor display apparatus
US8169410B2 (en) * 2004-10-20 2012-05-01 Nintendo Co., Ltd. Gesture inputs for a portable display device
US7812786B2 (en) 2005-01-18 2010-10-12 Nokia Corporation User interface for different displays
US7752633B1 (en) 2005-03-14 2010-07-06 Seven Networks, Inc. Cross-platform event engine
US7512904B2 (en) * 2005-03-22 2009-03-31 Microsoft Corporation Operating system launch menu program listing
US9043719B2 (en) 2005-04-08 2015-05-26 New York Stock Exchange Llc System and method for managing and displaying securities market information
US20060236264A1 (en) * 2005-04-18 2006-10-19 Microsoft Corporation Automatic window resize behavior and optimizations
US7432928B2 (en) 2005-06-14 2008-10-07 Microsoft Corporation User interface state reconfiguration through animation
US8392836B1 (en) * 2005-07-11 2013-03-05 Google Inc. Presenting quick list of contacts to communication application user
US8689137B2 (en) 2005-09-07 2014-04-01 Microsoft Corporation Command user interface for displaying selectable functionality controls in a database application
US7673233B2 (en) 2005-09-08 2010-03-02 Microsoft Corporation Browser tab management
JP2009508274A (ja) 2005-09-13 2009-02-26 スペースタイムスリーディー・インコーポレーテッド 3次元グラフィカル・ユーザ・インターフェースを提供するシステム及び方法
US8904286B2 (en) * 2006-02-13 2014-12-02 Blackberry Limited Method and arrangement for providing a primary actions menu on a wireless handheld communication device
US8635553B2 (en) 2006-02-16 2014-01-21 Adobe Systems Incorporated Auto adjustable pane view
US20090278806A1 (en) 2008-05-06 2009-11-12 Matias Gonzalo Duarte Extended touch-sensitive control area for electronic device
US20070266335A1 (en) 2006-05-12 2007-11-15 Microsoft Corporation Providing a standard user interface (UI) across disparate display interfaces
US7768605B2 (en) 2006-06-30 2010-08-03 Motorola, Inc. Display stack-up for a mobile electronic device having internal and external displays
US7934156B2 (en) 2006-09-06 2011-04-26 Apple Inc. Deletion gestures on a portable multifunction device
US8564544B2 (en) 2006-09-06 2013-10-22 Apple Inc. Touch screen device, method, and graphical user interface for customizing display of content category icons
US20080163112A1 (en) 2006-12-29 2008-07-03 Research In Motion Limited Designation of menu actions for applications on a handheld electronic device
US8108763B2 (en) 2007-01-19 2012-01-31 Constant Contact, Inc. Visual editor for electronic mail
KR101494126B1 (ko) 2007-01-31 2015-02-16 에이저 시스템즈 엘엘시 복수의 디스플레이를 갖는 휴대용 디바이스
WO2008115553A1 (en) 2007-03-20 2008-09-25 The University Of North Carolina At Chapel Hill Methods, systems, and computer readable media for automatically generating customizable user interfaces using proagramming patterns
US8276069B2 (en) 2007-03-28 2012-09-25 Honeywell International Inc. Method and system for automatically generating an adaptive user interface for a physical environment
AR067297A1 (es) 2007-03-28 2009-10-07 Avery Dennison Corp Interfaz de usuario de tipo cinta para un programa de aplicacion
US8059101B2 (en) 2007-06-22 2011-11-15 Apple Inc. Swipe gestures for touch screen keyboards
US8478245B2 (en) * 2007-08-01 2013-07-02 Phunware, Inc. Method and system for rendering content on a wireless device
US7949954B1 (en) * 2007-08-17 2011-05-24 Trading Technologies International, Inc. Dynamic functionality based on window characteristics
KR101445603B1 (ko) 2007-08-27 2014-09-29 삼성전자주식회사 디스플레이 장치의 화면 크기에 기초한 적응적 영상 처리장치 및 영상 스케일링 방법
US7917859B1 (en) 2007-09-21 2011-03-29 Adobe Systems Incorporated Dynamic user interface elements
US20090192849A1 (en) 2007-11-09 2009-07-30 Hughes John M System and method for software development
US8078979B2 (en) 2007-11-27 2011-12-13 Microsoft Corporation Web page editor with element selection mechanism
JP4364273B2 (ja) 2007-12-28 2009-11-11 パナソニック株式会社 携帯端末装置及び表示制御方法並びに表示制御プログラム
US9003315B2 (en) 2008-04-01 2015-04-07 Litl Llc System and method for streamlining user interaction with electronic content
WO2009126591A1 (en) 2008-04-07 2009-10-15 Express Mobile, Inc. Systems and methods for programming mobile devices
US8085265B2 (en) 2008-04-23 2011-12-27 Honeywell International Inc. Methods and systems of generating 3D user interface for physical environment
KR101461954B1 (ko) 2008-05-08 2014-11-14 엘지전자 주식회사 단말기 및 그 제어 방법
US7930343B2 (en) 2008-05-16 2011-04-19 Honeywell International Inc. Scalable user interface system
US20100138780A1 (en) 2008-05-20 2010-06-03 Adam Marano Methods and systems for using external display devices with a mobile computing device
TW201001267A (en) 2008-06-20 2010-01-01 Amtran Technology Co Ltd Electronic apparatus with screen displayed menu and its generation method
US10631632B2 (en) 2008-10-13 2020-04-28 Steelcase Inc. Egalitarian control apparatus and method for sharing information in a collaborative workspace
US20100122215A1 (en) 2008-11-11 2010-05-13 Qwebl, Inc. Control interface for home automation system
US8302026B2 (en) * 2008-11-28 2012-10-30 Microsoft Corporation Multi-panel user interface
US8638311B2 (en) * 2008-12-08 2014-01-28 Samsung Electronics Co., Ltd. Display device and data displaying method thereof
US20160320938A9 (en) 2009-03-17 2016-11-03 Litera Technologies, LLC System and Method for the Auto-Detection and Presentation of Pre-Set Configurations for Multiple Monitor Layout Display
EP2237140B1 (en) * 2009-03-31 2018-12-26 Lg Electronics Inc. Mobile terminal and controlling method thereof
US9335916B2 (en) * 2009-04-15 2016-05-10 International Business Machines Corporation Presenting and zooming a set of objects within a window
US9298336B2 (en) 2009-05-28 2016-03-29 Apple Inc. Rotation smoothing of a user interface
US8806331B2 (en) 2009-07-20 2014-08-12 Interactive Memories, Inc. System and methods for creating and editing photo-based projects on a digital network
CN101996018A (zh) 2009-08-17 2011-03-30 张学志 一种新型的竖向彩带图形用户界面
US9465786B2 (en) 2009-08-25 2016-10-11 Keeper Security, Inc. Method for facilitating quick logins from a mobile device
EP2312427B1 (en) 2009-10-13 2013-09-18 BlackBerry Limited User interface for a touchscreen display
US8490018B2 (en) * 2009-11-17 2013-07-16 International Business Machines Corporation Prioritization of choices based on context and user history
US8627230B2 (en) * 2009-11-24 2014-01-07 International Business Machines Corporation Intelligent command prediction
US20120266069A1 (en) 2009-12-28 2012-10-18 Hillcrest Laboratories, Inc. TV Internet Browser
US9052894B2 (en) 2010-01-15 2015-06-09 Apple Inc. API to replace a keyboard with custom controls
US8966395B2 (en) 2010-03-03 2015-02-24 Lg Electronics Inc. Mobile terminal and control method thereof
US8799325B2 (en) 2010-03-12 2014-08-05 Microsoft Corporation Reordering nodes in a hierarchical structure
US20110242750A1 (en) 2010-04-01 2011-10-06 Oakley Nicholas W Accessible display in device with closed lid
GB2479756B (en) 2010-04-21 2013-06-05 Realvnc Ltd Virtual interface devices
US8631350B2 (en) * 2010-04-23 2014-01-14 Blackberry Limited Graphical context short menu
US20110307804A1 (en) 2010-06-11 2011-12-15 Spierer Mitchell D Electronic message management system and method
CH703401B1 (de) 2010-07-02 2019-04-30 Ferag Ag Verfahren und Vorrichtung zum Erzeugen einer Benutzerschnittstelle zum Bedienen von Maschinen.
US20120017172A1 (en) 2010-07-15 2012-01-19 Microsoft Corporation Display-agnostic user interface for mobile devices
US20120030584A1 (en) 2010-07-30 2012-02-02 Brian Bian Method and apparatus for dynamically switching between scalable graphical user interfaces for mobile devices
US9465457B2 (en) 2010-08-30 2016-10-11 Vmware, Inc. Multi-touch interface gestures for keyboard and/or mouse inputs
US8659562B2 (en) 2010-11-05 2014-02-25 Apple Inc. Device, method, and graphical user interface for manipulating soft keyboards
US9336117B2 (en) 2010-11-09 2016-05-10 Vmware, Inc. Remote display performance measurement triggered by application display upgrade
US20120266082A1 (en) 2010-11-17 2012-10-18 Paul Webber Email client landscape display transition
US20140310643A1 (en) 2010-12-10 2014-10-16 Yota Devices Ipr Ltd. Mobile device with user interface
WO2012139226A1 (en) 2011-04-13 2012-10-18 Research In Motion Limited System and method for context aware dynamic ribbon
US20120287114A1 (en) 2011-05-11 2012-11-15 Microsoft Corporation Interface including views positioned in along multiple dimensions
CN102866907B (zh) 2011-07-06 2015-11-25 腾讯科技(深圳)有限公司 桌面切换方法和装置
US20130019150A1 (en) 2011-07-13 2013-01-17 Rony Zarom System and method for automatic and dynamic layout design for media broadcast
US9582187B2 (en) * 2011-07-14 2017-02-28 Microsoft Technology Licensing, Llc Dynamic context based menus
US9086794B2 (en) 2011-07-14 2015-07-21 Microsoft Technology Licensing, Llc Determining gestures on context based menus
US8707289B2 (en) 2011-07-20 2014-04-22 Google Inc. Multiple application versions
US20130036443A1 (en) 2011-08-03 2013-02-07 Verizon Patent And Licensing Inc. Interactive and program half-screen
KR101862123B1 (ko) 2011-08-31 2018-05-30 삼성전자 주식회사 휴대단말기의 입력 장치 및 방법
US8909298B2 (en) 2011-09-30 2014-12-09 Samsung Electronics Co., Ltd. Apparatus and method for mobile screen navigation
US9360998B2 (en) 2011-11-01 2016-06-07 Paypal, Inc. Selection and organization based on selection of X-Y position
CA2856209C (en) 2011-11-09 2020-04-07 Blackberry Limited Touch-sensitive display method and apparatus
US8881032B1 (en) 2011-12-07 2014-11-04 Google Inc. Grouped tab document interface
KR20130064478A (ko) 2011-12-08 2013-06-18 삼성전자주식회사 사용자 단말 장치 및 그 배경 화면 표시 방법
ES2691471T3 (es) 2011-12-19 2018-11-27 Orange Método para notificación de eventos en un dispositivo que ejecuta identidades de múltiples usuarios
CN104011637A (zh) 2012-01-09 2014-08-27 爱尔比奎特公司 用于移动设备的用户界面
US20130212487A1 (en) 2012-01-09 2013-08-15 Visa International Service Association Dynamic Page Content and Layouts Apparatuses, Methods and Systems
US20130191781A1 (en) 2012-01-20 2013-07-25 Microsoft Corporation Displaying and interacting with touch contextual user interface
US9250768B2 (en) 2012-02-13 2016-02-02 Samsung Electronics Co., Ltd. Tablet having user interface
EP2631761A1 (en) 2012-02-24 2013-08-28 Research In Motion Limited Method and apparatus for providing an option to undo a delete operation
US20130227413A1 (en) 2012-02-24 2013-08-29 Simon Martin THORSANDER Method and Apparatus for Providing a Contextual User Interface on a Device
US20130227490A1 (en) 2012-02-24 2013-08-29 Simon Martin THORSANDER Method and Apparatus for Providing an Option to Enable Multiple Selections
EP2631747B1 (en) 2012-02-24 2016-03-30 BlackBerry Limited Method and apparatus for providing a user interface on a device that indicates content operators
EP2631760A1 (en) 2012-02-24 2013-08-28 Research In Motion Limited Method and apparatus for providing a user interface on a device enabling selection of operations to be performed in relation to content
US9081498B2 (en) 2012-02-24 2015-07-14 Blackberry Limited Method and apparatus for adjusting a user interface to reduce obscuration
DE102012005054A1 (de) 2012-03-15 2013-09-19 Volkswagen Aktiengesellschaft Verfahren, Mobilgerät und Infotainmentsystem zum Projizieren einer Benutzeroberfläche auf einen Bildschirm
US10673691B2 (en) 2012-03-24 2020-06-02 Fred Khosropour User interaction platform
US10229222B2 (en) 2012-03-26 2019-03-12 Greyheller, Llc Dynamically optimized content display
US9146655B2 (en) * 2012-04-06 2015-09-29 Samsung Electronics Co., Ltd. Method and device for executing object on display
US9021371B2 (en) 2012-04-20 2015-04-28 Logitech Europe S.A. Customizing a user interface having a plurality of top-level icons based on a change in context
US8937636B2 (en) 2012-04-20 2015-01-20 Logitech Europe S.A. Using previous selection information in a user interface having a plurality of icons
US20140013271A1 (en) 2012-07-05 2014-01-09 Research In Motion Limited Prioritization of multitasking applications in a mobile device interface
US20140189586A1 (en) 2012-12-28 2014-07-03 Spritz Technology Llc Methods and systems for displaying text using rsvp
US9256351B2 (en) 2012-07-20 2016-02-09 Blackberry Limited Method and electronic device for facilitating user control of a menu
US20140033110A1 (en) 2012-07-26 2014-01-30 Texas Instruments Incorporated Accessing Secondary Functions on Soft Keyboards Using Gestures
KR20140023534A (ko) 2012-08-16 2014-02-27 에스케이플래닛 주식회사 반응형 사용자 인터페이스 제공 장치, 방법, 및 그에 대한 전자장치에서 판독 가능한 기록매체
US20140055495A1 (en) 2012-08-22 2014-02-27 Lg Cns Co., Ltd. Responsive user interface engine for display devices
US9329778B2 (en) 2012-09-07 2016-05-03 International Business Machines Corporation Supplementing a virtual input keyboard
US9729695B2 (en) 2012-11-20 2017-08-08 Dropbox Inc. Messaging client application interface
US9755995B2 (en) 2012-11-20 2017-09-05 Dropbox, Inc. System and method for applying gesture input to digital content
US9588674B2 (en) 2012-11-30 2017-03-07 Qualcomm Incorporated Methods and systems for providing an automated split-screen user interface on a device
US9830068B2 (en) 2012-12-28 2017-11-28 Intel Corporation Dual configuration computer
US9160915B1 (en) 2013-01-09 2015-10-13 Amazon Technologies, Inc. Modifying device functionality based on device orientation
US9652109B2 (en) * 2013-01-11 2017-05-16 Microsoft Technology Licensing, Llc Predictive contextual toolbar for productivity applications
WO2014117241A1 (en) 2013-02-04 2014-08-07 602531 British Columbia Ltd. Data retrieval by way of context-sensitive icons
US10025459B2 (en) 2013-03-14 2018-07-17 Airwatch Llc Gesture-based workflow progression
WO2014152149A1 (en) 2013-03-15 2014-09-25 Beeonics, Inc. User interface and content translation system
US20140282055A1 (en) 2013-03-15 2014-09-18 Agilent Technologies, Inc. Layout System for Devices with Variable Display Screen Sizes and Orientations
US9792014B2 (en) 2013-03-15 2017-10-17 Microsoft Technology Licensing, Llc In-place contextual menu for handling actions for a listing of items
US20140282178A1 (en) * 2013-03-15 2014-09-18 Microsoft Corporation Personalized community model for surfacing commands within productivity application user interfaces
US9304665B2 (en) 2013-04-05 2016-04-05 Yahoo! Inc. Method and apparatus for facilitating message selection and organization
US10249018B2 (en) 2013-04-25 2019-04-02 Nvidia Corporation Graphics processor and method of scaling user interface elements for smaller displays
US20140325345A1 (en) * 2013-04-26 2014-10-30 Amazon Technologies, Inc. Consistent Scaling of Web-Based Content Across Devices Having Different Screen Metrics
US9501500B2 (en) * 2013-05-10 2016-11-22 Tencent Technology (Shenzhen) Company Limited Systems and methods for image file processing
TW201445403A (zh) 2013-05-17 2014-12-01 Global Lighting Technologies 多功能輸入裝置
US20150033188A1 (en) * 2013-07-23 2015-01-29 Microsoft Corporation Scrollable smart menu
EP2843542A1 (en) 2013-08-29 2015-03-04 Samsung Electronics Co., Ltd User terminal apparatus, method for controlling user terminal apparatus, and expanded display system
US9311422B2 (en) * 2013-09-12 2016-04-12 Adobe Systems Incorporated Dynamic simulation of a responsive web page
US9772755B2 (en) 2013-11-15 2017-09-26 Microsoft Technology Licensing, Llc Remote control for displaying application data on dissimilar screens
US9507520B2 (en) 2013-12-16 2016-11-29 Microsoft Technology Licensing, Llc Touch-based reorganization of page element
JP5929883B2 (ja) * 2013-12-18 2016-06-08 コニカミノルタ株式会社 画面生成装置、遠隔操作装置、遠隔制御装置、画面生成方法、および画面生成プログラム
KR20150099324A (ko) 2014-02-21 2015-08-31 삼성전자주식회사 전자 장치간 원격 제어 방법 및 그를 위한 시스템
US20150277726A1 (en) 2014-04-01 2015-10-01 Microsoft Corporation Sliding surface
US20150277682A1 (en) 2014-04-01 2015-10-01 Microsoft Corporation Scalable user interface display
US9658741B2 (en) * 2014-04-25 2017-05-23 Rohde & Schwarz Gmbh & Co. Kg Measuring device and measuring method with interactive operation
US20160132301A1 (en) 2014-11-06 2016-05-12 Microsoft Technology Licensing, Llc Programmatic user interface generation based on display size
US20160209973A1 (en) 2015-01-21 2016-07-21 Microsoft Technology Licensing, Llc. Application user interface reconfiguration based on an experience mode transition
US10042655B2 (en) 2015-01-21 2018-08-07 Microsoft Technology Licensing, Llc. Adaptable user interface display
US9805003B2 (en) 2015-04-02 2017-10-31 Apple Inc. Rearranging layouts for different displays

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100274869A1 (en) * 2002-09-10 2010-10-28 Warila Bruce W User interface, operating system and architecture
KR20080000712A (ko) * 2006-06-28 2008-01-03 삼성전자주식회사 터치패드를 구비한 단말기에서 사용자 인터페이스 제공장치 및 방법
US20090140977A1 (en) * 2007-11-30 2009-06-04 Microsoft Corporation Common User Interface Structure
WO2011153623A2 (en) * 2010-06-08 2011-12-15 Aastra Technologies Limited Method and system for video communication
US20150082242A1 (en) * 2013-09-18 2015-03-19 Adobe Systems Incorporated Providing Context Menu Based on Predicted Commands

Also Published As

Publication number Publication date
EP3215936A1 (en) 2017-09-13
RU2017115649A (ru) 2018-11-06
KR102430623B1 (ko) 2022-08-08
CN107077273B (zh) 2020-09-25
BR112017007056A2 (pt) 2017-12-12
CA2965699A1 (en) 2016-05-12
US20160132203A1 (en) 2016-05-12
MX2017005799A (es) 2017-08-02
CN107077273A (zh) 2017-08-18
JP2018501545A (ja) 2018-01-18
AU2015342950A1 (en) 2017-05-11
WO2016073780A1 (en) 2016-05-12
US10949075B2 (en) 2021-03-16
EP3215936B1 (en) 2020-02-19

Similar Documents

Publication Publication Date Title
KR102430623B1 (ko) 소형 스크린 디스플레이를 위한 애플리케이션 명령 제어
US11422681B2 (en) User interface for application command control
CN106164856B (zh) 自适应用户交互窗格管理器
US10684769B2 (en) Inset dynamic content preview pane
US10042655B2 (en) Adaptable user interface display
US20120144293A1 (en) Display apparatus and method of providing user interface thereof
US10248439B2 (en) Format object task pane
US20190155456A1 (en) Adaptive user interface pane objects
US20160196006A1 (en) Customizable Bladed Applications
JP2015531530A (ja) サムネイルおよび文書マップに基づく、文書内ナビゲーション
KR101895646B1 (ko) 이머시브 쉘 및 애플리케이션 쉘의 디스플레이
US20150052465A1 (en) Feedback for Lasso Selection
KR102213548B1 (ko) 전자 콘텐츠 저장소로부터 스크린샷을 자동으로 분리 및 선택하기 위한 기법
JP6178421B2 (ja) コンテンツ選択および拡張コンテンツ選択のためのユーザインタフェース
US20140354554A1 (en) Touch Optimized UI
KR20160140795A (ko) 일시적인 사용자 인터페이스 엘리먼트

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant