KR20220058512A - 그래픽 사용자 인터페이스 프로토타입 제공 방법 및 장치 - Google Patents
그래픽 사용자 인터페이스 프로토타입 제공 방법 및 장치 Download PDFInfo
- Publication number
- KR20220058512A KR20220058512A KR1020220051752A KR20220051752A KR20220058512A KR 20220058512 A KR20220058512 A KR 20220058512A KR 1020220051752 A KR1020220051752 A KR 1020220051752A KR 20220051752 A KR20220051752 A KR 20220051752A KR 20220058512 A KR20220058512 A KR 20220058512A
- Authority
- KR
- South Korea
- Prior art keywords
- prototype
- version
- trigger
- interaction scenario
- interaction
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 89
- 230000003993 interaction Effects 0.000 claims abstract description 338
- 230000004044 response Effects 0.000 claims abstract description 176
- 230000001960 triggered effect Effects 0.000 claims description 41
- 230000008859 change Effects 0.000 claims description 31
- 230000008569 process Effects 0.000 description 25
- 238000010586 diagram Methods 0.000 description 15
- 230000008685 targeting Effects 0.000 description 15
- 238000004891 communication Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000000007 visual effect Effects 0.000 description 6
- 238000012217 deletion Methods 0.000 description 4
- 230000037430 deletion Effects 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04842—Selection of displayed objects or displayed text elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04817—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
그래픽 사용자 인터페이스(GUI)의 프로토타입에 대한 인터랙션 시나리오를 제공된다. 본 발명의 일 실시예에 따른 GUI 프로토타입에 대한 인터랙션 시나리오 제공 방법은, 프로토타입 열람 장치에 의해, 상기 프로토타입의 제1 버전과 제2 버전의 차이점을 식별하는 단계와, 상기 프로토타입 열람 장치에 의해, 상기 차이점에 기초하여, 상기 프로토타입의 상기 제1 버전에 대하여 기생성된 인터랙션 시나리오의 제1 버전을 갱신하여, 상기 인터랙션 시나리오의 제2 버전을 생성하는 단계를 포함하되, 상기 프로토타입은, 상기 트리거 및 상기 트리거에 의해 유발되는 리스폰스에 관한 정보를 포함하고, 상기 제1 버전에 대해 기생성된 인터랙션 시나리오는, 상기 프로토타입의 상기 제1 버전에 대한 사용자의 시연 중에 감지된 복수의 트리거들에 관한 정보를 포함하는 것일 수 있다.
Description
본 발명은 그래픽 사용자 인터페이스(Graphic User Interface: GUI)의 프로토타입을 제공하는 방법 및 장치에 관한 것이다. 보다 자세하게는, 그래픽 사용자 인터페이스의 프로토타입을 대상으로 하는 인터랙션 시나리오를 생성하고 재현하는 방법 및 장치에 관한 것이다.
단말 제조사들, 애플리케이션 제조사들, 및 온라인 서비스 제공자들은 사용자의 사용 편의성 증대를 위해 그래픽 사용자 인터페이스의 디자인에 많은 노력을 기울이고 있다. 이와 같은 그래픽 사용자 인터페이스의 디자인 과정에서, 그래픽 사용자 인터페이스의 프로토타입을 제작하기 위한 다양한 툴들이 이용된다. 그래픽 사용자 인터페이스 제작자는, 단말, 애플리케이션, 또는 온라인 서비스(이하, 구분없이 "애플리케이션"이라고 지칭한다)에 그래픽 사용자 인터페이스를 적용하기 전에, 제작된 그래픽 사용자 인터페이스의 프로토타입을 통해 사용자 편의성, 사용자 인터랙션, 및 다양한 시각적 효과를 확인할 수 있다. 또한 그래픽 사용자 인터페이스 제작자는 그래픽 사용자 인터페이스의 프로토타입을 애플리케이션의 기획자 및 개발자 등 제3자에게 프로토타입을 공유하여, 서로 의견을 교환할 수 있다. 그래픽 사용자 인터페이스 제작자자 제작한 그래픽 사용자 인터페이스는, 시제품 즉 프로토타입의 형태로 애플리케이션 개발자에게 제공되고, 개발자에 의해 프로그래밍되어 애플리케이션 상에 구현된다.
그래픽 사용자 인터페이스는 디스플레이에 표시되는 시각적 객체들뿐만 아니라, 상기 객체들과 사용자 사이의 다양한 상호 작용, 즉 인터랙션들로 구성되는 것이 일반적이다. 터치스크린을 구비한 장치가 널리 보급되기 시작하면서, 사용자 편의성의 증대를 위해 그래픽 사용자 인터페이스 상에서 점점 더 다양한 유형의 풍부한 인터랙션들이 제공되고 있다. 그래픽 사용자 인터페이스는 다양한 객체들에 연관된 다양한 인터랙션들을 포함할 수 있으며, 인터랙션들 사이에 선후 관계 및/또는 종속 관계 등이 존재할 수 있다. 따라서 그래픽 사용자 인터페이스 제작자가 만든 프로토타입만을 개발자에게 전달할 경우, 개발자로서는 그래픽 사용자 인터페이스의 프로토타입에 어떠한 인터랙션들이 포함되어 있는지 식별하고, 그 동작 원리를 명확히 이해하기가 어렵다. 프로토타입에 포함된 다양한 인터랙션들을 개발자에게 명확히 전달하기 위하여, 그래픽 사용자 인터페이스의 제작자는 프로토타입에 포함된 인터랙션들을 기술하는 문서를 별도로 작성하여 프로토타입과 함께 개발자에게 전달하는 경우가 많다. 이 과정에서 많은 시간과 비용이 낭비된다.
본 발명이 해결하고자 하는 기술적 과제는, 그래픽 사용자 인터페이스의 프로토타입을 제공하는 방법 및 장치를 제공하는 것이다.
본 발명이 해결하고자 하는 또 다른 기술적 과제는, 그래픽 사용자 인터페이스의 프로토타입을 대상으로 하는 인터랙션 시나리오를 생성하는 방법 및 장치를 제공하는 것이다.
본 발명이 해결하고자 하는 또 다른 기술적 과제는, 그래픽 사용자 인터페이스의 프로토타입을 대상으로 하는 인터랙션 시나리오를 재현하는 방법 및 장치를 제공하는 것이다.
본 발명이 해결하고자 하는 또 다른 기술적 과제는, 그래픽 사용자 인터페이스의 프로토타입에 포함된 인터랙션들의 세부 사항을 효과적으로 전달하기 위한 방법 및 장치를 제공하는 것이다.
본 발명이 해결하고자 하는 또 다른 기술적 과제는, 그래픽 사용자 인터페이스의 프로토타입에 발생한 변경 사항들을 효과적으로 전달하기 위한 방법 및 장치를 제공하는 것이다.
본 발명이 해결하고자 하는 또 다른 기술적 과제는, 그래픽 사용자 인터페이스의 프로토타입에 발생한 변경 사항들을 기제작된 인터랙션 시나리오에 반영하는 방법 및 장치를 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명의 기술분야에서의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 해결하기 위한, 본 발명의 일 실시예에 따른 그래픽 사용자 인터페이스(GUI)의 프로토타입을 제공하는 방법은, 인터랙션 시나리오 기록 개시 명령에 응답하여, 프로토타입 저작 장치 상에서 GUI 프로토타입에 대한 사용자의 시연을 입력 받는 단계와, 상기 시연 중에 발생된 제1 트리거를 감지하는 단계와, 상기 제1 트리거에 관한 정보를 포함하는 상기 인터랙션 시나리오를 생성하는 단계와, 상기 프로토타입 저작 장치에 의해, 상기 인터랙션 시나리오를 송신하는 단계를 포함한다. 이때, 상기 프로토타입은, 상기 트리거 및 상기 트리거에 의해 유발되는 리스폰스에 관한 정보를 포함할 수 있고, 상기 트리거는 사용자 입력 이벤트를 포함할 수 있으며, 상기 리스폰스는 상기 프로토타입 상의 객체의 표시 속성의 변화를 포함할 수 있다.
일 실시예에서, 상기 인터랙션 시나리오는, 상기 제1 트리거에 의해 유발되는 제1 리스폰스에 관한 정보를 더 포함한다. 몇몇 실시예에서, 상기 인터랙션 시나리오는, 상기 제1 리스폰스가 트리거로 작용하여 자동으로 유발되는 제2 리스폰스에 관한 정보를 더 포함한다.
일 실시예에서, 상기 프로토타입 제공 방법은, 상기 인터랙션 시나리오 기록 개시 명령에 응답하여, 상기 시연 중에 발생된 제2 트리거를 감지하는 단계를 더 포함하며, 상기 인터랙션 시나리오는, 상기 제1 트리거 및 제2 트리거 각각의 발생 시점을 나타내는 정보를 더 포함한다.
일 실시예에서, 상기 인터랙션 시나리오를 생성하는 단계는, 상기 인터랙션 시나리오를 상기 프로토타입과 별개의 파일로 저장하는 단계를 포함한다.
일 실시예에서, 상기 트리거는 센서 감지 이벤트를 포함한다.
상기 기술적 과제를 해결하기 위한, 본 발명의 다른 일 실시예에 따른 그래픽 사용자 인터페이스(GUI)의 프로토타입을 제공하는 방법은, 프로토타입 열람 장치에 의해, GUI 프로토타입 상에서 발생되는 트리거에 관한 정보를 포함하는 인터랙션 시나리오를 획득하는 단계와, 상기 프로토타입 열람 장치에 의해, 상기 인터랙션 시나리오에 포함된 트리거에 의해 자동으로 유발되는 리스폰스를 출력함으로써, 상기 프로토타입을 대상으로 상기 인터랙션 시나리오를 재현하는 단계를 포함한다. 이때, 상기 프로토타입은, 트리거 및 상기 트리거에 의해 유발되는 리스폰스에 관한 정보를 포함할 수 있고, 상기 트리거는 사용자 입력 이벤트를 포함할 수 있으며, 상기 리스폰스는 상기 프로토타입 상의 객체의 표시 속성의 변화를 포함할 수 있다.
일 실시예에서, 상기 프로토타입을 대상으로 상기 인터랙션 시나리오를 재현하는 단계는, 상기 프로토타입 상에서, 상기 인터랙션 시나리오에 포함된 상기 트리거의 발생을 시각화하는 단계를 포함한다. 몇몇 실시예에서, 상기 트리거는 제1 유형의 트리거 및 제2 유형의 트리거를 포함하고, 상기 트리거의 발생을 시각화하는 단계는, 상기 제1 유형의 트리거의 발생을 제1 표시 속성으로 시각화하고, 상기 제2 유형의 트리거의 발생을 제2 표시 속성으로 시각화하는 단계를 포함한다.
일 실시예에서, 상기 프로토타입 제공 방법은, 상기 인터랙션 시나리오에 포함된 상기 트리거의 속성을 디스플레이하는 단계를 더 포함한다.
일 실시예에서, 상기 프로토타입 제공 방법은, 상기 리스폰스의 속성을 디스플레이하는 단계를 더 포함한다.
일 실시예에서, 상기 프로토타입을 대상으로 상기 인터랙션 시나리오를 재현하는 단계는, 시간의 경과에 따른 상기 프로토타입에 포함된 객체의 표시 속성 값의 변화를 디스플레이하는 단계를 포함한다.
일 실시예에서, 상기 프로토타입을 대상으로 상기 인터랙션 시나리오를 재현하는 단계는, 상기 인터랙션 시나리오의 일부를 선택하는 사용자의 입력을 획득하는 단계와, 상기 선택된 인터랙션 시나리오의 일부를 재현하는 단계를 포함한다. 이때, 상기 인터랙션 시나리오의 일부를 선택하는 사용자의 입력은, 상기 인터랙션 시나리오에 포함된 하나 이상의 트리거들 중 일부를 선택하는 입력 또는 상기 하나 이상의 트리거들에 의해 유발되는 하나 이상의 리스폰스들 중 일부를 선택하는 입력일 수 있다.
일 실시예에서, 상기 프로토타입을 대상으로 상기 인터랙션 시나리오를 재현하는 단계는, 제1 화면에서 상기 리스폰스의 출력 결과를 디스플레이 하고, 제2 화면에서 상기 인터랙션 시나리오에 포함된 트리거 및 리스폰스를 디스플레이 하되, 상기 리스폰스는 상기 트리거 발생 및 제1 조건 만족시 출력되는 제1 리스폰스 및 상기 트리거 발생 및 상기 제1 조건 불만족시 출력되는 제2 리스폰스를 포함하는, 단계와, 상기 시연 도중 상기 트리거 발생 시점의 상기 제1 조건 만족 시, 상기 제1 리스폰스를 출력하고, 상기 제1 리스폰스를 가리키는 GUI 객체와 상기 제2 리스폰스를 가리키는 GUI 객체를 시각적으로 구분되게 디스플레이 하는 단계를 더 포함한다.
몇몇 실시예에서, 상기 프로토타입을 대상으로 상기 인터랙션 시나리오를 재현하는 단계는, 상기 제1 조건 만족 상황에서 상기 제2 리스폰스를 강제로 출력시키기 위한 사용자 인터페이스를 통한 조건 변경 시연 입력이 제공되는 경우, 상기 제2 리스폰스를 출력하는 단계를 더 포함한다
몇몇 실시예에서, 상기 제2 리스폰스를 출력하는 단계는, 상기 제2 리스폰스를 가리키는 GUI 객체가 강제 출력 중임을 가리키는 표시를, 상기 제2 리스폰스를 가리키는 GUI 객체에 오버레이 하여 디스플레이 하거나, 상기 제2 리스폰스를 가리키는 GUI 객체에 인접하여 디스플레이하는 단계를 포함한다.
일 실시예에서, 상기 인터랙션 시나리오는, 코멘트 및 상기 코멘트의 타깃에 관한 데이터를 포함하며, 상기 코멘트의 타깃은, 상기 프로토타입의 일부분, 상기 인터랙션 시나리오의 일부 구간, 상기 인터랙션 시나리오에 포함된 트리거, 및 상기 트리거에 의해 유발되는 리스폰스 중 적어도 하나이며, 상기 프로토타입을 대상으로 상기 인터랙션 시나리오를 재현하는 단계는, 상기 코멘트의 타깃에 관한 데이터에 상기 코멘트를 디스플레이하는 단계를 포함한다.
일 실시예에서, 상기 프로토타입 제공 방법은, 상기 리스폰스의 개시시점 및 지속시간을 나타내는 GUI 객체를 디스플레이하는 단계를 더 포함한다.
일 실시예에서, 상기 인터랙션 시나리오 및 상기 프로토타입은, 웹 브라우저로 열람 가능한 전자문서로 제공될 수 있다.
상기 기술적 과제를 해결하기 위한, 본 발명의 또 다른 일 실시예에 따른 그래픽 사용자 인터페이스(GUI)의 프로토타입을 제공하는 방법은, 인터랙션 시나리오 기록 개시 명령에 응답하여, 프로토타입 저작 장치 상에서 GUI 프로토타입에 대한 사용자의 시연을 입력 받는 단계와, 상기 시연 중에 발생된 제1 트리거를 감지하는 단계와, 상기 제1 트리거에 관한 정보를 포함하는 상기 인터랙션 시나리오를 생성하는 단계와, 상기 프로토타입 저작 장치에 의해, 상기 인터랙션 시나리오를 송신하는 단계와, 프로토타입 열람 장치에 의해, 상기 인터랙션 시나리오를 획득하는 단계와, 상기 프로토타입 열람 장치에 의해, 상기 인터랙션 시나리오에 포함된 트리거에 의해 자동으로 유발되는 리스폰스를 출력함으로써, 상기 프로토타입을 대상으로 상기 인터랙션 시나리오를 재현하는 단계를 포함한다. 이때, 상기 프로토타입은, 트리거 및 상기 트리거에 의해 유발되는 리스폰스에 관한 정보를 포함할 수 있고, 상기 트리거는 사용자 입력 이벤트를 포함할 수 있으며, 상기 리스폰스는 상기 프로토타입 상의 객체의 표시 속성의 변화를 포함할 수 있다.
상기 기술적 과제를 해결하기 위한, 본 발명의 또 다른 일 실시예에 따른 그래픽 사용자 인터페이스(GUI)의 프로토타입에 대한 인터랙션 시나리오 제공 방법은, 프로토타입 저작 장치에 의해, 상기 프로토타입의 제1 버전과 제2 버전의 차이점을 식별하는 단계와, 상기 프로토타입 저작 장치에 의해, 상기 차이점에 기초하여, 상기 프로토타입의 상기 제1 버전에 대하여 기생성된 인터랙션 시나리오의 제1 버전을 갱신하여, 상기 인터랙션 시나리오의 제2 버전을 생성하는 단계를 포함하되, 상기 프로토타입은, 상기 트리거 및 상기 트리거에 의해 유발되는 리스폰스에 관한 정보를 포함하고, 상기 제1 버전에 대해 기생성된 인터랙션 시나리오는, 상기 프로토타입의 상기 제1 버전에 대한 사용자의 시연 중에 감지된 복수의 트리거들에 관한 정보를 포함한다.
일 실시예에서, 상기 차이점을 식별하는 단계는, 상기 프로토타입의 상기 제2 버전에 추가된 트리거를 식별하는 단계를 포함하고, 상기 인터랙션 시나리오의 상기 제2 버전을 생성하는 단계는, 상기 추가된 트리거가 삽입될 위치에 대한 사용자 입력을 획득하는 단계를 포함할 수 있다.
일 실시예에서, 상기 추가된 트리거가 삽입될 위치에 대한 사용자 입력을 획득하는 단계는, 상기 인터랙션 시나리오의 상기 제1 버전에 포함된 트리거들 중 어느 하나의 트리거를 선택하는 사용자 입력을 획득하는 단계와, 상기 어느 하나의 트리거의 직전 또는 직후에 상기 추가된 트리거를 삽입하는 단계를 포함할 수 있다.
일 실시예에서, 상기 추가된 트리거가 삽입될 위치에 대한 사용자 입력을 획득하는 단계는, 상기 인터랙션 시나리오의 상기 제1 버전의 타임라인을 디스플레이하는 단계와, 상기 타임라인 상의 특정 위치를 선택하는 사용자 입력을 획득하는 단계를 포함할 수 있다.
일 실시예에서, 상기 차이점을 식별하는 단계는, 상기 프로토타입의 상기 제1 버전에서 삭제된 트리거 및 상기 프로토타입의 상기 제2 버전에 추가된 트리거를 식별하는 단계를 포함하고, 상기 인터랙션 시나리오의 상기 제2 버전을 생성하는 단계는, 상기 삭제된 트리거와 상기 추가된 트리거의 유사도를 판정하는 단계를 포함할 수 있다.
일 실시예에서, 상기 인터랙션 시나리오의 상기 제2 버전을 생성하는 단계는, 상기 유사도가 임계치 이상이라는 판정에 기초하여, 상기 인터랙션 시나리오의 상기 제1 버전에서 상기 삭제된 트리거를 상기 추가된 트리거로 대체하여, 상기 인터랙션 시나리오의 상기 제2 버전을 생성하는 단계를 더 포함할 수 있다.
일 실시예에서, 상기 삭제된 트리거와 상기 추가된 트리거의 유사도를 판정하는 단계는, 상기 삭제된 트리거 및 상기 추가된 트리거 각각에 의해 유발되는 리스폰스들이 서로 중복된 비율을 판정하는 단계를 포함할 수 있다.
일 실시예에서, 상기 삭제된 트리거와 상기 추가된 트리거의 유사도를 판정하는 단계는, 상기 삭제된 트리거에 의해 표시 속성의 변화가 유발되는 제1 GUI 객체와, 상기 추가된 트리거에 의해 표시 속성의 변화가 유발되는 제2 GUI 객체가 서로 동일한지 여부를 판정하는 단계를 포함할 수 있다.
일 실시예에서, 상기 인터랙션 시나리오는, 상기 사용자의 시연 중에 감지된 상기 복수의 트리거들에 의해 유발되는 복수의 리스폰스들에 관한 정보를 더 포함할 수 있다.
일 실시예에서, 상기 인터랙션 시나리오는, 상기 복수의 리스폰스들 중 적어도 하나가 트리거로 작용하여 자동으로 유발되는 리스폰스에 관한 정보를 더 포함할 수 있다
상기 기술적 과제를 해결하기 위한, 본 발명의 또 다른 일 실시예에 따른 그래픽 사용자 인터페이스(GUI)의 프로토타입 제공 방법은, 프로토타입 열람 장치에 의해, GUI 프로토타입 상에서 발생되는 트리거에 관한 정보를 포함하는 인터랙션 시나리오를 획득하는 단계와, 상기 프로토타입 열람 장치에 의해, 상기 인터랙션 시나리오에 포함된 트리거에 의해 자동으로 유발되는 리스폰스를 출력함으로써, 상기 프로토타입을 대상으로 상기 인터랙션 시나리오의 제1 버전 및 제2 버전을 재현하는 단계를 포함하되, 상기 프로토타입은, 트리거 및 상기 트리거에 의해 유발되는 리스폰스에 관한 정보를 포함한다.
일 실시예에서, 상기 인터랙션 시나리오의 상기 제1 버전에 포함된 트리거들과 상기 제2 버전에 포함된 트리거들 중 적어도 일부는 서로 다르거나, 상기 인터랙션 시나리오의 상기 제1 버전에 포함된 리스폰스들과 상기 제2 버전에 포함된 리스폰스들 중 적어도 일부는 서로 다른 것일 수 있다.
일 실시예에서, 상기 인터랙션 시나리오의 제1 버전 및 제2 버전을 재현하는 단계는, 상기 인터랙션 시나리오의 상기 제1 버전을 제1 디스플레이 영역에서 재현하는 단계와, 상기 인터랙션 시나리오의 상기 제2 버전을 제2 디스플레이 영역에서 재현하는 단계를 포함하되, 상기 제1 버전 및 상기 제2 버전은 서로 동기화되어 재현되는 것일 수 있다.
일 실시예에서, 상기 인터랙션 시나리오의 제1 버전 및 제2 버전을 재현하는 단계는, 상기 인터랙션 시나리오의 상기 제1 버전에 포함된 복수의 트리거들 중 제1 트리거에 대한 사용자의 선택에 응답하여, 상기 제1 트리거에 지정된 속성을 디스플레이하는 단계와, 상기 인터랙션 시나리오의 상기 제2 버전에 포함된 복수의 트리거들 중 상기 제1 트리거에 대응되는 제2 트리거에 지정된 속성을 디스플레이하는 단계를 포함할 수 있다.
일 실시예에서, 상기 인터랙션 시나리오의 제1 버전 및 제2 버전을 재현하는 단계는, 상기 인터랙션 시나리오의 상기 제1 버전에 포함된 복수의 리스폰스들 중 제1 리스폰스에 대한 사용자의 선택에 응답하여, 상기 제1 리스폰스에 지정된 속성을 디스플레이하는 단계와, 상기 인터랙션 시나리오의 상기 제2 버전에 포함된 복수의 리스폰스들 중 상기 제1 리스폰스에 대응되는 제2 리스폰스에 지정된 속성을 디스플레이하는 단계를 포함할 수 있다.
일 실시예에서, 상기 인터랙션 시나리오의 제1 버전 및 제2 버전을 재현하는 단계는, 상기 인터랙션 시나리오의 상기 제1 버전과 상기 제2 버전의 차이점을 식별하는 단계와, 상기 차이점에 기초하여, 상기 인터랙션 시나리오의 상기 제1 버전 또는 상기 제2 버전의 적어도 일부 객체를 반투명하게 디스플레이하는 단계를 포함할 수 있다.
일 실시예에서, 상기 인터랙션 시나리오의 제1 버전 및 제2 버전을 재현하는 단계는, 상기 인터랙션 시나리오의 제1 버전의 재현을 개시하는 단계와, 상기 인터랙션 시나리오의 제2 버전의 재현을 요청하는 사용자 입력을 획득하는 단계와, 상기 사용자 입력에 응답하여, 상기 재현 중인 상기 인터랙션 시나리오의 제1 버전의 제1 리스폰스에 대응되는 상기 인터랙션 시나리오의 제2 버전의 제2 리스폰스를 식별하는 단계와, 상기 인터랙션 시나리오의 상기 제2 버전의 제2 리스폰스를 출력하는 단계를 포함할 수 있다.
상기 기술적 과제를 해결하기 위한, 본 발명의 또 다른 일 실시예에 따른 컴퓨터 판독 가능한 비일시적 기록 매체는, 프로토타입 저작 장치에 의해, 상기 프로토타입의 제1 버전과 제2 버전의 차이점을 식별하는 단계와, 상기 프로토타입 저작 장치에 의해, 상기 차이점에 기초하여, 상기 프로토타입의 상기 제1 버전에 대하여 기생성된 인터랙션 시나리오의 제1 버전을 갱신하여, 상기 인터랙션 시나리오의 제2 버전을 생성하는 단계를 포함하는 방법을 수행하도록 하는 컴퓨터 프로그램이 저장된다.
도 1은 본 발명의 일 실시예에 따른 그래픽 사용자 인터페이스 프로토타입 제공 시스템의 구성도이다.
도 2는 본 발명의 다른 일 실시예에 따라 그래픽 사용자 인터페이스의 프로토타입을 제공하는 방법을 수행하는 프로세스를 도시한 순서도이다.
도 3 내지 도 5는, 도 2를 참조하여 설명한 실시예에 따라 그래픽 사용자 인터페이스 프로토타입의 인터랙션 시나리오를 기록하는 과정을 설명하기 위한 도면이다.
도 6은 본 발명의 또 다른 일 실시예에 따라 그래픽 사용자 인터페이스의 프로토타입을 제공하는 방법을 수행하는 프로세스를 도시한 순서도이다.
도 7 내지 도 12는, 도 6을 참조하여 설명한 실시예에 따라 그래픽 사용자 인터페이스 프로토타입의 인터랙션 시나리오를 재현하는 과정을 설명하기 위한 도면이다.
도 13은 본 발명의 또 다른 일 실시예에 따라, 그래픽 사용자 인터페이스의 프로토타입의 인터랙션 시나리오를 제공하는 방법을 수행하는 프로세스를 도시한 순서도이다.
도 14 및 도 15는 도 13을 참조하여 설명한 방법의 일부 단계들을 보다 구체적으로 설명하기 위한 도면이다.
도 16은 본 발명의 또 다른 일 실시예에 따라, 그래픽 사용자 인터페이스의 프로토타입을 제공하는 방법을 수행하는 프로세스를 도시한 순서도이다.
도 17 및 도 18은 도 16을 참조하여 설명한 실시예에 따라 그래픽 사용자 인터페이스 프로토타입의 인터랙션 시나리오의 제1 버전과 제2 버전을 재현하는 과정을 설명하기 위한 도면이다.
도 19는 본 발명의 다양한 실시예들을 구현할 수 있는 예시적인 컴퓨팅 장치를 도시한 도면이다.
도 2는 본 발명의 다른 일 실시예에 따라 그래픽 사용자 인터페이스의 프로토타입을 제공하는 방법을 수행하는 프로세스를 도시한 순서도이다.
도 3 내지 도 5는, 도 2를 참조하여 설명한 실시예에 따라 그래픽 사용자 인터페이스 프로토타입의 인터랙션 시나리오를 기록하는 과정을 설명하기 위한 도면이다.
도 6은 본 발명의 또 다른 일 실시예에 따라 그래픽 사용자 인터페이스의 프로토타입을 제공하는 방법을 수행하는 프로세스를 도시한 순서도이다.
도 7 내지 도 12는, 도 6을 참조하여 설명한 실시예에 따라 그래픽 사용자 인터페이스 프로토타입의 인터랙션 시나리오를 재현하는 과정을 설명하기 위한 도면이다.
도 13은 본 발명의 또 다른 일 실시예에 따라, 그래픽 사용자 인터페이스의 프로토타입의 인터랙션 시나리오를 제공하는 방법을 수행하는 프로세스를 도시한 순서도이다.
도 14 및 도 15는 도 13을 참조하여 설명한 방법의 일부 단계들을 보다 구체적으로 설명하기 위한 도면이다.
도 16은 본 발명의 또 다른 일 실시예에 따라, 그래픽 사용자 인터페이스의 프로토타입을 제공하는 방법을 수행하는 프로세스를 도시한 순서도이다.
도 17 및 도 18은 도 16을 참조하여 설명한 실시예에 따라 그래픽 사용자 인터페이스 프로토타입의 인터랙션 시나리오의 제1 버전과 제2 버전을 재현하는 과정을 설명하기 위한 도면이다.
도 19는 본 발명의 다양한 실시예들을 구현할 수 있는 예시적인 컴퓨팅 장치를 도시한 도면이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제1, 제2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
명세서에서 사용되는 "포함한다 (comprises)" 및/또는 "포함하는 (comprising)"은 언급된 구성 요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성 요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
이하, 본 발명의 몇몇 실시예들에 대하여 첨부된 도면에 따라 상세하게 설명한다.
먼저, 본 명세서에서 사용되는 용어들의 의미에 대해서 설명한다.
우선 "저작자"는 그래픽 사용자 인터페이스의 프로토타입을 만드는 자, 예컨대 디자이너이다. "저작 장치"는 그래픽 사용자 인터페이스 프로토타입을 저작하고, 프로토타입에 구현된 인터랙션들을 시연하는 시나리오를 생성하기 위해 사용되는 장치이다.
다음으로 "열람자"는 저작자가 저작한 프로토타입을 제공받아서 열람하고, 프로토타입에서 추출된 정보를 사용하는 사람, 예컨대 개발자, 기획자, 및/또는 의사결정권자 등이다. "열람 장치"는 프로토타입의 열람을 위해 열람자가 사용하는 장치이다. 열람 장치는 프로토타입을 실행하는 장치, 또는 프로토타입에 대한 인터랙션 시나리오를 재현 또는 재생하는 장치로 이해될 수도 있다. 열람 장치는 저작 대상 그래픽 사용자 인터페이스가 궁극적으로 실행될 타깃 장치와 동일한 유형의 장치일 수 있다.
본 명세서에서 "트리거"는 그래픽 사용자 인터페이스 상의 시각적 변화 및/또는 그래픽 사용자 인터페이스가 구현된 장치의 임의의 반응(reaction) 내지는 피드백(feedback)을 유발하는 이벤트이다. 트리거는, 그래픽 사용자 인터페이스 상에서의 사용자 입력, 센서 등 기타 외부 입력, 또는 그래픽 사용자 인터페이스 상에 발생한 다른 이벤트일 수 있다. 트리거는, 그래픽 사용자 인터페이스가 적용된 장치에 구비된 터치 스크린에 대한 터치 입력 또는 제스처, 마우스나 키보드 등의 장치를 통한 사용자 입력, 상기 장치에 구비된 센서(예컨대, 카메라, 마이크, 가속도 센서, 자이로 센서, 근접 센서, 지자기 센서 등)나 상기 장치 외부에서 상기 장치에 데이터를 제공하는 센서(예컨대, 조도 센서, 온도 센서, 인체감지 센서 등)에 의해 측정된 데이터에 의해 발생되는 이벤트일 수 있다.
본 명세서에서 "리스폰스"는 트리거에 의해 유발되는 반응을 의미한다. 일례로, 리스폰스는 그래픽 사용자 인터페이스의 객체의 표시 속성(위치, 크기, 투명도, 색상, 방위각 등)의 변화일 수 있다. 이 경우, 리스폰스의 출력이란, 객체의 표시 속성을 변경하는 오퍼레이션의 실행을 의미할 수 있다. 다른 예를 들면, 리스폰스는 그래픽 사용자 인터페이스가 구현된 장치의 햅틱 피드백이나 사운드 피드백일 수 있다. 한편, 리스폰스는 다른 리스폰스를 유발하는 트리거로서 작용할 수 있다.
한편, 트리거는, 트리거의 발생 조건에 따라 서로 다른 리스폰스를 유발하도록 정의될 수도 있다.
"인터랙션 세트"는, 트리거 및 상기 트리거에 의해 유발되는 리스폰스의 묶음(collection)을 지칭하는 용어이다.
"인터랙션"은, 그래픽 사용자 인터페이스 상에서 감지되는 이벤트의 발생 및 이에 응답한 일련의 반응의 과정을 포괄적으로 지칭하는 용어이다. 그래픽 사용자 인터페이스는 GUI 객체들 및 일련의 인터랙션들로 구성될 수 있다.
"인터랙션 시나리오"는 그래픽 사용자 인터페이스의 프로토타입에 적용된 인터랙션들의 적어도 일부를 순차적으로 또는 순서 없이 재현하기 위한 데이터이다.
도 1은 본 발명의 일 실시예에 따른 그래픽 사용자 인터페이스 프로토타입 제공 시스템의 구성도이다.
도 1을 참조하면, 상기 프로토타입 제공 시스템은 프로토타입 저작 장치(110), 프로토타입 열람 장치(120), 및 프로토타입 제공 서버(130)로 구성될 수 있다.
프로토타입 저작 장치(110)는, 그래픽 사용자 인터페이스의 프로토타입을 저작하고, 프로토타입에 대한 인터랙션 시나리오를 생성하는 장치이다. 프로토타입 저작 장치(110)는 저작된 프로토타입을 프로토타입 제공 서버(130) 또는 프로토타입 열람 장치(120)에 제공할 수 있다. 프로토타입 저작 장치(110)는, 저작 대상 그래픽 사용자 인터페이스가 적용될 타깃 장치와 동일한 유형의 장치일 수도 있고 상이한 유형의 장치일 수도 있다. 프로토타입의 저작 및/또는 시연 과정에서, 타깃 장치가 프로토타입 저작 장치(110)에 유선 또는 무선으로 연결되어, 프로토타입에 포함될 트리거를 입력 또는 정의하거나, 트리거에 의해 유발되는 리스폰스를 확인하기 위해 이용될 수 있다.
프로토타입 열람 장치(120)는, 그래픽 사용자 인터페이스의 프로토타입을 열람 또는 실행하는 장치이다. 본 명세서에서 "프로토타입의 열람"과 "프로토타입의 실행"은 동일한 의미로 사용된다. 또한 프로토타입 열람 장치(120)는, 그래픽 사용자 인터페이스의 프로토타입에 대한 인터랙션 시나리오를 재현 또는 재생하는 장치일 수 있다. 프로토타입 열람 장치(120)는, 프로토타입 저작 장치(110) 또는 프로토타입 제공 서버(130)로부터, 프로토타입 및/또는 인터랙션 시나리오를 획득할 수 있다.
프로토타입 열람 장치(120)는, 저작 대상 그래픽 사용자 인터페이스가 적용될 타깃 장치와 동일한 유형의 장치일 수도 있고 상이한 유형의 장치일 수도 있다. 프로토타입 열람 장치(120)가 타깃 장치와 상이한 유형의 장치일 경우, 프로토타입 열람 장치(120)의 사용자 인터페이스 내에 디스플레이된, 상기 타깃 장치의 스크린을 모사한 그래픽 객체 내에 상기 프로토타입이 디스플레이되고 실행될 수 있다.
일 실시예에 따르면, 프로토타입 저작 장치(110) 및 프로토타입 열람 장치(120)는 네트워크를 통해 서로 연결될 수 있는 컴퓨팅 장치를 포함하여 구성될 수 있다. 예를 들어, 프로토타입 저작 장치(110) 및 프로토타입 열람 장치(120)는 하나 이상의 프로세서를 포함하여 구성되는 서버, 데스크탑 PC, 노트북, 스마트폰과 같은 장치를 포함하여 구성될 수 있다. 프로토타입 저작 장치(110) 및 프로토타입 열람 장치(120)는 예컨대 도 13에 도시된 컴퓨팅 장치(1500)일 수 있다.
프로토타입 제공 서버(130)는, 프로토타입 저작 장치(110)로부터 프로토타입 및/또는 인터랙션 시나리오를 수신하여, 프로토타입 열람 장치(120)에게 제공할 수 있다. 프로토타입 제공 서버(130)는 파일 서버, 웹 서버 등 다양한 프로토콜을 통해 데이터를 송수신하고 교환하는 임의의 서버일 수 있다.
이하에서는, 도 2 내지 도 5를 참조하여, 본 발명의 다른 일 실시예에 따른 그래픽 사용자 인터페이스의 프로토타입 제공 방법에 대하여 보다 자세히 설명한다. 특히, 프로토타입을 대상으로 하는 인터랙션 시나리오를 생성하는 방법에 관하여 설명한다. 본 실시예의 프로토타입 제공 방법은 프로토타입 저작 장치(110)에 의해 수행될 수 있다.
도 2는 본 실시예에 따라 그래픽 사용자 인터페이스의 프로토타입을 제공하는 방법을 수행하는 프로세스를 도시한 순서도이다.
먼저 단계 S210에서, 프로토타입 저작 장치(110)에 의해 그래픽 사용자 인터페이스 프로토타입(200)이 저작된다. 프로토타입의 저작에는, 그래픽 사용자 인터페이스의 프로토타이핑을 위한 종래의 다양한 툴들과 기법들이 이용될 수 있다. 프로토타입(200)은, 하나 이상의 그래픽 사용자 인터페이스 객체들 및 적어도 일부 객체들과 연관된 인터랙션 세트(즉, 트리거 및 리스폰스의 묶음)들을 포함하는 것일 수 있다.
몇몇 실시예에서는, 프로토타입의 저작 단계 S210에서, 저작 대상 그래픽 사용자 인터페이스가 적용될 타깃 장치가 프로토타입 저작 장치(110)에 유선 또는 무선으로 연결되어, 프로토타입에 포함될 트리거를 입력 또는 정의하거나, 트리거에 의해 유발되는 리스폰스를 확인하기 위해 이용될 수 있다.
단계 S220에서는, 프로토타입 저작 장치(110)가, 상기 프로토타입의 인터랙션 시나리오를 생성하기 위한 사용자 인터페이스(300)를 디스플레이하고, 인터랙션 시나리오 기록 개시 명령을 수신한다.
도 3은, 프로토타입 저작 장치(110)에, 단계 S210에서 저작된 프로토타입(200)을 대상으로 인터랙션 시나리오를 생성하기 위한 사용자 인터페이스(300)가 디스플레이된 예시적인 모습의 보여주는 도면이다. 도 3을 참조하면, 상기 인터페이스(300)는, 저작된 프로토타입(200)을 디스플레이하는 영역과, 인터랙션 시나리오의 생성에 관한 GUI 객체들(304, 306, 308)을 제공하는 영역(302)을 포함한다. 프로토타입 저작 장치(110)의 사용자는, 상기 인터페이스(300) 상에 디스플레이된 프로토타입(300)을 시연(demonstrate) 또는 조작할 수 있다.
단계 S220에서는, 예컨대 상기 사용자 인터페이스(300)의 인터랙션 시나리오 기록 개시 버튼(304)을 선택하는 사용자의 입력(310)이 수신됨으로써, 프로토타입(200)을 대상으로 하는 인터랙션 시나리오의 기록이 시작될 수 있다. 몇몇 실시예에서, 인터랙션 시나리오의 기록이 시작되면, 인터랙션 시나리오 기록 개시 버튼(304)의 표시 속성이 변경되어, 인터랙션 시나리오가 기록되고 있다는 점이 시각적으로 표현될 수 있다.
단계 S230 내지 단계 S250에서는, 프로토타입(200)에 대한 사용자의 시연이 입력되고, 시연이 이루어지는 중에 발생한 인터랙션들이 기록된다. 이때, 프로토타입(200)을 대상으로 사용자의 시연 중에 발생한 일련의 인터랙션들을 녹화한 동영상이 기록되는 것이 아니며, 프로토타입에 포함된 객체들의 변화를 유발하는 트리거의 식별자 및 트리거의 발생 시점 등이 기록되는 것임에 유의한다.
단계 S230 내지 단계 S250에 대해서는 도 4a 내지 도 4c를 참조하여 설명한다.
단계 S230에서는, 프로토타입 저작 장치(110)가 프로토타입(200)에 대한 사용자의 시연 입력을 수신한다. 사용자는, 프로토타입 저작 장치(110)의 인터페이스(300) 상에서 프로토타입(200)에 포함된 객체들과 인터랙션함으로써, 상기 프로토타입(200)을 시연할 수 있으며, 프로토타입 저작 장치(110)는 사용자의 시연에 의해 발생된 데이터를 수신할 수 있다.
도 4a 내지 도 4c는 프로토타입(200)에 대한 사용자의 시연이 이루어지는 도중의 프로토타입(200)의 예시적인 모습을 보여주는 도면이다. 도 4a는 사용자가 프로토타입(200)에 포함된 객체(420)를 터치하는 모습을 도시하며, 도 4b는 상기 터치의 결과, 프로토타입(200)의 객체들(420, 430, 440)의 표시 속성이 변화된 모습을 도시한다. 구체적으로, 도 4b를 참조하면, 객체(420)에 대한 터치 입력으로 인해, 객체(420)의 크기 속성 변화, 객체(430) 및 객체(440)의 투명도 변화가 유발되었다. 다시 말해, 객체(420)의 크기가 확대되었고, 도 4a에 도시된 상태에서는 감춰져 있던 객체(430) 및 객체(440)가 시각적으로 표시되었다. 이 점에서, 객체(420)에 대해 발생한 터치 이벤트는 트리거이고, 객체(420)의 크기 속성 변화, 객체(430) 및 객체(440)의 투명도 변화는 상기 트리거에 의해 유발된 리스폰스들이다. 한편, 프로토타입 저작 장치(110)의 사용자는, 프로토타입(200)의 시연 중에, 상기 객체(420)를 터치하는 대신에, 예컨대 마우스 등의 포인팅 장치로 객체(420)를 클릭하는 동작을 수행함으로써, 상기 객체(420)를 터치하는 이벤트를 상기 트리거로 정의할 수도 있음에 유의한다.
몇몇 실시예에서는, 단계 S230에서, 타깃 장치(미도시)가 프로토타입 저작 장치(110)에 연결되어, 프로토타입(200)의 시연에 이용될 수 있다. 사용자는 타깃 장치 상에서 프로토타입(200)을 조작하여 시연하고, 프로토타입 저작 장치(110)는 타깃 장치로부터 사용자의 시연에 관한 데이터를 수신할 수 있다.
단계 S240에서는, 사용자의 시연 중에 감지된 트리거가 기록된다. 예컨대, 도 4a 및 도 4b를 참조하여 설명한, 객체(420)에 대한 터치 이벤트가 트리거로서 기록될 수 있다. 몇몇 실시예에서는, 상기 트리거에 의해 유발된 리스폰스 또한 기록될 수 있다. 예컨대, 도 4b에 예시적으로 도시된 객체들(420, 430, 440)의 표시 속성 변화가 리스폰스로서 기록될 수 있다. 다른 몇몇 실시예에서, 상기 트리거에 의해 유발된 제1 리스폰스가, 제1 리스폰스와 구별되는 제2 리스폰스를 연쇄적으로 유발한 경우, 제1 리스폰스는 제2 리스폰스를 유발한 트리거로서 기록될 수 있다.
단계 S250에서는, 인터랙션 시나리오의 기록이 종료되었는지 판정된다. 예컨대, 사용자로부터 인터랙션 시나리오 기록 종료 명령이 수신되었는지 여부가 판정된다. 만약 인터랙션 시나리오 기록이 종료되지 않았다면, 단계 S230으로 돌아가서, 사용자의 시연 입력 수신(S230), 사용자의 시연 중에 감지된 트리거 및 리스폰스를 기록(S240)하는 과정이 반복될 수 있다. 예를 들어, 도 4c에 도시된 바와 사용자의 계속된 시연 중에 프로토타입(200)에 포함된 객체(441)에 대한 터치 이벤트가 감지되고, 상기 터치(즉, 트리거)에 의해 유발된 리스폰스가 프로토타입(200)상에 출력되며, 상기 트리거와 리스폰스가 기록될 수 있다.
단계 S260에서는, 사용자의 시연 중에 감지된 트리거들과 리스폰스들에 기초하여, 인터랙션 시나리오가 생성될 수 있다. 본 발명의 실시예들에서, 인터랙션 시나리오는, 프로토타입(200)을 대상으로 사용자의 시연 중에 발생한 일련의 인터랙션들을 녹화한 동영상이 아님에 유의한다.
몇몇 실시예에서, 인터랙션 시나리오는, 사용자의 시연 중에 감지된 트리거에 관한 정보를 포함하되, 트리거에 의해 유발된 리스폰스에 관한 정보는 포함하지 않을 수 있다. 이 경우, 프로토타입 열람 장치(112) 상에서의 인터랙션 시나리오의 재현을 위해서, 인터랙션 시나리오와 프로토타입이 함께 제공되어야 하며, 인터랙션 시나리오는 프로토타입에 트리거를 발생시키는 데이터로서 기능하게 된다. 다른 몇몇 실시예에서, 인터랙션 시나리오는, 트리거 및 리스폰스에 관한 정보를 모두 포함할 수 있다.
몇몇 실시예에서, 인터랙션 시나리오는, 사용자의 시연 중에 감지된 트리거의 발생 시점에 관한 정보를 포함할 수 있다. 예를 들어, 인터랙션 시나리오는, 사용자의 시연 중에 감지된 제1 트리거 및 제2 트리거의 발생 순서에 관한 정보를 포함할 수 있다. 다른 예로서, 인터랙션 시나리오는, 사용자의 시연이 개시된 이후에 제1 트리거 및 제2 트리거가 각각 감지되었을 때까지 경과한 시간에 관한 정보를 포함할 수 있다.
몇몇 실시예에서, 인터랙션 시나리오를 기술하는 데이터는 프로토타입을 기술하는 데이터와 통합되어 제공될 수 있다.
다른 몇몇 실시예에서, 인터랙션 시나리오를 기술하는 데이터는 프로토타입을 기술하는 데이터와 통합되지 않고, 별개의 파일로 저장되어 프로토타입 열람 장치(120) 또는 열람자에게 제공되는 것일 수 있다. 하나의 프로토타입에 대한 복수의 인터랙션 시나리오가 제작되거나, 인터랙션 시나리오가 여러 번 수정되어 순차적으로 제공되는 경우가 빈번하게 발생하는 경우에는, 인터랙션 시나리오 데이터와 프로토타입 데이터를 분리하는 것이 효율적일 수 있다.
단계 S270에서는, 사용자로부터 코멘트 입력이 수신되고, 인터랙션 시나리오에 상기 코멘트에 관한 정보가 부가될 수 있다. 이에 대해서 도 5를 참조하여 설명한다.
도 5를 참조하면, 예컨대 상기 사용자 인터페이스(300)의 코멘트 입력 개시 버튼(306)을 선택하는 사용자의 입력(310)이 수신됨으로써, 사용자의 코멘트 입력이 개시될 수 있다. 상기 코멘트는, 프로토타입(200)의 일부분을 대상으로 한 코멘트이거나, 인터랙션 시나리오의 일부 구간을 대상으로 한 코멘트이거나, 인터랙션 시나리오에 포함된 일부 트리거를 대상으로 한 코멘트이거나, 일부 리스폰스를 대상으로 한 코멘트일 수 있다. 후술하겠지만, 코멘트의 대상에 따라, 프로토타입 열람 장치(120)에 의한 인터랙션 시나리오의 재현 중에, 코멘트가 디스플레이되는 위치, 시점 등이 다를 수 있다.
도 5에 예시적으로 도시된 바와 같이, 프로토타입의 특정 부분을 지정하는 사용자의 입력(510)을 수신함으로써, 상기 프로토타입의 특정 부분이 상기 코멘트의 대상으로 지정될 수 있다. 또한, 코멘트의 대상을 지정하는 사용자의 입력(510)이 수신되면, 상기 사용자 인터페이스(300) 상에 코멘트 입력을 위한 레이어(520)가 표시되고, 사용자로부터 코멘트의 내용을 입력 받을 수 있게 된다.
단계 S280에서는, 인터랙션 시나리오가 저장되고, 프로토타입 제공 서버(130)에 송신되거나 프로토타입 열람 장치(120)에 제공될 수 있다.
도 2 내지 도 5를 참조한 본 실시예의 설명에서는, 인터랙션 시나리오에 포함되는 트리거의 예시로서, 그래픽 사용자 인터페이스 프로토타입(200) 상에서의 사용자 입력을 설명하였지만, 본 발명이 그러한 실시예로 한정되는 것은 아니다. 앞서 설명한 바와 같이, 트리거는 센서에 의해 측정된 데이터 등 외부의 입력에 의해 발생된 이벤트를 포함한다. 프로토타입 저작 장치(110) 상에 제공되는 인터랙션 시나리오를 생성하기 위한 사용자 인터페이스(300)에는, 센서 등 외부 입력에 의해 발생된 이벤트를 트리거로서 지정하고 인터랙션 시나리오에 포함시키기 위한 기능이 제공될 수 있음을 이해할 것이다.
지금까지는 도 2 내지 도 5를 참조하여, 본 발명의 일 실시예에 따라 프로토타입을 대상으로 하는 인터랙션 시나리오를 생성하는 방법에 관하여 설명하였다. 이하에서는 도 6 내지 도 12를 참조하며, 본 발명의 다른 일 실시예에 따라 프로토타입을 대상으로 한 인터랙션 시나리오를 재현하는 방법에 관하여 설명한다. 본 실시예에 따른 인터랙션 시나리오를 재현 방법은, 프로토타입 열람 장치(120)에 의해 수행될 수 있다.
도 6은, 본 발명의 일 실시예에 따라, 그래픽 사용자 인터페이스의 프로토타입을 제공하는 방법을 수행하는 프로세스를 도시한 순서도이다.
먼저 단계 S610에서, 프로토타입 열람 장치(120)는 인터랙션 시나리오를 획득한다. 인터랙션 시나리오는 프로토타입 제공 서버(130) 또는 프로토타입 저작 장치(110)로부터 획득될 수 있다. 그래픽 사용자 인터페이스 프로토타입과 인터랙션 시나리오가 별개의 데이터로 제공되는 실시예에서는, 단계 S610에서 그래픽 사용자 인터페이스의 프로토타입 또한 획득될 수 있다. 몇몇 실시예에서, 그래픽 사용자 인터페이스 프로토타입과 인터랙션 시나리오는, 프로토타입 제공 서버(130) 상에 저장되는 전자문서일 수 있다. 이 경우, 그래픽 사용자 인터페이스 프로토타입과 인터랙션 시나리오는, 프로토타입 열람 장치(120)의 웹 브라우저 등을 통해 상기 전자문서를 가리키는 URL에 접근함으로써 획득될 수 있다.
앞서 설명한 대로, 인터랙션 시나리오는, 프로토타입 저작 장치(110)에서 사용자의 시연 중에 감지된 트리거에 관한 정보를 포함한다. 몇몇 실시예에서, 인터랙션 시나리오는, 상기 감지된 트리거에 의해 유발되는 리스폰스에 관한 정보를 추가로 포함한다. 몇몇 실시예에서, 인터랙션 시나리오는, 트리거의 발생 시점에 관한 정보를 포함할 수 있다. 본 발명의 실시예들에서, 인터랙션 시나리오는, 프로토타입(200)을 대상으로 한 시연 중에 발생된 일련의 인터랙션들을 녹화한 동영상이 아님에 유의한다.
단계 S620에서, 프로토타입 열람 장치(120)가, 프로토타입에 대한 인터랙션 시나리오를 재현하기 위한 사용자 인터페이스(700)를 디스플레이 할 수 있다.
도 7을 참조하면, 인터랙션 시나리오를 재현하기 위한 사용자 인터페이스(700)는 프로토타입(200)을 디스플레이하기 위한 제1 영역(710) 및 인터랙션 시나리오의 재현을 제어하고 인터랙션 시나리오 및 프로토타입(200)의 세부 사항을 디스플레이하기 위한 제2 영역(720)을 포함한다. 단계 S620에서는, 프로토타입(200)이 제1 영역(710)에 디스플레이된다.
도 7을 참조하면, 제2 영역(720)에는, 프로토타입에 연관된 하나 이상의 인터랙션 시나리오 중 어느 하나를 선택하기 위한 GUI 객체(730), 선택된 인터랙션 시나리오에 포함된 하나 이상의 트리거 중 일부를 선택하기 위한 GUI 객체들(740), 선택된 트리거에 의해 유발되는 하나 이상의 리스폰스들에 대응되는 GUI 객체들(750), 인터랙션 시나리오의 재현 또는 재생을 제어하기 위한 객체들(760), 인터랙션 시나리오의 타임라인을 나타내기 위한 프로그래스바(770), 리스폰스들의 개시 시점 및 지속 시간을 나타내는 GUI 객체 등이 디스플레이될 수 있다.
단계 S630에서, 인터랙션 시나리오 재현 개시 명령이 수신된다. 예를 들어, 인터랙션 시나리오의 재현을 제어하기 위한 GUI 객체들(760) 중 재현 시작 버튼을 선택하는 사용자의 입력이 수신될 수 있다.
단계 S640 내지 단계 S660에서는, 프로토타입(200)에 대한 인터랙션 시나리오가 재현되고, 재현이 이루어지는 중에 인터랙션 시나리오에 포함된 트리거들의 발생이 시각화되며, 트리거에 의해 유발되는 리스폰스들이 프로토타입(200) 상에 출력된다. 단계 S640 내지 단계 S660에 대해서는, 도 8a 내지 도 11을 참조하여 설명한다.
단계 S640에서는, 인터랙션 시나리오에 대한 재현이 개시되고, 인터랙션 시나리오에 포함된 트리거의 발생이 시각화된다. 도 9는, 프로토타입(200) 상의 객체(420)에 대한 터치 이벤트가 시각화(910)된 모습을 예시적으로 보여준다. 인터랙션 시나리오에 포함된 트리거는, 상기 프로토타입에 포함된 GUI 객체의 시각적인 변화일 수도 있지만, 상기 프로토타입을 대상으로 한 사용자의 액션, 또는 센서 등 외부 장치의 입력 등, 비시각적인 이벤트일 수 있다. 따라서, 단계 S640에서는 인터랙션 시나리오에 포함된 트리거의 발생을 시각화함으로써, 프로토타입 열람 장치(120)를 통해 프로토타입의 인터랙션 시나리오를 재현하는 사용자(예컨대 개발자 등)로 하여금, 트리거의 발생 사실과 트리거의 속성을 인지할 수 있도록 한다. 한편, 단계 S640에서는, 프로토타입 상에서 이루어지는 사용자의 액션, 센서 등 외부 장치의 입력 등 서로 다른 유형의 트리거의 발생이 서로 다른 방식으로 시각화될 수 있다. 예컨대, 프로토타입(200) 상에서의 탭 제스처와 더블 탭 제스처는 서로 다른 방식으로 시각화될 수 있다. 나아가, 도시되지는 않았지만, 다양한 유형의 센서들의 센서 감지 이벤트를 사용자 인터페이스(700) 상에서 시각화하기 위한 종래의 다양한 기법들이 활용될 수 있다.
단계 S650에서는, 프로토타입(200) 상에서, 상기 트리거에 의해 유발되는 리스폰스가 출력된다. 상기 트리거에 의해 유발되는 리스폰스가 프로토타입에 포함된 GUI 객체의 표시 속성의 변화일 경우, 리스폰스의 출력이란, 객체의 표시 속성을 변경하는 오퍼레이션이 실행되는 동작을 의미한다. 상기 리스폰스가 햅틱 피드백이나 사운드 피드백인 경우, 프로토타입 열람 장치(120)의 진동 장치 또는 스피커에 의하여 햅틱 또는 사운드 피드백이 출력될 수 있다. 한편, 상기 트리거에 의해 유발되는 상기 리스폰스가, 제2 리스폰스를 유발하는 트리거로 작용하는 경우, 상기 제2 리스폰스도 연쇄적으로 출력된다.
단계 S650에서, 리스폰스가 출력되는 동안에, 인터페이스(700) 상에서 각각의 리스폰스를 나타내는 객체들(750)중에, 현재 출력 중인 리스폰스에 대응되는 객체가 시각적으로 강조되어 표시될 수 있다.
도 8a 내지 도 8c는, 프로토타입(200) 상의 객체(420)에 대한 터치 이벤트에 의해 유발되는 프로토타입(200) 상의 GUI 객체들의 표시 속성의 변화 과정 및 사용자 인터페이스(700)의 변화 과정을 순차적으로 나타낸 예시적인 도면이다. 프로토타입(200) 상의 GUI 객체들의 표시 속성 변화는 리스폰스의 일례이다. 도 8a 내지 도 8c의 제1 영역(710)을 참조하면, 객체(420)에 대한 터치 이벤트 발생으로 인해, 시간의 경과에 따라 객체(420)의 크기 속성 변화, 객체(430) 및 객체(440)의 투명도 변화가 유발되었다. 한편, 도 8a 내지 도 8c의 제2 영역(720)을 참조하면, 상기 트리거에 의해 유발되는 리스폰스들이 실행되는 타임라인이 시각적으로 표시될 수 있다.
단계 S660에서는, 인터랙션 시나리오의 재현 중에, 프로토타입(200)에 포함된 객체들의 속성 값의 변화가 디스플레이될 수 있다. 도 10은, 인터랙션 시나리오가 재현되는 도중의 어느 순간에, 사용자가 선택한 객체(1010)의 속성 값들이 디스플레이(1020)된 모습을 예시적으로 보여주는 도면이다. 본 실시예에서는, 인터랙션 시나리오의 재현 도중에 사용자가 선택한 객체(1010)의 위치 좌표, 크기, 투명도 등의 속성이, 인터랙션 시나리오의 재현 중에 어떻게 변화하는지 디스플레이될 수 있다. 몇몇 실시예에서는, 리스폰스들을 나타내는 객체들(750) 중에, 현재 상기 객체의 속성 변화를 일으키는 리스폰스에 대응되는 객체가 인터페이스(700) 상에서 강조 표시될 수 있다.
단계 S670에서는, 인터랙션 시나리오의 재현이 종료되었는지 판단될 수 있다. 예컨대, 인터랙션 시나리오에 포함된 하나 이상의 트리거들에 의한 인터랙션이 모두 재현되었는지 판정될 수 있다. 만약 인터랙션 시나리오의 재현이 종료되지 않았다면 단계 S640으로 돌아가서, 후속 트리거의 발생의 시각화, 상기 후속 트리거에 의해 유발되는 리스폰스 출력, 객체의 속성 값 변화 디스플레이 등의 일련의 동작들이 수행될 수 있다.
한편, 본 실시예에 따르면, 인터랙션 시나리오에 포함된 하나 이상의 트리거 중 선택된 트리거의 속성이 인터페이스(700) 상에 디스플레이될 수 있다. 도 9는, 인터랙션 시나리오에 포함된 복수의 트리거(Trigger#1, Trigger#2) 중 선택된 트리거(Trigger#1)의 세부 사항들이 인터페이스 상에 디스플레이(920)된 모습을 예시적으로 보여주는 도면이다. 본 실시예에서는, 복수의 트리거에 대응되는 GUI 객체들(740) 중 적어도 하나를 선택하는 사용자의 선택에 응답하여, 인터랙션 시나리오의 재현 도중 또는 재현 전후에, 선택된 트리거의 유형, 발생 위치, 발생 조건 등의 세부 속성들이 디스플레이될 수 있다.
또한, 본 실시예에 따르면, 인터랙션 시나리오에 포함된 하나 이상의 리스폰스들 중 선택된 리스폰스의 속성이 인터페이스(700) 상에 디스플레이될 수 있다. 도 11은, 인터랙션 시나리오에 포함된 복수의 리스폰스들 중 선택된 리스폰스(Response#1)의 세부 사항들이 인터페이스 상에 디스플레이(1120)된 모습을 예시적으로 보여주는 도면이다. 본 실시예에서는, 복수의 리스폰스에 대응되는 GUI 객체들(750) 중 적어도 하나를 선택하는 사용자의 선택에 응답하여, 선택된 리스폰스의 유형, 정도(degree), 리스폰스의 타깃이 되는 객체, 개시 시점, 지속 시간 등의 세부 속성들이 디스플레이될 수 있다.
또한, 본 실시예에 따르면, 인터랙션 시나리오에 부가된 코멘트가 인터페이스(700) 상에 디스플레이될 수 있다. 예컨대 프로토타입 저작 장치(110)의 사용자인 저작자가 인터랙션 시나리오에 부가한 코멘트가, 인터랙션 시나리오의 재현 도중 또는 재현 전후에 인터페이스(700) 상에 디스플레이될 수 있다.
전술한 바와 같이, 상기 코멘트는, 프로토타입(200)의 일부분을 대상으로 한 코멘트이거나, 인터랙션 시나리오의 타임라인 상의 일부 구간을 대상으로 한 코멘트이거나, 인터랙션 시나리오에 포함된 일부 트리거를 대상으로 한 코멘트이거나, 일부 리스폰스를 대상으로 한 코멘트일 수 있다.
상기 코멘트가 프로토타입(200)의 특정 객체를 타깃으로 한 코멘트일 경우, 인터랙션 시나리오의 재현 도중에 타깃 객체의 인접한 영역에 코멘트가 디스플레이될 수 있으며, 나아가 상기 타깃 객체와 상기 코멘트의 연관 관계가 시각적으로 표현될 수 있다.
상기 코멘트가 인터랙션 시나리오의 일부 구간을 대상으로 한 코멘트일 경우, 인터랙션 시나리오의 재현 도중의 해당 구간에만 상기 코멘트가 디스플레이될 수도 있다.
상기 코멘트가 인터랙션 시나리오에 포함된 일부 트리거를 타깃으로 한 코멘트일 경우, 인터랙션 시나리오의 재현 중 타깃 트리거가 발생되는 시점에 상기 코멘트가 디스플레이될 수 있다. 나아가 상기 타깃 트리거와 상기 코멘트의 연관 관계가 시각적으로 표현될 수 있다.
상기 코멘트가 인터랙션 시나리오에 포함된 일부 리스폰스를 타깃으로 한 코멘트일 경우, 인터랙션 시나리오의 재현 중 타깃 리스폰스가 출력되는 시점에 상기 코멘트가 디스플레이될 수 있다. 나아가 상기 타깃 리스폰스와 상기 코멘트의 연관 관계가 시각적으로 표현될 수 있다.
전술한 바와 같이, 본 실시예에 따르면, 인터랙션 시나리오의 열람시에, 프로토타입 열람 장치(120)의 사용자(예컨대 애플리케이션 개발자)가 프로토타입에 포함된 트리거 및 리스폰스의 세부 사항 및 인터랙션으로 인한 프로토타입 내 객체들의 표시 속성 변화를 손쉽게 확인할 수 있다. 또한 본 실시예에 따르면, 인터랙션 시나리오의 열람시에, 프로토타입 열람 장치(120)의 사용자(예컨대 애플리케이션 개발자)가 인터랙션 시나리오에 부가된 저작자의 코멘트를 손쉽게 확인할 수 있다. 이로 인해, 프로토타입의 저작자가 의도한 인터랙션의 내용이 개발자 등에게 효과적으로 전달될 수 있다.
본 실시예의 단계 S640 내지 S660를 통해 인터랙션 시나리오가 재현되는 과정은, 사용자의 선택에 따라서 인터랙션 시나리오의 일부를 대상으로 부분적으로 수행될 수 있다. 이 경우, 단계 S640에 앞서서, 인터랙션 시나리오의 일부를 선택하는 사용자의 입력을 획득하고, 선택된 일부를 대상으로 인터랙션 시나리오의 재현이 수행될 수 있다. 인터랙션 시나리오의 일부는, 인터랙션 시나리오의 타임라인 상의 일부 구간, 인터랙션 시나리오에 포함된 하나 이상의 트리거들 중 일부 트리거, 인터랙션 시나리오에 포함된 트리거들에 의해 유발되는 하나 이상의 리스폰스들 중 일부 리스폰스, 프로토타입(200)에 포함된 하나 이상의 객체들 중 일부 객체일 수 있다. 사용자는 인터페이스(700) 상에 디스플레이된 객체들(740, 750, 770) 또는 프로토타입(200)에 포함된 객체들 중 일부를 선별적으로 지정함으로써, 단계 S640 내지 S660을 통해 재현하고자 하는 인터랙션 시나리오의 일부가 선택적으로 재현되도록 할 수 있다.
한편, 본 발명의 몇몇 실시예에 따르면, 트리거는, 트리거의 발생 조건에 따라 서로 다른 리스폰스를 유발하도록 정의될 수도 있다. 다시 말해, 프로토타입은, 조건에 따른 분기를 가지는 인터랙션 세트를 포함할 수 있다. 프로토타입은, 예컨대 트리거 발생과 함께 제1 조건이 만족될 경우 제1 리스폰스가 유발되고, 트리거 발생과 함께 제1 조건이 만족되지 않을 경우 제2 리스폰스가 유발되는 인터랙션 세트를 포함할 수 있다. 도 12는, 이와 같이 조건을 가지는 트리거 및 조건에 따라 유발되는 리스폰스들이, 인터페이스(700)에 디스플레이된 예시적인 모습을 보여주는 도면이다.
도 12를 참조하면, 객체(1210)는 트리거를 나타내고, 객체(1220)는 상기 트리거 발생시 만족될 가능성이 있는 제1 조건을 나타내며, 객체(1230)는 상기 트리거 발생시 만족될 가능성이 있는, 제1 조건과 상이한 제2 조건을 나타낸다. 객체들(1225)은 트리거 발생시 상기 제1 조건이 만족될 경우 유발되는 제1 리스폰스들을 나타내며, 객체들(1235)은 트리거 발생시 상기 제2 조건이 만족될 경우 유발되는 제2 리스폰스들을 나타낸다. 보다 구체적으로, Trigger#1이 발생한 시점에 충족된 조건이 제1 조건(Rectangle 1의 X 좌표가 0)인지 또는 제2 조건(Rectangle 1의 X 좌표가 275)인지에 따라, 서로 다른 리스폰스들(1225, 1235)이 유발되는 인터랙션 세트의 예가 도 12에 도시되었다.
앞서 도 6을 참조하여 설명한 실시예의 단계 S640 내지 S660을 통해, 프로토타입(200)에 대한 인터랙션 시나리오가 재현되는 도중에, 조건에 따른 분기를 가지는 인터랙션 세트가 프로토타입(200) 상에서 재현되는 경우, 트리거의 발생시 만족된 조건과 만족되지 않은 조건이 시각적으로 구분되어 인터페이스(700) 상에 디스플레이될 수 있다. 예컨대, 트리거의 발생시에 제1 조건이 만족되었고 제2 조건이 만족되지 않을 경우, 도 12에 도시된 바와 같이 제2 조건에 관련된 객체들(1230, 1235)은 비활성화된 상태로 디스플레이될 수 있다.
본 발명의 몇몇 실시예에서는, 인터랙션 시나리오의 재현 중 제1 조건이 만족된 상황에서, 제2 조건에 대응되는 제2 리스폰스들이 강제로 출력되도록 하는 기능이 제공될 수 있다. 나아가, 제1 조건이 만족된 상황에서 제2 조건에 대응되는 제2 리스폰스들이 강제로 출력되는 경우, 제2 리스폰스를 나타내는 객체들(1235) 상에 또는 객체들(1235)에 인접하여, 강제 출력을 나타내는 시각적 표시가 디스플레이될 수 있다. 본 발명의 몇몇 실시예에서는, 인터랙션 시나리오의 재현 중에 만족되지 않은 제2 조건에 대응되는 제2 리스폰스들을 강제로 출력할 수 있도록 하는 기능을 제공함으로써, 프로토타입 저작자에 의한 인터랙션 시나리오 생성시에 시연되지 않은 상황에 대해서도 프로토타입 열람자가 재현해 볼 수 있게 된다.
지금까지 도 6 내지 도 12를 참조하여, 본 발명의 일 실시예에 따라 프로토타입을 대상으로 한 인터랙션 시나리오를 재현하는 방법에 관하여 설명하였다. 이하에서는 도 13 내지 도 15를 참조하여, 그래픽 사용자 인터페이스의 프로토타입에 발생한 변경 사항들을 효과적으로 전달하기 위해 이용될 수 있는 방법에 관하여 설명한다.
그래픽 사용자 인터페이스의 프로토타입을 제작하는 과정에서, 프로토타입은 빈번하고 지속적으로 수정된다. 그래픽 사용자 인터페이스 제작자가 기존 버전의 프로토타입을 수정한 경우, 수정된 사항이 무엇인지 애플리케이션 기획자 및/또는 개발자에게 전달할 필요가 있다. 이를 위하여, 프로토타입 제작자는 프로토타입에 포함된 인터랙션들의 수정 사항들을 기술하는 문서를 작성하여 개발자 등에게 전달하거나, 수정된 프로토타입에 대한 인터랙션 시나리오를 처음부터 다시 생성해서 전달해야 하는 상황이 발생할 수 있다. 그 과정에서 많은 시간과 비용이 낭비될 수 있다.
본 실시예는, 그래픽 사용자 인터페이스의 프로토타입에 발생한 변경 사항들을 기존에 제작된 인터랙션 시나리오에 자동으로 반영함으로써, 그래픽 사용자 인터페이스의 프로토타입에 발생한 변경 사항들을 효과적으로 전달하는 방법에 관한 것이다. 본 실시예에 따른 인터랙션 시나리오 제공 방법은 프로토타입 저작 장치(110)에 의해 수행될 수 있다.
도 13을 참조하면, 본 방법은 프로토타입의 제1 버전과 제2 버전의 차이점을 식별하는 단계 S1310 및 프로토타입에 대한 인터랙션 시나리오의 제1 버전을 갱신하여, 프로토타입에 대한 인터랙션 시나리오의 제2 버전을 자동으로 생성하는 단계 S1320를 포함한다.
본 실시예에서, 그래픽 사용자 인터페이스의 프로토타입의 제2 버전은 프로토타입의 제1 버전에 수정을 가한 결과물일 수 있다. 그래픽 사용자 인터페이스의 프로토타입을 수정하는 과정은, 프로토타입에 포함된 트리거, 리스폰스, 및/또는 객체의 추가, 삭제, 속성 값 변경 등을 포함할 수 있다. 다시 말해, 프로토타입의 제1 버전과 제2 버전의 차이점은, 프로토타입에 포함된 트리거, 리스폰스, 및/또는 객체의 추가, 삭제, 속성 값 변경 등을 포함할 수 있다.
본 실시예에서, 프로토타입에 대한 인터랙션 시나리오의 제1 버전은, 프로토타입의 제1 버전을 설명하기 위하여, 예컨대 도 2 내지 도 5를 참조하여 설명한 실시예에 따른 방법에 의하여, 기존에 생성한 인터랙션 시나리오를 지칭한다. 또한 프로토타입에 대한 인터랙션 시나리오의 제2 버전은, 프로토타입에 대한 인터랙션 시나리오의 제1 버전에 기초하여, 프로토타입의 제2 버전에 대하여 자동으로 생성되는 인터랙션 시나리오를 지칭한다.
단계 S1310에서는 프로토타입의 제1 버전과 제2 버전을 비교하여, 프로토타입에 포함된 트리거, 리스폰스, 및/또는 객체의 추가, 삭제, 및 속성 값의 변경 사항들이 식별된다.
단계 S1320에서는 인터랙션 시나리오의 제1 버전에, 상기 식별된 트리거, 리스폰스, 및/또는 객체의 추가, 삭제, 및 속성 값의 변경 사항들이 반영된다.
구체적으로, 프로토타입에 새로운 리스폰스 또는 객체가 추가된 경우, 인터랙션 시나리오의 제1 버전에 상기 리스폰스 또는 객체를 추가함으로써, 인터랙션 시나리오의 제2 버전이 생성될 수 있다. 또한 프로토타입에 기존에 포함되어 있던 리스폰스 또는 객체가 삭제된 경우, 인터랙션 시나리오의 제1 버전으로부터 상기 리스폰스 또는 객체를 삭제함으로써, 인터랙션 시나리오의 제2 버전이 생성될 수 있다. 마찬가지로, 프로토타입에 포함된 리스폰스 또는 객체의 기존 속성 값이 변경된 경우, 상기 변경된 속성 값들을 인터랙션 시나리오의 제1 버전에서 수정함으로써, 인터랙션 시나리오의 제2 버전이 생성될 수 있다.
유사하게, 프로토타입의 제1 버전에 기존에 포함되어 있던 트리거가 삭제되거나 또는 트리거의 속성 값이 변경된 경우, 인터랙션 시나리오의 제1 버전으로부터 상기 트리거를 삭제하거나, 변경된 트리거 속성 값들을 인터랙션 시나리오의 제1 버전에서 수정함으로써, 인터랙션 시나리오의 제2 버전이 생성될 수 있다.
이하에서는 도 14 및 도 15를 참조하여, 프로토타입의 제1 버전에 포함되어 있던 트리거가 새로운 트리거로 대체되거나, 프로토타입의 제1 버전에는 포함되어 있지 않던 새로운 트리거가 프로토타입의 제2 버전에 추가된 경우, 이를 인터랙션 시나리오에 자동으로 반영하기 위한 방법에 대하여 설명한다.
도 14를 참조하면, 단계 S1311에서 프로토타입의 제1 버전으로부터 삭제된 트리거가 식별되고, 단계 S1312에서는 프로토타입의 제2 버전에 새롭게 추가된 트리거가 식별된다. 단계 S1311 및 단계 S1312는 도 13을 참조하여 설명한 단계 S1310의 일부로서 이해될 수 있다.
단계 S1321에서는 제1 버전으로부터 삭제된 트리거가 존재하는지 판정된다. 만약 삭제된 트리거가 없다면 단계 S1331로 진행하고, 삭제된 트리거가 존재한다면 단계 S1341로 진행한다.
단계 S1331에서는 프로토타입의 제2 버전에 새롭게 추가된 트리거가, 인터랙션 시나리오 상에서 삽입되어야 할 위치에 관한 사용자의 입력이 획득된다. 이어서 단계 S1335에서는, 상기 추가된 트리거가 인터랙션 시나리오에 삽입된다. 이때, 단계 S1331에서 획득된 사용자 입력에 기초하여 결정된 위치에 상기 트리거가 삽입된다.
이하에서는 도 15를 참조하여, 단계 S1331에서 트리거의 삽입 위치에 관한 사용자 입력의 획득 과정에 대하여 보다 자세히 설명한다.
도 15를 참조하면, 단계 S1332에서 인터랙션 시나리오의 타임라인이 디스플레이된다. 인터랙션 시나리오의 타임라인은, 예컨대 도 7에 도시된 인터랙션 시나리오에 포함된 트리거들을 나타내는 GUI 객체들(740), 프로그래스바(770), 리스폰스들의 개시 시점 및 지속 시간을 나타내는 GUI 객체들(780) 등에 의하여 디스플레이될 수 있다.
일 실시예에서, 단계 S1333에서는, 인터랙션 시나리오에 포함된 트리거들 중 어느 하나를 선택하는 사용자의 입력이 획득될 수 있다. 예컨대 도 7에 도시된 GUI 객체들(740) 중 어느 하나를 선택하는 사용자의 입력이 획득될 수 있다. 이어서 단계 S1334에서는, 상기 선택된 트리거의 직전 또는 직후의 위치가, 새로운 트리거가 삽입될 위치로서 결정될 수 있다. 몇몇 실시예에서는, 선택된 트리거의 직전에 새로운 트리거가 삽입될지 또는 선택된 트리거의 직후에 새로운 트리거가 삽입될지에 관한 사용자의 입력이 추가로 획득될 수 있다.
다른 일 실시예에서, 단계 S1333에서는, 인터랙션 시나리오의 진행 중의 특정 시점을 나타내는 타임라인 상의 특정 위치를 선택하는 사용자의 입력이 획득될 수 있다. 예를 들어, 도 7에 도시된 프로그래스바(770) 상의 특정 위치 또는 리스폰스들의 개시 시점 및 지속 시간을 나타내는 GUI 객체들(780) 상의 특정 위치를 선택하는 사용자 입력이 획득될 수 있다. 이어서, 단계 S1334에서는, 상기 선택된 타임라인 상의 위치가, 새로운 트리거가 삽입될 위치로서 결정될 수 있다.
다시 도 14를 참조하여 설명한다. 프로토타입의 제2 버전에 새롭게 추가된 트리거가, 도 15를 참조하여 설명한 단계들을 통하여 결정된 위치에 삽입되어(단계 S1335), 인터랙션 시나리오의 제2 버전이 생성될 수 있다(단계 S1351).
한편, 도 14에 도시된 단계 S1321에서 제1 버전으로부터 삭제된 트리거가 존재한다고 판정된 경우, 단계 S1341로 진행한다.
단계 S1341에서는, 프로토타입의 제1 버전으로부터 삭제된 트리거와, 프로토타입의 제2 버전에 추가된 트리거 사이의 유사도가 판정되고, 단계 S1343에서는 상기 유사도가 임계치를 초과하는지 여부가 판정된다.
일 실시예에서, 상기 삭제된 트리거와 상기 추가된 트리거 사이의 유사도는, 각각의 트리거에 의해 유발되는 리스폰스들의 유사도 또는 중첩도에 의해 결정될 수 있다. 삭제된 트리거에 의해 유발되는 리스폰스들과 추가된 트리거에 의해 유발되는 리스폰스들이 서로 일정 비율 이상 중복된다면, 단계 S1343에서 상기 유사도가 임계치를 초과하는 것으로 판정될 수 있다.
반면에 삭제된 트리거에 의해 유발되는 리스폰스들과 추가된 트리거에 의해 유발되는 리스폰스들이 서로 관련이 없다면, 단계 S1343에서 상기 유사도가 임계치 이하라고 판정될 수 있다.
다른 일 실시예에서, 상기 삭제된 트리거와 상기 추가된 트리거 사이의 유사도는, 각각의 트리거에 의해 표시 속성의 변화가 유발되는 GUI 객체가 서로 동일한지 여부에 기초하여 결정될 수 있다. 다시 말해, 상기 삭제된 트리거와 상기 추가된 트리거가 동일한 GUI 객체에 대한 변화를 유발한다면, 상기 삭제된 트리거와 상기 추가된 트리거의 유사도가 높게 평가될 수 있는 반면에, 상기 삭제된 트리거와 상기 추가된 트리거가 서로 다른 GUI 객체에 대한 변화를 유발하는 트리거들이라면, 두 트리거 사이의 유사도가 낮게 평가될 수 있다.
단계 S1343에서 상기 유사도가 임계치 이하일 경우 단계 S1331로 진행한다. 단계 S1343에서 상기 유사도가 임계치를 초과한다고 판정될 경우, 이는 프로토타입의 제2 버전에 추가된 트리거가, 프로토타입의 제1 버전으로부터 삭제된 트리거를 대체하는 것으로 처리되는 것이 바람직할 수 있다. 이 경우 단계 S1345로 진행한다.
단계 S1345에서는 인터랙션 시나리오에서, 상기 삭제된 트리거가 상기 추가된 트리거로 대체된다. 다시 말해, 인터랙션 시나리오의 제1 버전에서 상기 삭제된 트리거가 있던 위치에, 상기 인터랙션 시나리오의 제2 버전에 추가된 트리거가 삽입한다. 이와 같은 트리거의 대체를 반영하여 인터랙션 시나리오의 제2 버전이 자동으로 생성될 수 있다(단계 S1351).
지금까지 도 13 내지 도 15를 참조하여, 그래픽 사용자 인터페이스의 프로토타입에 발생한 변경 사항들을 기존에 제작된 인터랙션 시나리오에 반영함으로써, 변경 사항들이 반영된 인터랙션 시나리오의 새로운 버전을 자동으로 생성하는 방법에 대하여 설명하였다. 본 실시예에 따르면, 프로토타입으로부터 삭제된 트리거, 리스폰스, 및 객체들이나 수정된 속성 값들이 인터랙션 시나리오에도 자동으로 반영되고, 새로 추가된 트리거, 리스폰스, 및 객체들이 인터랙션 시나리오의 적절한 위치에 자동으로 삽입된다. 이로써, 그래픽 사용자 인터페이스의 프로토타입에 발생한 변경 사항들을 별도로 설명하거나, 변경 사항들을 반영한 인터랙션 시나리오의 새로운 버전을 제작할 필요 없이도, 프로토타입의 변경 사항들에 대해 제3자에게 효과적으로 전달될 수 있게 된다.
이하에서는, 도 16 내지 도 18을 참조하여, 그래픽 사용자 인터페이스의 프로토타입의 변경 사항들이 반영된 인터랙션 시나리오를 재현하는 방법에 관하여 설명한다. 특히, 인터랙션 시나리오의 제1 버전과 제2 버전을 함께 재현함으로써, 그래픽 사용자 인터페이스의 프로토타입에 발생한 변경 사항들을 디스플레이하는 방법에 관하여 설명한다. 본 실시예에 따른 인터랙션 시나리오 재현 방법은 프로토타입 열람 장치(120)에 의해 수행될 수 있다.
도 16은, 본 발명의 일 실시예에 따라, 그래픽 사용자 인터페이스의 프로토타입을 제공하는 방법을 수행하는 프로세스를 도시한 순서도이다.
먼저 단계 S1610에서, 프로토타입 열람 장치(120)는 인터랙션 시나리오를 획득한다. 인터랙션 시나리오는 프로토타입 제공 서버(130) 또는 프로토타입 저작 장치(110)로부터 획득될 수 있다. 그래픽 사용자 인터페이스 프로토타입과 인터랙션 시나리오가 별개의 데이터로 제공되는 실시예에서는, 인터랙션 시나리오 외에 그래픽 사용자 인터페이스의 프로토타입 또한 단계 S1610에서 획득될 수 있다.
단계 S1610에서, 프로토타입 열람 장치(120)는 인터랙션 시나리오의 제1 버전 및 제2 버전을 획득할 수 있다. 인터랙션 시나리오의 제1 버전은 프로토타입의 제1 버전에 대하여 생성된 인터랙션 시나리오이고, 인터랙션 시나리오의 제2 버전은 프로토타입의 제2 버전에 대하여 생성된 인터랙션 시나리오일 수 있다. 인터랙션 시나리오의 제1 버전과 제2 버전의 적어도 일부분은 서로 다를 수 있다. 예컨대 인터랙션 시나리오의 제1 버전에 포함된 트리거들과 인터랙션 시나리오의 제2 버전에 포함된 트리거들은 서로 다를 수 있다. 또한, 인터랙션 시나리오의 제1 버전에 포함된 리스폰스들과 인터랙션 시나리오의 제2 버전에 포함된 리스폰스들은 서로 다를 수 있다.
단계 S1620에서, 프로토타입 열람 장치(120)가, 프로토타입에 대한 인터랙션 시나리오의 제1 버전 및 제2 버전을 재현하기 위한 사용자 인터페이스를 디스플레이할 수 있다.
도 17은 본 발명의 일 실시예에 따라 프로토타입에 대한 인터랙션 시나리오의 제1 버전 및 제2 버전을 재현하기 위한 예시적인 사용자 인터페이스이고, 도 18은 본 발명의 다른 일 실시예에 따라 프로토타입에 대한 인터랙션 시나리오의 제1 버전 및 제2 버전을 재현하기 위한 예시적인 사용자 인터페이스이다.
먼저 도 17에 도시된 실시예에서, 사용자 인터페이스는, 인터랙션 시나리오의 제1 버전을 재현하기 위한 제1 영역(1701) 및 인터랙션 시나리오의 제2 버전을 재현하기 위한 제2 영역(1751)을 포함한다. 제1 영역(1701) 및 제2 영역(1751)은, 프로토타입을 디스플레이하기 위한 세부 영역(1710, 1760), 인터랙션 시나리오의 재현을 제어하고 인터랙션 시나리오의 세부 사항과 타임라인을 디스플레이하기 위한 세부 영역(1720, 1770), 프로토타입에 포함된 트리거, 리스폰스, 객체 등에 지정된 속성 값들을 디스플레이하기 위한 세부 영역(1730, 1780) 등을 각각 포함한다. 단계 S1620에서는 프로토타입이 각각 세부 영역(1710, 1760)에 디스플레이된다.
단계 S1630에서, 인터랙션 시나리오 재현 개시 명령이 수신된다. 예를 들어, 인터랙션 시나리오의 재현을 제어하기 위한 GUI 객체들(1726) 중 재현 시작 버튼을 선택하는 사용자의 입력이 수신될 수 있다.
단계 S1640에서는, 프로토타입에 대한 인터랙션 시나리오의 제1 버전 및 제2 버전이 재현되고, 재현이 이루어지는 중에 인터랙션 시나리오에 포함된 트리거들의 발생이 시각화되며, 트리거에 의해 유발되는 리스폰스들이 각각 세부 영역(1710, 1760)에 디스플레이된 프로토타입 상에 출력된다.
몇몇 실시예에서, 단계 S1640에서는, 인터랙션 시나리오의 제1 버전 및 제2 버전은 서로 동기화되어 함께 재현될 수 있다.
인터랙션 시나리오의 제1 버전 및 제2 버전의 동기화된 재현은, 인터랙션 시나리오 재현 개시 명령에 응답하여 제1 버전과 제2 버전의 동시 재현을 포함한다. 구체적으로, 제1 버전은 제1 영역(1701)에서 제2 버전은 제2 영역(1702)에서 동시에 재현될 수 있다.
인터랙션 시나리오의 제1 버전 및 제2 버전의 동기화된 재현은, 인터랙션 시나리오의 제1 버전 및 제2 버전의 차이점을 손쉽게 파악할 수 있도록 한다. 예컨대, 인터랙션 시나리오의 제1 버전에 포함된 복수의 트리거들(1724) 중 어느 하나의 트리거를 사용자가 선택하면, 선택된 트리거에 의해 유발되는 리스폰스들(1725)이 영역(1720) 내에 디스플레이되고, 선택된 트리거에 지정된 세부 속성이 영역(1730) 내에 디스플레이될 수 있다. 나아가 인터랙션 시나리오의 제2 버전에 포함된 복수의 트리거들 중 상기 선택된 트리거에 대응되는 트리거가 식별되고, 식별된 트리거에 의해 유발되는 리스폰스들이 영역(1770) 내에 디스플레이되고, 식별된 트리거에 지정된 세부 속성이 영역(1780) 내에 디스플레이될 수 있다. 유사하게, 인터랙션 시나리오의 제1 버전에 포함된 복수의 리스폰스들(1725) 중 어느 하나의 리스폰스를 사용자가 선택하면, 선택된 리스폰스에 지정된 세부 속성이 영역(1730) 내에 디스플레이되는 한편, 인터랙션 시나리오의 제2 버전에 포함된 복수의 리스폰스들 중 상기 선택된 리스폰스에 대응되는 리스폰스가 식별되고, 식별된 리스폰스에 지정된 세부 속성이 영역(1780) 내에 디스플레이될 수 있다. 이와 같이, 인터랙션 시나리오의 제1 버전 및 제2 버전이 영역(1701, 1751) 내에서 서로 동기화하여 재현됨으로써, 제1 버전 및 제2 버전 사이의 차이점 내지는 변경 사항들을 사용자가 쉽게 파악할 수 있게 된다.
한편 도 18에 도시된 실시예의 경우, 인터랙션 시나리오의 제1 버전과 제2 버전이 하나의 디스플레이 영역 내에서 재현될 수 있다. 이는 제1 버전과 제2 버전이 서로 다른 영역(1701, 1751) 내에서 나란히 재현되는 도 17에 도시된 실시예와는 차이가 있다.
도 18을 참조하면, 사용자 인터페이스는 프로토타입을 디스플레이하기 위한 세부 영역(1810), 인터랙션 시나리오의 재현을 제어하고 인터랙션 시나리오의 세부 사항과 타임라인을 디스플레이하기 위한 세부 영역(1820), 프로토타입에 포함된 트리거, 리스폰스, 객체 등에 지정된 속성 값들을 디스플레이하기 위한 세부 영역(1831, 1832) 등을 포함한다.
도 18에 도시된 실시예에서는, 단계 S1640에서 인터랙션 시나리오의 제1 버전 및 제2 버전이 동기화되어 함께 재현되지만, 하나의 영역에 동시에 재현될 수 있다. 구체적으로, 인터랙션 시나리오의 제1 버전 또는 제2 버전이 동일한 부분은 통상적으로 디스플레이되고, 인터랙션 시나리오의 제1 버전과 제2 버전 사이에 차이가 있는 부분은, 제1 버전의 해당 부분 위에 제2 버전의 해당 부분이 반투명하게 겹쳐서 디스플레이됨으로써, 하나의 영역(1810) 내에 제1 버전 및 제2 버전이 동기화되어 함께 재현될 수 있다.
예를 들어, 도 18은 GUI 프로토타입의 제1 버전과 제2 버전 사이에, GUI 요소(1811, 1812)의 이동 거리에 변경 사항이 발생한 경우를 예시적으로 나타내고 있다. 도 18을 참조하면, GUI 요소(1812)가 GUI 요소(1811) 위에 반투명하게 겹쳐서 디스플레이됨으로써, GUI 요소(1811, 1812)의 이동 거리 변화가 하나의 영역(1810) 내에 동시에 디스플레이될 수 있다.
한편, 다른 몇몇 실시예에서, 인터랙션 시나리오의 제1 버전 및 제2 버전 중에 사용자가 선택한 어느 하나의 버전이 영역(1810) 내에서 재현될 수 있다. 그리고 선택된 버전의 재현 도중에 사용자에 의해 다른 버전이 선택되면, 선택된 다른 버전이 영역(1810) 내에서 이어서 재현될 수 있다.
예를 들어, 사용자의 선택에 의해 인터랙션 시나리오의 제1 버전이 영역(1810) 내에서 재현되다가, 제2 버전의 재현을 요청하는 사용자의 입력이 획득될 수 있다. 이 경우, 재현 중이던 인터랙션 시나리오의 제1 버전에서 현재 출력 중이던 제1 리스폰스가 식별되고, 제1 리스폰스의 출력이 중단될 수 있다. 그리고, 인터랙션 시나리오의 제2 버전에서 제2 리스폰스가 식별될 수 있다. 인터랙션 시나리오의 제2 버전의 제2 리스폰스가 식별되면, 상기 제2 리스폰스가 동일한 영역(1810) 내에 출력되면서, 동일한 영역(1810)에서 인터랙션 시나리오의 제2 버전의 재현이 개시될 수 있다.
이때, 상기 제2 리스폰스는, 인터랙션 시나리오의 제2 버전에 포함된 리스폰스들 중에, 인터랙션 시나리오의 제1 버전에 포함된 제1 리스폰스에 대응되는 리스폰스이다. 예를 들어, 제1 버전에 포함된 제1 리스폰스와 제2 버전에 포함된 제2 리스폰스는 각각의 버전의 타임라인 상에서의 위치가 동일하거나 대응되는 리스폰스들일 수 있다.
이와 같이 본 발명의 몇몇 실시예에서는, 인터랙션 시나리오의 제1 버전이 재현되는 도중에 사용자에 의해 제2 버전의 재현이 요청되는 경우, 현재 재현 중이던 인터랙션 시나리오 상의 타임라인을 그대로 유지하고 현재 사용자가 열람하고 있는 화면을 이탈하지 않은 채로, 동일한 영역(1810) 내에서 제2 버전을 이어서 재현할 수 있다. 그 결과, 사용자는 인터랙션 시나리오의 제1 버전과 제2 버전을 각각 별도로 재현해 보는 번거로움 없이, 제1 버전과 제2 버전 사이의 차이점을 하나의 화면 상에서 손쉽게 확인할 수 있게 된다.
지금까지 도 16 내지 도 18을 참조하여, 그래픽 사용자 인터페이스의 프로토타입에 대한 인터랙션 시나리오의 제1 버전과 제2 버전을 함께 재현함으로써 그래픽 사용자 인터페이스의 프로토타입에 발생한 변경 사항들을 디스플레이하는 방법에 관하여 설명하였다. 본 방법의 몇몇 실시예들에 따르면, 인터랙션 시나리오의 제1 버전 및 제2 버전이 하나의 사용자 인터페이스 화면 내에서 서로 나란히 또는 서로 겹쳐서 디스플레이되면서 동시에 재현됨으로써, 제1 버전과 제2 버전 사이의 차이점 내지는 변경 사항들을 사용자가 쉽게 파악할 수 있게 된다. 본 방법의 다른 몇몇 실시예들에 따르면, 사용자로 하여금 인터랙션 시나리오의 제1 버전과 제2 버전을 하나의 영역 내에서 서로 교차하여 재현해 볼 수 있도록 하는 인터페이스를 제공함으로써, 사용자로 하여금 제1 버전과 제2 버전을 각각 별도로 재현해 보는 번거로움 없이, 양자의 사이의 차이점을 하나의 화면 상에서 손쉽게 확인할 수 있게 한다.
지금까지는 도 2 내지 도 18을 참조하여, 본 발명의 여러 실시예들 따른 그래픽 사용자 인터페이스의 프로토타입 제공 방법을 설명하였다. 이하에서는, 도 19를 참조하여 본 발명의 다양한 실시예에서 설명된 방법들을 구현할 수 있는 예시적인 컴퓨팅 장치(1500)에 대하여 설명하도록 한다.
도 19는 컴퓨팅 장치(1500)를 나타내는 예시적인 하드웨어 구성도이다.
도 19에 도시된 바와 같이, 컴퓨팅 장치(1500)는 하나 이상의 프로세서(1510), 버스(1550), 통신 인터페이스(1570), 프로세서(1510)에 의하여 수행되는 컴퓨터 프로그램(1591)을 로드(load)하는 메모리(1530)와, 컴퓨터 프로그램(1591)를 저장하는 스토리지(1590)를 포함할 수 있다. 다만, 도 19에는 본 발명의 실시예와 관련 있는 구성요소들 만이 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 19에 도시된 구성요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다. 도 19에 도시된 컴퓨팅 장치(1500)는 IaaS(Infrastructure-as-a-Service) 방식의 클라우드 서비스를 제공하는 서버팜(server farm)에 소속된 물리 서버 중 어느 하나를 가리킬 수 있다.
프로세서(1510)는 컴퓨팅 장치(1500)의 각 구성의 전반적인 동작을 제어한다. 프로세서(1510)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 발명의 기술 분야에 잘 알려진 임의의 형태의 프로세서 중 적어도 하나를 포함하여 구성될 수 있다. 또한, 프로세서(1510)는 본 발명의 다양한 실시예들에 따른 방법/동작을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다. 컴퓨팅 장치(1500)는 하나 이상의 프로세서를 구비할 수 있다.
메모리(1530)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(1530)는 본 발명의 다양한 실시예들에 따른 방법/동작들을 실행하기 위하여 스토리지(1590)로부터 하나 이상의 프로그램(1591)을 로드(load) 할 수 있다. 메모리(1530)의 예시는 RAM이 될 수 있으나, 이에 한정되는 것은 아니다.
버스(1550)는 컴퓨팅 장치(1500)의 구성 요소 간 통신 기능을 제공한다. 버스(1550)는 주소 버스(Address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다.
통신 인터페이스(1570)는 컴퓨팅 장치(1500)의 유무선 인터넷 통신을 지원한다. 통신 인터페이스(1570)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다. 이를 위해, 통신 인터페이스(1570)는 본 발명의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다.
스토리지(1590)는 하나 이상의 컴퓨터 프로그램(1591)을 비임시적으로 저장할 수 있다. 스토리지(1590)는 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.
컴퓨터 프로그램(1591)은 본 발명의 다양한 실시예들에 따른 방법/동작들이 구현된 하나 이상의 인스트럭션들을 포함할 수 있다. 컴퓨터 프로그램(1591)이 메모리(1530)에 로드 되면, 프로세서(1510)는 상기 하나 이상의 인스트럭션들을 실행시킴으로써 본 발명의 다양한 실시예들에 따른 방법/동작들을 수행할 수 있다.
지금까지 도 1 내지 도 19를 참조하여 본 발명의 몇몇 실시예들 및 그에 따른 효과들을 언급하였다. 본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 본 명세서의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
지금까지 도 1 내지 도 19를 참조하여 설명된 본 발명의 개념은 컴퓨터가 읽을 수 있는 매체 상에 컴퓨터가 읽을 수 있는 코드로 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체는, 예를 들어 이동형 기록 매체(CD, DVD, 블루레이 디스크, USB 저장 장치, 이동식 하드 디스크)이거나, 고정식 기록 매체(ROM, RAM, 컴퓨터 구비 형 하드 디스크)일 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체에 기록된 상기 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여 다른 컴퓨팅 장치에 전송되어 상기 다른 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 다른 컴퓨팅 장치에서 사용될 수 있다.
이상에서, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다.
도면에서 동작들이 특정한 순서로 도시되어 있지만, 반드시 동작들이 도시된 특정한 순서로 또는 순차적 순서로 실행되어야만 하거나 또는 모든 도시 된 동작들이 실행되어야만 원하는 결과를 얻을 수 있는 것으로 이해되어서는 안 된다. 특정 상황에서는, 멀티태스킹 및 병렬 처리가 유리할 수도 있다. 더욱이, 위에 설명한 실시예들에서 다양한 구성들의 분리는 그러한 분리가 반드시 필요한 것으로 이해되어서는 안 되고, 설명된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 제품으로 함께 통합되거나 다수의 소프트웨어 제품으로 패키지 될 수 있음을 이해하여야 한다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
Claims (7)
- 그래픽 사용자 인터페이스(GUI)의 프로토타입에 대한 인터랙션 시나리오를 제공하는 방법으로서,
프로토타입 저작 장치에 의해, 상기 프로토타입의 제1 버전과 제2 버전을 비교하는 단계; 및
상기 프로토타입 저작 장치에 의해, 상기 프로토타입의 상기 제1 버전을 갱신함으로써, 상기 인터랙션 시나리오의 제2 버전을 생성하는 단계를 포함하되,
상기 프로토타입은,
트리거 및 상기 트리거에 의해 유발되는 리스폰스에 관한 정보를 포함하고,
상기 제1 버전에 대해 기생성된 인터랙션 시나리오는,
상기 프로토타입의 상기 제1 버전에 대한 사용자의 시연 중에 감지된 복수의 트리거들에 관한 정보를 포함하는 것이고,
상기 비교하는 단계는,
상기 프로토타입의 상기 제1 버전의 트리거 및 상기 프로토타입의 상기 제2 버전의 트리거 사이의 트리거 차이를 식별하는 단계를 포함하고,
상기 인터랙션 시나리오의 상기 제2 버전을 생성하는 단계는,
상기 트리거 차이가 표현되도록, 상기 인터랙션 시나리오의 상기 제2 버전을 생성하는 단계를 포함하는,
GUI 프로토타입에 대한 인터랙션 시나리오 제공 방법. - 제1항에 있어서,
상기 인터랙션 시나리오의 상기 제2 버전을 생성하는 단계는,
상기 프로토타입의 상기 제1 버전에서 삭제된 트리거를 식별하는 단계; 및
상기 인터랙션 시나리오의 상기 제1 버전에서 상기 식별된 트리거를 삭제함으로써, 상기 인터랙션 시나리오의 상기 제2 버전을 생성하는 단계를 더 포함하는,
GUI 프로토타입에 대한 인터랙션 시나리오 제공 방법. - 제1항에 있어서,
상기 비교하는 단계는,
상기 인터랙션 시나리오의 상기 제2 버전을 생성하는 단계는,
상기 프로토타입의 상기 제1 버전에서 속성 값이 변경된 트리거를 식별하는 단계; 및
상기 인터랙션 시나리오의 상기 제1 버전에서 상기 식별된 트리거의 속성 값을 수정함으로써, 상기 인터랙션 시나리오의 상기 제2 버전을 생성하는 단계를 더 포함하는,
GUI 프로토타입에 대한 인터랙션 시나리오 제공 방법. - 제1항에 있어서,
상기 인터랙션 시나리오의 상기 제2 버전을 생성하는 단계는,
상기 프로토타입의 상기 제1 버전에서 삭제된 트리거 및 상기 프로토타입의 상기 제2 버전에서 추가된 트리거를 식별하는 단계;
상기 삭제된 트리거와 상기 추가된 트리거의 유사도를 판정하는 단계; 및
상기 유사도가 임계치 초과이라는 판정에 기초하여, 상기 인터랙션 시나리오의 상기 제1 버전에서 상기 삭제된 트리거를 상기 추가된 트리거로 대체함으로써, 상기 인터랙션 시나리오의 상기 제2 버전을 생성하는 단계를 더 포함하는,
GUI 프로토타입에 대한 인터랙션 시나리오 제공 방법. - 제1항에 있어서,
상기 인터랙션 시나리오의 상기 제2 버전을 생성하는 단계는,
상기 프로토타입의 상기 제1 버전에서 삭제된 트리거 및 상기 프로토타입의 상기 제2 버전에서 추가된 트리거를 식별하는 단계;
상기 삭제된 트리거와 상기 추가된 트리거의 유사도를 판정하는 단계; 및
상기 유사도가 임계치 이하라는 판정에 기초하여, 상기 추가된 트리거가 삽입될 위치에 대한 사용자의 입력을 획득함으로써, 상기 인터랙션 시나리오의 상기 제2 버전을 생성하는 단계를 더 포함하는,
GUI 프로토타입에 대한 인터랙션 시나리오 제공 방법. - 제4항에 있어서,
상기 삭제된 트리거와 상기 추가된 트리거의 유사도를 판정하는 단계는,
상기 삭제된 트리거 및 상기 추가된 트리거 각각에 의해 유발되는 리스폰스들이 중복된 비율이 기준치 이상인지 여부를 판정하는 단계를 포함하는,
GUI 프로토타입에 대한 인터랙션 시나리오 제공 방법. - 제4항에 있어서,
상기 삭제된 트리거와 상기 추가된 트리거의 유사도를 판정하는 단계는,
상기 삭제된 트리거에 의해 표시 속성의 변화가 유발되는 제1 GUI 객체와, 상기 추가된 트리거에 의해 표시 속성의 변화가 유발되는 제2 GUI 객체가 서로 동일한지 여부를 판정하는 단계를 포함하는,
GUI 프로토타입에 대한 인터랙션 시나리오 제공 방법.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220051752A KR102497475B1 (ko) | 2020-08-07 | 2022-04-27 | 그래픽 사용자 인터페이스 프로토타입 제공 방법 및 장치 |
KR1020230014594A KR102668652B1 (ko) | 2020-08-07 | 2023-02-03 | 그래픽 사용자 인터페이스 프로토타입 제공 방법 및 장치 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200099116A KR102392886B1 (ko) | 2020-08-07 | 2020-08-07 | 그래픽 사용자 인터페이스 프로토타입 제공 방법 및 장치 |
KR1020220051752A KR102497475B1 (ko) | 2020-08-07 | 2022-04-27 | 그래픽 사용자 인터페이스 프로토타입 제공 방법 및 장치 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200099116A Division KR102392886B1 (ko) | 2019-12-24 | 2020-08-07 | 그래픽 사용자 인터페이스 프로토타입 제공 방법 및 장치 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020230014594A Division KR102668652B1 (ko) | 2020-08-07 | 2023-02-03 | 그래픽 사용자 인터페이스 프로토타입 제공 방법 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220058512A true KR20220058512A (ko) | 2022-05-09 |
KR102497475B1 KR102497475B1 (ko) | 2023-02-08 |
Family
ID=80325527
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200099116A KR102392886B1 (ko) | 2019-12-24 | 2020-08-07 | 그래픽 사용자 인터페이스 프로토타입 제공 방법 및 장치 |
KR1020210037002A KR102385963B1 (ko) | 2020-08-07 | 2021-03-23 | 그래픽 사용자 인터페이스 프로토타입 제공 방법 및 장치 |
KR1020220051752A KR102497475B1 (ko) | 2020-08-07 | 2022-04-27 | 그래픽 사용자 인터페이스 프로토타입 제공 방법 및 장치 |
KR1020230014594A KR102668652B1 (ko) | 2020-08-07 | 2023-02-03 | 그래픽 사용자 인터페이스 프로토타입 제공 방법 및 장치 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200099116A KR102392886B1 (ko) | 2019-12-24 | 2020-08-07 | 그래픽 사용자 인터페이스 프로토타입 제공 방법 및 장치 |
KR1020210037002A KR102385963B1 (ko) | 2020-08-07 | 2021-03-23 | 그래픽 사용자 인터페이스 프로토타입 제공 방법 및 장치 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020230014594A KR102668652B1 (ko) | 2020-08-07 | 2023-02-03 | 그래픽 사용자 인터페이스 프로토타입 제공 방법 및 장치 |
Country Status (1)
Country | Link |
---|---|
KR (4) | KR102392886B1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102710269B1 (ko) * | 2023-05-04 | 2024-09-26 | 스튜디오씨드코리아 주식회사 | 프로토타입의 구성 요소 창작에 대한 기여도 평가 방법 및 그 시스템 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170118576A (ko) | 2016-04-15 | 2017-10-25 | 스튜디오씨드코리아 주식회사 | 프로토타입 제작 방법 및 그 장치 |
KR101818544B1 (ko) | 2016-12-30 | 2018-02-21 | 스튜디오씨드코리아 주식회사 | 인터랙티브 컨텐츠에 대한 코멘트 방법 및 코멘트 시나리오 재연 방법 |
KR20190030517A (ko) * | 2017-09-14 | 2019-03-22 | 스튜디오씨드코리아 주식회사 | 기존의 어플리케이션에 연동되는 프로토타입의 테스트 방법 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180079235A (ko) * | 2018-01-09 | 2018-07-10 | 스튜디오씨드코리아 주식회사 | 인터랙티브 컨텐츠에 대한 코멘트 방법 및 코멘트 시나리오 재연 방법 |
KR102221683B1 (ko) * | 2018-10-16 | 2021-03-03 | 스튜디오씨드코리아 주식회사 | 디지털 컨텐츠 저작 툴의 작업 화면 자동 모드 전환 방법 |
-
2020
- 2020-08-07 KR KR1020200099116A patent/KR102392886B1/ko active IP Right Grant
-
2021
- 2021-03-23 KR KR1020210037002A patent/KR102385963B1/ko active IP Right Grant
-
2022
- 2022-04-27 KR KR1020220051752A patent/KR102497475B1/ko active IP Right Grant
-
2023
- 2023-02-03 KR KR1020230014594A patent/KR102668652B1/ko active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170118576A (ko) | 2016-04-15 | 2017-10-25 | 스튜디오씨드코리아 주식회사 | 프로토타입 제작 방법 및 그 장치 |
KR101818544B1 (ko) | 2016-12-30 | 2018-02-21 | 스튜디오씨드코리아 주식회사 | 인터랙티브 컨텐츠에 대한 코멘트 방법 및 코멘트 시나리오 재연 방법 |
KR20190030517A (ko) * | 2017-09-14 | 2019-03-22 | 스튜디오씨드코리아 주식회사 | 기존의 어플리케이션에 연동되는 프로토타입의 테스트 방법 |
Non-Patent Citations (1)
Title |
---|
네이버 블로그, "소스코드 비교 / 텍스트 비교 무료 프로그램 (AcroDiff)", [online], 2020년 4월 24일, [2022년 5월 10일 검색], 인터넷 URL: https://blog.naver.com/broomee/221926022861* * |
Also Published As
Publication number | Publication date |
---|---|
KR20230022200A (ko) | 2023-02-14 |
KR102385963B1 (ko) | 2022-04-14 |
KR20220018891A (ko) | 2022-02-15 |
KR102392886B1 (ko) | 2022-05-02 |
KR102668652B1 (ko) | 2024-05-31 |
KR20220018711A (ko) | 2022-02-15 |
KR102497475B1 (ko) | 2023-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7351877B2 (ja) | グラフィカルユーザインターフェースプロトタイプの提供方法および装置 | |
TWI459281B (zh) | 在使用者介面顯示上顯現教學動畫 | |
US20090083710A1 (en) | Systems and methods for creating, collaborating, and presenting software demonstrations, and methods of marketing of the same | |
US8589874B2 (en) | Visual interface to represent scripted behaviors | |
US20180210631A1 (en) | Digital flash cards including links to digital content | |
JP2001195165A (ja) | Gui制御方法及び装置並びに記録媒体 | |
TW201025185A (en) | Triggering animation actions and media object actions | |
TW201606622A (zh) | 透過觸覺互動的內容屬性可及性偵測 | |
KR20180013479A (ko) | 사용자 인터페이스 제공 방법 및 장치 | |
US20200396315A1 (en) | Delivery of apps in a media stream | |
US11188209B2 (en) | Progressive functionality access for content insertion and modification | |
KR102668652B1 (ko) | 그래픽 사용자 인터페이스 프로토타입 제공 방법 및 장치 | |
JP2017517802A (ja) | アプリケーションからのグラフィカル出力データの規則に対する準拠の検出 | |
US10698653B2 (en) | Selecting multimodal elements | |
Hawkes | Simulation technologies | |
KR102144433B1 (ko) | 그래픽 사용자 인터페이스 프로토타입 제공 방법 및 장치 | |
US20140059521A1 (en) | Systems and Methods for Editing A Computer Application From Within A Runtime Environment | |
US11327625B2 (en) | Graphical user interface marking feedback | |
US10740410B2 (en) | Method for adding a comment to interactive content by reproducing the interactive content in accordance with a brached comment scenario | |
KR101853322B1 (ko) | 학습 콘텐츠 편집 기능을 가진 학습 애플리케이션 제공 단말 및 그 학습 콘텐츠 편집 방법 | |
Zhou et al. | IslayTouch: an educational visual programming environment based on state-transition diagrams that runs on android devices | |
KR20220168972A (ko) | 애플리케이션 화면을 탐색하는 전자 장치 및 그 동작 방법 | |
KR20210157458A (ko) | 영상 컨텐츠에 대한 합성음 실시간 생성에 기반한 컨텐츠 편집 지원 방법 및 시스템 | |
KR20210046633A (ko) | 단말기, 이의 제어 방법 및 상기 방법을 구현하기 위한 프로그램을 기록한 기록 매체 | |
KR20200006255A (ko) | 전자 문서 내에 포함된 복수의 이미지들을 제어하는 전자 장치 및 그의 동작 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |