KR20170042350A - 그룹 기반의 유저 인터페이스 재배열 - Google Patents

그룹 기반의 유저 인터페이스 재배열 Download PDF

Info

Publication number
KR20170042350A
KR20170042350A KR1020177007033A KR20177007033A KR20170042350A KR 20170042350 A KR20170042350 A KR 20170042350A KR 1020177007033 A KR1020177007033 A KR 1020177007033A KR 20177007033 A KR20177007033 A KR 20177007033A KR 20170042350 A KR20170042350 A KR 20170042350A
Authority
KR
South Korea
Prior art keywords
graphics
display
user interface
group
groups
Prior art date
Application number
KR1020177007033A
Other languages
English (en)
Inventor
푸르바 신갈
제프 지. 아놀드
크리스토퍼 밀란 레이코비치
존 씨. 와이톡
존 피. 아론슨
피터 제이. 크레이세더
안드레스 안토니오 투생
Original Assignee
마이크로소프트 테크놀로지 라이센싱, 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 filed Critical 마이크로소프트 테크놀로지 라이센싱, 엘엘씨
Publication of KR20170042350A publication Critical patent/KR20170042350A/ko

Links

Images

Classifications

    • 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/04845Interaction 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 for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • 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/04817Interaction 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 using icons
    • 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/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/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • 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
    • G06F2200/00Indexing scheme relating to G06F1/04 - G06F1/32
    • G06F2200/16Indexing scheme relating to G06F1/16 - G06F1/18
    • G06F2200/161Indexing scheme relating to constructional details of the monitor
    • G06F2200/1614Image rotation following screen orientation, e.g. switching from landscape to portrait mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04803Split screen, i.e. subdividing the display area or the window area into separate subareas

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Input From Keyboards Or The Like (AREA)

Abstract

그룹 기반의 유저 인터페이스 재배열 기술이 설명된다. 하나 이상의 실시형태에서, 디스플레이 매니저 모듈은 디스플레이를 위한 유저 인터페이스를 디스플레이 디바이스를 통해 출력하도록 구성된다. 유저 인터페이스는, 그래픽이 기저의 컨텐츠 아이템에 대한 선택가능한 액세스를 시각적으로 표현하고 가능하게 하는 그룹에 그래픽의 배열을 표시하도록 구성된다. 디스플레이 매니저 모듈은 디스플레이 디바이스의 회전을 나타내는 입력을 검출하도록 구성된다. 디스플레이 매니저 모듈은 또한, 유저 인터페이스를 출력하기 위해 사용되는 디스플레이 디바이스를 변경하는 것과 같은 다른 디스플레이 변경 이벤트를 검출할 수도 있다. 이러한 이벤트의 검출에 응답하여, 디스플레이 매니저 모듈은, 특정한 이벤트에 대응하는 그래픽의 재배열을 결정한다.

Description

그룹 기반의 유저 인터페이스 재배열{GROUP-BASED USER INTERFACE REARRANGEMENT}
컴퓨팅 디바이스는, 컴퓨팅 기능성이 유저에게 이용가능하게 만들어지는 설정을 증가시키도록 개발되어 왔다. 예를 들면, 이동 전화가, 단지 기본적인 전화 기능성을 갖는 것으로부터 애플리케이션을 실행하는 능력을 갖는 것으로 진화하였다. 모바일 설정에서 컴퓨팅 기능성에 대한 증가된 액세스를 유저에게 제공하기 위해, 태블릿 컴퓨팅 디바이스도 또한 개발되어 왔다. 예로서, 이동 전화 및 태블릿은, 다양한 모바일 설정에서 유저가 이메일을 체크하고, 웹을 서핑하고, 텍스트를 작성하고, 애플리케이션과 상호작용하고, 및 등등을 하는 것을 가능하게 할 수도 있다. 이동 전화 및 태블릿 둘 다는 상호작용 동안 유저에 의해 유지되도록 구성된다.
유저가 이들 모바일 디바이스를 쥐고 있기 때문에, 유저는 상호작용 동안 모바일 디바이스의 방위(orientation)를 쉽게 변경할 수도 있다. 예를 들면, 유저는 모바일 디바이스를 몇몇 상호작용을 위해 수직으로 그리고 다른 상호작용을 위해 수평으로 유지할 수도 있다. 모바일 디바이스는 또한, 예를 들면, 더 많은 윈도우가 유저 인터페이스를 통해 보일 수 있도록 또는 특정한 윈도우가 디스플레이에 비해 확대될 수 있도록, 유저가 유저 인터페이스 윈도우를 리사이징하는 것을 허용하는 기능성을 지원할 수도 있다. 결과적으로, 많은 모바일 디바이스는, 유저 인터페이스의 디스플레이에 영향을 주는 유저에 의해 수행되는 액션 및 모바일 디바이스의 현재 방위에 대응하도록 모바일 디바이스 상에 디스플레이되는 유저 인터페이스를 조정하도록 구성되었다. 그러나, 유저 인터페이스를 조정하기 위한 종래의 기술은, 유저 인터페이스의 제한된 구성(예를 들면, 페이지가 매겨진(paginated) 구성)에 적용가능할 수도 있다. 또한, 종래의 기술은, 몇몇 방식으로 구성되는 유저 인터페이스에 대해, 유저 인터페이스 상에 디스플레이되는 그래픽 아이템의 배열(arrangement)을 무너뜨릴 수도 있다. 예를 들면, 그래픽 아이템은 이전 배열을 고려해볼 때 유저에게 직관적이지 않은 방식으로 재배열될(rearranged) 수도 있다. 결과적으로, 종래의 기술을 사용한 이러한 유저 인터페이스의 조정은 유저 혼란으로 이어질 수 있다.
그룹 기반의 유저 인터페이스 재배열 기술이 설명된다. 하나 이상의 실시형태에서, 컴퓨팅 디바이스의 프로세싱 시스템을 통해 실행가능한 디스플레이 매니저 모듈이 디스플레이를 위한 유저 인터페이스를 디스플레이 디바이스를 통해 출력하도록 구성된다. 유저 인터페이스는, 기저의(underlying) 컨텐츠 아이템에 대한 선택가능한 액세스를 시각적으로 표현하고 가능하게 하는 그래픽의 배열을 표시하도록 구성된다. 예를 들면, 유저 인터페이스는 (예를 들면, 각각의 그룹의 폭을 제한하는) 미리 정의된 사이즈 제약을 갖는 그룹에 그래픽의 배열을 표시할 수도 있다. 미리 정의된 사이즈 제약은, 디스플레이 디바이스의 방위에 무관하게, 그룹에 대해 부과될 수도 있다.
하나 이상의 실시형태에서, 디스플레이 매니저 모듈은 디스플레이 디바이스의 회전을 나타내는 입력을 검출하도록 구성된다. 디스플레이 매니저 모듈은 또한, 유저 인터페이스를 출력하기 위해 사용되는 디스플레이 디바이스를 변경하는 것과 같은 다른 디스플레이 변경 이벤트를 검출할 수도 있다. 이러한 이벤트의 검출에 응답하여, 디스플레이 매니저 모듈은, 특정한 이벤트에 대응하는 그래픽의 재배열을 결정할 수도 있다. 예를 들면, 디스플레이 디바이스의 회전을 나타내는 입력이 검출되는 경우, 디스플레이 매니저 모듈은, 그룹을 유지하도록 구성되는 그리고 회전에 대응하게끔 그룹 내에 포함되는 그래픽을 재배치하도록(reposition) 구성되는 재배열을 결정할 수도 있다.
재배열은 또한, 특정한 그룹의 그래픽이 배열에서와 동일한 패턴으로 표시되도록, 그룹 내에 포함되는 그래픽을 재배치하도록 구성될 수도 있다. 그러나, 다른 그룹의 그래픽과 관련하여, 특정한 그룹의 그래픽은 배열에서와는 상이한 정렬을 가질 수도 있다. 하나 이상의 실시형태에서, 재배열은, 대신, 다른 그룹 내에 포함되는 그래픽에 대한 특정한 그룹 내에 포함되는 그래픽의 방위를 유지하도록 구성될 수도 있다. 이 경우, 재배열은 또한, 검출된 디스플레이 변경 이벤트에 대응하게끔 그래픽의 시각적으로 표현된 기저의 컨텐츠를 재배치하도록 구성될 수도 있다.
이 개요는 하기의 상세한 설명에서 더 설명되는 엄선된 개념을 간소화된 형태로 소개하기 위해 제공된다. 이 개요는 청구된 주제의 주요한 피쳐 또는 본질적인 피쳐를 식별하도록 의도된 것도 아니고, 청구된 주제의 범위를 결정함에 있어서 보조로서 사용되도록 의도된 것도 아니다.
첨부된 도면을 참조로 상세한 설명이 설명된다. 도면에서, 도면 부호의 가장 왼쪽의 숫자(들)는 그 도면 부호가 처음 나타나는 도면을 식별한다. 설명 및 도면의 상이한 인스턴스에서의 동일한 도면 부호의 사용은 유사한 또는 동일한 아이템을 나타낼 수도 있다. 도면에서 표현되는 엔티티는 하나 이상의 엔티티를 나타낼 수도 있고 따라서 논의에서는 엔티티의 단수 형태 또는 복수 형태에 대한 참조가 상호교환적으로 이루어질 수도 있다.
도 1은 본원에서 설명되는 기술을 활용하도록 동작가능한 예시적인 구현예에서의 환경의 예시이다.
도 2는, 디스플레이 디바이스의 방위에서의 변경 및 유저 인터페이스에서 표시되는 그래픽의 대응하는 재배열을 도시하는 예시적인 구현예의 예시이다.
도 3은, 디스플레이 디바이스의 방위에서의 변경 및 도 2의 유저 인터페이스와는 상이한 배열 제약을 갖는 유저 인터페이스에 표시되는 그래픽의 대응하는 재배열을 도시하는 예시적인 구현예의 예시이다.
도 4는, 디스플레이 디바이스의 방위에서의 변경 및 도 3을 참조로 설명되는 재배열과는 상이한 그래픽의 대응하는 재배열을 도시하는 예시적인 구현예의 예시이다.
도 5는, 유저 인터페이스가 출력되는 디스플레이 디바이스의 변경 및 유저 인터페이스에서 표시되는 그래픽의 대응하는 재배열을 도시하는 예시적인 구현예의 예시이다.
도 6은, 유저 인터페이스의 그래픽이 하나의 기술에 따라 재배열되는 예시적인 구현예에서의 프로시져를 묘사하는 흐름도이다.
도 7은, 유저 인터페이스의 그래픽이 다른 기술에 따라 재배열되는 예시적인 구현예에서의 프로시져를 묘사하는 흐름도이다.
도 8은, 유저 인터페이스의 그래픽이 도 6 및 도 7에서와는 다른 기술에 따라 재배열되는 예시적인 구현예에서의 프로시져를 묘사하는 흐름도이다.
도 9는 하나 이상의 실시형태에 따른 예시적인 디바이스의 다양한 컴포넌트를 포함하는 예시적인 시스템을 예시한다.
개관
유저 인터페이스는, 기저의 컨텐츠 아이템에 대한 선택가능한 액세스를 시각적으로 표현하고 가능하게 하는 그래픽을 다양한 방식으로 표시하도록 구성된다. 예를 들면, 유저 인터페이스는, 실질적으로 동일한 사이즈의 그래픽을 배치할(position) 동일한 수의 위치를 각각 구비하는 다수의 페이지의 그래픽(예를 들면, 아이콘, 타일, 및 등등)을 구비하도록 구성될 수도 있다. 이러한 유저 인터페이스는 "페이지가 매겨진" 유저 인터페이스로 칭해질 수도 있다. 대안적으로, 유저 인터페이스는, 유저 인터페이스가 디스플레이되는 디스플레이 디바이스의 경계를 넘어 연장하는 것처럼 보이는 단일 페이지의 그래픽으로서 구성될 수도 있다. 유저 인터페이스의 한 부분에 배치되는 그래픽이 한 번에 보여질 수 있는 뷰잉 창(viewing pane)은, 다른 부분에 배치되는 그래픽을 보기 위해 유저가 유저 인터페이스를 통해 스크롤하는 것을 가능하게 할 수도 있다. 이 타입의 유저 인터페이스는 "연속적으로 스크롤하는" 유저 인터페이스로서 칭해질 수도 있다.
구성에 무관하게, 유저 인터페이스가 디스플레이 디바이스에 대한 변경(예를 들면, 디바이스의 회전 또는 상이한 디바이스 상의 디스플레이로의 전환)을 수용하도록 구성되는 방식은 그 유용성에 영향을 끼칠 수 있다. 디스플레이 디바이스의 회전이, 유저 인터페이스의 그래픽으로 하여금, 유저에게 바로 직관적이지 않은 방식으로 조정되게 하는 예를 고려한다. 이러한 조정 이후에, 유저는, 유저에게 직관적이었던 방식으로 그래픽이 재배열되었던 경우보다 주목하는 특정 그래픽의 위치를 결정하는 데 더 많은 시간을 소비할 수도 있다. 유저 인터페이스를 조정하기 위한 종래의 기술이 몇몇 유저 인터페이스 구성(예를 들면, 페이지가 매겨진 구성)에 적용가능할 수도 있지만, 이러한 기술은 다른 구성(예를 들면, 연속적으로 스크롤하는 구성, 그래픽이 유저가 커스터마이징한 그룹에 배열되는 구성, 가변 사이즈의 그래픽을 허용하는 구성, 및 등등)에는 적용가능하지 않을 수도 있다. 또한, 종래의 기술은, 디스플레이 디바이스의 변경을 수용하기 위해 직관적인 방식으로 유저 인터페이스 상에 배열되는 그래픽을 간단히 조정하는 것이 실패할 수도 있다.
그룹 기반의 유저 인터페이스 재배열 기술이 설명된다. 기술은, 파일 시스템의 루트 레벨(예를 들면, 시작 스크린) 내에 중간체로서 기능하는 그래픽 표현(예를 들면, 타일)을 직관적인 방식으로 재배열하기 위한 지원을 포함할 수도 있다. 예를 들면, 루트 레벨은, 유저가 그룹으로 배열할 수 있는 그래픽 표현, 예컨대 애플리케이션의 타일을 시작 메뉴 내에 포함할 수도 있다.
유저 인터페이스가 출력되는 디스플레이 디바이스에 대한 변경이 검출되는 경우, 본원에서 설명되는 기술은, 변경에 대응할 뿐만 아니라, 유저가 커스터마이징한 그룹을 보존하는 방식으로 그래픽 표현("그래픽")을 재배열할 수도 있다.
연속적으로 스크롤하는 유저 인터페이스의 그래픽이 타일로서 구현되는 그리고 유저가 타일을 그룹 안으로 배열하는 예를 고려한다. 이 특정한 예에서, 그룹의 미리 정의된 사이즈 제한은, 높이가 아니라 각각의 그룹의 폭을 제한할 수도 있다. 이러한 제한이 주어지면, 유저는 수평 방향에서는 폭 제한까지 그리고 수직 방향에서는 무한하게 연장하는 특정한 그룹에 타일을 배열할 수도 있다.
이 방식으로 구성되는 유저 인터페이스가 가로 방위에서 유지되는 디스플레이 디바이스를 통해 출력되는 경우, 폭 제약은 그래픽의 다수의 그룹이 좌우로(side-by-side) 디스플레이되는 것을 가능하게 할 수도 있다. 디스플레이 디바이스가 세로 방위에서 유지되도록 방위가 변경되면, 가로 방위에서 좌우로 디스플레이되었던 동일한 그룹은 세로 방위에서 좌우로 맞춰질 수 없을 수도 있다. 본원에서 설명되는 기술을 사용하여, 다른 그룹의 옆에 위치되었던, 그러나 그 다른 그룹과 디스플레이에서 더 이상 좌우로 맞춰지지 않는 그룹은 그 다른 그룹 아래에 재배치될 수도 있다. 다시 말하면, 좌우로 배치되었던 그룹은, 대신, 그들이 서로 적층되도록 재배열될 수도 있다.
유저 인터페이스의 그래픽이 그룹으로 배열될 수 있는 그러나 미리 정의된 사이즈 제약이 각 그룹의 폭 및 높이 둘 다를 제한하는 상이한 예를 고려한다. 미리 정의된 사이즈 제약은, 예를 들면, 그래픽의 그룹이 정사각형 형상이도록 제한할 수도 있다. 이 예에서, 두 개의 이러한 그룹(예를 들면, 제1 그룹 및 제2 그룹)이 디스플레이 디바이스의 가로 방위에서 좌우로 맞춰질 수 있을 수도 있고, 그 결과 제1 그룹은 디스플레이의 좌측에 위치되고 제2 그룹은 디스플레이의 우측에 위치된다. 디스플레이 디바이스의 방위가 시계 방향으로 90도만큼 세로 방위로 회전되는 경우, 그리고 임의의 재배열이 수행되기 이전에, 제1 그룹은 디스플레이의 상부에 위치되고 제2 그룹은 하부에 위치된다. 그럼에도 불구하고, 두 그룹은 여전히 디스플레이 내에 맞춰진다. 그래픽을 통해 디스플레이되는 임의의 텍스트 및 이미지를 재배향하기 위해, 각각의 그룹은, 디스플레이 디바이스의 디스플레이 표면에 실질적으로 수직인 방향에서 그룹의 중심을 통해 이어지는 축을 중심으로 반시계 방향으로 90도만큼 회전될 수도 있다.
본원에서 설명되는 기술을 사용하여, 그래픽은, 상이한 예에서와 같이 구성되는 유저 인터페이스에 대해 상이한 방식으로 배열될 수도 있다. 예를 들면, 디스플레이 디바이스의 방위는, 가로 방위로부터, 시계 방향으로 90도만큼 세로 방위로 회전될 수도 있다. 따라서, 임의의 재배열이 수행되기 이전에, 제1 그룹은 디스플레이의 상부에 위치되고 제2 그룹은 하부에 위치되며, 두 그룹은 디스플레이 내에 여전히 맞춰진다. 각각의 그룹을 90도만큼 회전시키는 대신, 본원에서 설명되는 기술은 각각의 그래픽의 컨텐츠를 반시계 방향으로 90도만큼 회전시킬 수도 있다. 정사각형 형상이 아닌 그래픽의 경우, 컨텐츠는 그 안에 맞춰지도록 리사이징 및/또는 크롭될 수도 있다.
본원에서 설명되는 그룹 기반의 유저 인터페이스 재배열 기술은 또한, 디스플레이 디바이스의 회전 이외의 디스플레이 변경 이벤트가 검출될 때 적용될 수도 있다. 예를 들면, 이들 기술은, 유저 인터페이스가 상이한 디스플레이 디바이스(예를 들면, 프로젝터)를 통해 출력되어야 한다는 것 또는 디스플레이 디바이스의 디스플레이 해상도가 변경되어야 한다는 것이 검출되는 경우 유저 인터페이스의 재배열을 지원한다.
하기의 논의에서는, 본원에서 설명되는 기술을 활용할 수도 있는 예시적인 환경이 먼저 설명된다. 그 다음, 예시적인 환경뿐만 아니라 다른 환경에서 수행될 수도 있는 예시적인 프로시져가 설명된다. 결과적으로, 예시적인 프로시져의 성과는, 예시적인 환경에 제한되지 않으며, 예시적인 환경은 예시적인 프로시져의 성과에 제한되지 않는다.
예시적인 환경
도 1은, 본원에서 설명되는 그룹 기반의 유저 인터페이스 재배열 기술을 활용하도록 동작가능한 예시적인 구현예에서의 환경(100)의 예시이다. 예시된 환경(100)은, 네트워크(106)를 통해 통신적으로 커플링되는 웹 서비스(102) 및 컴퓨팅 디바이스(104)를 포함한다. 웹 서비스(102) 및 컴퓨팅 디바이스(104)는 광범위한 컴퓨팅 디바이스에 의해 구현될 수도 있다.
예를 들면, 컴퓨팅 디바이스는, 네트워크(106)를 통해 통신할 수 있는 컴퓨터, 예컨대 데스크탑 컴퓨터, 이동국(mobile station), 엔터테인먼트 애플리케이션, 디스플레이 디바이스에 통신 가능하게 커플링되는 셋탑 박스, 이동 통신 디바이스, 게임 콘솔, 슬레이트 컴퓨터(예를 들면, 컴퓨팅 디바이스(104)에 대해 예시되는 바와 같은 태블릿), 및 등등으로서 구성될 수도 있다. 따라서, 컴퓨팅 디바이스는 상당한 메모리 및 프로세스 리소스를 갖는 풀 리소스 디바이스(예를 들면, 퍼스널 컴퓨터, 게임 콘솔)로부터 제한된 메모리 및/또는 프로세싱 리소스를 갖는 낮은 리소스 디바이스(예를 들면, 전통적인 셋탑 박스, 핸드헬드 게임 콘솔)까지의 범위에 이를 수도 있다. 추가적으로, 컴퓨팅 디바이스는, 복수의 상이한 디바이스, 예컨대, 동작을 수행하기 위해 업체에 의해 활용되는 다수의 서버, 원격 제어 및 셋탑 박스 조합, 제스쳐를 캡쳐하도록 구성되는 이미지 캡쳐 디바이스 및 게임 콘솔, 및 등등을 나타낼 수도 있다.
네트워크(106)가 인터넷으로서 예시되지만, 네트워크는 아주 다양한 구성을 취할 수도 있다. 예를 들면, 네트워크(106)는 광역 통신망(wide area network; WAN), 근거리 통신망(local area network; LAN), 무선 네트워크, 공중 전화망, 인트라넷, 및 등등을 포함할 수도 있다. 또한, 단일의 네트워크(106)가 도시되지만, 네트워크(106)는 다수의 네트워크를 포함하도록 구성될 수도 있다.
컴퓨팅 디바이스(104)는 또한, 운영 체제(108)를 포함하는 것으로 예시된다. 운영 체제(108)는, 컴퓨팅 디바이스(104)의 기저의 기능성을, 컴퓨팅 디바이스(104) 상에서 실행가능한 애플리케이션(110)으로 추상화하도록 구성된다. 예를 들면, 운영 체제(108)는, 이 기저의 기능성이 어떻게 구현되는지를 모르는 상태에서 애플리케이션(110)이 기록될 수도 있도록, 컴퓨팅 디바이스(104)의 프로세싱, 메모리, 네트워크, 및/또는 디스플레이 기능성을 추상화할 수도 있다. 애플리케이션(110)은, 예를 들면, 디스플레이 디바이스(112)에 의해 렌더링되어 디스플레이될 데이터를, 이 렌더링이 어떻게 수행될 것인지를 이해하지 않고도, 운영 체제(108)로 제공할 수도 있다.
운영 체제(108)는 또한, 예컨대 컴퓨팅 디바이스(104)의 유저에 의해 내비게이팅 가능한 유저 인터페이스 및 파일 시스템을 관리하는 다양한 다른 기능성을 나타낼 수도 있다. 이것의 예가, 컴퓨팅 디바이스(104)의 디스플레이 디바이스(112) 상에서 디스플레이되는 애플리케이션 런처(예를 들면, 시작 스크린)로서 예시된다. 시작 스크린은, 복수의 애플리케이션(110)과 같은 기저의 컨텐츠 아이템에 대한 액세스를 제공하기 위해 선택가능한 그래픽 표현("그래픽")을 포함한다. 그래픽은, 애플리케이션을 표현하는 그래픽(아이콘, 타일, 등등)의 행(row) 및/또는 열(column)의 매트릭스 또는 그리드로 디스플레이될 수도 있는 아이콘, 타일, 텍스트 설명, 및 등등으로서 구현될 수도 있다. 시작 스크린은 계층적 파일 구조의 루트 레벨로서 간주될 수도 있는데, 예를 들면, 다른 레벨의 각각은 계층에서 루트 레벨 "아래에" 있는 것으로 간주될 수도 있다. 예시된 예에서 도시되는 그래픽 중 적어도 일부는, 컴퓨팅 디바이스(104) 상에서의 실행을 위해 애플리케이션(110) 중 대응하는 애플리케이션을 런칭하도록 선택될 수 있다. 이 방식에서, 유저는 파일 구조를 통해 손쉽게 내비게이팅할 수도 있고 주목하는 애플리케이션의 실행을 개시할 수도 있다.
하나 이상의 실시형태에서, 주기적으로 업데이트하도록 구성되는 컨텐츠는 애플리케이션에 대한 그래픽의 일부로서 디스플레이될 수도 있다. 그래픽 상에 디스플레이되는 컨텐츠는, 예를 들면, 미리 결정된 간격에서 및/또는 업데이트 이벤트(예를 들면, 뉴스 속보)에 응답하여 업데이트될 수도 있다. 이 업데이트로 인해, 그래픽을 통해 디스플레이되는 컨텐츠는 "라이브 컨텐츠"로 칭해질 수 있다.
라이브 컨텐츠(114)는, 그래픽을 통해 디스플레이되는 그리고 업데이트되도록 구성되는 컨텐츠를 나타낸다. 그래픽(116)은, 예를 들면, 캘린더 애플리케이션을 나타낼 수도 있다. 그래픽(116)은, 예를 들면, "31일 화요일"에 대한 "8:00 업무, 12:00 심사관 인터뷰, 및 8:00 Syringa에서 저녁식사"와 같은 현재 날짜에 대한 스케줄을 나타내는 컨텐츠를 포함하는 것으로 예시된다. 마찬가지로, 이메일 애플리케이션에 대한 그래픽(118)은, 현재 읽지 않은 이메일의 수가 "9"임을 나타낸다. 그래픽을 통해 디스플레이되는 라이브 컨텐츠(114)는 웹 서비스(102)로부터 수신되는 컨텐츠 업데이트에 기초하여 업데이트될 수도 있다. 웹 서비스(102)는 컨텐츠 리소스(120)를 포함하는 것으로 예시되는데, 컨텐츠 리소스(120)는, 컴퓨팅 디바이스(104)로 전달될 수 있는 그리고 그래픽을 채우기 위해 라이브 컨텐츠(114)로서 구성될 수 있는 컨텐츠를 나타낸다. 예로서, 웹 서비스(102)는 소셜 네트워크 서비스를 제공할 수도 있고 컨텐츠 리소스(120)는 소셜 네트워크의 유저에 대한 업데이트일 수도 있다. 컨텐츠 리소스(120)로부터의 데이터, 예컨대 컴퓨팅 디바이스(104)와 관련되는 유저에 관한 업데이트는 컴퓨팅 디바이스로 전달될 수 있고 라이브 컨텐츠(114)로서 구성될 수 있다. 소셜 네트워크 업데이트가 수신되기 때문에, 대응하는 라이브 컨텐츠(114)는 소셜 네트워크 서비스(도시되지 않음)에 대응하는 그래픽 상에 표시될 수 있다.
이 방식에서, 유저는 애플리케이션의 각각을 런칭하여 내비게이팅하지 않고도, 애플리케이션(110)에 관한 정보를 손쉽게 볼 수도 있다. 특정 애플리케이션의 그래픽이 도시되지만, 서비스에 대한 유저의 연루, 예를 들면, 소셜 네트워크 서비스에서의 유저의 친구를 참조하는 애플리케이션의 표시와 같은, 애플리케이션의 다른 그래픽도 또한 고려된다. 유저가 제한된 입력을 애플리케이션에 제공하는 것을 허용하기 위해 및/또는 애플리케이션 피쳐에 대해, 전화를 거는 것, 텍스트로 답장하는 것, 상태를 게시하는 것, 비디오 또는 노래를 플레이하는 것, 등등과 같은 제한된 기능성을 허용하기 위해 다른 그래픽이 활용될 수도 있다. 루트 레벨 모드의 다른 애플리케이션 그래픽은, 더 큰 루트 모드 디스플레이 내에서의 앱, 예컨대 계산기, 스도쿠(Sudoku) 게임, 비디오 플레이어의 완전한 기능성 구현을 포함할 수도 있다.
운영 체제(108)는 또한, 디스플레이 매니저 모듈(122)("디스플레이 매니저(122)")를 포함하는 것으로 예시된다. 디스플레이 매니저(122)는, 디스플레이 디바이스(112)의 회전, 디스플레이 디바이스(112)의 디스플레이 해상도에 대한 변경, 또는 상이한 디스플레이 디바이스(도시되지 않음), 및 등등 상에 유저 인터페이스를 출력하기 위한 변경과 같은 디스플레이 변경 이벤트에 응답하여 디스플레이 디바이스를 통해 출력되는 유저 인터페이스의 일부로서 포함되는 그래픽(예를 들면, 아이콘, 타일, 및 등등)의 재배열을 관리하기 위한 기능성을 나타낸다.
디스플레이 매니저(122)는 또한, 유저 인터페이스를 통해 표시되는 그래픽의 배열의 커스텀화를 관리하기 위한 기능성을 나타낼 수도 있다. 이렇게 하는 것의 일부로서, 디스플레이 매니저(122)는, 유저가 배열을 행하도록 허용되는 커스텀화에 대해 제약을 부과할 수도 있다. 예를 들면, 디스플레이 매니저(122)는, 그래픽이 그룹에 배열되어야 한다는 것을 명시할 수도 있고, 그 결과 각각의 그래픽은 대응하는 그룹에 대해 지정되는 유저 인터페이스의 영역 내에 포함된다. 각각의 이러한 그룹에 대해, 디스플레이 매니저(122)는, 예를 들면, 각각의 그룹의 폭 또는 높이를 제한하기 위해, 미리 정의된 사이즈 제약을 부과할 수도 있다. 예로서, 디스플레이 매니저(122)는, 디스플레이 디바이스(112)의 최소 치수에 기초하여 각각의 그룹의 높이 및 폭을 제한할 수도 있다. 그룹을 이러한 방식으로 제한하는 것에 의해, 디스플레이 매니저(112)는, 가로 방위에서 배치될 때 그룹의 행이 디스플레이 상에 맞춰질 수 있다는 것 또는 세로 방위에서 배치될 때 그룹의 열이 디스플레이 상에 맞춰질 수 있다는 것을 보장할 수도 있다. 디스플레이 매니저(122)는 또한, 개개의 그룹 및 배열에 대한 다른 제약을 부과할 수도 있다. 예를 들면, 타일로서 구성되는 그래픽을 포함하는 유저 인터페이스의 경우, 디스플레이 매니저(122)는 그리드 배열을 따르는 타일의 커스텀화(예를 들면, 타일의 배치 또는 재배치, 타일의 사이즈 결정(sizing) 또는 리사이징(resizing), 및 등등)로 유저를 제한할 수도 있다. 비제한적인 예로서, 디스플레이 매니저(122)는 또한, 유저 인터페이스를 미리 정의된 수의 그룹을 갖는 것으로 제한할 수도 있고, 그룹의 각각을 미리 정의된 수의 그래픽을 갖는 것으로 제한할 수도 있고, 그룹 사이의 간격을 명시할 수도 있고, 그래픽이 유저 인터페이스 상에서 위치될 수 있는 특정한 위치를 명시할 수도 있고, 각각의 그래픽의 사이즈를 제한할 수도 있고, 및 등등일 수도 있다.
또한, 디스플레이 매니저(122)는 자신의 디스플레이에 관련되는 유저 인터페이스의 기능성에 대해 제약을 부과할 수도 있다. 예를 들면, 연속적으로 스크롤하는 유저 인터페이스에서는, 디스플레이 매니저(122)는, 예를 들면, 디스플레이 디바이스(112)가 세로 방위로 배치되고 그래픽이 열에 배열되는 경우, 수직 방향에서 유저 인터페이스를 가로 질러 유저가 연속적으로 스크롤하는 것을 가능하게 할 수도 있지만, 그러나 수평 방향에서는 스크롤하는 것을 방지할 수도 있다. 대안적으로, 디스플레이 매니저(122)는, 예를 들면, 디스플레이 디바이스(112)가 가로 방위로 배치되고 그래픽이 행에 배열되는 경우, 수평 방향에서 유저 인터페이스를 가로 질러 유저가 연속적으로 스크롤하는 것을 가능하게 할 수도 있다. 몇몇 실시형태에서, 디스플레이 매니저(122)는, 유저 인터페이스의 경계가 도달될 때까지, 예를 들면, 경계를 넘어 더 이상 어떠한 그래픽도 존재하지 않을 때까지, 수평 및 수직 방향 둘 다에서 유저 인터페이스를 가로 질러 유저가 연속적으로 스크롤하는 것을 허용할 수도 있다. 페이지가 매겨진 유저 인터페이스에서, 디스플레이 매니저(122)는 단순히 스크롤하는 것을 허용하지 않을 수도 있다. 대신, 디스플레이 매니저(122)는 유저가 유저 인터페이스의 하나의 페이지로부터 다른 페이지로 전환하는 것을 가능하게 할 수도 있다.
디스플레이 매니저(122)는 또한, 그래픽 및 그룹에 대한 우선 순위를 결정하기 위한 기능성을 나타낼 수도 있다. 디스플레이 매니저(122)는, 유저 인터페이스 내에서 유저가 그래픽 또는 그룹을 배치하는 곳에 적어도 부분적으로 기초하여, 이렇게 할 수도 있다. 예를 들면, 특정한 그룹 내에서, 디스플레이 매니저(122)는, 그룹의 좌상(upper left)에 배치되는 그래픽이 최고 우선 순위를 갖는다는 것 및 그룹의 우하(bottom right)에 배치되는 그래픽이 최저 우선 순위를 갖는다는 것을 결정할 수도 있다.
예로서, 디스플레이 매니저(122)는 그룹의 그래픽에 대해 방사상으로 우선 순위를 할당할 수도 있다. 이렇게 하기 위해, 디스플레이 매니저(122)는, 그룹의 좌상 코너에 중심을 둔 제1 반경 내에 배치되는 그래픽에 대해 최고 우선 순위를 할당할 수도 있다. 디스플레이 매니저(122)는, 제2 반경(제1 반경보다 더 큼) 내에 배치되는 그래픽에 대해 다음으로 가장 높은 우선 순위를 할당할 수도 있고, 제3 반경(제1 반경보다 더 큼) 내에 배치되는 그래픽에 대해 세 번째로 가장 높은 우선 순위를 할당할 수도 있고, 및 등등일 수도 있다. 우선 순위는, 앞선 예에서 개시되는 세 개보다 더 많은 또는 더 적은 반경을 사용하여 그래픽에 대해 방사상으로 할당될 수도 있다는 것이 인식되어야 한다. 우선 순위는, 그룹의 상이한 위치, 예를 들면, 그룹의 결정된 중심에 중심을 두는 반경을 사용하여 그룹의 그래픽에 대해 방사상으로 할당될 수도 있다는 것이 또한 인식되어야 한다.
디스플레이 매니저(122)는, 특정한 그룹 내의 그래픽과 유사한 방식으로 그룹에 대해 우선 순위를 할당할 수도 있다. 예를 들면, 디스플레이 매니저(122)는, 유저 인터페이스의 좌상에 배치되는 그룹이 최고 우선 순위를 갖는다는 것 및 우하에 배치되는 그룹이 최하 우선 순위를 갖는다는 것을 결정할 수도 있다. 그래픽에서와 마찬가지로, 디스플레이 매니저(122)는 방사상으로 그렇게 할 수도 있다. 예로서, 디스플레이 매니저(122)는, 유저 인터페이스의 좌상 코너에 중심을 둔 제1 반경 내에 배치되는 그룹 또는 그룹들에 대해 최고 우선 순위를 할당할 수도 있고, 제2 반경(제1 반경보다 더 큼) 내에 배치되는 그룹에 대해 다음으로 가장 높은 우선 순위를 할당할 수도 있고, 및 등등일 수도 있다. 대안적으로, 우선 순위는 유저 인터페이스의 어떤 다른 위치, 예를 들면, 자신의 결정된 중심에 중심을 둔 반경을 사용하여 그룹에 대해 방사상으로 할당될 수도 있다.
그래픽 및 그룹에 대한 우선 순위는 또한, 본원에서 설명되는 기술의 취지와 범위를 벗어나지 않으면서 다른 방식으로 결정될 수도 있다. 예를 들면, 우선 순위는 사용량(usage)에 기초하여 결정될 수도 있다. 기저의 컨텐츠(예를 들면, 애플리케이션)에 액세스하기 위해 더 자주 선택되는 또는 (예를 들면, 그래픽 자체가 기능성을 제공하는 경우) 더 자주 상호작용되는 그래픽은, 덜 자주 액세스되는 또는 상호작용되는 것보다 더 높은 우선 순위를 갖도록 결정될 수도 있다. 동시에, 가장 많이 액세스되고 함께 상호작용된 애플리케이션을 갖는 그룹은, 덜 액세스되고 함께 상호작용된 애플리케이션을 갖는 그룹보다 더 높은 우선 순위를 갖도록 결정될 수도 있다.
디스플레이 변경 이벤트의 검출에 응답하여 유저 인터페이스의 그래픽을 재배열하기 위한 디스플레이 매니저(122)의 성능의 논의로 돌아간다. 디스플레이 매니저(122)는, 검출된 디스플레이 변경 이벤트에 대응하도록 그리고 임의의 배열 제약, 배열 프레임워크, 및/또는 그래픽의 결정된 우선 순위에 기초하여 유저 인터페이스의 그래픽을 재배열할 수도 있다. 본원에서 설명되는 기술의 범위를 벗어나지 않으면서 그래픽을 재배열하기 위해 디스플레이 매니저(122)에 의해 다른 기준이 고려될 수도 있다.
도 2는, 도 1의 디스플레이 디바이스(112)의 방위가 변경되고 유저 인터페이스에 포함되는 그래픽의 대응하는 재배열이 수행되는 예를 도시하는 구현예를 200에서 묘사한다. 200에서 예시되는 예는, 도 1의 컴퓨팅 디바이스(104)를, 최초, 202에서 가로 방위로 묘사한다. 도 2는 또한, 204에서, (예를 들면, 202에서 묘사되는 방위로부터 컴퓨팅 디바이스를 시계방향으로 90도 회전시키는 것에 의해) 방위가 세로 방위로 변경되었지만 그래픽이 재배열되기 이전의 도 1의 컴퓨팅 디바이스(104)를 묘사한다. 206에서는, 하나 이상의 실시형태에 따라 그래픽이 재배열된 컴퓨팅 디바이스(104)가 묘사된다.
그래픽에 대한 재배열은, 상이한 방위로의 완전한 90도 회전 이후 이외의 시간에 수행될 수도 있다는 것이 인식되어야 한다. 비제한적인 예로서, 컴퓨팅 디바이스(104)가 상이한 방위를 향해 적어도 임계량(예를 들면, 30도 또는 45도) 회전되었다는 것이 검출되는 경우 그래픽은 재배열될 수도 있다. 대안적으로 또는 추가적으로, 그래픽은, 가속도계 또는 컴퓨팅 디바이스의 다른 디바이스에 의해 측정되는 바와 같은 회전에서의 급격한 변경의 검출에 응답하여 재배열될 수도 있다. 그래픽의 재배열을 수행하는 것은, 예시되는 컴퓨팅 디바이스의 시계방향 회전으로 제한되지 않는다는 것이 또한 인식되어야 한다. 그래픽은 또한, 예를 들면, 컴퓨팅 디바이스가 반시계 방향으로 회전될 때 재배열될 수도 있다.
202에서 묘사되는 가로 방위를 참조하면, 그래픽의 제1 그룹(208) 및 제2 그룹(210)의 일부를 표시하는, 디스플레이 디바이스(112)를 통해 출력되는 유저 인터페이스가 묘사된다. 디스플레이 디바이스(112) 상에 표시되는 유저 인터페이스의 일부는, 그것이 뷰잉 창을 통해 보일 수 있다는 것으로 간주될 수도 있다. (예를 들면, 내비게이션 입력을 스크롤하는 것에 응답하여) 뷰잉 창을 스크롤하는 것에 의해, 유저 인터페이스의 다른 부분이 뷰잉 창을 통해 보일 수도 있다.
예로서, 뷰잉 창을 통해 보일 수 있는(그리고 디스플레이 디바이스를 통해 표시되는) 제1 그룹(208) 및 제2 그룹(210)의 일부는 그래픽(212, 214, 216, 218)의 전체보다 더 적은 것을 포함한다. 이들 그래픽(212, 214, 216, 218)은, 뷰잉 창을 통해 보일 수 있는 유저 인터페이스의 부분을 넘어 연장한다. 그러나, 아래 방향으로 스크롤하는 내비게이션 입력에 응답하여, 뷰잉 창은 그래픽(212, 214, 216, 218)의 디스플레이되지 않은 부분을 디스플레이하도록 시프트될 수도 있다. 디스플레이되지 않은 그래픽(220, 222, 224)도 또한 도 2에서 묘사되며, 아래 방향으로 뷰잉 창을 스크롤하는 내비게이션 입력에 응답하여 또한 보일 수 있게 될 수 있다. 그러나, 디스플레이되지 않은 그래픽(220, 222, 224)을 디스플레이하기 위해서는, 유저는 그래픽(212, 214, 216, 218)의 디스플레이되지 않은 부분을 디스플레이하기 위해 필요로 되었던 것보다 더 많이 하방으로 스크롤해야 할 수도 있다.
도 2의 그래픽의 배열은 또한, 디스플레이 매니저(122)가 그래픽 배열에 대해 미리 정의된 사이즈 제약을 부과하는 시나리오를 나타낸다. 특히, 도 2는, 디스플레이 매니저(122)가 그룹의 높이가 아니라 폭을 제한하는 시나리오를 나타낸다. 디스플레이 매니저(122)는 디스플레이 디바이스(112)의 방위에 무관하게 이러한 제약을 부과할 수도 있다. 도 2에서, 예를 들면, 그룹 폭 제한은, 디스플레이 디바이스(112)가 (예를 들면, 202에서와 같이) 가로 방위로 배치된 상태 및 (예를 들면, 206에서와 같이) 세로 방위로 배치된 상태 둘 다의 상태에서 그래픽의 배열에 적용된다. 204에서 묘사되는 그래픽의 배열이 폭 제한에 따르지 않을 수도 있지만, 유저 인터페이스는, 디스플레이 매니저(122)가 방위에서의(세로로의) 변경을 검출하고 그래픽으로 하여금 재배열되어 렌더링되게 하기 직전까지, 이 방식으로 디스플레이될 수도 있다.
그룹의 높이가 아니라 폭을 제한하는 이들 제약을 표현하기 위해, 실질적으로 동일한 폭을 그러나 상이한 높이를 각각 갖는 제1 그룹(208) 및 제2 그룹(210)이 묘사된다, 예를 들면, 제2 그룹(210)은, 그래픽의 추가적인 행을 구성하는 디스플레이되지 않은 그래픽(220, 222, 224)을 갖는다. 폭 제약은, 그룹의 그래픽을, 배열된 그래픽이 제약에 의해 정의되는 것보다 더 큰 수평 간격으로 확대하지 않는 패턴으로 배열하는 것으로 유저(또는 그래픽을 재배열하는 경우 디스플레이 매니저(122))를 제한할 수도 있다. 도 2에서 묘사되는 그룹이 높이 제약에 의해 제한되지 않지만, 높이 제약은, 폭 제약과 유사한 방식으로 하나 이상의 실시형태에서 부과될 수도 있다. 다시 말하면, 높이 제약은, 그룹의 그래픽을, 배열된 그래픽이 제약에 의해 정의되는 것보다 더 큰 수직 간격으로 확장하지 않는 패턴으로 배열하는 것으로 유저(또는 그래픽을 재배열하는 경우 디스플레이 매니저(122))를 제한할 수도 있다. 그래픽이 유저에 의해 배열되고 있는지 또는 디스플레이 매니저(122)에 의해 재배열되고 있는지에 무관하게, 미리 정의된 폭 및 높이 제약은, 그룹의 그래픽이 포함되어야 하는 경계를 지시한다.
도 2에서 표현되는 배열 제약을 고려하면, 디스플레이 매니저(122)는, 가로 방위로부터 세로 방위로의 전환이 검출될 때, 유저 인터페이스의 그래픽을 다음의 방식으로 재배열할 수도 있다. 202의 가로 방위에서 가장 좌측 그룹으로서의 자신의 배치로 인해, 제1 그룹(208)은 최고 우선 순위 그룹으로서 결정될 수도 있다. 제2 그룹(210)은, 제2 그룹(210)이 최고 우선 순위 그룹 옆에 배치되기 때문에, 다음으로 가장 높은 우선 순위를 갖는 그룹일 수도 있다. 제3 그룹이 202의 가로 방위에서 제1 그룹(208) 바로 아래에 배열되면, 그 제3 그룹은 제2 그룹(210)보다 더 높은 우선 순위를 갖는 것으로 결정될 수도 있지만, 이러한 결정은 우선 순위가 어떻게 결정되는지에 의존할 것이다. 제1 그룹(208)이 최고 우선 순위를 가지며 제2 그룹(210)이 다음으로 가장 높은 우선 순위를 갖는다고 가정하면, 디스플레이 매니저(122)는, 206에서와 같이, (예를 들면, 제1 그룹(208)이 최고 우선 순위를 가지기 때문에) 제1 그룹(208)이 유저 인터페이스의 상부에 재배치되고 제2 그룹(210)이 제1 그룹(208) 바로 아래에 재배치되도록 그래픽을 재배열할 수 있다. 206에서, 각각의 그룹의 그래픽은, 204에서 표시되는 방식으로부터 반시계 방향으로 90도만큼 또한 회전되어 있다.
이것 및 제2 그룹(210)의 하향 시프트를 고려하면, 재배열의 결과로서, 206에서와 같이, 제1 그룹(208)의 전체가 표시될 수도 있다. 특히, 202의 가로 방위에 대응하는 배열에서 단지 부분적으로만 디스플레이되었던 그래픽(212, 214)이, 206에서 묘사되는 세로 방위에 대응하는 재배열에서 완전히 디스플레이된다는 것을 유의한다. 대조적으로, 206에서는 제2 그룹(210)의 그래픽의 더 작은 부분이 디스플레이된다. 특히, 202에서 거의 완전히 스크린 상에 나타나지만, 206에서는 거의 완전히 스크린에서 사라지는 그래픽(216, 218)을 고려한다.
도 2에서 묘사되는 바와 같이 그래픽을 재배치하는 것에 의해, 결과적으로 나타나는 재배열은 유저에게 직관적일 수도 있다. 특정한 유저 인터페이스 배열의 좌상에 유저가 구체적으로 배치하는 그래픽은 디스플레이 매니저(122)에 의해 결정되는 재배열의 좌상에 또한 배치될 수 있다. 우선 순위를 결정하는 것을 참조로 논의된 바와 같이, 최고 우선 순위 그래픽은 좌상 이외의 유저 인터페이스의 위치, 예를 들면, 중심에 배치될 수도 있다. 따라서, 그래픽은, 최고 우선 순위 그래픽 및 그룹이, 재배열에서, 배열에서와 실질적으로 동일한 위치에 남아 있도록, 디스플레이 매니저(122)에 의해 재배열될 수도 있다.
하나 이상의 실시형태에서, 디스플레이 매니저(122)는, 그래픽의 배열을 커스터마이징하기 위해 유저 입력이 마지막으로 수신되었던 때에 디스플레이 디바이스(112)가 배치되어 있었던 방위(예를 들면, 가로 또는 세로)를 추적할 수도 있다. 예를 들면, 유저 인터페이스의 그래픽을 배열하기 위해(예를 들면, 재배치하기 위해 또는 리사이징하기 위해) 유저 입력이 마지막으로 수신되었던 때에 디스플레이 디바이스(112)가 가로 방위에 배치되어 있었다면, 이것을 나타내는 정보는 유지될 수도 있다. 결과적으로, 디스플레이 디바이스(112)가 세로로부터 가로로 회전될 때 재배열을 결정하는 대신, 디스플레이 매니저(122)는, 디스플레이될 가로 방위에 대한 아이콘의 유저에 의해 커스터마이징된 배열을 단순히 복원할 수도 있다.
마찬가지로, 유저 인터페이스의 그래픽을 배열하기 위해 유저 입력이 마지막으로 수신되었던 때에 디스플레이 디바이스가 세로 방위에 배치되어 있었다면, 이것을 나타내는 정보는 유지될 수도 있다. 이 경우, 디스플레이 디바이스가 가로로부터 세로로 회전될 때 재배열을 결정하는 대신, 디스플레이 매니저(122)는, 디스플레이될 세로 방위에 대한 아이콘의 유저에 의해 커스터마이징된 배열을 단순히 복원할 수도 있다. 유저에 의해 커스터마이징된 배열을 표시하기 위해, 그 배열을 나타내는 정보가 컴퓨팅 디바이스(104)에서 유지될 수도 있다.
유사한 방식으로, 디스플레이 디바이스(112)가 특정한 방위로 배치될 때마다 그래픽의 특정한 배열을 복원할 것을 나타내는 입력을 유저가 제공할 수도 있다. 디스플레이 매니저(122)는 특정한 배열을 나타내는 정보가 컴퓨팅 디바이스(104)에 유지되게 할 수도 있고, 디스플레이 디바이스(112)가 특정한 방위에 배치될 때 특정한 배열이 복원되게 할 수도 있다. 대안적으로 또는 추가적으로, 디스플레이 매니저(122)는, 방위 변경 이전에 디스플레이 디바이스(112)를 통해 보이는 그룹을 추적할 수도 있다. 그래픽의 재배열을 수행할 때, 디스플레이 매니저(122)는, 방위 변경 이전에 보였던 그룹이 방위 변경 이후에 디스플레이 디바이스(112) 상에서 계속 보이도록 그래픽을 재배열하기 위해 이 정보를 사용할 수도 있다.
도 2가 202의 가로 방위로부터 206의 세로 방위로의 회전에 대한 그래픽의 재배열을 예시하지만, 디스플레이 매니저(122)는 206의 세로 방위로부터 202의 가로 방위로의 그래픽의 재배열을 또한 결정할 수 있다는 것이 인식되어야 한다. 예로서, 디스플레이 매니저(122)는, 206에서 묘사되는 바와 같이 유저 인터페이스 상에 배열되었던 그래픽이 202에서 묘사되는 패턴으로 재배열되게 할 수도 있다.
도 2는, 유저 인터페이스 배열 및 기능성에 부과될 수 있는 제약 중 단지 하나의 예이다. 디스플레이 매니저(122)는, 본원에서 설명되는 기술의 범위를 벗어나지 않으면서, 그래픽의 배열에 대해 그리고 기능성에 대해 상이한 제약을 부과하도록 구성될 수도 있다. 비제한적인 예로서, 미리 정의된 폭 제약은, 가로 방위에서, 단지 두 개 대신, 세 개의 그룹이 좌우로 표시되는 것을 허용할 수도 있고, 미리 정의된 폭 제약은, 세로 방위에서, 단지 하나 대신, 다수의 그룹이 좌우로 표시되는 것을 허용할 수도 있고, 미리 정의된 사이즈 제약은, 다수의 그룹이 세로 방위에서 위에서 아래로 표시될 수 있도록 그리고 유저가 그룹의 디스플레이되지 않은 부분을 보기 위해 수평으로 스크롤하는 것을 가능하게 하도록 폭이 아닌 높이를 제한할 수도 있고, 및 등등일 수도 있다.
도 3은, 도 1의 디스플레이 디바이스(112)의 방위가 변경되고 유저 인터페이스에 포함되는 그래픽의 대응하는 재배열이 수행되는 예를 도시하는 구현예를 300에서 묘사한다. 그러나, 도 3은, 그룹의 배열에 대해 상이한 제약이 부과되는 시나리오를 나타낸다.
특히, 도 3은, 디스플레이 매니저(122)에 의해 부과되는 미리 정의된 사이즈 제약에 의해 폭 및 높이 둘 다가 제한되는 시나리오를 나타낸다. 300의 예시된 예에서, 그룹의 폭 및 높이는 실질적으로 동일하다. 그러나, 그룹의 폭 및 높이는, 유저 인터페이스에 걸친 수직 및 수평 둘 다의 스크롤이 가능하게 될 때 본원에서 설명되는 기술에 따라 다른 방식으로(예를 들면, 폭 및 높이가 실질적으로 동일하지 않도록) 제약될 수도 있다. 300에서 예시되는 예는, 최초 302에서 가로 방위로 배치되는 컴퓨팅 디바이스(104)를 묘사한다. 304에서는, 자신의 방위를 (예를 들면, 시계 방향으로 90도만큼) 세로 방위로 변경하였지만, 그래픽이 재배열되기 이전의 컴퓨팅 디바이스(104)가 묘사된다. 306에서는, 하나 이상의 실시형태에 따라 그래픽이 재배열된 컴퓨팅 디바이스(104)가 묘사된다.
302에서 묘사되는 가로 방위를 참조하면, 그래픽의 제1 그룹(308) 및 제2 그룹(310)을 표시하는, 디스플레이 디바이스(112)를 통해 출력되는 유저 인터페이스가 묘사된다. 이 시나리오에 의해 표현되는 미리 정의된 높이 및 폭 제약은, 제1 그룹(308) 및 제2 그룹(310)이 실질적으로 정사각형 형상으로 되는 것으로 나타날 수도 있다. 결과적으로, 제1 그룹(308) 및 제2 그룹(310)의 전체는, (예를 들면, 302에서와 같이) 가로 방위 및 (예를 들면, 306에서와 같이) 세로 방위 둘 다에서 보일 수도 있다.
302에서 묘사되는 가로 방위로부터, 디스플레이 디바이스(112)는 시계 방향으로 90도만큼 회전되어, 유저 인터페이스가 일시적으로 304에서와 같이 디스플레이되는 것으로 나타날 수도 있다. 유저 인터페이스는, 디스플레이 매니저(122)가 방위에서의 변경을 검출하고 그래픽이 재배열 및 렌더링되게 하기 직전까지, 세로 방위에 대해 이 방식으로 디스플레이될 수도 있다. 예로서, 디스플레이 매니저(122)는, 디스플레이 디바이스(112)의 디스플레이 표면에 실질적으로 수직인 방향에서 그룹의 중심을 통해 이어지는 축을 중심으로 각각의 그룹을 그룹으로서 반시계 방향으로 90도 회전시키는 것에 의해, 그래픽을 재배열할 것을 결정할 수도 있다. 그룹의 폭 및 높이가 실질적으로 동일하지 않은 실시형태의 경우, 디스플레이 매니저(122)는, 그룹을 회전시킬 축을 결정할 수도 있고 각각의 결정된 축을 중심으로 각각의 그룹을 그룹으로서 회전시키는 것에 의해 그래픽을 재배열할 수도 있다. 또한, 디스플레이 매니저(122)는, 하나의 그룹의 그래픽이 다른 그룹의 그래픽과 중첩하지 않도록 그룹을 재배치할 수도 있다.
재배열의 결과로서, 제1 그룹(308)은, 좌우로 정렬되는 대신, 306에서 제2 그룹(310)의 상부에 적층된다. 다시 말하면, 재배열은, 배열에서의 그룹의 정렬에 대하여, 그룹을 서로에 대한 상이한 정렬로 회전시킨다. 예시된 예에서, 서로에 대한 그룹의 정렬은, 좌우 정렬(side-to-side alignment)에서 상하 정렬로 변경되었다.
그룹이 적층되는 순서는 그룹의 우선 순위화에 기초할 수도 있다. 예로서, 최고 우선 순위를 갖는 그룹은 그룹의 스택의 상부에 배열될 수도 있고, 두 번째로 높은 우선 순위를 갖는 그룹은 최고 우선 순위 그룹 아래에 배열될 수도 있고, 및 등등일 수도 있다. 디스플레이 매니저(122)는, 어떤 그룹이 스택의 상부에 더 가까이 디스플레이되는지를 결정하기 위한 정의된 알고리즘에 기초하여 그룹의 우선 순위를 결정할 수도 있다. 그룹이 좌우로 배열될 때, 그룹이 좌에서 우로 배열되는 순서는 그룹의 우선 순위화에 기초할 수도 있고, 그 결과 최고 우선 순위를 갖는 그룹은 유저 인터페이스의 왼쪽에 배열되고, 다음으로 가장 높은 우선 순위를 갖는 그룹은 우측에 그리고 최고 우선 순위 그룹 옆에 배열되고, 및 등등으로 된다는 것이 또한 인식되어야 한다.
도 3의 그룹의 정렬이, 한 그룹씩 차례로, 좌우 정렬로부터 상하 정렬로 변경되었지만, 그룹 내에 포함되는 그래픽의 상대적인 배치는 유지되었다. 그래픽(312)은, 예를 들면, 302에서 묘사되는 가로 방위에 대응하는 배열 및 306에서 묘사되는 세로 방위에 대응하는 재배열 둘 다에서 그래픽(314)의 왼쪽에 배치된다. 또한, 그래픽(312)은 배열 및 재배열 둘 다에서 그래픽(316) 바로 위에 배치된다. 이 방식에서, 디스플레이 매니저(122)는 (예를 들면, 디스플레이 디바이스가 회전될 때 반대 방향에서의 회전에 의해) 디스플레이 디바이스(112)의 변경에 대응하도록 그래픽을 재배치하지만 그러나 특정한 그룹의 그래픽을 배열 및 재배열에서 동일한 패턴으로 표시한다.
도 3이 302의 가로 방위로부터 306의 세로 방위로의 디스플레이 디바이스(112)의 회전에 대한 그래픽의 재배열을 예시하지만, 디스플레이 매니저(122)는, 306의 세로 방위로부터 302의 가로 방위로의 디스플레이 디바이스(112)의 회전에 대한 그래픽의 재배열을 또한 결정할 수 있다는 것이 인식되어야 한다. 예로서, 디스플레이 매니저(122)는, 306에서 묘사되는 바와 같이 유저 인터페이스 상에 배열되었던 그래픽이 302에서 묘사되는 패턴으로 재배열되게 할 수도 있다.
유저 인터페이스가 페이지가 매겨지는 예에서, 디스플레이 매니저(122)는, 유저 인터페이스의 각각의 페이지가 수평으로 그리고 수직으로 배열되는 동일한 수의 그래픽(예를 들면, 아이콘)을 가지도록 제약을 부과할 수도 있다. 도 3을 참조로 상기에서 설명되는 것과 유사한 방위 변경에 응답하여, 디스플레이 매니저(122)는 페이지의 아이템을, 그룹으로서, 방위 변경에 대응하게끔 회전시키도록 구성될 수도 있다.
도 4는, 디스플레이 디바이스(112)의 방위가 변경되는 그리고 도 3에서와 같이 동일한 제약이 그룹 배열에 대해 부과되지만, 그러나 그래픽이 도 3과는 상이한 방식으로 재배열되는 예를 도시하는 구현예를 400에서 묘사한다. 400에서 예시되는 예는, 402에서 최초 가로 방위로 배치되고, 404에서 세로 방위로 자신의 방위를 변경하고, 그리고 406에서 그래픽이 재배열되는 컴퓨팅 디바이스(104)를 묘사한다.
도 4에서 예시되는 그래픽의 재배열은, 도 4의 그래픽의 그룹이, 그룹으로서, 회전 및 재배치되지 않는 한에 있어서는, 도 3에서 예시되는 것과는 상이하다. 특정한 예로서 그래픽(408)을 고려한다. 404에서, 그래픽(408)의 사이즈는 대략적으로 높이에서 한 단위 폭에서 두 단위이다. 406에서, 그래픽(408)은 동일한 사이즈, 예를 들면, 높이에서 한 단위 폭에서 두 단위이다. 이 동일한 관찰은 404에서 그리고 406에서 유저 인터페이스에 묘사되는 그래픽의 각각에 적용가능하다. 다시 말하면, 그래픽이 배열되는 패턴은 404와 406 사이에서 변경되지 않는다.
대신, 각각의 그래픽 상에서 묘사되는 컨텐츠가 재배치된다. 그래픽(410)과 같은 정사각형 그래픽의 경우, 그 상에서 묘사되는 컨텐츠는 방위 변경에 대응하도록, 예를 들면, 404에서 묘사되는 포지션으로부터 406에서 묘사되는 포지션으로 간단히 회전될 수 있다. 그러나, 그래픽(408)과 같은 비정사각형 그래픽의 경우, 묘사된 컨텐츠를 그래픽 상에 적합시키기 위해서는 단순한 회전이 불충분할 수도 있다. 대신, 디스플레이 매니저(122)는 방위 변경에 대응하도록 그래픽의 컨텐츠를 재배열 또는 대체할 수도 있다. 비제한적인 예로서, 디스플레이 매니저(122)는, 그래픽의 컨텐츠의 일부를 상이한 위치로 이동시키는 것에 의해, 컨텐츠의 크랍을 조정하는 것에 의해, 폰트 사이즈를 변경하는 것에 의해, 이전 방위에 대해 표시되는 컨텐츠 중 일부를 제외하는 것에 의해, 이전 방위에 대해 디스플레이되지 않았던 컨텐츠를 추가하는 것에 의해, 컨텐츠를 다른 컨텐츠로 대체하는 것에 의해, 및 등등에 의해, 그렇게 할 수도 있다.
도 5는, 유저 인터페이스가 출력되는 디스플레이 디바이스가 변경되는 예를 도시하는 구현예를 500에서 묘사한다. 또한, 도 5는 디스플레이 디바이스의 변경에 대응하는 그래픽의 재배열을 표시하는 것을 묘사한다. 예시된 예(500)는, 디스플레이 디바이스(112) 및 추가적인 디스플레이 디바이스(502)를 구비하는 컴퓨팅 디바이스(104)를 포함한다.
도 5는, 추가적인 디스플레이 디바이스(502)가 컴퓨팅 디바이스(104)에 연결되는 시나리오를 또한 나타낸다. 유선 연결이 예시되지만, 컴퓨팅 디바이스(104)와 추가적인 디스플레이 디바이스(502) 사이의 연결(504)은 다른 방식으로, 예컨대 무선으로 형성될 수도 있다. 연결(504)은, 디스플레이 매니저(122)가 유저 인터페이스로 하여금 추가적인 디스플레이 디바이스(502) 상에 표시되게 하는 것을 가능하게 할 수도 있다. 따라서, 디스플레이 매니저(122)는, 예를 들면, 그래픽을 업데이트하는 것에 의해, 유저 인터페이스의 다른 부분으로 스크롤하는 것을 가능하게 하는 것에 의해, 및 등등에 의해, 추가적인 디스플레이 디바이스(502)를 통해 표시되는 유저 인터페이스의 디스플레이를 관리할 수도 있다.
임의의 경우에서, 추가적인 디스플레이 디바이스(502) 상에 유저 인터페이스를 디스플레이하기 위한 연결(504)의 형성은, 디스플레이 매니저(122)에 의해 검출될 수도 있다. 이 이벤트뿐만 아니라, 도 2 내지 도 4를 참조로 설명되는 회전은, 각각, "디스플레이 변경 이벤트"로 칭해질 수도 있다. 이들 이벤트가 발생하는 경우, 유저 인터페이스가 디스플레이되는 방식은, 유저 인터페이스가 (회전의 경우에서와 같이) 유저에 의해 더 쉽게 이해되도록, 또는 유저 인터페이스가 상이한 디스플레이 디바이스를 통해 간단히 디스플레이될 수 있도록, 변경될 수도 있다. 본원에서 설명되는 기술의 취지를 벗어나지 않으면서, 디스플레이 디바이스의 회전 및 상이한 디스플레이 디바이스로의 변경 이외의 이벤트가 디스플레이 매니저(122)에 의해 검출가능한 "디스플레이 변경 이벤트"로서 간주될 수도 있고, 그것에 응답하여, 유저 인터페이스의 그래픽이 재배열된다.
500에서 예시된 예는, 추가적인 디스플레이 디바이스(502)가 디스플레이 디바이스(112)의 것과는 상이한 디스플레이 해상도를 갖는 시나리오를 나타낸다. 결과적으로, 유저 인터페이스는 디스플레이 디바이스(112) 상에서와 동일한 해상도에서 추가적인 디스플레이 디바이스(502) 상에 디스플레이될 수 없을 수도 있다. 추가적인 디스플레이 디바이스(502) 상에서의 유저 인터페이스의 디스플레이를 가능하게 하기 위해, 디스플레이 매니저(122)는, 유저 인터페이스가 추가적인 디스플레이 디바이스의 해상도에서 디스플레이될 수 있도록 그래픽을 재배열할 수도 있다.
예를 들면, 그래픽은, 디스플레이 디바이스(112) 상에서보다 더 적은 그래픽(또는 그래픽의 더 작은 부분)이 한 번에 보일 수 있도록, 묘사되는 바와 같이 재배열될 수도 있다. 더 큰 해상도를 갖는 디스플레이 디바이스의 경우, 디스플레이 매니저(122)는, 한 번에 더 많은 수의 그래픽(또는 유저 인터페이스의 더 큰 부분)이 보일 수 있도록, 그래픽을 재배열할 수도 있다. 재배열을 결정하는 것과 연계하여, 디스플레이 매니저(122)는 디스플레이 디바이스의 디스플레이 성능을 확인할 수도 있고 재배열을 이들 성능에 기초하게 할 수도 있다. 디스플레이 매니저(122)는, 본원에서 설명되는 기술로부터 벗어나지 않으면서 다양한 방식으로 디스플레이 디바이스에 대한 변경을 수용하도록 유저 인터페이스를 재배열할 수도 있다.
다양한 미리 정의된 배열 제약에 종속되는 다양한 디스플레이 변경 이벤트 및 유저 인터페이스에 대한 재배열을 결정하는 것 외에, 디스플레이 매니저(122)는 또한, 그래픽의 배열로부터 재배열로 전이하는 애니메이션을 결정하도록 구성될 수도 있다. 비제한적인 예로서, 전이에 적용될 수 있는 애니메이션은 페이드 인 및 페이드 아웃, 디스플레이 디바이스가 회전되었던 방향과는 반대 방향에서의 회전의 애니메이션, 유저 인터페이스 상의 상이한 포지션으로의 그룹의 슬라이딩, 유저 인터페이스 상의 상이한 포지션으로의 그래픽의 슬라이딩, 컨텐츠의 회전 및/또는 슬라이딩, 및 등등을 포함할 수도 있다. 본원에서 설명되는 기술의 범위를 벗어나지 않으면서 다른 애니메이션이 전이에 적용될 수도 있다.
상기의 예시적인 동작 환경, 디바이스, 및 디바이스 아키텍쳐를 고려하였기 때문에, 이제, 하나 이상의 실시형태에 따른 몇몇 예시적인 프로시져를 고려한다.
예시적인 프로시져
하기의 논의는, 이전에 설명된 시스템 및 디바이스를 활용하여 구현될 수도 있는 그룹 기반의 유저 인터페이스 재배열 기술을 설명한다. 프로시져의 각각의 양태는 하드웨어, 펌웨어, 또는 소프트웨어, 또는 이들의 조합으로 구현될 수도 있다. 프로시져는, 하나 이상의 디바이스에 의해 수행되는 동작을 명시하는 블록의 세트로서 도시되며, 각각의 블록에 의한 동작을 수행하기 위한 도시된 순서로 반드시 제한되지는 않는다. 하기의 논의 중 일부에서는, 도 1 내지 도 5에 대한 참조가 이루어질 것이다.
도 6은, 유저 인터페이스의 그래픽이 하나의 기술에 따라 재배열되는 예시적인 구현예에서의 프로시져(600)를 묘사한다. 기저의 컨텐츠 아이템에 대한 선택가능한 액세스를 시각적으로 표현하고 가능하게 하는 그래픽의 배열을 표시하도록 구성되는 유저 인터페이스가 디스플레이를 위해 디스플레이 디바이스를 통해 출력된다(블록 602). 유저 인터페이스는 또한, 디스플레이 디바이스의 방위에 무관하게 부과되는 미리 정의된 사이즈 제약을 갖는 하나 이상의 그룹으로의 그래픽의 배열을 가능하게 하도록 구성된다.
예를 들면, 디스플레이 매니저(122)는, 도 2의 202에서 묘사되는 유저 인터페이스가 디스플레이 디바이스를 통해 출력되게 할 수도 있다. 앞서 설명된 바와 같이, 이 유저 인터페이스의 그래픽은 적어도 제1 그룹(208) 및 제2 그룹(210)으로 배열된다. 또한, 디스플레이 매니저(122)는, 각각의 그룹의 폭을 제한하는 미리 정의된 사이즈 제약을 제1 그룹(208) 및 제2 그룹(210)에 대해 부과할 수도 있다. 제1 그룹(208) 및 제2 그룹(210)의 폭은, 디스플레이 디바이스(112)가 202에서 묘사되는 바와 같이 가로 방위로 배치되는 경우 및 206에서 묘사되는 바와 같이 세로 방위로 배치되는 경우 둘 다의 경우에, 제한된다.
디스플레이 디바이스의 회전을 나타내는 입력이 검출된다(블록 604). 예를 들면, 컴퓨팅 디바이스(104)의 센서는, 컴퓨팅 디바이스가 202에서 묘사되는 가로 방위로부터 204에서 묘사되는 세로 방위로 회전되었다는 것을 감지한다. 이 변경을 감지하는 센서는, 가속도계, 자이로스코프, 이미지 센서(예를 들면, 카메라), 및 등등을 포함할 수도 있다. 센서의 타입에 무관하게, 디스플레이 매니저(122)는 이러한 변경을 나타내는 입력을 센서 중 하나 이상을 통해 검출할 수도 있다.
입력의 검출에 응답하여, 회전에 대응하는 그래픽의 재배열이 자동적으로 결정된다(블록 606). 자동적으로 결정된 재배열은, 하나 이상의 그룹을 유지하도록 그리고 회전에 대응하게끔 하나 이상의 그룹 내에 포함되는 그래픽을 재배치하도록 구성된다.
도 2를 다시 참조하면, 디스플레이 매니저(122)는 206에서 묘사되는 그래픽의 배열을 결정한다. 디스플레이 매니저(122)는, 도 2에서의 경우에서와 같이, 제1 그룹(208)을, 실질적으로 그룹의 중심을 통해 이어지는 축을 중심으로 반시계 방향으로 90도 회전시킬 수도 있다. 디스플레이 매니저(122)는 또한 제2 그룹(210)을 유사한 방식으로 회전시킬 수도 있다. 디스플레이 매니저(122)는 또한, 제1 그룹(208)이 유저 인터페이스의 가시적인 부분의 상부에 배치되도록 그리고 제2 그룹(210)이 제1 그룹(208) 바로 아래에 배치되도록, 그룹을 재배치할 수도 있다. 이러한 재배열은, 부분적으로 디스플레이 매니저(122)에 의해 부과되는 배열 제약으로 인해, 도 2에서 묘사되는 회전에 대해 결정될 수도 있다. 디스플레이 디바이스(112)의 다른 회전의 경우, 디스플레이 매니저(122)는, 예를 들면, 최고 우선 순위 그래픽이 배치되어야 하는 곳, 사용량 데이터, 및 등등에 따라, 회전에 대응하는 다른 재배열을 결정할 수도 있다.
재배열이 결정된 이후, 디스플레이 매니저(122)는, 유저 인터페이스의 렌더링이 디스플레이 디바이스(112)를 통해 그래픽의 재배열을 표시하게 한다.
도 7은, 유저 인터페이스의 그래픽이 다른 재배열 기술에 따라 재배열되는 예시적인 구현예에서의 프로시져(700)를 묘사한다. 유저 인터페이스가 출력되는 디스플레이 디바이스를 통해 유저 인터페이스의 일부가 보일 수 있는 뷰잉 창의 수정을 나타내는 입력이 검출된다(블록 702). 유저 인터페이스는, 각각의 그래픽이 기저의 컨텐츠 아이템에 대한 선택가능한 액세스를 시각적으로 표현하고 가능하게 할 수도 있는 하나 이상의 그룹에 그래픽의 배열을 표시하도록 구성된다.
예를 들면, 디스플레이 매니저(122)는, 예컨대 디스플레이 디바이스의 방위가 304에서와 같이 변경된 것에 응답하여, 도 3의 302에서 묘사되는 인터페이스의 일부가 출력되는 뷰잉 창의 수정을 검출할 수도 있다. 이 유저 인터페이스의 일부로서 묘사되는 그래픽은, 선택시, 그래픽에 의해 표현되는 컨텐츠, 예를 들면, 애플리케이션 및 그 기능성에 대한 액세스를 허용할 수도 있다. 그래픽 중 일부는 또한, 기저의 애플리케이션을 "열도록" 선택되지 않고도 기능성에 대한 액세스를 허용할 수도 있다. 대신, 기능성은 유저 인터페이스 레벨에서 그래픽을 통해 액세스가능할 수도 있다.
블록 702에서 입력을 검출하는 것에 응답하여, 뷰잉 창의 수정에 대응하는 그래픽의 재배열은 자동적으로 결정된다(블록 704). 재배열은, 뷰잉 창의 수정에 대응하게끔 그룹 내에 포함되는 그래픽을 그룹으로서 재배치하도록 구성될 수도 있다. 재배열은 또한, 각각의 특정한 그룹의 그래픽을, 한 그룹씩 차례로, 배열에서와 동일한 패턴으로 표시하도록 구성될 수도 있다. 또한, 재배열은, 배열에서의 그룹의 정렬에 대하여, 그룹을 서로에 대한 상이한 정렬로 회전시키도록 구성될 수도 있다.
예를 들면, 디스플레이 매니저(122)는, 302에서 묘사되는 방위로부터 304에서 묘사되는 방위로의 디스플레이 디바이스(112)의 회전에 대해, 306에서 묘사되는 그래픽의 배열을 결정한다. 디스플레이 매니저(122)에 의해 결정되는 재배열은, 그룹의 배열에 부과되는 미리 정의된 제약, 예를 들면, 도 3의 배열에 대해 부과되는 높이 및 폭 제약에 부분적으로 기초하여 결정될 수도 있다. 306에서 묘사되는 재배열은, 예를 들면, 그룹을 반시계 방향으로 90도 회전시키는 것에 의해, 디스플레이 디바이스(112)의 회전에 대응하도록 그룹 내에 포함되는 그래픽을 그룹으로서 재배치할 수도 있다.
각각의 그룹의 개별적인 회전으로 인해, 특정한 그룹의 그래픽은, 한 그래픽씩 차례로, 배열에서와 동일한 패턴으로 재배열에서 표시될 수도 있다. 302 및 306 둘 다에서 나타나는 제1 그룹(308)을 예로 든다. 다시 말하면, 제1 그룹(308)의 그래픽은, 302에서 묘사되는 가로 방위 및 306에서 묘사되는 세로 방위 둘 다에서 서로에 대해 동일한 패턴을 갖는다. 그러나, 제1 그룹(308)의 그래픽은, 재배열(예를 들면, 상하) 및 배열(예를 들면, 좌우)에서 제2 그룹(310)의 그래픽에 대해 상이한 정렬을 갖는다.
재배열이 결정된 이후, 디스플레이 매니저(122)는, 유저 인터페이스의 렌더링이, 디스플레이 디바이스(112)를 통해 그래픽의 재배열을 표시하게 한다.
도 8은, 유저 인터페이스의 그래픽이 도 6 및 도 7에서와는 다른 기술에 따라 배열되는 예시적인 구현예에서의 프로시져(800)를 묘사하는 흐름도이다. 유저 인터페이스가 출력되는 디스플레이 디바이스에 대해, 디스플레이 변경 이벤트가 검출된다(블록 802). 유저 인터페이스는, 그래픽이 기저의 컨텐츠 아이템에 대한 선택가능한 액세스를 시각적으로 표현하고 가능하게 하는 그룹에 그래픽의 배열을 표시하도록 구성된다. 예를 들면, 디스플레이 매니저(122)는, 402에서 묘사되는 방위로부터 404에서 묘사되는 방위로의 디스플레이 디바이스의 회전에 대응하는 디스플레이 변경 이벤트를 검출한다.
디스플레이 변경 이벤트가 검출된 이후, 디스플레이 변경 이벤트에 대응하는 그래픽의 재배열이 결정된다(블록 804). 재배열은, 다른 그룹 내에 포함되는 그래픽에 대한 특정한 그룹 내에 포함되는 그래픽의 방위를 유지하도록 구성될 수도 있다. 추가적으로, 재배열은, 디스플레이 변경 이벤트에 대응하게끔 그래픽의 시각적으로 표현된 기저의 컨텐츠를 재배치하도록 구성될 수도 있다.
예를 들면, 디스플레이 매니저(122)는 406에서 묘사되는 그래픽의 재배열을 결정한다. 디스플레이 매니저(122)에 의해 결정되는 재배열은, 예를 들면, 그래픽(408)과 같은 각각의 그래픽의 방위를 유지하는 것에 의해, 다른 그룹 내에 포함되는 그래픽에 대한 특정한 그룹 내에 포함되는 그래픽의 방위를 유지할 수도 있다. 대신, 디스플레이 매니저(122)는, 402에서 묘사되는 방위로부터 404, 406에서 묘사되는 방위로의 디스플레이 디바이스(112)의 회전에 대응하도록 그래픽(408) 내의 컨텐츠를 회전시킨다.
상기 예시적인 프로시져를 고려하였으므로, 이제, 하나 이상의 실시형태에 따른 예시적인 시스템 및 디바이스를 고려한다.
예시적인 시스템 및 디바이스
도 9는, 본원에서 설명되는 다양한 기술을 구현할 수도 있는 하나 이상의 컴퓨팅 시스템 및/또는 디바이스를 나타내는 예시적인 컴퓨팅 디바이스(902)를 포함하는 예시적인 시스템을 900에서 일반적으로 예시하는데, 컴퓨팅 디바이스(902)는 디스플레이 매니저(122)의 포함을 통해 예시된다. 컴퓨팅 디바이스(902)는, 예를 들면, 서비스 공급자의 서버, 클라이언트와 관련되는 디바이스(예를 들면, 클라이언트 디바이스), 온칩(on-chip) 시스템, 및/또는 임의의 다른 적절한 컴퓨팅 디바이스 또는 컴퓨팅 시스템일 수도 있다.
예시된 바와 같은 예시적인 컴퓨팅 디바이스(902)는, 서로 통신 가능하게 커플링되는 프로세싱 시스템(904), 하나 이상의 컴퓨터 판독가능 매체(906), 및 하나 이상의 I/O 인터페이스(908)를 포함한다. 도시되지는 않았지만, 컴퓨팅 디바이스(902)는, 다양한 컴포넌트를 서로 커플링하는 시스템 버스 또는 다른 데이터 및 커맨드 전송 시스템을 더 포함할 수도 있다. 시스템 버스는, 메모리 버스 또는 메모리 컨트롤러, 주변장치 버스, 범용 직렬 버스, 및/또는 다양한 버스 아키텍쳐 중 임의의 것을 활용하는 프로세서 또는 로컬 버스와 같은 상이한 버스 구조 중 임의의 하나 또는 그 조합을 포함할 수 있다. 제어 및 데이터 라인과 같은 다양한 다른 예도 또한 기대된다.
프로세싱 시스템(904)은 하드웨어를 사용하여 하나 이상의 동작을 수행하는 기능성을 나타낸다. 따라서, 프로세싱 시스템(904)은, 프로세서, 기능적 블록 등등으로서 구성될 수도 있는 하드웨어 엘리먼트(910)를 포함하는 것으로 예시된다. 이것은 하드웨어의 구현예를, 주문형 반도체(application specific integrated circuit) 또는 하나 이상의 반도체를 사용하여 형성되는 다른 로직 디바이스로서, 포함할 수도 있다. 하드웨어 엘리먼트(910)는, 하드웨어 엘리먼트(910)를 형성하는 재료 또는 내부에서 활용되는 프로세싱 메커니즘에 의해 제한되지 않는다. 예를 들면, 프로세서는 반도체(들) 및/또는 트랜지스터(예를 들면, 전자 집적 회로(integrated circuit; IC))로 구성될 수도 있다. 이러한 맥락에서, 프로세서 실행가능 명령어는 전자적으로 실행가능한 명령어일 수도 있다.
컴퓨터 판독가능 저장 매체(906)는 메모리/스토리지(912)를 포함하는 것으로 예시된다. 메모리/스토리지(912)는 하나 이상의 컴퓨터 판독가능 매체와 관련되는 메모리/스토리지 용량을 나타낸다. 메모리/스토리지(912)는 휘발성 매체(예컨대 랜덤 액세스 메모리(random access memory; RAM)) 및/또는 불휘발성 매체(예컨대 리드 온리 메모리(read only memory; ROM), 플래시 메모리, 광학 디스크, 자기 디스크, 및 등등)를 포함할 수도 있다. 메모리/스토리지 컴포넌트(912)는 고정식 매체(예를 들면, RAM, ROM, 고정식 하드 드라이브, 및 등등)뿐만 아니라 착탈식 매체(예를 들면, 플래시 메모리, 착탈식 하드 드라이브, 광학 디스크, 및 등등)를 포함할 수도 있다. 컴퓨터 판독가능 매체(906)는 하기에서 더 설명되는 바와 같이 다양한 다른 방식으로 구성될 수도 있다.
입/출력 인터페이스(들)(908)는, 유저가 커맨드 및 정보를 컴퓨팅 디바이스(902)에 입력하는 것을 허용하는, 그리고 정보가 다양한 입/출력 디바이스를 사용하여 유저 및/또는 다른 컴포넌트 또는 디바이스로 제공되는 것을 또한 허용하는 기능성을 나타낸다. 입력 디바이스의 예는 키보드, 커서 제어 디바이스(예를 들면, 마우스), 마이크, 스캐너, 터치 기능성(예를 들면, 물리적 접촉을 검출하도록 구성되는 용량성 또는 다른 센서), 카메라(예를 들면, 카메라는 터치를 수반하지 않는 제스쳐로서 움직임을 인식하기 위해, 가시(visible) 또는 비가시(non-visible) 파장 예컨대 적외선 주파수를 활용할 수도 있다), 및 등등을 포함한다. 출력 디바이스의 예는 디스플레이 디바이스(예를 들면, 모니터 또는 프로젝터), 스피커, 프린터, 네트워크 카드, 촉각 반응 디바이스, 및 등등을 포함한다. 따라서, 컴퓨팅 디바이스(902)는 유저 상호작용을 지원하기 위해 하기에서 더 설명되는 바와 같이 다양한 방식으로 구성될 수도 있다.
소프트웨어, 하드웨어 엘리먼트, 또는 프로그램 모듈의 일반적인 맥락에서, 다양한 기술이 본원에서 설명될 수도 있다. 일반적으로, 이러한 모듈은, 특정 작업을 수행하는 또는 특정 추상 데이터 타입을 구현하는 루틴, 프로그램, 오브젝트, 엘리먼트, 컴포넌트, 데이터 구조 등등을 포함한다. 본원에서 사용되는 바와 같은 용어 "모듈", "기능성", 및 "컴포넌트"는 소프트웨어, 펌웨어, 하드웨어, 또는 이들의 조합을 일반적으로 나타낸다. 본원에서 설명되는 기술의 특징은 플랫폼 독립적인데, 그 기술이 다양한 프로세서를 구비하는 다양한 상업적 컴퓨팅 플랫폼 상에서 구현될 수도 있다는 것을 의미한다.
설명된 모듈 및 기술의 구현예는 몇몇 형태의 컴퓨터 판독가능 매체 상에 저장되거나 또는 몇몇 형태의 컴퓨터 판독가능 매체를 통해 전송될 수도 있다. 컴퓨터 판독가능 매체는, 컴퓨팅 디바이스(902)에 의해 액세스될 수도 있는 다양한 매체를 포함할 수도 있다. 비제한적인 예로서, 컴퓨터 판독가능 매체는 "컴퓨터 판독가능 저장 매체" 및 "컴퓨터 판독가능 신호 매체"를 포함할 수도 있다.
"컴퓨터 판독가능 저장 매체"는, 단순한 신호 전송, 반송파, 또는 신호 그 자체와는 대조적으로, 정보의 영구적인 및/또는 비일시적인 저장을 가능하게 하는 매체 및/또는 디바이스를 지칭할 수도 있다. 따라서, 컴퓨터 판독가능 저장 매체는 비 신호 베어링 매체(non-signal bearing media)를 가리킨다. 컴퓨터 판독가능 저장 매체는, 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 로직 엘리먼트/회로, 또는 다른 데이터와 같은 정보의 저장에 적합한 방법 또는 기술로 구현되는 휘발성 및 불휘발성의 착탈식 및 비착탈식 매체 및/또는 스토리지 디바이스와 같은 하드웨어를 포함한다. 컴퓨터 판독가능 저장 매체의 예는, RAM, ROM, EEPROM, 플래시 메모리 또는 다른 메모리 기술, CD-ROM, 디지털 다기능 디스크(digital versatile disks; DVD) 또는 다른 광학 스토리지, 하드 디스크, 자기 카세트, 자기 테이프, 자기 디스크 스토리지 또는 다른 자기 스토리지 디바이스, 또는 다른 스토리지 디바이스, 유형의(tangible) 매체, 또는 소망의 정보를 저장하기에 적합하며 컴퓨터에 의해 액세스될 수도 있는 제조 물품을 포함할 수도 있지만, 이들로 제한되는 것은 아니다.
"컴퓨터 판독가능 신호 매체"는, 예컨대 네트워크를 통해 명령어를 컴퓨팅 디바이스(902)의 하드웨어로 송신하도록 구성되는 신호 베어링 매체(signal-bearing medium)를 지칭할 수 있다. 신호 매체는 통상적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 변조된 데이터 신호, 예컨대 반송파, 데이터 신호, 또는 다른 전송 메커니즘에서의 다른 데이터를 구체화할 수도 있다. 신호 매체는 임의의 정보 전달 매체를 또한 포함한다. 용어 "변조된 데이터 신호"는, 자신의 특성 중 하나 이상이 신호에 정보를 인코딩하는 것과 같은 방식으로 설정되거나 변경된 신호를 의미한다. 비제한적인 예로서, 통신 매체는 유선 네트워크 또는 직결 접속과 같은 유선 매체, 및 무선 매체 예컨대 음향, RF, 적외선 및 다른 무선 매체를 포함한다.
앞서 설명된 바와 같이, 하드웨어 엘리먼트(910) 및 컴퓨터 판독가능 매체(906)는, 본원에서 설명되는 기술의 적어도 몇몇 양태를 구현하기 위해, 예컨대 하나 이상의 명령어를 수행하기 위해, 몇몇 실시형태에서 활용될 수도 있는 하드웨어 형태로 구현되는 모듈, 프로그래머블 디바이스 로직 및/또는 고정식 디바이스 로직을 나타낸다. 하드웨어 엘리먼트는 집적 회로 또는 온칩 시스템, 주문형 반도체(application-specific integrated circuit; ASIC), 필드 프로그래머블 게이트 어레이(field-programmable gate array; FPGA), 복합 프로그래머블 로직 디바이스(complex programmable logic device; CPLD), 및 실리콘 또는 다른 하드웨어 디바이스에서의 다른 구현예의 컴포넌트를 포함할 수도 있다. 이 맥락에서, 하드웨어는, 하드웨어에 의해 구현되는 명령어 및/또는 로직뿐만 아니라 실행을 위한 명령어를 저장하기 위해 활용되는 하드웨어, 예를 들면, 앞서 설명된 컴퓨터 판독가능 저장 매체에 의해 정의되는 프로그램 태스크를 수행하는 프로세싱 디바이스로서 동작할 수도 있다.
본원에서 설명되는 다양한 기술을 구현하기 위해, 상기의 조합이 또한 활용될 수도 있다. 따라서, 소프트웨어, 하드웨어, 또는 실행가능 모듈은, 몇몇 형태의 컴퓨터 판독가능 저장 매체 상에서 및/또는 하나 이상의 하드웨어 엘리먼트(910)에 의해 구현되는 하나 이상의 명령어 및/또는 로직으로서 구현될 수도 있다. 컴퓨팅 디바이스(902)는 소프트웨어 및/또는 하드웨어 모듈에 대응하는 특정 명령어 및/또는 기능을 구현하도록 구성될 수도 있다. 따라서, 소프트웨어로서 컴퓨팅 디바이스(902)에 의해 실행가능한 모듈의 구현예는, 예를 들면, 프로세싱 시스템(904)의 하드웨어 엘리먼트(910) 및/또는 컴퓨터 판독가능 저장 매체의 사용을 통해, 적어도 부분적으로 하드웨어로 달성될 수도 있다. 명령어 및/또는 기능은 본원에서 설명되는 기술, 모듈, 및 예를 구현하도록 하나 이상의 제조 물품(예를 들면, 하나 이상의 컴퓨팅 디바이스(902) 및/또는 프로세싱 시스템(904))에 의해 실행가능/동작가능할 수도 있다.
도 9에서 더 예시되는 바와 같이, 예시적인 시스템(900)은, 퍼스널 컴퓨터(personal computer; PC), 텔레비전 디바이스, 및/또는 모바일 디바이스 상에서 애플리케이션을 실행하고 있을 때 원활한 유저 경험을 위한 유비쿼터스 환경(ubiquitous environment)을 가능하게 한다. 서비스 및 애플리케이션은, 애플리케이션을 활용하는 동안, 비디오 게임을 플레이하는 동안, 비디오를 시청하는 동안, 및 등등의 동안, 한 디바이스에서 다음의 디바이스로 전이할 때 공통의 유저 경험을 위해 모든 세 개의 환경에서 실질적으로 유사하게 실행한다.
예시적인 시스템(900)에서, 다수의 디바이스는 중앙 컴퓨팅 디바이스를 통해 상호접속된다. 중앙 컴퓨팅 디바이스는 다수의 디바이스에 로컬일 수도 있거나 또는 다수의 디바이스로부터 원격에 위치될 수도 있다. 하나 이상의 실시형태에서, 중앙 컴퓨팅 디바이스는, 네트워크, 인터넷, 또는 다른 데이터 통신 링크를 통해 다수의 디바이스에 연결되는 하나 이상의 서버 컴퓨터의 클라우드일 수도 있다.
하나 이상의 실시형태에서, 이 상호접속 아키텍쳐(interconnection architecture)는 다수의 디바이스에 걸쳐 전달될 기능성이, 다수의 디바이스의 유저에게 공통의 그리고 원활한 경험을 제공하는 것을 가능하게 한다. 다수의 디바이스의 각각은 상이한 물리적 요건 및 성능을 구비할 수도 있으며, 중앙 컴퓨팅 디바이스는, 디바이스에 맞춤되면서도(tailored) 여전히 모든 디바이스에 대해 공통인 경험의 디바이스로의 전달을 가능하게 하는 플랫폼을 사용한다. 하나 이상의 실시형태에서, 목표 디바이스의 클래스가 생성되고 경험이 디바이스의 제너릭 클래스(generic class)에 맞춤된다. 디바이스의 클래스는 디바이스의 물리적 피쳐, 사용의 타입, 또는 다른 공통의 특성에 의해 정의될 수도 있다.
다양한 구현예에서, 컴퓨팅 디바이스(902)는, 예컨대 컴퓨터(914), 모바일(916), 및 텔레비전(918) 용도에 대해, 다양하고 상이한 구성을 취할 수도 있다. 이들 구성의 각각은, 일반적으로 상이한 구조 및 성능을 가질 수도 있는 디바이스를 포함하며, 따라서 컴퓨팅 디바이스(902)는 상이한 디바이스 클래스 중 하나 이상에 따라 구성될 수도 있다. 예를 들면, 컴퓨팅 디바이스(902)는, 퍼스널 컴퓨터, 데스크탑 컴퓨터, 멀티스크린 컴퓨터, 랩탑 컴퓨터, 넷북 등등을 포함하는 디바이스의 컴퓨터(914) 클래스로서 구현될 수도 있다.
컴퓨팅 디바이스(902)는, 모바일 디바이스, 예컨대 이동 전화, 휴대형 음악 플레이어, 휴대형 게임용 디바이스, 태블릿 컴퓨터, 멀티스크린 컴퓨터, 및 등등을 포함하는 디바이스의 모바일(916) 클래스로서 또한 구현될 수도 있다. 컴퓨팅 디바이스(902)는, 일상적인(casual) 시청 환경에서 일반적으로 더 큰 스크린을 갖는 또는 더 큰 스크린에 연결되는 디바이스를 포함하는 디바이스의 텔레비전(918) 클래스로서 또한 구현될 수도 있다. 이들 디바이스는 텔레비전, 셋탑 박스, 게임용 콘솔 등등을 포함한다.
본원에서 설명되는 기술은 컴퓨팅 디바이스(902)의 이들 다양한 구성에 의해 지원될 수도 있으며 본원에서 설명되는 기술의 특정 예로 제한되지는 않는다. 이 기능성은, 모두 또는 부분적으로, 분산형 시스템의 사용을 통해, 예컨대 하기에서 설명되는 바와 같이 플랫폼(922)을 통한 "클라우드"(920)를 통해 구현될 수도 있다.
클라우드(920)는 리소스(924)에 대한 플랫폼(922)을 포함하고/하거나 플랫폼(922)을 나타낸다. 플랫폼(922)은 클라우드(920)의 하드웨어(예를 들면, 서버) 및 소프트웨어 리소스의 기저의 기능성을 추상화한다. 리소스(924)는, 컴퓨팅 디바이스(902)로부터 원격인 서버 상에서 컴퓨터 프로세싱이 실행되고 있는 동안 활용될 수 있는 애플리케이션 및/또는 데이터를 포함할 수도 있다. 리소스(924)는 인터넷을 통해 및/또는 가입자 네트워크, 예컨대 셀룰러 또는 와이파이 네트워크를 통해 제공되는 서비스를 또한 포함할 수 있다.
플랫폼(922)은 컴퓨팅 디바이스(902)를 다른 컴퓨팅 디바이스와 연결하는 리소스 및 기능을 추상화할 수도 있다. 플랫폼(922)은, 플랫폼(922)을 통해 구현되는 리소스(924)에 대한 조우되는 요구에 대해 대응하는 레벨의 스케일을 제공하기 위해, 리소스의 스케일링을 추상화하도록 또한 기능할 수도 있다. 따라서, 상호접속된 디바이스 실시형태에서, 본원에서 설명되는 기능성의 구현예는 시스템(900) 전체에 걸쳐 분산될 수도 있다. 예를 들면, 기능성은 컴퓨팅 디바이스(902) 상에서 뿐만 아니라 클라우드(920)의 기능성을 추상화하는 플랫폼(922)을 통해서도 부분적으로 구현될 수도 있다.
결론
비록 예시적인 구현예가 구조적 피쳐 및/또는 방법론적 액트(act)에 고유한 언어로 설명되었지만, 첨부된 특허청구범위에서 정의되는 구현예는 설명되는 특정한 피쳐 또는 액트에 반드시 제한되지는 않는다는 것이 이해되어야 한다. 대신, 특정한 피쳐 및 액트는 청구된 피쳐를 구현하는 예시적인 형태로서 개시된다.

Claims (15)

  1. 컴퓨팅 디바이스로서,
    프로세싱 시스템과,
    상기 프로세싱 시스템을 통해 그래픽의 배열을 제어하도록 실행가능한 디스플레이 매니저 모듈을 구비하며,
    상기 디스플레이 매니저 모듈은,
    디스플레이를 위한 유저 인터페이스를 디스플레이 디바이스를 통해 출력하도록 - 상기 유저 인터페이스는, 기저의(underlying) 컨텐츠 아이템들에 대한 선택가능한 액세스를 시각적으로 표현하고 가능하게 하는 그래픽의 상기 배열을, 상기 디스플레이 디바이스의 방위에 무관하게 부과되는 미리 정의된 사이즈 제약들을 갖는 하나 이상의 그룹에서 표시하도록 구성됨 -,
    상기 디스플레이 디바이스의 회전을 나타내는 입력을 검출하도록,
    상기 입력의 검출에 응답하여,
    상기 회전에 대응하는 상기 그래픽의 재배열 - 상기 재배열은 상기 하나 이상의 그룹을 유지하도록 그리고 상기 회전에 대응하게끔 상기 하나 이상의 그룹 내에 포함되는 상기 그래픽을 재배치(reposition)하도록 구성됨 - 을 자동적으로 결정하도록,
    상기 하나 이상의 그룹 내에 포함되는 상기 그래픽의 재배치가 상기 재배열을 구현하게 하도록
    구성되는 것인 컴퓨팅 디바이스.
  2. 제1항에 있어서,
    상기 미리 정의된 사이즈 제약은 상기 하나 이상의 그룹의 각각의 폭을 제한하는 것인, 컴퓨팅 디바이스.
  3. 제1항에 있어서,
    상기 미리 정의된 사이즈 제약은 상기 하나 이상의 그룹의 각각의 폭을 제한하지 않는 것인, 컴퓨팅 디바이스.
  4. 제1항에 있어서,
    상기 미리 정의된 사이즈 제약은 상기 하나 이상의 그룹의 각각의 높이를 제한하지 않는 것인, 컴퓨팅 디바이스.
  5. 제1항에 있어서,
    상기 미리 정의된 사이즈 제약은 상기 하나 이상의 그룹의 각각의 높이를 제한하는 것인, 컴퓨팅 디바이스.
  6. 제1항에 있어서,
    상기 디스플레이 매니저 모듈은 또한, 상기 배열에서의 다른 그래픽에 대한 상기 그래픽의 포지션에 기초하여 상기 그래픽의 우선 순위들을 결정하도록 실행가능하고 상기 그래픽은 상기 결정된 우선 순위들에 부분적으로 기초하여 상기 재배열에서 재배치되는 것인, 컴퓨팅 디바이스.
  7. 제1항에 있어서,
    상기 그래픽의 상기 배열은, 상기 그래픽을 상기 그룹들 내에 배열하기 위해 유저 입력이 마지막으로 수신되었던 상기 디스플레이 디바이스의 방위에 대해 정의되는 것인, 컴퓨팅 디바이스.
  8. 제7항에 있어서,
    상기 그룹들 내에 상기 그래픽을 배열하기 위해 마지막으로 수신되었던 상기 유저 입력은, 상기 그룹들 내에 상기 그래픽을 배치하기 위한 또는 상기 그룹들 내에서 상기 그래픽을 리사이징하기 위한 입력 중 적어도 하나를 포함하는 것인, 컴퓨팅 디바이스.
  9. 제7항에 있어서,
    상기 그룹들 내에 상기 그래픽을 배치하기 위해 상기 유저 입력이 마지막으로 수신되었던 상기 방위는, 상기 디스플레이 디바이스의 세로 방위 또는 가로 방위 중 하나를 포함하는 것인, 컴퓨팅 디바이스.
  10. 제9항에 있어서,
    상기 그래픽의 상기 재배열은, 상기 세로 방위 또는 상기 가로 방위 중 어느 것이든, 상기 그룹들 내에 상기 그래픽을 배치하기 위해 상기 유저 입력이 마지막으로 수신되었던 상기 마지막 방위가 아니었던 경우에 결정되는 것인, 컴퓨팅 디바이스.
  11. 제1항에 있어서,
    상기 디스플레이 매니저 모듈은 또한,
    상기 디스플레이 디바이스의 다른 회전 - 상기 다른 회전은, 상기 회전이 상기 디스플레이 디바이스를 회전시켰던 방위로 상기 디스플레이 디바이스를 다시 회전시킴 - 을 나타내는 추가적인 입력을 검출하도록,
    상기 추가적인 입력의 검출에 응답하여, 상기 그래픽의 상기 배열에 따라 상기 그래픽을 표시하기 위해 상기 그래픽의 상기 재배열로부터 상기 그래픽을 재배치하도록
    실행가능한 것인, 컴퓨팅 디바이스.
  12. 제1항에 있어서,
    상기 디스플레이 매니저 모듈은 또한,
    상기 유저 인터페이스가 출력되는 상기 디스플레이 디바이스에 대한 변경을 나타내는 입력을 검출하도록,
    상기 변경을 나타내는 상기 입력의 검출에 응답하여, 상기 디스플레이 디바이스의 상기 변경에 대응하는 다른 재배열 - 상기 다른 재배열은 상기 하나 이상의 그룹을 유지하도록 그리고 상기 디스플레이 디바이스의 상기 변경에 대응하게끔 상기 하나 이상의 그룹 내에 상기 그래픽을 재배치하도록 구성됨 - 을 자동적으로 결정하도록,
    상기 프로세싱 시스템에 의한 상기 유저 인터페이스의 렌더링이, 상기 변경된 디스플레이 디바이스를 통해 상기 그래픽의 상기 다른 재배열을 표시하게 하도록
    실행가능한 것인, 컴퓨팅 디바이스.
  13. 유저 인터페이스에서 그래픽의 배열을 제어하기 위한 컴퓨터 구현 방법으로서,
    상기 유저 인터페이스가 출력되는 디스플레이 디바이스를 통해 상기 유저 인터페이스 - 상기 유저 인터페이스는, 기저의 컨텐츠 아이템들에 대한 선택가능한 액세스를 시각적으로 표현하고 가능하게 하는 그래픽의 상기 배열을 하나 이상의 그룹에 표시하도록 구성됨 - 의 일부가 보일 수 있는 뷰잉 창(viewing pane)의 수정을 나타내는 입력을 검출하는 단계와,
    상기 입력의 검출에 응답하여, 상기 뷰잉 창의 상기 수정에 대응하는 상기 그래픽의 재배열을 자동적으로 결정하는 단계와,
    상기 뷰잉 창의 상기 수정에 대응하도록 상기 그룹들 내에 포함되는 상기 그래픽의 그룹들으로서의 재배치;
    각각의 특정한 그룹의 그래픽을, 한 그룹씩 차례로, 상기 배열에서와 동일한 패턴으로 배열하는 것; 및
    상기 배열에서의 상기 그룹들의 정렬에 대하여, 상기 그룹들을 서로에 대한 상이한 정렬로 회전시키는 것
    을 포함하는 상기 재배열을 구현하기 위한 동작을 야기하는 단계를 포함하는, 컴퓨터 구현 방법.
  14. 제13항에 있어서,
    상기 그래픽의 상기 재배열을 상기 디스플레이 디바이스를 통해 표시하기 위해 상기 배열의 표시로부터 전이(transition)하는 애니메이션의 렌더링을 야기하는 단계를 더 포함하는, 컴퓨터 구현 방법.
  15. 제13항에 있어서,
    상기 유저 인터페이스는, 수평 또는 수직 방향 중 적어도 하나에서의 연속적인 스크롤로 하여금, 상기 유저 인터페이스의 다른 부분이 상기 뷰잉 창을 통해 보일 수 있게 하는 것을 가능하게 하도록 구성되는 것인, 컴퓨터 구현 방법.
KR1020177007033A 2014-08-14 2015-08-11 그룹 기반의 유저 인터페이스 재배열 KR20170042350A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/459,826 2014-08-14
US14/459,826 US20160048305A1 (en) 2014-08-14 2014-08-14 Group-Based User Interface Rearrangement
PCT/US2015/044546 WO2016025418A1 (en) 2014-08-14 2015-08-11 Group-based user interface rearrangement

Publications (1)

Publication Number Publication Date
KR20170042350A true KR20170042350A (ko) 2017-04-18

Family

ID=53938413

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177007033A KR20170042350A (ko) 2014-08-14 2015-08-11 그룹 기반의 유저 인터페이스 재배열

Country Status (6)

Country Link
US (1) US20160048305A1 (ko)
EP (1) EP3180686A1 (ko)
JP (1) JP2017525056A (ko)
KR (1) KR20170042350A (ko)
CN (1) CN106605198A (ko)
WO (1) WO2016025418A1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190017614A (ko) * 2017-08-11 2019-02-20 삼성전자주식회사 디스플레이를 회전함에 따라 컨텐츠를 시각화 하는 디스플레이 장치 및 이의 제어 방법
WO2021210773A1 (ko) * 2020-04-14 2021-10-21 삼성전자(주) 전자장치 및 그 제어방법
US11402981B2 (en) 2017-08-11 2022-08-02 Samsung Electronics Co., Ltd. Display device for visualizing contents as the display is rotated and control method thereof
WO2024014687A1 (ko) * 2022-07-15 2024-01-18 삼성전자주식회사 전자 장치 및 그 ui 제공 방법

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150356877A1 (en) * 2014-06-06 2015-12-10 Catherine Ann Downey Visual organization architecture system
US10304163B2 (en) * 2014-09-08 2019-05-28 Apple Inc. Landscape springboard
US9933915B2 (en) * 2014-11-03 2018-04-03 Snap-On Incorporated Methods and systems for displaying vehicle data parameter graphs in different display orientations
JP7413673B2 (ja) * 2019-07-26 2024-01-16 コニカミノルタ株式会社 画像形成装置及び表示制御方法
US11422673B2 (en) * 2020-06-12 2022-08-23 Samsung Electronics Co., Ltd. Electronic apparatus and control method thereof
US11803689B2 (en) * 2020-08-05 2023-10-31 Microstrategy Incorporated System and method for dossier creation with responsive view handling for free-form layout
JP1738171S (ja) * 2022-02-22 2023-03-03 X線ct装置

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004246582A (ja) * 2003-02-13 2004-09-02 Canon Inc 電子文書又はファイルの表示装置
US7730422B2 (en) * 2006-01-25 2010-06-01 Microsoft Corporation Smart icon placement across desktop size changes
US7661290B2 (en) * 2007-07-20 2010-02-16 Honeywell International Inc. Gas sensor test and calibration system
JP5055098B2 (ja) * 2007-12-06 2012-10-24 キヤノン株式会社 画像表示システム、情報処理装置、その制御方法及びプログラム
HUP0700826A3 (en) * 2007-12-20 2010-03-29 Richter Gedeon Nyrt Coated tablet containing drospirenone and process for producing the same
JP2009181501A (ja) * 2008-01-31 2009-08-13 Toshiba Corp 移動通信機器
US8266550B1 (en) * 2008-05-28 2012-09-11 Google Inc. Parallax panning of mobile device desktop
EP2175343A1 (en) * 2008-10-08 2010-04-14 Research in Motion Limited A method and handheld electronic device having a graphical user interface which arranges icons dynamically
DE102008063871A1 (de) * 2008-12-19 2010-07-01 Robert Bosch Gmbh Stationäre Energiegewinnungsanlage mit einer Steuereinrichtung und Verfahren zur Steuerung derselben
JP2010165201A (ja) * 2009-01-16 2010-07-29 Canon Inc レイアウト装置、レイアウト方法、及びレイアウトプログラム
US20100281481A1 (en) * 2009-04-30 2010-11-04 Nokia Corporation Apparatus and method for providing a user interface within a computing device
US8656314B2 (en) * 2009-07-30 2014-02-18 Lenovo (Singapore) Pte. Ltd. Finger touch gesture for joining and unjoining discrete touch objects
US20120017996A1 (en) * 2009-08-28 2012-01-26 Rainsaucers, Inc. Device for portably harvesting rainwater
CN102834843B (zh) * 2010-04-02 2016-11-16 诺基亚技术有限公司 用于面部检测的方法和装置
US8769434B2 (en) * 2010-08-11 2014-07-01 Nike, Inc. Intelligent display of information in a user interface
KR20120080922A (ko) * 2011-01-10 2012-07-18 삼성전자주식회사 디스플레이 장치 및 그 디스플레이 방법
TW201232379A (en) * 2011-01-20 2012-08-01 Chi Mei Comm Systems Inc Menu icon adjustment system and method
US8633648B2 (en) * 2011-06-28 2014-01-21 Recarbon, Inc. Gas conversion system
US8872855B2 (en) * 2011-07-21 2014-10-28 Flipboard, Inc. Adjusting orientation of content regions in a page layout
KR101793999B1 (ko) * 2011-07-22 2017-11-06 삼성전자주식회사 휴대용 단말기에서 사용자 인터페이스 객체를 배치하는 방법 및 장치
US8930839B2 (en) * 2011-11-22 2015-01-06 Yahoo! Inc. Automatically arranging of icons on a user interface
JP5813476B2 (ja) * 2011-11-22 2015-11-17 株式会社ソニー・コンピュータエンタテインメント 電子機器およびタッチ操作処理方法
KR20130097267A (ko) * 2012-02-24 2013-09-03 삼성전자주식회사 휴대 단말기의 콘텐츠 뷰 표시 방법 및 장치
JP5972629B2 (ja) * 2012-03-27 2016-08-17 京セラ株式会社 装置、方法、及びプログラム
JP5947626B2 (ja) * 2012-06-12 2016-07-06 キヤノン株式会社 入力表示装置、その制御方法、プログラム、及び印刷装置
KR101822463B1 (ko) * 2013-01-21 2018-01-26 삼성전자주식회사 복수 개의 아이콘들을 화면상에 배치하는 장치 및 이의 운용 방법

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190017614A (ko) * 2017-08-11 2019-02-20 삼성전자주식회사 디스플레이를 회전함에 따라 컨텐츠를 시각화 하는 디스플레이 장치 및 이의 제어 방법
US11250544B2 (en) 2017-08-11 2022-02-15 Samsung Electronics Co., Ltd. Display device for visualizing contents as the display is rotated and control method thereof
US11402981B2 (en) 2017-08-11 2022-08-02 Samsung Electronics Co., Ltd. Display device for visualizing contents as the display is rotated and control method thereof
WO2021210773A1 (ko) * 2020-04-14 2021-10-21 삼성전자(주) 전자장치 및 그 제어방법
WO2024014687A1 (ko) * 2022-07-15 2024-01-18 삼성전자주식회사 전자 장치 및 그 ui 제공 방법

Also Published As

Publication number Publication date
CN106605198A (zh) 2017-04-26
JP2017525056A (ja) 2017-08-31
EP3180686A1 (en) 2017-06-21
CN106605198A8 (zh) 2017-07-07
US20160048305A1 (en) 2016-02-18
WO2016025418A1 (en) 2016-02-18

Similar Documents

Publication Publication Date Title
US10996822B2 (en) Control of item arrangement in a user interface
KR20170042350A (ko) 그룹 기반의 유저 인터페이스 재배열
JP6151242B2 (ja) イマーシブアプリケーションとしてのデスクトップ
KR102298602B1 (ko) 확장가능한 애플리케이션 표시
US9886181B2 (en) Scrollbar for dynamic content
US20160034153A1 (en) Icon Resizing
US20140298219A1 (en) Visual Selection and Grouping
JP6151248B2 (ja) イマーシブシェルとデスクトップシェルの表示
KR20160143752A (ko) 확장가능한 애플리케이션 표시 및 태스크바
US9785310B2 (en) Control of addition of representations to an application launcher
KR20160140932A (ko) 확장 가능한 애플리케이션 표시 및 콘텐트 전송
EP3238019B1 (en) Least disruptive icon displacement
US20160048294A1 (en) Direct Access Application Representations
KR102378955B1 (ko) 애플리케이션 런처 크기조정