KR102257262B1 - 적응형 사용자 인터페이스 창 관리자 - Google Patents

적응형 사용자 인터페이스 창 관리자 Download PDF

Info

Publication number
KR102257262B1
KR102257262B1 KR1020167030624A KR20167030624A KR102257262B1 KR 102257262 B1 KR102257262 B1 KR 102257262B1 KR 1020167030624 A KR1020167030624 A KR 1020167030624A KR 20167030624 A KR20167030624 A KR 20167030624A KR 102257262 B1 KR102257262 B1 KR 102257262B1
Authority
KR
South Korea
Prior art keywords
window
persistent
application
canvas
displayed
Prior art date
Application number
KR1020167030624A
Other languages
English (en)
Other versions
KR20160141807A (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 KR20160141807A publication Critical patent/KR20160141807A/ko
Application granted granted Critical
Publication of KR102257262B1 publication Critical patent/KR102257262B1/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/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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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

Abstract

사용자 인터페이스 내의 애플리케이션 캔버스와 관련하여 창들을 자동으로 관리하는 시스템에 대한 실시예를 제시한다. 이 시스템은 최소량의 사용자 콘텐츠를 보이게 유지하면서 창에 대한 액세스를 제공하는 애플리케이션과 함께 동작하는 창 관리자를 포함한다. 이 시스템은 애플리케이션이 보호된 캔버스 크기를 정의할 수 있게 한다. 창이 필요할 때, 시스템은 그 창을 위한 충분한 공간이 있는지 또는 다른 창을 제거해서 그러한 공간을 만들 수 있는지를 결정한다. 그러한 공간이 있다면, 창이 추가된다. 그러한 공간이 없으면, 창은 일시적인 방식으로 디스플레이될 수 있다. 이 시스템은 또한 사용자 인터페이스 크기 변경에 반응한다. 사용자 인터페이스 크기가, 기존의 창들을 위한 충분한 공간이 더 이상 사용가능하지 않는 지점까지 작아지면, 기존의 창들 중 하나 이상의 창이 제거된다.

Description

적응형 사용자 인터페이스 창 관리자{ADAPTIVE USER INTERFACE PANE MANAGER}
많은 사용자 인터페이스는 창(pane)을 이용하여 애플리케이션 기능 및 정보를 사용자에게 보여준다. 창들은 흔히 애플리케이션의 특정한 특징이나 기능에 전용으로 사용된다. 사용자가 소정의 창에 의해 지원되는 특징이나 기능을 이용하는 작업을 수행할 때, 그 창이 사용자 인터페이스에 추가된다. 사용자 인터페이스에서, 창들은 주 애플리케이션 콘텐츠를 유지하는 애플리케이션 캔버스와 공간을 공유해야 한다. 창들이 유용하긴 하지만 이들 창은 애플리케이션 캔버스의 사용가능 공간을 줄인다.
제한이 없다면, 창들이 사용자 인터페이스를 점유해나가서, 애플리케이션 캔버스를 위한 공간을 거의 남기지 않을 수 있다. 종래의 창 관리에 대한 한 방법은 관리하지 않고 사용자가 창 관리를 담당하도록 내버려두는 것이다. 창들은 단순히 사용자에 의해 열려서 사용자가 직접 닫을 때까지 유지된다. 사용자가 열린 창들의 크기를 선택적으로 조정할 수도 있지만, 저해상도 또는 작은 폼팩터를 갖는 장치 및 터치 기반 인터페이스는 흔히 창을 사용가능한 크기 및 최대 화면 사용으로 유지하는데 필요한 정확한 입력 응답을 제공할 수 없다. 그러한 정확성이 가능할 때에도, 창을 관리하는 노력은 사용자 경험을 떨어뜨린다.
창 관리에 대한 다른 종래의 방법은 창의 개수에 하드코딩된(hard-coded) 제한을 두는 것이었다. 하드코딩된 제한은 모든 상황에 적절하지는 않고 디스플레이 구성(display configuration)과 같은 요소를 고려하지 않는다. 충분한 디스플레이 영역이 사용가능할 때, 하드코딩된 개수는 사용자가 원하는 창의 총 개수를 불필요하게 제한할 수 있다. 반면에, 제한된 디스플레이 영역이 사용가능할 때에는, 창의 개수에 대한 실용적 제한이 하드코딩된 개수보다 더 작을 수 있다.
본원은 이러한 점들 및 다른 점들을 고려하여 안출되었다. 비교적 특정한 문제점들을 논의하였지만, 본 명세서에 기술된 실시예들은 본 배경기술에서 밝힌 특정한 문제를 해결하는 것으로 제한되지 않는다.
본 개요는 후속하여 발명의 상세한 설명 부분에서 설명되는 개념들 중 선택된 것들을 단순화된 형태로 소개하고자 제공되는 것이다. 본 개요는 청구항의 청구대상의 핵심적인 특징이나 필수적인 특징들을 밝히고자 함이 아니며, 청구항의 청구대상의 범위를 결정하는 데 도움이 되고자 함도 아니다.
사용자 인터페이스 내 애플리케이션과 관련하여 창을 자동으로 관리하는 시스템의 면면들은 적어도 처리 장치, 메모리 및 디스플레이를 구비하는 컴퓨팅 장치를 포함한다. 이들 시스템은, 디스플레이 구성을 변경하거나, 애플리케이션 윈도우의 크기를 바꾸거나 또는 디스플레이의 배향을 바꾸는 것(reorienting)과 같이, 캔버스 크기에 영향을 줄 수 있는 이벤트가 언제 일어나는지를 판단하는데, 이러한 이벤트는 결국 창 관리 또는 창을 열거나 닫는 것에 영향을 미칠 수 있다. 그러한 이벤트가 일어날 때, 시스템은, 보호된 캔버스 크기 및 현재 애플리케이션의 사용자 인터페이스 크기 등을 포함할 수 있는 정보를 수집한다.
시스템은, 현재 열려있지 않은 창을 열도록 요청받았을 때, 보호된 캔버스 크기를 유지하면서 새로운 창을 추가할 수 있는지 결정한다. 새로운 창이 사용가능한 공간에 맞으면(fit), 시스템은 새로운 창을 지속(persistent) 창으로서 연다. 새로운 창이 맞지 않으면, 시스템은 임의의 지속 창이 현재 열려 있다고 판단한다. 지속 창이 열려 있지 않으면, 시스템은 새로운 창을 지속 창 말고 임시(transient) 창으로서 연다. 하나보다 많은 창이 열려 있으면, 시스템은 우선순위가 가장 낮은 지속 창을 닫는다. 하나의 지속 창만 열려 있고 열린 창이 비임계이면(non-critical), 시스템은 지속 창을 새로운 창으로 교체한다. 하나의 열린 창이 임계(critical) 창이면, 시스템은 이 임계 창을 일시적으로 닫을 수 있다(즉, 일시정지할 수 있다). 열려있는 비임계 창을 닫거나 임계 창을 일시정지함으로써 공간이 확보되면, 시스템은 새로운 창을 지속 창으로서 연다.
시스템은, 현재 열려 있는 창을 닫도록 요청받거나 UI 크기가 커질 때, 복원될 창에 대해 충분한 공간이 확보되면 자동으로 닫힌 창을 복원하려고 시도한다. 캔버스의 크기가 보호된 캔버스 크기보다 작은 지점까지 UI의 크기가 줄어들면, 시스템은, 보호된 캔버스 크기에 도달하거나 모든 창이 닫힐 때까지 우선순위가 가장 낮은 창을 차례로 닫는다. 창들을 관리한 후에, 시스템은 캔버스의 크기를 조정하고 콘텐츠를 적절히 리플로우(reflow)하고/하거나 줌잉(zoom)한다.
본원의 추가적인 특징, 측면 및 이점은 첨부 도면을 참고하면 보다 잘 이해할 수 있을 것인데, 도면에서, 세부사항을 보다 명확히 보여주기 위해 구성요소들은 축척하지 않았으며, 몇몇 도면에서 유사한 참조번호는 유사한 구성요소를 나타낸다.
도 1은 애플리케이션의 사용자 인터페이스 내 애플리케이션과 관련하여 창을 자동으로 관리하는 시스템을 도시한 블록도이다.
도 2a 및 2b는 사용자 인터페이스 내 애플리케이션과 관련하여 창을 자동으로 관리하는 방법의 일실시예의 고수준 흐름도를 도시한 것이다.
도 2c는 임시 창 열기 동작의 일실시예를 자세히 보여주는 고수준 흐름도를 도시한 것이다.
도 2d는 임계 창 일시정지 검사 동작의 일실시예를 자세히 보여주는 고수준 흐름도를 도시한 것이다.
도 3a 내지 3e는 가로 방향의 고해상도 모니터에서 실행중인 애플리케이션에 대한 창 관리 순서의 일실시예를 도시한 것이다.
도 3f 내지 3i는 가로 방향의 고해상도 모니터에서 실행중인 애플리케이션에 대한 임계 창을 포함하는 창 관리 순서의 일실시예를 도시한 것이다.
도 4a 내지 4g는 저해상도 태블릿에서 실행중인 애플리케이션에 대한 창 관리 순서의 일실시예를 도시한 것이다.
도 5는 본원의 실시예들을 실시하는데 이용할 수 있는 컴퓨팅 장치의 물리적 컴포넌트의 일실시예를 도시한 블록도이다.
도 6a 내지 6b는 본원의 실시예들을 실시하는데 이용할 수 있는 모바일 컴퓨팅 장치를 단순화한 블록도이다.
도 7은 본원의 실시예들이 실시될 수 있는 분산 컴퓨팅 시스템을 단순화한 블록도이다.
이하에서는, 본 명세서의 일부를 형성하며 특정한 예시적인 실시예를 보여주는 첨부 도면을 참고하여 다양한 실시예들을 설명한다. 그러나, 실시예들은 다양한 형태로 구현될 수 있으며, 본 명세서에 개시된 실시예들로 한정되는 것으로 해석해서는 안 되고, 오히려, 이들 실시예는 본원이 완전하고 완벽하도록 그리고 실시예들의 범위를 당업자에게 충분히 전달하도록 제공된다. 실시예들은 방법, 시스템 또는 장치로서 실시될 수 있다. 따라서, 실시예들은 하드웨어 구현, 온전한 소프트웨어 구현 또는 소프트웨어와 하드웨어 특징을 조합한 구현 형태를 취할 수 있다. 그러므로, 다음의 상세한 설명은 제한적인 의미로 받아들여서는 안 된다.
사용자 인터페이스 내 애플리케이션 캔버스와 관련하여 창을 자동으로 관리하는 시스템의 실시예가 본 명세서에서 설명되며 첨부한 도면에 도시되어 있다. 이 시스템은 애플리케이션과 함께 동작하여, 적어도 최소량의 사용자 콘텐츠를 보이게 유지하면서 창에 대한 액세스를 제공하는 창 관리자를 포함한다. 시스템은 애플리케이션이 보호된 캔버스 크기를 정의할 수 있게 한다. 창이 필요할 때, 시스템은 그 창을 위한 충분한 공간이 있는지 또는 다른 창을 제거(dismiss)함으로써 그러한 공간이 생성될 수 있는지의 여부를 판단한다. 만약 공간이 있다면 창이 추가된다. 만약 공간이 없다면, 창이 일시적 방식(temporary manner)으로 디스플레이될 수 있다. 시스템은 또한 사용자 인터페이스 크기의 변화에 반응한다. 사용자 인터페이스 크기가 기존의 창들을 위한 충분한 공간이 더 이상 사용가능하지 않는 지점까지 감소하면, 기존의 창들 중 하나 이상이 제거된다.
본원의 실시예는 단지 참고의 표준 프레임을 제공하기 위해 통상의 사용자 인터페이스 레이아웃에 관해 설명되지만, 본원은 통상의 사용자 인터페이스 레이아웃에 제한되지 않는다. 따라서, 특정 배향(예컨대, 수평, 수직, 가로, 세로 등), 방향(예컨대, 상하좌우), 위치(예컨대, 상단(top), 하단(bottom), 측면, 위, 아래, 앞, 뒤 등), 차원(예컨대, 높이, 폭 등)의 사용이 그 특정 배향, 방향, 위치 또는 차원으로 제한되는 것으로 해석해서는 안 된다.
도 1은 애플리케이션의 사용자 인터페이스 내의 창을 자동으로 관리하는 시스템을 도시한 블록도이다. 시스템(100)은 사용 중인 장치의 디스플레이 특성 및 현재의 사용자 인터페이스 특성(예컨대, 캔버스 크기, 열린 창들의 개수 등)에 기초하여 애플리케이션(106)의 사용자 인터페이스(104) 내의 창들의 디스플레이를 관리하는 창 관리자(102)를 포함한다. 창 관리자(102), 사용자 인터페이스(104), 애플리케이션(106)은 컴퓨팅 장치(108)에서 실행된다. 컴퓨팅 장치는 다양한 작업을 수행하는 애플리케이션을 실행하는 다양한 유형의 컴퓨팅 장치(예컨대, 태블릿 컴퓨팅 장치, 데스크탑 컴퓨터, 모바일 통신 장치, 랩탑 컴퓨터, 랩탑/태블릿 하이브리드 컴퓨팅 장치, 대화면 멀티터치 디스플레이, 게이밍 장치, 스마트 텔레비전 또는 다른 유형의 컴퓨팅 장치) 중 하나일 수 있다.
사용자(110)는, 예를 들어 기록, 계산, 그리기, 편성, 프리젠테이션 준비, 전자 메일 송수신, 노트 작성 및 정리, 음악 연주 등 다양한 작업을 위해 컴퓨팅 장치 상의 애플리케이션을 활용할 수 있다. 애플리케이션은 컴퓨팅 장치에 로컬로 저장될 수 있는 씩 클라이언트 애플리케이션(thick client application) 또는 원격 서버에 상주하며 인터넷이나 인터라넷과 같은 네트워크를 통해 액세스가능할 수 있는 씬(thin) 클라이언트 애플리케이션(즉, 웹 애플리케이션)을 포함할 수 있다. 씬 클라이언트 애플리케이션은 브라우저에 의해 제어되는 환경에서 호스트되거나 또는 브라우저가 지원하는 언어로 코딩될 수 있으며, 컴퓨팅 장치에서 실행가능한 애플리케이션을 렌더링하는 공통의 웹 브라우저에 의존할 수 있다. 컴퓨팅 장치는 (터치 스크린 디스플레이를 포함할 수 있는)디스플레이(120)에 나타내기 위한 콘텐츠를 수신하도록 구성될 수 있다.
애플리케이션은 사용자(110)가 포인팅 장치(예컨대, 마우스, 펜/스타일러스 등)를 사용할 수 있게 하고/하거나 센서(112)(예컨대, 터치 센서, 가속도계, 호버, 얼굴 인식, 음성 인식, 광 센서, 근접 센서, 자이로스코프, 경사 센서, GPS 등)를 이용할 수 있게 하도록 구성될 수 있다. 콘텐츠는 애플리케이션 캔버스(116)에 디스플레이될 수 있다. 사용자 인터페이스는 복수의 선택가능한 기능 제어부 및 요소를 포함하는 하나 이상의 선택적으로 디스플레이가능한 창(118)을 포함할 수 있다. 창 관리자는, 디스플레이에서 애플리케이션 캔버스를 위한 최소량의 공간을 확보하기 위해 애플리케이션에 의해 제공된 구성(122)에 기초하여 창의 디스플레이를 자동으로 제어한다.
도 2a 및 2b는 사용자 인터페이스 내 애플리케이션 캔버스와 관련하여 자동으로 창을 관리하는 방법의 일실시예의 고수준 흐름도를 형성한다. 방법(200)은, (예컨대, 디스플레이 설정 변경 또는 디스플레이의 방향 전환으로 인한) 장치의 디스플레이 구성(예컨대, 해상도나 배향)의 변경이나 사용자 인터페이스의 변경(예컨대, 애플리케이션 윈도우의 크기 조정 또는 창 열기/닫기)과 같이, 캔버스 크기에 영향을 주어, 결국 창 관리에 영향을 미칠 수 있는 이벤트가 발생할 때 시작된다. 이러한 이벤트가 발생할 때, 현재의 크기 검사 동작(202)이 보호된 캔버스 크기 및 현재의 애플리케이션 사용자 인터페이스 크기(즉, 윈도우)를 포함할 수 있는 정보를 수집한다. 보호된 캔버스 크기는, 의미있는 양의 사용자 콘텐츠가 볼 수 있게 유지되는 것을 보장하기 위해, 특정 용도의 최소 캔버스 크기를 특정한다. 즉, 캔버스의 크기는 보호된 캔버스 크기보다 작게 축소될 수 없다. 다양한 실시예에서, 보호된 캔버스 크기는 단일 차원(예컨대, 폭이나 높이)으로 특정될 수 있다. 예를 들어, 보호된 캔버스 폭이 측면 창들에 의해 침범되지 않게 보호되도록 특정될 수도 있고, 보호된 캔버스 높이가 상위/하위 창들에 의해 침범되지 않게 보호되도록 특정될 수 있다. 다른 실시예에서는, 보호된 캔버스 크기가 2차원(예컨대, 폭과 높이)으로 특정될 수도 있다.
이 방법은 이어서, 발생하는 이벤트의 유형에 적어도 부분적으로 의존하는 응답을 한다. 현재 열려있지 않은 창(즉, 새 창(new pane))을 여는 것이 요청되면, 적합성 검사(fit check) 동작(204)이, 보호된 캔버스 크기를 유지하면서 새 창이 추가될 수 있는지를 결정한다. 적합성 검사 동작은, 제한적인 것은 아니지만, 정렬(alignment), 엔트리 동작(entry behavior), 제목(title), 크롬(chrome), 임계(critical), 높이, 독 상태(dock state) 및 폭(width)과 같은, 요청된 창의 다양한 특성을 고려할 수 있다. 엔트리 동작은 창이 지속적인 것인지 아니면 일시적인 것인지를 특정한다. 지속적인(즉, 고정형(sticky)) 창은 캔버스와 함께 공존하기 위한 것이며 사용자 인터페이스 안에 두어질 수 있다. 지속 창은 사용자가 (예컨대, 닫기 위젯을 이용하여) 수동으로 제거하거나 애플리케이션에 프로그램 방식으로 닫힐 때까지 유지된다. 임시 창은 캔버스 위에 존재한다. 임시(즉, 라이트 디스미스(light dismiss) 또는 팝오버(popover)) 창은 사용자가 포커스(focus)를 창 외부 영역으로 옮길 때까지 유지된다. 엔트리 동작, 우선순위 및 폭과 같은 파라미터는 창 관리자에 의한 창의 처리에 직접 영향을 미칠 수 있다.
새 창이 이용가능한 공간에 맞으면, 지속 창 열기 동작(216)이 새 창을 지속 창으로 연다. 새 창의 위치는 마지막으로 열린 창의 내부일 수도 있고, 아니면 다른 창이 열려 있지 않으면 애플리케이션 사용자 인터페이스의 한쪽에 있거나 또는 열린 창의 밖에 있을 수 있다. 예를 들어, 창은 기존 창들의 왼쪽에 열릴 수 있다. 캔버스 재구성 동작(218)은 캔버스의 크기를 조정하고 콘텐츠를 적절히 리플로우하고/하거나 줌잉한다.
새 창이 맞지 않으면(즉, 새 캔버스 크기가 보호된 캔버스 크기보다 작으면), 창 인벤토리 동작(206)이 임의의 지속 창이 현재 열려 있는지 결정한다. 지속 창이 열려 있으면, 임시 창 열기 동작(208)이 창을 지속 창이 아니라 팝오버 창으로 연다. 하나보다 많은 지속 창이 열려 있으면, 지속 창 닫기 동작(214)이 최하위 우선순위의 지속 창을 닫는다. 최하위 우선순위의 창의 선택은, 제한적인 것은 아니지만, 초두성(primacy)(즉, 가장 오래전에 열린 창이 닫힌다), 신근성(recency)(즉, 가장 최근에 열린 창이 닫힌다), 및 비임계성(non-criticality)(즉, 임계 창을 닫기 전에 비임계 창이 닫힌다)와 같은 기준에 기초할 수 있다.
하나의 지속 창이 열리면, 임계 결정(210)이 이루어진다. 열린 창이 비임계이면, 이 방법은 지속 창 닫기 동작(214)으로 진행한다. 단 하나의 창이 임계이면, 임계 창 일시정지 동작(212)이 임계 창을 일시적으로 닫을 수 있다. 다양한 실시예에서, 임계 창 일시정지 동작은 임계 창이 닫혔다고 표시할 수 있다. 임계 창은 실제로 닫힐 수도 있고 단순히 보이지 않게 숨겨질 수도 있다.
임계 창 일시정지 동작(212) 또는 지속 창 닫기 동작(214)을 통해 창들이 닫히거나 일시정지된 후에, 동작은 적합성 검사 동작(204)으로 돌아가서 사용가능한 공간을 재평가할 수 있다. 충분한 공간이 사용가능하면, 이 방법은, 필요하다면 지속 창 열기 동작(216) 및 캔버스 재인식 동작(218)을 계속한다. 그렇지 않으면, 현재 창 상태에 기초하여 동작(206 내지 214)이 반복되거나 탐사될 수 있다.
이벤트 유형 결정으로 돌아가서, 창 닫기 이벤트가 발생하면, 창 닫기 동작(219)이 창을 닫아 UI 영역 내의 공간을 해제(freeing up)한다. 임계 창에 대한 충분한 공간이 사용가능할 경우에, 임계 창 일시정지 검사 동작(220)이 이전에 일시정지된 임계 창을 복원하려고 시도한다. 이 방법은, 필요하다면, 캔버스 재구성 동작(218)을 계속한다.
이벤트 유형 결정으로 돌아가서, UI 크기 변경 이벤트가 발생하면, 이 방법은 UI 크기 변경 방향 결정(222)을 계속한다(도 2b). UI 크기 변경은 창을 열거나 닫는 것과 독립적으로 발생할 수 있다. UI 크기 변경 이벤트는 UI 영역(즉, 윈도우)의 크기 또는 UI의 컴포넌트(예컨대, 애플리케이션 캔버스 또는 창)를 직접 조정하는 것 또는 디스플레이의 재구성(예컨대, 디스플레이의 해상도나 배향을 바꾸는 것)에 의해 발생할 수 있다. UI 크기가 커지면, 즉 캔버스 및 창에 잠재적으로 사용가능한 공간이 커지면, 임계 창에 대해 충분한 공간이 사용가능할 경우에 임계 창 일시정지 검사 동작(220)이 이전에 일시정지된 임계 창의 복원을 시도한다. UI 크기가 감소하면, 보호된 캔버스 크기 보장 동작(224)이 결과적인 캔버스 크기가 보호된 캔버스 크기보다 작은지의 여부를 결정하고, 보호된 캔버스 크기에 도달하거나 모든 창이 닫힐 때까지 가장 낮은 우선순위를 갖는 창을 차례로 닫는다. 보호된 캔버스 크기 보장 동작(224)은, 가장 낮은 우선순위의 창을 닫는 것 대신에, 낮은 우선순위의 지속 창들 중 하나 이상을 임시 창으로 선택적으로 변환하여 공간을 만들 수 있다. 현재 열린 지속 창을 임시 창으로 변환하는 것은, 창이 열렸을 때 충분한 공간이 사용가능하지 않으면 원래 임시 창으로 열렸을 창들만으로 제한될 수 있다. 이 방법은, 필요하다면, 캔버스 재구성 동작(218)을 계속한다(도 2a).
도 2c는 임시 창 열기 동작의 일실시예를 자세히 보여주는 고수준 흐름도를 도시한 것이다. 임시 창 열기 동작(208)은 새로운 창을 캔버스의 일부분을 덮은 임시 창으로서 여는 팝오버 창 열기 동작(230)으로 시작한다. 선택적인 포커싱 동작(232)은 임시 창이 디스플레이될 때 캔버스, 문서, 및/또는 사용자 인터페이스의 임의의 특별한 처리를 제공할 수 있다. 애플리케이션에 따라서, 포커싱 동작은 캔버스나 문서를 조작하여 임시 창으로 덮이지 않은 캔버스의 부분에 선택된 객체를 보이게 유지할 수 있다. 예를 들면, 워드 프로세싱 또는 스프레드시트 애플리케이션에서, 포커싱 동작은 캔버스를 스크롤해서 선택된 객체를 보이게 유지할 수 있다. 이와 유사하게, 프리젠테이션 애플리케이션에서, 포커싱 동작은 문서를 확대축소하여 선택된 객체를 보이게 유지할 수 있다. 콤비네이션 이메일(combination email), 캘린더링, 및 태스크 애플리케이션과 같은 보다 큰 모듈러 애플리케이션(modular application)의 경우, 포커싱 동작이 애플리케이션 사용자 인터페이스의 형상 및/또는 구성을 선택적으로 변경하여 나머지 이용가능한 공간을 최대한 활용하도록 만들 수 있다. 자동 제거(dismissal) 동작(234)은, 임시 창이 포커스를 잃으면 그 임시 창을 제거한다. 선택적인 캔버스 복원 동작(236)은 팬(pan) 동작에 의해 수행된 임의의 특별한 처리를 되돌릴(undo) 수 있다. 예를 들어, 캔버스 복원 동작은 캔버스를 스크롤하여 다시 원래의 위치로 돌릴 수 있다.
도 2d는 임계 창 일시정지 검사 동작의 일실시예를 자세히 보여주는 고수준 흐름도를 도시한 것이다. 임계 창 일시정지 동작(220)은 애플리케이션에 의해 임계로 지정된 창이 현재 열려 있지 않은지를 결정하는 일시정지된 임계 창 식별 동작(240)으로 시작한다. 임계 창이 닫히면, 맞춤화 검사 결정(242)이 임계 창을 열 충분한 공간이 있는지를 결정한다. 충분한 공간이 있으면, 임계 창 복원 동작(244)이 그 임계 창을 적절히 로딩하거나 드러낸다(unhide). 임계 창에 관해 기술하였지만, 임계 창 일시정지 검사 동작은 다른 창들(예컨대, 자동으로 닫힌 비임계 창들)을 다시 여는데 이용될 수도 있다.
도 3a 내지 3e는 가로 방향의 고해상도 모니터에서 실행중인 애플리케이션에 대한 창 관리 순서의 일실시예를 도시한 것이다. 애플리케이션은 보호된 캔버스 크기를 400 픽셀 폭으로서 정의한다. 가로 방향에서, 모니터(300)는 1600 픽셀의 디스플레이 폭을 제공한다. 도 3a에서는, 어떠한 창도 디스플레이되어 있지 않고 애플리케이션 캔버스(302)가 디스플레이의 전체 폭을 차지한다.
도 3b는 330 픽셀의 폭을 갖는 제1 창(304)이 요청된 후의 사용자 인터페이스를 보여준다. 캔버스의 최종 폭은 1270 픽셀이며, 따라서 창 관리자가 제1 창을 디스플레이하고 그에 따라 캔버스를 크기조정/리플로우한다.
도 3c는 330 픽셀의 폭을 갖는 제2 창(306)이 요청된 후의 사용자 인터페이스를 보여준다. 제2 창을 추가한 후에도, 캔버스의 최종 폭은 940 픽셀인데, 이것은 400 픽셀의 보호된 캔버스 크기보다 더 크다. 따라서, 창 관리자는 제2 창을 제1 창의 좌측에 디스플레이하고 그에 따라 캔버스를 크기조정/리플로우한다.
도 3d는 애플리케이션 사용자 인터페이스를, 애플리케이션 사용자 인터페이스에 사용가능한 디스플레이의 부분을 789 픽셀로 줄인 분할된 스크린 레이아웃으로 크기조정한 결과를 보여준다. 이 새로운 구성에서, 캔버스 크기는 두 창 모두가 디스플레이될 경우에 129 픽셀로 제한될 것이다. 최소한의 보호된 캔버스 크기를 유지하기 위해, 창 관리자는 가장 오래된 창인 제1 창을 제거하고 제2 창은 유지한다. 그에 따라 캔버스는 크기조정/리플로우된다.
도 3e는 애플리케이션 사용자 인터페이스를, 애플리케이션 사용자 인터페이스에 사용가능한 디스플레이의 부분을 온전한 1600 픽셀로 복원하는 풀 스크린 레이아웃으로 크기조정한 결과를 보여준다. 도시된 실시예에서, 기존의 창들이 유지되지만, 이전에 닫힌 창은 복원되지 않는다(즉, 다시 열리지 않는다). 다양한 실시예에서, 시스템은 공간이 사용가능하면 닫힌 창들을 복원하려고 시도할 수 있다. 예를 들어, 시스템은 창 이력(pane history)을 유지하고 공간이 사용가능해짐에 따라 최근에 닫힌 대부분의 창들을 자동으로 다시 열려고 시도할 수 있다. 일부 실시예에서는, 자동으로 닫힌 창들과 임계 창들만이 자동으로 복원된다. 일부 실시예에서는, 임계 창들만 자동으로 복원된다. 이에 따라 캔버스가 크기조정/리플로우된다.
도 3f 내지 3i는 임계 창을 포함하는 가로 방향의 고해상도 모니터에서 실행중인 애플리케이션에 대한 창 관리 순서의 일실시예를 도시한 것이다. 도 3f는 임계 창(308)과 2개의 비임계 창(304, 306)과 경계를 이루는 애플리케이션 캔버스(302)를 구비한 애플리케이션 사용자 인터페이스를 보여준다. 애플리케이션은 창을 임계 창으로 정의할 수 있다. 임계 창은 애플리케이션 사용자 인터페이스에 기본적인 창일 수 있다. 임계 창은 언제나 나타날 필요는 없지만 항상 사용자에게 사용가능해야 한다. 창 관리자는 현재 사용자 인터페이스 크기가 단일 창이 한번에 열리도록 허용하지 않으면 임계 창을 자동으로 제거하지 않는다. 창 관리자는 사용자 인터페이스 크기가 충분히 커지거나 다른 창이 닫힐 때 자동으로 임계 창을 복원할 것이다. 다양한 실시예에서, 창 관리자는 임계 창이 수동으로 닫히더라도 그 임계 창을 자동으로 복원할 수 있다. 일부 실시예에서는 애플리케이션이 하나의 창만 임계 창으로 지정할 수 있다.
3g는 애플리케이션 사용자 인터페이스를 애플리케이션 사용자 인터페이스에 사용가능한 디스플레이의 부분을 789 픽셀로 줄이는 분할된 스크린으로 크기조정한 결과를 보여준다. 이 새로운 구성에서, 보호된 캔버스 크기보다 큰 캔버스 크기까지 하나의 창에 대한 충분한 공간이 존재한다. 따라서, 창 관리자는 비임계 창을 제거하고 임계 창을 유지한다. 그에 따라 캔버스가 크기 조정/리플로우된다.
도 3h는 330 픽셀의 폭을 갖는 제3 창(310)이 요청된 후의 분할 스크린 레이아웃에서의 사용자 인터페이스를 보여준다. 하나의 창에 대한 공간만이 존재하기 때문에, 제3 태스크 창을 위해 임계 창이 일시정지된다. 이에 따라 이들 캔버스는 크기조정/리플로우된다.
도 3i는 애플리케이션 사용자 인터페이스를, 애플리케이션 사용자 인터페이스에 사용가능한 디스플레이의 부분을 전체 1600 픽셀로 복원하는 풀 스크린 레이아웃으로 크기조정한 결과를 보여준다. 기존의 창들은 유지된다. 또한, 이제 충분한 공간이 사용가능하므로, 임계 창이 복원된다. 이에 따라 캔버스가 크기조정/리플로우된다.
도 4a 내지 4c는 저해상도 태블릿에서 실행중인 애플리케이션에 대한 창 관리 순서의 일실시예를 도시한 것이다. 애플리케이션은 보호된 캔버스 크기를 400 픽셀 넓이인 것으로 정의한다. 가로 방향에서, 태블릿은 1024 픽셀의 폭을 제공한다. 도 4a에서는, 아무 창도 디스플레이되지 않고 애플리케이션 캔버스(402)가 디스플레이의 전체 폭을 차지한다.
도 4b는 330 픽셀의 폭을 가진 제1 창(404)이 요청된 후의 사용자 인터페이스를 보여준다. 그 결과의 캔버스의 폭은 694 픽셀이며 따라서 창 관리자는 제1 창을 디스플레이하고 그에 따라 캔버스를 크기조정/리플로우한다.
도 4c는 330 픽셀의 폭을 갖는 제2 창(406)이 요청된 후의 사용자 인터페이스를 보여준다. 제2 창을 추가하면 캔버스의 폭을 364 픽셀로 줄이게 되는데, 이는 400 픽셀의 보호된 캔버스 크기보다 작다. 디스플레이는 제1 창과 제2 창을 동시에 수용할 수 없다. 따라서, 제1 창이 제거되고 제2 창이 추가된다. 사실, 제2 창이 제1 창을 대체한다.
도 4d는 애플리케이션 사용자 인터페이스에 사용가능한 디스플레이의 부분을 501 픽셀로 줄인 분할된 스크린 레이아웃의 애플리케이션 사용자 인터페이스를 보여준다. 이 구성에서, 캔버스 크기는 창이 디스플레이되면 171 픽셀로 제한될 것이다. 따라서, 기존의 창은 제거된다. 그에 따라 캔버스는 크기조정/리플로우된다.
도 4e는 디스플레이 크기 및 보호된 애플리케이션 크기가 지속 창을 허용하지 않을 때의 창 처리를 보여준다. 디스플레이되는 모든 창을 제거하는 대신에, 창 관리자는, 창이 요청될 때, 그 창을 임시 창(408)으로서 디스플레이한다. 임시 창은 캔버스의 적어도 일부분을 가린다(cover). 도시된 실시예에서는, 임시 창이 애플리케이션 크롬의 일부분을 가린다. 다른 실시예에서는, 임시 창이 애플리케이션 크롬을 가리지 않을 수도 있다. 임시 창은 풀 스크린 창이나 니어-이머시브(near-immersive) 창으로 나타날 수도 있는데, 이들은 전체 사용자 인터페이스 영역의 상당한 부분 또는 전체 디스플레이 영역을 가린다. 애플리케이션 캔버스는 크기조정/리플로우되지 않는다. 임시 창이 포커스를 잃을 때(즉, 사용자가 임시 창의 바깥을 클릭하면), 임시 창은 사라지고, 다시 한번 애플리케이션 캔버스가 완전히 보이게 된다.
도 4f 및 4g는 세로 방향으로 회전시킨 태블릿의 창 관리 순서의 일실시예를 도시한 것이다. 세로 방향에서, 태블릿은 768 픽셀의 디스플레이 폭을 제공한다. 도 4f에서, 아무 창도 디스플레이되지 않고 애플리케이션 캔버스가 디스플레이의 전체 폭을 차지한다.
도 4g는 330 픽셀의 폭을 가진 제1 창(404)이 요청된 후의 사용자 인터페이스를 보여준다. 그 결과의 캔버스의 폭은 438 픽셀이고, 따라서 창 관리자는 제1 창을 디스플레이하고, 그에 따라 캔버스를 크기 조정/리플로우한다.
본원의 청구 대상은 시스템, 장치 및 기타 제품 또는 방법으로서 다향한 실시예로 실시될 수 있다. 실시예들은 하드웨어, 소프트웨어, 컴퓨터 판독가능 매체, 또는 이들의 조합으로 구현될 수 있다. 본 명세서에 기술된 이들 실시예 및 기능들은, 제한적인 것은 아니지만, 데스크탑 컴퓨터 시스템, 유선 및 무선 컴퓨팅 시스템, 모바일 컴퓨팅 시스템(예컨대, 모바일 전화기, 노트북, 태블릿 또는 슬레이트 유형의 컴퓨터, 노트북 컴퓨터, 및 랩탑 컴퓨터), 핸드헬드 장치, 멀티프로세서 시스템, 마이크로프로세서 기반 또는 프로그램가능형 가전, 미니컴퓨터, 및 메인프레임 컴퓨터를 포함하는 다수의 컴퓨팅 시스템을 통해 운용될 수 있다.
다양한 유형의 사용자 인터페이스 및 정보가 온보드(on-board) 컴퓨팅 장치 디스플레이를 통해 또는 하나 이상의 컴퓨팅 장치와 연관된 원격 디스플레이 장치를 통해 디스플레이될 수 있다. 예를 들어, 다양한 유형의 사용자 인터페이스 및 정보는 다양한 유형의 사용자 인터페이스 및 정보가 프로젝트되는 벽면에 디스플레이될 수 있고 이와 상호작용될 수 있다. 본원의 실시예들을 실시하는데 이용되는 다수의 컴퓨팅 시스템과의 상호작용은 키스트로크 입력, 터치 스크린 입력, 음성 또는 기타 오디오 입력, 제스처 입력(관련 컴퓨팅 장치가 컴퓨팅 장치의 기능을 제어하기 위한 사용자 제스처를 캡처하여 해석하는 검출(예컨대, 카메라) 기능을 구비한다) 등을 포함한다.
도 5 내지 7 및 관련 설명은 본원의 실시예들이 실시될 수 있는 다양한 운영 환경에 대해 논의한다. 그러나, 도 5 내지 7과 관련하여 예시되고 논의되는 장치 및 시스템은 예시 및 설명을 위한 것이며 전술한 본원의 실시예를 실시하기 위해 이용될 수 있는 다수의 컴퓨팅 장치 구성을 제한하는 것은 아니다.
도 5는 본원의 실시예들을 실시하는데 이용될 수 있는 컴퓨팅 장치(500)의 예시적인 물리적 컴포넌트(즉, 하드웨어)를 도시한 블록도이다. 후술하는 컴퓨팅 장치의 컴포넌트는, 제한적인 것은 아니지만, 개인용 컴퓨터, 태블릿 컴퓨터, 서피스 컴퓨터, 및 스마트폰 또는 본 명세서에서 논의한 기타 컴퓨팅 장치를 포함한 컴퓨팅 장치에 적합할 수 있다. 기본 구성에서, 컴퓨팅 장치(500)는 적어도 하나의 처리 유닛(502) 및 시스템 메모리(504)를 포함할 수 있다. 컴퓨팅 장치의 구성 및 유형에 따라, 시스템 메모리(504)는, 한정적인 것은 아니지만, 휘발성 저장부(예컨대, RAM), 비휘발성 저장부(예컨대, ROM), 플래시 메모리 또는 이들 메모리의 임의의 조합을 포함할 수 있다. 시스템 메모리(504)는 운영 체제(505) 및 창 관리자(102)와 같은 소프트웨어 애플리케이션(520)을 실행하기에 적합한 하나 이상의 프로그램 모듈(506)을 포함할 수 있다. 예컨대, 운영 체제(505)는 컴퓨팅 장치(500)의 동작을 제어하는데 적합할 수 있다. 또한, 본원의 실시예는 그래픽 라이브러리, 다른 운영 체제, 또는 임의의 다른 애플리케이션 프로그램과 함께 실시될 수 있으며 임의의 특정 애플리케이션 또는 시스템에 제한되지 않는다. 이 기본 구성은 점선(508) 내에 있는 컴포넌트들로 도시되어 있다. 컴퓨팅 장치(500)는 부가적인 특징들 또는 기능을 가질 수 있다. 예를 들어, 컴퓨팅 장치(500)는 또한 예컨대, 자기 디스크, 광학 디스크, 또는 테이프와 같은 부가적인 데이터 저장 장치(착탈식 및/또는 비착탈식)를 포함할 수 있다. 그러한 부가적인 저장부는 착탈식 저장 장치(509) 및 비착탈식 저장 장치(510)로 도시되어 있다.
전술한 바와 같이, 다수의 프로그램 모듈 및 데이터 파일이 시스템 메모리(504)에 저장될 수 있다. 소프트웨어 애플리케이션(520)은, 처리 유닛(502)에서 실행되는 동안, 방법(200)의 단계들 중 하나 이상을 포함하는 프로세스를 수행할 수 있다. 본원의 실시예에 따라 사용될 수 있는 다른 프로그래밍 모듈은 전자 메일 및 컨택 애플리케이션, 워드 프로세싱 애플리케이션, 스프레드시트 애플리케이션, 데이터베이스 애플리케이션, 슬라이드 프리젠테이션 애플리케이션, 컴퓨터 지원 드로잉 애플리케이션 프로그램 등을 포함할 수 있다.
또한, 본원의 실시예는 개별 전자 소자를 포함하는 전기 회로, 로직 게이트를 포함하는 패키지형 또는 집적형 전자 칩, 마이크로프로세서를 이용하는 회로, 또는 전자 소자 또는 마이크로프로세서를 포함하는 단일 칩에서 실시될 수 있다. 예를 들어, 본원의 실시예는 각각의 또는 다수의 예시된 컴포넌트들이 단일 집적 회로에 집적될 수 있는 SOC(system-on-a-chip)를 통해 실시될 수 있다. 이러한 SOC 장치는 하나 이상의 처리 유닛, 그래픽 유닛, 통신 유닛, 시스템 가상화 유닛 및 다양한 애플리케이션 기능을 포함할 수 있는데, 이들 모두가 칩 기판 상에 단일 집적 회로로서 집적(또는 "버닝(burned)")된다. 소프트웨어 애플리케이션(520)에 대해 본 명세서에 기술된 기능은, SOC를 통해 동작할 때, 단일 집적 회로(칩) 상의 컴퓨팅 장치(500)의 다른 컴포넌트들과 통합된 애플리케이션 특정 로직을 통해 동작할 수 있다. 본원의 실시예들은, 제한적인 것은 아니지만, 기계, 광학, 유체공학, 및 양자 기술을 포함한, 예컨대, AND, OR, 및 NOT과 같은 논리 연산을 수행할 수 있는 다른 기술들을 이용하여 실시될 수도 있다. 또한, 본원의 실시예는 범용 컴퓨터 또는 임의의 다른 회로 또는 시스템에서 실시될 수도 있다.
컴퓨팅 장치(500)는 키보드, 마우스, 펜, 소리 입력 장치, 터치 입력 장치 등과 같은 하나 이상의 입력 장치(들)(512)를 구비할 수 있다. 디스플레이, 프로젝터, 스피커, 프린터 등과 같은 출력 장치(들)(514)도 포함될 수 있다. 앞서 설명한 장치들은 예시들이고 다른 장치도 사용될 수 있다. 컴퓨팅 장치(500)는 다른 컴퓨팅 장치(518)와의 통신을 가능하게 하는 하나 이상의 통신 연결부(516)를 포함할 수 있다. 적절한 통신 연결부(516)의 예는 RF 송신기, 수신기 및/또는 송수신 회로, 범용 직렬 버스(USB), 병렬 및/또는 직렬 포트를 포함하나 이에 국한되지는 않는다.
본 명세서에서 사용된 컴퓨터 판독가능 매체라는 용어는 컴퓨터 저장 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 또는 프로그램 모듈과 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 착탈식 및 비착탈식 매체를 포함할 수 있다. 시스템 메모리(504), 착탈식 저장 장치(509) 및 비착탈식 저장 장치(510)는 모두 컴퓨터 판독가능 저장 매체의 예들(즉, 메모리 저장부)이다. 컴퓨터 저장 매체는, 제한적인 것은 아니지만, RAM, ROM, EEPROM, 플래시 메모리 또는 기타 메모리 기술, CD-ROM, DVD(digital versatile disk) 또는 다른 광학 저장부, 자기 카세트, 자기 테이프, 자기 디스크 저장부 또는 기타 자기 저장 장치, 또는 정보를 저장하는데 사용될 수 있으며 컴퓨팅 장치(500)에 의해 액세스될 수 있는 임의의 다른 제품을 포함할 수 있다. 임의의 그러한 컴퓨터 저장 매체는 컴퓨팅 장치(500)의 일부일 수 있다.
도 6a 및 6b는 본원의 실시예들을 실시하는데 이용될 수 있는 적절한 모바일 컴퓨팅 장치(600)을 도시한 것이다. 적절한 모바일 컴퓨팅 장치의 예로는 모바일 전화기, 스마트폰, 태블릿 컴퓨터, 서피스 컴퓨터, 랩탑 컴퓨터 등을 들 수 있다. 기본 구성에서, 모바일 컴퓨팅 장치(600)는 입력 요소 및 출력 요소를 구비한 핸드헬드 컴퓨터이다. 모바일 컴퓨팅 장치(600)는 통상적으로 디스플레이(605) 및 사용자로 하여금 모바일 컴퓨팅 장치(600)에 정보를 입력할 수 있게 하는 하나 이상의 입력 버튼(610)을 포함한다. 모바일 컴퓨팅 장치(600)의 디스플레이(605)는 입력 장치(예를 들어, 터치 스크린 디스플레이)로도 기능을 할 수 있다. 선택적인 측면 입력 구성요소(615)는, 포함될 경우, 추가적인 사용자 입력을 가능하게 한다. 측면 입력 구성요소(615)는 회전 스위치, 버튼 또는 임의의 다른 유형의 수동 입력 구성요소일 수 있다. 또 다른 실시예에서, 모바일 컴퓨팅 장치(600)는 보다 많은 또는 보다 적은 입력 구성요소를 포함할 수 있다. 예를 들어, 디스플레이(605)는 일부 실시예에서 터치 스크린이 아닐 수 있다. 또 다른 실시예에서, 모바일 컴퓨팅 장치(600)는 셀룰러폰과 같은 휴대용 전화 시스템이다. 모바일 컴퓨팅 장치(600)는 또한 선택적 키패드(635)를 포함할 수 있다. 선택적 키패드(635)는 물리적 키패드이거나 터치 스크린 디스플레이 상에 생성된 "소프트" 키패드일 수 있다. 다양한 실시예에서, 출력 구성요소는 그래픽 사용자 인터페이스(GUI)를 보여주는 디스플레이(605), 시각적 표시자(620)(예를 들어, 발광 다이오드) 및/또는 오디오 트랜스듀서(625)(예를 들어, 스피커)를 포함한다. 몇몇 실시예에서, 모바일 컴퓨팅 장치(600)는 촉각 피드백을 사용자에게 제공하는 진동 트랜스듀서를 포함한다. 또 다른 실시예에서, 모바일 컴퓨팅 장치(600)는 외부 장치로 신호를 전송하거나 그로부터 신호를 수신하기 위한 오디오 입력(예컨대, 마이크로폰 잭), 오디오 출력(예컨대, 헤드폰 잭) 및 비디오 출력(예컨대, HDMI 포트)과 같은 입력 및/또는 출력 포트를 포함할 수 있다.
도 6b는 모바일 컴퓨팅 장치의 일실시예의 아키텍처를 나타내는 블록도이다. 즉, 모바일 컴퓨팅 장치(600)는 일부 실시예를 구현하기 위한 시스템(즉, 아키텍처)(602)를 포함할 수 있다. 일실시예에서, 시스템(602)은 하나 이상의 애플리케이션(예를 들어, 브라우저, 이메일 클라이언트, 연락처 관리자, 메시징 클라이언트, 게임 및 미디어 클라이언트/플레이어)을 실행할 수 있는 스마트폰으로서 구현된다. 일부 실시예에서, 시스템(602)은 통합된 개인 보조 단말기(PDA) 및 무선 전화기와 같은 컴퓨팅 장치로서 통합된다.
하나 이상의 애플리케이션 프로그램(665)이 메모리(662)에 로딩될 수 있고 운영 체제(664)와 연계하여 실행될 수 있다. 애플리케이션 프로그램의 예는 전화 다이얼러 프로그램, 이메일 프로그램, 개인 정보 관리(PIM) 프로그램, 워드 프로세싱 프로그램, 스프레드시트 프로그램, 인터넷 브라우저 프로그램, 메시징 프로그램 등을 포함한다. 시스템(602)은 또한 메모리(662) 내에 비휘발성 저장 영역(668)을 포함한다. 이 비휘발성 저장 영역(668)은 시스템(602)이 꺼지더라도 손실되어서는 안 되는 영구적인 정보를 저장하는데 사용될 수 있다. 애플리케이션 프로그램(666)은 이메일 애플리케이션에 의해 사용되는 이메일 또는 다른 메시지 등과 같은 비휘발성 저장 영역(668) 내의 정보를 사용하고 저장할 수 있다. 동기화 애플리케이션(도시되어 있지 않음)이 또한 시스템(602)에 상주하고, 또한 비휘발성 저장 영역(668)에 저장된 정보가 호스트 컴퓨터에 저장된 대응하는 정보에 동기화된 채로 유지되도록 호스트 컴퓨터 상에 상주하는 대응하는 동기화 애플리케이션과 상호작용하도록 프로그램된다. 다른 애플리케이션이 메모리(662)에 로딩될 수 있고 본 명세서에서 설명한 소프트웨어 애플리케이션(525)을 포함하는 모바일 컴퓨팅 장치(600)에서 실행될 수 있음을 알 수 있을 것이다.
시스템(602)은 하나 이상의 배터리로서 구현될 수 있는 전원(670)을 구비한다. 이 전원(670)은 배터리를 보완하거나 이를 재충전하는 AC 어댑터 또는 전원 공급되는 도킹 크래들과 같은 외부 전원을 더 포함할 수 있다.
시스템(602)은 또한 무선 주파수 통신을 송신 및 수신하는 기능을 수행하는 무선부(672)를 포함할 수 있다. 무선부(672)는 통신 매개체 또는 서비스 제공자를 통해 시스템(602)과 외부 세상 간의 무선 연결을 용이하게 한다. 무선부(672)에 대한 전송은 운영 체제(664)의 제어 하에서 행해진다. 즉, 무선부(672)에 의해 수신된 통신은 운영 체제(664)를 통해 애플리케이션 프로그램(666)으로, 그리고 그 반대로 전파될 수 있다.
시각적 표시자(620)는 시각적 알림을 제공하는데 사용될 수 있고 및/또는 오디오 인터페이스(674)는 오디오 트랜스듀서(625)를 통해 청각적 알림을 생성하는데 사용될 수 있다. 예시되어 있는 실시예에서, 시각적 표시자(620)는 발광 다이오드(LED)이고 오디오 트랜스듀서(625)는 스피커이다. 이들 장치는 전원(670)에 직접 연결될 수 있어, 이들 장치는 활성화될 때 배터리 전력을 보존하기 위해 프로세서(660) 및 다른 컴포넌트들이 셧다운될 수 있더라도 알림 메카니즘에 의해 지정된 기간 동안 유지된다. LED는 사용자가 장치의 파워 온 상태를 나타내는 동작을 취할 때까지 무한정으로 유지되도록 프로그램될 수 있다. 오디오 인터페이스(674)는 사용자에게 청각 신호를 제공하고 또한 사용자로부터 청각 신호를 수신하는데 사용된다. 예를 들어, 오디오 트랜스듀서(625)에 결합되는 것 외에, 오디오 인터페이스(674)는 예컨대 전화 대화를 용이하게 하도록 청각 입력을 수신하기 위해 마이크로폰에 연결될 수 있다. 본원의 실시예에 따르면, 이하에서 설명되는 바와 같이 마이크로폰은 또한 알림의 제어를 용이하게 하기 위해 오디오 센서로서 동작할 수 있다. 시스템(602)은 정지 영상, 비디오 스트림 등을 기록하기 위해 온보드 카메라(630)의 동작을 가능하게 하는 비디오 인터페이스(676)를 더 포함할 수 있다.
시스템(602)을 구현하는 모바일 컴퓨팅 장치(600)는 추가적인 특징 또는 기능을 가질 수 있다. 예를 들어, 모바일 컴퓨팅 장치(600)는 또한 자기 디스크, 광학 디스크 또는 테이프와 같은 (착탈식 및/또는 비착탈식의) 추가의 데이터 저장 장치를 포함할 수 있다. 이러한 추가의 저장소는 비휘발성 저장 영역(668)으로 도시되어 있다.
모바일 컴퓨팅 장치(600)에 의해 생성 또는 캡처되고 또한 시스템(602)을 통해 저장된 데이터/정보는 전술한 바와 같이 모바일 컴퓨팅 장치(600)에 로컬로 저장될 수 있고, 또는 데이터는 인터넷과 같은 분산형 컴퓨팅 네트워크에서 무선부(672)를 통해 또는 모바일 컴퓨팅 장치(600)와 이 모바일 컴퓨팅 장치(600)에 연관된 별개의 컴퓨팅 장치, 예를 들어 서버 컴퓨터 간의 유선 연결을 통해 액세스될 수 있는 임의의 수의 저장 매체에 저장될 수 있다. 이러한 데이터/정보는 무선부(672)를 통해 또는 분산형 컴퓨팅 네트워크를 통해 모바일 컴퓨팅 장치(600)에 의해 액세스될 수 있음을 이해할 수 있을 것이다. 유사하게, 이러한 데이터/정보는 전자 메일 및 협업 데이터/정보 공유 시스템을 비롯한 잘 알려진 데이터/정보 전송 및 저장 수단에 따라 저장 및 사용을 위해 컴퓨팅 장치들 간에 쉽게 전달될 수 있다.
도 7은 전술한 바와 같이 하나 이상의 클라이언트 장치에 다중음성(multi-voice) 폰트 보간 기능을 제공하는 시스템의 아키텍처의 일실시예를 나타낸다. 소프트웨어 애플리케이션(520)과 관련하여 개발되거나 상호작용하거나 또는 편집된 콘텐츠가 상이한 통신 채널 내에 또는 다른 저장 유형으로 저장될 수 있다. 예를 들어, 다양한 문서가 디렉토리 서비스(722), 웹 포털(724), 메일박스 서비스(726), 인스턴트 메시징 저장부(728), 또는 소셜 네트워킹 사이트(730)를 사용하여 저장될 수 있다. 본 명세서에 기술된 바와 같이, 소프트웨어 애플리케이션(520)은 데이터 활용을 가능하게 하는 이들 유형의 시스템 중 임의의 유형의 시스템 등을 사용할 수 있다. 서버(720)는 소프트웨어 애플리케이션(520)을 클라이언트에게 제공할 수 있다. 일례로서, 서버(720)는 웹 상에서 소프트웨어 애플리케이션(520)을 제공하는 웹 서버일 수 있다. 서버(720)는 네트워크(715)를 통해 웹 상의 소프트웨어 애플리케이션(520)을 클라이언트에게 제공할 수 있다. 예를 들어, 클라이언트 컴퓨팅 장치는 컴퓨팅 장치(500)로서 구현될 수 있고 개인용 컴퓨터(702a), 태블릿 컴퓨터(702b) 및/또는 모바일 컴퓨팅 장치(예컨대, 스마트폰)(702c)에서 실시될 수 있다. 이들 실시예 중 임의의 실시예의 클라이언트 컴퓨팅 장치는 저장부(716)로부터 콘텐츠를 획득할 수 있다.
본 출원에서 제공된 하나 이상의 실시예의 설명 및 예시는 청구 대상의 전체 범위를 완전하고 철저하고 완벽하게 제공하기 위한 것이지 청구된 본원의 범주를 어떤 식으로든 제한 또는 한정하려는 의도는 없다. 본 출원에서 제공된 실시예, 예시 및 세부사항은 소유권을 전달하고 당업자가 청구된 발명의 최상의 모드를 실시할 수 있도록 하는데 충분한 것으로 간주된다. 당업자에게 공지된 구조, 리소스, 동작 및 작용에 대한 설명은 본 출원의 청구 대상의 고유한 특징이나 덜 알려진 것들을 흐리게하지 않게 하기 위해 간략히 하거나 생략하였을 수 있다. 청구된 발명은 본 명세서에서 명확히 언급하지 않는한 본원에서 제공된 임의의 실시예, 예시, 또는 세부사항에 국한되는 것으로 해석되어서는 안 된다. 총괄하여 또는 개별적으로 도시되고 설명된 것과는 무관하게, (구조적 및 방법론적의) 다양한 특징들은 특정한 특징들의 집합을 갖는 실시예를 구현하기 위해 선택적으로 포함되거나 생략될 수 있다. 또한, 도시되었거나 기술된 기능들과 동작들 전부 또는 일부는 임의의 순서로 또는 동시에 수행될 수 있다. 본 출원의 설명 및 예시가 제공되었지만, 당업자라면 본 출원에서 구현된 일반적인 발명의 개념의 포괄적 측면의 사상 내에서 청구된 발명의 포괄적 범위를 벗어나지 않는 변형예 및 대안적 실시예를 안출할 수 있을 것이다.

Claims (15)

  1. 폭을 갖는 사용자 인터페이스 내의 애플리케이션 캔버스와 관련하여 창(pane)들을 자동으로 관리하는 컴퓨터로 구현되는(computer-implemented) 방법에 있어서,
    상기 애플리케이션 캔버스에 대한 최소 폭의 표시(indication)를 애플리케이션으로부터 수신하는 단계;
    상기 애플리케이션의 사용자 인터페이스에 선택된 지속 창(persistent pane)을 추가하라는 요청을 수신하는 단계 - 지속 창은, 상기 애플리케이션 캔버스와 오버랩되지 않고 상기 애플리케이션 캔버스와 함께 디스플레이되는 창을 포함함 - ;
    상기 선택된 지속 창이 상기 애플리케이션 캔버스의 최소 폭을 유지하면서 디스플레이될 수 없다고 결정하는 단계;
    상기 선택된 지속 창이 상기 애플리케이션 캔버스의 최소 폭을 유지하면서 디스플레이될 수 없다는 결정에 기초하여, 상기 사용자 인터페이스에 현재 지속 창들이 디스플레이되고 있는지 결정하는 단계;
    상기 사용자 인터페이스에 현재 2개 이상의 지속 창들이 디스플레이되고 있다는 결정에 기초하여,
    상기 선택된 지속 창이 상기 애플리케이션 캔버스의 최소 폭을 유지하면서 상기 애플리케이션 캔버스와 오버랩되지 않고 상기 애플리케이션 캔버스와 함께 디스플레이될 수 있도록, 현재 디스플레이되고 있는 상기 2개 이상의 지속 창들 중 충분한 수의 지속 창을 작은 우선순위(least priority)의 순서로 닫는 단계; 및
    상기 선택된 지속 창을 열린 지속 창으로서 디스플레이하는 단계;
    상기 사용자 인터페이스에 현재 어떤 지속 창들도 디스플레이되고 있지 않다는 결정에 기초하여,
    임시 창(transient pane)을 여는 단계 - 임시 창은, 상기 애플리케이션 캔버스와 오버랩될 수 있는 상기 애플리케이션 캔버스 위에 존재하는 창을 포함함 - ; 및
    상기 선택된 지속 창을 상기 임시 창으로서 디스플레이하는 단계;
    상기 사용자 인터페이스에 현재 1개의 지속 창만이 디스플레이되고 있다는 결정에 기초하여,
    상기 현재 디스플레이되고 있는 지속 창이 임계 창(critical pane)인지 결정하는 단계 - 상기 지속 창의 임계성(criticality)은 상기 애플리케이션에 의해 이전에 지정됨 - ;
    상기 현재 디스플레이되고 있는 지속 창이 비임계 창이라는 결정에 기초하여, 상기 임계 창을 닫고, 이제 상기 선택된 지속 창이 이제 상기 애플리케이션 캔버스의 최소 폭을 유지하면서 상기 애플리케이션 캔버스와 오버랩되지 않고 상기 애플리케이션 캔버스와 함께 디스플레이될 수 있는지 결정하는 단계; 및
    상기 현재 디스플레이되고 있는 지속 창이 임계 창이라는 결정에 기초하여, 상기 임계 창의 디스플레이를 일시적으로 닫거나 일시 정지하고, 이제 상기 선택된 지속 창이 상기 애플리케이션 캔버스의 최소 폭을 유지하면서 상기 애플리케이션 캔버스와 오버랩되지 않고 상기 애플리케이션 캔버스와 함께 디스플레이될 수 있는지 결정하는 단계
    를 포함하는, 방법.
  2. 제1항에 있어서, 상기 우선순위는, 상기 지속 창의 초두성(primacy), 상기 지속 창의 신근성(recency) 및 상기 지속 창의 임계성 중 하나 이상에 기초하여 결정되는 것인, 방법.
  3. 제1항에 있어서, 상기 임시 창이 포커스를 잃을 때 상기 임시 창을 제거하는(dismissing) 단계를 더 포함하는, 방법.
  4. 제1항에 있어서, 상기 선택된 지속 창을 열린 지속 창으로서 디스플레이하는 단계는, 상기 애플리케이션 캔버스의 폭을 상기 애플리케이션 캔버스의 최소 폭으로 감소시키는 단계를 포함하는 것인, 방법.
  5. 사용자 인터페이스 내의 애플리케이션 캔버스와 관련하여 애플리케이션 창들을 자동으로 관리하기 위한 컴퓨터로 구현되는 시스템에 있어서,
    프로세서, 최소 캔버스 크기 메모리(minimum canvas size memory) 및 시각적 출력물 - 상기 시각적 출력물은 애플리케이션의 사용자 인터페이스를 포함함 - 을 사용자에게 나타내기 위한 출력 디바이스를 포함하는 컴퓨팅 디바이스를 포함하고, 상기 컴퓨팅 디바이스는,
    상기 애플리케이션 캔버스에 대한 최소 폭의 표시를 상기 애플리케이션으로부터 수신하도록;
    상기 애플리케이션의 사용자 인터페이스에 선택된 지속 창을 추가하라는 요청을 수신하도록 - 지속 창은, 상기 애플리케이션 캔버스와 오버랩되지 않고 상기 애플리케이션 캔버스와 함께 디스플레이되는 창을 포함함 - ;
    상기 선택된 지속 창이 상기 애플리케이션 캔버스의 최소 폭을 유지하면서 디스플레이될 수 없다고 결정하도록;
    상기 선택된 지속 창이 상기 애플리케이션 캔버스의 최소 폭을 유지하면서 디스플레이될 수 없다는 결정에 기초하여, 상기 사용자 인터페이스에 현재 지속 창들이 디스플레이되고 있는지 결정하도록;
    상기 사용자 인터페이스에 현재 2개 이상의 지속 창들이 디스플레이되고 있다는 결정에 기초하여,
    상기 선택된 지속 창이 상기 애플리케이션 캔버스의 최소 폭을 유지하면서 상기 애플리케이션 캔버스와 오버랩되지 않고 상기 애플리케이션 캔버스와 함께 디스플레이될 수 있도록, 현재 디스플레이되고 있는 상기 2개 이상의 지속 창들 중 충분한 수의 지속 창을 작은 우선순위의 순서로 닫도록; 그리고
    상기 선택된 지속 창을 열린 지속 창으로서 디스플레이하도록;
    상기 사용자 인터페이스에 현재 어떤 지속 창들도 디스플레이되고 있지 않다는 결정에 기초하여,
    임시 창을 열도록 - 임시 창은, 상기 애플리케이션 캔버스와 오버랩될 수 있는 상기 애플리케이션 캔버스 위에 존재하는 창을 포함함 - ; 그리고
    상기 선택된 지속 창을 상기 임시 창으로서 디스플레이하도록;
    상기 사용자 인터페이스에 현재 1개의 지속 창만이 디스플레이되고 있다는 결정에 기초하여,
    상기 현재 디스플레이되고 있는 지속 창이 임계 창인지 결정하도록 - 상기 지속 창의 임계성은 상기 애플리케이션에 의해 이전에 지정됨 - ;
    상기 현재 디스플레이되고 있는 지속 창이 비임계 창이라는 결정에 기초하여, 상기 임계 창을 닫고, 이제 상기 선택된 지속 창이 상기 애플리케이션 캔버스의 최소 폭을 유지하면서 상기 애플리케이션 캔버스와 오버랩되지 않고 상기 애플리케이션 캔버스와 함께 디스플레이될 수 있는지 결정하도록; 그리고
    상기 현재 디스플레이되고 있는 지속 창이 임계 창이라는 결정에 기초하여, 상기 임계 창의 디스플레이를 일시적으로 닫거나 일시 정지하고, 이제 상기 선택된 지속 창이 상기 애플리케이션 캔버스의 최소 폭을 유지하면서 상기 애플리케이션 캔버스와 오버랩되지 않고 상기 애플리케이션 캔버스와 함께 디스플레이될 수 있는지 결정하도록
    유발되는 것인, 시스템.
  6. 제5항에 있어서, 상기 우선순위는, 상기 지속 창의 초두성, 상기 지속 창의 신근성 및 상기 지속 창의 임계성 중 하나 이상에 기초하여 결정되는 것인, 시스템.
  7. 제5항에 있어서, 상기 컴퓨팅 디바이스는 또한, 상기 임시 창이 포커스를 잃을 때 상기 임시 창을 제거하도록 유발되는 것인, 시스템.
  8. 제5항에 있어서, 상기 선택된 지속 창을 열린 지속 창으로서 디스플레이하는 것은, 상기 애플리케이션 캔버스의 폭을 상기 애플리케이션 캔버스의 최소 폭으로 감소시키는 것을 포함하는 것인, 시스템.
  9. 컴퓨터에 의해 실행될 때, 애플리케이션의 사용자 인터페이스 내의 애플리케이션 캔버스와 관련하여 창들을 자동으로 관리하는 방법을 수행하는 컴퓨터 실행가능 명령어들을 포함하는, 하드웨어에 구현되는 컴퓨터 판독가능 저장 매체에 있어서, 상기 방법은,
    애플리케이션으로부터 상기 애플리케이션 캔버스에 대한 최소 폭의 표시를 수신하는 단계;
    상기 애플리케이션의 사용자 인터페이스에 선택된 지속 창을 추가하라는 요청을 수신하는 단계 - 지속 창은, 상기 애플리케이션 캔버스와 오버랩되지 않고 상기 애플리케이션 캔버스와 함께 디스플레이되는 창을 포함함 - ;
    상기 선택된 지속 창이 상기 애플리케이션 캔버스의 최소 폭을 유지하면서 디스플레이될 수 없다고 결정하는 단계;
    상기 선택된 지속 창이 상기 애플리케이션 캔버스의 최소 폭을 유지하면서 디스플레이될 수 없다는 결정에 기초하여, 상기 사용자 인터페이스에 현재 지속 창들이 디스플레이되고 있는지 결정하는 단계;
    상기 사용자 인터페이스에 현재 2개 이상의 지속 창들이 디스플레이되고 있다는 결정에 기초하여,
    상기 선택된 지속 창이 상기 애플리케이션 캔버스의 최소 폭을 유지하면서 상기 애플리케이션 캔버스와 오버랩되지 않고 상기 애플리케이션 캔버스와 함께 디스플레이될 수 있도록, 현재 디스플레이되고 있는 상기 2개 이상의 지속 창들 중 충분한 수의 지속 창을 작은 우선순위의 순서로 닫는 단계; 및
    상기 선택된 지속 창을 열린 지속 창으로서 디스플레이하는 단계;
    상기 사용자 인터페이스에 현재 어떤 지속 창들도 디스플레이되고 있지 않다는 결정에 기초하여,
    임시 창을 여는 단계 - 임시 창은, 상기 애플리케이션 캔버스와 오버랩될 수 있는 상기 애플리케이션 캔버스 위에 존재하는 창을 포함함 - ; 및
    상기 선택된 지속 창을 상기 임시 창으로서 디스플레이하는 단계;
    상기 사용자 인터페이스에 현재 1개의 지속 창만이 디스플레이되고 있다는 결정에 기초하여,
    상기 현재 디스플레이되고 있는 지속 창이 임계 창인지 결정하는 단계 - 상기 지속 창의 임계성은 상기 애플리케이션에 의해 이전에 지정됨 - ;
    상기 현재 디스플레이되고 있는 지속 창이 비임계 창이라는 결정에 기초하여, 상기 임계 창을 닫고, 이제 상기 선택된 지속 창이 상기 애플리케이션 캔버스의 최소 폭을 유지하면서 상기 애플리케이션 캔버스와 오버랩되지 않고 상기 애플리케이션 캔버스와 함께 디스플레이될 수 있는지 결정하는 단계; 및
    상기 현재 디스플레이되고 있는 지속 창이 임계 창이라는 결정에 기초하여, 상기 임계 창의 디스플레이를 일시적으로 닫거나 일시 정지하고, 이제 상기 선택된 지속 창이 상기 애플리케이션 캔버스의 최소 폭을 유지하면서 상기 애플리케이션 캔버스와 오버랩되지 않고 상기 애플리케이션 캔버스와 함께 디스플레이될 수 있는지 결정하는 단계
    를 포함하는 것인, 컴퓨터 판독가능 저장 매체.
  10. 제9항에 있어서, 상기 우선순위는, 상기 지속 창의 초두성, 상기 지속 창의 신근성 및 상기 지속 창의 임계성 중 하나 이상에 기초하여 결정되는 것인, 컴퓨터 판독가능 저장 매체.
  11. 제9항에 있어서, 상기 방법은, 상기 임시 창이 포커스를 잃을 때 상기 임시 창을 제거하는 단계를 더 포함하는 것인, 컴퓨터 판독가능 저장 매체.
  12. 제9항에 있어서, 상기 선택된 지속 창을 열린 지속 창으로서 디스플레이하는 단계는, 상기 애플리케이션 캔버스의 폭을 상기 애플리케이션 캔버스의 최소 폭으로 감소시키는 단계를 포함하는 것인, 컴퓨터 판독가능 저장 매체.
  13. 삭제
  14. 삭제
  15. 삭제
KR1020167030624A 2014-04-02 2015-03-27 적응형 사용자 인터페이스 창 관리자 KR102257262B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201461974377P 2014-04-02 2014-04-02
US61/974,377 2014-04-02
US14/453,445 2014-08-06
US14/453,445 US10402034B2 (en) 2014-04-02 2014-08-06 Adaptive user interface pane manager
PCT/US2015/022894 WO2015153319A1 (en) 2014-04-02 2015-03-27 Adaptive user interface pane manager

Publications (2)

Publication Number Publication Date
KR20160141807A KR20160141807A (ko) 2016-12-09
KR102257262B1 true KR102257262B1 (ko) 2021-05-26

Family

ID=54209753

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167030624A KR102257262B1 (ko) 2014-04-02 2015-03-27 적응형 사용자 인터페이스 창 관리자

Country Status (11)

Country Link
US (1) US10402034B2 (ko)
EP (1) EP3126967B1 (ko)
JP (1) JP6507178B2 (ko)
KR (1) KR102257262B1 (ko)
CN (1) CN106164856B (ko)
AU (1) AU2015241262B2 (ko)
CA (1) CA2943249C (ko)
MX (1) MX2016012650A (ko)
RU (1) RU2689435C2 (ko)
TW (1) TW201539301A (ko)
WO (1) WO2015153319A1 (ko)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10741025B2 (en) * 2010-09-30 2020-08-11 Jesus Perea-Ochoa Method and system of operating multi-task interactive electronic devices
KR102213212B1 (ko) 2014-01-02 2021-02-08 삼성전자주식회사 멀티윈도우 제어 방법 및 이를 지원하는 전자 장치
USD882582S1 (en) * 2014-06-20 2020-04-28 Google Llc Display screen with animated graphical user interface
USD774062S1 (en) 2014-06-20 2016-12-13 Google Inc. Display screen with graphical user interface
USD748647S1 (en) * 2014-06-23 2016-02-02 Microsoft Corporation Display screen with animated graphical user interface
USD763291S1 (en) * 2014-12-18 2016-08-09 Rockwell Automation Technologies, Inc. Display screen or portion thereof with graphical user interface
US10209849B2 (en) 2015-01-21 2019-02-19 Microsoft Technology Licensing, Llc Adaptive user interface pane objects
US10042655B2 (en) 2015-01-21 2018-08-07 Microsoft Technology Licensing, Llc. Adaptable user interface display
USD769258S1 (en) * 2015-07-01 2016-10-18 Microsoft Corporation Display screen with graphical user interface
USD885424S1 (en) 2017-08-22 2020-05-26 Government Of The United States As Represented By The Secretary Of The Air Force Display screen or portion thereof with graphical user interface
USD885422S1 (en) * 2017-08-22 2020-05-26 Government Of The United States As Represented By The Secretary Of The Air Force Display screen or portion thereof with graphical user interface
JP7178038B2 (ja) * 2017-12-12 2022-11-25 東日本高速道路株式会社 情報表示システム
US11366571B2 (en) * 2018-05-04 2022-06-21 Dentma, LLC Visualization components including sliding bars
USD933672S1 (en) * 2018-06-03 2021-10-19 Apple Inc. Display screen or portion thereof with animated graphical user interface
EP3591508A1 (en) * 2018-07-03 2020-01-08 OCE Holding B.V. Method of controlling a user interface
USD931298S1 (en) 2019-05-30 2021-09-21 Apple Inc. Display screen or portion thereof with graphical user interface
CN110196669A (zh) * 2019-06-11 2019-09-03 北京字节跳动网络技术有限公司 窗口排列方法、装置、终端及存储介质
CN110569094B (zh) * 2019-07-29 2022-04-12 华为技术有限公司 一种显示方法及电子设备
WO2021085663A1 (ko) * 2019-10-29 2021-05-06 엘지전자 주식회사 어플리케이션을 구동하는 전자 장치 및 그 제어 방법
CN112363724A (zh) * 2020-11-18 2021-02-12 中国舰船研究设计中心 一种基于软件商店的舰艇显控软件可重构系统
CN115129203A (zh) * 2021-03-26 2022-09-30 北京小米移动软件有限公司 应用程序的界面显示方法及装置
CN114020233B (zh) * 2022-01-06 2022-04-08 广州朗国电子科技股份有限公司 一种会议白板窗口模式书写适配方法、系统、设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6414698B1 (en) 1999-04-13 2002-07-02 International Business Machines Corporation Method for enabling adaptive sizing of display elements
US20040212640A1 (en) 2003-04-25 2004-10-28 Justin Mann System and method for providing dynamic user information in an interactive display
US20100229110A1 (en) 2000-06-21 2010-09-09 Microsoft Corporation Task Sensitive Methods and Systems for Displaying Command Sets
JP2014505927A (ja) 2010-12-20 2014-03-06 マイクロソフト コーポレーション 没入型環境のカスタマイズ

Family Cites Families (98)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5142618A (en) * 1986-11-21 1992-08-25 Hitachi, Ltd. Window management apparatus for a document creating apparatus
US5726669A (en) * 1988-06-20 1998-03-10 Fujitsu Limited Multi-window communication system
US5060170A (en) * 1989-08-09 1991-10-22 International Business Machines Corp. Space allocation and positioning method for screen display regions in a variable windowing system
AU630567B2 (en) * 1990-07-31 1992-10-29 Digital Equipment Corporation System and method for emulating a window management environment having a uniform windowing interface
US5390295A (en) * 1991-12-20 1995-02-14 International Business Machines Corporation Method and apparatus for proportionally displaying windows on a computer display screen
EP0717344B1 (en) 1994-12-13 2001-10-31 Microsoft Corporation Taskbar with start menu
US5825360A (en) * 1995-04-07 1998-10-20 Apple Computer, Inc. Method for arranging windows in a computer workspace
US5712995A (en) * 1995-09-20 1998-01-27 Galileo Frames, Inc. Non-overlapping tiling apparatus and method for multiple window displays
US5920315A (en) 1996-07-17 1999-07-06 International Business Machines Corporation Multi-pane window with recoiling workspaces
US5999177A (en) * 1997-07-07 1999-12-07 International Business Machines Corporation Method and system for controlling content on a display screen in a computer system
US6785866B1 (en) 1998-05-01 2004-08-31 Adobe Systems Incorporated Dialogs for multiple operating systems and multiple languages
US6603493B1 (en) * 1999-04-13 2003-08-05 International Business Machines Corporation Method for arranging display elements
US6587128B2 (en) * 1999-07-15 2003-07-01 International Business Machines Corporation Method for displaying hidden objects by varying the transparency of overlapping objects
US6356279B1 (en) 1999-07-30 2002-03-12 Curl Corporation Processing of graphical objects with minimum and preferred sizes
US20050183017A1 (en) 2001-01-31 2005-08-18 Microsoft Corporation Seekbar in taskbar player visualization mode
DE10117457A1 (de) 2001-04-06 2002-10-17 T Mobile Deutschland Gmbh Verfahren zur Anzeige von standardisierten großformatigen Internet-Seiten mit beispielsweise HTML-Protokoll in Einhandendgeräten mit Mobilfunkanschluss
US20020191028A1 (en) * 2001-06-19 2002-12-19 Senechalle David A. Window manager user interface
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
AU2002328118A1 (en) 2001-10-04 2003-04-22 Koninklijke Philips Electronics N.V. Method of styling a user interface and device with adaptive user interface
US7620908B2 (en) 2001-12-28 2009-11-17 Sap Ag Managing a user interface
US7080326B2 (en) * 2002-07-11 2006-07-18 International Business Machines Corporation Method and system for managing multi—paned windowed environments
US20040189710A1 (en) * 2003-03-28 2004-09-30 Goulden David L. Technique for displaying a window in a computer screen
WO2004097615A2 (en) * 2003-05-01 2004-11-11 Maz Laboratory A method of displaying a document
JP2005004396A (ja) 2003-06-11 2005-01-06 Sony Corp 情報表示方法及び情報表示装置、並びにコンピュータ・プログラム
US20090070702A9 (en) 2003-06-12 2009-03-12 Malik Dale W Generating documents using electronically-captured signatures
EP1491990B1 (en) * 2003-06-20 2010-02-17 Apple Inc. Graphical user interface system and method of displaying objects in a graphical user interface
RU2336553C2 (ru) 2003-08-21 2008-10-20 Майкрософт Корпорейшн Система и способ для обеспечения приложений, минимизированных с расширенным набором функций
US20050188174A1 (en) * 2003-10-12 2005-08-25 Microsoft Corporation Extensible creation and editing of collections of objects
US7814419B2 (en) 2003-11-26 2010-10-12 Nokia Corporation Changing an orientation of a user interface via a course of motion
US7496844B2 (en) * 2004-01-29 2009-02-24 Microsoft Corporation Automatically laying out dialogs and control panels depending on screen size
US9213538B1 (en) * 2004-02-06 2015-12-15 Time Warner Cable Enterprises Llc Methods and apparatus for display element management in an information network
US7694233B1 (en) * 2004-04-30 2010-04-06 Apple Inc. User interface presentation of information in reconfigured or overlapping containers
US8341143B1 (en) * 2004-09-02 2012-12-25 A9.Com, Inc. Multi-category searching
US7873622B1 (en) * 2004-09-02 2011-01-18 A9.Com, Inc. Multi-column search results interface
WO2006030002A1 (en) 2004-09-13 2006-03-23 Sony Ericsson Mobile Communications Ab Mobile device with adaptive user interface
US20060236264A1 (en) * 2005-04-18 2006-10-19 Microsoft Corporation Automatic window resize behavior and optimizations
US20060248471A1 (en) * 2005-04-29 2006-11-02 Microsoft Corporation System and method for providing a window management mode
US7530029B2 (en) 2005-05-24 2009-05-05 Microsoft Corporation Narrow mode navigation pane
US20070016875A1 (en) * 2005-07-12 2007-01-18 International Business Machines Corporation Method and system for partial sizing adjacency constraint in a multi-pane window frame
US7770109B2 (en) * 2005-12-16 2010-08-03 Microsoft Corporation Adaptive layout for content
US7730422B2 (en) 2006-01-25 2010-06-01 Microsoft Corporation Smart icon placement across desktop size changes
US8381127B2 (en) * 2006-02-02 2013-02-19 Scenera Technologies, Llc Methods, systems, and computer program products for displaying windows on a graphical user interface based on relative priorities associated with the windows
US8635553B2 (en) * 2006-02-16 2014-01-21 Adobe Systems Incorporated Auto adjustable pane view
EP1847924A1 (en) * 2006-04-20 2007-10-24 International Business Machines Corporation Optimal display of multiple windows within a computer display
US7831586B2 (en) * 2006-06-09 2010-11-09 Ebay Inc. System and method for application programming interfaces for keyword extraction and contextual advertisement generation
US20140033118A1 (en) * 2006-06-21 2014-01-30 Adobe Systems Incorporated Space management in windowed environments
WO2008010875A2 (en) * 2006-07-17 2008-01-24 Wayv Corporation Systems, methods, and computer program products for the creation, monetization, distribution, and consumption of metacontent
US8464177B2 (en) 2006-07-26 2013-06-11 Roy Ben-Yoseph Window resizing in a graphical user interface
US8527907B2 (en) * 2006-07-31 2013-09-03 Adobe Systems Incorporated Screen relayout
US7864163B2 (en) 2006-09-06 2011-01-04 Apple Inc. Portable electronic device, method, and graphical user interface for displaying structured electronic documents
US7692658B2 (en) * 2006-11-17 2010-04-06 Microsoft Corporation Model for layout animations
JP4982505B2 (ja) 2007-01-25 2012-07-25 シャープ株式会社 マルチウィンドウ管理装置及びプログラム、記憶媒体、並びに情報処理装置
US8191003B2 (en) * 2007-02-14 2012-05-29 International Business Machines Corporation Managing transparent windows
US20080204417A1 (en) 2007-02-27 2008-08-28 Pierce Paul M Multimodal Adaptive User Interface for a Portable Electronic Device
US8732611B2 (en) 2007-09-04 2014-05-20 Apple Inc. Graphical user interface for mobile electronic device
US8490014B2 (en) * 2007-11-07 2013-07-16 International Business Machines Corporation Method and system for controlling the arrangements of windows on a display
US8484574B2 (en) * 2007-12-06 2013-07-09 Microsoft Corporation Rule-based multi-pane toolbar display
US7831579B2 (en) * 2007-12-28 2010-11-09 Microsoft Corporation Adaptive page layout utilizing block-level elements
US8712035B2 (en) * 2008-01-31 2014-04-29 Hewlett-Packard Development Company, L.P. Online data conversion technique using a sliding window
US8356258B2 (en) 2008-02-01 2013-01-15 Microsoft Corporation Arranging display areas utilizing enhanced window states
US9280255B2 (en) 2008-05-28 2016-03-08 Qualcomm Incorporated Structured displaying of visual elements
US8451191B2 (en) * 2008-07-22 2013-05-28 Canon Kabushiki Kaisha Display system, display method, information processing apparatus, and computer-readable storage medium
US8705119B2 (en) * 2008-08-19 2014-04-22 Xerox Corporation Applications, systems and methods for identifying and monitoring critical colors in customer print jobs
US20100070876A1 (en) 2008-09-18 2010-03-18 Pictela, Inc. Self-Replicating Rich Media Interface
US8245143B2 (en) 2008-10-08 2012-08-14 Research In Motion Limited Method and handheld electronic device having a graphical user interface which arranges icons dynamically
US8302026B2 (en) 2008-11-28 2012-10-30 Microsoft Corporation Multi-panel user interface
CN102118322A (zh) 2009-12-30 2011-07-06 蒋斌 一种在聊天工具中自动控制聊天窗口数量的控制方法
US8736561B2 (en) 2010-01-06 2014-05-27 Apple Inc. Device, method, and graphical user interface with content display modes and display rotation heuristics
WO2011112533A1 (en) * 2010-03-08 2011-09-15 Stereotaxis, Inc. Method for managing non-overlapping windows
AU2011232575B2 (en) 2010-03-22 2013-02-07 Google Llc Systems and methods for displaying fixed-scale content on mobile devices
US8413045B2 (en) 2010-04-12 2013-04-02 Google Inc. Rich browser-based word processor
CA2797426C (en) 2010-04-26 2017-03-07 Research In Motion Limited Portable electronic device and method of controlling same
JP5634140B2 (ja) 2010-06-23 2014-12-03 キヤノン株式会社 情報処理装置、表示方法、およびプログラム
WO2012044714A1 (en) * 2010-10-01 2012-04-05 Imerj LLC Pinch gesture to swap windows
US20120096344A1 (en) 2010-10-19 2012-04-19 Google Inc. Rendering or resizing of text and images for display on mobile / small screen devices
US9471145B2 (en) * 2011-01-06 2016-10-18 Blackberry Limited Electronic device and method of displaying information in response to a gesture
US9361132B2 (en) * 2011-02-08 2016-06-07 Qualcomm Incorporated System and method for providing application-based user interface features on a computing device
US8707199B2 (en) 2011-02-18 2014-04-22 Blackberry Limited Quick text entry on a portable electronic device
US8904305B2 (en) 2011-03-11 2014-12-02 Google Inc. Automatically hiding controls
US20140168277A1 (en) * 2011-05-10 2014-06-19 Cisco Technology Inc. Adaptive Presentation of Content
US20140040819A1 (en) * 2011-09-09 2014-02-06 Adobe Systems Incorporated Methods and systems for managing the presentation of windows on a display device
US10248439B2 (en) 2011-11-10 2019-04-02 Microsoft Technology Licensing, Llc Format object task pane
US20130132885A1 (en) * 2011-11-17 2013-05-23 Lenovo (Singapore) Pte. Ltd. Systems and methods for using touch input to move objects to an external display and interact with objects on an external display
US8918712B2 (en) 2011-12-13 2014-12-23 Fmr Llc Dynamically generating a mobile application
JP5879536B2 (ja) * 2012-01-18 2016-03-08 パナソニックIpマネジメント株式会社 表示装置および表示方法
JP6116945B2 (ja) 2012-03-12 2017-04-19 東芝メディカルシステムズ株式会社 医用情報閲覧装置
US9026928B2 (en) * 2012-06-06 2015-05-05 Apple Inc. Graphical user interface layout
US9223591B2 (en) * 2012-08-30 2015-12-29 International Business Machines Corporation Sizing a pane of a window presented on a display
CN102929478A (zh) 2012-09-25 2013-02-13 东莞宇龙通信科技有限公司 应用切换方法及通信终端
WO2014058144A1 (ko) 2012-10-10 2014-04-17 에스케이플래닛 주식회사 고속 스크롤 컨텐츠와 스크롤바 표시 방법 및 시스템
JP5618262B2 (ja) 2013-03-08 2014-11-05 カシオ計算機株式会社 表示装置、及び表示方法、プログラム
US9921711B2 (en) 2013-03-14 2018-03-20 Samsung Electronics Co., Ltd. Automatically expanding panes
CN103324435B (zh) 2013-05-24 2017-02-08 华为技术有限公司 分屏显示的方法、装置及其电子设备
US9513783B1 (en) * 2014-03-17 2016-12-06 Amazon Technologies, Inc. Determining available screen area
US9800711B2 (en) 2014-07-24 2017-10-24 Blackberry Limited System, method and device-readable medium for communication event interaction within a unified event view
US10042655B2 (en) 2015-01-21 2018-08-07 Microsoft Technology Licensing, Llc. Adaptable user interface display
US10209849B2 (en) 2015-01-21 2019-02-19 Microsoft Technology Licensing, Llc Adaptive user interface pane objects

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6414698B1 (en) 1999-04-13 2002-07-02 International Business Machines Corporation Method for enabling adaptive sizing of display elements
US20100229110A1 (en) 2000-06-21 2010-09-09 Microsoft Corporation Task Sensitive Methods and Systems for Displaying Command Sets
US20040212640A1 (en) 2003-04-25 2004-10-28 Justin Mann System and method for providing dynamic user information in an interactive display
JP2014505927A (ja) 2010-12-20 2014-03-06 マイクロソフト コーポレーション 没入型環境のカスタマイズ

Also Published As

Publication number Publication date
JP6507178B2 (ja) 2019-04-24
US20150286344A1 (en) 2015-10-08
AU2015241262A1 (en) 2016-10-06
MX2016012650A (es) 2016-12-14
RU2689435C2 (ru) 2019-05-28
RU2016138572A (ru) 2018-04-02
CA2943249A1 (en) 2015-10-08
EP3126967A1 (en) 2017-02-08
CA2943249C (en) 2022-05-31
WO2015153319A1 (en) 2015-10-08
EP3126967B1 (en) 2019-01-30
AU2015241262B2 (en) 2020-01-30
KR20160141807A (ko) 2016-12-09
RU2016138572A3 (ko) 2018-10-31
CN106164856A (zh) 2016-11-23
TW201539301A (zh) 2015-10-16
JP2017515209A (ja) 2017-06-08
CN106164856B (zh) 2020-03-24
US10402034B2 (en) 2019-09-03

Similar Documents

Publication Publication Date Title
KR102257262B1 (ko) 적응형 사용자 인터페이스 창 관리자
KR102430623B1 (ko) 소형 스크린 디스플레이를 위한 애플리케이션 명령 제어
US10042655B2 (en) Adaptable user interface display
US9792665B2 (en) Real time visual feedback during move, resize and/or rotate actions in an electronic document
EP3126962B1 (en) Scalable user interface display
US11165963B2 (en) Device, method, and graphical user interface for accessing an application in a locked device
US20140136986A1 (en) Provision of an Open Instance of an Application
JP2017517055A (ja) 選択可能なコントロールおよびコマンドを表示および拡大縮小するためのコマンドユーザインターフェース
KR102534714B1 (ko) 노트와 연관된 사용자 인터페이스 제공 방법 및 이를 구현한 전자 장치
US10042529B2 (en) Content display with dynamic zoom focus
US10209864B2 (en) UI differentiation between delete and clear
US20150052465A1 (en) Feedback for Lasso Selection
TW201601051A (zh) 智慧型及可縮放觸控使用者介面顯示器
US20150277715A1 (en) Content display with contextual zoom focus
US10162492B2 (en) Tap-to-open link selection areas

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant