KR102325237B1 - 선택가능 컨트롤 및 명령을 디스플레이하고 스케일링하는 명령 사용자 인터페이스 - Google Patents
선택가능 컨트롤 및 명령을 디스플레이하고 스케일링하는 명령 사용자 인터페이스 Download PDFInfo
- Publication number
- KR102325237B1 KR102325237B1 KR1020167030094A KR20167030094A KR102325237B1 KR 102325237 B1 KR102325237 B1 KR 102325237B1 KR 1020167030094 A KR1020167030094 A KR 1020167030094A KR 20167030094 A KR20167030094 A KR 20167030094A KR 102325237 B1 KR102325237 B1 KR 102325237B1
- Authority
- KR
- South Korea
- Prior art keywords
- chunk
- ribbon
- layout
- controls
- overflow
- Prior art date
Links
- 238000000034 method Methods 0.000 claims abstract description 52
- 238000003860 storage Methods 0.000 claims description 29
- 230000008859 change Effects 0.000 claims description 16
- 230000015654 memory Effects 0.000 claims description 16
- 238000012545 processing Methods 0.000 claims description 13
- 230000004044 response Effects 0.000 claims description 5
- 238000009940 knitting Methods 0.000 claims description 4
- 230000006855 networking Effects 0.000 claims description 4
- 230000005574 cross-species transmission Effects 0.000 description 13
- 238000004891 communication Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 230000007423 decrease Effects 0.000 description 7
- 238000007726 management method Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 210000000707 wrist Anatomy 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction 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/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction 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/0483—Interaction with page-structured environments, e.g. book metaphor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction 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/04842—Selection of displayed objects or displayed text elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction 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/04847—Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction 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/0485—Scrolling or panning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/048—Indexing scheme relating to G06F3/048
- G06F2203/04803—Split screen, i.e. subdividing the display area or the window area into separate subareas
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- User Interface Of Digital Computer (AREA)
- Digital Computer Display Output (AREA)
- Document Processing Apparatus (AREA)
Abstract
제1 리본 및 제2 리본 중 적어도 하나에서의 선택가능 소프트웨어 명령들 및 컨트롤들을 디스플레이하고 스케일링하기 위한 개선된 사용자 인터페이스를 위한 방법 및 시스템이 제공된다. 최상위 명령 탭들의 제1 리본 아래에, 선택된 명령 탭과 연관된 선택가능 컨트롤들이 논리적 서브그룹들 또는 청크들에 제시된다. 상이한 화면 크기 또는 창 크기의 변화에 대응하기 위해 청크들 내의 선택가능 컨트롤들이 세분하여 스케일링된다. 스케일링은 청크들 중 적어도 하나의 청크 내의 선택가능 컨트롤들의 서브셋을 오버플로우 창과 제2 리본 사이에서 이동시키는 것을 포함한다.
Description
컴퓨터 및 소프트웨어 사용자는, 사용자가 글을 쓰고, 계산하며, 정리하고, 프레젠테이션을 준비하며, 전자 메일을 송신하고 수신하며, 음악을 만들고, 기타를 하는 데 도움을 주는, 사용자에게 친숙한 소프트웨어 애플리케이션에 익숙해졌다. 예를 들어, 워드 프로세싱 애플리케이션은 사용자가 각종의 유용한 문서들을 준비할 수 있게 한다. 스프레드시트 애플리케이션은 사용자가 데이터를 입력하고, 조작하며, 정리할 수 있게 한다. 전자 슬라이드 프레젠테이션 애플리케이션은 사용자가 텍스트, 사진, 데이터 또는 다른 유용한 객체들을 포함하는 각종의 슬라이드 프레젠테이션을 작성할 수 있게 한다.
사용자가 주어진 소프트웨어 애플리케이션의 명령을 찾아내고 이용하는 것을 돕기 위해, 복수의 명령 컨트롤들을 포함하는 사용자 인터페이스는 전형적으로 사용자가 텍스트 또는 데이터를 입력하고, 복사하며, 조작하고, 서식 설정할 수 있는 디스플레이된 작업 공간의 상부, 하부 또는 측면 가장자리를 따라 제공된다. 이러한 명령은 종종 "file", "edit", "view", "insert", "format" 등과 같은 이름을 갖는 선택가능 버튼을 포함한다. 전형적으로, 이 최상위 버튼들 중 하나, 예를 들어, "format"의 선택은 최상위 버튼과 연관된 하나 이상의 선택가능 컨트롤들 - 예를 들어, 최상위 기능인 "format"에 속해 있는 "font" - 을 노출시키기 위해 드롭다운 메뉴 또는 표시줄(bar)이 펼쳐지게 한다. 그렇지만, 컴퓨팅 디바이스의 크기가 감소됨에 따라, 작업 공간, 컨트롤, 및 명령의 디스플레이를 위해 이용가능한 화면 공간의 양도 감소된다.
이들 및 다른 일반적인 고려사항들과 관련하여 실시예들이 이루어졌다. 또한, 비교적 구체적인 문제점들이 논의되었지만, 실시예들이 배경 기술에서 언급된 특정의 문제점들을 해결하는 것으로 제한되어서는 안된다는 것을 잘 알 것이다.
요약하면, 본 개시 내용은 일반적으로 적어도 하나의 리본 내의 선택가능 컨트롤들 및/또는 명령들을 디스플레이하고 스케일링하는 개선된 사용자 인터페이스에 관한 것이다. 보다 상세하게는, 본 개시 내용은 상이한 창 크기, 디바이스 크기, 또는 창 또는 디바이스 크기의 변화에 대응하기 위해 제1 리본 및 제2 리본 중 적어도 하나의 리본에 디스플레이되는 소프트웨어 명령들 및/또는 컨트롤들의 세분화된 스케일링(granular scaling)에 관한 것이다.
이 발명의 내용은 이하에서 발명을 실시하기 위한 구체적인 내용에 추가로 기술되는 선택된 개념들을 간략화된 형태로 소개하기 위해 제공된다. 이 발명의 내용은 청구된 발명 요지의 핵심적인 특징들 또는 필수적인 특징들을 언급하는 것으로 의도되어 있지도 않고, 청구된 발명 요지의 범주를 제한하기 위해 사용되는 것으로 의도되어 있지도 않다.
비제한적이고 비전수적인 실시예들이 이하의 도면들을 참조하여 기술된다.
도 1은 예시적인 실시예에 따른, 실루엣(silhouette)을 디스플레이하기 위한 소프트웨어 애플리케이션의 그래픽 인터페이스의 예시적인 개략도.
도 2 및 도 3은 예시적인 실시예에 따른, 실루엣을 디스플레이하기 위한 제1 소프트웨어 애플리케이션의 예시적인 그래픽 인터페이스를 나타낸 도면.
도 4 및 도 5는 예시적인 실시예에 따른, 실루엣을 디스플레이하기 위한 제2 소프트웨어 애플리케이션의 예시적인 그래픽 인터페이스를 나타낸 도면.
도 6은 다른 예시적인 실시예에 따른, 태블릿 컴퓨터 상에 실루엣을 디스플레이하기 위한 제3 소프트웨어 애플리케이션의 예시적인 그래픽 인터페이스를 나타낸 도면.
도 7은 다른 예시적인 실시예에 따른, 제1 리본 및 제2 리본을 디스플레이하는 소프트웨어 애플리케이션의 그래픽 인터페이스의 예시적인 부분을 나타낸 도면.
도 8은 또 다른 예시적인 실시예에 따른, 제1 리본 및 제2 리본을 디스플레이하는 소프트웨어 애플리케이션의 그래픽 인터페이스의 예시적인 부분을 나타낸 도면.
도 9는 또 다른 예시적인 실시예에 따른, 제1 리본 및 제2 리본을 디스플레이하는 소프트웨어 애플리케이션의 그래픽 인터페이스의 예시적인 부분을 나타낸 도면.
도 10은 다른 예시적인 실시예에 따른, 제1 리본, 제2 리본, 및 2 개의 상이한 숨겨진 오버플로우 창(overflow pane)을 디스플레이하는 소프트웨어 애플리케이션의 그래픽 인터페이스의 예시적인 부분을 나타낸 도면.
도 11은 다른 예시적인 실시예에 따른, 제1 리본의 일부분 및 탭 콜아웃(tab callout)을 디스플레이하는 소프트웨어 애플리케이션의 그래픽 인터페이스의 예시적인 부분을 나타낸 도면.
도 12는 다른 예시적인 실시예에 따른, 소프트웨어 애플리케이션에 대한 실루엣의 예시적인 제1 리본 및 제2 리본의 예시적인 스케일링을 나타낸 도면.
도 13은 예시적인 실시예에 따른, 디스플레이 디바이스에 개선된 사용자 인터페이스를 디스플레이하고 스케일링하는 것에 의해 소프트웨어 애플리케이션으로부터의 기능을 제공하는 예시적인 방법을 나타낸 도면.
도 14는 본 개시 내용의 실시예들이 실시될 수 있는 컴퓨팅 디바이스의 예시적인 물리적 컴포넌트들을 나타낸 블록도.
도 15a 및 도 15b는 본 개시 내용의 실시예들이 실시될 수 있는 모바일 컴퓨팅 디바이스의 간략화된 블록도.
도 16은 본 개시 내용의 실시예들이 실시될 수 있는 분산 컴퓨팅 시스템의 간략화된 블록도.
도 1은 예시적인 실시예에 따른, 실루엣(silhouette)을 디스플레이하기 위한 소프트웨어 애플리케이션의 그래픽 인터페이스의 예시적인 개략도.
도 2 및 도 3은 예시적인 실시예에 따른, 실루엣을 디스플레이하기 위한 제1 소프트웨어 애플리케이션의 예시적인 그래픽 인터페이스를 나타낸 도면.
도 4 및 도 5는 예시적인 실시예에 따른, 실루엣을 디스플레이하기 위한 제2 소프트웨어 애플리케이션의 예시적인 그래픽 인터페이스를 나타낸 도면.
도 6은 다른 예시적인 실시예에 따른, 태블릿 컴퓨터 상에 실루엣을 디스플레이하기 위한 제3 소프트웨어 애플리케이션의 예시적인 그래픽 인터페이스를 나타낸 도면.
도 7은 다른 예시적인 실시예에 따른, 제1 리본 및 제2 리본을 디스플레이하는 소프트웨어 애플리케이션의 그래픽 인터페이스의 예시적인 부분을 나타낸 도면.
도 8은 또 다른 예시적인 실시예에 따른, 제1 리본 및 제2 리본을 디스플레이하는 소프트웨어 애플리케이션의 그래픽 인터페이스의 예시적인 부분을 나타낸 도면.
도 9는 또 다른 예시적인 실시예에 따른, 제1 리본 및 제2 리본을 디스플레이하는 소프트웨어 애플리케이션의 그래픽 인터페이스의 예시적인 부분을 나타낸 도면.
도 10은 다른 예시적인 실시예에 따른, 제1 리본, 제2 리본, 및 2 개의 상이한 숨겨진 오버플로우 창(overflow pane)을 디스플레이하는 소프트웨어 애플리케이션의 그래픽 인터페이스의 예시적인 부분을 나타낸 도면.
도 11은 다른 예시적인 실시예에 따른, 제1 리본의 일부분 및 탭 콜아웃(tab callout)을 디스플레이하는 소프트웨어 애플리케이션의 그래픽 인터페이스의 예시적인 부분을 나타낸 도면.
도 12는 다른 예시적인 실시예에 따른, 소프트웨어 애플리케이션에 대한 실루엣의 예시적인 제1 리본 및 제2 리본의 예시적인 스케일링을 나타낸 도면.
도 13은 예시적인 실시예에 따른, 디스플레이 디바이스에 개선된 사용자 인터페이스를 디스플레이하고 스케일링하는 것에 의해 소프트웨어 애플리케이션으로부터의 기능을 제공하는 예시적인 방법을 나타낸 도면.
도 14는 본 개시 내용의 실시예들이 실시될 수 있는 컴퓨팅 디바이스의 예시적인 물리적 컴포넌트들을 나타낸 블록도.
도 15a 및 도 15b는 본 개시 내용의 실시예들이 실시될 수 있는 모바일 컴퓨팅 디바이스의 간략화된 블록도.
도 16은 본 개시 내용의 실시예들이 실시될 수 있는 분산 컴퓨팅 시스템의 간략화된 블록도.
이하의 발명을 실시하기 위한 구체적인 내용에서, 본원의 일부를 형성하고 구체적인 실시예들 또는 예들이 예시로서 도시되어 있는 첨부 도면들을 참조한다. 본 개시 내용의 범주를 벗어남이 없이, 이 양태들이 결합될 수 있고, 다른 양태들이 이용될 수 있으며, 구조적 변경들이 행해질 수 있다. 따라서, 이하의 발명을 실시하기 위한 구체적인 내용은 제한적인 의미로 해석되어서는 안되며, 본 개시 내용의 범주는 첨부된 청구항들 및 그의 등가물들에 의해 한정된다.
앞서 간략히 기술한 바와 같이, 본 개시 내용의 실시예들은 개선된 그래픽 인터페이스에 관한 것이다. 앞서 논의된 바와 같이, 점점 더 작은 컴퓨팅 디바이스가 설계되고 이용되고 있다. 컴퓨팅 디바이스의 크기가 감소됨에 따라, 그의 디스플레이 화면의 크기도 감소된다. 그에 따라, 소프트웨어 애플리케이션을 디스플레이하는 창도 크기가 작다. 작은 창은 작업 공간("캔버스(canvas)"라고도 지칭됨) 및 선택가능 명령들 및 컨트롤들을 디스플레이할 보다 적은 공간을 제공한다.
상기 제한을 해결하기 위해, 본 개시 내용의 실시예들은 일반적으로 개선된 그래픽 인터페이스를 위한 방법 및 시스템에 관한 것이다. 개선된 사용자 인터페이스는, 소프트웨어 애플리케이션을 디스플레이하는 창의 크기 또는 창의 크기 또는 배향의 변화에 기초하여, 실루엣 내의 선택가능 소프트웨어 명령들 및 컨트롤들을 디스플레이하고 세분하여(granularly) 스케일링한다.
도 1은 소프트웨어 애플리케이션(본원에서 "애플리케이션" 또는 "앱"이라고도 지칭됨)의 실루엣(100)에 대한 예시적인 개략도를 나타낸 것이다. 실루엣(100)은 하나 이상의 선택가능한 기능 명령들 및/또는 컨트롤들을 하나 이상의 정보 제공 부분들과 함께 디스플레이하는 사용자 인터페이스의 형태로 되어 있는 애플리케이션에 대한 배경 모습(background landscape)이다. 실루엣(100)은 애플리케이션을 디스플레이하는 창의 바깥 테두리(outer perimeter)를 정의하는 프레임(101)을 포함한다. 프레임(101) 내에서, 실루엣(100)은 적어도 하나의 리본 및 작업 공간(105)을 추가로 포함한다. 일부 실시예에서, 실루엣(100) 내의 프레임(101)은 제1 리본(102) 및 제2 리본(104)을 포함한다. 작업 공간(105)은, 객체들이 생성되고 편집되는, 애플리케이션 내에 디스플레이되는 영역 또는 공간이다. 각각의 리본(102, 104)은, 애플리케이션의 사용자가 선택하기 위한 명령들 및/또는 컨트롤들을 편성하여 제공하는, 프레임(101) 내에 디스플레이되는 지정된 영역 또는 공간이다. 일부 실시예에서, 리본(102 및 104)은 작업 공간(105)의 위쪽에 위치된다. 다른 실시예에서, 리본(102 및 104)은 작업 공간(105)의 왼쪽에, 오른쪽에 또는 아래쪽에 위치된다. 또 다른 실시예에서, 제1 리본(102)과 제2 리본(104)이 작업 공간(105)의 상이한 측면들에 위치된다.
도 2 내지 도 6에 예시된 예시적인 그래픽 인터페이스는 다양한 소프트웨어 애플리케이션에 대한 다양한 실루엣(100)을 디스플레이한다. 도 2 및 도 3은 슬라이드 프레젠테이션 애플리케이션에 대한 2 개의 상이한 예시적인 실루엣(100)을 나타낸 것이다. 도 2 및 도 3은 슬라이드 프레젠테이션 애플리케이션에 대한 2 개의 상이한 그래픽 인터페이스의 2 개의 예를 나타낸 것이다. 도 4 및 도 5는 스프레드시트 애플리케이션에 대한 2 개의 상이한 예시적인 실루엣(100)을 나타낸 것이다. 도 4 및 도 5는 스프레드시트 애플리케이션에 대한 2 개의 상이한 그래픽 인터페이스의 2 개의 예를 나타낸 것이다. 도 6은 태블릿에 의해 실행되는 워드 프로세싱 애플리케이션에 대한 예시적인 실루엣(100)을 나타낸 것이다.
도 7 내지 도 9는 다양한 소프트웨어 애플리케이션에 대한 실루엣(100)의 예시적인 제1 리본(102) 및 제2 리본(104)을 나타낸 것이다.
도 7 및 도 8은 슬라이드 프레젠테이션 애플리케이션에 대한 2 개의 상이한 예시적인 제1 리본(102) 및 제2 리본(104)을 나타낸 것이다. 도 7 및 도 8은 슬라이드 프레젠테이션 애플리케이션에 있어서 동일한 창 크기에 대해 상이한 선택가능 컨트롤들(102)이 어떻게 정렬되고 디스플레이될 수 있는지를 나타낸 것이다. 도 9는 워드 프로세싱 애플리케이션에 대한 예시적인 제1 리본(102) 및 제2 리본(104)을 나타낸 것이다. 제1 리본(102) 및 제2 리본(104)은 사용자에 의한 선택을 위해 이용가능한 복수의 명령들 및 컨트롤들(108)을 모아두고 있다. 제1 리본(102)은 하나 이상의 탭들(106)을 디스플레이한다. 각각의 탭(106)은 상이한 선택가능 컨트롤들 및/또는 명령들(108)의 그룹들을 식별해준다. 일부 실시예에서, 선택가능 컨트롤들(108)은 선택가능 컨트롤들(108)에 의해 수행되는 작업들에 따라 그룹화된다. 제2 리본(104)은 선택가능 컨트롤들(108)을 주어진 탭(106)에 따라 그룹화한다. 제2 리본(104)은 또한 각각의 탭(106)에 대한 선택가능 명령들(108)을 본원에서 청크(chunk)(110)라고 지칭되는 서브그룹들로 구성한다. 그에 따라, 각각의 선택가능 컨트롤은 탭(106) 및 청크(110)와 연관되거나 탭(106) 및 청크(110)에 속하게 편성되어 있다. 일부 실시예에서, 하나 이상의 선택가능 명령들(108)이 제1 리본(102)에 디스플레이된다. 그렇지만, 애플리케이션의 창의 크기에 따라, 탭과 연관된 각각의 선택가능 명령(108)을 디스플레이하기에 또는 애플리케이션에 대한 각각의 탭(106)을 디스플레이하기에 충분한 공간이 없을 수 있다. 게다가, 제1 리본(102) 및 제2 리본(104) 내의 선택가능 명령들 및/또는 컨트롤들(108)은 마우스, 키보드, 펜, 포인터, 및/또는 터치 감응 스크린을 통해 행해지는 사용자 선택에 의해 사용하기 위해 호환가능할 필요가 있다.
그에 따라, 컴퓨팅 디바이스에 의해 실행되는 소프트웨어 애플리케이션은 실루엣(100)에 대한 레이아웃을 계산한다. 계산된 레이아웃은 소프트웨어 애플리케이션의 실루엣(100)에 의해 디스플레이된다. 실루엣(100)에 대한 적절한 레이아웃을 계산하기 위해, 애플리케이션은 애플리케이션의 현재 창 크기를 식별해야만 한다. 애플리케이션의 창 크기를 식별하는 것은 애플리케이션의 창 크기의 변화를 식별하는 것을 포함한다. 창은, (창의 크기 조정과 같은) 사용자 선택으로 인해, (하나의 모니터로부터 상이한 크기의 모니터로 변경하는 것과 같은) 컴퓨팅 디바이스에 대한 디스플레이 화면의 변화, 세로 보기(portrait)와 가로 보기(landscape) 사이의 디바이스 배향의 변화에 기초하여, 또는 컴퓨팅 디바이스의 변화에 기초하여, 크기가 변할 수 있다. (전화기, 태블릿, 손목시계 등과 같은) 보다 작은 컴퓨터 디바이스에서, 애플리케이션의 창 크기는 디스플레이 화면의 크기 및/또는 배향에 대응할 수 있다.
도 12는 예시적인 스케일링(200)을 나타낸 것이다. 스케일링(200)은 다양한 창 크기에 대해 제1 리본(102) 및 제2 리본(104)에 대한 복수의 상이한 예시적인 레이아웃들(202)을 나타내고 있다. 도 2 내지 도 12에 예시된 바와 같이, 제1 리본(102)은 적어도 지정된 탭(106a)을 디스플레이한다. 지정된 탭(106a)은 사용자에 의해 선택된 탭(106)이거나, 애플리케이션에 의해 자동으로 선택되는 기본 탭(default tab)이다. 제2 리본(104)은 지정된 탭(106a)과 연관된 선택가능 컨트롤들(108)의 적어도 일부분을 디스플레이한다. 사용자에 의한 다른 탭(106)의 선택의 표시를 수신할 시에, 제2 리본(104)은 새로 지정된 탭(106a)과 연관된 선택가능 컨트롤들(108)의 적어도 일부분을 디스플레이한다. 제2 리본(104)에 의해 디스플레이될 수 있을 임의의 선택가능 컨트롤(108)은 본원에서 잠재적 디스플레이 컨트롤(potential display control)이라고 지칭된다.
일부 실시예에서, 탭(106)과 연관된 선택가능 컨트롤들(108)의 일부분은 제2 리본(104) 상에 결코 디스플레이되지 않으며, 그 대신에 도 7, 도 8, 및 도 10에 예시된 바와 같이 확장 버튼(120)의 선택 시에만 디스플레이되는 팝업 플라이아웃(pop-up flyout) 내에 보관된다. 제2 리본(104)에 의해 결코 디스플레이되지 않는 선택가능 컨트롤(108)은 본원에서 숨겨진 컨트롤(concealed control)이라고 지칭된다. 일부 실시예에서, 소프트웨어 애플리케이션의 개발자는 숨겨진 컨트롤들과 잠재적 디스플레이 컨트롤들을 결정한다. 일부 실시예에서, 애플리케이션의 사용자는 어느 선택가능 컨트롤들(108)이 숨겨진 컨트롤들 및 잠재적 디스플레이 컨트롤들인지를 수정할 수 있다. 일부 실시예에서, 숨겨진 컨트롤들을 포함하는 임의의 청크(110)는 그 청크와 연관되어 있는 확장 버튼(120)을 포함하고 디스플레이한다. 소프트웨어 애플리케이션은, 연관된 확장 버튼(120)의 사용자 선택의 표시를 수신할 시에, 그 청크와 연관된 숨겨진 컨트롤들을 디스플레이하기 위해 그 청크와 연관된 팝업 플라이아웃을 디스플레이한다. 다른 실시예에서, 숨겨진 컨트롤들을 포함하는 임의의 청크(110)는 그 청크와 연관되어 있는 오버플로우 창(112)에 확장 버튼(120)을 포함하고 디스플레이한다. 오버플로우 창(112)은 이하에서 보다 상세히 논의된다.
일부 실시예에서, 청크(110) 내의 잠재적 디스플레이 컨트롤들의 일부분이 마이크로그룹(micro-group) 내에 위치된다. 일부 실시예에서, 동일한 명령에 대해 마이크로그룹 내의 선택가능 컨트롤들(108)이 상이하다. 예를 들어, 글꼴의 변경을 위한 상이한 이용가능 글꼴들이 마이크로그룹 내에 열거될 수 있다. 대안적으로, 드물게 이용되는 글꼴들은 숨겨진 컨트롤일 수 있고 제2 리본(104)에서의 마이크로그룹 내에 디스플레이되지 않을 수 있다. 이 마이크로그룹들은 도 7 내지 도 9에 예시된 바와 같이 특정 선택가능 컨트롤과 연관된 펼치기 버튼(unfold button)(114)을 통해 제2 리본(104)으로부터 식별되고 접근가능하다. 마이크로그룹을 포함하는 임의의 선택가능 컨트롤(108)은 그 선택가능 명령과 연관되어 있는 펼치기 버튼(114)을 포함하고 디스플레이한다. 소프트웨어 애플리케이션은, 펼치기 버튼(114)의 사용자 선택의 표시를 수신할 시에, 그 선택가능 컨트롤(108)과 연관된 마이크로그룹 선택가능 명령들을 디스플레이하기 위해 특정 선택가능 컨트롤과 연관된 명령 콜아웃을 디스플레이한다.
특정 레이아웃(202)(예컨대, 도 12에 도시된 레이아웃들 중 하나의 레이아웃)이 우선순위 리스트(priority list)를 이용하여 계산된다. 일부 실시예에서, 우선순위 리스트는 다양한 잠재적 애플리케이션 창 크기들에 대해 어떤 탭들(106) 및/또는 잠재적 디스플레이 컨트롤들(108)이 제1 리본(102) 및/또는 제2 리본(104)에 디스플레이되는지를 식별해준다. 우선순위 리스트는 임의의 잠재적 창 크기에 대한 스케일링을 계산한다. 일부 실시예에서, 우선순위 리스트는 위로는 미리 결정된 최대 창 크기까지 그리고/또는 아래로는 미리 결정된 최소 창 크기까지 임의의 잠재적 창 크기에 대한 스케일링을 계산한다. 추가의 실시예에서, 창 크기가 스케일링과 함께 우선순위 리스트에 의해 계산되고 그리고/또는 식별된다. 일부 실시예에서, 우선순위 리스트는 특정의 디바이스에 대해 이미 계산된 일부 레이아웃들(예컨대, 전체 화면 가로 보기(full screen landscape), 전체 화면 세로 보기(full screen portrait))을 캐싱하거나 저장할 수 있지만, 우선순위 리스트에 의해 이용되는 스케일링 논리가 이 저장된 레이아웃들에 의존할 필요는 없다.
탭(106), 선택가능 컨트롤(108), 청크(110), 버튼, 및/또는 다른 아이템(item)들이 그래픽 표현 및/또는 텍스트 표현을 이용하여 디스플레이되거나 지정될 수 있다. 일부 실시예에서, 우선순위 리스트는 또한 탭(106), 청크(110), 선택가능 컨트롤(108), 버튼, 및/또는 다른 아이템들이 식별된 창 크기에 기초하여 크기가 변해야 하는지를 식별해준다. 부가의 실시예에서, 우선순위 리스트는 또한 탭(106), 청크(110), 선택가능 컨트롤(108), 버튼, 및/또는 다른 아이템 사이의 간격이 식별된 창 크기에 기초하여 크기가 변해야 하는지를 식별해준다. 추가의 실시예에서, 우선순위 리스트는 또한 탭(106), 청크(110), 선택가능 컨트롤(108), 및/또는 다른 아이템에 대해 그래픽 표현과 텍스트 표현 둘 다가 디스플레이되어야만 하는지 또는 그래픽 표현과 텍스트 표현 중 하나만이 디스플레이되어야만 하는지를 식별해준다. 일부 실시예에서, 우선순위 리스트는 또한 탭(106), 청크(110), 선택가능 컨트롤(108), 및/또는 다른 아이템에 대해 그래픽 표현과 텍스트 표현이 크기가 감소되어야만 하는지 또는 그래픽 표현이 잘리거나 절단되어야만 하는지를 식별해준다.
도 7 내지 도 9는 텍스트 표현을 이용하는 탭들(106)을 나타내고 있다. 도 8은 그래픽 표현(108a)과 텍스트 표현(108b) 둘 다로 표현되는 선택가능 컨트롤(108)을 나타내고 있다. 도 7 및 도 9는 그래픽 표현(108a)만으로 표현되는 선택가능 컨트롤(108)을 나타내고 있다. 도 7은 텍스트 표현(108b)만으로 표현되는 선택가능 컨트롤(108)을 나타내고 있다. 도 7 내지 도 9는 그래픽 표현(110a)과 텍스트 표현(110b) 둘 다로 표현되는 청크(110)를 나타내고 있다.
일부 실시예에서, 애플리케이션 창의 결정된 크기를 우선순위 리스트에 상관시킴으로써 지정된 탭(106a)과 연관된 잠재적 디스플레이 컨트롤들로부터 디스플레이하기 위한 선택가능 컨트롤들(108)을 식별하는 것에 의해 레이아웃(202)이 계산된다. 그에 따라, 식별된 잠재적 선택가능 컨트롤들은 제2 리본(104) 상에 디스플레이되는 선택가능 컨트롤들(108)이고, 레이아웃을 계산할 때 우선순위 리스트에 의해 식별되지 않는 잠재적 선택가능 컨트롤들은 적절한 오버플로우 창(112) 내에 숨겨진다. 추가의 실시예에서, 청크들(110) 중 적어도 하나의 청크 내의 잠재적 디스플레이 컨트롤들의 서브셋을 그 서브셋을 포함하는 제2 리본(104) 상에 디스플레이되는 특정 청크로부터 그 특정 청크와 연관된 숨겨진 오버플로우 창으로 이동시키는 것에 의해 레이아웃(202)이 계산된다. 그에 따라, 일부 실시예에서, 식별된 창 크기에 기초한 우선순위 리스트는 이전에 디스플레이되고 있었던 제1 청크 내의 2 개 이상의 선택가능 컨트롤들의 서브셋이 제1 청크와 연관된 숨겨진 오버플로우 창 내로 이동되어야 하는 것을 필요로 할 수 있다. 창 크기가 추가로 감소될 때, 일부 실시예에서, 우선순위 리스트에 기초하여 스케일링 논리를 사용한 각각의 새로 계산된 레이아웃은 제2 리본(104) 상에 이전에 디스플레이된 하나 이상의 청크(들)로부터의 선택가능 컨트롤들의 적어도 하나의 부가 서브셋을 적절한 청크(들)와 연관된 하나 이상의 숨겨진 오버플로우 창(들)으로 이동시킨다. 이와 달리, 창 크기의 각각의 증가에 대해서는, 추가의 실시예에서, 우선순위 리스트에 기초하여 스케일링 논리를 사용한 각각의 새로 계산된 레이아웃은 이전에 숨겨져 있던 하나 이상의 오버플로우 창(들)으로부터의 선택가능 컨트롤들의 적어도 하나의 부가 서브셋을 제2 리본(104) 상에 디스플레이하기 위해 하나 이상의 적절한 청크(들)로 이동시킨다.
도 10은 제1 리본(102), 제2 리본(104), 및 오버플로우 창(112)(본원에서 "숨겨진 오버플로우 창"이라고도 지칭됨)을 디스플레이하는 실루엣(100)의 일부분의 예시적인 실시예를 나타낸 것이다. 오버플로우 창(112)이 숨겨진 것으로 지칭되는데, 그 이유는 오버플로우 버튼(118)의 선택의 표시가 애플리케이션에 의해 수신될 때까지 창(112)이 제2 리본(104)에 의해 디스플레이되지 않기 때문이다. 숨겨진 오버플로우 창(112)은 애플리케이션의 창 크기가 보다 크면 제2 리본(104)에 디스플레이되어질 선택가능 컨트롤들(108)의 리스트를 포함하는 창(pane) 또는 영역이다. 환언하면, 창의 크기에 기초하여 제2 리본(104)에 디스플레이될 수 없는 임의의 잠재적 디스플레이 컨트롤은 오버플로우 창(112)에 열거되거나 오버플로우 창(112) 내로 이동된다. 각각의 오버플로우 창(112)은 특정 청크(110)와 연관되어 있다. 선택가능 컨트롤을 리본 상의 제1 청크에 디스플레이되지 않도록 제거하는 레이아웃은 컨트롤을 제1 청크와 연관된 제1 오버플로우 창으로 이동시킨다. 그에 따라, 제1 선택가능 컨트롤 및 제2 선택가능 컨트롤을 제1 청크에 디스플레이되지 않도록 제거하고 제3 선택가능 컨트롤을 제2 청크에 디스플레이되지 않도록 제거하는 레이아웃은 제1 선택가능 컨트롤 및 제2 선택가능 컨트롤을 제1 청크와 연관된 제1 오버플로우 창에 위치시키고 제3 선택가능 컨트롤을 제2 청크와 연관된 제2 오버플로우 창에 위치시킨다. 일부 실시예에서, 오버플로우 창(112)은 창 식별자(pane identifier)(112a)를 포함한다. 일부 실시예에서, 창 식별자(112a)는 오버플로우 창(112)과 연관된 청크를 식별해준다.
청크(110)와 연관된 임의의 잠재적 디스플레이 컨트롤이 숨겨진 오버플로우 창(112)에 위치되어 있을 때, 제2 리본(104)은 오버플로우 지시자(overflow indicator)(116)를 디스플레이한다. 오버플로우 지시자(116)는 잠재적 디스플레이 컨트롤들 중 일부가 오버플로우 창(112)으로 이동되었다는 것을 사용자에 알려준다. 일부 실시예에서, 오버플로우 지시자(116)는 그래픽 표현 및/또는 텍스트 표현이다. 추가의 실시예에서, 오버플로우 지시자(116)는 오버플로우 버튼(118)이기도 하다. 대안의 실시예에서, 오버플로우 지시자(116)가 오버플로우 버튼(118)과 분리되어 있고 그와 상이하다.
그에 부가하여, 일부 실시예에서, 오버플로우 창(112)에 열거된 선택가능 컨트롤들은 사용자 편의를 위해 정렬되어 있거나 정리되어 있다. 예를 들어, 일부 실시예에서, 제1 청크와 연관된 제1 오버플로우 창은 창에 열거되는 임의의 선택가능 컨트롤을, 제1 청크에서 디스플레이되는 순서와 유사하거나 동일한 방식으로, 디스플레이한다. 게다가, 이 순서는, 선택가능 컨트롤들(108)이 제1 청크로부터 제거되는 순서와 관계없이, 유지된다. 예를 들어, 제1 청크가 이하에 나타낸 바와 같이 디스플레이되는 6 개의 상이한 선택가능 컨트롤들(A, B, C, D, E, 및 F)을 열거하고:
ABC
DEF
B와 E가 제1 청크로부터 제1 청크와 연관된 제1 오버플로우 창(112)으로 이동되는 경우, 제1 오버플로우 창(112)은 이하에 나타낸 바와 같이 B와 E를 디스플레이하고:
B
E
이는 B와 E가 제1 오버플로우 창으로 이동되기 전에 제1 청크에서 어떻게 디스플레이되어 있는지와 유사하다. 이 동일한 예에서, 선택가능 컨트롤 A가 이어서 제1 청크로부터 제1 오버플로우 창(112)으로 이동되면, 제1 오버플로우 창(112)은 제2 리본 내의 제1 청크의 디스플레이와 동일하거나 유사한 느낌을 제1 오버플로우 창에서 유지하기 위해 이하에 나타낸 바와 같이 A, B 및 E를 디스플레이한다:
AB
E
다른 예에서, 오버플로우 창(112)은 오버플로우 창의 배향(수직 또는 수평)에 관계없이 선택가능 컨트롤들의 순서를 제2 리본에서 디스플레이되는 것과 동일하게 유지한다. 예를 들어, 이전의 예들에 기초하여, 이 실시예에서, B와 E가 제1 청크로부터 제1 청크와 연관된 제1 오버플로우 창(112)으로 이동되는 경우, 제1 오버플로우 창(112)은 이하에 나타낸 바와 같이 B와 E를 디스플레이하고:
BE, 또는
B
E
이는 B와 E가 제1 오버플로우 창으로 이동되기 전에 제1 청크에서 디스플레이되는 바로 그 순서이다. 이 동일한 예에서, 선택가능 컨트롤 A가 이어서 제1 청크로부터 제1 오버플로우 창(112)으로 이동되면, 제1 오버플로우 창(112)은 제1 오버플로우 창에서 선택가능 컨트롤들의 순서를 제2 리본 내의 제1 청크에 의해 디스플레이된 것과 동일하게 유지하기 위해 이하에 나타낸 바와 같이 A, B 및 E를 디스플레이한다:
ABE, 또는
A
B
E
일부 실시예에서, 소프트웨어 애플리케이션 창의 크기를 우선순위 리스트 내의 탭 순위 리스트에 상관시킴으로써 잠재적 탭들로부터 디스플레이하기 위한 탭들(106)을 식별하는 것에 의해 레이아웃(202)이 계산된다. 잠재적 탭들은 제1 리본(102)에 의해 디스플레이될 수 있을 임의의 선택가능 탭(106)이다. 이 실시예는 적어도 하나의 잠재적 탭을 제1 리본(102) 상의 리스트와 제1 리본(102)과 연관된 숨겨진 탭 콜아웃(124) 사이에서 이동시키는 것을 추가로 포함할 수 있다. 도 11은 제1 리본(102)의 일부분 및 제1 리본(102)과 연관된 탭 콜아웃(124)을 디스플레이하는 소프트웨어 애플리케이션의 그래픽 인터페이스의 예시적인 부분을 나타낸 것이다. 탭 콜아웃(124)이 숨겨진 것으로 지칭되는데, 그 이유는 스필오버 버튼(spillover button)(122)의 선택의 표시가 애플리케이션에 의해 수신되지 않는 한 탭 콜아웃(124)이 제1 리본(102)에 의해 디스플레이되지 않기 때문이다. 임의의 탭이 제1 리본(102)으로부터 탭 콜아웃(124)으로 이동될 때 스필오버 버튼(122)이 제1 리본에 의해 디스플레이된다. 일부 실시예에서, 스필오버 버튼(122)에 부가하여, 탭들의 적어도 일부분이 이제 탭 콜아웃(124)에 열거되어 있다는 것을 사용자에게 알려주기 위해 스필오버 지시자(spillover indicator)가 제1 리본에 의해 디스플레이된다. 스필오버 버튼(122)은 탭 콜아웃(124)을 디스플레이하기 위해 사용자에 의해 선택되는 버튼이다. 스필오버 지시자는 탭들의 적어도 일부분이, 제1 리본(102) 상에 디스플레이되는 대신에, 이제 탭 콜아웃(124) 내에 위치되어 있다는 것을 사용자에게 알려주는 그래픽 표현 및/또는 텍스트 표현이다. 일부 실시예에서, 스필오버 버튼(122)은 스필오버 지시자이기도 하다. 대안의 실시예에서, 스필오버 지시자가 스필오버 버튼(122)과 상이하고 그로부터 분리되어 있다.
일부 실시예에서, 마이크로그룹들로 축소(condense)될 수 있는 선택가능 컨트롤들을 식별하는 것 또는 소프트웨어 애플리케이션 창의 크기를 우선순위 리스트 내의 마이크로그룹 순위 리스트에 상관시킴으로써 마이크로그룹들 전체를 오버플로우 창(112) 내로 이동시키는 것에 의해 레이아웃(202)이 계산된다. 일부 실시예에서, 마이크로그룹 내의 각각의 명령이 오버플로우 창(112) 내에 선택가능 명령으로서 디스플레이된다. 다른 실시예에서, 선택가능 명령 및 마이크로그룹에 대한 펼치기 버튼(114)이 오버플로우 창(112)에 디스플레이된다. 일부 실시예에서, 확장 버튼들(120) 전부를 식별하는 것 및 소프트웨어 애플리케이션 창의 크기를 우선순위 리스트 내의 확장 버튼 순위 리스트에 상관시킴으로써 확장 버튼들의 일부분을 제2 리본(104) 상의 그들과 연관된 청크들 내에 디스플레이되는 것과 적절한 오버플로우 창들(112) 내에 열거되는 것 사이에서 이동시키는 것에 의해 레이아웃(202)이 계산된다.
일부 실시예에서, 하나의 리본만이 디스플레이되어야 하는지를 식별하는 것에 의해 레이아웃(202)이 계산된다. 이 실시예에서, 식별된 창 크기에 기초하여 스케일링 논리를 이용하는 우선순위 리스트는 제1 리본(102)과 제2 리본(104)이 하나의 리본으로 축소되어야만 하는지 또는 제1 리본(102)과 제2 리본(104) 둘 다가 디스플레이되어야만 하는지를 계산한다. 창 크기가 제한된 경우에, 우선순위 리스트는 제1 리본(102)과 제2 리본(104)이 디스플레이하기 위해 하나의 리본으로 축소되는 레이아웃을 계산한다.
실루엣을 스케일링하려는 이전의 시도들은 사실상 제한이 있었다. 예를 들어, 이전의 스케일링은 청크 레벨로 제한되었다. 예를 들면, 이전의 스케일링은 청크 전체가 디스플레이되거나 축소되는 것을 요구하였다. 게다가, 이전의 스케일링은 청크 내에 디스플레이된 선택가능 컨트롤들의 서브셋만이 스케일링 다운될 수 있게 하지 않았다. 그에 부가하여, 이전의 실루엣 스케일링은 창 크기가 감소될 때 제1 청크 상의 제1 복수의 선택가능 컨트롤들 중의 제1 선택가능 컨트롤이 제2 청크의 제2 복수의 선택가능 컨트롤들 중의 제2 선택가능 컨트롤과 함께 각각이 동시에 또는 연속적으로 떨어져 나갈 수 있게 하지 않았다. 그에 따라, 본 개시 내용의 시스템 및 방법은 스케일링 논리를 갖는 우선순위 리스트를 이용하는 것에 의해 실루엣의 세분화된 스케일링을 제공하고 청크 내에 디스플레이된 선택가능 컨트롤들의 서브셋이 스케일링 다운될 수 있게 한다. 그에 부가하여, 본 개시 내용의 시스템 및 방법은 창 크기가 감소될 때 우선순위 리스트에 기초하여 제1 청크 상의 제1 복수의 선택가능 컨트롤들 중의 제1 선택가능 컨트롤이 제2 청크의 제2 복수의 선택가능 컨트롤들 중의 제2 선택가능 컨트롤과 함께 각각이 동시에 또는 연속적으로 떨어져 나갈 수 있게 한다. 우선순위 리스트는 소프트웨어 애플리케이션의 개발자가 소프트웨어 애플리케이션에 대한 다양한 잠재적 창 크기들에 따라 스케일링하기 위해 하기의 파라미터들을 상세히 순위 지정할 수 있게 한다:
1) 오버플로우하기 위한 탭들 각각과 연관된 선택가능 컨트롤들 각각;
2) 오버플로우하기 위한 각각의 탭;
3) 디스플레이하기 위한 각각의 리본;
4) 마이크로그룹의 형성 및 배치;
5) 확장 버튼;
6) 아이템(선택가능 컨트롤, 탭, 청크, 버튼, 마이크로그룹, 식별자, 텍스트 표현, 그래픽 표현, 리본 등)의 크기 조정;
7) 아이템들 사이의 간격;
8) 디스플레이된 아이템에 대한 디스플레이 표현(즉, 텍스트 표현 및/또는 그리고/또는); 및
9) 텍스트 표현의 자르기(truncation).
게다가, 우선순위 리스트는 이 파라미터들 각각이 언제 이용되는지를 순서 지정하고 상이한 창 크기들에 대해 상이한 파라미터들을 서로 바꾸어 혼합하고 정합시킬 수 있다. 더욱이, 본 기술 분야의 통상의 기술자는 임의의 수의 리본들(제1 리본, 제2 리본, ... 제n 리본), 선택가능 컨트롤들(제1 컨트롤, 제2 컨트롤, ... 제n 컨트롤), 선택가능 명령들(제1 명령, 제2 명령, ... 제n 명령), 탭들(제1 탭, 제2 탭, ... 제n 탭), 식별자들(제1 식별자, 제2 식별자, ... 제n 식별자), 버튼들(제1 버튼, 제2 버튼, ... 제n 버튼), 청크들(제1 청크, 제2 청크, ... 제n 청크), 마이크로그룹들(제1 마이크로그룹, 제2 마이크로그룹, ... 제n 마이크로그룹) 또는 제1 또는 제2 리본 내에 디스플레이되는 다른 아이템들을 스케일링하도록 설계될 수 있다는 것을 잘 알고 있다.
예를 들어, 하나의 실시예에서, 창 크기의 감소에 응답하여, 3 개의 상이한 청크들(제1 청크, 제2 청크, 및 제3 청크) 내의 3 개의 상이한 선택가능 파라미터들이 크기가 감소될 수 있는 반면, 마이크로그룹이 제4 청크에 형성되고, 제1 청크 내의 선택가능 컨트롤이 제1 청크와 연관된 제1 오버플로우 창(112) 내로 이동된다. 이 동일한 실시예에서, 창 크기의 감소가 한 번 더 식별되면, 계산된 레이아웃은 제2 청크로부터의 2 개의 선택가능 컨트롤들을 제2 청크와 연관된 제2 오버플로우 창(112) 내로 이동시키고 비지정된 탭(non-designated tab)들 중 하나를 콜아웃 창(callout window)으로 이동시킬 수 있다. 이 레이아웃은 예시적인 것에 불과하고 제한하는 것이 아니다. 본 기술 분야의 통상의 기술자는 각각의 아이템 또는 파라미터에 대해 임의의 순서가 우선순위 리스트에 의해 이용될 수 있다는 것을 알고 있다.
일부 실시예에서, 애플리케이션의 사용자는 소프트웨어 애플리케이션에 대한 우선순위 리스트를 변경할 수 있다. 이 실시예에서, 사용자에 의한 재정렬 명령의 선택의 표시를 수신할 시에, 우선순위 리스트가 사용자 기본 설정(user preference)에 따라 수정된다. 이 실시예에서, 레이아웃은 사용자에 의해 수정된 우선순위 리스트를 이용하여 계산된다.
앞서 논의된 바와 같이, 도 12는 소프트웨어 애플리케이션에 대한 실루엣(100)의 예시적인 제1 리본(102) 및 제2 리본(104)의 예시적인 스케일링(200)을 나타낸 것이다. 스케일링(200)은 워드 프로세싱 창의 크기의 감소로 인해 실루엣(100)의 예시적인 제1 리본(102) 및 제2 리본(104)을 스케일링 다운하기 위해 우선순위 리스트가 어떻게 사용될 수 있는지의 일 실시예를 나타낸다. 우선순위 리스트는 저장된 또는 다운로드된 소프트웨어 애플리케이션의 일부이다. 일부 실시예에서, 소프트웨어 애플리케이션은 컴퓨팅 디바이스 상에 저장되어 있다. 다른 실시예에서, 소프트웨어 애플리케이션은 원격 서버 상에 저장되어 있다.
도 12에 예시된 제1 레이아웃(202a)은 1600 픽셀의 제1 창 크기에 대한 제1 계산된 레이아웃의 디스플레이를 나타내고 있다. 제1 레이아웃(202a)에서의 제1 리본(102)은 지정된 탭(106a)에 부가하여 5 개의 상이한 탭들(106)을 디스플레이한다. 제1 레이아웃에서의 제1 리본(102)은 또한 몇몇 선택가능 컨트롤들을 워드 프로세싱 문서에 대한 저장된 이름과 함께 디스플레이한다. 제1 레이아웃에서의 제2 리본(104)은 클립보드(clipboard) 청크, 글꼴(font) 청크, 단락(paragraph) 청크, 스타일(styles) 청크, 및 찾기(find) 청크를 디스플레이한다. 클립보드 청크는 펼치기 버튼에 의해 식별된 마이크로그룹을 포함하는 하나의 선택가능 컨트롤을 디스플레이한다. 글꼴 청크는 11 개의 상이한 선택가능 컨트롤들을 포함하고, 그 중 4 개의 선택가능 컨트롤들은 부가의 펼치기 버튼들에 의해 식별된 마이크로그룹들을 갖는다. 단락 청크는 6 개의 상이한 선택가능 컨트롤들을 디스플레이하고, 그 중 4 개의 선택가능 컨트롤들은 부가의 펼치기 버튼들에 의해 식별된 마이크로그룹들을 갖는다. 스타일 청크는 마이크로그룹의 3 개의 명령을, 마이크로그룹의 나머지 명령들을 포함하는 다른 펼치기 버튼과 함께, 디스플레이하는 하나의 선택가능 컨트롤을 디스플레이한다. 도움말 청크는 하나의 선택가능 컨트롤을 디스플레이한다.
도 12에 예시된 제2 레이아웃(202b)은 1366 픽셀의 제2 창 크기에 대한 제2 계산된 레이아웃의 디스플레이를 나타내고 있다. 제2 레이아웃(202b)에서의 제1 리본(102)은 폭이 감소되어 있지만, 제1 레이아웃(202a)에서 디스플레이된 것과 동일한 탭들 및 컨트롤들을 다른 방식으로 디스플레이한다. 제2 레이아웃(202b)에서의 제2 리본(104)도 폭이 감소되었지만, 제1 레이아웃(202a)과 비교할 때 몇 가지 변화를 겪었다. 예를 들어, 제2 레이아웃(202b)은 글꼴 청크에서의 3 개의 선택가능 컨트롤(204)을 글꼴 청크 오버플로우 창으로 이동시켰다. 그에 부가하여, 제2 레이아웃(202b)은 단락 탭으로부터의 3 개의 선택가능 컨트롤(206)을 단락 오버플로우 창으로 이동시켰다. 글꼴 청크 및 단락 청크 각각은 이제 오버플로우 버튼(208) - 이는 오버플로우 식별자이기도 함 - 을 디스플레이한다.
도 12에 예시된 제3 레이아웃(202c)은 1024 픽셀의 제3 창 크기에 대한 제3 계산된 레이아웃의 디스플레이를 나타내고 있다. 제3 레이아웃(202c)에서의 제1 리본(102)은 폭이 감소되어 있지만, 제1 레이아웃(202a) 및 제2 레이아웃(202b)에서 디스플레이된 것과 동일한 탭들 및 컨트롤들을 다른 방식으로 디스플레이한다. 그렇지만, 제3 레이아웃(202c)은, 제2 레이아웃(202b)과 비교할 때, 저장된 문서 이름(210)을 자르거나 절단하고, 열거된 이름의 감소된 폭을 갖는 생략부호를 포함하고 있다. 게다가, 제3 레이아웃(202c)은, 제2 레이아웃(202b)과 비교할 때, 각각이 상이한 선택가능 컨트롤들을 식별해주는 2 개의 텍스트 표현(207)을 제1 리본 상의 2 개의 그래픽 표현과 함께 제거하고 있다. 그에 따라, 이 2 개의 선택가능 컨트롤(207) 각각은 제3 레이아웃(202c)에서 그래픽 표현에 의해서만 나타내어져 있고, 이 선택가능 컨트롤들을 제1 리본(102) 상에 디스플레이하는 데 필요한 공간의 양을 감소시킨다. 제3 레이아웃(202c)에서의 제2 리본(104)도 폭이 감소되었고 제2 레이아웃(202b)과 비교할 때 몇 가지 추가 변화를 겪었다. 예를 들어, 제3 레이아웃(202c)은 글꼴 청크에서의 2 개의 추가 선택가능 컨트롤(212)을 글꼴 청크 오버플로우 창으로 이동시켰다. 그에 부가하여, 제3 레이아웃(202c)은 스타일 탭에서의 마이크로그룹에 열거된 컨트롤들(214) 중 2 개를 콜아웃으로 이동시켰다.
도 12에 예시된 제4 레이아웃(202d)은 768 픽셀의 제4 창 크기에 대한 제4 계산된 레이아웃의 디스플레이를 나타내고 있다. 제4 레이아웃(202d)에서의 제1 리본(102)이 또다시 폭이 감소되고, 제3 레이아웃(202c)과 비교하여, 스필오버 버튼(122)으로 나타낸 바와 같이, 비지정된 탭들(220)을 탭 콜아웃(124)으로 이동시켰다. 그에 따라, 제1 리본(102)은 이 제4 레이아웃(202d)에 기초하여 지정된 탭만을 디스플레이한다. 게다가, 저장된 워드 문서 이름(216)이 제3 레이아웃(202c)과 비교할 때 부분적으로 확장되었으며, 그로써 열거된 이름의 폭을 증가시킨다. 제4 레이아웃(202d)에서의 제2 리본(104)도 폭이 감소되었고 제3 레이아웃(202c)과 비교할 때 몇 가지 추가 변화를 겪었다. 예를 들어, 제4 레이아웃(202d)은 3 개의 추가 선택가능 컨트롤들(218)을 글꼴 청크에서의 그들의 마이크로그룹들과 함께 글꼴 청크 오버플로우 창으로 이동시켰다.
앞서 논의된 바와 같이, 선택가능 탭, 컨트롤, 버튼, 및 명령은 마우스, 터치패드, 펜, 포인터, 또는 키보드를 통해 선택가능하다. 이 애플리케이션들은, 선택이 수신되고 선택을 실행하는 것에 의해 응답하는 모드에 관계없이, 수신된 선택을 식별한다. 제1 리본, 실루엣, 제2 리본, 작업 공간(105), 선택가능 컨트롤, 탭, 버튼, 마이크로그룹, 및 명령의 스케일링 및 크기 조정은 이 선택 모드들 전부를 고려한다. 새로운 탭을 선택할 시에, 제2 리본은 새로운 탭 및 식별된 창 크기에 대한 우선순위 리스트로부터 계산된 레이아웃(202)에 기초하여 새로운 탭과 연관된 선택가능 컨트롤들의 일부분을 디스플레이한다. 그에 부가하여, 선택가능 컨트롤들 중 하나의 선택가능 컨트롤의 선택의 표시를 수신하는 것은 소프트웨어 애플리케이션으로 하여금 컨트롤을 소프트웨어 애플리케이션의 작업 공간(105) 내의 객체에 적용하게 한다.
특정의 구성들, 적용 분야들 및 상호작용들을 갖는 도 2 내지 도 12에서의 예시적인 시스템들이 기술되었다. 그렇지만, 생각되는 실시예들이 이 예들에 따른 시스템들로 제한되지 않는다. 클라이언트와 서버 사이에 세션을 설정하기 위해 그리고 네트워크를 통해 데이터를 교환하기 위해 통신 연결을 제공하는 시스템이 보다 적은 또는 부가의 컴포넌트들을 이용하고 다른 작업들을 수행하는 구성들로 구현될 수 있다. 게다가, 특정 프로토콜들이 본원에 기술되었지만, 본 기술 분야의 통상의 기술자라면 다른 프로토콜들 및/또는 인터페이스들이 본원에 개시되는 실시예들에서 이용될 수 있다는 것을 잘 알 것이다.
이제 도 13을 참조하면, 예시적인 실시예에 따른, 디스플레이 디바이스에 개선된 사용자 인터페이스를 디스플레이하고 스케일링하는 것에 의해 소프트웨어 애플리케이션으로부터의 기능을 제공하는 예시적인 방법이 도시되어 있다. 개선된 사용자 인터페이스는 실루엣을 디스플레이하고 세분하여 스케일링한다. 그에 따라, 방법(300)은 청크 내에 디스플레이된 선택가능 컨트롤들의 서브셋이 상세한 우선순위 리스트를 이용하여 스케일링 다운될 수 있게 한다. 그에 부가하여, 방법(300)은 창 크기의 감소가 식별될 때 우선순위 리스트에 기초하여 제1 청크 상의 제1 복수의 선택가능 컨트롤들 중의 제1 선택가능 컨트롤이 제2 청크의 제2 복수의 선택가능 컨트롤들 중의 제2 선택가능 컨트롤과 함께 각각이 동시에 또는 연속적으로 떨어져 나갈 수 있게 한다.
방법(300)은 컴퓨팅 디바이스 또는 프로세서를 통해 명령어들을 실행할 수 있는 유사한 전자 디바이스 상에서 구현될 수 있다. 개선된 사용자 인터페이스는 임의의 적당한 소프트웨어 애플리케이션에 의해 디스플레이될 수 있다. 예를 들어, 소프트웨어 애플리케이션은 이메일 애플리케이션, 소셜 네트워킹 애플리케이션, 프로젝트 관리 애플리케이션, 협업 애플리케이션, 기업 관리 애플리케이션, 메시징 애플리케이션, 워드 프로세싱 애플리케이션, 스프레드시트 애플리케이션, 데이터베이스 애플리케이션, 프레젠테이션 애플리케이션, 연락처 애플리케이션, 일정 관리 애플리케이션 등 중 하나일 수 있다. 이 리스트는 예시적인 것에 불과하고 제한하는 것이 아니다. 개선된 사용자 인터페이스를 디스플레이하기 위한 임의의 적당한 애플리케이션이 방법(300)에 의해 이용될 수 있다.
컴퓨팅 디바이스는 애플리케이션을 실행하기 위한 임의의 적당한 컴퓨팅 디바이스일 수 있다. 컴퓨팅 디바이스는 본원에서 디스플레이 디바이스라고도 지칭될 수 있다. 임의의 적당한 컴퓨팅 디바이스가 애플리케이션을 실행하고 개선된 그래픽 인터페이스를 디스플레이하기 위해 방법(300)에 의해 이용될 수 있다. 예를 들어, 컴퓨팅 디바이스는 휴대폰; 스마트폰; 태블릿; 스마트 워치; 웨어러블 컴퓨터; 개인용 컴퓨터; 데스크톱 컴퓨터; 랩톱 컴퓨터; 및 기타 중 적어도 하나일 수 있다. 이 리스트는 예시적인 것에 불과하고 제한하는 것이 아니다. 개선된 사용자 인터페이스를 디스플레이하는 소프트웨어 애플리케이션을 실행하기 위한 임의의 적당한 컴퓨팅 디바이스 또는 디스플레이 디바이스가 방법(300)에 의해 이용할 수 있다.
게다가, 컴퓨팅 디바이스 및 애플리케이션은 방법(300) 동안 사용자 명령을 수신하는 임의의 적당한 방법을 이용할 수 있다. 예를 들어, 사용자는 키보드, 터치 감응 스크린, 터치패드, 펜, 포인터, 또는 마우스를 이용하여 컴퓨팅 디바이스를 통해 명령을 입력할 수 있다. 게다가, 개선된 사용자 인터페이스는 컴퓨팅 디바이스의 화면 크기 및/또는 애플리케이션의 창 크기에 따라 스케일링가능하다.
그에 따라, 방법(300)은 식별하는 동작(302)으로 시작된다. 식별하는 동작(302)에서, 소프트웨어 애플리케이션 창의 크기가 식별된다. 창의 크기를 식별하는 것은, 예컨대, 애플리케이션 창의 배향의 변화로 인한, 소프트웨어 애플리케이션 창의 크기의 임의의 변화를 식별하는 것을 포함한다. 일부 실시예에서, 창 크기는 디스플레이 화면의 크기에 대응한다. 다른 실시예에서, 애플리케이션의 창 크기를 감소시키라는 사용자 명령을 수신할 시에 창이 스케일링된다.
그렇지만, 일부 실시예에서, 방법(300)은 편성하는 동작(301)으로 시작되고, 이어서 동작(302)으로 진행한다. 편성하는 동작(301)에서, 실루엣의 제1 리본과 제2 리본 내의 탭들 및 선택가능 컨트롤들이 편성되거나 그룹화된다. 일부 실시예에서, 편성하는 것은 소프트웨어 애플리케이션에 의해 수행될 작업들에 따라 복수의 소프트웨어 컨트롤들을 그룹화하는 것을 포함한다. 이 실시예에서, 작업들은 제1 리본 내의 탭들에 의해 식별된다. 추가의 실시예에서, 편성하는 것은 제2 리본 내의 복수의 선택가능 컨트롤들을 제1 리본 내의 탭들 각각과 연관시키는 것을 포함한다. 부가의 실시예에서, 동작(301)은 복수의 청크들을 형성하기 위해 각각의 탭과 연관된 선택가능 컨트롤들을 제2 리본 내의 논리적 서브그룹들로 편성하는 것을 추가로 포함한다.
식별하는 동작(302) 후에, 흐름은 실루엣에 대한 레이아웃이 계산되는 레이아웃 계산 동작(304)으로 계속된다. 일부 실시예에서, 실루엣에 대한 레이아웃이 동작(304)에서 우선순위 리스트를 이용하여 계산된다. 앞서 논의된 바와 같이, 우선순위 리스트는 다양한 잠재적 창 크기들에 대해 다수의 아이템들(선택가능 컨트롤, 탭, 마이크로그룹, 텍스트 표현, 그래픽 표현, 식별자, 리본, 크기 조정, 간격, 자르기, 및/또는 기타 등등)을 순위 지정한다. 게다가, 우선순위 리스트는 이 파라미터들 각각이 언제 이용되는지를 순서 지정하고 상이한 창 크기들에 대해 상이한 파라미터 순위들을 서로 바꾸어 혼합하고 정합시킬 수 있다. 우선순위 리스트는 소프트웨어 애플리케이션의 개발자에 의해 결정될 수 있다. 도 7 및 도 8은 슬라이드 프레젠테이션 애플리케이션에 대한 동일하거나 상이한 개발자에 의해 생성된 상이한 우선순위 리스트들에 기초하여 슬라이드 프레젠테이션 애플리케이션에 대한 동일한 창 크기에 대해 상이한 선택가능 컨트롤들(102)이 어떻게 정렬되고 디스플레이될 수 있는지를 나타내고 있다. 일부 실시예에서, 우선순위 리스트가 사용자에 의해 수정가능하지 않다. 대안의 실시예에서, 우선순위 리스트가 재정렬 명령의 사용자 선택에 응답하여 사용자에 의해 수정될 수 있다.
일부 실시예에서, 소프트웨어 애플리케이션 창의 크기를 우선순위 리스트에 상관시킴으로써 지정된 탭과 연관된 잠재적 디스플레이 컨트롤들로부터 디스플레이하기 위한 선택가능 컨트롤들을 식별하는 것에 의해 동작(304)에서 실루엣에 대한 레이아웃이 계산된다. 우선순위 리스트는 다양한 잠재적 소프트웨어 애플리케이션 창 크기들에 따라 오버플로우하기 위한 탭들 각각과 연관된 잠재적 디스플레이 컨트롤들 각각을 순위 지정할 수 있다. 일부 실시예에서, 레이아웃 계산 동작(304)은 청크들 중 적어도 하나의 청크 내의 잠재적 디스플레이 컨트롤들의 서브셋을 그 서브셋을 포함하는 제2 리본 상에 디스플레이되는 청크와 그 청크와 연관된 숨겨진 오버플로우 창 사이에서 이동시키는 것을 추가로 포함한다. 추가의 실시예에서, 청크들 중 적어도 하나의 청크에 대한 잠재적 디스플레이 컨트롤들의 서브셋을 이동시키는 것은 제2 리본 상에 디스플레이되는 제1 청크 내의 잠재적 디스플레이 컨트롤들의 제1 서브셋을 제1 청크와 연관된 제1 숨겨진 오버플로우 창으로 이동시키는 것 및 제2 리본 상에 디스플레이되는 제2 청크 내의 잠재적 디스플레이 컨트롤들의 제2 서브셋을 제2 청크와 연관된 제2 오버플로우 창으로 이동시키는 것을 추가로 포함한다. 일부 실시예에서, 새로운 창 크기를 식별하기 이전에 그리고/또는 새로 계산된 레이아웃을 디스플레이하기 이전에, 잠재적 디스플레이 컨트롤들의 제1 서브셋 및 제2 서브셋은 제1 청크 및 제2 청크에 의해 이전에 디스플레이되었다. 일부 실시예에서, 앞서 논의된 제1 서브셋은 제1 서브셋을 제1 숨겨진 오버플로우 창으로 이동시키기 전에 제1 청크에 디스플레이되었던 2 개의 상이한 선택가능 컨트롤들을 포함한다. 부가의 실시예에서, 앞서 논의된 제2 서브셋은 제2 서브셋을 제2 숨겨진 오버플로우 창으로 이동시키기 전에 제2 청크에 디스플레이되었던 하나의 선택가능 컨트롤을 포함한다.
선택가능 컨트롤들 및 탭들이 그래픽 표현 및 텍스트 표현 중 적어도 하나에 의해 제1 리본 및 제2 리본에 디스플레이/표현된다. 그에 따라, 일부 실시예에서, 소프트웨어 애플리케이션 창의 크기를 우선순위 리스트에 상관시킴으로써 그래픽 표현의 크기를 변경하는 것, 텍스트 표현의 크기를 변경하는 것, 그래픽 표현을 제거하는 것, 그래픽 표현을 삽입하는 것, 텍스트 표현을 제거하는 것, 텍스트 표현을 자르는 것, 및 텍스트 표현을 삽입하는 것에 의해 실루엣에 대한 레이아웃이 동작(304)에서 계산된다. 우선순위 리스트는 또한 다양한 잠재적 소프트웨어 애플리케이션 창 크기들에 따라 오버플로우하기 위한 탭들 각각과 연관된 잠재적 디스플레이 컨트롤들 각각을 어떻게 표현할지를 순위 지정할 수 있다.
일부 실시예에서, 소프트웨어 애플리케이션 창의 크기를 우선순위 리스트 내의 탭 순위 리스트에 상관시킴으로써 잠재적 탭들로부터 디스플레이하기 위한 탭들을 식별하는 것에 의해 동작(304)에서 실루엣에 대한 레이아웃이 계산된다. 다음에, 이 실시예 동안, 적어도 하나의 잠재적 탭이 제1 리본 상의 리스트와 제1 리본과 연관된 숨겨진 탭 콜아웃 사이에서 이동된다.
다른 실시예에서, 제1 청크 내의 선택가능 컨트롤들의 제1 서브셋이 제1 청크로부터 제1 오버플로우 창으로 이동된 후에 제1 청크 내의 선택가능 컨트롤들의 제2 서브셋을 제2 리본 상의 제1 청크로부터 제1 청크와 연관된 제1 오버플로우 창으로 이동시키는 것에 의해 동작(304)에서 실루엣에 대한 레이아웃이 계산된다. 이 실시예에 대한 계산된 레이아웃은 제1 청크와 연관된 선택가능 컨트롤들의 제1 서브셋 및 제2 서브셋을 제1 청크와 연관된 제1 오버플로우 창에 숨기는 것을 추가로 포함한다. 일부 실시예에서, 창 크기의 증가가 애플리케이션에 의해 검출되면, 레이아웃은 제1 서브셋 및 제2 서브셋을 제2 리본 상에 역순으로 디스플레이하기 위해 제1 오버플로우 창으로부터 제1 청크로 이동시킨다. 환언하면, 제1 오버플로우 창에 합류하는 선택가능 컨트롤들의 마지막 서브셋(이 경우에, 제2 서브셋)이 먼저 제2 리본 상에 디스플레이하기 위해 제1 청크로 다시 이동된다.
추가의 실시예에서, 제1 청크 내의 선택가능 컨트롤들의 제1 서브셋이 제1 청크로부터 제1 오버플로우 창으로 이동된 후에 제2 청크 내의 선택가능 컨트롤들의 제2 서브셋을 제2 리본 상의 제2 청크로부터 제2 청크와 연관된 제2 오버플로우 창으로 이동시키는 것에 의해 동작(304)에서 실루엣에 대한 레이아웃이 계산된다. 이 실시예에 대한 계산된 레이아웃은 제2 청크 내의 선택가능 컨트롤들의 제2 서브셋을 제2 청크와 연관된 제2 오버플로우 창에 숨기는 것을 추가로 포함한다.
다음에, 흐름은 디스플레이하는 동작(306)으로 계속된다. 디스플레이하는 동작(306)에서, 애플리케이션은 동작(304)에 의해 계산된 레이아웃에 따라 실루엣을 디스플레이한다. 실루엣은 제1 리본과 제2 리본을 디스플레이한다. 제1 리본은 선택가능 컨트롤들의 그룹들을 식별해주는 탭들을 포함한다. 제2 리본은 각각이 탭들 중 하나의 탭과 연관되어 있는 선택가능 컨트롤들의 그룹들을 포함하고, 여기서 선택가능 컨트롤들의 그룹들은 청크들을 형성하는 서브그룹들로 편성되어 있다. 동작(304)에 의해 계산된 레이아웃에 기초하여, 제1 리본은 적어도 제1 지정된 탭을 디스플레이하고, 제2 리본은 청크들에서의 적어도 식별된 선택가능 컨트롤들을 디스플레이한다.
계산된 레이아웃에 기초하여 오버플로우 창이 필요할 때, 동작(306)은 잠재적 디스플레이 컨트롤을 그 청크와 연관된 오버플로우 창으로 이동시킨 청크들 각각에 대한 오버플로우 식별자를 디스플레이하는 것을 포함한다. 게다가, 계산된 레이아웃에 기초하여 오버플로우 창이 필요할 때, 동작(306)은 청크와 연관된 숨겨진 오버플로우 창에의 접근을 제공하기 위해 잠재적 디스플레이 컨트롤을 그 청크와 연관된 오버플로우 창으로 이동시킨 청크들 각각에 대한 오버플로우 버튼을 디스플레이하는 것을 포함한다. 일부 실시예에서, 오버플로우 버튼은 오버플로우 식별자이기도 하다. 대안의 실시예에서, 오버플로우 버튼은 오버플로우 식별자와분리되어 있고 그와 상이하다.
방법(300)의 일부 실시예에서, 흐름은 동작(306)으로부터 수신하는 동작(308)으로 계속된다. 흐름은 사용자 명령이 수신되거나 사용자 선택의 표시가 수신될 때는 언제나 동작(308)으로 계속된다. 동작(308)에서, 명령의 사용자 선택 또는 사용자 선택의 표시가 수신된다. 사용자에 의한 다양한 상이한 명령들이 소프트웨어 애플리케이션에 의해 수신될 수 있다. 예를 들어, 소프트웨어 애플리케이션은 오버플로우 버튼, 선택가능 컨트롤, 탭, 펼치기 버튼, 확장 버튼, 재정렬 명령 버튼, 스필오버 버튼, 마이크로그룹 내의 명령 등의 선택을 수신할 수 있다. 다른 예에서, 애플리케이션은 창 크기를 변경하라는 명령을 수신할 수 있다.
사용자가 선택한 명령이 수신되거나 명령의 사용자 선택의 표시가 수신되는 실시예에서, 흐름은 구현하는 동작(310)으로 계속된다. 구현하는 동작(310)에서, 수신된 명령은 컴퓨팅 디바이스의 소프트웨어 애플리케이션 및/또는 프로세서에 의해 구현된다.
일부 실시예에서, 동작(308)에서, 오버플로우 버튼의 사용자 선택이 수신된다. 이 실시예에서, 구현하는 동작(310)은 청크와 연관된 숨겨진 오버플로우 창을 디스플레이한다. 숨겨진 오버플로우 창은 레이아웃에 의해 식별되지 않았던 잠재적 디스플레이 컨트롤들의 리스트를 포함한다. 레이아웃에 의해 식별되지 않았던 잠재적 컨트롤은, 우선순위 리스트의 스케일링 논리에 기초하여, 제2 리본으로부터 적절한 청크의 오버플로우 창으로 이동된 컨트롤이다. 일부 실시예에서, 청크와 연관된 오버플로우 창은 레이아웃에 의해 식별되지 않았던 잠재적 디스플레이 컨트롤들을, 이 선택가능 컨트롤들이 제2 리본에서 연관된 청크에 열거될 때 디스플레이되는 순서와 유사하거나 동일한 방식으로, 디스플레이한다. 그에 따라, 오버플로우 창에서의 선택가능 컨트롤들의 리스트는 제2 리본 상의 그들과 연관된 청크 내에서의 이 컨트롤들의 디스플레이와 동일하거나 유사한 느낌을 유지한다.
일부 실시예에서, 동작(308)에서, 새로운 탭의 사용자 선택이 수신된다. 이 실시예에서, 구현하는 동작(310)은 그에 따라 새로 지정된 탭에 대해 동작들(302, 304, 및 306)을 수행한다. 예를 들어, 이 실시예 동안, 동작(304)에서, 동작(302)에서 식별된 소프트웨어 애플리케이션 창의 크기를 우선순위 리스트에 상관시킴으로써 새로 지정된 탭과 연관된 잠재적 디스플레이 컨트롤들로부터 디스플레이하기 위한 선택가능 컨트롤들을 식별하는 것에 의해 실루엣에 대한 제2 또는 새로운 레이아웃이 계산된다. 일부 실시예에서, 동작(304)에서의 새로운 레이아웃의 이 계산은 새로운 청크들 중 적어도 하나의 청크 내의 잠재적 디스플레이 컨트롤들의 새로운 서브셋을 그 새로운 서브셋을 포함하는 제2 리본 상에 디스플레이되는 새로운 청크와 그 새로운 청크와 연관된 새로운 숨겨진 오버플로우 창 사이에서 이동시키는 것을 포함한다. 이 새로운 레이아웃에 기초하여, 디스플레이하는 동작(306)에서, 제1 리본은 새로 지정된 탭을 디스플레이하고 제2 리본은 새로운 청크들에서의 새로운 탭과 연관되어 있는 식별된 선택가능 컨트롤들을 디스플레이한다. 그에 부가하여, 이 새로운 레이아웃에 기초하여, 디스플레이하는 동작(306)에서, 제2 리본은 오버플로우 식별자와 오버플로우 버튼 중 적어도 하나를 디스플레이한다.
일부 실시예에서, 동작(308)에서, 선택가능 컨트롤의 사용자 선택이 수신된다. 이 실시예에서, 구현하는 동작(310)은 선택된 컨트롤에 응답하여 소프트웨어 애플리케이션의 작업 공간에 있는 객체에 컨트롤을 적용한다.
일부 실시예에서, 동작(308)에서, 재정렬 명령 버튼의 사용자 선택이 수신된다. 이 실시예에서, 구현하는 동작(310)은 사용자에 의해 선택된 기본 설정(preference)에 따라 우선순위 리스트를 재정렬한다.
부가의 실시예에서, 동작(308)에서, 확장 버튼의 사용자 선택이 수신된다. 이 실시예에서, 구현하는 동작(310)은 숨겨진 선택가능 컨트롤을 팝업 플라이아웃에 디스플레이한다. 일부 실시예에서, 팝업 플라이아웃은 숨겨진 선택가능 파라미터와 연관된 청크와 연관되어 있다.
추가의 실시예에서, 동작(308)에서, 펼치기 버튼의 사용자 선택이 수신된다. 이 실시예에서, 구현하는 동작(310)은 마이크로그룹에 대한 콜아웃에 열거된 명령들을 디스플레이한다.
다른 실시예에서, 동작(308)에서, 스필오버 버튼의 사용자 선택이 수신된다. 이 실시예에서, 구현하는 동작(310)은 제1 리본에서의 숨겨진 탭들을 열거하는 탭 콜아웃을 디스플레이한다.
일부 실시예에서, 동작(308)에서, 애플리케이션 창 크기를 변경하라는 명령의 사용자 선택이 수신된다. 이 실시예에서, 구현하는 동작(310)은 사용자의 선택에 따라 애플리케이션의 창 크기를 변경하여 디스플레이한다. 창의 변화가 동작(310)에 의해 구현된 후에, 흐름은 동작(302)으로 계속된다.
도 14 내지 도 16 및 연관된 설명들은 본 개시 내용의 실시예들이 실시될 수 있는 각종의 운영 환경들에 대한 논의를 제공한다. 그렇지만, 도 14 내지 도 16과 관련하여 예시되고 논의되는 디바이스들 및 시스템들은 예 및 설명을 위한 것이며, 본원에 기술되는 본 개시 내용의 실시예들을 실시하기 위해 이용될 수 있는 엄청난 수의 컴퓨팅 디바이스 구성들을 제한하는 것이 아니다.
도 14는 본 개시 내용의 실시예들이 실시될 수 있는 컴퓨팅 디바이스(600)의 물리적 컴포넌트들(즉, 하드웨어)을 나타낸 블록도이다. 이하에서 기술되는 컴퓨팅 디바이스 컴포넌트들은 본원에 개시되는 방법(300)을 이용하기 위해 실행될 수 있는 이메일 애플리케이션(660), 워드 프로세싱 애플리케이션(662), 데이터베이스 애플리케이션(664), 슬라이드 프레젠테이션 애플리케이션(668), 스프레드시트 애플리케이션(670), 및 임의의 다른 적당한 애플리케이션에 대한 컴퓨터 실행가능 명령어들일 수 있다. 기본적인 구성에서, 컴퓨팅 디바이스(600)는 적어도 하나의 처리 유닛(602) 및 시스템 메모리(604)를 포함할 수 있다. 컴퓨팅 디바이스의 구성 및 유형에 따라, 시스템 메모리(604)는 휘발성 저장소(예컨대, 랜덤 액세스 메모리), 비휘발성 저장소(예컨대, 판독 전용 메모리), 플래시 메모리, 또는 이러한 메모리들의 임의의 조합을 포함할 수 있지만, 이들로 제한되지 않는다. 시스템 메모리(604)는 운영 체제(605) 및 도 2 내지 도 12에 예시된 바와 같은 개선된 실루엣을 이용하는 소프트웨어 애플리케이션들(620)을 실행하는 데 적합한 하나 이상의 프로그램 모듈들(606)을 포함할 수 있다. 운영 체제(605)는, 예를 들어, 컴퓨팅 디바이스(600)의 동작을 제어하는 데 적합할 수 있다. 게다가, 본 개시 내용의 실시예들은 그래픽 라이브러리, 다른 운영 체제들, 또는 임의의 다른 애플리케이션 프로그램과 관련하여 실시될 수 있고, 임의의 특정의 애플리케이션 또는 시스템으로 제한되지 않는다. 이 기본적인 구성이 도 14에서 파선(608) 내의 그 컴포넌트들에 의해 나타내어져 있다. 컴퓨팅 디바이스(600)는 부가의 특징들 또는 기능을 가질 수 있다. 예를 들어, 컴퓨팅 디바이스(600)는 또한, 예를 들어, 자기 디스크, 광 디스크, 또는 테이프와 같은 부가의 데이터 저장 디바이스(이동식 및/또는 비이동식)를 포함할 수 있다. 이러한 부가의 저장소는 도 14에서 이동식 저장 디바이스(609) 및 비이동식 저장 디바이스(610)로 나타내어져 있다.
앞서 언급한 바와 같이, 다수의 프로그램 모듈들 및 데이터 파일들이 시스템 메모리(604)에 저장될 수 있다. 처리 유닛(602) 상에서 실행 중인동안, 프로그램 모듈들(606)(예컨대, 유효성 검사 모듈(611) 또는 이메일 애플리케이션)은, 본원에 기술되는 바와 같이, 그 실시예(이들로 제한되지 않음)를 비롯한 프로세스들을 수행할 수 있다. 본 개시 내용의 실시예들에 따라 그리고 상세하게는 화면 콘텐츠를 발생시키기 위해 사용될 수 있는 다른 프로그램 모듈들은 전자 메일 및 연락처 애플리케이션, 연락처 애플리케이션, 드로잉 애플리케이션, 메시징 애플리케이션, 일정 관리 애플리케이션, 소셜 네트워킹 애플리케이션, 프로젝트 관리 애플리케이션, 협업 애플리케이션, 기업 관리 애플리케이션, 및/또는 기타를 포함할 수 있다.
게다가, 본 개시 내용의 실시예들이 개별 전자 요소들을 포함하는 전기 회로, 논리 게이트(logic gate)들을 포함하는 패키징된 또는 집적된 전자 칩, 마이크로프로세서를 이용하는 회로, 또는 전자 요소들 또는 마이크로프로세서들을 포함하는 단일 칩에서 실시될 수 있다. 예를 들어, 본 개시 내용의 실시예들은 도 14에 예시된 컴포넌트들 각각 또는 그 중 다수가 단일의 집적 회로 상에 집적될 수 있는 SOC(system-on-a-chip)를 통해 실시될 수 있다. 이러한 SOC는 하나 이상의 처리 유닛들, 그래픽 유닛들, 통신 유닛들, 시스템 가상화 유닛들 및 다양한 애플리케이션 기능 - 이들 모두가 칩 기판 상에 단일의 집적 회로로서 집적(또는 "버닝(burn)")되어 있음 - 을 포함할 수 있다. SOC를 통해 동작할 때, 클라이언트가 프로토콜을 전환할 수 있는 것과 관련하여 본원에 기술되는 기능이 단일의 집적 회로(칩) 상에 컴퓨팅 디바이스(600)의 다른 컴포넌트들과 집적된 주문형 논리(application-specific logic)를 통해 동작될 수 있다. 본 개시 내용의 실시예들은 또한, 예를 들어, AND, OR 및 NOT과 같은 논리 연산들을 수행할 수 있는 다른 기술들(기계 기술, 광학 기술, 유체 기술 및 양자 기술을 포함하지만, 이들로 제한되지 않음)을 사용하여 실시될 수 있다. 그에 부가하여, 본 개시 내용의 실시예들은 범용 컴퓨터 내에서 또는 임의의 다른 회로들 또는 시스템들에서 실시될 수 있다.
컴퓨팅 디바이스(600)는 또한 키보드, 마우스, 펜, 사운드 또는 음성 입력 디바이스, 터치 또는 스와이프 입력 디바이스 등과 같은 하나 이상의 입력 디바이스(들)(612)를 가질 수 있다. 디스플레이, 스피커, 프린터 등과 같은 출력 디바이스(들)(614)가 또한 포함될 수 있다. 전술한 디바이스들은 예이며, 다른 디바이스들이 사용될 수 있다. 컴퓨팅 디바이스(600)는 다른 컴퓨팅 디바이스들(618)과의 통신을 가능하게 하는 하나 이상의 통신 연결들(616)을 포함할 수 있다. 적당한 통신 연결들(616)의 예는 RF 송신기, 수신기, 및/또는 송수신기 회로부; USB(universal serial bus), 병렬, 및/또는 직렬 포트들을 포함하지만, 이들로 제한되지 않는다.
컴퓨터 판독가능 매체라는 용어는, 본원에서 사용되는 바와 같이, 컴퓨터 저장 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 또는 프로그램 모듈과 같은 정보의 저장을 위해 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 이동식 및 비이동식 매체를 포함할 수 있다. 시스템 메모리(604), 이동식 저장 디바이스(609), 및 비이동식 저장 디바이스(610)가 모두 컴퓨터 저장 매체 예(즉, 메모리 저장소)이다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM(electrically erasable read-only memory), 플래시 메모리 또는 다른 메모리 기술, CD-ROM, DVD(digital versatile disk) 또는 다른 광 저장소, 자기 카세트, 자기 테이프, 자기 디스크 저장소 또는 다른 자기 저장 디바이스, 또는 정보를 저장하는 데 사용될 수 있고 컴퓨팅 디바이스(600)에 의해 액세스될 수 있는 임의의 다른 제조 물품을 포함할 수 있다. 임의의 이러한 컴퓨터 저장 매체가 컴퓨팅 디바이스(600)의 일부일 수 있다. 컴퓨터 저장 매체는 반송파 또는 다른 전파되거나 변조된 데이터 신호를 포함하지 않는다.
통신 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 다른 데이터에 의해 반송파 또는 다른 전송 메커니즘과 같은 피변조 데이터 신호(modulated data signal)에 구현될 수 있고 임의의 정보 전달 매체를 포함한다. "피변조 데이터 신호"라는 용어는 신호의 하나 이상의 특성들이 정보를 그 신호에 인코딩하는 방식으로 설정되거나 변경된 신호를 말하는 것일 수 있다. 제한이 아닌 예로서, 통신 매체는 유선 네트워크 또는 직접 유선 연결(direct-wired connection)과 같은 유선 매체와, 음향, RF(radio frequency), 적외선 및 다른 무선 매체와 같은 무선 매체를 포함할 수 있다.
도 15a 및 도 15b는 본 개시 내용의 실시예들이 실시될 수 있는 모바일 컴퓨팅 디바이스(700), 예를 들어, 휴대폰, 스마트폰, 웨어러블 컴퓨터(스마트 워치등), 태블릿 개인용 컴퓨터, 랩톱 컴퓨터, 데스크톱 컴퓨터 등을 나타낸다. 일부 실시예에서, 클라이언트는 모바일 컴퓨팅 디바이스일 수 있다. 도 15a를 참조하면, 실시예들을 구현하기 위한 모바일 컴퓨팅 디바이스(700)의 일 실시예가 예시되어 있다. 기본적인 구성에서, 모바일 컴퓨팅 디바이스(700)는 입력 요소들 및 출력 요소들 둘 다를 가지는 핸드헬드 컴퓨터이다. 모바일 컴퓨팅 디바이스(700)는 전형적으로 사용자가 모바일 컴퓨팅 디바이스(700)에 정보를 입력할 수 있게 하는 하나 이상의 입력 버튼들(710) 및 디스플레이(705)를 포함한다. 모바일 컴퓨팅 디바이스(700)의 디스플레이(705)는 입력 디바이스(예컨대, 터치 스크린 디스플레이)로서도 기능할 수 있다. 포함되는 경우, 선택적인 측면 입력 요소(side input element)(715)가 추가적인 사용자 입력을 가능하게 한다. 측면 입력 요소(715)는 회전식 스위치(rotary switch), 버튼, 또는 임의의 다른 유형의 수동 입력 요소일 수 있다. 대안의 실시예들에서, 모바일 컴퓨팅 디바이스(700)는 더 많거나 더 적은 입력 요소들을 포함할 수 있다. 예를 들어, 디스플레이(705)는, 일부 실시예들에서, 터치 패드가 아닐 수 있다. 또 다른 대안의 실시예에서, 모바일 컴퓨팅 디바이스(700)는, 셀룰러폰(cellular phone)과 같은, 휴대 전화 시스템(portable phone system)이다. 모바일 컴퓨팅 디바이스(700)는 또한 선택적인 키패드(735)를 포함할 수 있다. 선택적인 키패드(735)는 물리적 키패드 또는 터치 스크린 디스플레이 상에 발생되는 "소프트" 키패드일 수 있다. 다양한 실시예에서, 출력 요소들은 그래픽 사용자 인터페이스(GUI)를 보여주기 위한 디스플레이(705), 시각적 표시기(720)(예컨대, 발광 다이오드), 및/또는 오디오 트랜스듀서(725)(예컨대, 스피커)를 포함한다. 일부 실시예에서, 모바일 컴퓨팅 디바이스(700)는 사용자에게 촉각적 피드백을 제공하기 위한 진동 트랜스듀서를 포함한다. 또 다른 실시예에서, 모바일 컴퓨팅 디바이스(700)는 외부 디바이스로 신호를 송신하거나 그로부터 신호를 수신하기 위한, 오디오 입력(예컨대, 마이크로폰 잭), 오디오 출력(예컨대, 헤드폰 잭), 및 비디오 출력(예컨대, HDMI 포트)과 같은 입력 및/또는 출력 포트들을 포함한다.
도 15b는 모바일 컴퓨팅 디바이스의 일 실시예의 아키텍처를 나타낸 블록도이다. 즉, 모바일 컴퓨팅 디바이스(700)는 일부 실시예들을 구현하는 시스템(예컨대, 아키텍처)(702)을 포함할 수 있다. 일 실시예에서, 시스템(702)은 하나 이상의 애플리케이션들(예컨대, 브라우저, 이메일, 일정 관리, 연락처 관리자, 메시징 클라이언트, 게임, 및 미디어 클라이언트/플레이어)을 실행할 수 있는 "스마트폰"으로서 구현된다. 일부 실시예에서, 시스템(702)은 일체형 PDA(personal digital assistant) 및 무선 전화와 같은, 컴퓨팅 디바이스로서 통합된다.
하나 이상의 애플리케이션 프로그램들(766)이 메모리(762)에 로딩되어 운영 체제(764) 상에서 또는 그와 관련하여 실행될 수 있다. 애플리케이션 프로그램들의 예는 전화 걸기(phone dialer) 프로그램, 이메일 프로그램, PIM(personal information management) 프로그램, 워드 프로세싱 프로그램, 스프레드시트 프로그램, 인터넷 브라우저 프로그램, 메시징 프로그램 등을 포함한다. 시스템(702)은 또한 메모리(762) 내의 비휘발성 저장 영역(768)을 포함한다. 비휘발성 저장 영역(768)은 시스템(702)의 전원이 꺼져 있는 경우 손실되어서는 안되는 영속적 정보를 저장하는 데 사용될 수 있다. 애플리케이션 프로그램들(766)은 이메일 애플리케이션 등에 의해 사용되는 이메일 또는 다른 메시지들과 같은 정보를 사용하고 비휘발성 저장 영역(768)에 저장할 수 있다. 동기화 애플리케이션(도시 생략)이 또한 시스템(702) 상에 존재하고, 비휘발성 저장 영역(768)에 저장된 정보를 호스트 컴퓨터에 저장된 대응하는 정보와 동기화된 채로 유지하기 위해 호스트 컴퓨터 상에 존재하는 대응하는 동기화 애플리케이션과 상호작용하도록 프로그램되어 있다. 잘 알 것인 바와 같이, 본원에 기술되는 바와 같이 다중 테넌트 환경에서 서명 인증서(signing certificate)를 유효성 검사하기 위한 명령어들(예컨대, 및/또는 선택적으로 유효성 검사 모듈(611))을 포함하는 다른 애플리케이션들이 메모리(762)에 로딩되고 모바일 컴퓨팅 디바이스(700) 상에서 실행될 수 있다.
시스템(702)은 하나 이상의 배터리들로서 구현될 수 있는 전원(770)을 가진다. 전원(770)은 배터리를 보충하거나 재충전하는 AC 어댑터 또는 전원 도킹 크레이들(powered docking cradle)과 같은 외부 전원을 추가로 포함할 수 있다.
시스템(702)은 또한 무선 주파수 통신을 전송 및 수신하는 기능을 수행하는 무선부(radio)(772)를 포함할 수 있다. 무선부(772)는, 통신 사업자 또는 서비스 공급자를 통해, 시스템(702)과 "외부 세계" 사이의 무선 연결을 용이하게 한다. 무선부(772)로의 전송 및 그로부터의 전송은 운영 체제(764)의 제어 하에서 수행된다. 환언하면, 무선부(772)에 의해 수신되는 통신은 운영 체제(764)를 통해 애플리케이션 프로그램들(766)로 전달될 수 있고, 그 반대일 수 있다.
시각적 표시기(720)는 시각적 통지들을 제공하기 위해 사용될 수 있고, 그리고/또는 오디오 인터페이스(774)는 오디오 트랜스듀서(725)를 통해 청각적 통지들을 생성하기 위해 사용될 수 있다. 예시된 실시예에서, 시각적 표시기(720)는 발광 다이오드(LED)이고, 오디오 트랜스듀서(725)는 스피커이다. 이 디바이스들은, 활성화될 때 프로세서(760) 및 다른 컴포넌트들이 배터리 전원을 절감하기 위해 종료될 수 있더라도 통지 메커니즘에 의해 결정된 기간 동안 켜진 채로 있도록, 전원(770)에 직접 결합되어 있을 수 있다. LED는 디바이스의 전원 켜짐 상태(powered-on status)를 나타내기 위해 사용자가 조치를 취할 때까지 무기한으로 켜진 채로 있도록 프로그램될 수 있다. 오디오 인터페이스(774)는 사용자에게 가청 신호를 제공하고 사용자로부터 가청 신호를 수신하기 위해 사용된다. 예를 들어, 오디오 트랜스듀서(725)에 결합되는 것에 부가하여, 오디오 인터페이스(774)는 또한, 전화 대화를 용이하게 하는 것 등을 위해, 가청 입력을 수신하기 위해 마이크로폰에 결합되어 있을 수 있다. 본 개시 내용의 실시예들에 따르면, 마이크로폰은 또한 통지들의 제어를 용이하게 하기 위해 오디오 센서로서 역할할 수 있고, 이에 대해서는 이하에서 기술될 것이다. 시스템(702)은 정지 영상, 비디오 스트림 등을 기록하기 위해 온보드 카메라(730)의 동작을 가능하게 하는 비디오 인터페이스(776)를 추가로 포함할 수 있다.
시스템(702)을 구현하는 모바일 컴퓨팅 디바이스(700)는 부가의 특징들 또는 기능을 가질 수 있다. 예를 들어, 모바일 컴퓨팅 디바이스(700)는 또한 자기 디스크, 광 디스크 또는 테이프와 같은 부가의 데이터 저장 디바이스들(이동식 및/또는 비이동식)을 포함할 수 있다. 이러한 부가의 저장소가 도 15b에서 비휘발성 저장 영역(768)으로 예시되어 있다.
모바일 컴퓨팅 디바이스(700)에 의해 발생되거나 포착되고 시스템(702)을 통해 저장되는 데이터/정보는, 앞서 기술된 바와 같이, 모바일 컴퓨팅 디바이스(700) 상에 로컬적으로 저장될 수 있거나, 데이터가 무선부(772)를 통해 또는 모바일 컴퓨팅 디바이스(700) 및 모바일 컴퓨팅 디바이스(700)와 연관된 별도의 컴퓨팅 디바이스(예를 들어, 인터넷과 같은 분산 컴퓨팅 네트워크에서의 서버 컴퓨터) 사이의 유선 연결을 통해 디바이스에 의해 액세스될 수 있는 임의의 수의 저장 매체 상에 저장될 수 있다. 잘 알 것인 바와 같이, 이러한 데이터/정보는 모바일 컴퓨팅 디바이스(700)를 통해, 무선부(772)를 통해, 또는 분산 컴퓨팅 네트워크를 통해 액세스될 수 있다. 이와 유사하게, 이러한 데이터/정보가, 전자 메일 및 공동 작업 데이터/정보 공유 시스템들을 비롯한, 공지된 데이터/정보 전송 및 저장 수단에 따라 저장 및 사용을 위해 컴퓨팅 디바이스들 사이에서 용이하게 전송될 수 있다.
도 16은 앞서 기술된 바와 같은 컴퓨팅 디바이스(804), 태블릿(806), 또는 모바일 디바이스(808)와 같은, 원격 소스로부터 컴퓨팅 시스템에 수신되는 데이터를 처리하는 시스템의 아키텍처의 일 실시예를 나타낸 것이다. 서버 디바이스(802)에 디스플레이되는 콘텐츠가 상이한 통신 채널들 또는 다른 저장소 유형들에 저장될 수 있다. 이 실시예에서, 일반 컴퓨팅 디바이스(804)는 실루엣에 대한 개선된 그래픽 인터페이스를 이용하는 이메일 애플리케이션(660)을 실행하고 있다. 게다가, 이 실시예에서, 태블릿(806)는 실루엣에 대한 개선된 그래픽 인터페이스를 이용하는 워드 프로세싱 애플리케이션(662)을 실행하고 있다. 그에 부가하여, 이 실시예에서, 모바일 컴퓨팅 디바이스(808)는 실루엣에 대한 개선된 그래픽 인터페이스를 이용하는 스프레드시트 애플리케이션을 실행하고 있다. 실루엣에 대한 개선된 그래픽 인터페이스 및 개선된 그래픽 인터페이스를 발생시키는 방법이 앞서 상세히 기술되고 도 2 내지 도 13에 예시되어 있다. 예를 들어, 다양한 문서들이 디렉터리 서비스(directory service)(822), 웹 포털(824), 우편함 서비스(826), 인스턴트 메시징 저장소(828), 또는 소셜 네트워킹 사이트(830)를 사용하여 저장될 수 있다.
본 개시 내용의 실시예들은, 예를 들어, 본 개시 내용의 실시예들에 따른 방법, 시스템, 및 컴퓨터 프로그램 제품의 블록도 및/또는 동작 설명을 참조하여 이상에 기술되어 있다.
본 출원에 제공된 하나 이상의 실시예들의 설명 및 예시는 청구된 본 개시 내용의 범주를 결코 제한하거나 한정하는 것으로 의도되어 있지 않다. 본 출원에 제공된 실시예, 예, 및 상세는 소유권을 이전하고 다른 사람들이 청구된 개시 내용의 최상의 실시 형태를 제조하고 사용할 수 있게 하는 데 충분한 것으로 생각된다. 청구된 개시 내용은 본 출원에 제공된 임의의 실시예, 예, 또는 상세로 제한되는 것으로 해석되어서는 안된다. 결합되어 도시되고 기술되든 개별적으로 도시되고 기술되든 관계없이, 다양한 특징들(구조적 특징 및 방법적 특징 둘 다)이 특정의 일련의 특징들을 갖는 실시예를 제조하는 데 선택적으로 포함되거나 생략되는 것으로 의도되어 있다. 본 출원의 설명 및 예시가 제공되었지만, 본 기술 분야의 통상의 기술자는 청구된 개시 내용의 광의적 범주를 벗어나지 않는 변형들, 수정들 및 대안의 실시예들을 예상할 수 있다.
그에 부가하여, 실시예들이 일반적으로 컴퓨팅 디바이스에서 운영 체제 상에서 실행되는 애플리케이션 프로그램과 함께 실행되는 개선된 실루엣과 관련하여 기술될 수 있지만, 본 기술 분야의 통상의 기술자라면 양태들이 또한 다른 프로그램 모듈들과 결합하여 구현될 수 있다는 것을 잘 알 것이다. 추가의 실시예에서, 본원에 개시되는 실시예들이 하드웨어로 구현될 수 있다.
일반적으로, 프로그램 모듈은 특정의 작업을 수행하거나 특정의 추상 데이터 형식을 구현하는 루틴, 프로그램, 컴포넌트, 데이터 구조, 및 다른 유형의 구조를 포함한다. 게다가, 본 기술 분야의 통상의 기술자라면 실시예들이 핸드헬드 디바이스, 멀티프로세서 시스템, 마이크로프로세서 기반 또는 프로그램가능 가전 제품, 미니컴퓨터, 메인프레임 컴퓨터, 및 비슷한 컴퓨팅 디바이스들을 비롯한, 다른 컴퓨터 시스템 구성들에서 실시될 수 있다는 것을 잘 알 것이다. 실시예들은 또한 작업들이 통신 네트워크를 통해 연결되어 있는 원격 처리 디바이스들에 의해 수행되는 분산 컴퓨팅 환경에서도 실시될 수 있다. 분산 컴퓨팅 환경에서는, 프로그램 모듈들이 로컬 메모리 저장 디바이스 및 원격 메모리 저장 디바이스 둘 다에 위치될 수 있다.
실시예들이 컴퓨터 구현 프로세스(방법), 컴퓨팅 시스템, 또는 제조 물품(컴퓨터 프로그램 제품 또는 컴퓨터 판독가능 매체 등)으로서 구현될 수 있다. 컴퓨터 프로그램 제품은, 컴퓨터 시스템에 의해 판독가능하고 컴퓨터 또는 컴퓨팅 시스템으로 하여금 예시적인 프로세스(들)를 수행하게 하는 명령어들을 포함하는 컴퓨터 프로그램을 인코딩하는 컴퓨터 저장 매체일 수 있다. 컴퓨터 판독가능 저장 매체는, 예를 들어, 휘발성 컴퓨터 메모리, 비휘발성 메모리, 하드 드라이브, 플래시 드라이브, 플로피 디스크, 또는 콤팩트 서버(compact server), 단일의 컴퓨팅 디바이스 상에서 실행되는 애플리케이션, 및 비슷한 시스템들 중 하나 이상을 통해 구현될 수 있다.
Claims (20)
- 디스플레이 디바이스에서 개선된 사용자 인터페이스를 디스플레이하고 스케일링함으로써 소프트웨어 애플리케이션으로부터 기능을 제공하는 방법에 있어서,
소프트웨어 애플리케이션 창의 크기를 식별하는 단계 - 상기 크기를 식별하는 단계는 상기 소프트웨어 애플리케이션 창의 크기의 변화를 식별하는 단계를 포함함 -;
제1 레이아웃을 계산하는 단계 - 상기 제1 레이아웃을 계산하는 단계는, 상기 소프트웨어 애플리케이션 창의 크기를 우선순위 리스트에 상관시킴으로써, 제1 지정된 탭과 연관된 잠재적 디스플레이 컨트롤들로부터, 디스플레이하기 위한 선택가능 컨트롤들을 식별하는 단계를 포함함 -; 및
상기 제1 레이아웃을 디스플레이하는 단계
를 포함하고,
상기 제1 레이아웃은,
선택가능 컨트롤들의 그룹들을 식별하는 탭들을 포함하고, 상기 제1 레이아웃에 기초하여 적어도 상기 제1 지정된 탭을 디스플레이하는 제1 리본, 및
각각이 상기 탭들 중 하나의 탭과 연관되어 있는 상기 선택가능 컨트롤들의 그룹들을 포함하는 제2 리본을 포함하고,
상기 선택가능 컨트롤들의 그룹들은 청크(chunk)들을 형성하는 서브그룹들로 편성(organize)되어 있고, 상기 제2 리본은 상기 제1 레이아웃에 기초하여 상기 식별된 선택가능 컨트롤들을 상기 청크들에 디스플레이하고,
상기 우선순위 리스트는 다양한 잠재적 소프트웨어 애플리케이션 창 크기들에 따라 오버플로우(overflow)하기 위한 상기 탭들 각각과 연관된 상기 잠재적 디스플레이 컨트롤들 각각을 순위 지정(order)하며,
상기 제1 레이아웃을 계산하는 단계는, 상기 청크들 중 적어도 하나의 청크 내의 상기 잠재적 디스플레이 컨트롤들의 서브셋을, 상기 서브셋을 포함하는 상기 제2 리본 상에 디스플레이되는 청크와, 상기 청크와 연관된 숨겨진 오버플로우 창(hidden overflow pane) 사이에서 이동시키는 단계를 포함하는 것인, 소프트웨어 애플리케이션으로부터 기능을 제공하는 방법. - 제1항에 있어서,
상기 식별된 선택가능 컨트롤들은 그래픽 표현 및 텍스트 표현 중 적어도 하나를 포함하고,
상기 제1 레이아웃을 계산하는 단계는,
상기 그래픽 표현의 크기를 변경하는 것,
상기 텍스트 표현의 크기를 변경하는 것,
상기 그래픽 표현을 제거하는 것,
상기 그래픽 표현을 삽입하는 것,
상기 텍스트 표현을 제거하는 것, 및
상기 텍스트 표현을 삽입하는 것 중 적어도 하나를 더 포함하는 것인, 소프트웨어 애플리케이션으로부터 기능을 제공하는 방법. - 제1항에 있어서,
재정렬 명령(reordering command)의 사용자 선택에 응답하여 상기 우선순위 리스트의 적어도 일부분을 재정렬하는 단계
를 더 포함하는, 소프트웨어 애플리케이션으로부터 기능을 제공하는 방법. - 제1항에 있어서,
상기 식별된 선택가능 컨트롤들 중 한 컨트롤의 선택의 표시를 수신하는 단계; 및
상기 선택의 표시의 수신에 응답하여 상기 소프트웨어 애플리케이션의 작업 공간 내의 객체에 컨트롤을 적용하는 단계
를 더 포함하는, 소프트웨어 애플리케이션으로부터 기능을 제공하는 방법. - 제1항에 있어서,
상기 제1 레이아웃을 계산하는 단계는,
상기 소프트웨어 애플리케이션 창의 크기를 탭 순위 리스트(tab rank list)에 상관시킴으로써, 잠재적 탭들로부터, 디스플레이하기 위한 탭들을 식별하는 단계; 및
적어도 하나의 잠재적 탭을, 상기 제1 리본 상의 리스트와, 상기 제1 리본과 연관된 숨겨진 탭 콜아웃(hidden tab callout) 사이에서 이동시키는 단계를 더 포함하는, 소프트웨어 애플리케이션으로부터 기능을 제공하는 방법. - 제1항에 있어서,
상기 청크들은 적어도 제1 청크와 제2 청크를 포함하고, 상기 청크들 중 적어도 하나의 청크에 대한 상기 잠재적 디스플레이 컨트롤들의 서브셋을 이동시키는 단계는,
상기 제2 리본 상에 디스플레이되는 상기 제1 청크 내의 상기 잠재적 디스플레이 컨트롤들의 제1 서브셋을, 상기 제1 청크와 연관된 제1 숨겨진 오버플로우 창으로 이동시키는 단계 - 상기 잠재적 디스플레이 컨트롤들의 상기 제1 서브셋은 상기 제1 레이아웃을 디스플레이하기 전에 상기 제1 청크에 의해 디스플레이되었음 -; 및
상기 제2 리본 상에 디스플레이되는 상기 제2 청크 내의 상기 잠재적 디스플레이 컨트롤들의 제2 서브셋을, 상기 제2 청크와 연관된 제2 숨겨진 오버플로우 창으로 이동시키는 단계 - 상기 잠재적 디스플레이 컨트롤들의 상기 제2 서브셋은, 상기 제1 레이아웃을 디스플레이하기 전에 상기 제2 청크에 의해 디스플레이되었음 - 를 더 포함하는, 소프트웨어 애플리케이션으로부터 기능을 제공하는 방법. - 제6항에 있어서,
상기 제1 서브셋은, 상기 제1 서브셋을 상기 제1 숨겨진 오버플로우 창으로 이동시키기 전에 상기 제1 청크에 디스플레이되었던 2 개의 상이한 선택가능 컨트롤들을 포함하고,
상기 제2 서브셋은, 상기 제2 서브셋을 상기 제2 숨겨진 오버플로우 창으로 이동시키기 전에 상기 제2 청크에 디스플레이되었던 하나의 선택가능 컨트롤을 포함하는, 소프트웨어 애플리케이션으로부터 기능을 제공하는 방법. - 제1항에 있어서,
상기 잠재적 디스플레이 컨트롤의 서브셋을 상기 청크와 연관된 상기 숨겨진 오버플로우 창으로 이동시킨 청크들 각각에 대한 오버플로우 식별자(overflow identifier)를 디스플레이하는 단계
를 더 포함하는, 소프트웨어 애플리케이션으로부터 기능을 제공하는 방법. - 제8항에 있어서,
상기 청크와 연관된 상기 숨겨진 오버플로우 창에 대한 액세스를 제공하기 위해, 상기 잠재적 디스플레이 컨트롤의 서브셋을 상기 청크와 연관된 상기 숨겨진 오버플로우 창으로 이동시킨 상기 청크들 각각에 대한 오버플로우 버튼을 디스플레이하는 단계
를 더 포함하고, 상기 청크와 연관된 상기 숨겨진 오버플로우 창은, 상기 오버플로우 버튼의 사용자 선택을 수신할 시에 디스플레이되는 것인, 소프트웨어 애플리케이션으로부터 기능을 제공하는 방법. - 제9항에 있어서,
상기 오버플로우 버튼은 또한 상기 오버플로우 식별자인 것인, 소프트웨어 애플리케이션으로부터 기능을 제공하는 방법. - 제9항에 있어서,
상기 오버플로우 버튼은 상기 오버플로우 식별자와는 별개의 것인, 소프트웨어 애플리케이션으로부터 기능을 제공하는 방법. - 제1항에 있어서,
상기 제2 리본에서 상기 연관된 청크에 열거될 때 상기 잠재적 디스플레이 컨트롤들의 서브셋에 의해 디스플레이되는 순서와 유사한 방식으로, 식별되지 않았던 상기 잠재적 디스플레이 컨트롤들의 서브셋을 디스플레이하기 위해 상기 청크와 연관된 상기 숨겨진 오버플로우 창을 편성하는 단계
를 더 포함하는, 소프트웨어 애플리케이션으로부터 기능을 제공하는 방법. - 제1항에 있어서,
상기 디스플레이 디바이스는,
휴대폰;
스마트폰;
태블릿;
스마트 워치;
웨어러블 컴퓨터;
개인용 컴퓨터;
데스크톱 컴퓨터; 및
랩톱 컴퓨터 중 적어도 하나를 포함하는 것인, 소프트웨어 애플리케이션으로부터 기능을 제공하는 방법. - 제13항에 있어서,
상기 제1 리본 및 상기 제2 리본은 마우스, 터치패드, 키보드, 펜, 및 상기 디스플레이 디바이스의 터치패드로부터 사용자 선택을 수신할 수 있는 것인, 소프트웨어 애플리케이션으로부터 기능을 제공하는 방법. - 제1항에 있어서,
상기 소프트웨어 애플리케이션은,
이메일 애플리케이션;
소셜 네트워킹 애플리케이션;
프로젝트 관리 애플리케이션;
협업 애플리케이션;
기업 관리 애플리케이션;
메시징 애플리케이션;
워드 프로세싱 애플리케이션;
스프레드시트 애플리케이션;
데이터베이스 애플리케이션;
프레젠테이션 애플리케이션;
연락처 애플리케이션; 및
일정 관리 애플리케이션 중 적어도 하나인 것인, 소프트웨어 애플리케이션으로부터 기능을 제공하는 방법. - 제1항에 있어서,
제2 지정된 탭을 정의하기 위해 상기 탭들로부터 제2 탭의 선택의 표시를 수신하는 단계; 및
제2 레이아웃을 계산하는 단계 - 상기 제2 레이아웃을 계산하는 단계는, 상기 소프트웨어 애플리케이션 창의 크기를 상기 우선순위 리스트에 상관시킴으로써, 상기 제2 지정된 탭과 연관된 상기 잠재적 디스플레이 컨트롤들로부터, 디스플레이하기 위한 선택가능 컨트롤들을 식별하는 단계를 포함함 -
를 더 포함하고;
상기 제1 리본은 상기 제2 레이아웃에 기초하여 적어도 상기 제2 지정된 탭을 디스플레이하며,
상기 제2 리본은 상기 제2 레이아웃에 기초하여 상기 식별된 선택가능 컨트롤들을 새로운 청크들에 디스플레이하고,
상기 제2 레이아웃을 계산하는 단계는, 상기 새로운 청크들 중 적어도 하나의 청크 내의 상기 잠재적 디스플레이 컨트롤들의 새로운 서브셋을, 상기 새로운 서브셋을 포함하는 상기 제2 리본 상에 디스플레이되는 새로운 청크와, 상기 새로운 청크와 연관된 새로운 숨겨진 오버플로우 창 사이에서 이동시키는 단계를 포함하는 것인, 소프트웨어 애플리케이션으로부터 기능을 제공하는 방법. - 시스템에 있어서,
컴퓨팅 디바이스에 의해 적어도 부분적으로 실행되는 소프트웨어 애플리케이션
을 포함하고, 상기 컴퓨팅 디바이스는,
적어도 하나의 프로세서;
상기 적어도 하나의 프로세서에 의해 실행될 때, 소프트웨어 애플리케이션이 방법을 수행하게 하는 컴퓨터 실행가능 명령어들을 포함하는 메모리를 포함하며,
상기 방법은,
제1 리본과 제2 리본을 포함하는 실루엣 내에 복수의 선택가능 컨트롤들을 편성하는 단계로서,
상기 제1 리본 내의 탭들에 의해 식별되고 상기 소프트웨어 애플리케이션에 의해 수행될 작업들에 따라, 상기 복수의 소프트웨어 컨트롤들을 그룹화하는 단계,
상기 제2 리본 내의 상기 복수의 선택가능 컨트롤들을 상기 제1 리본 내의 상기 탭들 각각과 연관시키는 단계, 및
복수의 청크들을 형성하기 위해 각각의 탭과 연관된 상기 복수의 선택가능 컨트롤들을 상기 제2 리본 내의 논리적 서브그룹들로 편성하는 단계를 포함하는 것인, 상기 실루엣 내에 복수의 선택가능 컨트롤들을 편성하는 단계;
우선순위 리스트를 이용하여 소프트웨어 애플리케이션 창의 크기 및 상기 소프트웨어 애플리케이션 창의 크기의 변화 중 하나를 수용하기 위해 제1 선택된 탭에 대해 상기 복수의 선택가능 컨트롤들에 대한 레이아웃을 계산하는 단계 - 상기 우선순위 리스트는 오버플로우하기 위한 상기 탭들 각각과 연관된 상기 선택가능 컨트롤들 각각을 순위 지정하고, 상기 레이아웃을 계산하는 단계는, 제1 청크 내의 상기 복수의 선택가능 컨트롤들의 제1 서브셋을 상기 제2 리본 상의 상기 제1 청크와 상기 제1 청크와 연관된 제1 오버플로우 창 사이에서 이동시키는 단계를 포함함 - ; 및
상기 레이아웃에 기초하여 상기 제1 리본 및 상기 제2 리본을 디스플레이하는 단계를 포함하고,
상기 레이아웃은, 청크들에서의 상기 제1 선택된 탭과 연관된 상기 복수의 선택가능 컨트롤들의 적어도 일부분을 디스플레이하고, 상기 제1 청크 내의 상기 복수의 선택가능 컨트롤들의 상기 제1 서브셋을 상기 제1 청크와 연관된 상기 제1 오버플로우 창에 감추는 것인, 시스템. - 제17항에 있어서,
상기 레이아웃을 계산하는 단계는, 상기 제 1 청크 내의 상기 복수의 선택가능 컨트롤들의 제2 서브셋을, 상기 제2 리본 상의 제1 청크와, 상기 제1 청크와 연관된 제1 오버플로우 창 사이에서 이동시키는 단계를 포함하고,
상기 레이아웃은 또한, 상기 제1 청크와 연관된 상기 제1 오버플로우 창에서 제1 청크 내의 상기 복수의 선택가능 컨트롤들의 제2 서브셋을 숨기는 것인, 시스템. - 제17항에 있어서,
상기 복수의 청크들은 적어도, 상기 제1 청크와, 제2 청크를 포함하고,
상기 레이아웃을 계산하는 단계는, 상기 제2 청크 내의 상기 복수의 선택가능 컨트롤들의 제2 서브셋을, 상기 제2 리본 상의 상기 제2 청크와, 상기 제2 청크와 연관된 제2 오버플로우 창 사이에서 이동시키는 단계를 포함하고,
상기 레이아웃은 또한, 상기 제2 청크와 연관된 상기 제2 오버플로우 창에서 상기 제2 청크 내의 상기 복수의 선택가능 컨트롤들의 상기 제2 서브셋을 숨기는 것인, 시스템. - 소프트웨어 애플리케이션에 대한 컴퓨팅 시스템에 의해 실행될 때, 상기 컴퓨팅 시스템으로 하여금 방법을 수행하게 하는 컴퓨터 실행가능 명령어들이 저장되어 있는 컴퓨터 판독가능 저장 매체로서, 상기 방법은,
소프트웨어 애플리케이션 창의 크기를 식별하는 단계 - 상기 크기를 식별하는 단계는 상기 소프트웨어 애플리케이션 창의 크기의 변화를 식별하는 단계를 포함함 -;
실루엣에 대한 레이아웃을 계산하는 단계 - 상기 레이아웃을 계산하는 단계는, 우선순위 리스트 및 상기 소프트웨어 애플리케이션 창의 크기에 따라 실행되는 스케일링 논리에 기초하여, 제1 지정된 탭과 연관된 잠재적 디스플레이 컨트롤들로부터, 디스플레이하기 위한 선택가능 컨트롤들을 식별하는 단계를 포함함 - ; 및
상기 레이아웃을 갖는 상기 실루엣을 디스플레이하는 단계를 포함하고,
상기 실루엣은,
선택가능 컨트롤들의 그룹들을 식별하는 탭들을 포함하고 상기 레이아웃에 기초하여 적어도 상기 제1 지정된 탭을 디스플레이하는 제1 리본, 및
각각이 상기 탭들 중 하나의 탭과 연관되어 있는 상기 선택가능 컨트롤들의 그룹들을 포함하는 제2 리본을 포함하고,
상기 선택가능 컨트롤들의 그룹들은 청크들을 형성하는 서브그룹들로 편성되어 있고, 상기 제2 리본은 상기 레이아웃에 기초하여 상기 식별된 선택가능 컨트롤들을 상기 청크들에 디스플레이하며, 상기 청크들은 적어도 제1 청크와 제2 청크를 포함하고,
상기 우선순위 리스트는 다양한 잠재적 소프트웨어 애플리케이션 창 크기들에 따라 오버플로우하기 위한 상기 탭들 각각과 연관된 상기 잠재적 디스플레이 컨트롤들 각각을 순위 지정하며,
상기 제2 리본은 또한, 상기 레이아웃에 기초하여 상기 제1 청크에 대한 제1 오버플로우 식별자 및 상기 제2 청크에 대한 제2 오버플로우 식별자를 디스플레이하고,
상기 제2 리본은 또한, 상기 제1 청크와 연관된 제1 숨겨진 오버플로우 창에의 접근을 제공하기 위해 상기 제1 청크에 대한 제1 오버플로우 버튼을 디스플레이하며,
상기 제1 청크에 열거될 때 상기 잠재적 디스플레이 컨트롤들의 제1 서브셋에 의해 디스플레이되는 순서와 유사한 방식으로, 식별되지 않았던 상기 잠재적 디스플레이 컨트롤들의 상기 제1 서브셋을, 상기 레이아웃에 기초하여 상기 제2 리본에 디스플레이되는 바와 같이 디스플레이하도록, 상기 제1 청크와 연관된 상기 제1 숨겨진 오버플로우 창이 편성되며;
상기 레이아웃을 계산하는 단계는,
상기 제2 리본 상에 디스플레이되는 상기 제1 청크 내의 상기 잠재적 디스플레이 컨트롤들의 상기 제1 서브셋을, 상기 제1 청크와 연관된 상기 제1 숨겨진 오버플로우 창으로 이동시키는 단계, 및
상기 제2 리본 상에 디스플레이되는 상기 제2 청크 내의 상기 잠재적 디스플레이 컨트롤들의 제2 서브셋을, 상기 제2 청크와 연관된 제2 오버플로우 창으로 이동시키는 단계를 더 포함하는 것인, 컴퓨터 판독가능 저장 매체.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201461973729P | 2014-04-01 | 2014-04-01 | |
US61/973,729 | 2014-04-01 | ||
US14/254,681 US9329761B2 (en) | 2014-04-01 | 2014-04-16 | Command user interface for displaying and scaling selectable controls and commands |
US14/254,681 | 2014-04-16 | ||
PCT/US2015/022886 WO2015153313A1 (en) | 2014-04-01 | 2015-03-27 | Command user interface for displaying and scaling selectable controls and commands |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20160142335A KR20160142335A (ko) | 2016-12-12 |
KR102325237B1 true KR102325237B1 (ko) | 2021-11-10 |
Family
ID=54190359
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020167030094A KR102325237B1 (ko) | 2014-04-01 | 2015-03-27 | 선택가능 컨트롤 및 명령을 디스플레이하고 스케일링하는 명령 사용자 인터페이스 |
Country Status (12)
Country | Link |
---|---|
US (2) | US9329761B2 (ko) |
EP (1) | EP3126966A1 (ko) |
JP (1) | JP6538712B2 (ko) |
KR (1) | KR102325237B1 (ko) |
CN (2) | CN106170766B (ko) |
AU (1) | AU2015241256B2 (ko) |
BR (1) | BR112016022289A2 (ko) |
CA (1) | CA2943224C (ko) |
MX (1) | MX2016012649A (ko) |
RU (1) | RU2693909C2 (ko) |
TW (1) | TW201543331A (ko) |
WO (1) | WO2015153313A1 (ko) |
Families Citing this family (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9329761B2 (en) * | 2014-04-01 | 2016-05-03 | Microsoft Technology Licensing, Llc | Command user interface for displaying and scaling selectable controls and commands |
US9614724B2 (en) | 2014-04-21 | 2017-04-04 | Microsoft Technology Licensing, Llc | Session-based device configuration |
US10111099B2 (en) | 2014-05-12 | 2018-10-23 | Microsoft Technology Licensing, Llc | Distributing content in managed wireless distribution networks |
US9384335B2 (en) | 2014-05-12 | 2016-07-05 | Microsoft Technology Licensing, Llc | Content delivery prioritization in managed wireless distribution networks |
US9874914B2 (en) | 2014-05-19 | 2018-01-23 | Microsoft Technology Licensing, Llc | Power management contracts for accessory devices |
US10037202B2 (en) | 2014-06-03 | 2018-07-31 | Microsoft Technology Licensing, Llc | Techniques to isolating a portion of an online computing service |
US9367490B2 (en) | 2014-06-13 | 2016-06-14 | Microsoft Technology Licensing, Llc | Reversible connector for accessory devices |
US20150363048A1 (en) * | 2014-06-14 | 2015-12-17 | Siemens Product Lifecycle Management Software Inc. | System and method for touch ribbon interaction |
US9717006B2 (en) | 2014-06-23 | 2017-07-25 | Microsoft Technology Licensing, Llc | Device quarantine in a wireless network |
USD762659S1 (en) | 2014-09-02 | 2016-08-02 | Apple Inc. | Display screen or portion thereof with graphical user interface |
US9921733B2 (en) * | 2015-01-28 | 2018-03-20 | Splunk Inc. | Graphical interface for automatically binned information |
US20170168653A1 (en) * | 2015-12-10 | 2017-06-15 | Sap Se | Context-driven, proactive adaptation of user interfaces with rules |
FI127227B (en) * | 2016-01-04 | 2018-01-31 | Trimble Solutions Corp | Control area as large as display area |
US10748312B2 (en) * | 2016-02-12 | 2020-08-18 | Microsoft Technology Licensing, Llc | Tagging utilizations for selectively preserving chart elements during visualization optimizations |
US10347017B2 (en) * | 2016-02-12 | 2019-07-09 | Microsoft Technology Licensing, Llc | Interactive controls that are collapsible and expandable and sequences for chart visualization optimizations |
WO2017214045A1 (en) * | 2016-06-06 | 2017-12-14 | Hexagon Technology Center Gmbh | User interface with movable mini-tabs |
USD833477S1 (en) * | 2016-09-28 | 2018-11-13 | Marketo, Inc. | Display screen with graphical user interface |
CN107015721A (zh) | 2016-10-20 | 2017-08-04 | 阿里巴巴集团控股有限公司 | 一种应用界面的管理方法和装置 |
USD823893S1 (en) * | 2016-10-27 | 2018-07-24 | Apple Inc. | Display screen or portion thereof with icon set |
US10871880B2 (en) * | 2016-11-04 | 2020-12-22 | Microsoft Technology Licensing, Llc | Action-enabled inking tools |
CN106648341B (zh) * | 2016-11-18 | 2020-07-10 | 惠州Tcl移动通信有限公司 | 一种显示界面排版调整方法及系统 |
US10956013B2 (en) * | 2017-05-05 | 2021-03-23 | Servicenow, Inc. | User interface for automated flows within a cloud based developmental platform |
USD881230S1 (en) * | 2017-08-22 | 2020-04-14 | United States Of America As Represented By The Secretary Of The Air Force | Display screen or portion thereof with graphical user interface |
USD872759S1 (en) * | 2017-08-22 | 2020-01-14 | United States Of America As Represented By The Secretary Of The Air Force | Display screen or portion thereof 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 |
CN107943381B (zh) * | 2017-10-20 | 2020-11-03 | 创新先进技术有限公司 | 热区调整方法和装置、客户端 |
US10725774B2 (en) * | 2018-03-30 | 2020-07-28 | Atlassian Pty Ltd | Issue tracking system |
CN108829469B (zh) * | 2018-04-18 | 2021-08-20 | 北京奇艺世纪科技有限公司 | 一种应用程序页面展示方法及装置 |
USD876464S1 (en) * | 2018-07-13 | 2020-02-25 | Apple Inc. | Electronic device with graphical user interface |
CN109189532B (zh) * | 2018-08-28 | 2021-05-11 | 广州视源电子科技股份有限公司 | 电子白板的控件栏显示方法、装置、设备及存储介质 |
CN109614176B (zh) * | 2018-10-30 | 2021-10-15 | 努比亚技术有限公司 | 一种应用界面布局方法、终端及计算机可读存储介质 |
CN111240562B (zh) * | 2018-11-28 | 2023-04-25 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置、终端设备及计算机存储介质 |
USD946584S1 (en) * | 2019-05-14 | 2022-03-22 | Rasimo Systems LLC | Display screen or portion thereof with graphical user interface for presentation of weight loss data |
CN110162375A (zh) * | 2019-05-30 | 2019-08-23 | 努比亚技术有限公司 | 界面显示方法、穿戴式设备及可读存储介质 |
CN111198740B (zh) * | 2019-12-30 | 2024-04-05 | 深圳移航通信技术有限公司 | 图形用户界面的处理方法、装置、设备和存储介质 |
US11768700B2 (en) * | 2020-04-02 | 2023-09-26 | Citrix Systems, Inc. | Contextual application switch based on user behaviors |
CN112328353B (zh) * | 2021-01-06 | 2021-04-27 | 腾讯科技(深圳)有限公司 | 子应用播放器的展示方法、装置、电子设备和存储介质 |
CN114816184A (zh) * | 2022-04-26 | 2022-07-29 | 曙光网络科技有限公司 | 一种操作控件的展示方法、装置、设备及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002518731A (ja) | 1998-06-17 | 2002-06-25 | マイクロソフト コーポレイション | コントロールの使用法に基づきツールバーの表示部にコントロールを動的に表示するための方法 |
Family Cites Families (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
US6452597B1 (en) | 1999-08-24 | 2002-09-17 | Microsoft Corporation | Displaying text on a limited-area display surface |
US6983424B1 (en) | 2000-06-23 | 2006-01-03 | International Business Machines Corporation | Automatically scaling icons to fit a display area within a data processing system |
US7913183B2 (en) | 2002-10-08 | 2011-03-22 | Microsoft Corporation | System and method for managing software applications in a graphical user interface |
US20050229157A1 (en) * | 2004-04-08 | 2005-10-13 | Johnson Matthew A | Dynamic layout system and method for graphical user interfaces |
US7703036B2 (en) * | 2004-08-16 | 2010-04-20 | Microsoft Corporation | User interface for displaying selectable software functionality controls that are relevant to a selected object |
US8255828B2 (en) | 2004-08-16 | 2012-08-28 | Microsoft Corporation | Command user interface for displaying selectable software functionality controls |
US20060227153A1 (en) * | 2005-04-08 | 2006-10-12 | Picsel Research Limited | System and method for dynamically zooming and rearranging display items |
US8255834B2 (en) | 2005-04-25 | 2012-08-28 | Apple Inc. | Displaying a set of data elements |
US20060277478A1 (en) | 2005-06-02 | 2006-12-07 | Microsoft Corporation | Temporary title and menu bar |
US8239882B2 (en) | 2005-08-30 | 2012-08-07 | Microsoft Corporation | Markup based extensibility for user interfaces |
US8689137B2 (en) * | 2005-09-07 | 2014-04-01 | Microsoft Corporation | Command user interface for displaying selectable functionality controls in a database application |
US7779367B2 (en) | 2007-02-08 | 2010-08-17 | Microsoft Corporation | Dynamic control configuration |
AR067297A1 (es) * | 2007-03-28 | 2009-10-07 | Avery Dennison Corp | Interfaz de usuario de tipo cinta para un programa de aplicacion |
KR101012300B1 (ko) | 2008-03-07 | 2011-02-08 | 삼성전자주식회사 | 터치스크린을 구비한 휴대 단말기의 사용자 인터페이스장치 및 그 방법 |
US9841980B2 (en) * | 2008-04-25 | 2017-12-12 | Microsoft Technology, LLC | Extensible and application-adaptable toolbar for web services |
JP5520305B2 (ja) | 2008-09-29 | 2014-06-11 | フィッシャー−ローズマウント システムズ,インコーポレイテッド | プロセス制御の環境設定を行う方法 |
US8751954B2 (en) | 2009-02-18 | 2014-06-10 | Blackberry Limited | System and method for scrolling information in a UI table |
CN101582030A (zh) | 2009-06-15 | 2009-11-18 | 中兴通讯股份有限公司 | 一种实现动态调整工具条按钮显示的方法和系统 |
US8631350B2 (en) | 2010-04-23 | 2014-01-14 | Blackberry Limited | Graphical context short menu |
US8296673B2 (en) | 2010-04-23 | 2012-10-23 | Microsoft Corporation | Collapsible tabbed user interface |
US8675011B2 (en) | 2010-05-12 | 2014-03-18 | International Business Machines Corporation | Displaying items in an application window |
US9639237B2 (en) * | 2010-10-28 | 2017-05-02 | Microsoft Technology Licensing, Llc | User-customizable context menus |
US9378297B2 (en) * | 2011-03-07 | 2016-06-28 | Microsoft Technology Licensing, Llc | Task-based address bar and tabs scaling |
US8904305B2 (en) | 2011-03-11 | 2014-12-02 | Google Inc. | Automatically hiding controls |
US20130019175A1 (en) | 2011-07-14 | 2013-01-17 | Microsoft Corporation | Submenus for context based menu system |
TWI579827B (zh) * | 2011-09-23 | 2017-04-21 | 微軟技術授權有限責任公司 | 以動態佈局在網格上展現圖磚之技術 |
US9189134B2 (en) | 2011-09-30 | 2015-11-17 | Bmc Software, Inc. | Display window with multi-layer, parallel tab display |
US8977950B2 (en) * | 2011-10-04 | 2015-03-10 | Microsoft Corporation | Techniques for selection and manipulation of table boarders |
US9544158B2 (en) * | 2011-10-05 | 2017-01-10 | Microsoft Technology Licensing, Llc | Workspace collaboration via a wall-type computing device |
US8682973B2 (en) * | 2011-10-05 | 2014-03-25 | Microsoft Corporation | Multi-user and multi-device collaboration |
US9996241B2 (en) * | 2011-10-11 | 2018-06-12 | Microsoft Technology Licensing, Llc | Interactive visualization of multiple software functionality content items |
US10192176B2 (en) * | 2011-10-11 | 2019-01-29 | Microsoft Technology Licensing, Llc | Motivation of task completion and personalization of tasks and lists |
US9069743B2 (en) * | 2011-10-13 | 2015-06-30 | Microsoft Technology Licensing, Llc | Application of comments in multiple application functionality content |
US9176933B2 (en) * | 2011-10-13 | 2015-11-03 | Microsoft Technology Licensing, Llc | Application of multiple content items and functionality to an electronic content item |
US9760236B2 (en) | 2011-10-14 | 2017-09-12 | Georgia Tech Research Corporation | View virtualization and transformations for mobile applications |
EP2592574B1 (en) | 2011-11-08 | 2020-03-18 | BlackBerry Limited | Improved block zoom on a mobile electronic device |
US10061473B2 (en) * | 2011-11-10 | 2018-08-28 | Microsoft Technology Licensing, Llc | Providing contextual on-object control launchers and controls |
US20130191781A1 (en) | 2012-01-20 | 2013-07-25 | Microsoft Corporation | Displaying and interacting with touch contextual user interface |
US9307009B2 (en) | 2012-02-15 | 2016-04-05 | Mobilespan Inc. | Presenting execution of a remote application in a mobile device native format |
US9927952B2 (en) * | 2012-05-23 | 2018-03-27 | Microsoft Technology Licensing, Llc | Utilizing a ribbon to access an application user interface |
US20140157169A1 (en) * | 2012-12-05 | 2014-06-05 | Microsoft Corporation | Clip board system with visual affordance |
US20140173602A1 (en) * | 2012-12-14 | 2014-06-19 | Microsoft Corporation | Matching Opportunity to Context |
US10241643B2 (en) * | 2012-12-21 | 2019-03-26 | Microsoft Technology Licensing, Llc | Navigating content hierarchies and persisting content item collections |
US20150277682A1 (en) | 2014-04-01 | 2015-10-01 | Microsoft Corporation | Scalable user interface display |
US9329761B2 (en) * | 2014-04-01 | 2016-05-03 | Microsoft Technology Licensing, Llc | Command user interface for displaying and scaling selectable controls and commands |
US20150341399A1 (en) * | 2014-05-23 | 2015-11-26 | Samsung Electronics Co., Ltd. | Server and method of providing collaboration services and user terminal for receiving collaboration services |
-
2014
- 2014-04-16 US US14/254,681 patent/US9329761B2/en active Active
-
2015
- 2015-02-26 TW TW104106311A patent/TW201543331A/zh unknown
- 2015-03-27 CN CN201580018650.1A patent/CN106170766B/zh active Active
- 2015-03-27 CN CN201910584696.XA patent/CN110362251A/zh active Pending
- 2015-03-27 EP EP15719886.2A patent/EP3126966A1/en not_active Withdrawn
- 2015-03-27 CA CA2943224A patent/CA2943224C/en active Active
- 2015-03-27 WO PCT/US2015/022886 patent/WO2015153313A1/en active Application Filing
- 2015-03-27 AU AU2015241256A patent/AU2015241256B2/en active Active
- 2015-03-27 RU RU2016138695A patent/RU2693909C2/ru active
- 2015-03-27 JP JP2016560491A patent/JP6538712B2/ja active Active
- 2015-03-27 BR BR112016022289A patent/BR112016022289A2/pt not_active Application Discontinuation
- 2015-03-27 KR KR1020167030094A patent/KR102325237B1/ko active IP Right Grant
- 2015-03-27 MX MX2016012649A patent/MX2016012649A/es active IP Right Grant
-
2016
- 2016-03-30 US US15/085,487 patent/US10019145B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002518731A (ja) | 1998-06-17 | 2002-06-25 | マイクロソフト コーポレイション | コントロールの使用法に基づきツールバーの表示部にコントロールを動的に表示するための方法 |
Non-Patent Citations (1)
Title |
---|
Joan Lambert 외 1명. Step By Step Microsoft Word 2013. 2013년 |
Also Published As
Publication number | Publication date |
---|---|
JP6538712B2 (ja) | 2019-07-03 |
RU2693909C2 (ru) | 2019-07-05 |
WO2015153313A1 (en) | 2015-10-08 |
BR112016022289A2 (pt) | 2021-06-01 |
KR20160142335A (ko) | 2016-12-12 |
US10019145B2 (en) | 2018-07-10 |
CN106170766B (zh) | 2019-08-02 |
CA2943224A1 (en) | 2015-10-08 |
EP3126966A1 (en) | 2017-02-08 |
AU2015241256B2 (en) | 2020-01-02 |
TW201543331A (zh) | 2015-11-16 |
AU2015241256A1 (en) | 2016-10-06 |
US20160210035A1 (en) | 2016-07-21 |
CA2943224C (en) | 2021-10-12 |
RU2016138695A (ru) | 2018-04-02 |
US20150277708A1 (en) | 2015-10-01 |
JP2017517055A (ja) | 2017-06-22 |
MX2016012649A (es) | 2016-12-14 |
CN106170766A (zh) | 2016-11-30 |
CN110362251A (zh) | 2019-10-22 |
RU2016138695A3 (ko) | 2018-12-10 |
US9329761B2 (en) | 2016-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102325237B1 (ko) | 선택가능 컨트롤 및 명령을 디스플레이하고 스케일링하는 명령 사용자 인터페이스 | |
EP3126962B1 (en) | Scalable user interface display | |
JP6317735B2 (ja) | アプリケーションユーザーインターフェイスにアクセスするためのリボンの利用 | |
US10042655B2 (en) | Adaptable user interface display | |
US10248439B2 (en) | Format object task pane | |
US20180225263A1 (en) | Inline insertion viewport | |
US20150277726A1 (en) | Sliding surface | |
KR101978007B1 (ko) | 드래그 앤 드롭 항시 합계 수식 | |
US10552770B2 (en) | Efficient schedule item creation | |
US10867584B2 (en) | Smart and scalable touch user interface display | |
US20140365951A1 (en) | Navigating a calendar | |
US20130055131A1 (en) | Animation for Cut and Paste of Content | |
US10963635B2 (en) | Extensibility of compound data objects | |
US9355073B2 (en) | Content attribute control interface including incremental, direct entry, and scrollable controls |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |