KR102354695B1 - 컨텐츠 작성 시스템 상의 가이드 - Google Patents

컨텐츠 작성 시스템 상의 가이드 Download PDF

Info

Publication number
KR102354695B1
KR102354695B1 KR1020167034755A KR20167034755A KR102354695B1 KR 102354695 B1 KR102354695 B1 KR 102354695B1 KR 1020167034755 A KR1020167034755 A KR 1020167034755A KR 20167034755 A KR20167034755 A KR 20167034755A KR 102354695 B1 KR102354695 B1 KR 102354695B1
Authority
KR
South Korea
Prior art keywords
guide
user
slide
displaying
objects
Prior art date
Application number
KR1020167034755A
Other languages
English (en)
Other versions
KR20170010791A (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 KR20170010791A publication Critical patent/KR20170010791A/ko
Application granted granted Critical
Publication of KR102354695B1 publication Critical patent/KR102354695B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents

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)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • User Interface Of Digital Computer (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

사용자가 시각적 컨텐츠를 작성하고 있을 때에 시각적 디스플레이 상에 사용자 입력이 수신된다. 사용자 입력이 가이드 기능을 트리거하고, 시각적 컨텐츠를 작성할 때에 사용자를 안내하는 가이드가 표시된다.

Description

컨텐츠 작성 시스템 상의 가이드{GUIDES ON A CONTENT GENERATION SYSTEM}
일반적으로 컴퓨터 시스템은 광범위하게 이용되고 있다. 일부 컴퓨터 시스템은 사용자가 컨텐츠를 작성하는 것을 돕는다.
예를 들면, 일부 프레젠테이션 애플리케이션은 사용자가 슬라이드 프레젠테이션을 작성하는 것을 돕는 기능을 포함한다. 또한, 워드 프로세싱 애플리케이션에서는 사용자가 예컨대 문서에 텍스트뿐만 아니라 표, 이미지 등의 오브젝트까지도 삽입할 수 있다. 다양한 기타 컴퓨터 시스템도 사용자가 컨텐츠를 작성할 수 있게 한다.
컨텐츠 작성 시에, 특히 컨텐츠가 청중에게 프레젠테이션되어야 하는 경우에는 종종 사용자는 전체적으로 일관되게 컨텐츠를 작성하기를 원한다. 예를 들면, 사용자가 슬라이드 프레젠테이션을 작성하고 있을 때에, 사용자는 한 슬라이드 상의 오브젝트가 후속 슬라이드 상의 오브젝트와 일반적으로 얼라인(align)되는 것을 원할 수 있다. 또한, 사용자는 오브젝트들이 동일한 슬라이드 상에서도 서로 얼라인될 때를 알고 싶어할 수도 있다.
현재, 일부 프레젠테이션 컴퓨터 시스템(또는 애플리케이션)은 오브젝트가 드래그 중에 슬라이드 상에 얼라인될 때를 사용자에게 나타내는 가이드를 표시하고 이벤트의 사이즈를 조정한다. 예를 들면, 사용자가 사용자 인터페이스 디스플레이 주위로 오브젝트를 드래그하는 경우에, 그 오브젝트가 슬라이드 상의 다른 오브젝트의 엣지와 얼라인할 때에 또는 3개 이상의 도형(shape)이 서로 등거리일 때에 인디케이터가 표시된다. 오브젝트들이 얼라인먼트의 임계 거리 안에 있다면, 이들 오브젝트를 얼라인먼트로 스냅핑하기 위한 일부 기능도 제공된다.
이상의 설명은 일반적인 배경 정보를 위해 제공되는 것일 뿐, 청구하는 발명의 대상의 범주를 결정할 때에 보조로 이용되어서는 안 된다.
사용자가 시각적 컨텐츠를 작성하고 있을 때에 시각적 디스플레이 상에 사용자 입력이 수신된다. 사용자 입력이 가이드 기능을 트리거하고, 시각적 컨텐츠를 작성할 때에 사용자를 안내하는 가이드가 표시된다.
본 개요는 상세한 설명에서 또한 후술하는 다양한 개념들을 간략화한 형태로 소개하기 위해 제공된다. 본 개요는 청구범위의 발명의 대상이 되는 주요 특징 또는 본질적 특징을 확인하기 위한 것이 아니며, 청구범위의 발명의 대상의 범주를 결정하는데 도움을 주는 것으로 이용되어서도 안 된다. 또한, 청구범위의 청구 대상은 앞의 배경설명에서 언급한 단점들 중 일부 또는 전부를 해결하는 구현예에 한정되지 않는다.
도 1은 시각적 컨텐츠 작성 시스템의 일 실시형태의 블록도이다.
도 2는 직각 가이드(right angle guide) 및 스냅핑 기능(snapping functionality)을 수행할 때에 도 1에 도시한 시스템의 동작의 일 실시형태를 예시하는 흐름도이다.
도 2a 내지 도 2f는 직각 및 가이드 기능의 예를 도시하고 있다.
도 3은 오브젝트를 (슬라이드 등의) 디스플레이에 얼라인할 때에 도 1에 도시한 시스템의 동작의 일 실시형태를 예시하는 흐름도이다.
도 4는 오브젝트를 (슬라이드 등의) 디스플레이의 센터에 얼라인할 때에 도 1에 도시한 시스템의 동작의 일 실시형태를 예시하는 흐름도이다.
도 4a 내지 도 4o는 디스플레이의 센터에 얼라인하는 예를 보여준다.
도 5는 하나 이상의 오브젝트를 (슬라이드 등의) 디스플레이의 마진에 얼라인할 때에 도 1에 도시한 시스템의 동작의 일 실시형태를 예시하는 흐름도이다.
도 5a 내지 도 5p는 하나 이상의 오브젝트를 디스플레이의 마진에 얼라인하는 예를 보여준다.
도 6은 한 오브젝트의 센터를 다른 오브젝트의 엣지에 얼라인할 때에 도 1에 도시한 시스템의 동작의 일 실시형태를 예시하는 흐름도이다.
도 6a 내지 도 6d는 오브젝트의 센터-엣지 얼라인먼트를 수행하는 예를 보여준다.
도 7은 트랜지션 가이드를 생성할 때에 도 1에 도시한 시스템의 동작의 일 실시형태를 예시하는 흐름도이다.
도 7a와 도 7b는 트랜지션 가이드의 예를 보여준다.
도 8은 클라우드 컴퓨팅 아키텍처 내에 있는, 도 1에 도시한 시스템의 일 실시형태를 보여준다.
도 9 내지 도 13은 모바일 디바이스의 실시형태를 보여준다.
도 14는 컴퓨팅 환경의 일 실시형태의 블록도이다.
도 1은 시각적 컨텐츠 작성 시스템(100)의 일 실시형태의 블록도이다. 사용자(106)에 의한 상호작용을 위해 사용자 입력 메커니즘(104)을 이용해 사용자 인터페이스 디스플레이(102)를 생성하는 시스템(100)이 도시된다. 사용자(106)는 예시적으로, 시각적 컨텐츠를 작성 및 편집하기 위해 사용자 입력 메커니즘(104)과 상호작용하여 시스템(100)을 제어 및 조작한다.
시각적 컨텐츠 작성 시스템(100)은 본 명세서에서는 슬라이드 프레젠테이션 시스템으로서 설명될 것이다. 그러나, 이것은 시각적 컨텐츠 작성 시스템의 일 실시형태일 뿐이며, 각종의 기타 시스템도 이용될 수 있음을 알아야 한다. 예를 들면, 워드 프로세싱 시스템, 리포트 작성 시스템, 또는 임의의 다양한 기타 시각적 컨텐츠 작성 시스템일 수도 있다.
시스템(100)은 예시적으로, 프로세서(108), 사용자 인터페이스 컴포넌트(110), 컨텐츠 작성 기능부(112), 가이드 생성 시스템(114)을 포함하고, 기타 아이템(116)도 포함할 수 있다. 가이드 생성 시스템(114) 그 자체는 예시적으로 사전 결정된 방향 시스템(118), 디스플레이 얼라인(align-to-display) 시스템(120), 센터-엣지 가이드 시스템(122), 트랜지션 가이드 시스템(124), 트리거 검출 시스템(126)을 포함하고, 기타 아이템(128)도 포함할 수 있다.
시각적 컨텐츠 작성 시스템(100), 보다 구체적으로 가이드 생성 시스템의 동작을 자세하게 설명하기에 앞서, 간단하게 개요를 제공하기로 한다. 컨텐츠 작성 기능부(112)는 예시적으로, 사용자(106)가 시스템(100)을 이용하여, 컨텐츠를 작성, 컨텐츠를 편집 또는 삭제할 수 있게 하는 기능부이다. 예를 들면, 시스템(100)이 슬라이드 프레젠테이션 시스템일 경우, 기능부(112)는 사용자가 슬라이드 프레젠테이션에서 슬라이드를 생성, 편집 또는 삭제하게 할 수 있다. 사용자 인터페이스 컴포넌트(112)는 사용자 입력 메커니즘(104)을 이용해 사용자 인터페이스 디스플레이를 생성한다. 이 컴포넌트는 그 자신에 의해, 또는 시스템(100) 내 다른 아이템의 제어 하에 그렇게 한다. 가이드 생성 시스템(114)은 컨텐츠 작성 시에 사용자(106)를 위한 시각적 가이드를 생성한다. 사전 결정된 방향 시스템(118)은 오브젝트가 사전 결정된 방향에 있는지의 여부(예컨대, 선이 수평 또는 수직 등인지의 여부)를 사용자(106)가 볼 수 있게 하는 가이드를 표시한다 디스플레이 얼라인(align-to-display) 시스템(120)은 시각적 오브젝트들이 표시되는 사용자 인터페이스 디스플레이에 대해(예컨대, 시각적 오브젝트들이 표시되는 슬라이드에 대해) 시각적 오브젝트들을 사용자(106)가 얼라인하게 할 수 있는 가이드를 표시한다. 센터-엣지 가이드 시스템(122)은 사용자(106)가 한 오브젝트의 센터를 다른 오브젝트의 엣지와 용이하게 얼라인하게 할 수 있는 가이드를 표시한다. 트랜지션 가이드 시스템(124)은 사용자(106)가 다수의 상이한 슬라이드 상에 오브젝트를 얼라인하게 할 수 있는 가이드를 생성한다. 트리거 검출 시스템(126)은 사용자(106)가 시스템(118-124) 중 하나를 트리거하는 액션을 취할 때를 검출한다.
도 2는 사전 결정된 방향 시스템(118)의 동작의 일 실시형태를 보다 상세하게 예시하는 흐름도이다. 도 2에서 설명하는 실시형태에 있어서, 사전 결정된 방향 시스템(118)은, 사용자(106)가 오브젝트를 사전 결정된 방향에 두는 것을 돕는 가이드를 생성한다. 설명하는 예의 경우, 사전 결정된 방향은 수평 및 수직 방향일 수 있다. 따라서, 예컨대 도 2는 수평 및 수직 선을 작성할 때에 시스템(118)이 사용자(106)를 안내하는 방법을 기술한다. 그러나, 시스템은 장축(elongate axis)을 갖는 다른 오브젝트에 대해 사용자(106)를 안내할 수 있다는 것이 이해될 것이다. 또한 오브젝트의 장축을 다른 사전 결정된 방향으로, 예컨대 45도 각도 방향 또는 다른 방향으로 배치하는 것에 대해서도 사용자(106)를 안내할 수도 있다.
어떤 경우든, 도 2에서는 사용자(106)가 디스플레이(예컨대, 슬라이드) 상에 몇몇 타입의 컨텐츠를 작성하는 것을 상정한다. 이것이 도 2에서 블록 140으로 나타난다. 그리고 나서 트리거 검출 시스템(126)은 시스템(118)에 의해 구현된 입력 트리거링 각도 표시(angle indication) 및 스냅핑 기능을 사용자가 제공한 것을 검출한다. 트리거 검출은 도 2에서 블록 142로 나타난다. 트리거는 각종 상이한 트리거일 수 있다. 예를 들어, 일 실시형태에 있어서, 사용자(106)가 선이나 연결부의 사이즈를 조정하는 핸들(handle)을 이용한다면, 이것은 시스템(118)에서 각도 표시 및 스냅핑 기능을 트리거할 수 있다. 이 트리거는 블록 144로 나타난다. 트리거는 다른 사용자 입력도 포함할 수 있으며, 이것은 블록 146으로 나타난다.
사용자가 트리거링 입력을 제공하였다고 상정하면, 사전 결정된 방향 시스템(118)은 사용자가 사이즈를 조정하고 있는 선이나 연결부가 사전 결정된 방향의 스냅핑 거리 안에 있는지의 여부를 결정한다. 이것이 도 2에서 블록 148로 나타난다. 예컨대, 사용자가 선의 핸들을 움직여서 그 선을 수평이거나 수직이 되는 사전 결정된 거리 안에 두다면, 시스템(118)은 사전 결정된 방향으로 사이즈가 조정되는 선을 스냅핑한다. 이것은 블록 150으로 나타난다. 수평 방향에의 스냅핑은 블록 152로 나타난다. 수직 방향에의 스냅핑은 블록 154로 나타나며, 다른 사전 결정된 방향에의 스냅핑은 블록 156으로 나타난다.
시스템(118)은 또한 사전 결정된 방향 인디케이터를 표시할 것인데, 이것은 사용자에 의해 사이즈가 조정되고 있는 선이 수직이거나 수평인 것을 나타낸다. 이것이 도 2에서 블록 158로 나타난다. 사전 결정된 방향 인디케이터는, 일 실시형태에서는 사용자에 의해 조종되고 있는 핸들에 대해 미리 결정된 스팟에 위치한다. 이것은 블록 160으로 나타난다. 또한 그것은 사용자에 의해 사이즈가 조정되고 있는 선의 길이에 대해 위치할 수도 있다. 이것은 블록 162으로 나타난다. 그것은 다른 방식으로도 위치할 수 있으며, 이것은 블록 164로 나타난다.
사용자가 트리거링 입력을 계속한다면, 프로세싱은 블록 148에서 다시 계속된다. 그러나, 사용자(106)가 트리거링 입력을 종료하면, 시스템(118)의 프로세싱은 완료된다. 이것은 블록 166으로 나타난다.
이제 여러가지 예에 대해 설명할 것이다. 도 2a는 연결부나 선(170)을 갖는 사용자 인터페이스 디스플레이(168)를 보여준다. 선(170)은 양 단부에 각각 172와 174로 표시되는 2개의 핸들을 갖는다. 일 실시형태에 있어서, 사용자는 선(170)을 이동시키거나 사이즈를 조정하기 위해 핸들(174)을 움직이고 있다. 화살표(176)는 사전 결정된 수직 방향에 대한 스냅핑 영역을 정의하는 폭을 갖는다. 따라서, 사용자(106)가 핸들(174)을 화살표(176)가 정의하는 스냅핑 영역으로 이동시키면, 시스템(118)은 선(170)을 수직 방향으로 스냅핑한다. 화살표(178)는 수평 방향에 대해 동일한 기능을 한다. 따라서, 사용자(106)가 핸들(174)을 화살표(178)가 정의하는 영역으로 이동시키면, 시스템(118)은 선을 수평 방향으로 스냅핑한다.
선(170)이 사전 결정된 방향(예컨대, 수평 또는 수직)에 있으면, 시스템(118)은 사전 결정된 방향 인디케이터를 생성한다. 이것의 일례가 도 2b에 보여진다. 도 2b에서는 사용자가 핸들을 화살표(178)에 의해 정의된 영역으로 이동시켜 시스템(118)이 선(170)을 수평 방향으로 스냅핑한 것을 볼 수 있다. 따라서, 시스템은 사전 결정된 방향 인디케이터(180)를 표시한다. 도 2b에 도시하는 실시형태에서는, 인디케이터(180)가 수직축 인디케이터(182)와 직각 인디케이터(184)를 포함한다. 따라서, 인디케이터(180)는 선(170)이 현재 수직축(182)에 수직인 것을 보여준다. 일 실시형태에 있어서, 인디케이터(180)가 핸들(174) 근방에 배치되지만, 그로부터 이격되어 있어, 사용자가 인디케이터(180)를 볼 수 있지만, 선을 그리는 동안 사용자가 손가락으로 핸들(174)을 조정하고 있다면, 사용자의 손에 의해서도 가려지지 않을 것이다.
도 2c와 도 2d는 선(170)의 양단 상에서 사용자가 핸들(174)을 조정하고 있는 2개의 추가 실시형태를 보여준다. 도 2c와 도 2d는 시스템(118)이 선을 수직 방향으로 스냅핑하고 그에 따라 인디케이터(180)를 표시한 것을 보여준다.
선(170)은 형편상 전체 인디케이터(180)를 표시하기에 너무 짧은 경우도 있을 수 있다. 그 경우에, 인디케이터의 일부만이 표시될 수 있다. 도 2e와 도 2f는 예컨대 선(170)이 비교적 짧은 실시형태를 보여준다. 그 경우에, 시스템(118)은 수직축(182) 등의 인디케이터(180)의 일부만 표시하는 것을 선택할 수 있다. 일 실시형태에 는,, 사용자(106)가 선(170)의 사이즈를 조정하고 있는 경우와 관계없이, 비교적 짧은 선(170)을 따라 수직축을 중심에 둔다. 물론, 도 2a 내지 도 2f에 보여주는 예들은 일례일 뿐이며, 다른 인디케이터 및 기능도 제공될 수 있다.
도 3은 디스플레이 얼라인 시스템(120)의 일 실시형태를 예시하는 흐름도이다. 시스템(120)은 사용자 인터페이스 디스플레이의 다양한 부분(예컨대, 슬라이드의 다양한 부분)에 오브젝트를 얼라인할 때에 사용자(106)를 지원하는 가이드를 생성한다. 이에 따라, 먼저 일부 오브젝트의 디스플레이가 생성되는 것으로 상정한다. 이것이 도 3에서 블록 186으로 나타난다.
그런 다음 트리거 검출 시스템(126)은 디스플레이에 대한 오브젝트의 얼라인먼트를 트리거하는 입력을 검출한다. 이것은 블록 188로 나타난다. 일 실시형태에 있어서, 시스템(120)은 디스플레이의 센터에 오브젝트를 얼라인할 때에 사용자(106)를 지원하는 가이드를 생성한다. 이것은 블록 190으로 나타난다. 다른 실시형태에 있어서, 시스템(120)은 디스플레이의 마진에 오브젝트를 얼라인할 때에 사용자(106)를 지원하는 가이드를 생성한다. 이것은 블록 192로 나타난다. 시스템(120)은 슬라이드의 다른 부분에 얼라인할 때에도 사용자(106)를 지원하는 가이드를 생성할 수 있으며, 이것은 블록 194로 나타난다.
트리거 검출 시스템(126)이 사용자 입력 트리거를 검출하면, 시스템(120)은 가이드를 표시한다. 이것은 블록 196으로 나타난다.
도 4는 사용자(106)가 오브젝트를 디스플레이의 센터에 대해 얼라인할 수 있게 하는 가이드를 생성할 때에 시스템(120)의 동작의 일 실시형태를 보다 상세하게 예시하는 흐름도이다. 트리거 검출 시스템(126)이 먼저, 디스플레이의 센터에 오브젝트를 얼라인하는 가이드를 표시하도록 시스템(120)을 트리거하는 사용자 입력 트리거를 수신하다. 이러한 타입의 트리거를 수신하는 것이 도 4에서 블록 198로 나타난다. 트리거는 각종 상이한 형태를 취할 수 있다.
일 실시형태에 있어서, 예를 들면, 트리거는 사용자가 오브젝트의 센터 또는 엣지가 디스플레이의 센터와 얼라인되는 오브젝트와 상호작용(예컨대, 이동, 사이즈 조정 등)하는 것을 포함한다. 이것은 블록 200으로 나타난다. 다른 실시형태에 있어서, 트리거는 대향하는 가장 근접한 이웃 오브젝트로부터 등거리에 있는 오브젝트와 상호작용하는 것을 포함한다. 이것은 블록 202로 나타난다.
오브젝트가 그 센터 또는 엣지가 디스플레이 센터와 얼라인되는 것이 트리거라면, 시스템(120)은 센터 얼라인먼트 가이드를 생성한다. 이것은 블록 204와 206으로 나타난다. 한편, 사용자가, 대향하는 가장 근접한 이웃과 등거리에 있는 오브젝트와 상호작용하고 있는 것이 트리거라면, 시스템(120)은 센터 선 인디케이터 및 등거리 인디케이터를 표시한다. 이것은 블록 204, 208 및 210으로 나타난다. 이 동작은 사용자가 트리거링 입력을 제공하고 있다면 계속된다. 이것은 블록 212로 나타난다.
도 4a 내지 도 4o는 다수의 상이한 예들을 보여준다. 이들 도면에 있어서, 사용자 인터페이스 디스플레이(예컨대, 슬라이드)(214)는, 사용자가 오브젝트(216)를 작성하였고, 이 오브젝트와 상호작용하고 있는 것, 예컨대 오브젝트를 이동, 오브젝트의 사이즈를 조정 등을 하는 것을 보여준다. 도 4a에서는, 사용자가 오브젝트(216)의 센터가 사용자 인터페이스 디스플레이(예컨대, 슬라이드)의 센터(218)와 얼라인되도록 오브젝트(216)를 이동시킨 것을 볼 수 있다. 그 경우에, 시스템(120)은 가이드(220, 222)를 생성한다. 일 실시형태에 있어서, 가이드(220, 222)는 오브젝트의 경계 박스의 엣지로 또는 슬라이드의 엣지로, 어느 쪽이든 더 긴 쪽으로 연장된다. 물론, 이것은 일례일 뿐이다.
도 4b는 오브젝트(216)의 센터가 슬라이드(214)의 수직 센터와 얼라인되도록 사용자가 오브젝트(216)를 이동시킨 다른 예이다. 그러나, 오브젝트는 슬라이드(214)의 수평 센터와 얼라인되지 않는다. 그 경우에, 시스템(120)은 오브젝트(216)의 센터가 슬라이드(214)의 수직 센터와 얼라인되는 것을 보여주는 수평 가이드(222)만 생성한다.
도 4c는 슬라이드(214)의 다른 실시형태를 보여준다. 도 4c에 도시한 실시형태에서는, 사용자가, 오브젝트(216)의 엣지가 슬라이드(214)의 수평 센터와 얼라인되도록 오브젝트(216)를 이동시켰다. 이에, 시스템(120)은 이것을 나타내는 수직 가이드(220)를 생성한다.
도 4d는 복수의 오브젝트가 얼라인되는 슬라이드(214)의 실시형태를 보여준다. 오브젝트(116)는 센터가 슬라이드(214)의 수평 센터와 얼라인되고 오브젝트(217)는 엣지가 슬라이드(214)의 센터와 얼라인되는 것을 볼 수 있다. 이에, 시스템(120)은 이것을 나타내는 가이드(220)를 생성한다. 도 4e는 양 오브젝트(216)가 슬라이드(214)의 수평 센터와 얼라인되는 센터를 갖는 점을 제외하면 도 4d와 같다. 이에, 가이드(220)가 시스템(120)에 의해 작성된다.
도 4f 내지 도 4p는 오브젝트들이 슬라이드(214)의 몇몇 부분으로부터 등거리에 있는 것을 나타내는 가이드를 시스템(120)이 생성하는 예를 보여준다. 먼저, 그러나, 이러한 가이드를 생성하기 위한 하나의 트리거는, 슬라이드(214)의 몇몇 부분에 대하여, 대향하는 가장 근접한 이웃으로부터 등거리에 있는 오브젝트와 사용자가 상호작용하고 있는 것이다는 점을 상기해야 한다. 가장 근접한 이웃을 식별하는 한 가지 방법은 오브젝트가 그 오브젝트로부터의 전체 4개의 방향(예컨대, 동쪽, 서쪽, 남쪽 및 북쪽)으로 그것의 윤곽을 따라 광을 투사하고 있다고 상정하는 것이다. 그 광을 수광하는 임의의 도형(shape)이 그 오브젝트의 가장 근접한 이웃 중 하나로 간주된다. 예를 들어, 도 4f는 오브젝트(226-240)를 가진 슬라이드(214)를 보여준다. 가장 근접한 이웃이 배치되어야 하는 오브젝트가 오브젝트(226)인 것으로 상정한다. 오브젝트(226)로부터 나오는 점선은 오브젝트(226)의 윤곽에 걸쳐서 전체 4개의 방향으로 방사되는 광을 표현한다. 오브젝트(228-238) 모두에 광의 일부가 부딪히는 것을 볼 수 있다. 즉, 이들 오브젝트 전부는 비차폐적으로 오브젝트(226)의 표면에 노출되는 표면을 갖는다. 그러나, 오브젝트(240)는 오브젝트(226)에 대해 이런 식으로 배열되지 않는다. 따라서, 오브젝트(228-238) 전체는 오브젝트(226)의 가장 근접한 이웃으로 간주되지만, 오브젝트(240)는 아니다. 물론, 이것은 시스템(120)의 기능을 트리거링하기 위해 가장 근접한 이웃을 결정하는 방법의 일례일 뿐이다.
이것을 이해하면, 도 4g는 가이드(220)가 나타내는 바와 같이, 오브젝트(216, 217)가 슬라이드(214)의 수평 센터의 양측 상에서 그 수평 센터로부터 등거리에 있는 사용자 인터페이스 디스플레이(214)의 일 실시형태를 보여준다. 시스템(120)은 따라서 2개의 추가 가이드선(242, 244)과 함께 거리 화살표(246, 248)도 표시한다.
도 4h는 도 4g와 유사하며, 같은 아아템에는 동일하게 번호가 부여된다. 그런데, 도 4h는 오브젝트(216, 217)가 다른 오브젝트(250) 내에 있더라도 가이드를 생성한다.
도 4i 내지 도 4k는 시스템(120)이 등거리 가이드를 생성하지 않는 경우의 실시형태이다. 이들 도면 각각에서는, 수직 가이드(220)가 시스템(120)에 의해 표시되지는 않지만, 설명의 편의를 위해 도시되는 것임을 알아야 할 것이다. 도 4i에 있어서, 도형들이 가장 근접한 이웃들이 아니기 때문에 등거리 가이드는 표시되지 않는다. 즉, 오브젝트(216)로부터 4개의 전체 방향(예컨대, 동쪽, 서쪽, 남쪽, 북쪽)으로 출사되는 광이 오브젝트(217)에 부딪히지 않는다. 도 4j에서도, 도형들은 가장 근접한 이웃들이 아닌데, 오브젝트(217)의 외표면이 더 이상 오브젝트(216)의 외표면에 노출되지 않기 때문이다. 도 4k에서는, 오브젝트(216, 217)가 센터 선으로부터 등거리에 있지 않기 때문에 등거리 가이드가 생성되지 않는다.
도 4l은 오브젝트(216, 217)가 가장 근접한 이웃들인 예를 보여주며, 이들 오브젝트는 가이드(222)가 나타내는 바와 같이, 슬라이드(214)의 수직 센터의 양측 상에서 그 수직 센터로부터 균등하게 이격되어 있다. 등거리 인디케이터는, 선(220) 대신에 선(222)에 대해 표시되는 점을 제외하면, 도 4g에 도시하는 인디케이터와 같은 것임을 확인할 수 있다.
도 4m 내지 도 4o는 다중 얼라인먼트를 위한 등거리 간격의 예들을 보여준다. 도 4m의 경우에는, 오브젝트(216, 217, 254) 전부가 등거리 간격 및 가장 근접한 이웃 트리거를 충족함을 볼 수 있다. 그래서, 시스템(120)은 등거리 가이드를 작성하되, 가이드(244)가 양 오브젝트(217, 254)의 엣지에 닿도록 가이드(244)를 연장시킨다.
도 4n은 도 4m과 유사하며, 같은 아아템에는 동일하게 번호가 부여된다. 그러나, 도 4n은 가이드(222)가 나타내는 바와 같이, 오브젝트(216, 217, 254)가 슬라이드(214)의 수직 센터로부터 등거리에 있음을 보여준다. 이에, 등거리 가이드가 그에 따라 표시된다.
도 4o는 시스템(120)에 의해 생성된 가이드가 다른 시스템에 의해 생성되는 가이드와 충돌할 수도 있는 예를 보여준다. 예를 들면, 가이드 생성 시스템(114)은 오브젝트들이 슬라이드(214) 상에 있는 경우와 상관 없이, 그 오브젝트들이 서로 균등하게 이격되어 있다면, 사용자(106)에게 표시되는 등거리 가이드를 포함하는 경우가 있을 수 있다. 그러나, 2개의 오브젝트가 센터 선으로부터 마찬가지로 균등하게 이격되어 있는 경우의 시나리오도 있을 수 있다. 도 4o에 도시하는 실시형태에 있어서, 예컨대 사용자가 오브젝트(256)와 상호작용하고 있다고 상정한다. 오브젝트(256, 258)는 가이드(220)가 나타내는 바와 같이, 슬라이드(214)의 수평 센터로부터 등거리에 있고 그 센터 선에 대해 서로 대향하는, 가장 근접한 이웃들임을 볼 수 있다. 그러나, 오브젝트들(256, 258, 260)은 서로로부터 또한 등거리에 있다. 이 경우에, 시스템(120)은 전술한 등거리 가이드의 서브세트만 표시할 수 있다. 예를 들면, 가이드 생성 시스템(114)는 오브젝트들(256, 258, 260)이 서로로부터 또한 균등하게 이격되어 있다는 것을 사용자(106)에게 나타내는 등거리 가이드(262, 264, 266, 268, 270, 272)의 세트를 생성할 수 있다. 그런데, 시스템은 오브젝트(256, 258)가 또한 슬라이드(214)의 수평 센터로부터 등거리에 있다는 것을 나타내는 가이드(220)도 생성할 수 있다. 물론, 이것은 일례일 뿐이며, 충돌하는 가이드들 또는 복수의 가이드들 간에 충돌을 해결하는 다른 방법도 이용될 수 있다. 충돌 해결은 미리 정해진 우선순위를 이용하여, 충돌 해결 룰을 이용하여, 직관적으로(heuristically), 또는 기타 방식으로 행해질 수 있다.
도 5는 디스플레이 얼라인 시스템(120)이 오브젝트를, 슬라이드(214)의 센터 대신에 마진에 얼라인하는 가이드를 표시하는 경우에 디스플레이 얼라인 시스템(120)의 동작의 일 실시형태를 예시하는 흐름도이다. 도 5에 도시하는 실시형태에 있어서, 트리거 검출 시스템(126)은 먼저, 슬라이드의 마진에 대해 오브젝트가 얼라인되는 것을 사용자(106)에게 보여주는 가이드를 표시하기 위한 사용자 입력 트리거를 수신한다. 이것이 도 5에서 블록 274로 나타난다.
일례로서, 사용자가 제1 오브젝트와 상호작용하고 있다고 상정한다. 그런 다음 트리거 검출 시스템(126)은, 제2 오브젝트가 적어도 제1 오브젝트의 수평면에 닿는 것과, 2개의 오브젝트가 대향하는 가장 근접한 수직 슬라이드 엣지를 갖는 것과, 오브젝트로부터 그것의 가장 근접한 수직 슬라이드 엣지까지의 수평 거리가 동일한 것을 검출한다. 이것은 블록 278과 280으로 나타난다. 도 5에 도시하는 실시형태에서는, 또한 트리거 검출 시스템(126)이, 제1 오브젝트와 그것에 가장 근접한 수직 슬라이드 엣지 사이에 있는, 양 오브젝트의 높이에 걸쳐진 영역에 다른 오브젝트가 없음을 검출하는 것이 상정된다. 이것은 블록 282로 나타난다. 또한, 트리거 검출 시스템(126)이, 제2 오브젝트와 그것에 가장 근접한 수직 슬라이드 엣지 사이에 있는, 양 오브젝트의 높이에 걸쳐진 영역에 오브젝트가 없음을 검출하는 것이 상정된다. 이것은 블록 284로 나타난다. 이들 각각이 참(true)이라면, 시스템(120)은 오브젝트를 슬라이드의 마진에 얼라인하는 얼라인먼트 가이드를 표시한다. 이것은 블록 286으로 나타난다. 이하에서는, 슬라이드(214)의 수평 마진에 얼라인하는 여러가지 예에 대해 더 상세하게 설명한다.
도 5의 블록 274에서는, 또한 트리거 검출 시스템(126)이, 사용자 입력이 수직 마진 얼라인먼트 가이드의 표시를 트리거하고 있다고 검출한다. 예를 들어, 트리거 검출 시스템(126)은 제2 오브젝트가 적어도 제1 오브젝트의 수직면에 닿는 것을 검출할 수 있다. 이것은 블록 288로 나타난다. 또한, 오브젝트가 대향하는 가장 근접한 수평 슬라이드 엣지를 갖는 것과, 오브젝트로부터 그것의 가장 근접한 수평 슬라이드 엣지까지의 거리가 동일한 것을 검출할 수도 있다. 이것은 블록 290과 292로 나타난다. 또한, 시스템(126)은, 제1 오브젝트와 그것에 가장 근접한 수평 슬라이드 엣지 사이에 있는, 양 오브젝트의 높이에 걸쳐진 영역에 다른 오브젝트가 없음을 검출할 수 있다. 이것은 블록 294로 나타난다. 또한, 검출 시스템(126)은, 제2 오브젝트와 그것에 가장 근접한 수평 슬라이드 엣지 사이에 있는, 양 오브젝트의 높이에 걸쳐진 영역에도 다른 오브젝트가 없음을 검출할 수 있다. 이것은 블록 296으로 나타난다.
이들 모두가 참이라면, 시스템(120)은 수평 슬라이드 엣지에 대해 오브젝트를 얼라인하기 위한 얼라이먼트 가이드를 표시한다. 이 프로세싱은 사용자가 더 이상 트리거링 입력을 제공하지 않을 때까지 계속된다. 이것은 블록 298로 나타난다. 이하에서는, 수평 슬라이드에 얼라인하는 여러가지 예에 대해 설명한다.
도 5a는 수직 마진 얼라인먼트 가이드(290, 292)가 표시되는 예를 보여준다. 오브젝트(216, 217)가 슬라이드(214)의 수직 마진(또는 엣지)로부터 균등하게 이격되어 있음을 수직 얼라인먼트 가이드(290, 292)가 나타내는 것을 볼 수 있다. 가이드(290)는 슬라이드 엣지(294)에 수직인 수직 가이드(298)와 함께, 가이드(298)에 수직인 화살표(300)를 포함한다. 가이드(292)는 수직 가이드(302)와 화살표(304)를 포함한다.
도 5c 내지 도 5e는 수직 슬라이드 엣지(294, 296)에 얼라인하기 위한 트리거가 어떻게 검출되는지의 예를 보여준다. 도 5c에서는, 이동중인 오브젝트(오브젝트(216))의 수평면이 점선(308, 310)에 의해 정의되는 것을 볼 수 있다. 오브젝트(216, 217)와, 이들 각각의 가장 근접한 수직 슬라이드 엣지(294, 296) 사이의 영역은 다른 오브젝트가 없어야 하며, 각각 영역(312, 314)로 나타난다.
도 5d는 도 5c와 유사하며, 같은 아아템에는 동일하게 번호가 부여된다. 그러나, 도 5d에서는, 이동중인 오브젝트의 수평면이 점선(208, 210)으로 정의되는 것과, 오브젝트가 없어야 하는 영역이 이제 점선(310, 313, 315)(오브젝트(216)의 경우)과 점선(310, 313, 316)(오브젝트(217)의 경우)에 의해 정의되는 것을 볼 수 있다. 그 영역은 양 오브젝트의 높이에 걸쳐 있다.
도 5e는 도 5d와 유사하며, 같은 아아템에는 동일하게 번호가 부여된다. 그러나, 도 5e에서는, 이제 오브젝트(216)가 오브젝트(217)의 수평면에 거의 닿는 것을 볼 수 있다. 이에, 이것은 오브젝트(217)가 적어도 오브젝트(216)의 수평면에 닿기 때문에, 아직 트리거이다. 그러나, 오브젝트(217)가 수직 방향으로 약간 더 높게 이동하였다면, 트리거는 더 이상 존재하지 않게 된다.
도 5f 및 도 5g는 슬라이드(214)의 수평 지향 슬라이드 엣지(318, 320)에 대한 얼라이언트를 보여준다는 점을 제외하면, 도 5c 및 도 5e와 같다. 이에, 도 5f에서 다른 오브젝트가 없어야 하는, 오브젝트(216, 217) 사이의 영역은 선(322, 324, 326)(오브젝트(216)의 경우)과 선(322, 324, 328)(오브젝트(217)의 경우)에 의해 정의된다. 그러나, 도 5g에서는, 그 영역이 선(324, 326, 330)(오브젝트(216)의 경우)과 선(324, 328, 330)(오브젝트(217)의 경우)에 의해 정의된다.
도 5h는 모든 트리거 조건이 충족되어, 오브젝트(216, 217)가 이들의 대응하는 수직 슬라이드 엣지(294, 296)로부터 등거리에 있음을 사용자(106)가 식별하게 하는 가이드를 시스템(120)이 표시하는 경우에, 슬라이드(214)의 일 실시형태를 보여준다. 동일한 것이 도 5i의 슬라이드(214)에도 해당된다. 오브젝트(334)가 오브젝트(216, 217) 사이에 배치되더라도, 모든 트리거 조건은 여전이 충족된다.
그러나, 도 5j에서는, 트리거 조건이 충족되지 않는다. 이것은, 오브젝트(326)가 오브젝트(216)와 그것의 수직 슬라이드 엣지(294) 사이에 개재되어 있기 때문이다. 이에, 시스템(120)은 가이드를 생성하지 않는다. 도 5k에서는, 오브젝트(326)가 오브젝트(216)와 그것의 대응하는 슬라이드 엣지(294) 사이에 있는 영역을 일부만 막고 있다. 그러나, 트리거는 생성되지 않는다. 도 5l에서도, 오브젝트(326)가 오브젝트(216)의 수평면 내에서, 오브젝트(217)와 그것의 대응하는 수직 슬라이드 엣지(296) 사이에 있는 영역을 일부 막고 있다. 이에, 트리거가 충족되지 않는다.
도 5l의 경우와 같이, 도 5m은 트리거 조건이 충족되지 않는 시나리오를 보여준다. 이것은, 사용자가 상호작용하고 있는 오브젝트(216)와 동일한 수평면 내에 오브젝트(217)가 없기 때문이다(또는 적어도 동일한 수평면에 닿지 않기 때문이다).
마찬가지로, 도 5n에서도, 트리거 조건이 충족되지 않는다. 이것은, 오브젝트(216, 217)와 이들의 대응하는 슬라이드 엣지(294, 296) 사이의 거리가 같지 않기 때문이다.
도 5o는 3개 이상의 오브젝트(오브젝트(216, 217, 328))가 수직 슬라이드 엣지(294, 296)와 얼라인하는 것을 보여준다. 이에, 선(302)이 이것을 나타낸다. 그 선은 가장 밑에 있는 오브젝트(328) 아래의 위치에서부터 가장 위에 있는 오브젝트(217) 위의 위치까지 그려진다. 도 5p는 수평 슬라이드 엣지(318, 320)에 대한 얼라인먼트 가이드를 표시한다는 점을 제외하면, 도 5o와 유사하다.
도 6은 디스플레이(214) 상에서 한 오브젝트의 센터가 다른 오브젝트의 엣지와 얼라인되는 것을 사용자(106)에게 나타내는 가이드를 표시할 때에 센터-엣지 가이드 시스템(122)의 동작의 일 실시형태를 예시하는 흐름도이다. 먼저, 사용자(106)가 디스플레이를 생성하기 위한 컨텐츠를 제공하였다고 상정한다. 이것이 도 6에서 블록 350으로 나타난다.
그런 다음, 트리거 검출 시스템(126)은 사용자가 얼라인먼트 가이드를 생성하도록 센터-엣지 얼라이언트 시스템(122)을 트리거하는 입력을 제공하였음을 검출한다. 이것은 블록 352로 나타난다.
일 실시형태에 있어서, 예를 들어, 편집중인 오브젝트(예컨대, 오브젝트(216))는 다른 오브젝트와 센터-엣지 얼라인먼트를 갖는다. 즉, 그것의 센터 또는 엣지가 다른 오브젝트의 센터 또는 엣지와 얼라인된다. 이것은 블록 354로 나타난다. 트리거는 블록 356으로 나타내는 바와 같이, 다른 입력일 수도 있다. 트리거가 수신되면, 시스템(126)은 센터-엣지 얼라인먼트 가이드를 표시한다. 이것은 블록 358로 나타난다.
도 6a는 이것의 일 실시형태를 보여준다. 도 6a에 있어서 사용자 인터페이스 디스플레이(214) 상에서, 오브젝트(360)가 사용자(106)에 의해 상호작용되고 있는 것을 볼 수 있다. 디스플레이(214) 상에서 오브젝트(360)의 센터가 다른 오브젝트(362)의 엣지와 얼라인될 때에, 이것은 시스템(122)을 얼라인먼트 가이드(364)를 표시하도록 트리거한다. 일 실시형태에 있어서, 가이드(364)는 오브젝트(360-362) 간의 상대 거리와 관계 없이, 그리고 이들 오브제트가 슬라이드 경계 바깥에 위치하더라도, 생성된다. 얼라인먼트 가이드(364)는 예시적으로, 오브젝트(360, 362) 사이의 영역을 횡단하고 각각의 오브젝트(360, 362)를 약간 넘어 연장된다.
도 6b는 2개의 오브젝트(366, 368)가 센터-엣지 얼라인먼트를 가져서, 오브젝트 중 하나(이 경우에, 오브젝트(366))가 다른 오브젝트(이 경우에, 오브젝트(368))의 경계 안에 위치하더라도, 센터-엣지 얼라인먼트 가이드(364)가 또한 생성될 수 있음을 예시하고 있다.
도 6c는 2개의 오브젝트(370, 372)가 2개의 상이한 센터-엣지 얼라인먼트를 갖는 것을 보여준다. 일 실시형태에 있어서, 오브젝트(370)의 센터는 오브젝트(372)의 엣지와 얼라인된다. 이 경우에, 시스템(122)은 얼라인먼트 가이드(374)를 표시한다. 그러나, 오브젝트(372)의 센터는 오브젝트(370)의 엣지와도 얼라인된다. 이에, 시스템(122)은 얼라인먼트 가이드(376)도 표시한다.
도 6d는 다수의 상이한 오브젝트들이 센터-엣지 얼라인먼트에 관한 요건을 모두 충족하는 다른 실시형태를 보여준다. 오브젝트(378, 380, 382)는 모두 센터-엣지 얼라인먼트 트리거를 충족한다. 이에, 가이드(384)는 모두 3개의 오브젝트에 대해 표시된다.
도 7은 오브젝트를 상이한 슬라이드들 사이에 얼라인할 때에 사용자(106)를 지원하는 가이드를 생성할 때에 트랜지션 가이드 시스템(124)의 동작의 일 실시형태를 예시하는 흐름도이다. 먼저, 사용자가 다수의 상이한 사용자 인터페이스 디스플레이(예컨대, 다수의 상이한 슬라이드) 상에 컨텐츠를 작성하였다고 상정한다. 그런 다음, 트리거 검출 시스템(126)은 트랜지션 가이드를 생성하는 트랜지션 가이드 시스템(124)를 트리거링하는 사용자 입력을 수신한다. 이것이 도 7에서 블록 390으로 나타난다. 한 경우에, 사용자(106)는 단순히, 시각적 컨텐츠 작성 시스템(100)에 의해 생성된 사용자 인터페이스 디스플레이로부터 트랜지션 가이드 탭을 선택할 수 있다. 탭 또는 기타 사용자 인터페이스 메커니즘의 선택이 블록 392로 나타난다. 사용자 입력은 다른 방식으로도 트랜지션 가이드 시스템(124)를 트리거할 수 있으며, 이것은 블록 394로 나타난다.
그런 다음, 시스템(114)은 제1 디스플레이 및 제2 디스플레이를 나타내는 사용자 입력을 수신한다. 즉, 사용자(106)는 오리지널 슬라이드와 제2 슬라이드의 표시를 제공하는데, 여기서 제2 슬라이드 상의 오브젝트는 오리지널 슬라이드 상의 오브젝트와 얼라인되어야 한다. 이것이 도 7에서 블록 396으로 나타난다. 일 실시형태에 있어서, (제2 슬라이드 상의 오브젝트가 얼라인되어야 하는)제1 또는 오리지널 슬라이드는 슬라이드 프레젠테이션에서 이전 슬라이드이다. 제2 슬라이드(가이드가 표시되고 오브젝트가 사용자(106)에 의해 이동해야 하는 것)는 작성중인 현재 슬라이드이다. 이것은 블록 398로 나타난다. 그러나, 사용자가 다른 제1 및 제2 디스플레이를 역시 식별하며, 이것은 블록 400으로 나타난다. 2개의 슬라이드가 사용자(106)에 의해 식별되면, 트랜지션 가이드 시스템(124)은 제1 디스플레이의 언더레이(underlay)와 제2 디스플레이의 오버레이(overlay)를 생성한다. 즉, 사용자가 오브젝트를 이동할 예정인 경우에는 제1 디스플레이는 제2 디스플레이 밑에 표시된다. 이것이 도 7에서 블록 402로 나타난다.
이것은 각종 상이한 방식으로 행해질 수 있다. 예를 들어, 일 실시형태에 있어서, 언더레이는 제2 슬라이드로 이행될 제1 슬라이드의 반투명 디스플레이이다. 이러한 실시형태에 있어서, 시스템(100)은 사용자가 언더레이 상에서 컨텐츠를 변경하는 것을 허용하지 않는다. 그러나, 전술한 모든 가이드 및 더러 다른 가이드가, 오버레이 디스플레이 상의 오브젝트뿐만 아니라 언더레이 디스플레이 상의 모든 오브젝트에 대해서도 표시된다. 언더레이와 오버레이 양쪽 상의 오브젝트에 대해 가이드 생성을 구현하는 것이 도 7에서 블록 404로 나타난다.
따라서, 일 실시형태에 있어서, 일반적인 슬라이드 캔버스를 보는 것 대신에, 사용자(106)는 현재 슬라이드로 이행할 슬라이드의 실질적으로 투명한 언더레이를 본다. 디스플레이는 또한 바뀌지 않는 선택된 현재의 슬라이드에 대한 섬네일(thumbnail)을 포함할 수도 있다. 언더레이는 이전 슬라이드(슬라이드 상의 오브젝트뿐만 아니라 슬라이드 배경 및 디자인도 포함함)와 똑같이 보이나, 그것은 85% 투명도로 표시된다. 언더레이는 현재 슬라이드 상의 오브젝트 밑에, 그러나 현재 슬라이드 배경 위에 나타나, 슬라이드 배경이 투명한 언더레이를 관통해 보여질 수 있다. 물론, 이것은 언더레이와 오버레이를 표시하는 일 실시형태일 뿐이다. 그것을 표시하는 다른 방법도 이용될 수 있다.
도 7a는 이러한 디스플레이(214)의 일례를 보여준다. 사용자의 현재 슬라이드(214)가 타이틀(406)과 그림(408)을 가지고 있다는 것을 볼 수 있다. 사용자의 이전 슬라이드(언더레이로 보임)는 텍스트로 된 타이틀(410)과 플레이스 홀더(place holder)(412)를 갖는다. 이에, 사용자(106)는 그림(408)의 정상부와 바닥부를 이전 슬라이드 상의 텍스트(412)와 얼라인하여 얼라이언트 가이드를 이용해 그 그림을 슬라이드 상의 중심에 둘 수 있다. 즉, 얼라인먼트 가이드(414)는 사용자(106)가 그림(408)을 현재 슬라이드 상의 중심에 두게 할 수 있고, 가이드(416, 418)는 사용자(106)가 그림(408)의 정상부 및 바닥부를 언더레이 상의 텍스트 부분(412)의 정상부 및 바닥부와 얼라인하게 할 수 있다.
도 7b는 사용자 인터페이스 디스플레이(420)의 또 다른 실시형태를 보여준다. 디스플레이(420)는 예시적으로 언더레이 슬라이드(422) 및 오버레이 슬라이드(424)의 섬네일을 구비한다. 캔버스 부분(426)에서, 오버레이가 타이틀(428)과 텍스트(430)를 갖는 것을 볼 수 있다. 또한 언더레이는 타이틀 부분(432)과 그림(434)을 갖는다. 따라서, 사용자(106)는 타이틀 부분들을 서로 얼라인할 수 있고, 텍스트 부분(430)의 정상부 엣지를 언더레이 상의 그림(434)과 대체로 얼라인할 수 있다.
또한, 본 가이드 생성은 다수의 상이한 타입의 오브젝트에도 적용될 수 있음을 알아야 할 것이다. 예를 들어, 이것은 테이블, 차트, 아트, 도형(shape), 텍스트 박스, 그룹 도형, 다수 선택된 오브젝트, 플레이스 홀더, 그림, 클립 아트 등에 적용될 수 있다.
본 설명은 언급한 프로세서와 서버를 갖는다. 일 실시형태에 있어서, 프로세서와 서버는 별도로 도시하지 않는, 연관된 메모리 및 타이밍 회로를 갖는 컴퓨터 프로세서를 포함한다. 이들은 이들이 속하는 시스템 또는 디바이스의 기능적 부분이며, 그 시스템 내의 다른 컴포넌트나 아이템에 의해 활성화되며 그 컴포넌트나 아이템의 기능을 용이하게 한다.
또한, 다수의 사용자 인터페이스 디스플레이에 대해서도 설명하였다. 이들은 각종 상이한 형태를 취할 수 있으며, 배치되는 각종 상이한 사용자 작동 가능한 입력 메커니즘을 구비할 수 있다. 예를 들어, 사용자 작동 가능한 입력 메커니즘은 텍스트 박스, 체크 박스, 아이콘, 링크, 드롭다운 메뉴, 검색 박스 등일 수 있다. 이들은 또한 각종 상이한 방식으로 활성화될 수 있다. 예를 들어, 이들은 포인트 및 클릭 디바이스(예컨대, 트랙 볼 또는 마우스)를 이용해 활성화될 수 있다. 이들은 하드웨어 버튼, 스위치, 조이스틱 또는 키보드, 섬(thumb) 스위치 또는 섬(thumb) 패드 등을 이용해 활성화될 수 있다. 이들은 또한 가상 키보드 또는 기타 가상 액츄에이터를 이용해 활성될 수도 있다. 또한, 이들이 표시되는 화면이 터치 감응 화면인 경우에, 이들은 터치 제스처를 이용해 활성화될 수 있다. 또한, 이들을 표시하는 디바이스가 음성 인식 컴포넌트인 경우에, 이들은 발화 커맨드(speech command)를 이용해 활성화될 수 있다.
다수의 데이터 스토어에 대해서도 설명하였다. 이들은 각각 복수의 데이터 스토어로 분할될 수 있음을 알아야 할 것이다. 이들 모두가 이들에 액세스하는 시스템에 대해 국소적일 수도, 이들 모두가 원격적일 수도, 또는 일부는 국소적이고 다른 일부는 원격적일 수도 있다. 이들 구성 전부가 본 명세서에서 고려된다.
또, 도면에서는 각 블록에 속하는 기능을 가진 다수의 블록을 보여준다. 적은 수의 블록은 그 기능이 적은 수의 컴포넌트에 의해 수행되도록 이용될 수 있다는 것을 알아야 할 것이다. 또한 더 많은 수의 블록은 더 많은 컴포넌트들 사이에 분산된 기능과 함께 이용될 수 있다.
도 8은 시스템의 엘리먼트가 클라우드 컴퓨팅 아키텍처(500)에 배치되어 있다는 점을 제외하면, 도 1에 도시한 시스템(100)의 블록도이다. 클라우드 컴퓨팅은 계산, 소프트웨어, 데이터 액세스, 및 서비스를 배포하는 시스템의 물리적 위치 또는 구성에 관한 최종 사용자의 지식을 필요로 하지 않는 저장 서비스를 제공한다. 다양한 실시형태에 있어서, 클라우드 컴퓨팅은 적절한 프로토콜을 이용하여, 인터넷 등의 원거리 네트워크(wide area network)를 통해 서비스를 배포한다. 예컨대, 클라우드 컴퓨팅 프로바이더는 근거리 네트워크를 통해 애플리케이션을 배포하고 이들 애플리케이션은 웹 브라우저 또는 기타 컴퓨팅 컴포넌트를 통해 액세스될 수 있다. 시스템(100)의 소프트웨어 또는 컴포넌트뿐만 아니라 대응하는 데이터도 원격 위치에서 서버 상에 저장될 수 있다. 클라우드 컴퓨팅 환경에서의 컴퓨팅 리소스는 원격 데이터 센터 위치에 통합 배치될 수도 있고 분산 배치될 수도 있다. 클라우드 컴퓨팅 인프라스트럭처는 사용자에 대해 단일 액세스 포인트로서 보이더라도, 공유 데이터 센터를 통해 서비스를 배포할 수 있다. 이에, 여기에서 설명하는 컴포넌트와 기능은 클라우드 컴퓨팅 아키텍처를 이용하여 원격 위치에서 서비스 프로바이더로부터 제공될 수 있다. 다르게는, 이들은 통상의 서버로부터 제공될 수도 있고, 또는 클라이언트 디바이스 상에 직접 또는 다른 방식으로 설치될 수도 있다.
여기에서의 설명은 공용(public) 클라우드 컴퓨팅 및 사설(private) 클라우드 컴퓨팅 둘다를 포함하는 것이 의도된다. 클라우드 컴퓨팅(공용 및 사설 둘다)은 리소스의 실질적으로 끊김없는 풀링(seamless pooling)을 제공할 뿐만 아니라, 기저 하드웨어 인프라스트럭처를 관리 및 구성해야 하는 요구를 감소시킬 수 있다.
공용 클라우드는 벤더(vendor)에 의해 관리되며, 통상 동일한 인프라스트럭처를 이용해 다수의 소비자를 지원한다. 또한, 사설 클라우드에 대립되는 공용 클라우드는 최종 사용자를 하드웨어 관리로부터 자유롭게 할 수 있다. 사설 클라우드는 조직체(organization) 자체에서 관리될 수 있으며, 인프라스트럭처는 통상 다른 조직체와 공유되지 않는다. 조직체에서도 하드웨어를, 예컨대 설치 및 수리 등, 어느 한도까지 관리한다.
도 8에 도시하는 실시형태에서는, 일부 아이템이 도 1에 도시한 것과 유사하며, 이들에는 동일하게 번호가 부여된다. 도 8은 클라우드(502)(공용, 사설, 또는 일부는 공용이고 다른 일부는 사설인 조합) 내에 배치되어 있는 것을 구체적으로 보여준다. 따라서, 사용자(106)는 사용자 디바이스(504)를 이용하여 클라우드(502)를 통해 시스템에 액세스한다.
또한 도 8은 클라우드 아키텍처의 다른 실시형태도 도시한다. 도 8은, 시스템(100)의 일부 엘리먼트는 클라우드(502) 내에 배치되어 있고 다른 것들은 배치되지 않는다는 것도 고려되는 것을 보여주고 있다. 예를 들어, 데이터 스토어(505)는 클라우드(502) 외부에 배치되고 클라우드(502)를 통해 액세스될 수 있다. 다른 실시형태에서는, 가이드 생성 시스템도 클라우드(502) 외부에 있다. 어디에 배치되는냐에 관계 없이, 이들은 네트워크(원거리 네트워크 또는 근거리 네트워크 중 하나)를 통해, 디바이스(504)에 의해 액세스될 수 있거나, 서비스에 의해 원격지에서 호스팅될 수 있거나, 클라우드를 통해 서비스로서 제공될 수도 또는 클라우드 내에 상주하는 접속 서비스에 의해 액세스될 수도 있다. 이들 아키텍처 전부가 본 명세서에서 고려된다.
또한, 시스템(100), 또는 그것의 일부는 각종 상이한 디바이스 상에 배치될 수 있다는 것도 알아야 할 것이다. 이들 디바이스의 일부는, 서버, 데스크탑 컴퓨터, 랩탑 컴퓨터, 태블릿 컴퓨터, 또는 팜탑 컴퓨터, 셀 폰, 스마트 폰, 멀티미디어 플레이어, 개인용 디지털 단말기(personal digital assistant) 등을 비롯한 기타 모바일 디바이스를 포함한다.
도 9는 본 시스템(또는 그것의 부분)이 배치될 수 있는 사용자 또는 클라이언트의 핸드헬드 디바이스(16)로서 이용될 수 있는 핸드헬드 또는 모바일 컴퓨팅 디바이스의 일 예시적인 실시형태의 간단한 블록도이다. 도 10 내지 도 13은 헬드헬드 또는 모바일 디바이스의 예이다.
도 9는, 시스템(100)의 컴포넌트를 실행할 수 있거나, 시스템(100)과 상호작용하거나, 또는 둘다를 행하는 클라이언트 디바이스(16)의 컴포넌트의 일반적 블록도를 제공한다. 디바이스(16)에서, 설치된 통신 링크(13)는 헬드헬드 디바이스가 다른 컴퓨팅 디바이스와 통신하게 하며, 일부 환경 하에서는, 예컨대 스캐닝에 의해 정보를 자동으로 수신하는 채널을 제공한다. 통신 링크(13)의 예는, 적외선 포트, 시리얼/USB 포트, 이더넷 포트 등의 케이블 네트워크 포트, 및 GPRS(General Packet Radio Service), LTE, HSPA, HSPA+과 기타 3G, 4G 무선 프로토콜, lXrtt, 및 네트워크에의 셀룰러 액세스를 제공하는데 이용되는 무선 서비스인 단문 메시지 서비스뿐만 아니라, 802.11과 802.11b(Wi-Fi) 프로토콜, 및 네트워크에 근거리 무선 접속을 제공하는 블루투스 프로토콜을 비롯한 하나 이상의 통신 프로토콜을 통해 통신을 허용하는 무선 네트워크 포트를 포함한다.
다른 실시형태에서는, 시큐어 디지털(SD) 카드 인터페이스(15)에 접속되는 분리식 SD 카드 상에 애플리케이션 또는 시스템이 수신된다. SD 카드 인터페이스(15)와 통신 링크(13)는 메모리(21)와 입출력(I/O) 컴포넌트(23)뿐만 아니라, 클록부(25)와 위치 시스템(27)에도 연결되는 버스(19)를 따라 프로세서(17)(도 1에서의 프로세서(108)를 포함할 수도 있음)와 통신한다.
일 실시형태에 있어서, I/O 컴포넌트(23)는 입력 및 출력 동작을 용이하기 하기 위해 제공된다. 디바이스(16)의 다양한 실시형태에 대한 I/O 컴포넌트(23)는 버튼, 터치 센서, 다중 터치 센서, 광학 또는 비디오 센서, 음성 센서, 터치 스크린, 근접 센서, 마이크, 경사 센서, 및 중력 스위치 등의 입력 컴포넌트와, 디스플레이 디바이스, 스피커, 및/또는 프린터 포트 등의 출력 컴포넌트를 포함할 수 있다. 다른 I/O 컴포넌트(23)도 이용될 수 있다.
클록부(25)는 예시적으로 시간과 날짜를 출력하는 실시간 클록 컴포넌트를 포함한다. 그것은 또한 예시적으로 프로세서(17)에 대해 타이밍 함수를 제공할 수 있다.
위치 시스템(27)은 예시적으로 디바이스(16)의 현재의 지리적 위치를 출력하는 컴포넌트를 포함한다. 이것은 예컨대, GPS(global positioning system) 수신기, LORAN 시스템, 데드 레코닝 시스템(dead reckoning system), 셀룰러 삼각측량 시스템, 또는 기타 포지셔닝 시스템을 포함할 수 있다. 또한 예컨대, 원하는 맵, 내비게이션 루트 및 기타 지리적 함수를 생성하는 매핑 소프트웨어 또는 내비게이션 소프트웨어도 포함할 수 있다.
메모리(21)는 운영체제(29), 네트워크 설정부(31), 애플리케이션(33), 애플리케이션 구성 설정부(35), 데이터 스토어(37), 통신 드라이버(39), 및 통신 구성 설정부(41)를 저장한다. 메모리(21)는 모든 타입의 유형적 휘발성 및 비휘발성 컴퓨터 판독 가능한 메모리 디바이스를 포함할 수 있다. 또한 컴퓨터 저장 매체(후술)도 포함할 수 있다. 메모리(21)는 컴퓨터 판독 가능한 명령어를 저장하며, 이 명령어는 프로세서(17)에 의해 실행될 때에, 프로세서로 하여금 명령어에 따라 컴퓨터 구현된 스텝 또는 함수를 수행하게 한다. 애플리케이션 또는 아이템은 예컨대 메모리(21)에 상주할 수 있다. 마찬가지로, 디바이스(16)는, 다양한 애플리케이션을 실행하거나 시스템(100)의 일부 또는 전부를 포함할 수 있는 컨텐츠 작성 시스템(24)을 구비할 수 있다. 프로세서(17)도 다른 컴포넌트에 의해 그 컴포넌트의 기능을 용이하게 하도록 작동될 수 있다.
네트워크 설정부(31)의 예는 프록시 정보, 인터넷 접속 정보, 및 매핑 등의 것을 포함한다. 애플리케이션 구성 설정부(35)는 특정 기업이나 사용자에 맞게 애플리케이션을 맞춤화하는 설정부를 포함한다. 통신 구성 설정부(41)는 다른 컴퓨터와 통신하기 위한 파라미터를 제공하며, GPRS 파라미터, SMS 파라미터, 접속 사용자명과 패스워드 등의 아이템을 포함한다.
애플리케이션(33)은, 운영체제(29)의 일부이거나 디바이스(16) 외부에서 호스팅될 수도 있지만, 디바이스(16) 상에 이전에 저장되었던 애플리케이션, 또는 사용 중에 설치되는 애플리케이션일 수 있다.
도 10은 디바이스(16)가 태블릿 컴퓨터(600)인 일 실시형태를 보여준다. 도 10에서, 사용자 인터페이스 디스플레이 화면(602)을 가진 컴퓨터(600)가 보여진다. 화면(602)은 터치 스크린(그래서 사용자의 손가락으로부터의 터치 제스처가 애플리케이션과의 상호작용에 이용될 수 있음)일 수도 또는 펜이나 스타일러스로부터 입력을 수신하는 펜 대응 인터페이스(pen-enabled interface)일 수도 있다. 또한 온스크린 가상 키보드를 이용할 수도 있다. 물론, 예컨대 무선 링크나 USB 포트 등의 적절한 부착 메커니즘을 통해 키보드 또는 기타 사용자 입력 디바이스에 부착될 수도 있다. 컴퓨터(600)는 예시적으로 음성 입력도 수신할 수 있다.
도 11과 도 12는 다른 것들도 사용될 수 있지만, 이용될 수 있는 디바이스(16)의 추가 예들을 제공한다. 도 11에서는, 디바이스(16)로서 피처 폰, 스마트 폰 또는 모바일 폰(45)이 제공된다. 폰(45)은 전화 번호를 다이얼링하기 위한 키패드 세트(45), 애플리케이션 이미지, 아이콘, 웹 페이지, 사진, 및 비디오를 표시할 수 있는 디스플레이(49), 및 디스플레이 상에 보이는 아이템을 선택하기 위한 제어 버튼(51)을 포함한다. 폰은 GPRS(General Packet Radio Service) 및 lXrtt 등의 셀룰러 폰 신호 및 SMS(Short Message Service) 신호를 수신하기 위한 안테나(53)를 포함한다. 일부 실시형태에 있어서, 폰(45)은 SD(Secure Digital) 카드(57)를 수용하기 위한 SD 카드 슬롯(55)도 포함한다.
도 12의 모바일 디바이스는 PDA(personal digital assistant)(59)나 멀티미디어 플레이어나 태블릿 컴퓨팅 디바이스 등이다(이하에서는 PDA(59)라고 함). PDA(59)는 화면 위에 스타일러스가 놓일 때에 스타일러스(63)(또는 사용자 손가락 등의 기타 포인터)의 위치를 감지하는 유도성 화면(inductive screen)(61)을 포함한다. 이에, 사용자는 화면 상에서 아이템을 선택하고 하이라이팅하며 이동시킬 뿐만 아니라, 그리기 및 쓰기도 할 수 있다. PDA(59)는, 디스플레이(61) 상에 표시되는 메뉴 옵션 또는 기타 디스플레이 옵션을 사용자가 스크롤할 수 있고, 디스플레이(61)와 접촉하는 일 없이 사용자가 애플리케이션을 변경할 수 있거나 사용자 입력 기능을 선택할 수 있게 하는 다수의 사용자 입력 키 또는 버튼도 포함한다. 도시하지는 않지만, PDA(59)는 다른 컴퓨터와의 무선 통신을 허용하는 내부 안테나 및 적외선 송수신기뿐만 아니라 다른 컴퓨팅 디바이스에 대한 하드웨어 접속을 허용하는 접속 포트를 포함할 수 있다. 이러한 하드웨어 접속은 통상, 시리얼 또는 USB 포트를 통해 다른 컴퓨터에 접속되는 크래들(cradle)을 이용해 행해진다. 이처럼, 이들 접속은 비네트워크(non-network) 접속이다. 일 실시형태에 있어서, 모바일 디바이스(59)는 SD 카드(69)를 수용하기 위한 SD 카드 슬롯(67)도 포함한다.
도 13은 폰이 스마트 폰(71)이라는 점을 제외하면, 도 11과 유사하다. 스마트 폰(71)은 아이콘이나 타일을 표시하는 터치 감응형 디스플레이(73) 또는 기타 사용자 입력 메커니즘(75)을 구비한다. 메커니즘(75)은, 애플리케이션을 실행, 전화 걸기, 데이터 전송 동작 등을 수행하도록 사용자에 의해 이용될 수 있다. 일반적으로, 스마트 폰(71)은 모바일 운영체제 상에 구축되며, 피처 폰보다 더욱 진보한 컴퓨팅 능력 및 접속성을 제공한다.
다른 형태의 디바이스(16)도 가능함을 알아야 한다.
도 14는 시스템(100) 또는 (예컨대) 그것의 부분이 배치될 수 있는 컴퓨팅 환경의 일 실시형태이다. 도 14를 참조하면, 일부 실시형태를 구현하기 위한 예시적인 시스템은 컴퓨터(810)의 형태로 된 범용 컴퓨팅 디바이스를 포함한다. 컴퓨터(810)의 컴포넌트는 프로세싱 유닛(820)(프로세서(108)를 포함할 수 있음), 시스템 메모리(830), 및 시스템 메모리를 비롯한 다양한 시스템 컴포넌트를 프로세싱 유닛(820)에 연결하는 시스템 버스(821)를 포함할 수 있으나, 이들에 한정되지는 않는다. 시스템 버스(821)는 메모리 버스나 메모리 컨트롤러, 주변장치 버스, 및 각종의 버스 아키텍처 중 임의의 것을 이용하는 로컬 버스를 포함하는 여러 타입의 버스 구조 중 임의의 것일 수 있다. 제한적이지 않은 예를 들면, 이러한 아키텍처는 ISA(Industry Standard Architecture) 버스, MCA(Micro Channel Architecture) 버스, EISA(Enhanced ISA) 버스, VESA(Video Electronics Standards Association) 로컬 버스, 및 메자닌(Mezzanine) 버스라고도 불리는 PCI(Peripheral Component Interconnect) 버스를 포함한다. 도 1에 대해 설명한 메모리 및 프로그램은 도 14의 대응하는 부분에 배치될 수 있다.
통상 컴퓨터(810)는 각종의 컴퓨터 판독 가능한 매체를 포함한다. 컴퓨터 판독 가능한 매체는 컴퓨터(810)에 의해 액세스될 수 있는 임의의 입수 가능한 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체 모두를 포함한다. 비제한적인 예를 들면, 컴퓨터 판독 가능한 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있다. 컴퓨터 저장 매체들은 상이하며, 변조된 데이터 신호 또는 반송파를 포함하지 않는다. 컴퓨터 저장 매체는 컴퓨터 판독 가능한 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터 등의 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체 모두를 비롯한 하드웨어 저장 매체를 포함한다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 기타 메모리 기술, CD-ROM, 디지털 다용도 디스크(DVD) 또는 기타 광학 디스크 스토리지, 자기 카세트, 자기 테이프, 자기 디스크 스토리지 또는 기타 자기 저장 디바이스, 또는 원하는 정보를 저장하는데 이용될 수 있고 컴퓨터(810)에 의해 액세스될 수 있는 그외 다른 매체를 포함한다. 통신 매체는 통상, 전송 메커니즘 내에 컴퓨터 판독 가능한 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터를 포함하며, 임의의 정보 전달 매체를 포함한다. "변조된 데이터 신호(modulated data signal)"란, 그 신호의 특색을 이루는 세트 중 하나 이상을 갖거나 그 신호 내에 정보를 인코딩하는 방식으로 변화된 신호를 의미한다. 비제한적인 예를 들면, 통신 매체는 유선 네트워크나 직접 유선 접속 등의 유선 매체, 음향(acoustic), RF, 적외선 및 기타 무선 매체 등의 무선 매체를 포함한다. 전술한 것들의 임의의 조합도 컴퓨터 판독 가능한 매체의 범주 내에 포함된다.
시스템 메모리(830)는 ROM(read only memory)(831)과 RAM(random access memory)(832) 등의 휘발성 및/또는 비휘발성 메모리의 형태로 컴퓨터 저장 매체를 포함한다. 예컨대, 시동중에, 컴퓨터(810) 내의 엘리먼트들 간의 정보 이동을 도와주는 기본 루틴을 포함하는 기본 입출력 시스템(833)(BIOS)이 통상 ROM(831)에 저장된다. RAM(832)은 통상 프로세싱 유닛(820)에 의해 즉시 액세스 가능하거나/가능하고 현재 작동중인 데이터 및/또는 프로그램 모듈을 포함한다. 비제한적인 예를 들면, 도 14는 운영체제(834), 애플리케이션 프로그램(835), 기타 프로그램 모듈(836), 및 프로그램 데이터(837)를 나타내고 있다.
컴퓨터(810)는 다른 분리형/비분리형, 휘발성/비휘발성 컴퓨터 저장 매체를 포함할 수도 있다. 예시적으로만, 도 14는 비분리형, 비휘발성 자기 매체에 대해 판독 또는 기록하는 하드 디스크 드라이브(841)와, 분리형, 비휘발성 자기 디스크(852)에 대해서 판독 또는 기록하는 자기 디스크 드라이브(851), 및 CD ROM 또는 다른 광학 매체 등의 분리형, 비휘발성 광 디스크(856)에 대해 판독 또는 기록하는 광 디스크 드라이브(855)를 나타내고 있다. 예시적인 동작 환경에서 이용될 수 있는 다른 분리형/비분리형, 휘발성/비휘발성 컴퓨터 저장 매체는 자기 테이프 카세트, 플래시 메모리 카드, 디지털 다용도 디스크, 디지털 비디오 테이프, 솔리드 스테이트 RAM, 솔리드 스테이트 ROM 등을 포함하나, 이들에 한정되지 않는다. 하드 디스크 드라이브(841)는 통상 인터페이스(840) 등의 비분리형 메모리 인터페이스를 통해 시스템 버스(821)에 접속되고, 자기 디스크 드라이브(851) 및 광 디스크 드라이브(855)는 통상 인터페이스(850) 등의 분리형 메모리 인터페이스에 의해 시스템 버스(821)에 접속된다.
대안적으로 또는 추가로, 본 명세서에서 설명하는 기능은 적어도 부분적으로, 하나 이상의 하드웨어 로직 컴포넌트에 의해 수행될 수 있다. 예를 들면, 제한 없이, 이용될 수 있는 하드웨어 로직 컴포넌트의 실례 타입은 FPGA(Field-programmable Gate Array), ASIC(Program-specific Integrated Circuit), ASSP(Program-specific Standard Product), SOC(System-on-a-chip system), CPLD(Complex Programmable Logic Device) 등을 포함한다.
전술한 도 14에 도시하는 드라이브 및 그 관련 컴퓨터 저장 매체는 컴퓨터 판독 가능한 명령어, 데이터 구조, 프로그램 모듈 및 컴퓨터(810)에 대한 기타 데이터의 스토리지를 제공한다. 도 14에 있어서, 예컨대 하드 디스크 드라이브(841)는 운영체제(844), 애플리케이션 프로그램(845), 기타 프로그램 모듈(846) 및 프로그램 데이터(847)를 저장하는 것으로서 도시되고 있다. 이들 컴포넌트는 운영체제(834), 애플리케이션 프로그램(835), 기타 프로그램 모듈(836), 및 프로그램 데이터(837)와 같거나 아니면 다를 수 있음을 주지해야 한다. 운영체제(844), 애플리케이션 프로그램(845), 기타 프로그램 모듈(846), 및 프로그램 데이터(847)는, 최소한, 이들이 상이한 카피인 것을 나타내도록 여기에서는 상이한 번호가 부여된다.
사용자는 마우스, 트랙볼 또는 터치 패드 등의 포인팅 디바이스(861), 키보드(862), 마이크(863) 등의 입력 디바이스를 통해 컴퓨터(810)에 커맨드 및 정보를 입력할 수 있다. 기타 입력 디바이스(도시 생략)는 조이스틱, 게임스틱, 게임 패드, 위성 접시, 스캐너 등을 포함할 수 있다. 이들 및 기타 입력 디바이스는 종종 시스템 버스에 연결된 사용자 입력 인터페이스(860)를 통해 프로세싱 유닛(820)에 접속되지만, 병렬 포트, 게임 포트 또는 USB(universal serial bus) 등의 기타 인터페이스 및 버스 구조에 의해 접속될 수도 있다. 시각적 디스플레이(891) 또는 다른 타입의 디스플레이 디바이스도 비디오 인터페이스(890) 등의 인터페이스를 통해 시스템 버스(821)에 접속된다. 모니터와 함께, 컴퓨터는 출력 주변장치 인터페이스(895)를 통해 접속될 수 있는 스피커(897) 및 프린터(896) 등의 기타 주변 출력 장치도 포함할 수 있다.
컴퓨터(810)는 원격 컴퓨터(880) 등의 하나 이상의 원격 컴퓨터에의 논리적 접속을 이용하여 네트워크 환경에서 동작한다. 원격 컴퓨터(880)는 개인용 컴퓨터, 핸드헬드 디바이스, 서버, 라우터, 네트워크 PC, 피어 디바이스 또는 기타 공통 네트워크 노드일 수 있으며, 통상 컴퓨터(810)에 대해 전술한 다수의 엘리먼트 또는 전체 엘리먼트를 포함한다. 도 14에 도시하는 논리적 접속은 LAN(local area network)(871) 및 WAN(wide area network)(873)를 포함하지만, 다른 네트워크를 포함할 수도 있다. 그러한 네트워킹 환경은 사무실, 기업 규모의 컴퓨터 네트워크, 인트라넷 및 인터넷에서 흔하다.
LAN 네트워킹 환경에서 이용될 경우, 컴퓨터(810)는 네트워크 인터페이스 또는 어댑터(870)를 통해 LAN(871)에 접속된다. WAN 네트워킹 환경에서 이용될 경우, 컴퓨터(810)는 통상, 인터넷 등의 WAN(873)을 통한 통신을 확립하기 위한 모뎀(872) 또는 기타 수단을 포함한다. 내장형 또는 외장형일 수 있는 모뎀(872)은 사용자 입력 인터페이스(860) 또는 기타 적절한 메커니즘을 통해 시스템 버스(821)에 접속될 수 있다. 네트워킹 환경에 있어서, 컴퓨터(810) 또는 그 부분에 대해 나타내는 프로그램 모듈은 원격 메모리 저장 디바이스에 저장될 수 있다. 비제한적인 예를 들면, 도 14는 원격 컴퓨터(880) 상에 상주하는 것으로 원격 애플리케이션 프로그램(885)를 도시하고 있다. 도시하는 네트워크 접속은 예시적인 것이고, 컴퓨터들 간의 통신 링크를 확립하는 다른 수단이 이용될 수 있다고 이해될 것이다.
또한 여기에서 설명하는 상이한 실시형태들은 상이한 방식으로 조합될 수도 있음을 알아야 한다. 즉, 하나 이상의 실시형태의 부분은 하나 이상의 다른 실시형태의 부분과 조합될 수 있다. 본 명세서에서는 이들 모두가 고려된다.
구조적인 특징 및/또는 방법론적인 액트 특유의 언어로 청구 대상을 설명하였지만, 첨부하는 청구범위에서 규정되는 청구 대상은 전술한 특징 또는 액트에 한정될 필요는 없다고 생각한다. 그보다는, 전술한 특정 특징 및 액트는 청구범위를 구현하는 실시예로서 개시되어 있다.

Claims (10)

  1. 컴퓨터 구현 방법에 있어서,
    제1 오브젝트가 표시되는 프레젠테이션의 제1 슬라이드와, 제2 오브젝트가 표시되는 프레젠테이션의 제2 슬라이드를 식별하는 사용자 입력을 검출하는 단계와,
    상기 제1 슬라이드의 디스플레이를 반투명 언더레이(underlay)로서 표시하는 단계와,
    상기 언더레이 위에 상기 제2 슬라이드 상의 적어도 오브젝트들을 오버레이(overlay)로서 표시하는 단계와,
    상기 제2 오브젝트와의 사용자 상호작용(user interaction)을 검출하는 단계와,
    상기 사용자 상호작용에 기초하여, 사용자 인터페이스 디스플레이의 센터 또는 마진에 상기 제2 오브젝트를 얼라인하기 위한 상기 오버레이 상의 상기 제2 오브젝트에 대한 얼라인먼트 가이드(alignment guide)를 표시하는 단계
    를 포함하고,
    상기 반투명 언더레이는 상기 제2 슬라이드 상의 상기 제2 오브젝트 밑에 그리고 상기 제2 슬라이드의 배경 위에 표시되는 것인 컴퓨터 구현 방법.
  2. 제1항에 있어서,
    상기 사용자 상호작용에 응답하여, 상기 제2 오브젝트의 방향(orientation)과 상기 사용자 인터페이스 디스플레이의 미리 정해진 특성 사이의 관계, 또는 상기 제2 오브젝트와 상기 사용자 인터페이스 디스플레이의 마진(margin) 간의 관계를 나타내는 가이드를 표시하는 단계를 포함하는 컴퓨터 구현 방법.
  3. 제2항에 있어서, 상기 제2 오브젝트는 축을 따라 긴 것이고, 상기 가이드를 표시하는 단계는,
    상기 제2 오브젝트의 축이 상기 사용자 인터페이스 디스플레이 상에서 미리 정해진 방향으로 될 때를 나타내도록 상기 가이드를 표시하는 단계를 포함하는 것인 컴퓨터 구현 방법.
  4. 제3항에 있어서, 상기 가이드를 표시하는 단계는,
    상기 제2 오브젝트의 센터 또는 엣지가 상기 사용자 인터페이스 디스플레이의 센터와 얼라인될 때를 나타내도록 상기 가이드를 표시하는 단계를 더 포함하는 것인 컴퓨터 구현 방법.
  5. 제4항에 있어서, 상기 가이드를 표시하는 단계는,
    상기 제2 오브젝트의 센터 또는 엣지가 상기 사용자 인터페이스 디스플레이의 수평 센터 또는 수직 센터 중 어느 하나와 얼라인될 때를 나타내도록 상기 가이드를 표시하는 단계를 더 포함하는 것인 컴퓨터 구현 방법.
  6. 제2항에 있어서, 상기 가이드를 표시하는 단계는,
    상기 제2 오브젝트와 또 다른 오브젝트가 상기 사용자 인터페이스 디스플레이의 일부에 대해 미리 정해진 관계로 될 때를 나타내도록 상기 가이드를 표시하는 단계를 포함하는 것인 컴퓨터 구현 방법.
  7. 제6항에 있어서, 상기 제2 오브젝트와 또 다른 오브젝트가 상기 사용자 인터페이스 디스플레이의 일부에 대해 미리 정해진 관계로 될 때를 나타내도록 상기 가이드를 표시하는 단계는,
    상기 제2 오브젝트와 상기 또 다른 오브젝트가, 상기 사용자 인터페이스 디스플레이의 수평 또는 수직 센터로부터 또는 양쪽 엣지로부터 균등하게 이격될 때를 나타내도록 상기 가이드를 표시하는 단계를 포함하는 것인 컴퓨터 구현 방법.
  8. 제1항에 있어서,
    상기 제1 오브젝트와의 사용자 상호작용을 검출하는 단계와,
    상기 사용자 상호작용에 응답하여, 사용자 인터페이스 디스플레이 상에서 상기 제1 및 제2 오브젝트 사이의 위치적 관계를 나타내는 가이드를 표시하는 단계
    를 더 포함하는 컴퓨터 구현 방법.
  9. 제8항에 있어서, 상기 가이드를 표시하는 단계는,
    상기 제1 및 제2 오브젝트 중 한 오브젝트의 센터가 상기 제1 및 제2 오브젝트 중 다른 오브젝트의 엣지와 얼라인될 때를 나타내도록 상기 가이드를 표시하는 단계를 포함하는 것인 컴퓨터 구현 방법.
  10. 제8항에 있어서,
    오브젝트의 세트가 표시되는 또 다른 사용자 인터페이스 디스플레이의 사용자 식별자(user identification)를 수신하는 단계와,
    상기 또 다른 사용자 인터페이스 디스플레이 상에서 상기 오브젝트의 세트 중 한 오브젝트에 대한 상기 제1 오브젝트의 위치적 관계를 나타내도록 상기 가이드를 표시하는 단계
    를 더 포함하는 컴퓨터 구현 방법.
KR1020167034755A 2014-05-23 2015-05-21 컨텐츠 작성 시스템 상의 가이드 KR102354695B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/286,709 US11514228B2 (en) 2014-05-23 2014-05-23 Guides on a content generation system
US14/286,709 2014-05-23
PCT/US2015/031863 WO2015179581A2 (en) 2014-05-23 2015-05-21 Guides on a content generation system

Publications (2)

Publication Number Publication Date
KR20170010791A KR20170010791A (ko) 2017-02-01
KR102354695B1 true KR102354695B1 (ko) 2022-01-21

Family

ID=53373590

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167034755A KR102354695B1 (ko) 2014-05-23 2015-05-21 컨텐츠 작성 시스템 상의 가이드

Country Status (12)

Country Link
US (1) US11514228B2 (ko)
EP (1) EP3146420B1 (ko)
JP (1) JP6608389B2 (ko)
KR (1) KR102354695B1 (ko)
CN (1) CN106462333B (ko)
AU (1) AU2015264151B2 (ko)
BR (1) BR112016026079B1 (ko)
CA (1) CA2947891A1 (ko)
MX (1) MX2016015069A (ko)
RU (1) RU2694749C2 (ko)
TW (1) TW201601046A (ko)
WO (1) WO2015179581A2 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USD701880S1 (en) * 2010-12-28 2014-04-01 Sony Corporation Display panel or screen with graphical user interface
US10042547B2 (en) * 2014-06-17 2018-08-07 Vmware, Inc. User interface control based on pinch gestures
USD768719S1 (en) * 2015-02-27 2016-10-11 Samsung Electronics Co., Ltd. Display screen or portion thereof with graphical user interface
WO2016186629A1 (en) * 2015-05-15 2016-11-24 Hewlett-Packard Development Company, L.P. Display of server capabilities
US10445407B2 (en) * 2015-07-20 2019-10-15 Adobe Inc. Automated generation of guides based on content zone shapes
KR102300418B1 (ko) * 2019-05-16 2021-09-09 주식회사 한글과컴퓨터 복수의 이미지들에 포함된 여백을 고려하여 이미지 간 정렬을 가능하게 하는 전자 장치 및 그 동작 방법
KR102462139B1 (ko) * 2022-07-14 2022-11-03 주식회사 고브이알 3d 에셋 배치를 이용한 교육용 메타버스 구현 장치, 방법 및 프로그램

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040239691A1 (en) * 2003-05-30 2004-12-02 Steve Sprang Dynamic guides

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5490241A (en) * 1989-10-06 1996-02-06 Xerox Corporation Interactive computer graphics system for making precise drawings
US5581670A (en) * 1993-07-21 1996-12-03 Xerox Corporation User interface having movable sheet with click-through tools
JPH103371A (ja) 1996-06-14 1998-01-06 Niigata Nippon Denki Software Kk 頁レイアウト比較装置と頁レイアウト表示装置
US6091395A (en) 1997-12-15 2000-07-18 International Business Machines Corporation Computer system and method of manipulating a graphical user interface component on a computer display through collision with a pointer
US6065021A (en) 1998-04-07 2000-05-16 Adobe Systems Incorporated Apparatus and method for alignment of graphical elements in electronic document
US20020073123A1 (en) 2000-12-08 2002-06-13 Wen-Sung Tsai Method for displaying overlapping documents in a computer environment
US20050068290A1 (en) 2003-09-28 2005-03-31 Denny Jaeger Method for creating and using user-friendly grids
US7554689B2 (en) * 2003-10-15 2009-06-30 Canon Kabushiki Kaisha Document layout method
US20050108620A1 (en) * 2003-11-19 2005-05-19 Microsoft Corporation Method and system for selecting and manipulating multiple objects
GB2411331A (en) 2004-02-19 2005-08-24 Trigenix Ltd Rendering user interface using actor attributes
US9123159B2 (en) * 2007-11-30 2015-09-01 Microsoft Technology Licensing, Llc Interactive geo-positioning of imagery
US8356258B2 (en) 2008-02-01 2013-01-15 Microsoft Corporation Arranging display areas utilizing enhanced window states
JP5194995B2 (ja) * 2008-04-25 2013-05-08 コニカミノルタビジネステクノロジーズ株式会社 文書処理装置、文書サマリ作成方法および文書サマリ作成プログラム
US8667406B1 (en) 2008-10-01 2014-03-04 Adobe Systems Incorporated Artboard creation and preview
US8271871B2 (en) 2009-04-30 2012-09-18 Xerox Corporation Automated method for alignment of document objects
US8766928B2 (en) * 2009-09-25 2014-07-01 Apple Inc. Device, method, and graphical user interface for manipulating user interface objects
US8698762B2 (en) 2010-01-06 2014-04-15 Apple Inc. Device, method, and graphical user interface for navigating and displaying content in context
US8209630B2 (en) 2010-01-26 2012-06-26 Apple Inc. Device, method, and graphical user interface for resizing user interface content
US8683363B2 (en) * 2010-01-26 2014-03-25 Apple Inc. Device, method, and graphical user interface for managing user interface content and user interface elements
US9727226B2 (en) 2010-04-02 2017-08-08 Nokia Technologies Oy Methods and apparatuses for providing an enhanced user interface
US9345957B2 (en) 2011-09-30 2016-05-24 Microsoft Technology Licensing, Llc Enhancing a sport using an augmented reality display
US8866854B2 (en) * 2011-10-31 2014-10-21 Microsoft Corporation Consolidated orthogonal guide creation
US9324188B1 (en) * 2012-04-30 2016-04-26 Dr Systems, Inc. Manipulation of 3D medical objects
US9026928B2 (en) 2012-06-06 2015-05-05 Apple Inc. Graphical user interface layout
CN103440318B (zh) 2013-08-29 2016-08-17 王靖洲 移动终端的景观识别系统
US9477403B2 (en) * 2013-11-26 2016-10-25 Adobe Systems Incorporated Drawing on a touchscreen

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040239691A1 (en) * 2003-05-30 2004-12-02 Steve Sprang Dynamic guides

Also Published As

Publication number Publication date
EP3146420A2 (en) 2017-03-29
RU2016145606A3 (ko) 2019-01-18
US20150339267A1 (en) 2015-11-26
EP3146420B1 (en) 2018-03-07
AU2015264151A1 (en) 2016-10-27
BR112016026079A8 (pt) 2021-06-15
CN106462333B (zh) 2019-08-23
JP2017520814A (ja) 2017-07-27
AU2015264151B2 (en) 2020-03-12
TW201601046A (zh) 2016-01-01
WO2015179581A2 (en) 2015-11-26
CN106462333A (zh) 2017-02-22
JP6608389B2 (ja) 2019-11-20
WO2015179581A3 (en) 2016-01-14
RU2016145606A (ru) 2018-05-22
US11514228B2 (en) 2022-11-29
MX2016015069A (es) 2017-04-11
BR112016026079A2 (pt) 2017-08-15
KR20170010791A (ko) 2017-02-01
RU2694749C2 (ru) 2019-07-16
CA2947891A1 (en) 2015-11-26
BR112016026079B1 (pt) 2022-09-27

Similar Documents

Publication Publication Date Title
KR102354695B1 (ko) 컨텐츠 작성 시스템 상의 가이드
US11086479B2 (en) Display device and method of controlling the same
US10482573B2 (en) Method and mobile device for displaying image
US20190324603A1 (en) Display device for executing a plurality of applications and method for controlling the same
KR102190904B1 (ko) 윈도우 제어 방법 및 이를 지원하는 전자장치
KR102107469B1 (ko) 사용자 단말 장치 및 이의 디스플레이 방법
US11023070B2 (en) Touch input hover
US10514826B2 (en) Contextual command bar
KR102371098B1 (ko) 오브젝트를 편집 가능한 형태로 전체 화면 팝 아웃하는 기법
US10324599B2 (en) Assistive move handle for object interaction
US20160381203A1 (en) Automatic transformation to generate a phone-based visualization
US20200249825A1 (en) Using an alternate input device as a maneuverable emulated touch screen device
US20150301987A1 (en) Multiple monitor data entry

Legal Events

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