KR101913480B1 - 계층적 콘텐츠에 대한 보기 가능 영역의 순항 가능한 계층화 - Google Patents

계층적 콘텐츠에 대한 보기 가능 영역의 순항 가능한 계층화 Download PDF

Info

Publication number
KR101913480B1
KR101913480B1 KR1020167015579A KR20167015579A KR101913480B1 KR 101913480 B1 KR101913480 B1 KR 101913480B1 KR 1020167015579 A KR1020167015579 A KR 1020167015579A KR 20167015579 A KR20167015579 A KR 20167015579A KR 101913480 B1 KR101913480 B1 KR 101913480B1
Authority
KR
South Korea
Prior art keywords
viewable
area
areas
viewable area
visible
Prior art date
Application number
KR1020167015579A
Other languages
English (en)
Other versions
KR20160086886A (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 KR20160086886A publication Critical patent/KR20160086886A/ko
Application granted granted Critical
Publication of KR101913480B1 publication Critical patent/KR101913480B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • 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/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/0483Interaction with page-structured environments, e.g. book metaphor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/206Drawing of charts or graphs

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)
  • User Interface Of Digital Computer (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

예시적인 실시예들은 일반적으로 컴퓨터 판독 가능 콘텐츠의 계층적 구조체에 상응하는 보기 가능 영역들의 순항 가능한 계층화에 관한 것이다. 예시적인 실시예들에서, 제1 보기 가능 영역 및 제2 보기 가능 영역을 포함하는 보기 가능 영역들의 스택은 풋프린트 영역 내의 디스플레이 상에서 렌더링될 수 있다. 스택에서의 보기 가능 영역들의 순서는 컴퓨터 판독 가능 콘텐츠의 계층적 관계에 상응할 수 있고 보기 가능 영역들은 계층적 관계와 연관되는 정보를 포함할 수 있다. 스택에서의 제2 보기 가능 영역은 예를 들어, 풋프린트 내에 스택의 보기 가능 영역들을 수용하는 압축 기준들에 기반하여 제2 보기 가능 영역을 다시 크기 조정하고/하거나 재위치시킴으로써 조정될 수 있다.

Description

계층적 콘텐츠에 대한 보기 가능 영역의 순항 가능한 계층화{NAVIGABLE LAYERING OF VIEWABLE AREAS FOR HIERARCHICAL CONTENT}
본 출원은 2013년 11월 15일자로 출원된 미국 특허 출원 제 14/081,707호의 이익을 주장하며, 그 전체가 참조로 본원에 포함된다.
컴퓨터 판독 가능 콘텐츠의 계층적 구조체를 순항하는 것은 계층의 깊이가 증가함에 따라, 어려울 수 있다. 예를 들어, 일부 전자 책(e-북) 및 다른 디지털 콘텐츠는 한정된 구조체로 구성될 수 있고 구조체를 반영하는 콘텐츠의 테이블을 포함할 수 있다. 일부 사용자들은 e-북의 적절한 부분을 찾기 위해 콘텐츠의 테이블에 기반하여 e-북의 상이한 구획을 순항하는 것을 원할 수 있다. 디스플레이 크기가 작은(예를 들어, 스마트폰 및 태블릿 상의 디스플레이) 애플리케이션의 경우, 콘텐츠의 테이블을 맞추고 보는 것이 어려울 수 있다. 일부 애플리케이션은 계층의 상이한 부분을 보기 위해 사용자가 하나의 스크린에서 다른 스크린으로 순항하는 것을 가능하게 할 수 있다. 그러나, 이러한 통상적 애플리케이션은 흔히 계층 내의 사용자 위치의 감지를 사용자에게 제공하지 않고 흔히 콘텐츠 계층의 테이블 내에 되돌아가는 용이하고 효율적인 방식을 사용자에게 제공하지 않는다.
컴퓨터 판독 가능 콘텐츠와 연관되는 계층적 구조체를 통해 사용자가 이동하는 것을 가능하게 하는 애플리케이션이 존재하지만, 개선된 유용성을 갖는 강화된 내비게이션을 제공하는 특징이 바람직한 목적으로 남는다.
예시적인 실시예들은 일반적으로 계층적 콘텐츠에 대한 보기 가능 영역들의 순항 가능한 계층화를 제공한다. 일 예로서, 본 발명의 예시적인 실시예들은 유리하게는 사용자가 TOC 계층을 식별하거나, 관찰하거나, 순회할 수 있도록 (완전한) TOC 계층을 통해 사용자가 보고 순항하는 것을 가능하게 하기 위해 전자 텍스트의 콘텐츠의 테이블(TOC)의 계층적 내비게이션을 용이하게 할 수 있다. 본 발명의 예시적인 실시예들에 의해 구현되는 순항 가능한 계층화는 유리하게는 현재의 경로에 더하여 이전에 순항된 계층 경로를 사용자가 보는 것을 가능하게 하는 메커니즘을 제공할 수 있다. 예시적인 실시예들에서, 컴퓨터 판독 가능 콘텐츠의 계층에 기반한 보기 가능 영역들의 순항 가능한 계층화는 계층의 상이한 연속적이거나 불연속적인 층들 (또는 단들) 사이에서 사용자가 용이하게 그리고 직관적으로 천이하는 것을 가능하게 할 수 있다.
본 발명의 실시예들에 따르면, 컴퓨터 판독 가능 콘텐츠의 계층적 구조체에 상응하는 보기 가능 영역들의 순항 가능한 계층화의 컴퓨터-구현 방법이 개시된다. 방법은 디스플레이 디바이스 상에서 보기 가능 영역들의 스택을 렌더링(rendering)하도록 코드를 실행시키는 단계를 포함한다. 보기 가능 영역들의 스택은 제1 보기 가능 영역 및 제2 보기 가능 영역을 포함할 수 있다. 스택의 보기 가능 영역들 각각은 일정 높이 및 일정 폭을 갖는 풋프린트 내에서 렌더링될 수 있고 스택에서의 보기 가능 영역들의 순서는 컴퓨터 판독 가능 콘텐츠의 계층적 관계에 상응할 수 있다. 방법은 또한 풋프린트 내에 스택에서의 보기 가능 영역들을 수용하는 압축 기준들에 기반하여 스택에서의 제2 보기 가능 영역을 프로그램에 따라 조정하는 단계를 포함한다. 스택에서의 보기 가능 영역들은 계층적 관계와 연관되는 정보를 포함하고 제2 보기 가능 영역은 제1 보기 가능 영역을 오버레잉(overlaying)한다.
본 발명의 실시예들에 따르면, 컴퓨터 판독 가능 콘텐츠의 계층적 구조체에 상응하는 보기 가능 영역들의 순항 가능한 계층화를 위한 시스템이 개시된다. 시스템은 하나 이상의 비일시적 컴퓨터 판독 가능 매체 및 하나 이상의 처리 디바이스를 포함한다. 하나 이상의 비일시적 컴퓨터 판독 가능 매체는 하나 이상의 프로그램을 저장한다. 하나 이상의 처리 디바이스는 하나 이상의 비일시적 컴퓨터 판독 가능 매체에 작동적 결합되고 디스플레이 디바이스 상에서 보기 가능 영역들의 스택을 렌더링하도록 하나 이상의 프로그램을 실행시키도록 프로그래밍된다. 보기 가능 영역들의 스택은 제1 보기 가능 영역 및 제2 보기 가능 영역을 포함한다. 스택의 보기 가능 영역들 각각은 일정 높이 및 일정 폭을 갖는 풋프린트 내에서 렌더링될 수 있고 스택에서의 보기 가능 영역들의 순서는 컴퓨터 판독 가능 콘텐츠의 계층적 관계에 상응할 수 있다. 하나 이상의 처리 디바이스는 또한 풋프린트 내에 스택에서의 보기 가능 영역들을 수용하는 압축 기준들에 기반하여 스택에서의 제2 보기 가능 영역을 프로그램에 따라 조정하도록 하나 이상의 프로그램을 실행시키도록 프로그래밍된다. 스택에서의 보기 가능 영역들은 계층적 관계와 연관되는 정보를 포함하고 제2 보기 가능 영역은 제1 보기 가능 영역을 오버레잉한다.
본 발명의 실시예들에 따르면, 명령어들을 저장하는 비일시적 컴퓨터 판독 가능 매체가 개시된다. 처리 디바이스에 의한 명령어들의 실행은 컴퓨터 판독 가능 콘텐츠의 계층적 구조체에 상응하는 보기 가능 영역들의 순항 가능한 계층화를 위한 프로세스를 처리 디바이스가 구현하게 한다. 명령어들은 디스플레이 상에서 보기 가능 영역들의 스택을 렌더링하는 코드를 포함한다. 보기 가능 영역들의 스택은 제1 보기 가능 영역 및 제2 보기 가능 영역을 포함한다. 스택의 보기 가능 영역들 각각은 일정 높이 및 일정 폭을 갖는 풋프린트 내에서 렌더링될 수 있고 스택에서의 보기 가능 영역들의 순서는 컴퓨터 판독 가능 콘텐츠의 계층적 관계에 상응할 수 있다. 명령어들은 또한 풋프린트 내에 스택에서의 보기 가능 영역들을 수용하는 압축 기준들에 기반하여 디스플레이 상에서 제2 보기 가능 영역을 조정하는 코드를 포함한다. 스택에서의 보기 가능 영역들은 계층적 관계와 연관되는 정보를 포함하고 제2 보기 가능 영역은 제1 보기 가능 영역을 오버레잉한다.
일부 실시예들에서, 압축 기준들은 스택에서의 보기 가능 영역의 양에 기반할 수 있다. 제2 보기 가능 영역의 조정은 제2 보기 가능 영역의 적어도 하나의 치수를 다시 크기 조정하는 것 그리고/또는 제1 보기 가능 영역에 대하여 제2 보기 가능 영역을 재위치시키는 것을 포함할 수 있다. 제2 보기 가능 영역의 다시 크기 조정된 치수는 치수의 증가에 상응할 수 있다.
일부 실시예들에서, 보기 가능 영역들의 스택을 렌더링하는 것은 디스플레이 디바이스를 통하여 제1 보기 가능 영역을 표시하는 것 및 제1 보기 가능 영역 중 일부를 방해하기 위해 그리고 제1 보기 가능 영역이 풋프린트 미만인 제1 가시부를 갖도록 제1 보기 가능 영역의 적어도 일부에 적어도 하나의 개재하는 보기 가능 영역을 오버레잉하는 것을 포함할 수 있다. 제1 보기 가능 영역은 계층적 구조체의 루트(root)에 상응할 수 있고 계층적 관계와 연관되는 적어도 하나의 선택 가능 대상을 포함할 수 있다. 제2 보기 가능 영역은 제1 보기 가능 영역과 제2 보기 가능 영역 사이에 배치되는 개재하는 보기 가능 영역들 상에서 적어도 하나의 선택 가능 대상 또는 적어도 하나의 선택 가능 대상의 선택을 검출하는 것에 응하여 표시될 수 있다. 제2 보기 가능 영역은 적어도 하나의 개재하는 보기 가능 영역 중 일부를 방해하기 위해 그리고 개재하는 보기 가능 영역들이 감소된 가시부들을 갖도록 개재하는 보기 가능 영역들 중 적어도 일부에 오버레잉될 수 있다. 상단 보기 가능 영역은 제2 보기 가능 영역 중 일부를 방해하기 위해 그리고 제2 보기 가능 영역이 제3 가시부를 갖도록 제2 보기 가능 영역 중 적어도 일부에 오버레잉될 수 있으며, 상단 보기 가능 영역은 디스플레이 디바이스 상에서 방해 받지 않고 가시적이다.
일부 실시예들에서, 보기 가능 영역들은 각각 상이한 폭을 갖도록 렌더링될 수 있고 동일한 높이들을 갖도록 렌더링될 수 있다. 보기 가능 영역들 각각의 우측 에지는 보기 가능 영역들의 스택이 상쇄된 중첩하는 구성을 갖도록 정렬될 수 있다. 보기 가능 영역들 각각의 가시부들은 풋프린트 내에서 전체 가시 영역을 함께 형성할 수 있다. 루트 보기 가능 영역에 상응하는 가시부는 제1 지정된 최소 치수를 가질 수 있고/있거나 현재(상단) 보기 가능 영역은 제2 지정된 최소 치수를 가질 수 있다.
일부 실시예들에서, 스택에서의 보기 가능 영역들 중 적어도 하나는 스택에서의 보기 가능 영역들 중 다른 하나가 디스플레이 디바이스 상에서 가시적이지 않도록 조정될 수 있다.
일부 실시예들에서, 보기 가능 영역들 중 적어도 일부는 적어도 부분적으로 방해될 수 있고 스택에서의 보기 가능 영역들 중 적어도 2개는 동일한 면적을 갖는 가시적인 방해 받지 않은 부분들을 가질 수 있다.
일부 실시예들에서, 풋프린트는 전체 가시적 보기 면적을 한정할 수 있고 스택에서 보기 가능 영역들의 가시부들은 전체 가시적 보기 면적에 표시된다. 가시부들 중 적어도 하나의 적어도 하나의 치수는 전체 가시적 보기 면적과 연관되는 구성 가능 임계치에 기반하여 조정될 수 있다.
일부 실시예들에서, 제1 보기 가능 영역은 컴퓨터 판독 가능 콘텐츠에 상응하는 선택 가능 대상을 포함하는 것으로 표시될 수 있다. 제2 보기 가능 영역은 컴퓨터 판독 가능 콘텐츠에 상응하는 선택 가능 대상을 포함할 수 있고 제1 보기 가능 영역의 선택 가능 대상의 선택을 검출하는 것에 응하여 제1 보기 가능 영역의 제1 가시적 보기 면적을 감소시키도록 제1 보기 가능 영역 중 적어도 일부에 오버레잉될 수 있다. 제3 보기 가능 영역은 컴퓨터 판독 가능 콘텐츠에 상응하는 선택 가능 대상을 포함할 수 있고 제2 보기 가능 영역의 선택 가능 대상의 선택을 검출하는 것에 응하여 제2 보기 가능 영역의 제2 가시적 보기 면적을 감소시키도록 제2 보기 가능 영역 중 적어도 일부에 오버레잉될 수 있다. 풋프린트 내에 보기 가능 영역들을 수용하기 위해, 제2 보기 가능 영역의 제2 가시적 보기 면적은 제2 가시적 보기 면적 미만인 상기 제2 보기 가능 영역에 대한 압축된 가시적 보기 면적을 생성하도록 압축될 수 있다.
실시예들의 임의의 조합이 구상된다. 다른 목적들 및 특징들이 첨부 도면들과 함께 고려되는 이하의 상세한 설명으로부터 명백해질 것이다. 그러나, 도면들이 본 발명의 제한들의 한정으로서가 아닌 단지 예시로서 도안된다는 점이 이해되어야 한다.
도 1은 본 발명의 예시적인 실시예들에 따른 예시적인 컴퓨터 판독 가능 콘텐츠 렌더링 환경의 블록도이다.
도 2는 근원적인 컴퓨터 판독 가능 콘텐츠의 계층적 구조체에 상응하는 보기 가능 영역들의 중첩하는 구성을 결정하는 본 발명의 예시적인 실시예에 의해 구현되는 프로세스를 도시하는 흐름도이다.
도 3은 근원적인 컴퓨터 판독 가능 콘텐츠의 계층적 구조체에 상응하는 보기 가능 영역들의 중첩하는 구성을 결정하는 본 발명의 다른 예시적인 실시예에 의해 구현되는 프로세스를 도시하는 흐름도이다.
도 4는 근원적인 컴퓨터 판독 가능 콘텐츠의 계층적 구조체에 상응하는 보기 가능 영역들의 중첩하는 구성을 결정하는 본 발명의 다른 예시적인 실시예에 의해 구현되는 프로세스를 도시하는 흐름도이다.
도 5는 근원적인 컴퓨터 판독 가능 콘텐츠의 계층적 구조체의 시각 표시를 제공하도록 디스플레이 디바이스에 의해 렌더링되는 보기 가능 영역들의 중첩하는 구성을 도시한다.
도 6은 근원적인 컴퓨터 판독 가능 콘텐츠의 계층적 구조체의 시각 표시를 제공하도록 디스플레이 디바이스에 의해 렌더링되는 보기 가능 영역들의 다른 중첩하는 구성을 도시한다.
도 7은 근원적인 컴퓨터 판독 가능 콘텐츠의 계층적 구조체의 시각 표시를 제공하도록 디스플레이 디바이스에 의해 렌더링되는 보기 가능 영역들의 다른 중첩하는 구성을 도시한다.
도 8은 근원적인 컴퓨터 판독 가능 콘텐츠의 계층적 구조체를 통해 뒤따르는 경로들의 분기의 시각 표시를 제공하도록 디스플레이 디바이스에 의해 렌더링되는 보기 가능 영역들의 중첩하는 구성을 도시한다.
도 9는 근원적인 컴퓨터 판독 가능 콘텐츠의 계층적 구조체를 나타내는 보기 가능 영역들의 스택에서 방해된 보기 가능 영역을 보도록 구현될 수 있는 "피크(peek)" 작동을 도시하는 디스플레이 디바이스에 의해 렌더링되는 보기 가능 영역들의 중첩하는 구성을 도시한다.
도 10은 근원적인 컴퓨터 판독 가능 콘텐츠의 계층적 구조체에 따른 보기 가능 영역들의 스택을 렌더링하는 본 발명의 예시적인 실시예들에 의해 구현되는 예시적인 프로세스를 도시하는 흐름도이다.
도 11은 본 발명의 예시적인 실시예들을 구현하는 예시적인 컴퓨팅 디바이스의 블록도이다.
도 12는 본 발명의 예시적인 실시예들을 구현하도록 구성되는 클라이언트-서버 환경이다.
본 발명의 예시적인 실시예들은 일반적으로 태블릿 또는 스마트폰 등과 같은 데스크탑 컴퓨터, 모바일 전자 디바이스 또는 휴대용 전자 디바이스를 포함하는 컴퓨팅 디바이스들을 통하여 계층적 콘텐츠에 액세스하는 강화되고 강건한 사용자 경험을 제공하는 기법들에 관한 것이다. 하나의 비제한적 예로서, 이러한 기법들은 콘텐츠의 테이블(TOC) 계층들의 내비게이션을 제공하고 선택된 콘텐츠에 대한 완전한 TOC 계층을 사용자에게 표시하는 것을 포함할 뿐만 아니라 사용자가 TOC 계층의 레벨들을 용이하게 그리고 직관적으로 순항하는 것을 가능하게 한다. 중첩하는 보기 가능 영역들 (또는 "슬랫(slat)들")의 세트는 레벨들을 구성하고 함께 스택을 형성한다.
예시적인 실시예들에서, 가변적이고/이거나, 구성 가능하고/하거나, 고정된 임계치 또는 압축 기준들은 상단 슬랫(들) 및 현재(상단) 보기 가능 영역 상의 모든 연관된 콘텐츠가 가시적일 수 있고/있거나 루트 보기 가능 영역 및 루트 보기 가능 영역의 콘텐츠 중 적어도 일부가 가시적일 수 있도록 스택을 압축하는 방식을 결정하는데 사용될 수 있다. 개재하는 비표면화된 보기 가능 영역들(예를 들어, 완전히 또는 부분적으로 방해된 보기 가능 영역들)은 사용자에 의해 액세스 가능할 수 있지만, 개재하는 비표면화된 보기 가능 영역들의 연관된 콘텐츠는 가시적이지 않을 수 있다. 본 발명의 예시적인 실시예들은 또한 유리하게는 스택의 방해되거나 부분적으로 방해된 보기 가능 영역들의 콘텐츠를 사용자가 쉽게 보는 것을 가능하게 하도록 "피크" 작동을 구현할 수도 있고/있거나 보기 가능 영역들에서 그리고/또는 보기 가능 영역들에 의해 나타내어지는 계층적 구조체를 통해 사용자가 후방 및 전방으로 순항하는 것을 가능하게 하는 하나 이상의 메커니즘을 제공할 수 있다.
도 1은 예시적인 컴퓨터 판독 가능 콘텐츠 렌더링 환경(100)의 블록도이다. 환경(100)의 예시적인 실시예들은 하드웨어, 소프트웨어 및/또는 이들의 조합을 사용하여 구현될 수 있다. 일 예로서 일부 실시예들에서, 컴퓨팅 디바이스는 환경(100)의 예시적인 실시예들을 구현하도록 프로그래밍되고/되거나 구성될 수 있다. 환경(100)의 실시예들 또는 환경(100)의 실시예들의 부분들을 구현하도록 프로그래밍되고/되거나 구성되는 컴퓨팅 디바이스의 예시적인 실시예가 예를 들어, 도 10에 도시된다.
일부 실시예들에서, 환경(100)은 사용자들이 전자 책들(e-북들) 또는 다른 텍스트들을 판독하는 것을 가능하게 하는 전자 책 판독 애플리케이션(예를 들어, e-판독기 애플리케이션)일 수 있고/있거나, e-판독기 애플리케이션과 함께 활용될 수 있고/있거나, 전자 환경에서 구조화된 컴퓨터 판독 가능 콘텐츠의 계층적 내비게이션을 용이하게 하도록 구현될 수 있다.
환경(100)은 컴퓨팅 디바이스와 연관되는 디스플레이 상에서 렌더링되는 보기 가능 영역들의 순항 가능한 계층화를 구현하도록 프로그래밍되고/되거나 실행 가능 코드를 포함할 수 있다. 보기 가능 영역들은 보기 가능 영역들에 포함되거나 보기 가능 영역들에 의해 참조되는 컴퓨터 판독 가능 콘텐츠의 구조체에 기반하여 계층적으로 구성될 수 있다. 예시적인 실시예들에서, 환경(100)은 사용자 인터페이스(110), 렌더링 엔진(130) 및 압축 엔진(150)을 포함할 수 있다.
사용자 인터페이스(110)는 사용자가 환경(100)과 상호 작용할 수 있는 하나 이상의 그래픽 사용자 인터페이스(GUI)(112)를 제공하도록 프로그래밍되고/되거나 구성될 수 있다. 사용자들에게 표시되는 GUI들(112)은 사용자로부터 정보를 수신하는 데이터 엔트리 영역들; 환경(100)이 하나 이상의 작동, 기능 및/또는 프로세스를 수행하게 하도록 사용자에 의해 선택될 수 있는 사용자 선택 가능 요소들 또는 영역들을 포함할 수 있고/있거나; 사용자에게 정보를 표시하는 데이터 출력들을 포함할 수 있다.
렌더링 엔진(130)은 하나 이상의 파라미터 및/또는 설정에 따라 그리고/또는 사용자 인터페이스(110)를 통하여 수신되는 사용자 입력들에 응하여 디스플레이 상에서 GUI들(112) 중 하나 이상을 통하여 데이터/정보를 렌더링하기 위해 사용자 인터페이스(110)와 상호 작용하도록 프로그래밍되고/되거나 구성될 수 있다. 예를 들어, 예시적인 실시예들에서, 렌더링 엔진(130)은 컴퓨터 판독 가능 파일 및/또는 데이터베이스와 같은 데이터 구조체에서 컴퓨터 판독 가능 콘텐츠의 계층적 구조체에 상응하는 보기 가능 영역들에서의 데이터/정보를 렌더링하도록 프로그래밍되고/되거나 구성될 수 있다. 일부 실시예들에서, 데이터 구조체의 콘텐츠는 예를 들어, 콘텐츠의 테이블(TOC)을 갖는 전자 책(e-북)일 수 있고 보기 가능 영역들 각각에서 렌더링되는 데이터/정보는 본원에 설명하는 바와 같은 TOC 계층의 층 또는 단에 상응할 수 있다. 일부 실시예들에서, 보기 가능 영역들 각각에서 렌더링되는 데이터/정보는 예를 들어, 데이터 구조체(예를 들어, e-북)에서의 하나 이상의 항에 대한 검색 결과들일 수 있고, 보기 가능 영역들 각각에서 렌더링되는 검색 결과들은 하나 이상의 항이 나타나는 콘텐츠 계층의 층 또는 단에 상응할 수 있다.
예시적인 실시예들에서, 렌더링 엔진(130)은 데이터 구조체의 콘텐츠의 계층적 구조체에 상응하는 순서화된 시퀀스로 보기 가능 영역들을 계층화하도록 프로그래밍되고/되거나 구성될 수 있다. 예를 들어, 계층의 루트 레벨 또는 단에 상응하는 데이터/정보를 포함하는 보기 가능 영역은 제1 보기 가능 영역 또는 루트 보기 가능 영역으로서 렌더링될 수 있다. 사용자가 (예를 들어, 보기 가능 영역들 내의 데이터/정보를 순차적으로 선택함으로써) 데이터 구조체의 콘텐츠의 계층적 구조체로 내려감에 따라, 렌더링 엔진(130)은 루트 보기 가능 영역 상에서 보기 가능 영역들을 오버레잉할 수 있다. 루트 보기 가능 영역들을 오버레잉하는 보기 가능 영역들은 사용자가 루트 보기 가능 영역을 보고/보거나 이것과 상호 작용할 수 있도록 루트 보기 가능 영역의 일부를 노출되게 한 상태에서, 루트 보기 가능 영역의 일부를 커버할 수 있다. 사용자가 보고 있는 계층적 구조체에서의 현재의 레벨 또는 단에 상응하는 보기 가능 영역(예를 들어, 상단 보기 가능 영역)은 현재의 레벨 또는 단의 데이터/정보가 남은 보기 가능 영역들로부터의 방해 없이 사용자가 볼 수 있도록 보기 가능 영역들의 나머지를 오버레잉할 수 있다.
렌더링 엔진(130)은 전체 보기 가능 윈도우를 한정할 수 있다. 렌더링 엔진(130)은 보기 가능 영역들이 렌더링될 수 있는 전체 보기 가능 윈도우의 전체 치수들을 제어하거나 지정할 수 있고/있거나 보기 가능 영역들이 렌더링될 수 있는 풋프린트 영역을 한정할 수 있으며, 풋프린트 영역은 전체 보기 가능 윈도우에 의해 포함될 수 있다. 예를 들어, 일부 실시예들에서, 렌더링 엔진(130)은 디스플레이 스크린 상에서 지정된 폭 및 높이를 갖는 전체 보기 가능 윈도우를 생성하도록 프로그래밍되고/되거나 구성될 수 있다. 일부 실시예들에서, 전체 보기 가능 윈도우의 치수들은 렌더링 엔진(130)에 의해 지정되지 않는다. 일부 실시예들에서, 렌더링 엔진(130)은 사용자 입력 및/또는 디바이스 파라미터들에 기반하여 전체 보기 가능 윈도우를 조정하거나 다시 크기 조정할 수 있다. 일 예로서, 사용자는 윈도우의 경계를 선택하고 경계를 드래그함으로써 전체 보기 가능 윈도우를 다시 크기 조정할 수 있다. 다른 예로서, 렌더링 엔진(130)은 전체 보기 가능 윈도우가 표시되어야 할 전자 디바이스에 상응하는 디바이스 특정 정보를 얻고/얻거나 식별하도록 프로그래밍될 수 있고 전자 디바이스와 연관되는 디스플레이 스크린의 치수들에 기반하여 윈도우를 렌더링할 수 있다. 또 다른 실시예로서, 전체 보기 가능 윈도우는 세로 방향 시점으로부터 가로 방향 시점으로의 천이 시에 다시 크기 조정될 수 있거나 그 반대도 그렇다. 일부 실시예들에서, 윈도우는 렌더링 엔진(130)에 의해 자동적으로 표시될 수 있고/있거나 사용자 인터페이스(110)의 GUI(112)를 통한 사용자 입력에 응하여 렌더링 엔진(130)에 의해 표시될 수 있다.
풋프린트 영역은 환경(100)에서의 컨테이너 데이터 구조체로서 한정될 수 있다. 렌더링 엔진(130)은 풋프린트 영역의 치수들을 알거나 알지 못할 수 있다. 일부 실시예들에서, 렌더링 엔진(130)은 풋프린트 영역 내에서 루트 보기 가능 영역의 전체 치수들을 제어하거나 지정할 수 있다. 일 예로서, 렌더링 엔진(130)은 루트 보기 가능 영역이 풋프린트 영역의 폭 및 높이와 동일한 폭 및 높이를 갖도록 풋프린트 영역과 같은 공간을 차지하도록 루트 보기 가능 영역을 렌더링하도록 프로그래밍되고/되거나 구성될 수 있다. 루트 보기 가능 영역 및 풋프린트 영역이 동일한 공간을 차지하는 실시예들의 경우, 루트 보기 가능 영역의 폭 및 높이는 본원에서 풋프린트 영역으로 상호 교환 가능하게 지칭될 수 있다. 렌더링 엔진(130)이 루트 보기 가능 영역 위에 보기 가능 영역들을 오버레잉할 때, 렌더링 엔진(130)은 풋프린트 영역 내에서 보기 가능 영역들을 렌더링하도록 프로그래밍되고/되거나 구성될 수 있다.
보기 가능 영역들의 오버레잉을 달성하기 위해, 일부 실시예들에서, 렌더링 엔진(130)은 보기 가능 영역들의 z-깊이를 서로에 대하여 제어하고/하거나 지정할 수 있으며, z-깊이는 디스플레이 스크린의 평면에 수직인 축을 따라 측정되는 디스플레이 상에서 렌더링되는 보기 가능 영역의 인지된 또는 가상의 깊이를 지칭한다. 일부 실시예들에서, 렌더링 엔진(130)은 루트 보기 가능한 것에 대한 z-깊이를 지정하고 그 후에 렌더링되는 각각의 보기 가능 영역에 대한 z-깊이를 증분하도록 프로그래밍되고/되거나 구성될 수 있다. 일부 실시예들에서, 렌더링 엔진(130)은 루트 보기 가능한 것에 대한 초기 z-깊이를 지정하고, 새로운 보기 가능 영역이 디스플레이 상에서 렌더링될 때, 루트 보기 가능 영역의 z-깊이를 감쇠시키고 새로운 보기 가능 영역의 z-깊이를 초기 z-깊이로 설정하도록 프로그래밍되고/되거나 구성될 수 있다. 렌더링 엔진(130)이 부가 오버레잉하는 보기 가능 영역들을 렌더링함에 따라, 각각의 이전에 렌더링된 보기 가능 영역들의 z-깊이는 감쇠될 수 있고 렌더링된 마지막 보기 가능 영역은 초기 z-깊이를 갖도록 지정될 수 있다.
렌더링 엔진(130)에 의해 디스플레이 상에서 렌더링되는 보기 가능 영역들은 서로에 대하여 보기 가능 영역들의 상쇄된 중첩하는 구성으로 보기 가능 영역들의 스택을 형성할 수 있다. 스택 (또는 세트)에서의 보기 가능 영역들 각각은 상이한 z-깊이를 가질 수 있다. 스택의 하단 (또는 후단)은 루트 보기 가능 영역에 의해 한정될 수 있고, 스택의 상단은 현재(상단) 보기 가능 영역(예를 들어, 다른 보기 가능 영역들 중 임의의 것에 의해 방해 받지 않는 맨 앞의 보기 가능 영역)에 의해 한정될 수 있고, 스택에서의 남은 보기 가능 영역들(예를 들어, 비표면화된 개재하는 보기 가능 영역들)은 루트 보기 가능 영역과 현재 보기 가능 영역 사이에 배치될 수 있다. 남은 보기 가능 영역들은 부분적으로 커버될 수 있고 남은 보기 가능 영역들의 가시적 폭들은 표시되는 보기 가능 영역들의 총수에 의존할 수 있다. 스택에서의 보기 가능 영역들은 슬랫들로 지칭될 수 있고 깊이감과 원근감을 제공하도록 드롭 섀도우들을 갖는 윈도우 음영에서 슬랫들의 스택처럼 보이고 느끼도록 렌더링될 수 있다.
상쇄된 중첩하는 스택 구성을 달성하기 위해, 예시적인 실시예들에서, 루트 보기 가능 영역을 오버레잉하도록 렌더링되는 보기 가능 영역들은 보기 가능 영역들의 상단 및 하단이 루트 보기 가능 영역의 상단 및 하단과 함께 종단하도록 루트 보기 가능 영역의 높이와 일반적으로 같은 공간을 차지하는 높이를 가질 수 있는 반면에, 루트 보기 가능 영역을 오버레잉하는 보기 가능 영역들의 폭은 루트 보기 가능 영역의 폭 미만일 수 있다. 렌더링 엔진(130)은 풋프린트 영역의 우측 에지를 따라 정렬되는 상쇄된 좌측 에지들을 갖도록 루트 보기 가능 영역 위에 보기 가능 영역들을 렌더링할 수 있다.
일부 실시예들에서, 최소폭이 렌더링 엔진(130)에 의해 디스플레이 상에서 렌더링되는 현재(상단) 보기 가능 영역(맨 앞의 방해 받지 않는 보기 가능 영역)에 대해 지정될 수 있다. 일부 실시예들에서, 최소폭은 본원에 보다 상세히 설명하는 바와 같이 현재(상단) 보기 가능 영역에 대해 지정되지 않을 수 있다. 일부 실시예들에서, 최소폭은 현재(상단) 보기 가능 영역의 최소폭이 고정되도록 정적으로 한정될 수 있다. 일부 실시예들에서, 최소폭은 현재(상단) 보기 가능 영역의 최소폭이 변화될 수 있도록 동적으로 한정될 수 있다. 일부 실시예들에서, 현재(상단) 보기 가능 영역의 최소폭은 풋프린트의 폭이 변화됨에 따라, 현재 보기 가능 영역의 최소폭이 변화될 수 있도록 루트 보기 가능 영역에 의해 한정되는 풋프린트의 폭의 백분율 또는 비율로서 지정될 수 있다. 일부 실시예들에서, 현재(상단) 보기 가능 영역의 최소폭은 풋프린트의 폭(예를 들어, 루트 보기 가능 영역의 폭)의 대략 55%일 수 있다.
렌더링 엔진(130)은 루트 보기 가능 영역 중 적어도 일부가 가시적이도록(예를 들어, 오버레잉된 보기 가능 영역들에 의해 방해 받지 않도록) 다른 보기 가능 영역들이 루트 보기 가능 영역 상에서 오버레잉될 때, 루트 보기 가능 영역의 가시부의 지정된 최소폭에 기반하여 스택에서의 보기 가능 영역들(즉, 슬랫들)을 렌더링하도록 프로그래밍되고/되거나 구성될 수 있다. 루트 보기 가능 영역의 가시부의 최소폭은 루트 보기 가능 영역의 좌측 에지와 루트 보기 가능 영역을 오버레잉하는 보기 가능 영역의 좌측 에지 사이의 최소 오프셋을 한정하도록 지정될 수 있다. 일부 실시예들에서, 루트 보기 가능 영역의 가시부의 최소폭은 가시부의 최소폭이 고정되도록 정적으로 한정될 수 있다. 일부 실시예들에서, 가시부의 최소폭은 가시부의 최소폭이 변화될 수 있도록 동적으로 한정될 수 있다. 일부 실시예들에서, 가시부의 최소폭은 풋프린트의 폭이 변화됨에 따라, 가시부의 최소폭이 변화될 수 있도록 루트 보기 가능 영역에 의해 한정되는 풋프린트의 폭의 백분율 또는 비율로서 지정될 수 있다. 일부 실시예들에서, 루트 보기 가능 영역의 가시부의 최소폭은 풋프린트의 폭(예를 들어, 루트 보기 가능 영역의 폭)의 대략 10%일 수 있다.
루트 보기 가능 영역을 오버레잉하는 각각의 보기 가능 영역의 폭은 루트 보기 가능 영역과 현재 보기 가능한 것 사이의 주어진 보기 가능 영역의 가시부가 주어진 보기 가능 영역의 바로 앞에서 보기 가능 영역에 적용되는 오프셋(예를 들어, 주어진 보기 가능 영역보다 계층으로 더 먼 하나의 레벨)에 의해 결정될 수 있도록 루트 보기 가능 영역에서 떨어진 거리가 증가함에 따라(예를 들어, 사용자가 계층적 구조체로 더 내려가고/가거나 z-깊이가 증가함에 따라), 보기 가능 영역들이 스택에 추가될 때, 보기 가능 영역들이 우측 에지로부터 좌측으로 더 작은 거리가 연장되는 것으로 나타나도록 풋프린트 영역의 좌측 에지 (그러므로 루트 보기 가능 영역의 좌측 에지)에 대하여 보기 가능 영역들의 좌측 에지에 적용되는 오프셋에 기반하여 지정될 수 있다. 예시적인 실시예들에서, 루트 보기 가능 영역과 가시적인 현재 보기 가능 영역 사이의 보기 가능 영역의 양은 압축 엔진(150)에 의해 결정되는 바와 같이 렌더링 엔진(130)에 의해 설정될 수 있다. 일부 실시예들에서, 루트 보기 가능 영역과 현재(상단) 보기 가능 영역 사이의 보기 가능 영역들의 가시부들은 풋프린트의 폭(예를 들어, 루트 보기 가능 영역의 폭)의 대략 35%에 상응할 수 있다.
보기 가능 영역들에 표시되는 데이터/정보는 행들로 배열될 수 있으며, 각각의 행은 데이터/정보와 연관되는 콘텐츠의 계층적 구조체를 통한 상이한 경로에 상응할 수 있다. 예를 들어, 일부 실시예들에서, 계층적 구조체는 각각 단일 루트 노드 및 하나 이상의 리프(leaf)(종단) 노드를 갖는 트리(tree) 구조체들에 상응할 수 있으며, 루트 노드에서 각각의 리프 노드까지의 각각의 경로는 계층을 통한 유일한 경로이다. 일부 실시예들에서, 각각의 보기 가능 영역은 e-북의 TOC에서의 엔트리들을 나타내는 행들의 세트를 표시하도록 렌더링될 수 있다. TOC 엔트리들은 예를 들어, e-북의 부문 표제들 및/또는 장들일 수 있다. 보기 가능 영역에 표시되는 TOC의 엔트리들은 계층적 구조체에서의 동일한 단 또는 레벨에 상응한다. 행들 각각에서의 엔트리들은 엔트리가 선택된 엔트리의 칠드런(children) TOC 요소들을 표시하는 보기 가능 영역을 순항하도록 선택 가능도록 계층의 다음 레벨 또는 단으로 내려가도록 사용자에 의해 선택 가능할 수 있다. 시각 표시기(예를 들어, 화살표)는 사용자 선택 가능 엔트리들 및 연관된 칠드런 TOC 엔트리들을 갖는 보기 가능 영역의 행들을 식별하기 위해 칠드런 TOC 엔트리들을 갖는 보기 가능한 것의 그러한 행들에 표시될 수 있다. 일부 실시예들에서, 시각 표시기는 계층을 순항하도록 선택 가능할 수 있다. 마찬가지로, 선택되었던 보기 가능 영역들에서의 엔트리들을 나타내기 위해, 렌더링 엔진(130)의 예시적인 실시예들은 내비게이션이 TOC에서 진행함에 따라, 사용자에 의해 선택되는 요소들을 구별하고 또한 루트 보기 가능 영역에서 현재 보기 가능 영역으로의 사용자가 따라가는 계층을 통한 경로를 식별하는데 사용될 수 있는 다른 시각 표시기(예를 들어, 수직으로 배향된 컬러 바)를 렌더링하도록 프로그래밍되고/되거나 구성될 수 있다. 일부 실시예들에서, 선택된 행의 콘텐츠는 콘텐츠가 선택되었던 것을 나타내도록 선택되지 않은 행들과 상이한 색상을 가질 수 있다.
렌더링 엔진(130)의 예시적인 실시예들은 "피크" 작동을 구현하도록 프로그래밍되고/되거나 구성될 수 있다. 피크 작동은 보기 가능 영역들을 오버레잉함으로써 방해되는 보기 가능 영역의 콘텐츠를 사용자가 보는 것을 가능하게 할 수 있다. 스택에서 선택된 보기 가능 영역을 사용자가 빨리 보는 것을 가능하게 하기 위해, 렌더링 엔진(130)은 오버레잉하는 보기 가능 영역들을 이동시키거나 제거할 수 있다.
일부 실시예들에서, 호버(hover) 기능이 피크 작동 동안 보기 가능 영역을 선택하는데 사용될 수 있다. 예를 들어, 포인터가 보기 가능 영역의 콘텐츠를 드러내 보이도록 포인팅 디바이스를 사용하여 보기 가능 영역 위에서 이동될 수 있다. 사용자가 보기 가능 영역에서 멀리 포인터를 이동시킬 때, 보기 가능 영역은 스택에서 보기 가능 영역의 위치로 복귀할 수 있다.
일부 실시예들에서, 사용자는 보기 가능 영역(들)이 사용자의 손가락에 "붙게" 하여 사용자가 커버되거나 방해된 보기 가능 영역에서 멀리 커버하거나 오버레잉하는 보기 가능 영역들을 드래그하여 선택된 보기 가능 영역의 콘텐츠의 더 많은 것을 드러내 보이는 것을 가능하게 할 수 있는 터치 스크린, 햅틱 디스플레이 등과 같은 터치 감응면을 통하여 이동될 보기 가능 영역(들)을 터치함으로써 피크 작동을 구현할 수 있다. 예를 들어, 사용자가 표면을 터치하고 있는 동안, 사용자가 손가락을 터치 표면 상에 유지하면서 스와이프(swipe) 같은 모션을 수행하는 것으로 정의되는 팬(pan) 제스처가 피크 작동을 구현하는데 사용될 수 있다. 피크 작동이 수행되면, 팬 제스처에 의해 이동되었던 보기 가능 영역(들)은 디스플레이에서 보기 가능 영역들을 퇴거시키거나 제거하기 위해 구성 가능 임계점을 지나 우측으로 더 이동되어 사용자가 스택에서 앞서 표시된 보기 가능 영역으로 다시 순항하는 것을 가능하게 할 수 있거나 유지된 보기 가능 영역들은 임계점에 도달하기 전에 해제되어 보기 가능 영역 중 적어도 일부를 오버레잉하고 방해하는 보기 가능 영역들의 본래 위치로 보기 가능 영역들이 스냅 백(snap back)하는 것을 가능하게 할 수 있다. 일부 실시예들에서, 사용자의 손가락이 팬 제스처를 수행하는 속도의 검출은 피크 동안 커버하는 보기 가능 영역들을 제거할지 여부를 판단하는데 사용될 수 있다(예를 들어, 손가락의 빠른 플릭(flick)이 커버하는 보기 가능 영역들을 멀리 보내는데 사용될 수 있다).
사용자가 보기 가능 영역들 주변을 빨리 보거나 드래그할 때, 보기 가능 영역들에 주어지는 빛의 레벨 (또는 휘도)를 제어하기 위해, 커버되거나 오버레잉된 보기 가능 영역들이 노출되거나 방해 받지 않은 보기 가능 영역들보다 더 어둡게 보이는 알파 채널 조정들이 렌더링 엔진(130)에 의해 구현될 수 있다.
렌더링 엔진(130)은 직관적 선택 메커니즘들을 사용하여 계층의 이전에 순항된 레벨들 또는 단들로 사용자가 다시 순항하는 것을 가능하게 하도록 프로그래밍되고/되거나 구성될 수 있다. 일 예로서 일부 실시예들에서, 사용자는 임의의 적어도 부분적으로 방해된 보기 가능한 것을 선택할 수 있고 선택된 보기 가능 영역을 오버레잉하는 보기 가능 영역들은 디스플레이에서 제거될 수 있다. 적어도 부분적으로 방해된 보기 가능 영역을 선택하기 위해, 사용자는 예를 들어, 포인팅 디바이스로 보기 가능 영역을 클릭하거나 터치 스크린 가능 디스플레이를 통하여 보기 가능 영역을 터치할 수 있다. 다른 예로서 본원에 설명하는 바와 같이, 사용자는 사용자가 "피크" 작동 동안 다시 순항하는 것을 원하는 보기 가능 영역을 바로 오버레잉하는 보기 가능 영역들을 선택하고 유지할 수 있고 사용자는 디스플레이에서 보기 가능 영역들을 제거하기 위해 상기 보기 가능 영역을 커버하는 보기 가능 영역들을 멀리 드래그할 수 있다. 또 다른 예로서 보기 가능 영역들을 제거하기 위해, 사용자는 포인팅 디바이스의 버튼을 클릭하고 유지함으로써 보기 가능 영역들을 선택하고 유지하는데 포인팅 디바이스를 사용할 수 있고 포인팅 디바이스 상에 제스처를 하거나 포인팅 디바이스를 좌측 또는 우측으로 이동시키거나 터치 스크린 가능 디스플레이를 통하여 보기 가능 영역을 터치하고 그 다음 보기 가능 영역들을 좌측 또는 우측으로 스와이핑할 수 있다.
압축 엔진(150)은 루트 보기 가능 영역과 가시적인(예를 들어, 보기 가능 영역들의 상쇄된 중첩하는 구성에 의해 방해되지 않는) 현재(상단) 보기 가능 영역 사이의 보기 가능 영역의 양을 결정하도록 프로그래밍되고/되거나 구성될 수 있다. 본원에 설명하는 바와 같이 일부 실시예들에서, 계층에서의 루트 보기 가능 영역은 다른 보기 가능 영역들이 루트 보기 가능 영역 상에서 오버레잉될 때, 계층에서의 루트 보기 가능 영역의 가시 영역에 대한 최소폭을 가져 루트 보기 가능 영역들 중 적어도 일부가 루트 보기 가능 영역을 오버레잉하고 있는 보기 가능 영역의 양에 관계 없이 가시적이다. 본원에 설명하는 바와 같이, 임의의 다른 보기 가능 영역에 의해 커버되지 않는 현재(상단) 보기 가능 영역은 최소폭을 가질 수 있거나 가지지 않을 수 있다. 남은 보기 가능 영역들은 루트 보기 가능 영역과 현재(상단) 보기 가능 영역 사이의 공간을 채우고 이러한 보기 가능 영역들 각각은 디스플레이 상에서 렌더링되었던 보기 가능 영역의 총수에 의존할 수 있는 가시적 폭들(예를 들어, 다른 보기 가능 영역들에 의해 커버되지 않는 보기 가능 영역들의 부분)을 가질 수 있다.
많은 레벨을 갖는 큰 계층들을 수용하기 위해, 압축 엔진(150)은 루트 보기 가능 영역과 현재 보기 가능 영역 사이의 보기 가능 영역들 중 적어도 일부를 압축하는 구성 가능 임계치를 구현하도록 구성될 수 있으므로, 루트에서의 콘텐츠 및 구성 가능한 수의 상단 보기 가능 영역(예를 들어, 현재 보기 가능 영역 및 현재 보기 가능 영역 바로 앞의 또는 뒤의 보기 가능 영역들)은 적어도 부분적으로 가시적이다. 루트 보기 가능 영역과 "고정된" 수의 상단 보기 가능 영역 사이의 보기 가능 영역들은 압축될 수 있고 보기 가능 영역들의 콘텐츠는 가능하게는 완전히 커버되고 가시적이 아닐 수 있다. 일부 실시예들에서, 루트 보기 가능 영역은 완전히 커버될 수 있거나(즉, 루트 보기 가능 영역의 가시부에 대한 최소폭 없음), 루트 보기 가능 영역의 정보/데이터는 커버될 수 있지만, 루트 보기 가능 영역 중 일부는 여전히 가시적일 수 있다.
예시적인 실시예들에서, 압축 엔진(150)은 풋프린트 영역을 상이한 디스플레이 영역들로 나누거나 분할할 수 있다. 디스플레이 영역들은 슬랫들(즉, 보기 가능 영역들)이 슬랫들 중 임의의 것의 가시부를 감소시킴으로써(압축시킴으로써) 어떻게 표시될 수 있는지를 결정할 수 있다. 예시적인 목적으로, 압축 엔진(150)은 풋프린트 영역 내에 5개의 디스플레이 영역을 한정할 수 있어, 5개 이하의 슬랫이 디스플레이 디바이스 상에서 렌더링되면, 슬랫들의 가시부들 중 어떤 것도 압축되지 않는다(예를 들어, 각각의 슬랫은 적어도 디폴트폭을 갖는 가시부를 갖는다). 그러나, 6개의 슬랫이 디스플레이 디바이스 상에서 렌더링되면, 디스플레이 영역들 중 적어도 하나는 2개의 슬랫의 가시부들에 의해 공유될 것이다(예를 들어, 2개의 가시부는 단일 디스플레이 영역으로 압축된다). 압축 엔진(150)은 루트 슬랫의 가시부에 인접하게 위치되는 구성 가능 폭으로 축약 디스플레이 영역 (또는 압축 영역)을 한정함으로써 슬랫들의 압축된 가시부들의 폭을 결정할 수 있다. 축약 영역의 폭은 압축 엔진(150)에 의해 압축될 모든 슬랫 사이에서 균등하게 분포될 수 있다. 더 많은 슬랫이 표시됨에 따라, 더 많은 슬랫들이 루트 슬랫의 가시부의 일정한 폭 및/또는 현재(상단) 슬랫의 일정한 최소폭을 유지하면서, 슬랫들 중 더 많은 것의 가시부들의 폭을 효과적으로 감소시키는 축약 디스플레이 영역에 포함된다.
별도의 구성 요소들로서 사용자 인터페이스(110), 렌더링 엔진(130) 및 압축 엔진(150)을 갖는 환경(100)의 예시적인 실시예가 예시되었지만, 당업자는 사용자 인터페이스(110), 렌더링 엔진(130) 및 압축 엔진(150) 중 하나 이상이 서로와 통합될 수 있다는 점을 인지할 것이다. 더욱이, 환경(100)의 예시적인 실시예가 사용자 인터페이스(110), 렌더링 엔진(130) 및 압축 엔진(150)을 포함하지만, 당업자는 예시적인 실시예들에서, 사용자 인터페이스(110), 렌더링 엔진(130) 및 압축 엔진(150)의 작동들, 기능 및/또는 프로세스들이 더 많거나 더 적은 구성 요소로 구현될 수 있다는 점을 인지할 것이다.
도 2는 루트 보기 가능 영역과 현재 보기 가능 영역 사이의 보기 가능 영역들의 가시부들의 폭을 결정하는 압축 기준들을 사용하여 압축 엔진(150)에 의해 구현될 수 있는 예시적인 프로세스(200)를 도시하는 흐름도이다. 프로세스(200)의 예시적인 실시예들은 풋프린트의 좌측 에지에 대하여 스택에서의 보기 가능 영역들 각각의 좌측 에지에 대한 오프셋을 계산할 수 있고 루트 보기 가능 영역, 압축 영역 및 현재(상단) 보기 가능한 것 뒤의 임의의 비압축된 보기 가능 영역에 대한 최소 가시적 폭을 갖는 루트 디스플레이 영역을 포함하는 디스플레이 영역들을 한정할 수 있다. 프로세스는 현재(상단) 보기 가능 영역들의 최소폭을 지정하지 않고 구현될 수 있고/있거나 보기 가능 영역들 중 적어도 일부의 가시부들이 감소되기(압축되기) 전에, 풋프린트에서 구성 가능한 최대수의 가시 영역을 제공하도록 구현될 수 있다. 예시적인 실시예들에서, 프로세스(200)는 풋프린트의 좌측 에지로부터의 각각의 보기 가능 영역의 오프셋을 지정하고 보기 가능 영역들의 좌측 에지들로부터 풋프린트의 우측 에지로 연장되도록 보기 가능 영역들을 지정함으로써 풋프린트 영역의 치수들을 알지 못한 상태에서 풋프린트 영역에서의 보기 가능 영역들의 렌더링을 용이하게 하도록 실행될 수 있어, 보기 가능 영역이 풋프린트 영역 내의 인세트(inset)들을 형성한다. 프로세스(200)의 경우, "n"은 보기 가능 영역들의 스택에서 보기 가능한 것의 위치에 상응하는 보기 가능 영역 색인을 나타내고(예를 들어, n=0은 루트 보기 가능 영역에 상응하고 n=1은 루트 보기 가능 영역을 직접 오버레잉하는 보기 가능 영역에 상응함), "Q"는 스택에서 보기 가능 영역의 양을 나타내고, "DT"는 보기 가능 영역들이 표시될 수 있는 다수의 디스플레이 영역을 한정하는 디스플레이 영역 임계치를 나타내고, "WD"는 압축되지 않은 보기 가능 영역의 가시부의 디폴트폭을 나타내고, "WVR"은 루트 보기 가능 영역의 가시부의 최소폭을 나타내고, "WCA"는 압축 영역의 폭(예를 들어, 보기 가능 영역들의 가시부들이 압축된 디스플레이 상의 영역)을 나타내고, "오프셋"은 풋프린트의 좌측 에지에 대하여 보기 가능 영역의 좌측 에지의 위치를 나타낸다.
단계(202)에서, 압축 엔진(150)은 디스플레이 디바이스 상에서 렌더링될 보기 가능 영역의 양(Q)을 결정하도록 프로세스(200)를 실행시킬 수 있다. 단계(204)에서, 압축 엔진(150)은 스크린 상에서 렌더링될 보기 가능 영역의 양(Q)이 디스플레이 영역 임계치(DT) 이하인지 여부(Q ≤ DT)를 판단할 수 있다. 그렇다면, 압축 엔진(150)은 (즉, 풋프린트의 좌측 에지에 기반하여 보기 가능 영역들 각각의 좌측 에지 오프셋을 지정함으로써) 최소폭과 동일한 가시부들을 갖는 루트 보기 가능 영역과 현재(상단) 보기 가능 영역 사이의 보기 가능 영역들을 렌더링하는 제1 하위 프로세스를 구현할 수 있다. 제1 하위 프로세스에서, 압축 엔진은 보기 가능 영역 색인을 단계(206)에서 제로로 초기화할 수 있고 루트 보기 가능 영역에 대한 좌측 에지 오프셋을 단계(208)에서 제로로 설정할 수 있다(즉, 오프셋(0) = 0). 단계(210)에서, 압축 엔진(150)은 스택에서의 다음 연이은 보기 가능 영역에 대한 좌측 에지 오프셋을 설정하기 위해 보기 가능 영역 색인을 증분할 수 있다. 단계(212)에서, 압축 엔진(150)은 단계(210)에서 이하의 수학식의 값을 구함으로써 보기 가능 영역 색인과 연관되는 보기 가능 영역의 좌측 에지 오프셋을 결정할 수 있다.
오프셋(n) = WVR + ((n-1) * WD) (1)
예를 들어, DT = 5일 때, 풋프린트의 좌측 에지로부터 보기 가능 영역들의 좌측 에지들의 오프셋은 n = 0:4 및 S = 5인 경우, 보기 가능 영역들의 양 S =5이 디스플레이 영역 임계치 DT = 5 이하인 경우 다음과 같이 결정될 수 있다.
보기 가능 영역 0(루트): 오프셋(0) = 0
보기 가능 영역 1: 오프셋(1) = WVR
보기 가능 영역 2: 오프셋(2) = WVR + WD
보기 가능 영역 3: 오프셋(3) = WVR + (2*WD)
보기 가능 영역 4: 오프셋(4) = WVR + (3*WD)
위의 예에서, 각각의 보기 가능 영역의 좌측 에지는 부분적으로 방해된 보기 가능 영역들 1 내지 3의 가시부들이 동일한 폭을 갖도록 식 1에 기반하여 디폴트폭(WD)의 배수에 의해 상쇄된다.
단계(214)에서, 압축 엔진(150)은 보기 면적 색인이 디스플레이 디바이스 상에서 렌더링될 보기 가능 영역의 양(Q)과 같도록 증분되었는지(n = Q) 여부를 판단한다. 보기 가능 영역 색인이 디스플레이 디바이스 상에서 렌더링될 보기 가능 영역의 양과 동일하지 않으면, 하위 프로세스가 단계(210)부터 반복된다. 보기 가능 영역 색인이 디스플레이 디바이스 상에서 렌더링될 보기 가능 영역의 양과 같으면, 단계(216)에서 압축 엔진(150)은 렌더링 엔진(130)에 계산된 오프셋값들을 제공할 수 있고 렌더링 엔진은 오프셋값들에 기반하여 가시부들을 갖도록 디스플레이 디바이스 상의 보기 가능 영역들을 렌더링할 수 있다.
단계(204)로 복귀하면, 압축 엔진(150)은 렌더링될 보기 가능 영역의 양이 디스플레이 영역 임계치를 초과하면(Q > DT), 제2 하위 프로세스를 구현할 수 있다. 제2 하위 프로세스에서, 압축 엔진(150)은 보기 가능 영역 색인을 단계(218)에서 제로로 초기화할 수 있고 루트 보기 가능 영역에 대한 좌측 에지 오프셋을 단계(220)에서 제로로 설정할 수 있다(즉, 오프셋(0) = 0). 단계(222)에서, 압축 엔진(150)은 스택에서의 다음 연이은 보기 가능 영역에 대한 좌측 에지 오프셋을 설정하기 위해 보기 가능 영역 색인을 증분할 수 있다. 단계(224)에서, 압축 엔진은 보기 가능 영역 색인에 상응하는 보기 가능 영역의 좌측 에지가 축약 영역 내에 위치되는지(n ≤ S - MD + 2) 여부를 판단한다. 그렇다면, 압축 엔진(150)은 단계(228)에서 이하의 수학식의 값을 구함으로써 보기 가능 영역의 좌측 에지 오프셋을 결정할 수 있다.
오프셋(n) = WVR + (WCA / (Q - DT + 1) * (n - 1)) (2)
그렇지 않으면, 압축 엔진(150)은 단계(226)에서 이하의 수학식의 값을 구함으로써 보기 가능 영역의 좌측 에지 오프셋을 결정할 수 있다.
오프셋(n) = WVR + WCA + ((n - Q + DT - 2) * WD) (3)
어느 한 경우에, 제2 하위 프로세스는 보기 면적 색인이 디스플레이 디바이스 상에서 렌더링될 보기 가능 영역의 양과 동일한지(n = Q) 여부를 판단하기 위해 단계(230)로 진행된다. 보기 면적 색인이 디스플레이 디바이스 상에서 렌더링될 보기 가능 영역의 양과 동일하지 않으면, 제2 하위 프로세스가 단계(222)부터 반복된다. 보기 면적 색인이 디스플레이 디바이스 상에서 렌더링될 보기 가능 영역의 양과 같으면, 단계(216)에서 압축 엔진(150)은 렌더링 엔진(130)에 계산된 오프셋값들을 제공할 수 있고 렌더링 엔진은 오프셋값들에 기반하여 가시부들을 갖도록 디스플레이 디바이스 상의 보기 가능 영역들을 렌더링할 수 있다.
예를 들어, DT = 5일 때, 풋프린트의 좌측 에지로부터 보기 가능 영역들의 좌측 에지들의 오프셋은 n = 0:5 및 Q = 6인 경우, 보기 가능 영역들의 양 Q = 6이 디스플레이 영역 임계치 DT = 5보다 더 큰 경우 다음과 같이 결정될 수 있다.
보기 가능 영역 0(루트): 오프셋(0) = 0.
보기 가능 영역 1: 오프셋(1) = WVR
보기 가능 영역 2: 오프셋(2) = WVR + [WCA / (6 - 5 + 1) * (2-1)]
보기 가능 영역 3: 오프셋(3) = WVR + WCA + ((3 - 6 + 5 - 2) * WD)
보기 가능 영역 4: 오프셋(4) = WVR + WCA + ((4 - 6 + 5 - 2) * WD)
보기 가능 영역 5: 오프셋(5) = WVR + WCA + ((5 - 6 + 5 - 2) * WD)
위의 예에서, 보기 가능 영역들 1 및 2는 압축된 가시부들을 갖는 반면에, 보기 가능 영역들 3 및 4는 각각 디폴트폭(WD)을 갖는 가시부들을 갖는다. 보기 가능 영역들 1 및 2에 대한 오프셋은 식 2에 기반하여 결정될 수 있는 반면에, 보기 가능 영역들 3 내지 5에 대한 오프셋은 식 3에 의해 결정될 수 있다.
도 3은 루트 보기 가능 영역과 현재 보기 가능 영역 사이의 보기 가능 영역들의 가시부들의 폭을 결정하는 압축 기준들을 사용하여 압축 엔진(150)에 의해 구현될 수 있는 예시적인 프로세스(300)를 도시하는 흐름도이다. 먼저, 압축 엔진은 예를 들어, 디스플레이 상에서 렌더링되는 루트 보기 가능 영역의 풋프린트의 폭(WF), 루트 보기 가능 영역의 가시부에 대한 지정된 최소폭(WVR), 현재 보기 가능 영역의 지정된 최소폭(WT), 및/또는 컴퓨터 판독 가능 매체로부터의 루트 보기 가능 영역과 현재 보기 가능 영역 사이의 각각의 보기 가능 영역의 가시부의 이상적 폭 또는 디폴트폭(WD)을 포함하는 단계(302)에서 디스플레이 디바이스 상에서 렌더링될 보기 가능 영역들과 연관되는 파라미터들을 회수할 수 있다. 일부 실시예들에서, 최소폭(WVR)은 디폴트폭(WD)과 동일할 수 있다. 단계(304)에서, 압축 엔진(150)은 디스플레이 상에서 렌더링되는 보기 가능 영역의 양(Q)을 결정하거나 식별할 수 있다. 단계(306)에서, 디폴트폭(WD) 및 양(Q)의 곱이 압축 엔진(150)에 의해 계산될 수 있고 단계(308)에서 상기 곱 및 지정된 최소폭(WT)의 합이 압축 엔진(150)에 의해 계산될 수 있다.
상기 합이 풋프린트의 폭(WF)의 값 미만이면(단계(310)), 압축 엔진(150)은 루트 보기 가능 영역과 현재 보기 가능 영역 사이의 보기 가능 영역들 각각이 동일하거나 실질적으로 동일한 폭들을 갖는 가시부들을 갖도록 단계(312)에서 루트 보기 가능 영역과 현재 보기 가능 영역 사이의 각각의 보기 가능 영역에 디폴트 가시적 폭을 할당한다. 상기 합이 풋프린트의 폭(WF)의 값 이상이면(단계(310)), 압축 엔진(150)은 풋프린트의 폭(WF), 루트 보기 가능 영역의 가시부의 최소폭(WVR), 및/또는 현재 보기 가능 영역의 최소폭(WT)의 값들에 기반하여 단계(314)에서 이용 가능 폭(WA)을 결정한다. 일 예로서 일부 실시예들에서, 압축 엔진(150)은 풋프린트의 폭(WF)에서 최소폭(WVR) 및 최소폭(WT)의 합을 감산할 수 있다. 이러한 실시예들의 경우, 이용 가능 폭은 현재 보기 가능 영역의 우측 에지와 루트 보기 가능 영역의 가시부의 좌측 에지 사이의 거리에 의해 한정되는 폭에 상응할 수 있다. 단계(316)에서, 압축 엔진(150)은 가시부들이 동일하거나 실질적으로 동일한 폭들을 갖도록 루트 보기 가능 영역과 현재(상단) 보기 가능 영역 사이의 보기 가능 영역들의 가시부들 중 일부 또는 모두에 할당될 압축된 폭(WC)(디폴트(WD) 미만인 폭)을 결정할 수 있다. 예를 들어, 압축된 폭(WC)은 이용 가능 폭(WA)을 보기 가능 영역의 양(Q) 빼기 2로 나눔으로써 결정될 수 있으며, 여기서 2는 루트 보기 가능 영역들 및 현재 보기 가능 영역들이 압축되지 않을 것이라는 것을 나타낸다. 압축 엔진(150)은 압축된 폭(WC)을 렌더링 엔진(130)에 제공하고 단계(318)에서, 렌더링 엔진(130)은 압축된 폭(WC)을 적용 가능 보기 가능 영역들에 적용한다.
도 4는 루트 보기 가능 영역과 현재 보기 가능 영역 사이의 보기 가능 영역들의 가시부들의 폭을 결정하는 압축 기준들을 사용하여 압축 엔진(150)에 의해 구현될 수 있는 다른 예시적인 프로세스(400)를 도시하는 흐름도이다. 먼저, 압축 엔진(150)은 예를 들어, 디스플레이 상에서 렌더링되는 루트 보기 가능 영역의 풋프린트의 폭(WF), 루트 보기 가능 영역의 가시부에 대한 지정된 최소폭(WVR), 현재 보기 가능 영역의 지정된 최소폭(WT), 및/또는 컴퓨터 판독 가능 매체로부터의 루트 보기 가능 영역과 현재 보기 가능 영역 사이의 각각의 보기 가능 영역의 가시부의 이상적 폭 또는 디폴트폭(WD)을 포함하는 단계(402)에서 디스플레이 디바이스 상에서 렌더링될 보기 가능 영역들과 연관되는 파라미터들을 회수할 수 있다. 일부 실시예들에서, 최소폭(WVR)은 디폴트폭(WD)과 동일할 수 있다. 단계(404)에서, 압축 엔진(150)은 디스플레이 상에서 렌더링되는 보기 가능 영역의 양(Q)을 결정하거나 식별할 수 있다. 단계(406)에서, 디폴트폭(WD) 및 양(Q)의 곱이 압축 엔진(150)에 의해 계산될 수 있고 단계(408)에서 단계(406)로부터의 곱 및 지정된 최소폭(WT)의 합이 압축 엔진(150)에 의해 계산될 수 있다.
상기 합이 풋프린트의 폭(WF)의 값 미만이면(단계(410)), 압축 엔진(150)은 루트 보기 가능 영역과 현재 보기 가능 영역 사이의 보기 가능 영역들 각각이 동일하거나 실질적으로 동일한 폭들을 갖는 가시부들을 갖도록 단계(412)에서 루트 보기 가능 영역과 현재 보기 가능 영역 사이의 각각의 보기 가능 영역에 디폴트 가시적 폭을 할당한다. 상기 합이 풋프린트의 폭(WF)의 값 이상이면(단계(410)), 압축 엔진(150)은 적어도 풋프린트의 폭(WF), 루트 보기 가능 영역의 가시부의 최소폭(WVR), 현재 보기 가능 영역의 최소폭(WT), 및/또는 배수 디폴트폭(WD)의 값들에 기반하여 단계(414)에서 이용 가능 폭(WA)을 결정한다. 일 예로서 일부 실시예들에서, 압축 엔진(150)은 풋프린트의 폭(WF)으로부터 최소폭(WVR), 최소폭(WT) 및 디폴트폭의 배수(예를 들어, 압축되지 않을 가시부들을 갖는 루트 보기 가능 영역과 현재 보기 가능 영역 사이의 보기 가능 영역들을 차지하여 - 2xWD)의 합을 감산할 수 있다. 이러한 실시예들의 경우, 이용 가능 폭은 상단 보기 가능 영역 뒤의 지정된 수의 레벨의 깊이인, 보기 가능 영역의 좌측 에지와 루트 보기 가능 영역의 가시부의 우측 에지(예를 들어, 2개의 레벨) 사이의 거리에 의해 한정되는 폭에 상응할 수 있다. 압축되지 않은 가시부를 갖는 현재(상단) 보기 가능 영역 뒤의 지정된 수의 레벨이 구성 가능할 수 있다. 단계(416)에서, 압축 엔진(150)은 이러한 보기 가능 영역들의 가시부들이 동일하거나 실질적으로 동일하지만, 압축된 폭들을 갖도록 루트 보기 가능 영역과 상단 보기 가능 영역 뒤의 (또는 아래의) 지정된 수의 레벨의 깊이인 보기 가능 영역 사이의 보기 가능 영역들의 가시부들에 할당될 압축된 폭(WC)(디폴트(WD) 미만인 폭)을 결정할 수 있다. 예를 들어, 압축된 폭(WC)은 이용 가능 폭(WA)을 보기 가능 영역의 양(Q) 빼기 압축되지 않을 보기 가능 영역의 수로 나눔으로써 결정될 수 있다. 압축되지 않을 보기 가능 영역의 수는 이용 가능 폭을 컴퓨팅하는데 사용되는 폭들에 의해 결정될 수 있다(예를 들어, 4개의 보기 가능 영역의 전체에 대해 현재 보기 가능 영역, 루트 보기 가능 영역 및 2개의 중간 보기 가능 영역). 압축 엔진(150)은 압축된 폭(WC)을 렌더링 엔진(130)에 제공하고 단계(418)에서, 렌더링 엔진은 압축된 폭(WC)을 적용 가능 보기 가능 영역들에 적용한다.
도 5 내지 도 9는 콘텐츠의 테이블(TOC) 계층을 사용하여 e-북의 계층적 구조체를 순항하기 위해 본 발명의 예시적인 실시예들에 따른 환경(100)을 구현할 수 있는 전자 책 판독기 애플리케이션(e-판독기 애플리케이션)을 실행하도록 프로그래밍되고/되거나 구성되는 예시적인 컴퓨팅 디바이스(500)를 도시한다. 도 5 내지 도 9가 콘텐츠의 테이블(TOC) 계층을 사용하여 e-북의 계층적 구조체의 내비게이션을 위한 환경(100)의 일 실시예의 비제한적인, 예시적인 구현을 예시하도록 도시되었지만, 당업자는 환경(100)의 실시예들이 계층적 콘텐츠에 대한 보기 가능 영역들의 순항 가능한 계층화를 용이하게 하기 위해 컴퓨터 판독 가능 콘텐츠가 계층적 구조체를 갖는 임의의 적절한 환경 또는 애플리케이션으로 구현될 수 있다는 점을 인지할 것이다.
이제 도 5를 참조하면, 컴퓨팅 디바이스(502)는 디스플레이 디바이스(504)의 스크린 상에서 글리프(glyph)(예를 들어, 텍스트, 그래픽, 심볼), 애니메이션, 영상 및/또는 임의의 다른 적절한 시각 요소를 렌더링하는 디스플레이 디바이스(504)를 포함할 수 있다. 본 실시예에서, 컴퓨팅 디바이스는 모바일 폰(예를 들어, 스마트 폰), 태블릿 디바이스(예를 들어, 아이패드), 및/또는 e-판독기 디바이스(예를 들어, 킨들(Kindle))와 같은 휴대용 전자 디바이스일 수 있고 디스플레이 디바이스(504)는 컴퓨팅 디바이스(502)와의 사용자 상호 작용을 용이하게 하도록 사용자의 피부 또는 스타일러스 디바이스에 반응하는 터치 스크린일 수 있다. 본 실시예의 디스플레이 디바이스(504)가 터치 스크린이지만, 당업자는 디스플레이 디바이스(504)가 사용자가 주변 디바이스(예를 들어, 포인팅 디바이스)를 통하여 디스플레이 디바이스와 상호 작용할 수 있도록 터치에 감응성이 아닐 수 있다는 점을 인지할 것이다.
컴퓨팅 디바이스(502)는 디스플레이 디바이스(504)에 의한 디스플레이를 위해 사용자가 e-북을 선택하는 것을 가능하게 하는 GUI(506)를 표시하기 위해 e-판독기 애플리케이션 및/또는 환경(100)의 코드를 실행시킬 수 있다. GUI(506)는 메뉴 옵션들(510)을 포함하는 배너(508)를 포함할 수 있으며, 메뉴 옵션들(510)은 컴퓨팅 디바이스가 하나 이상의 작동, 작업, 기능 또는 프로세스를 구현하게 하도록 사용자에 의해 선택될 수 있다. 예를 들어, 사용자는 TOC 메뉴 옵션(512)이 렌더링되는 터치 스크린 상의 위치를 터치함으로써 TOC 메뉴 옵션(512)을 선택할 수 있다. 옵션(512)의 선택에 응하여, 컴퓨팅 디바이스(502)는 디스플레이 디바이스(504)의 스크린을 통하여 TOC를 포함하는 윈도우(514)를 표시하도록 환경(100)의 코드를 실행시킬 수 있다. 도 5에 도시된 바와 같이, 윈도우는 디폴트폭(516) 및 디폴트 높이(518)를 가질 수 있으며, 이는 디스플레이 디바이스(504)의 스크린의 치수들에 의해 제공되는 면적 미만의 면적을 한정한다.
윈도우(504) 내에서, 하나 이상의 보기 가능 영역 또는 슬랫(520)이 TOC의 계층에 기반하여 표시될 수 있다. 슬랫들(520) 각각은 행들(524)로 분리되는 TOC 엔트리들(522)을 포함할 수 있다. 각각의 슬랫(520)은 계층을 통해 사용자가 따라가는 경로에 상응하는 TOC 계층의 레벨 또는 단을 나타낼 수 있다. 슬랫들(520)은 TOC 계층에 의해 제시된 바와 같이 e-북의 계층의 시각 표시를 제공하도록 상쇄된 중첩하는 스택 구성으로 배열될 수 있다.
도 5에 도시된 바와 같이, 5개의 슬랫(520)이 사용자가 e-북의 TOC 계층으로 5개의 레벨을 내려갔다는 것을 나타내도록 표시된다. 루트 슬랫(526)은 스택의 하단을 형성할 수 있고 슬랫(528)은 스택의 상단(예를 들어, 스택에서의 맨 앞의 방해 받지 않은 슬랫)을 형성할 수 있다. 슬랫(528)은 TOC 계층에서의 현재의 위치를 나타낼 수 있다. 슬랫들(530, 532 및 534)은 루트 슬랫(526)과 슬랫(528) 사이에 배치될 수 있다. 예를 들어, 슬랫(530)은 루트 슬랫(526)을 오버레잉할 수 있고, 슬랫(532)은 슬랫들(530 및 526)을 오버레잉할 수 있고, 슬랫(534)은 슬랫들(532, 530 및 526)을 오버레잉할 수 있고, 슬랫(528)은 슬랫들(534, 532, 530 및 526)을 오버레잉할 수 있다.
루트 슬랫(526)은 TOC 계층의 루트 레벨 또는 단을 나타내고 행들(524) 각각에서의 TOC 엔트리(522)를 포함하며, 행들(524) 각각에서의 TOC 엔트리(522)는 TOC 계층을 순항하는 사용자에 의해 선택 가능할 수 있다. 루트 슬랫(526)은 한정된 풋프린트 또는 주변과 같은 공간을 차지하는 높이(536) 및 폭(538)을 갖도록 렌더링될 수 있고 z-깊이를 갖도록 렌더링될 수 있다. 도 5에서, 슬랫들(530, 532, 534 및 528)은 루트 슬랫(526)을 오버레잉하여, 디스플레이 디바이스(504)의 스크린 상의 시점에서 루트 슬랫(526) 중 일부를 커버하거나 방해한다.
시각 표시기(540)는 선택된 TOC 엔트리(542)와 연관되는 (슬랫(530)으로 표시된) TOC 계층에서의 칠드런 TOC 엔트리들을 보는 사용자에 의한 TOC 엔트리(542)의 선택에 상응하여 행들(524) 중 하나에 배치될 수 있다. 시각 표시기(540)는 사용자가 TOC 계층을 통해 따라가고 있는 경로의 시각적 참조를 제공할 수 있고 사용자가 이를 이용하여 TOC 계층에서의 주어진 TOC 엔트리에 도달하기 위해 사용자가 TOC 엔트리들(522) 중 어느 것을 선택했는지를 결정할 수 있다. 예시적인 실시예들에서, 시각 표시기는 선택된 TOC 엔트리(542)에 상응하는 행(524)의 좌측 에지를 따른 수직 바 또는 직사각형 위치일 수 있다. 바는 TOC 엔트리(542)가 사용자에 의해 선택되었다는 시각 표시를 제공하도록 하나 이상의 색상일 수 있다.
슬랫(530)은 루트 레벨의 직접적 차일드를 형성하는 TOC 계층의 레벨 또는 단을 나타낸다. 슬랫(530)은 행들(524) 각각에서의 TOC 엔트리(522)를 포함하며, 행들(524) 각각에서의 TOC 엔트리(522)는 TOC 계층을 순항하는 사용자에 의해 선택 가능할 수 있다. 슬랫(530)은 높이(536) 및 폭(544)뿐만 아니라 z-깊이를 갖도록 렌더링될 수 있다. 슬랫(530)의 z-깊이는 슬랫(530)이 루트 슬랫(526)을 오버레잉하도록 렌더링되도록 지정될 수 있다. 슬랫(530)은 슬랫(526)의 우측 에지와 정렬될 수 있고 슬랫(530)의 폭(544)은 루트 슬랫(526) 중 일부가 가시적이도록(즉, 슬랫(530)에 의해 커버되거나 방해되지 않도록) 슬랫(526)의 폭(538) 미만일 수 있다. 도 5에서, 슬랫들(532, 534 및 528)은 슬랫(530)을 오버레잉하여, 디스플레이 디바이스(504)의 스크린 상의 시점에서 루트 슬랫(526) 중 일부를 커버하거나 방해한다. 시각 표시기(540)는 선택된 TOC 엔트리(546)와 연관되는 (슬랫(532)으로 표시된) TOC 계층에서의 칠드런 TOC 엔트리들을 보는 사용자에 의한 TOC 엔트리(546)의 선택에 상응하는 행들(524) 중 하나에 배치될 수 있다.
슬랫(532)은 슬랫(530)에 의해 나타내어지는 계층적 레벨의 직접적 차일드를 형성하는 TOC 계층의 레벨 또는 단을 나타낸다. 슬랫(532)은 행들(524) 각각에서의 TOC 엔트리(522)를 포함하며, 행들(524) 각각에서의 TOC 엔트리(522)는 TOC 계층을 순항하는 사용자에 의해 선택 가능할 수 있다. 슬랫(532)은 높이(536) 및 폭(548)뿐만 아니라 z-깊이를 갖도록 렌더링될 수 있다. 슬랫(532)의 z-깊이는 슬랫(532)이 슬랫(530)을 오버레잉하도록 렌더링되도록 지정될 수 있다. 슬랫(532)은 슬랫(526)의 우측 에지와 정렬될 수 있고 슬랫(532)의 폭(548)은 슬랫(530) 중 일부가 가시적이도록(즉, 슬랫(532)에 의해 커버되거나 방해되지 않도록) 슬랫(530)의 폭(544) 미만일 수 있다. 도 5에서, 슬랫들(534 및 528)은 슬랫(532)을 오버레잉하여, 디스플레이 디바이스(504)의 스크린 상의 시점에서 슬랫(532) 중 일부를 커버하거나 방해한다. 시각 표시기(540)는 선택된 TOC 엔트리(550)와 연관되는 (슬랫(534)으로 표시된) TOC 계층에서의 칠드런 TOC 엔트리들을 보는 사용자에 의한 TOC 엔트리(550)의 선택에 상응하는 행들(524) 중 하나에 배치될 수 있다.
슬랫(534)은 슬랫(532)에 의해 나타내어지는 계층적 레벨의 직접적 차일드를 형성하는 TOC 계층의 레벨 또는 단을 나타낸다. 슬랫(534)은 행들(524) 각각에서의 TOC 엔트리(522)를 포함하며, 행들(524) 각각에서의 TOC 엔트리(522)는 TOC 계층을 순항하는 사용자에 의해 선택 가능할 수 있다. 슬랫(534)은 높이(536) 및 폭(552)뿐만 아니라 z-깊이를 갖도록 렌더링될 수 있다. 슬랫(534)의 z-깊이는 슬랫(534)이 슬랫(532)을 오버레잉하도록 렌더링되도록 지정될 수 있다. 슬랫(534)은 슬랫(526)의 우측 에지와 정렬될 수 있고 슬랫(534)의 폭(552)은 슬랫(532) 중 일부가 가시적이도록(즉, 슬랫(534)에 의해 커버되거나 방해되지 않도록) 슬랫(532)의 폭(548) 미만일 수 있다. 도 5에서, 슬랫(528)은 슬랫(534)을 오버레잉하여, 디스플레이 디바이스(504)의 스크린 상의 시점에서 슬랫(534) 중 일부를 커버하거나 방해한다. 시각 표시기(540)는 선택된 TOC 엔트리(554)와 연관되는 (슬랫(528)으로 표시된) TOC 계층에서의 칠드런 TOC 엔트리들을 보는 사용자에 의한 TOC 엔트리(554)의 선택에 상응하는 행들(524) 중 하나에 배치될 수 있다.
슬랫(528)은 슬랫(534)에 의해 나타내어지는 계층적 레벨의 직접적 차일드를 형성하는 TOC 계층의 레벨 또는 단을 나타낸다. 슬랫(528)은 행들(524) 각각에서의 TOC 엔트리(522)를 포함하며, 행들(524) 각각에서의 TOC 엔트리(522)는 TOC 계층을 순항하는 사용자에 의해 선택 가능할 수 있다. 슬랫(528)은 높이(536) 및 폭(556)뿐만 아니라 z-깊이를 갖도록 렌더링될 수 있다. 슬랫(528)의 z-깊이는 슬랫(528)이 슬랫(534)을 오버레잉하도록 렌더링되도록 지정될 수 있다. 슬랫(528)은 슬랫(526)의 우측 에지와 정렬될 수 있고 슬랫(528)의 폭(556)은 슬랫(534) 중 일부가 가시적이도록(즉, 슬랫(528)에 의해 커버되거나 방해되지 않도록) 슬랫(534)의 폭(552) 미만일 수 있다. 도 5에서, 슬랫(528)은 사용자가 순항했던 현재의 레벨(즉, 디스플레이 디바이스(504)의 스크린 상에서 렌더링되는 맨 앞의 방해 받지 않은 슬랫(534))을 나타낸다.
부분적으로 커버되거나 방해된 슬랫들(526, 530, 532 및 534)의 가시부들은 하나 이상의 구성 가능 파라미터에 의해 결정될 수 있다. 예를 들어, 환경(100)은 최소폭(558)을 갖는 루트 슬랫(526) 중 적어도 일부가 디스플레이 디바이스(504)의 스크린 상에서 가시적이도록 루트 슬랫(526)의 가시부의 최소폭(558)을 지정하도록 프로그래밍되고/되거나 구성될 수 있다. 슬랫들(530, 532, 534 및 528)의 가시부들의 폭들(560, 562, 564 및 556)은 각각 하나 이상의 압축 프로세스 및/또는 알고리즘을 통하여 결정될 수 있고 디스플레이 디바이스(504)의 스크린 상에서 렌더링되는 슬랫의 양 그리고/또는 표시되는 현재의 슬랫(예를 들어, 슬랫(528))의 좌측 에지와 루트 슬랫(526)의 가시부의 맨 우측의 부분 사이의 공간에 기반할 수 있다. 예를 들어, 도 5에서, 슬랫들(530, 532 및 534)의 가시부들 각각은 동일한 디폴트폭값을 가질 수 있으며(예를 들어, 폭들(560, 562 및 564) 중 어떤 것도 압축되지 않으며), 동일한 디폴트폭값은, 표시되는 슬랫의 양이 임계값 미만이고/이거나 표시되는 현재의 슬랫(예를 들어, 슬랫(528))의 좌측 에지와 루트 슬랫(526)의 가시부의 맨 우측의 부분 사이의 공간이 임계값 미만이므로, 본 실시예에서 루트 슬랫(526)의 가시부의 최소폭(558)과 동일할 수 있다.
비제한적 예로서, 도 5에서의 풋프린트 영역은 폭(558, 560, 562, 564 및 556)을 갖는 수직 스트립들로서 구성되는 5개의 디스플레이 영역으로 분할될 수 있다. 루트 보기 가능 영역(526)의 가시부의 폭(558)은 보기 가능 영역(530)의 좌측 에지에 적용되는 오프셋에 의해 결정될 수 있고, 보기 가능 영역(530)의 가시부의 폭(560)은 보기 가능 영역(532)의 좌측 에지에 적용되는 오프셋에 의해 결정될 수 있는 등이다. 슬랫(530)의 가시부는 축약 디스플레이 영역 내에 배치될 수 있다. 5개의 보기 가능 영역이 렌더링되었으므로, 보기 가능 영역들의 각각의 가시부는 디스플레이 영역에 상응한다.
환경은 TOC 엔트리들(522) 중 어느 것이 슬랫들(526, 528, 530, 532 및 534)의 행들(524)에 있는지를 나타내도록 시각 표시기(566)를 렌더링할 수 있다. 상응하는 시각 표시기(566)를 갖는 TOC 엔트리들(522)은 선택된 엔트리에 상응하는 칠드런 TOC 엔트리들을 보기 위해 TOC 계층으로 내려가는 사용자에 의해 선택될 수 있다. 본 실시예에서, 시각 표시기(566)는 행들(524)의 우측 에지를 따라 배치되는 우측을 향하는 화살표일 수 있다.
도 6은 표시되는 6개의 슬랫이 있고 슬랫(600)이 슬랫(528)을 오버레잉하도록 도 5에 도시된 슬랫들의 스택에 추가되는 새로운 슬랫(600)을 도시하고 보이는 현재의 슬랫(예를 들어, 스택에서의 맨 앞의 방해 받지 않은 슬랫)을 나타낸다. 슬랫(600)은 슬랫(528)에 의해 나타내어지는 계층적 레벨의 직접적 차일드를 형성하는 TOC 계층의 레벨 또는 단을 나타낸다. 슬랫(600)은 행들(524) 각각에서의 TOC 엔트리(522)를 포함하며, 행들(524) 각각에서의 TOC 엔트리(522)는 TOC 계층을 순항하는 사용자에 의해 선택 가능할 수 있다. 슬랫(600)은 높이(536) 및 폭(602)뿐만 아니라 z-깊이를 갖도록 렌더링될 수 있다. 슬랫(600)의 z-깊이는 슬랫(600)이 슬랫(528)을 오버레잉하도록 렌더링되도록 지정될 수 있고 폭(602)은 디스플레이 디바이스(504)의 스크린 상에서 렌더링되는 현재의 방해 받지 않은 슬랫에 대한 최소폭을 나타낼 수 있다. 슬랫(600)의 우측 에지는 풋프린트 영역의 우측 에지에서 종단할 수 있다.
도 6에 도시된 바와 같이, 슬랫들(530, 532 및 534)의 가시부들의 폭들 중 적어도 일부는 슬랫(600)이 슬랫들의 스택에 추가되고 폭(556)이 디스플레이 디바이스(504)의 스크린 상에서 렌더링되는 현재의 방해 받지 않은 슬랫에 대한 최소폭(예를 들어, 슬랫(600)의 폭(602))으로부터 증가될 때, 슬랫(528) 중 적어도 일부가 가시적이도록 압축될 수 있다. 슬랫들(530 및 532)의 가시부들의 폭들(560 및 562)은 각각 디폴트폭들에서 압축되었던(즉, 감소되었던) 반면에, 슬랫(534)의 가시부의 폭(564)은 디폴트폭으로 남고 슬랫(528)의 가시부의 폭(604)은 디폴트폭으로 설정된다. 마찬가지로, 루트 슬랫(526)의 가시부는 변경되지 않게 남는다. 본 실시예에서, 환경(100)은 상단 슬랫(예를 들어, 슬랫(600))에 가장 근접한 2개의 슬랫(예를 들어, 슬랫들(534 및 528))이 슬랫들 사이의 계층적 관계에 의해 결정되고 z-깊이로 표시되는 바와 같이, 압축되어지지 않고 디폴트폭을 갖는 가시부들을 갖도록 프로그래밍되고/되거나 구성될 수 있다.
일부 실시예들에서, 슬랫들의 가시부들의 폭들을 조정하기 위해, 풋프린트 영역의 좌측 에지에 대하여 오버레잉하는 슬랫들의 좌측 에지의 오프셋이 조정될 수 있다. 예를 들어, 루트 슬랫의 가시부의 폭(558)이 변경되지 않게 남으므로, 슬랫(530)의 오프셋은 변경되지 않게 남는다. 마찬가지로, 슬랫들(530 및 532)의 가시부들의 폭들(560 및 562)이 압축되므로, 슬랫들(532 및 534)의 오프셋들은 (예를 들어, 슬랫들(530, 532 및 534)의 중첩 관계를 증가시키기 위해) 각각 감소된다. 폭들(560 및 562)을 압축함으로써, 환경(100)은 TOC 계층 및 계층을 통해 사용자가 따라가는 경로의 그래픽/시각 표현을 여전히 유지하면서, 슬랫들(534 및 528) 및 슬랫(600)의 가시부들에 이용 가능한 공간을 증가시킬 수 있다.
비제한적 예로서, 도 6에서의 풋프린트 영역은 수직 스트립들로서 구성되는 5개의 디스플레이 영역으로 분할될 수 있다. 슬랫들(526, 528, 534 및 600)의 가시부들 각각은 디스플레이 영역을 점유하고 슬랫들(530 및 532)의 가시부들은 축약 디스플레이 영역을 점유한다. 보기 가능 영역들(530 및 532)의 가시부들의 폭들(560 및 562)은 각각 보기 가능 영역들(532 및 534)의 좌측 에지에 적용되는 오프셋에 의해 결정될 수 있다. 6개의 보기 가능 영역이 렌더링되었으므로, 축약 디스플레이 영역은 보기 가능 영역들(530 및 532)에 의해 공유되고 보기 가능 영역들의 나머지는 각각 다른 디스플레이 영역들 중 하나를 점유한다. 본 예에서, 도 6에서의 폭들(560 및 562)은 도 5에서의 폭(560)과 같다.
도 7은 표시되는 7개의 슬랫이 있고 슬랫(700)이 슬랫(600)을 오버레잉하도록 도 6에 도시된 슬랫들의 스택에 추가되는 새로운 슬랫(700)을 도시하고 보이는 현재의 슬랫(예를 들어, 스택에서의 맨 앞의 방해 받지 않은 슬랫)을 나타낸다. 슬랫(700)은 슬랫(600)에 의해 나타내어지는 계층적 레벨의 직접적 차일드를 형성하는 TOC 계층의 레벨 또는 단을 나타낸다. 슬랫(700)은 행들(524) 각각에서의 TOC 엔트리(522)를 포함하며, 행들(524) 각각에서의 TOC 엔트리(522)는 TOC 계층을 순항하는 사용자에 의해 선택 가능할 수 있다. 슬랫(700)은 높이(536) 및 폭(702)뿐만 아니라 z-깊이를 갖도록 렌더링될 수 있다. 슬랫(700)의 z-깊이는 슬랫(700)이 슬랫(600)을 오버레잉하도록 렌더링되도록 지정될 수 있고 폭(702)은 디스플레이 디바이스(504)의 스크린 상에서 렌더링되는 현재의 방해 받지 않은 슬랫에 대한 최소폭을 나타낼 수 있다. 슬랫(700)의 우측 에지는 슬랫(526)의 우측 에지와 정렬될 수 있다.
도 7에 도시된 바와 같이, 슬랫들의 좌측 에지들의 오프셋들 중 적어도 일부는 슬랫(700)이 슬랫들의 스택에 추가될 때, 보기 가능 영역들 중 일부의 가시부들을 압축하도록 추가로 조정될 수 있다. 슬랫(600 및 700)의 가시부들의 폭들(704 및 702)은 각각 슬랫들(600 및 700)의 좌측 에지에 적용되는 오프셋에 기반하여 각각 설정될 수 있다. 슬랫들(530, 532 및 534)의 가시부들의 폭들(560, 562 및 564)은 각각 디폴트폭들에서 압축되었던(즉, 감소되었던) 반면에, 슬랫(528)의 가시부의 폭(604)은 디폴트폭으로 남고 슬랫(600)의 가시부의 폭(704)은 디폴트폭으로 설정된다. 마찬가지로, 루트 슬랫(526)의 가시부는 변경되지 않게 남는다. 본 실시예에서, 환경(100)은 상단 슬랫(예를 들어, 슬랫(700))에 가장 근접한 2개의 슬랫(예를 들어, 슬랫들(528 및 600))이 슬랫들 사이의 계층적 관계에 의해 결정되고 z-깊이로 표시되는 바와 같이, 압축되어지지 않고 디폴트폭을 갖도록 프로그래밍되고/되거나 구성될 수 있다.
루트 슬랫의 가시부의 폭(558)이 변경되지 않게 남으므로, 풋프린트 영역의 좌측 에지에 대하여 슬랫(530)의 좌측 에지의 오프셋은 변경되지 않게 남는다. 마찬가지로, 슬랫들(530, 532 및 534)의 가시부들의 폭들(560, 562 및 564)이 압축되므로, 슬랫들(532, 534 및 528)의 좌측 에지들의 오프셋들은 (예를 들어, 슬랫들(530, 532, 534, 및 528 및 600)의 중첩 관계를 증가시키기 위해) 각각 감소된다. 폭들(560, 562)을 압축함으로써, 환경(100)은 TOC 계층 및 계층을 통해 사용자가 따라가는 경로의 그래픽/시각 표현을 여전히 유지하면서, 슬랫들(528 및 600)의 가시부들에 이용 가능한 공간을 증가시킬 수 있다.
도 7에 도시된 바와 같이, 축약 디스플레이 영역은 이제 슬랫들(530, 532 및 534)의 가시부들을 포함할 수 있고 남은 슬랫들(526, 528, 600 및 700) 각각은 별도의 디스플레이 영역을 점유할 수 있다. 도 5 내지 도 8을 참조하면, 더 많은 보기 가능 영역이 디스플레이에 추가됨에 따라, 더 많은 보기 가능 영역이 디스플레이 압축 영역으로 포함되고 디스플레이 압축 영역에서의 보기 가능 영역들의 가시부들이 환경(100) 또는 환경(100)의 부분들에 의해 구현되는 하나 이상의 프로세스의 구현에 기반하여 감소한다.
도 8은 TOC 계층에서 사용자가 따라가는 경로의 변화의 시각 표시를 제공하도록 스택에서의 슬랫들(예를 들어, 슬랫들(526, 528, 530, 532, 534, 600 및 700))의 행들(524)에서 렌더링될 수 있는 시각 표시기들(800)을 도시한다. 예를 들어, 사용자는 경로를 따라 TOC 계층을 통해 순항할 수 있고 계층에서 돌아갈 것을 결정하고 하나의 슬랫들에서 상이한 TOC 엔트리를 선택함으로써 상이한 경로를 순항할 수 있다. 본 실시예에서, 사용자는 사용자가 시각 표시기(540)에 의해 나타내어지는 TOC 엔트리를 이전에 선택하였고, 시각 표시기(800)에 의해 나타내어지는 TOC 엔트리를 대신에 선택하였던 슬랫(534)으로 다시 순항하였다. 사용자가 TOC 계층에서 계속해서 내려감에 따라, 시각 표시기(800)는 슬랫(534)으로부터 TOC 계층에서 다음에 오게 되는 경로를 나타내는데 사용될 수 있다. 시각 표시기들(540 및 800)을 렌더링함으로써, 환경(100)의 예시적인 실시예들은 TOC 계층, 계층을 통해 사용자가 따라가는 경로들, 그리고/또는 TOC 계층을 통해 사용자가 따라가는 경로들의 벗어남들의 그래픽/시각 표현을 제공할 수 있다.
도 9는 슬랫(530)이 적어도 부분적으로 방해되고 560의 가시적 폭을 갖는 도 7 및 도 8에 도시된 슬랫들의 스택에 대하여 환경(100)의 예시적인 실시예들에 의해 구현될 수 있는 예시적인 "피크" 작동의 구현을 도시한다. 도 9에 도시된 바와 같이, 사용자는 슬랫(530)의 콘텐츠를 보기 위해 화살표(900)로 도시된 바와 같이, 측부로 슬랫들(예를 들어, 슬랫들(532, 534, 528, 600 및 700))을 슬라이딩하거나 이동시키도록 환경(100)과 인터페이싱할 수 있다. 일부 실시예들에서, 환경(100)은 피크 작동을 구현하기 위해 디스플레이 디바이스(504)의 터치 스크린 상에서 사용자의 제스처들에 반응하도록 프로그래밍되고/되거나 구성될 수 있다. 예를 들어, 사용자는 사용자의 손가락 또는 스타일러스로 슬랫(532)을 터치할 수 있고 슬랫(530)에 포함되는 밑에 있는 TOC 엔트리들을 드러내 보이도록 손가락 또는 스타일러스를 우측으로 드래그하거나 스와이핑할 수 있다. 사용자가 터치 스크린에서 손가락 또는 스타일러스를 제거할 때, 환경(100)은 예를 들어, 도 8에 도시된 바와 같이 슬랫들이 슬랫들의 지정된 위치로 복귀되게 하도록 프로그래밍될 수 있다. 대안적으로, 사용자는 슬랫들을 퇴거시키기 위해 슬랫들을 우측으로 더 드래그하거나 슬라이딩하고 계층에서 슬랫(530)으로 되돌아가도록 스크린에서 슬랫들을 제거할 수 있다.
도 10은 컴퓨팅 디바이스에 의한 환경의 실행 시에 환경(100)의 예시적인 실시예들을 구현하는 전체 프로세스(1000)의 비제한적 예의 흐름도이다. 예를 들어, 프로세스(1000)는 디스플레이 디바이스 상에서, 제1 슬랫 및 제1 슬랫의 높이 및 폭에 상응하는 풋프린트 내에 배치되는 제2 슬랫을 포함하는 슬랫들(즉, 보기 가능 영역들)의 스택을 렌더링하고 풋프린트 내에 스택의 슬랫들을 수용하는 압축 기준들에 기반하여 스택에서의 제2 슬랫을 조정하도록 구현될 수 있다. 프로세스(1000)는 컴퓨터 판독 가능 콘텐츠의 계층적 구조체를 순항하는 것을 용이하게 하기 위해 단계(1002)에서 환경의 일 실시예를 실행시키도록 사용자 인터페이스를 통하여 컴퓨팅 디바이스와 사용자가 인터페이싱하는 것으로 가능하게 함으로써 시작될 수 있다. 단계(1004)에서, 루트 슬랫(루트 보기 가능 영역)이 컴퓨팅 디바이스에 의해 표시될 수 있다. 루트 슬랫은 슬랫의 폭 및 높이에 의해 한정되는 풋프린트를 가질 수 있다. 루트 슬랫은 계층적 구조체의 제1 레벨에서 컴퓨터 판독 가능 콘텐츠에 상응하는 적어도 하나의 선택 가능 대상을 포함할 수 있다. 단계(1006)에서, 컴퓨팅 디바이스는 루트 슬랫의 적어도 하나의 선택 가능 대상의 선택을 검출하는 것에 응하여 루트 슬랫의 제1 가시적 보기 면적을 감소시키기 위해 루트 슬랫의 적어도 일부에 제2 슬랫(제2 보기 가능 영역)을 오버레잉하도록 환경의 코드를 실행시킬 수 있다. 제2 슬랫은 계층적 구조체의 제2 레벨에서 컴퓨터 판독 가능 콘텐츠에 상응하는 적어도 하나의 선택 가능 대상을 포함할 수 있다. 단계(1008)에서, 컴퓨팅 디바이스는 제2 슬랫의 적어도 하나의 선택 가능 대상의 선택을 검출하는 것에 응하여 제2 슬랫의 제2 가시적 보기 면적을 감소시키기 위해 제2 슬랫의 적어도 일부에 제3 슬랫을 오버레잉하도록 환경의 코드를 실행시킬 수 있다. 제3 슬랫은 계층적 구조체의 제3 레벨에서 컴퓨터 판독 가능 콘텐츠에 상응하는 제3 선택 가능 대상을 갖는다. 단계(1010)에서, 컴퓨팅 디바이스는 제2 가시적 보기 면적 미만인 제2 보기 가능 영역에 대한 압축된 가시적 보기 면적을 생성하기 위해 제2 보기 가능 영역의 제2 가시적 보기 면적을 압축하도록 환경의 코드를 실행시킬 수 있다.
도 11은 환경(100)의 예시적인 실시예를 구현하는데 사용될 수 있는 예시적인 컴퓨팅 디바이스(1100)의 블록도이다. 컴퓨팅 디바이스(1100)는 예시적인 실시예들을 구현하기 위한 하나 이상의 컴퓨터-실행 가능 명령어 또는 소프트웨어를 저장하는 하나 이상의 비일시적 컴퓨터 판독 가능 매체를 포함한다. 비일시적 컴퓨터 판독 가능 매체는 하나 이상의 타입의 하드웨어 메모리, 비일시적 유형의 매체(예를 들어, 하나 이상의 자기 저장 디스크, 하나 이상의 광 디스크, 하나 이상의 플래시 드라이브) 등을 포함할 수 있지만, 이에 제한되지 않는다. 예를 들어, 컴퓨팅 디바이스(1100)에 포함되는 메모리(1106)는 환경(100)의 예시적인 실시예들을 구현하기 위한 컴퓨터 판독 가능 및 컴퓨터-실행 가능 명령어들 또는 소프트웨어를 저장할 수 있다. 컴퓨팅 디바이스(1100)는 또한 메모리(1106)에 저장되는 컴퓨터 판독 가능 및 컴퓨터 실행 가능 명령어들 또는 소프트웨어, 및 시스템 하드웨어를 제어하는 다른 프로그램들을 실행시키기 위해 구성 가능 및/또는 프로그래밍 가능 프로세서(1102) 및 연관된 코어(1104), 그리고 선택적으로 (예를 들어, 다수의 프로세서/코어를 갖는 컴퓨터 시스템들의 경우에) 하나 이상의 부가 구성 가능 및/또는 프로그래밍 가능 프로세서(1102') 및 연관된 코어(1104')를 포함한다. 프로세서(1102) 및 프로세서(들)(1102')은 각각 단일 코어 프로세서 또는 다중 코어(1104 및 1104') 프로세서일 수 있다.
가상화는 컴퓨팅 디바이스의 인프라 구조체 및 리소스들이 동적으로 공유될 수 있도록 컴퓨팅 디바이스(1100)에 채용될 수 있다. 가상 기계(1114)는 프로세스가 다수의 컴퓨팅 리소스보다 오히려 하나의 컴퓨팅 리소스만을 사용하고 있는 것으로 나타나도록 다수의 프로세서 상에서 실행되는 프로세스를 처리하도록 제공될 수 있다. 다수의 가상 기계는 하나의 프로세서로 사용될 수도 있다.
메모리(1106)는 DRAM, SRAM, EDO RAM 등과 같은 컴퓨터 시스템 메모리 또는 랜덤 액세스 메모리를 포함할 수 있다. 메모리(1106)는 또한 다른 타입들의 메모리, 또는 다른 타입들의 메모리의 조합들을 포함할 수 있다.
사용자는 액정 터치 스크린 (또는 햅틱) 디스플레이, 발광 다이오드 터치 스크린 디스플레이, 및/또는 예시적인 실시예들에 따라 제공될 수 있는 하나 이상의 사용자 인터페이스(1120)(예를 들어, 사용자 인터페이스(110))를 표시할 수 있는 임의의 다른 적절한 디스플레이 디바이스와 같은 시각 디스플레이 디바이스(1118)를 통해 컴퓨팅 디바이스(1100)와 상호 작용할 수 있다. 컴퓨팅 디바이스(1100)는 고객으로부터 입력을 수신하는 다른 I/O 디바이스들 예를 들어, 키보드 또는 임의의 적절한 멀티 포인트 터치 인터페이스(1108), 포인팅 디바이스(1110)(예를 들어, 마우스)를 포함할 수 있다. 키보드(1108) 및 포인팅 디바이스(1110)는 시각 디스플레이 디바이스(1118)에 결합될 수 있다. 컴퓨팅 디바이스(1100)는 다른 적절한 통상적 I/O 주변 장치들을 포함할 수 있다.
컴퓨팅 디바이스(1100)는 본원에 설명하는 환경(100)의 예시적인 실시예들을 구현하도록 처리 디바이스(1102)에 의해 실행될 수 있는 데이터 및 컴퓨터 판독 가능 명령어들 및/또는 소프트웨어를 저장하기 위한 하드 드라이브, CD-ROM, 대용량 기억 플래시 드라이브 또는 다른 컴퓨터 판독 가능 매체와 같은 하나 이상의 저장 디바이스(1124)를 포함할 수도 있다. 예시적인 저장 디바이스(1124)는 예시적인 실시예들을 구현하는데 필요한 임의의 적절한 정보를 저장하는 하나 이상의 데이터베이스를 저장할 수도 있다. 예를 들어, 예시적인 저장 디바이스(1124)는 컴퓨터 판독 가능 콘텐츠, 컴퓨터 판독 가능 콘텐츠의 계층적 구조체들, 압축 기준들, 표시될 수 있는 보기 가능 영역들과 연관되는 디폴트 및/또는 변경된 파라미터들 및/또는 설정 등과 같은 정보를 저장하는 하나 이상의 데이터베이스(1126)를 저장할 수 있다. 데이터베이스들은 데이터베이스들에서 하나 이상의 아이템을 추가하고/하거나, 삭제하고/하거나, 업데이트하도록 임의의 적절한 시간에 수작업으로 또는 자동적으로 업데이트될 수 있다.
컴퓨팅 디바이스(1100)는 표준 전화 선로, LAN 또는 WAN 링크(예를 들어, 802.11, T1, T3, 56kb, X.25), 광대역 연결(예를 들어, ISDN, 프레임 릴레이, ATM), (셀룰러 기지국을 통한 것을 포함하는) 무선 연결, 계측 제어기 네트워크(CAN), 또는 위의 것들 중 임의의 것 또는 모두의 일부 조합을 포함하지만, 이에 제한되지 않는 다양한 연결을 통해 하나 이상의 네트워크 예를 들어, 로컬 영역 네트워크(LAN), 광역 네트워크(WAN) 또는 인터넷과 하나 이상의 네트워크 디바이스(1122)를 통하여 인터페이싱하도록 구성되는 네트워크 인터페이스(1112)를 포함할 수 있다. 예시적인 실시예들에서, 컴퓨팅 디바이스(1100)는 컴퓨팅 디바이스(1100)와 통신 네트워크 사이에서 (예를 들어, 네트워크 인터페이스를 통하여) 무선 통신을 용이하게 하도록 하나 이상의 안테나(1113)를 포함할 수 있다. 네트워크 인터페이스(1112)는 내장형 네트워크 어댑터, 네트워크 인터페이스 카드, PCMCIA 네트워크 카드, 카드 버스 네트워크 어댑터, 무선 네트워크 어댑터, USB 네트워크 어댑터, 모뎀 또는 통신이 가능하고 본원에 설명하는 작동들을 수행할 수 있는 임의의 타입의 네트워크에 컴퓨팅 디바이스(1100)를 인터페이싱하는데 적절한 임의의 다른 디바이스를 포함할 수 있다. 더욱이, 컴퓨팅 디바이스(1100)는 워크스테이션, 데스크탑 컴퓨터, 서버, 랩탑, 핸드헬드 컴퓨터, 태블릿 컴퓨터(예를 들어, iPad™ 태블릿 컴퓨터), 모바일 컴퓨팅 또는 통신 디바이스(예를 들어, iPhone™ 통신 디바이스), 또는 무선 통신 또는 유선 통신에 의해 다른 디바이스와 통신이 가능하고 본원에 설명하는 작동들을 수행하기에 충분한 프로세서 전력 및 메모리 용량을 갖는 다른 형태의 컴퓨팅 또는 텔레커뮤니케이션 디바이스와 같은 임의의 컴퓨터 시스템일 수 있다.
컴퓨팅 디바이스(1100)는 Microsoft Inc.에 의해 제공되는 작동 시스템의 버전들 중 임의의 것, Unix 및 Linux 작동 시스템의 상이한 릴리스, Apple Corporation에 의해 제공되는 작동 시스템의 임의의 버전, Google, Inc.에 의해 제공되는 작동 시스템의 임의의 버전, 임의의 내장형 작동 시스템, 임의의 실시간 작동 시스템, 임의의 오픈 소스 작동 시스템, 임의의 독점 작동 시스템, 또는 컴퓨팅 디바이스 상에서 실행되고 본원에 설명하는 작동들을 수행할 수 있는 임의의 다른 작동 시스템과 같은 임의의 작동 시스템(1116)을 실행할 수 있다. 예시적인 실시예들에서, 작동 시스템(1116)은 고유 모드 또는 에뮬레이팅된 모드로 실행될 수 있다. 예시적인 실시예에서, 작동 시스템(1116)은 하나 이상의 클라우드 기계 인스턴스 상에서 실행될 수 있다.
도 12는 환경(100)의 하나 이상의 실시예를 구현하도록 구성되는 클라이언트-서버 환경(1200)이다. 환경(1200)은 통신 네트워크(1250)를 통하여 클라이언트들(1220 내지 1222)에 작동적 결합되는 서버들(1210 내지 1212)을 포함하며, 통신 네트워크(1250)는 정보가 네트워크에 통신적 결합되는 디바이스들 사이에서 송신될 수 있는 임의의 네트워크일 수 있다. 예를 들어, 통신 네트워크(1250)는 인터넷, 인트라넷, 가상 사설 네트워크(VPN), 광역 네트워크(WAN), 로컬 영역 네트워크(LAN) 등일 수 있다. 환경(1200)은 통신 네트워크(1250)를 통하여 서버들(1210 내지 1212) 및/또는 클라이언트 디바이스들(1220 내지 1222)에 작동적 결합될 수 있는 저장소들 또는 데이터베이스들(1230, 1231)을 포함할 수 있다. 서버들(1210 내지 1212), 클라이언트들(1220 내지 1222) 및 데이터베이스들(1230, 1231)은 각각 컴퓨팅 디바이스로서 구현될 수 있다. 당업자는 데이터베이스들(1230, 1231)이 서버들 중 하나 이상이 데이터베이스들을 포함할 수 있도록 서버들(1210 내지 1212) 중 하나 이상에 포함될 수 있다는 점을 인지할 것이다.
예시적인 실시예에서, 환경(100)은 서버(1210)에 의해 구현될 수 있다. 일부 실시예들에서, 환경(100)은 상이한 서버들에 걸쳐 분포될 수 있다. 예를 들어, 엔진(130)은 서버(1211) 상에서 구현될 수 있고 엔진(150)은 서버(1212) 상에서 구현될 수 있는 반면에, 사용자 인터페이스는 서버들(1210 내지 1212) 및/또는 클라이언트들(1220 내지 1222) 중 임의의 것 상에서 구현될 수 있다.
도 12에 도시된 바와 같이, 클라이언트들(1220 및 1221)은 각각 환경(100)에 액세스하고 환경(100)을 실행시키기 위해 서버(1210)와 상호 작용하도록 프로그래밍되고/되거나 구성되는 클라이언트측 애플리케이션(1223)을 포함할 수 있다. 클라이언트(1222)는 환경(100)을 포함할 수 있다. 일부 실시예들에서, 클라이언트들(1220 및 1221)에 의해 구현되는 클라이언트측 애플리케이션(1223)은 환경(100)의 GUI들을 호스팅(hosting)하는 하나 이상의 웹 페이지로 순항할 수 있는 웹 브라우저일 수 있다. 일부 실시예들에서, 클라이언트들(1220 내지 1222) 중 하나 이상에 의해 구현되는 클라이언트측 애플리케이션(1223)은 서버들(1210 내지 1212) 중 하나 이상에 의해 실행되는 환경(100)과의 상호 작용을 가능하게 하도록 클라이언트들(1220 및 1221) 상에 설치되는 환경(100)에 특정한 애플리케이션일 수 있다.
데이터베이스들(1230 및 1231)은 환경(1200)에 의해 사용되는 정보를 저장할 수 있다. 예를 들어, 데이터베이스들(1230 및 1231)은 컴퓨터 판독 가능 콘텐츠, 컴퓨터 판독 가능 콘텐츠의 계층적 구조체들, 압축 기준들, 표시될 수 있는 보기 가능 영역들과 연관되는 디폴트 및/또는 변경된 파라미터들 및/또는 설정 등을 저장할 수 있다.
예시적인 실시예들을 설명하는데, 특정 전문 용어가 명확성을 위해 사용되었다. 설명의 목적으로, 각각의 특정 용어는 유사 목적을 달성하기 위해 유사한 방식으로 작동하는 모든 기술적 및 기능적인 동등물을 적어도 포함하도록 의도된다. 게다가, 특정 예시적인 실시예가 복수의 시스템 요소, 디바이스 구성 요소 또는 방법 단계를 포함하는 일부 경우에, 그러한 요소들, 구성 요소들 또는 단계들은 단일 요소, 구성 요소 또는 단계로 대체될 수 있다. 마찬가지로, 단일 요소, 구성 요소 또는 단계는 동일한 목적에 기여하는 복수의 요소, 구성 요소 또는 단계로 대체될 수 있다. 더욱이, 예시적인 실시예들이 예시적인 실시예들의 특정 실시예들을 참조하여 나타내어지고 설명되었지만, 당업자는 형태 및 상세의 다양한 치환 및 변경이 본 발명의 범위로부터 벗어나지 않는 범위 내에서 예시적인 실시예들 내에 행해질 수 있다는 점을 이해할 것이다. 게다가 또한, 다른 실시예들, 기능들 및 이점들은 또한 본 발명의 범위 내에 있다.
예시적인 흐름도들은 예시적인 목적으로 본원에 제공되고 방법들의 비제한적 예들이다. 당업자는 예시적인 방법들이 예시적인 흐름도들에 도시되는 단계들보다 더 많거나 더 적은 단계들을 포함할 수 있고, 예시적인 흐름도들의 단계들이 예시적인 흐름도들에 도시된 순서와 상이한 순서로 수행될 수 있다는 점을 인지할 것이다.

Claims (20)

  1. 컴퓨터 판독 가능 콘텐츠의 계층적 구조체에 상응하는 보기 가능 영역들의 순항 가능한 계층화의 방법으로서:
    디스플레이 디바이스의 디스플레이 상에서, 일정 높이 및 일정 폭을 갖는 풋프린트 내에 루트 보기 가능 영역, 상단 보기 가능 영역, 및 상기 루트 보기 가능 영역의 z-깊이와 상기 상단 보기 가능 영역의 z-깊이 사이의 z-깊이들에서 렌더링되는 개재하는 보기 가능 영역들을 포함하는 중첩하는 보기 가능 영역들의 스택을 렌더링하도록 코드를 실행시키는 단계로서, 상기 스택에서의 상기 보기 가능 영역들의 순서는 컴퓨터 판독 가능 콘텐츠의 계층적 관계에 상응하며, 상기 보기 가능 영역들은 상기 계층적 관계와 연관되는 정보를 포함하는, 상기 코드를 실행시키는 단계;
    상기 디스플레이 디바이스의 디스플레이 상에서 상기 풋프린트 내에 축약 디스플레이 영역을 한정하는 단계로서, 상기 축약 디스플레이 영역은 상기 풋프린트의 높이 및 고정된 폭을 가지고, 상기 축약 디스플레이 영역은 상기 풋프린트의 제1 및 제2 측면 에지들 사이에 오프셋을 가지고 배치되는, 상기 축약 디스플레이 영역을 한정하는 단계; 및
    상기 개재하는 보기 가능 영역들의 z-깊이들 및 상기 스택 내의 중첩하는 보기 가능 영역들의 양에 기초하여 축약 영역들의 내부 또는 외부에 상기 개재하는 보기 가능 영역들의 가시부들을 렌더링하는 단계로서, 상기 축약 디스플레이 영역의 외부에 렌더링되는 상기 개재하는 보기 가능 영역들의 가시부들은 상기 고정된 폭과 같은 동일한 폭들을 가지고, 상기 축약 디스플레이 영역의 내부에 렌더링되는 상기 개재하는 보기 가능 영역들의 가시부들은 상기 축약 디스플레이 영역의 상기 고정된 폭을 분할하는 폭들을 가지는, 상기 가시부들을 렌더링하는 단계를 포함하는, 방법.
  2. 제1항에 있어서,
    상기 보기 가능 영역들의 스택을 렌더링하도록 코드를 실행시키는 단계는:
    상기 디스플레이 디바이스를 통하여 제1 보기 가능 영역을 표시하는 단계로서, 상기 제1 보기 가능 영역은 계층적 구조체의 루트에 상응하고 상기 계층적 관계와 연관되는 하나 이상의 선택 가능 대상을 포함하는, 상기 제1 보기 가능 영역을 표시하는 단계; 및
    상기 제1 보기 가능 영역 중 일부를 방해하기 위해 그리고 상기 제1 보기 가능 영역이 상기 풋프린트 미만인 제1 가시부를 갖도록 상기 제1 보기 가능 영역 중 적어도 일부에 하나 이상의 개재하는 보기 가능 영역을 오버레잉하는 단계를 포함하는, 방법.
  3. 제2항에 있어서,
    상기 보기 가능 영역들의 스택을 렌더링하도록 코드를 실행시키는 단계는:
    상기 하나 이상의 개재하는 보기 가능 영역 중 일부를 방해하기 위해 그리고 상기 하나 이상의 개재하는 보기 가능 영역이 제2 가시부를 갖도록 상기 하나 이상의 개재하는 보기 가능 영역 중 적어도 일부에 제2 보기 가능 영역을 오버레잉하는 단계를 포함하는, 방법.
  4. 제3항에 있어서,
    상기 보기 가능 영역들의 스택을 렌더링하도록 코드를 실행시키는 단계는:
    상기 제2 보기 가능 영역 중 일부를 방해하기 위해 그리고 상기 제2 보기 가능 영역이 제3 가시부를 갖도록 상기 제2 보기 가능 영역 중 적어도 일부에 상단 보기 가능 영역을 오버레잉하는 단계를 포함하며, 상기 상단 보기 가능 영역은 상기 디스플레이 디바이스 상에서 방해 받지 않고 가시적인, 방법.
  5. 제4항에 있어서,
    상기 제1 보기 가능 영역의 폭 미만인 상이한 폭 및 동일한 높이를 각각 갖도록 상기 하나 이상의 개재하는 보기 가능 영역, 상기 제2 보기 가능 영역 및 상기 상단 보기 가능 영역을 렌더링하는 단계, 및
    상기 보기 가능 영역들의 스택이 상쇄된 중첩하는 구성을 갖도록 상기 하나 이상의 개재하는 보기 가능 영역, 상기 제2 보기 가능 영역 및 상기 상단 보기 가능 영역 각각의 우측 에지를 상기 제1 보기 가능 영역의 우측 에지와 정렬하는 단계를 더 포함하며,
    상기 제1 가시부, 상기 제2 가시부, 상기 제3 가시부 및 상기 상단 보기 가능 영역은 상기 풋프린트 내에서 전체 가시 영역을 함께 형성하는, 방법.
  6. 제4항에 있어서,
    상기 제1 가시부 중 하나 이상은 제1 지정된 최소 치수를 갖거나 상기 상단 보기 가능 영역은 제2 지정된 최소 치수를 갖는, 방법.
  7. 제1항에 있어서,
    상기 스택에서의 상기 보기 가능 영역들 중 하나 이상이 상기 디스플레이 디바이스 상에서 가시적이지 않도록 상기 스택에서의 상기 보기 가능 영역들 중 하나 이상을 조정하는 단계를 더 포함하는, 방법.
  8. 제1항에 있어서,
    상기 보기 가능 영역들 중 적어도 일부는 적어도 부분적으로 방해되고 상기 스택에서의 상기 보기 가능 영역들 중 2개 이상은 동일한 면적을 갖는 가시적인 방해 받지 않은 부분들을 갖는, 방법.
  9. 제1항에 있어서,
    상기 풋프린트는 전체 가시적 보기 면적을 한정하고 상기 스택에서의 상기 보기 가능 영역들의 가시부들은 상기 전체 가시적 보기 면적에 표시되고, 상기 방법은:
    전체 가시적 보기 면적과 연관되는 구성 가능 임계치에 기반하여 상기 가시부들 중 하나 이상의 하나 이상의 치수를 조정하는 단계를 더 포함하는, 방법.
  10. 제1항에 있어서,
    상기 보기 가능 영역들의 스택을 렌더링하도록 코드를 실행시키는 단계는:
    제1 보기 가능 영역을 표시하는 단계로서, 상기 제1 보기 가능 영역은 상기 컴퓨터 판독 가능 콘텐츠에 상응하는 제1 선택 가능 대상을 포함하는 단계;
    상기 제1 보기 가능 영역의 상기 제1 선택 가능 대상의 선택을 검출하는 것에 응하여 상기 제1 보기 가능 영역의 제1 가시부를 감소시키도록 상기 제1 보기 가능 영역 중 적어도 일부에 제2 보기 가능 영역을 오버레잉하는 단계로서, 상기 제2 보기 가능 영역은 컴퓨터 판독 가능 콘텐츠에 상응하는 제2 선택 가능 대상을 포함하는, 상기 제2 보기 가능 영역을 오버레잉하는 단계; 및
    상기 제2 보기 가능 영역의 상기 제2 선택 가능 대상의 선택을 검출하는 것에 응하여 상기 제2 보기 가능 영역의 제2 가시부를 감소시키도록 상기 제2 보기 가능 영역 중 적어도 일부에 제3 보기 가능 영역을 오버레잉하는 단계로서, 상기 제3 보기 가능 영역은 상기 컴퓨터 판독 가능 콘텐츠에 상응하는 제3 선택 가능 대상을 갖는, 상기 제3 보기 가능 영역을 오버레잉하는 단계를 포함하는, 방법.
  11. 제10항에 있어서,
    압축 기준들에 기반하여 상기 스택에서의 상기 제2 보기 가능 영역을 프로그램에 따라 조정하는 단계를 더 포함하고,
    상기 압축 기준은, 상기 제2 가시부 미만인 상기 제2 보기 가능 영역에 대한 압축된 가시부를 생성하도록 상기 제2 보기 가능 영역의 제2 가시적 보기 면적을 압축하는 단계를 포함하는, 방법.
  12. 컴퓨터 판독 가능 콘텐츠의 계층적 구조체에 상응하는 보기 가능 영역들의 순항 가능한 계층화를 위한 시스템으로서:
    하나 이상의 프로그램을 저장하는 하나 이상의 비일시적 컴퓨터 판독 가능 매체;
    상기 하나 이상의 비일시적 컴퓨터 판독 가능 매체에 작동적 결합되는 하나 이상의 처리 디바이스로서:
    디스플레이 디바이스의 디스플레이 상에서, 일정 높이 및 일정 폭을 갖는 풋프린트 내에 루트 보기 가능 영역, 상단 보기 가능 영역, 및 상기 루트 보기 가능 영역의 z-깊이와 상기 상단 보기 가능 영역의 z-깊이 사이의 z-깊이들에서 렌더링되는 개재하는 보기 가능 영역들을 포함하는 중첩하는 보기 가능 영역들의 스택을 렌더링하며, 상기 스택에서의 상기 보기 가능 영역들의 순서는 컴퓨터 판독 가능 콘텐츠의 계층적 관계에 상응하며, 상기 스택에서의 상기 보기 가능 영역들은 상기 계층적 관계와 연관되는 정보를 포함하고;
    상기 디스플레이 디바이스의 디스플레이 상에서 상기 풋프린트 내에 축약 디스플레이 영역을 한정하며, 상기 축약 디스플레이 영역은 상기 풋프린트의 높이를 가지고, 상기 풋프린트의 제1 및 제2 측면 에지들로부터 오프셋을 가지며,
    상기 개재하는 보기 가능 영역들의 z-깊이들 및 상기 스택 내의 중첩하는 보기 가능 영역들의 양에 기초하여 축약 영역들의 내부 또는 외부에 상기 개재하는 보기 가능 영역들의 가시부들을 렌더링하며, 상기 축약 디스플레이 영역의 외부에 렌더링되는 상기 개재하는 보기 가능 영역들의 가시부들은 동일한 폭들을 가지고, 상기 축약 디스플레이 영역의 내부에 렌더링되는 상기 개재하는 보기 가능 영역들의 가시부들은 상기 축약 디스플레이 영역의 고정된 폭을 분할하는 폭들을 가지도록 하나 이상의 프로그램을 실행시키도록 프로그래밍되는 하나 이상의 처리 디바이스를 포함하는, 시스템.
  13. 제12항에 있어서,
    상기 하나 이상의 처리 디바이스는:
    제1 보기 가능 영역을 표시하며, 상기 제1 보기 가능 영역은 상기 컴퓨터 판독 가능 콘텐츠에 상응하는 제1 선택 가능 대상을 포함하며;
    상기 제1 보기 가능 영역의 상기 하나 이상의 선택 가능 대상의 선택을 검출하는 것에 응하여 상기 제1 보기 가능 영역의 가시부를 감소시키도록 상기 제1 보기 가능 영역 중 적어도 일부에 제2 보기 가능 영역을 오버레잉하며, 상기 제2 보기 가능 영역은 컴퓨터 판독 가능 콘텐츠에 상응하는 제2 선택 가능 대상을 포함하고;
    상기 제2 보기 가능 영역의 상기 하나 이상의 선택 가능 대상의 선택을 검출하는 것에 응하여 상기 제2 보기 가능 영역의 가시부를 감소시키도록 상기 제2 보기 가능 영역 중 적어도 일부에 제3 보기 가능 영역을 오버레잉하며, 상기 제3 보기 가능 영역은 상기 컴퓨터 판독 가능 콘텐츠에 상응하는 제3 선택 가능 대상을 가짐으로써 디스플레이 디바이스 상에서 중첩하는 보기 가능 영역들의 스택을 렌더링하도록 상기 하나 이상의 프로그램을 실행시키도록 프로그래밍되는, 시스템.
  14. 제13항에 있어서,
    상기 하나 이상의 처리 디바이스는:
    제2 가시부 미만인 상기 제2 보기 가능 영역에 대한 압축된 가시적 보기 면적을 생성하도록 상기 제2 보기 가능 영역의 제2 가시적 보기 면적을 압축함으로써 상기 디스플레이 디바이스 상에서 상기 제2 보기 가능 영역들을 조정하도록 상기 하나 이상의 프로그램을 실행시키도록 프로그래밍되는, 시스템.
  15. 컴퓨터 판독 가능 콘텐츠의 계층적 구조체에 상응하는 보기 가능 영역들의 순항 가능한 계층화의 방법으로서:
    중첩하는 보기 가능 영역들의 스택이 디스플레이 디바이스 상에서 렌더링되는 풋프린트를 한정하는 단계로서, 상기 풋프린트는 일정 높이 및 일정 폭을 갖고, 상기 폭은 상기 풋프린트의 제1 측면 및 상기 제1 측면의 반대에 배치된 제2 측면의 사이에 한정되는 단계;
    상기 풋프린트 내에서, (i) 상기 풋프린트의 상기 높이를 연장시키고 상기 풋프린트의 제1 측면으로부터 상기 제2 측면으로 상기 풋프린트의 상기 폭의 제1 부분을 연장시키는 제1 디스플레이 영역, (ii) 상기 풋프린트의 상기 높이를 연장시키고 상기 풋프린트의 제2 측면으로부터 상기 제1 측면으로 상기 풋프린트의 상기 폭의 제2 부분을 연장시키는 제2 디스플레이 영역, 및 (iii) 상기 제1 및 제2 디스플레이 영역들 사이에 나란히 배치되는 제3 내지 제5 디스플레이 영역들 - 상기 제3 내지 제5 디스플레이 영역들 각각은 상기 풋프린트의 상기 높이 및 상기 제1 및 제2 디스플레이 영역 사이의 동일한 고정된 폭들을 연장시킴 - 을 포함하는 복수의 디스플레이 영역들을 한정하는 단계; 및
    상기 풋프린트 내에 중첩하는 보기 가능 영역들의 스택을 렌더링하는 단계로서, 상기 스택 내의 중첩하는 보기 가능 영역들의 양은 임계값 이상이고, 상기 중첩하는 보기 가능 영역들의 스택은,
    상기 풋프린트의 상기 높이 및 상기 폭을 갖는 루트 보기 가능 영역 - 상기 루트 보기 가능한 것의 가시부는 상기 제1 디스플레이 영역 내에 렌더링됨 - ;
    상기 풋프린트의 상기 높이를 갖고 상기 제2 디스플레이 영역 내에 렌더링되는 상단 보기 가능 영역; 및
    상기 풋프린트의 상기 높이 및 상기 풋프린트의 제2 측면으로부터 측정되는 달라지는 폭들을 갖는 복수의 개재하는 보기 가능 영역 - 상기 복수의 개재하는 보기 가능 영역들은 상기 루트 보기 가능 영역에 대한 z-깊이보다 더 크고 상기 상단 보기 가능 영역에 대한 z-깊이 미만인 z-깊이들을 갖고, 상기 복수의 개재하는 보기 가능 영역들 각각의 가시부 각각은 동일한 고정된 폭들을 가지도록 상기 제3 내지 제5 디스플레이 영역들 중 상이한 디스플레이 영역에 렌더링됨 - 을 포함하는, 상기 렌더링하는 단계를 포함하고,
    상기 스택의 상단에 추가적인 보기 가능 영역을 추가하는 것에 응하여, (1) 상기 루트 보기 가능 영역의 가시부는 상기 제1 디스플레이 영역 내에 유지되고 제1 고정된 폭을 유지하며, (2) 상기 복수의 개재하는 보기 가능 영역들의 제1 및 제2 개재하는 보기 가능 영역의 가시부들은 상기 제3 디스플레이 영역의 고정된 폭을 공유하도록 상기 제3 디스플레이 영역 내에 렌더링되고, 상기 복수의 개재하는 보기 가능 영역들의 제3 개재하는 보기 가능 영역의 가시부는 상기 제4 디스플레이 영역의 고정된 폭을 가지도록 상기 제4 디스플레이 영역 내에 렌더링되고, 그리고 상기 복수의 개재하는 보기 가능 영역들의 제4 개재하는 보기 가능 영역의 가시부는 제5 디스플레이 영역의 고정된 폭을 가지도록 제5 디스플레이 영역 내에 렌더링되는, 방법.
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
KR1020167015579A 2013-11-15 2014-11-11 계층적 콘텐츠에 대한 보기 가능 영역의 순항 가능한 계층화 KR101913480B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/081,707 2013-11-15
US14/081,707 US10067651B2 (en) 2013-11-15 2013-11-15 Navigable layering of viewable areas for hierarchical content
PCT/IB2014/003024 WO2015071765A2 (en) 2013-11-15 2014-11-11 Navigable layering of viewable areas for hierarchical content

Publications (2)

Publication Number Publication Date
KR20160086886A KR20160086886A (ko) 2016-07-20
KR101913480B1 true KR101913480B1 (ko) 2018-10-30

Family

ID=52472348

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167015579A KR101913480B1 (ko) 2013-11-15 2014-11-11 계층적 콘텐츠에 대한 보기 가능 영역의 순항 가능한 계층화

Country Status (6)

Country Link
US (1) US10067651B2 (ko)
EP (1) EP3069323A2 (ko)
KR (1) KR101913480B1 (ko)
AU (1) AU2014349834B2 (ko)
CA (1) CA2929857C (ko)
WO (1) WO2015071765A2 (ko)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9417754B2 (en) 2011-08-05 2016-08-16 P4tents1, LLC User interface system, method, and computer program product
JP6082458B2 (ja) 2012-05-09 2017-02-15 アップル インコーポレイテッド ユーザインタフェース内で実行される動作の触知フィードバックを提供するデバイス、方法、及びグラフィカルユーザインタフェース
JP6031186B2 (ja) 2012-05-09 2016-11-24 アップル インコーポレイテッド ユーザインタフェースオブジェクトを選択するためのデバイス、方法及びグラフィカルユーザインタフェース
WO2013169842A2 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for selecting object within a group of objects
WO2013169854A2 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for providing feedback for changing activation states of a user interface object
AU2013259630B2 (en) 2012-05-09 2016-07-07 Apple Inc. Device, method, and graphical user interface for transitioning between display states in response to gesture
WO2013169845A1 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for scrolling nested regions
WO2013169875A2 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for displaying content associated with a corresponding affordance
WO2013169851A2 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for facilitating user interaction with controls in a user interface
WO2013169849A2 (en) 2012-05-09 2013-11-14 Industries Llc Yknots Device, method, and graphical user interface for displaying user interface objects corresponding to an application
CN104487930A (zh) 2012-05-09 2015-04-01 苹果公司 用于移动和放置用户界面对象的设备、方法和图形用户界面
WO2013169865A2 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for moving a user interface object based on an intensity of a press input
EP2847657B1 (en) 2012-05-09 2016-08-10 Apple Inc. Device, method, and graphical user interface for displaying additional information in response to a user contact
WO2013169843A1 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for manipulating framed graphical objects
JP6018474B2 (ja) * 2012-10-23 2016-11-02 任天堂株式会社 プログラム、情報処理装置、情報処理方法および情報処理システム
KR101958582B1 (ko) 2012-12-29 2019-07-04 애플 인크. 터치 입력에서 디스플레이 출력으로의 관계들 사이에서 전환하기 위한 디바이스, 방법, 및 그래픽 사용자 인터페이스
CN107832003B (zh) 2012-12-29 2021-01-22 苹果公司 用于放大内容的方法和设备、电子设备和介质
KR101742808B1 (ko) 2012-12-29 2017-06-01 애플 인크. 사용자 인터페이스 계층을 내비게이션하기 위한 디바이스, 방법 및 그래픽 사용자 인터페이스
WO2014105277A2 (en) 2012-12-29 2014-07-03 Yknots Industries Llc Device, method, and graphical user interface for moving a cursor according to a change in an appearance of a control icon with simulated three-dimensional characteristics
AU2013368441B2 (en) 2012-12-29 2016-04-14 Apple Inc. Device, method, and graphical user interface for forgoing generation of tactile output for a multi-contact gesture
WO2014105279A1 (en) 2012-12-29 2014-07-03 Yknots Industries Llc Device, method, and graphical user interface for switching between user interfaces
USD783043S1 (en) * 2013-09-13 2017-04-04 Nikon Corporation Display screen with transitional graphical user interface
WO2015089819A1 (en) * 2013-12-20 2015-06-25 Orange Method for selecting an electronic content to be displayed on a display of an electronic device
USD759705S1 (en) * 2014-03-17 2016-06-21 Lg Electronics Inc. Display panel with transitional graphical user interface
KR102358548B1 (ko) * 2014-10-15 2022-02-04 삼성전자주식회사 디바이스를 이용한 화면 처리 방법 및 장치
US20160154553A1 (en) * 2014-12-02 2016-06-02 Kobo Incorporated Method and system for term occurrence pagination interface
US10048757B2 (en) 2015-03-08 2018-08-14 Apple Inc. Devices and methods for controlling media presentation
US9632664B2 (en) 2015-03-08 2017-04-25 Apple Inc. Devices, methods, and graphical user interfaces for manipulating user interface objects with visual and/or haptic feedback
US9990107B2 (en) 2015-03-08 2018-06-05 Apple Inc. Devices, methods, and graphical user interfaces for displaying and using menus
US9645732B2 (en) 2015-03-08 2017-05-09 Apple Inc. Devices, methods, and graphical user interfaces for displaying and using menus
US10095396B2 (en) 2015-03-08 2018-10-09 Apple Inc. Devices, methods, and graphical user interfaces for interacting with a control object while dragging another object
US9639184B2 (en) 2015-03-19 2017-05-02 Apple Inc. Touch input cursor manipulation
US20170045981A1 (en) 2015-08-10 2017-02-16 Apple Inc. Devices and Methods for Processing Touch Inputs Based on Their Intensities
US10067653B2 (en) 2015-04-01 2018-09-04 Apple Inc. Devices and methods for processing touch inputs based on their intensities
US10346030B2 (en) 2015-06-07 2019-07-09 Apple Inc. Devices and methods for navigating between user interfaces
US10200598B2 (en) 2015-06-07 2019-02-05 Apple Inc. Devices and methods for capturing and interacting with enhanced digital images
US9891811B2 (en) * 2015-06-07 2018-02-13 Apple Inc. Devices and methods for navigating between user interfaces
US9860451B2 (en) 2015-06-07 2018-01-02 Apple Inc. Devices and methods for capturing and interacting with enhanced digital images
US9830048B2 (en) 2015-06-07 2017-11-28 Apple Inc. Devices and methods for processing touch inputs with instructions in a web page
US10248308B2 (en) 2015-08-10 2019-04-02 Apple Inc. Devices, methods, and graphical user interfaces for manipulating user interfaces with physical gestures
US10235035B2 (en) 2015-08-10 2019-03-19 Apple Inc. Devices, methods, and graphical user interfaces for content navigation and manipulation
US10416800B2 (en) 2015-08-10 2019-09-17 Apple Inc. Devices, methods, and graphical user interfaces for adjusting user interface objects
US9880735B2 (en) 2015-08-10 2018-01-30 Apple Inc. Devices, methods, and graphical user interfaces for manipulating user interface objects with visual and/or haptic feedback
CN105677224A (zh) * 2016-01-06 2016-06-15 广州市动景计算机科技有限公司 一种下拉手势处理方法、装置及设备
US20190129576A1 (en) * 2017-10-27 2019-05-02 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Processing of corresponding menu items in response to receiving selection of an item from the respective menu

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110296351A1 (en) 2010-05-26 2011-12-01 T-Mobile Usa, Inc. User Interface with Z-axis Interaction and Multiple Stacks
US20120236037A1 (en) 2011-01-06 2012-09-20 Research In Motion Limited Electronic device and method of displaying information in response to a gesture
US20130145307A1 (en) 2011-12-01 2013-06-06 Canon Kabushiki Kaisha Display apparatus and display method

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6040833A (en) * 1993-12-10 2000-03-21 International Business Machines Corp. Method and system for display manipulation of multiple applications in a data processing system
US5644737A (en) * 1995-06-06 1997-07-01 Microsoft Corporation Method and system for stacking toolbars in a computer display
US6511426B1 (en) * 1998-06-02 2003-01-28 Acuson Corporation Medical diagnostic ultrasound system and method for versatile processing
JP2001265481A (ja) * 2000-03-21 2001-09-28 Nec Corp ページ情報表示方法及び装置並びにページ情報表示用プログラムを記憶した記憶媒体
US7308651B2 (en) * 2001-09-05 2007-12-11 Sca Hygiene Products Ab Data entry graphical user interface
US6989815B2 (en) * 2001-09-13 2006-01-24 E-Book Systems Pte Ltd. Method for flipping pages via electromechanical information browsing device
US7456823B2 (en) * 2002-06-14 2008-11-25 Sony Corporation User interface apparatus and portable information apparatus
US7100119B2 (en) * 2002-11-01 2006-08-29 Microsoft Corporation Page bar control
US20110145758A1 (en) * 2009-12-10 2011-06-16 International Business Machines Corporation Display navigation system, method and computer program product
US8898577B2 (en) * 2010-03-09 2014-11-25 Microsoft Corporation Application sharing with occlusion removal
US8872813B2 (en) * 2011-09-02 2014-10-28 Adobe Systems Incorporated Parallax image authoring and viewing in digital media
US8997017B2 (en) * 2011-10-21 2015-03-31 International Business Machines Corporation Controlling interactions via overlaid windows
KR102006470B1 (ko) * 2011-12-28 2019-08-02 삼성전자 주식회사 사용자 디바이스에서 멀티태스킹 운용 방법 및 장치
US9235317B2 (en) * 2012-02-01 2016-01-12 Facebook, Inc. Summary and navigation of hierarchical levels
US20140115432A1 (en) * 2012-10-24 2014-04-24 ePAGINATION LIMITED (UK) Techniques for typographic electronic pagination
US9400601B2 (en) * 2013-06-21 2016-07-26 Nook Digital, Llc Techniques for paging through digital content on touch screen devices

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110296351A1 (en) 2010-05-26 2011-12-01 T-Mobile Usa, Inc. User Interface with Z-axis Interaction and Multiple Stacks
US20120236037A1 (en) 2011-01-06 2012-09-20 Research In Motion Limited Electronic device and method of displaying information in response to a gesture
US20130145307A1 (en) 2011-12-01 2013-06-06 Canon Kabushiki Kaisha Display apparatus and display method

Also Published As

Publication number Publication date
WO2015071765A3 (en) 2015-08-13
BR112016010593A2 (pt) 2022-07-12
CA2929857C (en) 2023-08-01
KR20160086886A (ko) 2016-07-20
CA2929857A1 (en) 2015-05-21
EP3069323A2 (en) 2016-09-21
AU2014349834A1 (en) 2016-05-26
AU2014349834B2 (en) 2018-11-29
US10067651B2 (en) 2018-09-04
US20150143284A1 (en) 2015-05-21
WO2015071765A2 (en) 2015-05-21

Similar Documents

Publication Publication Date Title
KR101913480B1 (ko) 계층적 콘텐츠에 대한 보기 가능 영역의 순항 가능한 계층화
KR101608183B1 (ko) 향상된 창 상태를 이용한 디스플레이 영역의 배열
EP3175340B1 (en) Assisted presentation of application windows
US9542070B2 (en) Method and apparatus for providing an interactive user interface
EP2699998B1 (en) Compact control menu for touch-enabled command execution
US9196227B2 (en) Selecting techniques for enhancing visual accessibility based on health of display
EP2810148B1 (en) Scrollable desktop navigation
EP4365723A2 (en) Adaptive sizing and positioning of application windows
US20160034157A1 (en) Region-Based Sizing and Positioning of Application Windows
JP2017084387A (ja) 画像を閲覧するためのアプリケーション
KR20170067863A (ko) 이종 애플리케이션 탭들
CA2955619A1 (en) Dynamic joint dividers for application windows
KR20120113738A (ko) 콘텐츠를 보기 위한 갤러리 애플리케이션
KR20140051228A (ko) 컨텍스트 기반 메뉴 시스템에 대한 서브메뉴
CN106293395A (zh) 一种虚拟现实眼镜及其界面交互方法
EP2259174A1 (en) Electronic device, method for viewing desktop thereof, and computer program product
KR20140078629A (ko) 인플레이스 방식으로 값을 편집하는 사용자 인터페이스
US20160070460A1 (en) In situ assignment of image asset attributes
KR102342282B1 (ko) 어플리케이션 선택 화면을 통해 어플리케이션들을 실행하는 방법 및 장치
US20140282231A1 (en) Dynamically reconfigurable multiframe user interface for a computing device
US20140331141A1 (en) Context visual organizer for multi-screen display
US20150324068A1 (en) User interface structure (uis) for geographic information system applications
US9360994B2 (en) Partial-height panes as a method for optimizing palette layout and screen real estate usage
EP2791773A1 (en) Remote display area including input lenses each depicting a region of a graphical user interface
BR112016010593B1 (pt) Método implementado por instruções legíveis por computador para estratificação navegável de áreas visíveis correspondendo a uma estrutura hierárquica de conteúdo legível em computador e sistema

Legal Events

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