KR20150073047A - 플로팅 ui 제공방법 및 그 시스템 - Google Patents

플로팅 ui 제공방법 및 그 시스템 Download PDF

Info

Publication number
KR20150073047A
KR20150073047A KR1020140040504A KR20140040504A KR20150073047A KR 20150073047 A KR20150073047 A KR 20150073047A KR 1020140040504 A KR1020140040504 A KR 1020140040504A KR 20140040504 A KR20140040504 A KR 20140040504A KR 20150073047 A KR20150073047 A KR 20150073047A
Authority
KR
South Korea
Prior art keywords
floating
application
touch screen
displayed
screen device
Prior art date
Application number
KR1020140040504A
Other languages
English (en)
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 KR20150073047A publication Critical patent/KR20150073047A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • 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/0487Interaction 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/0488Interaction 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
    • G06F3/04886Interaction 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 by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

플로팅 UI 시스템 및 그 제공방법이 개시된다. 상기 플로팅 UI 제공방법은 플로팅 UI 시스템이 상기 터치 스크린 장치에서 플로팅 UI를 제1위치에 플로팅(floating)하여 디스플레이 하는 단계, 상기 플로팅 UI 시스템이 상기 터치 스크린 장치에서 회피 UI가 디스플레이되고, 상기 회피 UI의 디스플레이 영역이 상기 제1위치를 포함하는 경우 상기 플로팅 UI를 상기 제1위치와는 다른 소정의 제2위치에 디스플레이하거나 언디스플레이 하는 단계를 포함한다.

Description

플로팅 UI 제공방법 및 그 시스템{Method and system for floating user interface}
본 발명은 플로팅 UI 제공방법 및 그 시스템에 관한 것으로, 보다 상세하게는 사용자가 플로팅 UI를 이용하여 용이하게 터치 스크린 장치(예컨대, 스마트 폰, 타블렛 PC 등)을 제어할 수 있는 방법 및 그 시스템에 관한 것이다.
다양한 터치 스크린 장치(예컨대, 스마트 폰, 타블렛 PC 등)들이 널리 실시되고 있다.
터치 스크린 장치는 사용자의 터치에 의해 소정의 애플리케이션을 실행하거나 상기 터치 스크린 장치에 디스플레이되는 소정의 객체를 제어하여야 하므로, 종래의 데스크 탑 등에서 사용되는 마우스 등의 입력장치를 이용하는 경우에 비해 사용자가 손을 움직여야 하는 궤도 또는 거리가 상대적으로 길어진다는 특징이 있다.
또한 모바일 폰이나 타블렛 PC 등의 터치 스크린 장치는 종래의 노트북이나 데스트탑 등에 비해 적은 키 또는 커맨드를 이용하여 상기 터치 스크린 장치의 전반적인 동작을 제어하여야 하므로, 보다 적은 개수의 유저 인터페이스가 허용된다고 볼 수 있다.
따라서 종래에 키보드나 마우스 등과 같이 다양하고 유니크한 커맨드(command)를 입력할 수 있는 컴퓨팅 환경에 비해 제약적인 사용자 인터페이스가 제공된다고 할 수 있다.
(0001) 대한민국공개특허 제10-2013-0107974 플로팅 사용자 인터페이스 제공 장치 및 방법
본 발명이 이루고자 하는 기술적인 과제는 터치 스크린 장치에서 비교적 작은 횟수의 터치 또는 비교적 손의 움직임의 거리가 짧은 터치를 통해서 터치 스크린 장치에 필요한 다양한 제어(예컨대, 애플리케이션의 실행, 애플리케이션간의 전환, 특정 애플리케이션에서의 실행 등)를 수행할 수 있는 방법 및 그 시스템을 제공하는 것이다.
또한, 플로팅 UI가 사용자의 사용성을 저하시킬 수 있는 경우에 이를 회피 또는 방지할 수 있는 방법 및 시스템을 제공하는 것이다.
상기 기술적 과제를 달성하기 위한 터치 스크린 장치에 설치되어 실행되는 플로팅 UI 시스템을 이용한 플로팅 UI 제공방법은 상기 플로팅 UI 시스템이 상기 터치 스크린 장치에서 플로팅 UI를 제1위치에 플로팅(floating)하여 디스플레이 하는 단계, 상기 플로팅 UI 시스템이 상기 터치 스크린 장치에서 회피 UI가 디스플레이되고, 상기 회피 UI의 디스플레이 영역이 상기 제1위치를 포함하는 경우 상기 플로팅 UI를 상기 제1위치와는 다른 소정의 제2위치에 디스플레이하거나 언디스플레이 하는 단계를 포함한다.
상기 제2위치는 상기 디스플레이 영역과 겹치지 않는 위치 또는 상기 디스플레이 영역에 포함되면서 상기 회피 UI에 포함된 사용자가 선택 가능한 UI와 겹치지 않는 위치인 것을 특징으로 할 수 있다.
상기 플로팅 UI 제공방법은 상기 플로팅 UI 시스템이 상기 회피 UI가 언디스플레이 되는 경우, 상기 플로팅 UI를 상기 제1위치에 디스플레이하는 단계를 더 포함할 수 있다.
상기 플로팅 UI 제공방법은 상기 플로팅 UI 시스템이 상기 회피 UI에 대한 정보를 포함하는 회피 UI 리스트에 대한 정보를 유지하는 단계를 더 포함할 수 있다.
상기 플로팅 UI 제공방법은 상기 회피 UI 리스트에 포함되지 않는 비회피 UI가 상기 터치 스크린 장치에서 디스플레이되고 상기 비회피 UI의 디스플레이 영역이 상기 제1위치를 포함하는 경우, 상기 플로팅 UI 시스템이 상기 플로팅 UI를 상기 제1위치에 계속하여 디스플레이하는 단계를 더 포함할 수 있다.
상기 회피 UI는 키보드 UI를 포함하는 것을 특징으로 할 수 있다.
상기 회피 UI는 상기 플로팅 UI 시스템에 대응되는 플로팅 UI 소프트웨어와는 다른 애플리케이션에 의해 로딩되는 UI인 것을 특징으로 할 수 있다.
상기 기술적 과제를 해결하기 위한 터치 스크린 장치에 설치되어 실행되는 플로팅 UI 시스템을 이용한 플로팅 UI 제공방법은 상기 플로팅 UI 시스템이 상기 터치 스크린 장치에서 플로팅 UI를 제1위치에 플로팅(floating)하여 디스플레이 하는 단계 및 상기 플로팅 UI 시스템이 상기 터치 스크린 장치에서 회피 UI-상기 회피 UI의 디스플레이 영역은 상기 제1위치를 포함함-가 디스플레이 되면, 상기 플로팅 UI를 상기 제1위치와는 다른 소정의 제2위치에 디스플레이하거나 언디스플레이 하고, 비회피 UI-상기 비회피 UI의 디스플레이 영역은 상기 제1위치를 포함함-가 디스플레이되면 상기 제1위치에 계속하여 상기 플로팅 UI를 디스플레이하는 단계를 포함한다.
상기 플로팅 UI 제공방법은 프로그램을 기록한 컴퓨터 판독가능한 기록매체에 저장될 수 있다.
상기 기술적 과제를 해결하기 위한 터치 스크린 장치에 설치되어 실행되는 플로팅 UI 시스템은 상기 터치 스크린 장치에서 소정의 플로팅 UI를 제1위치에 플로팅(floating)하여 디스플레이 하기 위한 디스플레이 모듈 및 상기 디스플레이 모듈을 제어하는 제어모듈을 포함하며, 상기 제어모듈은 상기 터치 스크린 장치에서 회피 UI가 디스플레이되고, 상기 회피 UI의 디스플레이 영역이 상기 제1위치를 포함하는 경우 상기 플로팅 UI를 상기 제1위치와는 다른 소정의 제2위치에 디스플레이하거나 언디스플레이 하도록 제어한다.
상기 기술적 과제를 해결하기 위한 터치 스크린 장치에 설치되어 실행되는 플로팅 UI 시스템은 상기 터치 스크린 장치에서 소정의 플로팅 UI를 제1위치에 플로팅(floating)하여 디스플레이 하기 위한 디스플레이 모듈 및 상기 디스플레이 모듈을 제어하는 제어모듈을 포함하며, 상기 제어모듈은 상기 터치 스크린 장치에서 회피 UI-상기 회피 UI의 디스플레이 영역은 상기 제1위치를 포함함-가 디스플레이 되면, 상기 플로팅 UI를 상기 제1위치와는 다른 소정의 제2위치에 디스플레이하거나 언디스플레이 하고, 비회피 UI-상기 비회피 UI의 디스플레이 영역은 상기 제1위치를 포함함-가 디스플레이되면 상기 제1위치에 계속하여 상기 플로팅 UI를 디스플레이하도록 제어한다.
본 발명의 기술적 사상에 의한 일 실시 예에 의하면, 플로팅 UI를 통해 상기 터치 스크린 장치의 실행 환경에서 언제든지 사용자가 원하는 제어를 수행할 수 있는 효과가 있다. 특히, 단계적으로 사용자가 선택할 수 있는 복수의 UI들을 노출(expose) 시킴으로써 불필요한 UI가 한번에 노출되어 디스플레이 화면을 가리는 단점을 줄일 수 있는 효과가 있다.
또한, 실시 예에 따라서는 한 번의 터치를 수행한 후 상기 터치를 종료하기(터치 스크린에서 떼기) 전에 상기 터치를 이동해가면서 사용자가 원하는 UI 들을 서치할 수 있는 효과가 있고, 터치의 진행방향으로 단계적으로 사용자가 원하는 UI를 제공함으로써 사용자의 터치의 용이성을 제공할 수 있는 효과가 있다.
또한, 종래에 제1애플리케이션이 로딩되는 중에 제2애플리케이션을 로딩하기 위해서는, 홈 버튼을 눌러서 제1애플리케이션을 비활성화한뒤 제2애플리케이션의 아이콘을 탐색하여 상기 제2애플리케이션을 로딩하거나, 또는 상기 제2애플리케이션이 실행중인 상태인 경우에는 터치 스크린 장치의 일단(예컨대, 상단 또는 하단)에서 중앙쪽으로 스와이프를 하여 컨트롤 센터 UI를 활성화한 후, 상기 컨트롤 센터 UI에서 상기 제2애플리케이션을 로딩하기 위한 선택을 하는 등의 복잡하고 여러 번의 터치 및/또는 궤적이 상대적으로 큰 터치를 수행하여야만 했다. 하지만, 본 발명의 기술적 사상에 의하면 상대적으로 적은(또는 한 번의 터치만으로) 간편하게 애플리케이션에서 애플리케이션으로의 전환(이동)이 가능한 효과가 있다.
또한, 특정 애플리케이션(예컨대, 브라우저 등)이 웹 페이지 또는 상기 특정 애플리케이션에서 포함된 복수의 페이지를 네비게이션 할 수 있도록 구현되는 경우에도, 상기 특정 애플리케이션에서 제공되거나 OS에서 제공되는 네비게이션 UI(또는 버튼)을 이용하지 않고도 네비게이션을 수행할 수 있으므로, 본 발명의 기술적 사상에 따른 플로팅 UI의 인근 일정 범위에서만 손가락의 이동(터치의 이동)이 있어도 필요한 대부분의 네비게이션을 수행할 수 있는 효과가 있다.
또한, 브라우저 또는 복수의 메뉴를 갖는 애플리케이션의 경우, 종래에 사용자는 상기 브라우저 또는 상기 애플리케이션을 실행한 후 자신이 원하는 웹 페이지 또는 상기 애플리케이션이 제공하는 메뉴 UI(또는 서비스 UI)를 선택하는 과정을 수행하여야 했다. 하지만, 본 발명의 기술적 사상에 의하면 상기 브라우저 또는 상기 애플리케이션을 로딩하기 전에 미리 상기 브라우저 또는 상기 애플리케이션이 로딩할 웹 페이지 또는 메뉴 UI를 선택할 수 있으므로 비교적 간편한 제어 동작으로 사용자가 원하는 동작을 수행할 수 있는 효과가 있다.
또한, 플로팅 UI가 사용자의 사용성을 저하시킬 수 있는 경우(예컨대, 사용자가 선택하여야 하는 타 UI와 상기 메인 UI가 겹치는 경우)에 상기 플로팅 UI의 위치를 자동으로 이동할 수 있도록 함으로써, 사용성의 저하를 막을 수 있는 효과가 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 본 발명의 실시 예에 따른 플로팅 UI 시스템의 실시 예를 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시 예에 따른 플로팅 UI 시스템의 개략적인 구성을 나타낸다.
도 3은 본 발명의 일 실시 예에 따른 메인 UI의 실시 예를 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시 예에 따른 제1서브 UI의 실시 예를 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시 예에 따른 기능 UI 및 폴더 UI를 설명하기 위한 도면이다.
도 6은 본 발명의 일 실시 예에 따른 네비게이션 기능을 설명하기 위한 도면이다.
도 7 내지 도 9는 본 발명의 일 실시 예에 따른 지정 로딩기능을 설명하기 위한 도면이다.
도 10은 본 발명의 일 실시 예에 따른 UI 회피 기능을 설명하기 위한 도면이다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시 예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.
또한, 본 명세서에 있어서는 어느 하나의 구성요소가 다른 구성요소로 데이터를 '전송'하는 경우에는 상기 구성요소는 상기 다른 구성요소로 직접 상기 데이터를 전송할 수도 있고, 적어도 하나의 또 다른 구성요소를 통하여 상기 데이터를 상기 다른 구성요소로 전송할 수도 있는 것을 의미한다. 반대로 어느 하나의 구성요소가 다른 구성요소로 데이터를 '직접 전송'하는 경우에는 상기 구성요소에서 다른 구성요소를 통하지 않고 상기 다른 구성요소로 상기 데이터가 전송되는 것을 의미한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 실시 예에 따른 플로팅 UI 시스템의 실시 예를 설명하기 위한 도면이다. 또한, 도 2는 본 발명의 일 실시 예에 따른 플로팅 UI 시스템의 개략적인 구성을 나타낸다.
도 1을 참조하면, 본 발명의 실시 예에 따른 플로팅 UI 시스템(100)은 소정의 터치 스크린 장치(예컨대, 모바일 폰, 타블렛 등, 1)에 설치되어 본 발명의 기술적 사상을 구현하기 위한 시스템을 의미할 수 있다. 상기 플로팅 UI 시스템(100)이 상기 터치 스크린 장치(1)에 설치된다고 함은, 상기 플로팅 UI 시스템(100)의 기능을 구현하기 위한 소프트웨어(또는 애플리케이션, 이하 '플로팅 UI 소프트웨어')가 상기 터치 스크린 장치(1)에 설치되고, 설치된 상기 소프트웨어가가 상기 터치 스크린 장치(1)에 구비된 하드웨어와 유기적으로 결합되어 본 발명의 기술적 사상을 구현할 수 있음을 의미할 수 있다.
상기 플로팅 UI 소프트웨어는 상기 터치 스크린 장치(1)가 네트워크를 통해 접속할 수 있는 소정의 네트워크 시스템(예컨대, 앱 스토어 등)을 통해 상기 터치 스크린 장치(1)로 다운로드되어 설치될 수 있다. 구현 예에 따라서는, 상기 터치 스크린 장치(1)와 연결될 수 있는 소정의 포터블 디바이스를 통해 상기 터치 스크린 장치(1)에 설치될 수도 있다. 구현 예에 따라서는 상기 터치 스크린 장치(1)에 디폴트로 설치되어 있을 수도 있다. 다양한 경로를 통해 상기 플로팅 UI 소프트웨어가 상기 터치 스크린 장치(1)에 설치되고, 상기 터치 스크린 장치(1)에 구비된 프로세서에 의해 상기 플로팅 UI 소프트웨어가 실행됨으로써 상기 플로팅 UI 시스템(100)이 구현될 수 있음을 본 발명의 기술분야의 평균적 전문가는 용이하게 추론할 수 있을 것이다.
상기 터치 스크린 장치(1)는 터치 스크린을 포함하는 모든 형태의 데이터 프로세싱 장치를 포함하는 의미로 정의될 수 있다. 일 예에 의하면 상기 터치 스크린 장치(1)는 터치 스크린을 포함하는 모바일 폰, 타블렛 등일 수 있지만, 이에 한정되지 않고 IPTV, 디지털 사이니지(signage), ATM 머신 등 본 발명의 기술적 사상이 적용될 수 있도록 터치 스크린이 구비되고 본 발명의 기술적 사상을 구현하기 위한 소프트웨어가 설치되어 실행될 수 있는 모든 형태의 데이터 프로세싱 장치를 포함하는 의미로 정의될 수 있다.
도 2을 참조하면, 본 발명의 실시 예에 따른 플로팅 UI 시스템(100)은 제어모듈(110), 디스플레이 모듈(120), 및 터치센싱 모듈(130)을 포함한다.
본 명세서에서 모듈이라 함은, 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적, 구조적 결합을 의미할 수 있다. 예컨대, 상기 각각의 구성들은 소정의 코드와 상기 소정의 코드가 수행되기 위한 하드웨어 리소스(resource)의 논리적인 단위를 의미할 수 있으며, 반드시 물리적으로 연결된 코드를 의미하거나, 한 종류나 특정 개수의 하드웨어를 의미하는 것은 아님은 본 발명의 기술분야의 평균적 전문가에게는 용이하게 추론될 수 있다. 따라서, 상기 각각의 구성들은 본 명세서에서 정의되는 기능을 수행하는 하드웨어 및 소프트웨어의 결합을 의미하며 특정 물리적 구성을 의미하는 것은 아니다.
상기 제어모듈(110)은 상기 플로팅 UI 시스템(100)에 포함되는 다른 구성(예컨대, 디스플레이 모듈(120) 및/또는 상기 터치센싱 모듈(130) 등)의 기능 및/또는 리소스(resource)를 제어할 수 있다.
상기 디스플레이 모듈(120)은 본 발명의 기술적 사상에 따른 UI들을 상기 터치 스크린 장치(1)에 구비된 터치 스크린으로 제공하여 상기 UI들이 디스플레이되도록 할 수 있다. 이를 위해 일 예에 의하면, 상기 디스플레이 모듈(120)은 상기 터치 스크린 장치(1)에 구비된 소정의 그래픽 메모리 또는 그래픽 버퍼로 상기 터치 스크린에 표시될 정보들을 출력하는 기능을 수행할 수 있다. 다양한 방식으로 상기 터치 스크린 장치(1)에 구비된 터치 스크린에 원하는 정보를 디스플레이할 수 있도록 구현될 수 있도록 상기 디스플레이 모듈(120)이 구현될 수 있음을 본 발명의 기술분야의 평균적 전문가는 용이하게 추론할 수 있을 것이다.
상기 터치센싱 모듈(130)은 상기 터치 스크린 장치(1)에 구비된 터치 스크린으로 입력되는 터치신호들을 센싱할 수 있다. 상기 터치 스크린은 디스플레이부와 및 터치 센서부를 포함할 수 있으며 상기 터치센싱 모듈(130)은 상기 터치 센서부로부터 센싱되는 신호를 수신하고, 이를 상기 제어모듈(110)로 출력할 수 있다. 상기 터치 센서부는 예컨대, 정전용량 방식(capacitive overlay), 압력식 저항막 방식(resistive overlay), 적외선 감지 방식(infrared beam) 등 다양한 방식으로 구비될 수 있음은 물론이다.
상기 제어모듈(110)은 본 발명의 기술적 사상에 따른 UI들을 디스플레이하도록 상기 디스플레이 모듈(120)을 제어할 수 있다. 상기 제어모듈(110)은 미리 저장된 UI를 상기 디스플레이 모듈(120)로 출력하여 상기 디스플레이 모듈(120)이 상기 UI를 디스플레이하도록 할 수 있다. 또한, 상기 제어모듈(110)은 상기 터치센싱 모듈(130)로부터 사용자로부터 입력된 터치신호의 상태(터치상태, 위치 등)를 수신하고, 그에 따라 본 발명에서 정의된 동작을 수행할 수 있다.
상기 플로팅 UI 시스템(100)은 본 발명의 기술적 사상을 구현하기 위한 소정의 플로팅 UI를 상기 터치 스크린 장치(1)에 디스플레이할 수 있다. 상기 제어모듈(110)은 미리 저장되거나 상기 제어모듈(110)에 의해 생성되는 플로팅 UI에 대한 정보를 상기 디스플레이 모듈(120)로 출력함으로써, 상기 디스플레이 모듈(120)이 상기 플로팅 UI를 디스플레이 하도록 제어할 수 있다.
상기 플로팅 UI의 일 예는 도 3에 도시된다.
도 3은 본 발명의 일 실시 예에 따른 메인 UI의 실시 예를 설명하기 위한 도면이다.
도 3을 참조하면, 상기 플로팅 UI 시스템(100)은 도 3에 도시된 바와 같은 소정의 플로팅 UI(10)를 디스플레이할 수 있다. 상기 플로팅 UI(10)는 사용자의 선택에 따라 위치가 이동될 수도 있다. 예컨대, 상기 플로팅 UI(10)를 일정시간이상 터치하고 있으면, 상기 플로팅 UI(10)는 이동가능한 모드에 진입하게 된다. 그러면 사용자는 상기 터치 스크린 장치(1)의 디스플레이 화면 상에서 자신이 원하는 위치에 상기 플로팅 UI(10)를 드래그(drag) 함으로써 상기 플로팅 UI(10)의 위치를 설정할 수도 있다. 일 예에 의하면, 상기 플로팅 UI(10)는 도 3에 도시된 바와 같이 상기 터치 스크린 장치(1)의 화면 상에 우측에 디폴트로 설정될 수 있다. 이러한 경우 사용자는 오른손의 소정의 손가락(예컨대, 엄지)를 이용하여 상기 플로팅 UI(10)를 제어함으로써 본 발명의 기술적 사상에 따른 기능들을 이용할 수 있다. 물론, 사용자의 선택에 의해 상기 플로팅 UI(10)는 도 3에 도시된 바와 같이 좌측으로 이동될 수도 있으며 그 결과 도 3에 도시된 플로팅 UI(10-1)가 상기 터치 스크린 장치(1)에 디스플레이될 수도 있다. 이러한 경우에는 사용자는 왼손의 소정의 손가락을 이용하여 상기 플로팅 UI(10-1)를 제어할 수도 있다.
상기 도 3에 도시된 바와 같은 상기 플로팅 UI(10)는 본 발명의 실시 예에 따른 플로팅 UI 시스템(100)이 제공하는 UI의 일부일 수 있다. 사용자가 상기 플로팅 UI(10)를 선택할 경우, 상기 플로팅 UI 시스템(100)은 후술할 바와 같은 제1서브 UI 및/또는 제2서브 UI를 디스플레이할 수 있다. 따라서 도 3에 도시된 바와 같이 상기 터치 스크린 장치(1) 상에 디폴트로 디스플레이되고 있는 상기 플로팅 UI(10)를 설명의 편의상 메인 UI로 정의하기로 한다.
상기 메인 UI(10)는 상기 플로팅 UI 시스템(100)이 실행되고 있으면 상기 터치 스크린 장치(1) 상에 기본적으로 디스플레이될 수 있다. 상기 메인 UI(10)는 플로팅 UI일 수 있는데, 플로팅 UI라 함은 상기 터치 스크린 장치(1)의 디스플레이 화면(2)상에 최상위 레이어로 디스플레이되어 상기 터치 스크린 장치(1)에서 로딩되는 애플리케이션 또는 오브젝트의 상위에 디스플레이될 수 있는 UI를 의미할 수 있다. 즉, 도 3에 도시된 바와 같이 상기 메인 UI(10)는 상기 디스플레이 화면(2)에 디스플레이된 타 오브젝트(예컨대, 아이콘 또는 타 UI 등, 2 또는 3)의 상위에 디스플레이될 수 있다. 따라서 마치 상기 메인 UI(10)는 상기 디스플레이 화면(2) 상에서 떠 있는 것과 같은 효과를 줄 수 있으며, 이러한 이유로 플로팅 UI라고 명명될 수 있다. 상기 메인 UI(10)는 일반적으로 타 오브젝트의 상위에 디스플레이될 수 있다. 하지만 구현 예에 따라서는 타 오브젝트의 상위에 디스플레이될 경우, 사용자의 사용성 또는 편의성을 크게 저하시키는 경우가 발생할 수도 있다. 예컨대, 상기 터치 스크린 장치(1)에서 소프트웨어 키보드 즉, 키보드 UI가 디스플레이되는 경우에는, 사용자가 키입력을 하여야 하는 경우일 수 있다. 이때에 상기 메인 UI(10)가 상기 키보드 UI의 특정 키의 상위에 디스플레이되는 경우에는 상기 특정 키의 입력이 어렵거나 불편해질 수 있다. 이처럼 상기 메인 UI(10)가 모든 오브젝트보다 상위에 디스플레이되는 것은 바람직하지 않을 수 있다. 이러한 경우에는 상기 플로팅 UI 시스템(100)은 자동으로 플로팅 UI의 위치를 변환하여 디스플레이할 수도 있다. 또는 한시적으로 상기 플로팅 UI를 디스플레이 하지 않을 수도 있다. 즉, 언디스플레이(undisplay)할 수도 있다. 이러한 기능을 본 명세서에서는 플로팅 UI의 회피 기능이라고 정의하기로 한다. 상기 회피 기능에 대해서는 도 10을 통해 후술하도록 한다.
상기 플로팅 UI 시스템(100)은 상기 플로팅 UI 시스템(100)이 실행되고 있는 동안에는 기본적으로 항상 상기 터치 스크린 장치(1)에서 소정의 위치에 상기 메인 UI(10)를 디스플레이할 수 있다. 물론, 실시 예에 따라 상기 플로팅 UI 시스템(100)은 사용자의 선택에 따라 상기 메인 UI(10)를 숨길 수 있는 기능을 제공할 수도 있다. 이러한 경우에도 상기 플로팅 UI 시스템(100)은 백그라운드에서 실행되고 있는 상태일 수 있으며, 미리 정해진 입력신호가 상기 터치센싱 모듈(130)에 의해 센싱되면 상기 제어모듈(110)은 다시 상기 메인 UI(10)를 플로팅 UI로 디스플레이할 수 있다. 예컨대, 사용자는 상기 터치 스크린 장치(1)의 터치 스크린의 특정 위치를 반복적으로 터치하는 동작을 수행할 수 있으며, 이러한 경우 상기 제어모듈(110)은 상기 특정 위치에 숨겨졌던 상기 메인 UI(10)를 플로팅 UI로써 디스플레이하도록 제어할 수 있다. 다양한 방식으로 상기 메인 UI(10)의 숨김 및/또는 상기 재디스플레이가 수행될 수 있음은 물론이다.
상기 메인 UI(10)가 사용자에 의해 선택되면, 상기 플로팅 UI 시스템(100)은 적어도 하나의 제1서브 UI를 노출(expose) 즉, 디스플레이 시킬 수 있다. 또한, 상기 적어도 하나의 제1서브 UI 중 어느 하나가 선택되면 다시 적어도 하나의 제2서브 UI를 노출시킬 수도 있다.
이처럼 본 발명의 기술적 사상에 의하면, 상기 플로팅 UI 시스템(100)은 미리 정의된 기능을 수행하기 위한 복수의 UI들을 단계적으로 노출시킴으로써 한 번에 상기 복수의 UI 들이 동시에 디스플레이 됨으로써, 불필요하게 상대적으로 화면의 넓은 영역에 상기 복수의 UI들이 디스플레이되는 단점을 보완할 수 있는 효과가 있다.
또한, 본 발명의 실시 예에 따른 상기 플로팅 UI 시스템(100)은 상기 제1서브 UI 및 상기 제2서브 UI가 노출되는 위치에 대해 정의함으로써, 사용자가 자신이 원하는 UI를 선택할 때 터치 동작의 편의성을 제공할 수 있는 효과를 제공할 수 있다.
이러한 일 예는 도 4를 참조하여 설명하도록 한다.
도 4는 본 발명의 일 실시 예에 따른 제1서브 UI의 실시 예를 설명하기 위한 도면이다.
도 4를 참조하면, 본 발명의 기술적 사상에 따른 플로팅 UI 시스템(100)은 터치 스크린 장치(1)가 제공하는 소정의 디스플레이 화면(5) 상에 메인 UI(10)를 플로팅 UI로써 디스플레이할 수 있다. 상기 디스플레이 화면(5)은 예컨대, 상기 터치 스크린 장치(1)에 구비된 OS가 제공하는 홈 화면일 수도 있고, 소정의 애플리케이션일 실행 중인 상태의 화면일 수도 있다. 도 4에서는 본 발명의 기술적 사상에 따른 애플리케이션 간의 네비게이션을 설명하기 위해 상기 디스플레이 화면(5)은 소정의 제1애플리케이션이 실행 중인 상태에서의 화면인 것으로 가정하기로 한다.
상기 디스플레이 화면(5)에서 상기 메인 UI(10)는 사용자가 상기 터치 스크린 장치(1)를 파지한 상태에서 손가락으로 터치할 수 있는 위치에 디폴트로 디스플레이될 수 있다. 상기 위치는 예컨대, 상기 터치 스크린 장치(1)의 양측 일단으로부터 미리 지정된 간격(예컨대, 수 cm) 내일 수 있다.
이러한 상태에서 사용자는 상기 메인 UI(10)를 선택할 수 있다. 그러면, 도 4에 도시된 바와 같은 본 발명의 기술적 사상에 따른 적어도 하나의 제1서브 UI(예컨대, 21 내지 25)가 디스플레이될 수 있다.
본 명세서에서 소정의 UI(예컨대, 10)가 선택된다고 함은, 상기 UI(예컨대, 10)에 상응하는 영역에서 사용자의 터치가 시작되는 제1케이스, 타 영역에서 터치가 시작되어 상기 터치가 유지된 상태(즉, 터치 스크린에서 터치를 떼지 않는 상태)에서 상기 영역에 진입하는 제2케이스, 및 상기 터치가 상기 영역에서 이루어지고 있는 상태(즉, 상기 영역에서 터치가 시작되거나 상기 영역에 터치가 진입된 상태)에서 상기 터치가 종료되는 경우(즉, 터치 스크린에서 터치를 떼는 경우)인 제3케이스를 모두 포함하는 의미일 수 있다. 특히 이러한 경우들 중에서 상기 제3케이스, 즉, 터치가 소정의 UI(예컨대 10)에 상응하는 영역에서 이루어지고 있는 상태(즉, 상기 영역에서 터치가 시작되거나 상기 영역에 터치가 진입된 상태)에서 상기 터치가 종료되는 경우(즉, 터치 스크린에서 터치를 떼는 경우)를 본 명세서에서는 다른 케이스와는 달리 확정 선택이라고 표현하기로 한다.
즉, 확정 선택의 경우에는 이미 이루어지고 있는 터치로 인해 다른 UI를 선택할 가능성이 없이, 최종적으로 또는 확정적으로 확정 선택되는 UI를 선택하게 되는 경우이고, 나머지 케이스에서는 상기 UI(예컨대, 10)의 선택이 다른 UI(예컨대, 21 내지 25)를 선택하기 위한 과정일 수도 있기 때문이다.
이는 본 발명의 기술적 사상이 전술한 바와 같이 도 4 또는 도 5b와 같이 상기 메인 UI(10), 제1서브 UI(예컨대, 21 내지 25), 및/또는 제2서브 UI(예컨대, 31 내지 34)를 동시에 플로팅 UI로써 상기 터치 스크린 장치(1)에 디스플레이하고 있는 것이 아니라, 상기 메인 UI(10)의 선택에 의해 상기 제1서브 UI(예컨대, 21 내지 25)가 디스플레이되고, 상기 제1서브 UI(예컨대, 21 내지 25) 중 어느 하나의 선택에 의해 상기 제2서브 UI(예컨대, 31 내지 34)가 디스플레이되는 단계적인 디스플레이 특징을 가지고 있기 때문일 수 있다.
특히 본 발명의 기술적 사상에 의하면 원터치(즉, 한 번의 터치)로 이처럼 단계적으로 디스플레이되는 UI들 중 임의의 UI를 선택할 수 있도록 하는 기술적 사상을 제공한다. 따라서 소정의 UI가 선택되는 경우에는 전술한 바와 같이 확정 선택인지 비확정 선택인지(예컨대, 상술한 제1케이스 및 제2케이스)가 구분될 필요가 있다.
또한, 원터치로 상기 플로팅 UI 시스템(100)이 제공하는 UI들 중 임의의 UI를 선택할 수 있기 위해서는, 단계적으로 디스플레이되는 상기 제1서브 UI(예컨대, 21 내지 25)와 상기 제2서브 UI(예컨대, 31 내지 34)의 위치를 효율적으로 결정할 필요도 있다.
예컨대, 도 4에 도시된 바와 같이 상기 메인 UI(10)의 선택에 의해 제1서브 UI(예컨대, 21 내지 25)가 디스플레이될 수 있다. 이를 위해 사용자는 상기 메인 UI(10)를 터치한 후, 터치를 유지하고 있을 수 있으며, 상기 플로팅 UI 시스템(100)은 상기 터치가 유지되고 있는 상태에서 한정적으로 상기 제1서브 UI(예컨대, 21 내지 25)를 디스플레이할 수 있다. 이때 상기 제1서브 UI(예컨대, 21 내지 25)는 상기 메인 UI(10)를 기준으로 일정 범위(예컨대, 30) 내에 배치될 수 있다. 상기 범위(에컨대, 30)는 상기 메인 UI(10)로부터 상기 메인 UI(10)를 터치를 유지하고 있는 상태에서 사용자가 터치 중인 손가락을 움직여서 닿을 수 있는 거리 내일 수 있다. 이러한 경우에는 한 손으로 상기 터치 스크린 장치(1)를 쥐고 있으면서, 상기 터치 스크린 장치(1)를 쥐고 있는 손으로 상기 터치까지 수행할 경우에도 사용자가 용이하게 원터치로 본 발명의 기술적 사상에 따라 사용자가 원하는 UI(예컨대, 제1서브 UI(예컨대, 21 내지 25) 또는 제2서브 UI(예컨대, 31 내지 34) 중 어느 하나)를 선택할 수 있도록 하기 위함이다.
또한, 도 5b에 도시된 바와 같이 상기 제1서브 UI(예컨대, 21 내지 25) 중 어느 하나(예컨대, 21)가 선택되면 상기 플로팅 UI 시스템(100)은 제2서브 UI(예컨대, 31 내지 34)를 디스플레이할 수 있다. 즉, 사용자가 상기 메인 UI(10)를 터치로 선택한 후, 상기 터치가 유지된 상태에서 상기 UI(예컨대, 21)를 선택할 수 있다. 그러면 도 5b에 도시된 바와 같이 상기 UI(예컨대, 21)에 상응하는 적어도 하나의 제2서브 UI(예컨대, 31 내지 34)가 디스플레이될 수 있다. 이때 상기 제2서브 UI(예컨대, 31 내지 34)는 상기 메인 UI(10)를 기준으로 상기 범위(예컨대, 30) 밖에 디스플레이될 수 있다. 따라서 사용자는 상기 제1서브 UI(예컨대, 21 내지 25) 중 어느 하나를 선택하도록 터치를 이동(예컨대, 메인 UI(10)에서 상기 UI(21)로의 이동)하면서, 상기 이동의 방향과 동일하거나 유사한 방향(즉, 상기 메인 UI(10)를 기준으로 멀어지는 방향)으로 계속하여 터치를 이동할 수 있다. 이로 인해 제2서브 UI(예컨대, 31 내지 34)의 선택에 있어서도 터치를 이동(제1서브 UI(예컨대, 21 내지 25)의 선택을 위한 이동)하다가 제2서브 UI(예컨대, 31 내지 34)의 선택을 위해 반대측 방향(즉, 메인 UI(10) 쪽 방향)으로 이동하는 것에 비해 훨씬 사용자가 이동이 용이한 터치 궤적을 형성할 수 있는 효과가 있다.
상기 범위(예컨대, 30)는 상기 메인 UI(10)를 포함하는 소정의 가상의 기하도형(예컨대, 원, 타원, 사각형 등)이 형성하는 모서리 또는 경계로 형성될 수 있음은 물론이다. 또한, 상기 제1서브 UI(예컨대, 21 내지 25)는 상기 가상의 기하도형의 모서리 상에 배치되거나, 상기 기하도형의 내부에 위치할 수 있다.
결국, 본 발명의 기술적 사상에 따른 상기 플로팅 UI 시스템(100)은 상기 플로팅 UI 시스템(100)이 제공하는 메인 UI(10), 제1서브 UI(예컨대, 21 내지 25), 및/또는 제2서브 UI(예컨대, 31 내지 34) 중 임의의 UI를 원터치로 확정적으로 선택가능하도록 구현될 수 있다. 즉, 한 번의 터치가 입력된 후, 상기 터치가 유지된 상태에서 메인 UI(10), 제1서브 UI(예컨대, 21 내지 25) 중 어느 하나, 제2서브 UI(예컨대, 31 내지 34) 중 어느 하나가 연속적으로 선택될 수 있다. 또한, 후술할 바와 같이 소정의 애플리케이션 또는 브라우저의 지정 로딩의 경우에는 제2서브 UI(예컨대, 31 내지 34)의 선택 후 소정의 페이지 리스트 또는 메뉴 리스트 중 어느 하나를 더 선택하여야 할 수도 있다. 이러한 경우에는 사용자가 반복적으로 터치를 수행하여야 하는 불편함이 감소되는 효과가 있다. 특히 본 발명의 주요한 목적 중 하나는 상기 플로팅 UI 시스템(100)이 사용자가 용이하게 상기 플로팅 UI 시스템(100)이 제공하는 상기 터치 스크린 장치(1)의 제어동작을 가능하도록 하기 위함이므로 원터치로 상기 플로팅 UI 시스템(100)이 제공하는 UI들 중 임의의 UI를 선택할 수 있도록 함으로써 이러한 효과는 더 커질 수 있다.
하지만, 본 발명의 기술적 사상은 반드시 상술한 바와 같은 원터치를 통해 이루어질 필요는 없다. 즉, 상기 메인 UI(10)를 확정 선택하면, 상기 제1서브 UI(예컨대, 21 내지 25)가 디스플레이되고, 상기 제1서브 UI(예컨대, 21 내지 25) 중 어느 하나를 확정 선택하면 제2서브 UI(예컨대, 31 내지 34)가 디스플레이될 수도 있다. 그리고 상기 제2서브 UI(예컨대, 31 내지 34) 중 어느 하나를 확정 선택함으로써, 확정 선택된 UI에 상응하는 기능이 수행될 수도 있다.
한편, 도 4에 도시된 바와 같이 상기 메인 UI(10)를 선택함으로써, 단계적으로 디스플레이되는 적어도 하나의 제1서브 UI(예컨대, 21 내지 25) 중 적어도 하나는 폴더 UI일 수 있고, 다른 적어도 하나는 기능 UI일 수 있다. 즉, 본 발명의 실시 예에 따른 플로팅 UI 시스템(100)에 의해 제공되는 UI는 폴더 UI 및/또는 기능 UI를 포함할 수 있다. 또한, 본 발명의 기술적 사상에 의하면, 상기 기능 UI 중에는 적어도 하나의 네비게이션 UI(예컨대, 24 또는 25)가 포함될 수도 있다.
상기 폴더 UI 및 상기 기능 UI에 대해서는 도 5를 참조하여 설명하도록 한다. 또한, 상기 네비게이션 UI에 대해서는 도 6을 참조하여 설명하도록 한다.
도 5는 본 발명의 일 실시 예에 따른 기능 UI 및 폴더 UI를 설명하기 위한 도면이다.
도 5를 참조하면, 본 발명의 실시 예에 따른 제1서브 UI(예컨대, 21 내지 25)는 폴더 UI 및 기능 UI를 포함할 수 있다.
폴더 UI라 함은, 상기 폴더 UI를 확정 선택할 경우에는 어떠한 기능도 실행되지 않고 상기 폴더 UI에 대응되는 서브 UI를 디스플레이하기 위한 UI를 의미할 수 있다.
기능 UI라 함은, 상기 기능 UI가 확정 선택될 경우 상기 기능 UI에 대응되도록 미리 결정된 기능이 실행되도록 하기 위한 UI를 의미할 수 있다.
구현 예에 따라서는, 상기 플로팅 UI 시스템(100)이 제공하는 UI 중에는 폴더기능 UI가 포함될 수도 있다. 즉, 상기 폴더기능 UI가 비확정적으로 선택될 경우에는 대응되는 서브 UI가 디스플레이되고, 상기 폴더기능 UI가 확정적으로 선택될 경우에는 상기 폴더기능 UI에 대응되는 기능이 실행되도록 구현된 UI를 의미할 수 있다. 이러한 폴더기능 UI는 예컨대, 도 7에서 후술할 바와 같이 특정 애플리케이션 또는 브라우저를 실행시키기 위한 UI일 수 있다. 즉, 상기 폴더기능 UI가 비 확정적으로 선택될 때에는(예컨대, 터치가 유지된 상태로 상기 폴더기능 UI가 선택되고 있는 경우)에는 상기 폴더기능 UI에 대응되는 서브 UI가 디스플레이될 수 있다. 그러면 사용자는 상기 폴더기능 UI의 서브 UI를 확정 선택할 수도 있고, 상기 폴더기능 UI 자체를 확정 선택할 수도 있다. 이러한 경우, 상기 서브 UI를 확정 선택할 때에도 미리 결정된 소정의 제1기능이 실행되고, 상기 폴더기능 UI 자체를 확정 선택할 때에도 소정의 제2기능이 실행될 수 있다. 이러한 경우가 상기 폴더기능 UI일 수 있다. 상기 폴더기능 UI를 이용하는 실시 예는 도 7에서 보다 상세히 설명하도록 한다.
본 발명의 실시 예에 따른, 폴더 UI, 기능 UI, 및/또는 폴더기능 UI는 상기 제1서브 UI(예컨대, 21 내지 25)에 포함될 수도 있고, 상기 제2서브 UI(예컨대, 31 내지 34)에 포함될 수도 있다.
예컨대, 도 5a에 도시된 바와 같이 상기 제1서브 UI(예컨대, 21 내지 25) 중 소정의 UI(예컨대, 22)는 기능 UI일 수 있다. 사용자는 상기 메인 UI(10)를 선택하고, 터치가 유지된 상태에서 상기 UI(22)를 선택한 후 터치를 뗄 수 있다. 그러면 상기 UI(22)에 대응되도록 미리 정의된 기능이 상기 플로팅 UI 시스템(100)에 의해 실행될 수 있다.
기능 UI의 일 예로써, 미리 설정된 애플리케이션에 대응되는 기능 UI가 설정될 수 있다. 상기 기능 UI가 확정 선택되면, 상기 플로팅 UI 시스템(100)의 제어모듈(110)은 상기 애플리케이션을 호출함으로써 상기 애플리케이션이 로딩되도록 할 수 있다. 상기 애플리케이션이 로딩된다고 함은, 상기 애플리케이션을 실행하거나 이미 실행되고 있는 애플리케이션을 활성화하는 경우를 포함하는 의미일 수 있음은 물론이다.
상기 기능 UI의 다른 일 예로써, 화면 잠금, 상기 터치 스크린 장치(1)의 파워 오프, 또는 상기 메인 UI(10)의 숨기기 기능 등이 있을 수 있다. 또한 상기 터치 스크린 장치(1)의 홈 화면의 호출 등 다양한 기능이 상기 기능 UI에 대응되도록 설정될 수 있으며, 사용자에 의해 상기 기능 UI에 대응되는 소정의 기능이 설정될 수도 있다.
예컨대, 도 5b에 도시된 바와 같이 제1서브 UI(예컨대, 21 내지 25) 중 소정의 UI(예컨대, 21)는 폴더 UI일 수 있다.
상기 폴더 UI는 소정의 기능 또는 소정의 애플리케이션을 그루핑(grouping)하기 위해 이용될 수 있다.
예컨대, 폴더 UI(예컨대, 21)가 선택되면, 적어도 하나의 애플리케이션에 대응되는 제2서브 UI(예컨대, 31 내지 34)들이 상기 플로팅 UI 시스템(100)에 의해 디스플레이될 수 있다. 상기 제2서브 UI(예컨대, 31 내지 34)들에는 다시 폴더 UI가 포함될 수도 있고, 기능 UI가 포함될 수도 있으며, 폴더기능 UI가 포함될 수도 있다. 상기 적어도 하나의 애플리케이션은 동일하거나 유사한 속성을 가진 애플리케이션일 수 있다.
예컨대, 메시징과 관련된 적어도 하나의 애플리케이션이 상기 폴더 UI(예컨대, 21)의 서브 UI에 대응되도록 그루핑될 수 있다. 이러한 경우, 상기 적어도 하나의 애플리케이션을 그룹 애플리케이션으로 정의할 수 있다.
상기 폴더 UI(예컨대, 21)에 상응하는 그룹 애플리케이션 즉, 상기 폴더 UI(예컨대, 21)의 서브 UI에 대응되는 적어도 하나의 애플리케이션은 상기 플로팅 UI 시스템(100)의 제어모듈(110)에 의해 자동으로 분류될 수도 있고, 사용자에 의해 분류될 수도 있다. 상기 터치 스크린 장치(1)에 설치되는 애플리케이션에 소정의 속성이 부여된 경우(예컨대, 게임, 채팅, SNS, 유틸리티, 브라우저, 금융관련 애플리케이션 등의 애플리케이션의 종류, 애플리케이션을 이용할 수 있는 사용자 등) 상기 제어모듈(110)에 의해 상기 폴더 UI(예컨대, 21)에 상응하는 그룹 애플리케이션이 자동으로 분류되고, 분류된 상기 그룹 애플리케이션에 대응되는 UI 각각이 상기 폴더 UI(예컨대, 21)의 서브 UI로 설정될 수 있다. 물론, 상기 서브 UI는 애플리케이션의 로딩뿐만 아니라, 미리 설정된 소정의 기능(예컨대, 홈 화면의 호출, 터치 스크린 장치(1)의 잠금, 파워오프, 특정 하드웨어의 활성화 또는 비활성화 등)에 대응될 수도 있다.
물론, 상기 폴더 UI(예컨대, 21)에 상응하는 그룹 애플리케이션은 사용자에 의해 설정될 수도 있다. 사용자는 자신의 선택에 의해 적어도 하나의 애플리케이션을 그룹으로 분류하고, 분류된 애플리케이션을 상기 폴더 UI(예컨대, 21)에 상응하는 그룹 애플리케이션으로 설정할 수 있다. 이를 위해 상기 플로팅 UI 시스템(100)에 포함된 상기 제어모듈(110)은 상기 폴더 UI(예컨대, 21)에 상응하는 그룹 애플리케이션을 설정하기 위한 소정의 인터페이스를 사용자에게 제공할 수 있음은 물론이다.
한편, 상기 제어모듈(110)은 상기 터치 스크린 장치(1)에서 실행된 애플리케이션의 실행 이력(history)에 기초하여 상기 폴더 UI(예컨대, 21)에 상응하는 그룹 애플리케이션을 자동으로 설정할 수도 있다. 예컨대, 상기 폴더 UI(예컨대, 21)에 상응하는 그룹 애플리케이션은 최근에 실행된 적어도 하나의 애플리케이션으로 설정될 수 있다. 이처럼 실행 이력에 기초하여 상기 폴더 UI(예컨대, 21)에 상응하는 그룹 애플리케이션이 자동으로 설정됨으로써 본 발명의 기술적 사상에 따른 플로팅 UI 시스템(100)을 이용하는 사용자 환경은 사용자에게 편의성을 가져다 줄 수도 있다.
물론, 상기 실행 이력에 기초한 그룹 애플리케이션은 특정 폴더 UI(예컨대, 21)의 서브 UI로 설정되는 것이 아니라, 제1서브 UI로 자동으로 설정될 수도 있다. 즉, 상기 메인 UI(10)를 선택하면 디스플레이되는 상기 제1서브 UI(예컨대, 21 내지 25) 중 적어도 하나는 상기 실행 이력에 기초하여 자동으로 대응되는 애플리케이션이 변경되도록 구현될 수도 있다.
한편, 상기 제1서브 UI(예컨대, 21 내지 25) 또는 상기 제2서브 UI(예컨대, 31 내지 34)에는 본 발명의 기술적 사상에 따른 네비게이션을 수행하는 네비게이션 UI가 포함될 수 있다.
상기 네비게이션 UI는 기능 UI일 수 있으며, 소정의 애플리케이션에서 다른 애플리케이션을 로딩하는 기능을 위해 구비되는 UI일 수 있다. 또는 상기 네비게이션 UI는 현재 로딩되어 있는(즉, 활성화 되어 있는) 애플리케이션에서 페이지 간의 이동을 위해 구비되는 UI일 수도 있다.
예컨대, 종래의 OS에서는 특정 애플리케이션이 로딩되어 있는 상황에서 다른 애플리케이션을 로딩하기 위해서는, 홈 버튼을 선택하거나 컨트롤 센터 등을 활성화하여야 했다. 그리고 로딩하고자 하는 애플리케이션에 상응하는 아이콘을 탐색한 후 상기 아이콘을 선택하여야 로딩하고자 하는 애플리케이션을 로딩할 수 있었다.
하지만 본 발명의 기술적 사상에 따르면 이러한 복잡한 과정 없이, 그리고 여러 번의 터치 및/또는 궤적이 상대적으로 큰 터치를 연속적으로 수행할 필요 없이 상기 메인 UI(10)를 중심으로 약간의 터치의 이동만으로 이러한 애플리케이션 간 전환이 가능한 효과가 있다.
특히 사용자는 로딩하고자 하는 애플리케이션이 상기 플로팅 UI 시스템(100)이 제공하는 기능 UI에 대응되도록 설정된 경우에는, 상기 기능 UI를 확정 선택함으로써 상기 로딩하고자 하는 애플리케이션을 로딩할 수도 있다. 하지만, 특별히 상기 네비게이션 UI를 이용하여 간편하게 로딩하고자 하는 애플리케이션을 로딩할 수도 있다.
또한, 특정 애플리케이션이 로딩된 상태에서 상기 특정 애플리케이션이 최근에 로딩했던 페이지를 로딩하거나, 현재 로딩되고 있는 페이지 이후에 로딩되었던 페이지를 네비게이션할 필요가 있을 수도 있다. 상기 특정 애플리케이션은 (웹)브라우저일 수도 있지만, 구현 예에 따라 브라우저가 아닌 경우에도 이러한 네비게이션이 가능하도록 구현된 애플리케이션이 존재할 수도 있다. 이 때 상기 페이지는 웹 페이지뿐만 아니라, 상기 특정 애플리케이션이 제공하는 서비스 인터페이스(예컨대, 다이알로그(dialog), 서비스(service) 등의 인터페이스)일 수 있다. 이러한 경우 종래에는 상기 특정 애플리케이션이 이러한 네비게이션을 가능하도록 하는 UI(예컨대, 브라우저의 back 버튼, forward 버튼 등)이 구비된 경우에는 상기 UI를 이용해 페이지간 네비게이션을 수행하거나 또는 상기 터치 스크린 장치(1)에 구비된 특정 버튼(예컨대, back 버튼 등)을 이용해 네비게이션을 수행할 수도 있다. 하지만, 이러한 경우 본 발명의 기술적 사상에 따른 메인 UI(10)와 상기 UI 간의 거리가 멀 수 있다는 단점이 있다. 본 발명의 기술적 사상에 의하면, 상기 메인 UI(10)를 기준으로 일정 범위 내에서 이러한 네비게이션이 가능하도록 함으로써, 사용자가 상기 메인 UI(10)로부터 손(또는 손가락)을 멀리 이동하지 않고도 원하는 동작을 수행할 수 있도록 할 수 있다.
이러한 네비게이션 UI를 이용한 애플리케이션 간의 네비게이션에 대해서는 도 6을 참조하여 설명하도록 한다.
도 6은 본 발명의 일 실시 예에 따른 네비게이션 기능을 설명하기 위한 도면이다.
우선 도 6a를 참조하면, 본 발명의 실시 예에 따른 플로팅 UI 시스템(100)의 제어모듈(110)은 도 6a에 도시된 바와 같이 애플리케이션간의 네비게이션 및/또는 특정 애플리케이션이 로딩한 페이지 간의 네비게이션을 위한 로딩 히스토리 정보를 유지할 수 있다. 실시 예에 따라서는, 특정 애플리케이션이 로딩한 페이지 간의 네비게이션의 경우에는 상기 특정 애플리케이션이 자체적으로 로딩 히스토리 정보를 유지하거나 페이지들 간에 계층적인(hierarchy) 로딩 순서가 미리 정해져 있을 수도 있으며, 이러한 경우에는 상기 제어모듈(110)이 상기 특정 애플리케이션에 포워드 또는 백워드 네비게이션을 위한 신호를 전송하거나 함수를 호출함으로써, 상기 특정 애플리케이션 내에서의 네비게이션이 가능하도록 할 수도 있다.
도 6a는 상기 터치 스크린 장치(1)를 통해 순차적으로 소정의 브라우저가 로딩되고, 상기 브라우저를 통해 페이지2(pg2)가 로딩된 후 페이지1(pg1)이 로딩되었다가, 애플리케이션3(App3)이 로딩되고, 애플리케이션2(App2)가 로딩되고, 마지막으로 애플리케이션1(App1)이 로딩된 경우에 상기 제어모듈(110)에 의해 유지될 수 있는 로딩 히스토리 정보를 의미할 수 있다. 상기 로딩 히스토리 정보는 각각의 애플리케이션(예컨대, App1, App2, App3, Browser)이 최초로 로딩된 순차적인 정보 즉, 상기 각각의 애플리케이션(예컨대, App1, App2, App3, Browser)이 실행된 순서에 대한 정보를 포함할 수 있다. 물론, 실시 예에 따라서는, 실행된 후 실행된 상태에서 비활성화되었다가 다시 로딩된 순서에 대한 정보를 포함할 수도 있다. 상기 로딩 히스토리 정보를 어떻게 구현할지는 실시 예에 따라 다양한 변형이 가능할 수 있다. 상기 제어모듈(110)은 상기 로딩 히스토리 정보 중에서 현재 어떠한 애플리케이션이 로딩되고 있는지를 나타내는 소정의 포인터(40)를 유지하고 있을 수 있다. 특정 시점에서 상기 터치 스크린 장치(1)에는 마지막으로 로딩된 상기 애플리케이션1(App1)이 로딩되고 있을 수 있으며, 이때 상기 포인터(40)는 상기 애플리케이션1(App1)을 지시하고 있을 수 있다.
이때 상기 터치 스크린 장치(1)에 디스플레이되고 있는 화면은 도 6b와 같을 수 있다.
도 6b에 도시된 바와 같이 터치 스크린 장치(1)에 디스플레이되고 있는 화면(5)에는 애플리케이션1(App1)이 실행되고 있을 수 있다. 그리고 본 발명의 기술적 사상에 따른 메인 UI(10)가 플로팅 UI로써 디스플레이될 수 있다. 사용자에 의해 상기 메인 UI(10)가 선택되면 상기 네비게이션 UI(예컨대, 24 또는 25)가 상기 플로팅 UI 시스템(100)에 의해 디스플레이될 수 있다. 사용자에 의해 제1네비게이션 UI(예컨대, 25)가 선택되면, 상기 제어모듈(110)은 상기 로딩 히스토리 정보에 기초하여 상기 제1네비게이션 UI(예컨대, 25)에 상응하는 애플리케이션을 판단할 수 있다. 상기 제1네비게이션 UI(예컨대, 25)는 현재 시점에서 최근에 로딩된 애플리케이션의 실행을 요청하는 UI일 수 있으며, 이에 따라 상기 제어모듈(110)은 상기 애플리케이션1(App1)이 로딩되기 전에 로딩되었던 애플리케이션2(App2)를 상기 제1네비게이션 UI(예컨대, 25)에 상응하는 애플리케이션2(App2)으로 판단할 수 있다. 그러면 상기 제어모듈(110)은 판단된 애플리케이션(App2)를 상기 터치 스크린 장치(1)에 로딩시킬 수 있다. 일 예에 의하면, 상기 터치 스크린 장치(1)에서 현재 실행 중인 애플리케이션들에 대해서만 상기 로딩 히스토리 정보가 유지될 수도 있지만, , 구현 예에 따라서는 이미 실행이 종료된 애플리케이션에 대해서도 상기 로딩 히스토리 정보로 유지될 수도 있다. 따라서 상기 애플리케이션2(App2)가 실행 중인 경우에는 상기 제어모듈(110)은 상기 애플리케이션2(App2)를 활성화시킴으로써 상기 애플리케이션2(App2)를 로딩할 수 있고, 이미 종료가 된 경우에는 상기 애플리케이션2(App2)를 실행시킴으로써 상기 애플리케이션2(App2)를 로딩할 수도 있다.
이처럼 본 발명의 기술적 사상에 의하면, 상기 플로팅 UI 시스템(100)이 제공하는 네비게이션 UI(예컨대, 24 또는 25)를 통해 간단히 소정의 애플리케이션에서 다른 애플리케이션으로의 로딩이 가능한 소위 앱 투 앱(App to App) 네비게이션이 가능한 효과가 있다.
상기 애플리케이션2(App2)가 상기 터치 스크린 장치(1)에서 로딩되면, 도 6c에 도시된 바와 같을 수 있다. 그리고 상기 제어모듈(110)은 상기 로딩 히스토리 정보 중 애플리케이션2(App2)를 현재 로딩중인 애플리케이션으로 표시할 수 있도록 포인터(40)가 지시하는 애플리케이션(App1)을 변경하여, 포인터(41)가 애플리케이션2(App2)를 지시하도록 변경할 수 있다.
이후 사용자에 의해 다시 소정의 네비게이션 UI(예컨대, 24 또는 25)가 선택될 수 있다. 이러한 일 예는 도 6d에 도시된다.
도 6d에 도시된 바와 같이 사용자는 메인 UI(10)를 선택할 수 있고, 그러면 상기 네비게이션 UI(예컨대, 24 또는 25)가 디스플레이될 수 있다. 이번에도 사용자는 제1네비게이션 UI(예컨대, 25)를 선택할 수 있다. 그러면 상기 플로팅 UI 시스템(100)은 도 6e에 도시된 바와 같이 애플리케이션3(App3)을 로딩할 수 있다. 그리고 상기 제어모듈(110)에 유지되는 포인터(41)는 애플리케이션3(App3)을 지시하도록 변경될 수 있다. 만약, 사용자가 제2네비게이션 UI(예컨대, 24)를 선택하였다면, 상기 플로팅 UI 시스템(100)은 현재 로딩중인 애플리케이션 직후에 로딩된 애플리케이션 즉, 애플리케이션1(App1)을 상기 터치 스크린 장치(1)에 로딩할 수 있으며, 포인터(41)는 상기 애플리케이션1(App1)을 지시하도록 변경될 수 있음은 물론이다.
도 6e에 디스플레이된 화면에서 사용자는 다시 네비게이션 UI(예컨대, 24 또는 25)을 이용한 네비게이션을 수행할 수 있다. 이러한 일 예는 도 6f에 도시된다.
도 6f에 도시된 바와 같이 사용자는 메인 UI(10)를 선택할 수 있고, 그러면 상기 네비게이션 UI(예컨대, 24 또는 25)가 디스플레이될 수 있다. 이번에도 사용자는 제1네비게이션 UI(예컨대, 25)를 선택할 수 있다. 그러면 상기 플로팅 UI 시스템(100)은 도 6g에 도시된 바와 같이 브라우저(Browser)를 로딩할 수 있다. 그리고 상기 제어모듈(110)에 유지되는 포인터(41)는 브라우저(Browser)를 지시하도록 변경될 수 있다. 만약, 사용자가 제2네비게이션 UI(예컨대, 24)를 선택하였다면, 상기 플로팅 UI 시스템(100)은 현재 로딩중인 애플리케이션(즉, App3) 직후에 로딩된 애플리케이션 즉, 애플리케이션2(App2)을 상기 터치 스크린 장치(1)에 로딩할 수 있으며, 포인터(41)는 상기 애플리케이션2(App2)을 지시하도록 변경될 수 있음은 물론이다.
이처럼 본 발명의 기술적 사상에 의하면, 애플리케이션 간의 네비게이션을 상기 플로팅 UI 시스템(100)이 제공하는 UI를 이용하여 간편하게 수행할 수 있는 효과가 있다.
한편, 본 발명의 실시 예에 따른 플로팅 UI 시스템(100)은 애플리케이션간의 네비게이션 기능만을 제공할 수도 있지만, 특정 애플리케이션에서 로딩된 페이지 간의 네비게이션 기능도 제공할 수 있다. 도 6g 내지 도 6f에서는 상기 특정 애플리케이션이 브라우저인 경우를 예시적으로 도시하고 있지만, 브라우저가 아닌 일반 애플리케이션에서도 로딩되는 페이지 간에 네비게이션이 가능한 경우라면 본 발명의 기술적 사상이 적용될 수 있다.
예컨대, 본 발명의 기술적 사상에 따른 제어모듈(110)이 상기 브라우저의 로딩 히스토리 정보(즉, 로딩된 페이지의 히스토리 정보)를 유지하고 있는 경우라면, 상기 제어모듈(110)은 도 6f에서 제1네비게이션 UI(예컨대, 25)가 선택되었을 때 도 6g에 도시된 바와 같이 상기 브라우저가 최근 로딩된 페이지1(pg1)를 로딩하면서 로딩되도록 할 수 있다. 물론, 상기 브라우저가 실행 중인 상태에서는 현재 로딩되어 있는 페이지1(pg1)의 변경없이 단순히 상기 브라우저의 로딩만 수행될 수 있다. 하지만, 상기 브라우저가 실행이 종료된 상태라면 상기 제어모듈(110)은 상기 브라우저가 로딩(즉, 실행)되면서 상기 페이지1(pg1)을 로딩하도록 제어할 수도 있다. 이를 위해 상기 제어모듈(110)은 상기 브라우저를 호출하면서 상기 페이지1(pg1)에 대한 정보(예컨대, URL)를 파라미터로 전달함으로써 상기 페이지1(pg1)를 로딩하면서 상기 브라우저가 로딩되도록 할 수 있다.
그리고 도 6g의 상태에서 사용자는 도 6h에 도시된 바와 같이 다시 네비게이션 UI(예컨대, 24 또는 25)를 이용하여 네비게이션을 수행할 수 있다. 예컨대, 사용자가 메인 UI(10)를 선택한 후, 제1네비게이션 UI(예컨대, 25)을 선택한 경우라면 상기 제어모듈(110)은 상기 로딩 히스토리 정보를 확인하고, 상기 브라우저가 페이지2(pg2)를 로딩하도록 제어할 수 있으며 그 결과는 도 6i에 도시된 바와 같을 수 있다. 또한, 특정 애플리케이션 내에서의 페이지간의 이동을 위해서는 상기 제어모듈(110)이 페이지의 로딩 히스토리 정보를 유지할 필요가 없을 수도 있다. 이러한 경우에는 상기 제1네비게이션 UI(예컨대, 25)에 대응되는 신호를 상기 특정 애플리케이션(즉, 상기 브라우저)로 전달하면, 상기 특정 애플리케이션이 자체적으로 유지하고 있는 로딩 히스토리 정보에 기초하여 도 6i를 로딩할 수도 있다. 만약, 도 6h에서 사용자가 제2네비게이션 UI(예컨대, 24)를 선택한 경우라면, 상기 제어모듈(110)은 다시 애플리케이션3(App3)을 로딩할 수 있음은 물론이다.
이와 같이 본 발명의 기술적 사상에 따르면 상기 플로팅 UI 시스템(100)은 상기 플로팅 UI 시스템(100)이 제공하는 네비게이션 UI(예컨대, 24 또는 25)를 통해 애플리케이션 간의 네비게이션이 가능하도록 하는 효과가 있다. 또한, 특정 애플리케이션 내에서도 페이지간의 네비게이션이 가능하도록 하는 효과가 있다. 또한, 도 6f에서 도 6g로의 네비게이션에서는 어느 하나의 애플리케이션(예컨대, 애플리케이션3)에서 다른 애플리케이션(예컨대, 브라우저)간의 네비게이션 및 애플리케이션(예컨대, 브라우저) 내에서 페이지간의 네비게이션이 동시에 수행되는 경우(즉, 애플리케이션3에서 브라우저의 페이지1(pg1)로의 네비게이션)도 도시하였다. 그리고 이러한 경우는 상기 브라우저가 실행이 종료된 상태였다가 로딩되는 경우에 유의미할 수 있다. 즉, 상기 브라우저가 종료된 상태에서 상기 플로팅 UI 시스템(100)이 제공하는 네비게이션 기능에 의해 상기 브라우저가 로딩(즉, 실행)될 경우에는 구현 예에 따라 단순히 상기 브라우저의 로딩만 수행될 수 있고, 로딩 시에 로딩할 페이지(예컨대, pg1) 즉, 로딩 페이지의 지정이 수행되지 않을 수도 있다. 하지만, 도 6a에 도시된 바와 같이 상기 제어모듈(110)이 유지하는 로딩 히스토리 정보에 특정 애플리케이션 내에서 로딩된 페이지들의 로딩 히스토리 정보까지 유지되는 경우에는 상기 특정 애플리케이션(예컨대, 브라우저)가 로딩되면서 로딩할 로딩 페이지의 지정까지 가능할 수도 있다.
한편, 본 발명의 기술적 사상에 의하면, 이러한 로딩 페이지의 지정은 로딩 히스토리 정보에 기초하여 진행될 수 있을 뿐만 아니라 상기 플로팅 UI 시스템(100)에 의해 제공되는 별도의 UI에 의해 수행될 수도 있다.
본 발명에서 로딩 페이지라 함은, 소정의 브라우저 또는 애플리케이션이 로딩될 때에 상기 브라우저 또는 애플리케이션에서 로딩할 페이지를 의미할 수 있다. 예컨대, 이미 실행 중인 브라우저 또는 애플리케이션이 로딩될 때에는 상기 브라우저 또는 상기 애플리케이션이 비활성화된 상태에서 활성화되면서 현재 상기 브라우저 또는 상기 애플리케이션에 로딩되어 있는 페이지를 상기 제어모듈(110)이 원하는 페이지 즉, 상기 로딩 페이지로 변경할 수 있다. 이러한 경우에는 상기 브라우저 또는 상기 애플리케이션이 로딩되면서(즉, 활성화되면서) 상기 로딩 페이지가 상기 브라우저 또는 상기 애플리케이션에서 새롭게 로딩될 수 있다. 또한, 상기 브라우저 또는 애플리케이션이 비 실행 중인 상태에서 로딩될 때의 로딩 페이지는 상기 브라우저가 실행되었을 때의 시작 페이지(또는 랜딩(landing) 페이지)를 의미하거나, 상기 애플리케이션이 실행된 후 처음으로 사용자에게 고정적으로 제공되는 서비스 또는 메뉴 인터페이스 등을 의미할 수 있다. 예컨대, 상기 애플리케이션이 브라우저가 아닌 경우에 구현 예에 따라서는 상기 애플리케이션의 로딩 페이지가 어느 하나의 서비스 또는 메뉴 인터페이스로 고정된 경우가 존재할 수도 있고, 가변적일 수도 있다. 예컨대, 상기 애플리케이션이 소정의 인스턴트 메신저 애플리케이션인 경우, 상기 인스턴트 메신저 애플리케이션은 채팅 서비스, 친구정보를 제공하는 서비스, 또는 친구찾기 서비스 등을 제공할 수 있다. 이러한 경우, 각각의 서비스의 초기 인터페이스가 상기 애플리케이션이 제공하는 각각의 페이지가 될 수 있다. 따라서 로딩 페이지는 상기 애플리케이션이 로딩될 때 사용자에게 제공하도록 설정되는 서비스 또는 상기 서비스를 위한 인터페이스를 의미할 수 있다. 본 발명의 기술적 사상에 의하면, 브라우저가 아닌 애플리케이션에서도 실행 후 사용자에게 제공되는 첫 서비스에 해당하는 페이지를 상기 애플리케이션의 로딩 중에 미리 선택하여 로딩할 수 있는 기술적 사상을 제공할 수 있다. 물론, 상기 애플리케이션이 이러한 기능을 허용할 경우에만 가능할 수도 있다.
이처럼 본 발명의 기술적 사상에 의하면, 상기 플로팅 UI 시스템(100)이 제공하는 UI를 통하여 브라우저 또는 브라우저가 아닌 애플리케이션에서 미리 로딩 페이지를 지정하여 로딩을 수행할 수 있도록 하는 기술적 사상을 제공한다. 이하에서는 브라우저 역시 애플리케이션의 한 종류이므로, 브라우저 또는 브라우저가 아닌 애플리케이션을 통칭하여 애플리케이션으로 부르기로 한다.
그리고 소정의 애플리케이션이 로딩되기 전에 로딩 페이지를 지정하여 상기 애플리케이션을 로딩하는 기능을 지정 로딩기능이라고 정의하기로 한다.
도 7 내지 도 9는 본 발명의 일 실시 예에 따른 지정 로딩기능을 설명하기 위한 도면이다.
우선 도 7을 참조하면, 상기 플로팅 UI 시스템(100)은 메인 UI(10)의 선택 후에 소정의 UI(예컨대, 22)를 디스플레이할 수 있다. 상기 UI(예컨대, 22)는 상기 메인 UI(10)의 선택에 의해 디스플레이되는 제1서브 UI(예컨대, 21 내지 25) 중 어느 하나일 수도 있지만, 상기 제1서브 UI(예컨대, 21 내지 25)의 선택에 의해 디스플레이되는 제2서브 UI(예컨대, 31 내지 34) 중 어느 하나일 수도 있다.
상기 UI(예컨대, 22)는 상기 UI(예컨대, 22)가 확정 선택될 경우, 미리 대응되도록 설정된 애플리케이션을 로딩하기 위한 기능 UI일 수 있다. 한편, 상기 UI(예컨대, 22)는 상기 UI(예컨대, 22)가 비확정적으로 선택될 경우(예컨대, 상기 UI(예컨대, 22)에 상응하는 영역으로 터치가 진입할 경우 또는 상기 UI(예컨대, 22)에 상응하는 영역에서 터치가 이루어진 상태에서 터치가 종료되지 않은 경우), 상기 UI(예컨대, 22)에 상응하는 적어도 하나의 서브 UI(예컨대, 22-1 내지 22-4)를 디스플레이할 수 있는 폴더 UI일 수도 있다. 상기 적어도 하나의 서브 UI(예컨대, 22-1 내지 22-4)는 상기 애플리케이션이 로딩할 수 있는 적어도 하나의 로딩 페이지에 대응되는 UI일 수 있다.
구현 예에 따라서는 상술한 기능 UI와 상기 폴더 UI의 기능을 동시에 갖는 폴더기능 UI일 수도 있다. 즉, 상기 UI(예컨대, 22)가 선택되면 상기 서브 UI(예컨대, 22-1 내지 22-4)가 디스플레이되고, 이 상태에서 상기 UI(예컨대, 22)가 확정 선택되면 상기 애플리케이션을 단순히 로딩하는 단순 로딩을 수행하며, 상기 서브 UI(예컨대, 22-1 내지 22-4)가 확정 선택되면 상기 확정 선택된 UI에 상응하는 페이지를 로딩 페이지로 하는 지정 로딩을 수행할 수 있다.
단순 로딩이라 함은 상기 제어모듈(110)에 의한 로딩 페이지의 제어없이 단순히 로딩 즉, 비활성화되어 있는 애플리케이션을 활성화하거나 비실행중인 애플리케이션을 실행하는 것을 의미할 수 있다. 이처럼 단순 로딩이 수행될 경우에는 상기 애플리케이션이 현재 로딩하고 있는 페이지 또는 상기 애플리케이션에서 미리 디폴트로 정의되어 있는 시작 페이지가 로딩 페이지가 될 수 있다. 하지만, 지정 로딩이 수행될 경우에는 상기 제어모듈(110)이 지정하는 즉, 상기 서브 UI(예컨대, 22-1 내지 22-4)를 통해 선택된 페이지가 로딩 페이지가 될 수 있다.
예컨대, 도 7에 도시된 서브 UI(예컨대, 22-1 내지 22-4)는 상기 애플리케이션에 의해 최근에 접속한 페이지들 중 몇 개의 페이지 각각에 대응될 수 있다. 또는 상기 애플리케이션이 브라우저인 경우에는 즐겨찾기로 등록된 페이지들 각각에 대응하도록 상기 서브 UI(예컨대, 22-1 내지 22-4)가 상기 플로팅 UI 시스템(100)에 의해 생성되어 디스플레이될 수도 있다. 또는 사용자에 의해 임의로 상기 서브 UI(예컨대, 22-1 내지 22-4) 각각에 상응하는 페이지들이 미리 설정될 수도 있다. 어떠한 경우든 상기 서브 UI(예컨대, 22-1 내지 22-4)들 자체가 상기 애플리케이션이 로딩할 수 있는 페이지의 리스트를 나타낼 수 있다.
또한, 도 7에서는 상기 서브 UI(예컨대, 22-1 내지 22-4)가 전술한 바와 같이 제2서브 UI(예컨대, 31 내지 34)의 형태로 디스플레이되는 경우를 일 예로 도시하고 있지만, 지정 로딩을 위한 서브 UI(예컨대, 22-1 내지 22-4)는 다른 형태로 디스플레이될 수 있음은 물론이다.
그러면 사용자에 의해 상기 서브 UI(예컨대, 22-1 내지 22-4) 중 어느 하나(예컨대, 22-2)가 선택되면, 상기 제어모듈(110)은 상기 UI(예컨대, 22)에 대응되는 애플리케이션(예컨대, 브라우저)을 로딩하면서 선택된 서브 UI(예컨대, 22-2)에 대응되는 페이지(예컨대, page1)를 로딩 페이지로 하는 지정 로딩을 수행할 수 있다. 그러면 도 8a에 도시된 바와 같이 상기 페이지(예컨대, page1)이 상기 애플리케이션(예컨대, 브라우저)가 로딩되면서 로딩될 수 있다. 상기 지정 로딩이 수행되기 전에 상기 애플리케이션은 실행 중인 상태일 수도 있고, 비 실행중인 상태일 수도 있다.
만약, 사용자에 의해 상기 서브 UI(예컨대, 22-1 내지 22-4) 중 다른 UI(예컨대, 22-3)가 선택되고, 상기 다른 UI(예컨대, 22-3)에 대응되는 페이지가 page2인 경우라면 상기 제어모듈(110)은 도 8b에 도시된 바와 같이 상기 UI(예컨대, 22)에 대응되는 애플리케이션(예컨대, 브라우저)을 로딩하면서 상기 페이지(예컨대, page2)를 로딩 페이지로 하는 지정 로딩을 수행할 수 있다.
만약 사용자에 의해 상기 서브 UI(예컨대, 22-1 내지 22-4)가 확정 선택되지 않고, 상기 UI(예컨대, 22)가 확정 선택되면 상기 제어모듈(110)은 상기 애플리케이션(예컨대, 브라우저)를 단순 로딩할 수 있다. 그러면 상기 제어모듈(110)은 도 8c에 도시된 바와 같이 상기 UI(예컨대, 22)에 대응되는 애플리케이션(예컨대, 브라우저)을 로딩할 수 있으며, 이때에는 디폴트 페이지가 로딩될 수 있다. 상기 디폴트 페이지는 상기 애플리케이션이 실행 중인 상태였으면 상기 애플리케이션에 로딩되어 있는 페이지일 수 있고, 상기 애플리케이션이 비 실행 중인 상태였으면 상기 애플리케이션의 시작 페이지일 수 있다.
한편, 상기 애플리케이션이 브라우저가 아닌 경우에도 본 발명의 기술적 사상은 적용될 수 있다.
예컨대, 도 7에 도시된 UI(예컨대, 22)는 브라우저가 아닌 소정의 애플리케이션에 대응되는 UI일 수 있다. 그리고 사용자에 의해 상기 UI(예컨대, 22)가 선택되면 상기 제어모듈(110)은 상기 UI(예컨대, 22)에 상응하는 서브 UI(예컨대, 22-1 내지 22-4)를 디스플레이할 수 있다. 이때 상기 서브 UI(예컨대, 22-1 내지 22-4)는 상기 애플리케이션에서 제공하는 메뉴 또는 서비스 각각에 대응될 수 있다. 그리고 상기 서브 UI(예컨대, 22-1 내지 22-4)는 상기 애플리케이션에서 제공하는 메류 리스트 또는 서비스 리스트에 대응될 수 있다.
그러면 사용자에 의해 상기 서브 UI(예컨대, 22-1 내지 22-4) 중 어느 하나(예컨대, 22-2)가 선택되면, 상기 제어모듈(110)은 상기 UI(예컨대, 22)에 대응되는 애플리케이션(예컨대, 인스턴트 메신저 애플리케이션)을 로딩하면서 선택된 서브 UI(예컨대, 22-2)에 대응되는 메뉴 또는 서비스(예컨대, 메뉴1)를 로딩 페이지로 하는 지정 로딩을 수행할 수 있다. 그러면 도 9a에 도시된 바와 같이 상기 서비스(예컨대, 메뉴1)에 상응하는 페이지가 상기 애플리케이션(예컨대, 인스턴트 메신저 애플리케이션)가 로딩되면서 로딩될 수 있다. 상기 지정 로딩이 수행되기 전에 상기 애플리케이션은 실행 중인 상태일 수도 있고, 비 실행중인 상태일 수도 있다.
만약, 사용자에 의해 상기 서브 UI(예컨대, 22-1 내지 22-4) 중 다른 UI(예컨대, 22-3)가 선택되고, 상기 다른 UI(예컨대, 22-3)에 대응되는 메뉴 또는 서비스가 메뉴2인 경우라면 상기 제어모듈(110)은 도 9b에 도시된 바와 같이 상기 UI(예컨대, 22)에 대응되는 애플리케이션(예컨대, 인스턴트 메신저 애플리케이션)을 로딩하면서 상기 메뉴 또는 서비스(예컨대, 메뉴2)에 상응하는 페이지를 로딩 페이지로 하는 지정 로딩을 수행할 수 있다.
만약 사용자에 의해 상기 서브 UI(예컨대, 22-1 내지 22-4)가 확정 선택되지 않고, 상기 UI(예컨대, 22)가 확정 선택되면 상기 제어모듈(110)은 상기 애플리케이션(예컨대, 인스턴트 메신저 애플리케이션)을 단순 로딩할 수 있다. 그러면 상기 제어모듈(110)은 상기 애플리케이션(예컨대, 인스턴트 메신저 애플리케이션)에 의해 미리 지정된 메뉴 또는 서비스에 상응하는 페이지를 로딩할 수 있음은 물론이다.
따라서 본 발명의 기술적 사상에 의하면, 사용자는 상기 플로팅 UI 시스템(100)이 제공하는 플로팅 UI를 통해 소정의 애플리케이션을 로딩하기 전에 미리 로딩될 페이지를 선택하고 로딩을 수행할 수도 있다. 이는 종래에 사용자가 상기 애플리케이션을 실행한 후 자신이 원하는 페이지를 로딩하기 위해 수행하여야 했던 터치 조작에 비해 훨씬 적은 수의 터치를 요구하거나, 적은 궤적의 터치의 이동으로도 자신이 원하는 페이지를 로딩할 수 있는 효과가 있다. 특히 전술한 바와 같이 상기 플로팅 UI 시스템(100)이 원터치로 상기 플로팅 UI 시스템(100)이 제공하는 임의의 UI를 선택가능하도록 구현되는 경우에는 이러한 효과는 더 커질 수 있다.
한편, 전술한 바와 같이 본 발명의 기술적 사상에 따른 상기 플로팅 UI 시스템(100)에 의해 제공되는 플로팅 UI 즉 메인 UI(10)는 상기 터치 스크린 장치(1)에서 디스플레이되는 타 오브젝트의 상위 레이어에서 디스플레이될 수 있다. 상기 타 오브젝트는 애플리케이션의 실행화면일 수도 있고, 특정 애플리케이션에 의해 로딩되는 특정 UI일 수도 있으며, 소정의 아이콘 등 다양할 수 있음은 물론이다. 이처럼 상기 플로팅 UI는 타 오브젝트의 상위 레이어에서 디스플레이됨으로써, 어떠한 오브젝트가 디스플레이되는 경우에도 항상 사용자에게 디스플레이되고 있을 수 있으며, 이를 통해 애플리케이션 간의 전환 등과 같은 기능이 수행될 수 있다. 하지만 상기 플로팅 UI가 타 오브젝트의 상위에 디스플레이될 경우에 사용자의 사용성 또는 편의성이 현저히 저하되는 경우가 존재할 수 있다. 이러한 경우에 본 발명의 기술적 사상에 따른 상기 플로팅 UI 시스템(100)은 상기 플로팅 UI의 위치를 자동으로 변경하거나 언디스플레이함으로써 사용자의 사용성 또는 편의성이 저하되는 것을 방지할 수 있다. 이러한 일 예는 도 10을 참조하여 설명하도록 한다.
도 10은 본 발명의 일 실시 예에 따른 UI 회피 기능을 설명하기 위한 도면이다.
도 2 및 도 10을 참조하면, 본 발명의 기술적 사상에 따른 상기 플로팅 UI 시스템(100)의 제어모듈(110)은 상기 디스플레이 모듈(120)을 제어하여, 플로팅 UI 예컨대, 상기 메인 UI(10)가 디스플레이될 위치를 제어할 수 있다. 상기 메인 UI(10)의 위치는 상기 플로팅 UI 시스템(100)에 의해 디폴트로 결정되거나 사용자에 의해 설정될 수 있다. 어떠한 방식으로든 상기 메인 UI(10)가 소정의 제1위치에 디스플레이되도록 설정될 수 있으며, 이러한 경우 상기 제어모듈(110)은 도 10a에 도시된 바와 같이 상기 제1위치에 상기 메인 UI(10)를 디스플레이할 수 있다. 도 10a에서 상기 터치 스크린 장치(1)에 디스플레이되고 있는 화면(2)은 상기 터치 스크린 장치(1)의 홈 화면(또는 배경화면)일 수 있지만, 이에 국한되지는 않으며 특정 애플리케이션이 실행되고 있는 화면일 수도 있다.
이러한 상태에서 도 10b에 도시된 바와 같이 상기 터치 스크린 장치(1)에 소정의 UI(예컨대, 키보드 UI, 50)가 디스플레이될 수 있다. 상기 UI(예컨대, 50)는 본 발명의 기술적 사상에 의해 상기 UI(예컨대, 50)가 디스플레이되고 상기 UI(예컨대, 50)가 디스플레이되는 영역인 디스플레이 영역에 상기 메인 UI(10)가 포함될 경우에 자동으로 상기 메인 UI(10)의 위치를 변경하도록 정의된 UI일 수 있다. 그리고 이러한 UI(예컨대, 50)를 본 명세서에서는 회피 UI로 정의하기로 한다.
상기 회피 UI(예컨대, 50)는 미리 상기 플로팅 UI 시스템(100)의 제공주체에 의해 디폴트로 결정되어 있을 수 있다. 또는 상기 회피 UI(예컨대, 50)는 사용자에 의해 선택될 수도 있다. 상기 회피 UI(예컨대, 50)는 상기 터치 스크린 장치(1)의 OS에서 제공하는 특정 소프트웨어(예컨대, 소프트웨어 키보드)의 UI일 수도 있고, 사용자에 의해 상기 터치 스크린 장치(1)에 설치된 소프트웨어(또는 애플리케이션)이 제공하는 UI일 수도 있다. 본 명세서에서는 설명의 편의를 위해 상기 회피 UI(예컨대, 50)가 키보드 UI인 경우를 일 예로 설명하지만, 다양한 UI가 상기 회피 UI(예컨대, 50)가 될 수 있음은 물론이다. 구현 예에 따라서는 특정 애플리케이션 자체가 회피 애플리케이션으로 설정될 수도 있다. 이러한 경우에는 상기 특정 애플리케이션이 실행되는 UI(화면) 전체가 상기 회피 UI(예컨대, 50)가 될 수도 있다. 만약 상기 특정 애플리케이션이 실행되는 UI(화면)이 상기 터치 스크린 장치(1)의 풀 스크린일 경우, 상기 특정 애플리케이션이 실행되는 중에는 한시적으로 디스플레이가 되지 않을 수도 있다.
상기 제어모듈(110)은 미리 회피 UI(예컨대, 50)가 존재하는지 여부를 파악할 수 있다. 예컨대, 상기 회피 UI(예컨대, 50)가 키보드 UI일 경우, 상기 터치 스크린 장치(1)의 OS에 등록되어 있는(즉, 설치되어 있는) 키보드 소프트웨어에 대한 정보(키보드 소프트웨어의 이름, 종류 등)가 상기 제어모듈(110)에 의해 확인될 수 있다. 복수의 키보드 소프트웨어가 설치되어 있는 경우에는, 디폴트로 사용중인 키보드 소프트웨어에 대한 정보가 확인될 수도 있다. 또한, 상기 제어모듈(110)은 상기 회피 UI(예컨대, 50)의 디스플레이 영역을 미리 저장해 둘 수도 있다. 예컨대, 키보드 소프트웨어 별로 상기 플로팅 UI 시스템(100)의 제공주체가 디스플레이 영역을 미리 파악하여 상기 제어모듈(110)에 저장해둘 수 있다. 또는 상기 회피 UI(예컨대, 50)가 디스플레이되면, 디스플레이된 상기 회피 UI(예컨대, 50)의 디스플레이 영역을 실시간으로 파악할 수도 있다.
예컨대, 상기 제어모듈(110)은 특정 어플리케이션이 설치되어 있는지에 대한 정보를 OS(예컨대, 안드로이드 OS)에서 제공하는 소정의 API 함수(예컨대, PackageManager.getApplicationInfo 등)를 이용하여 확인할 수 있다. 또한, 회피 UI의 디스플레이 영역 정보는 상기 제어모듈(110)이 현재 화면에 보여지고 있는 회피 UI(예컨대, 50)의 디스플레이 정보에 접근할 권한이 있는지 없는지에 따라 디스플레이 영역을 파악할 수 있는 방법이 달라질 수도 있다. 예컨대, 제어모듈(110)이 회피 UI(예컨대, 50)의 윈도우 뷰 정보에 접근할 수 있는 경우, 제어모듈(110)은 현재 회피 UI(예컨대, 50)의 터치 스크린 장치(1)에서의 좌표, 가로, 세로 크기 정보등을 조회할 수 있다. 만약 제어모듈(110)이 회피 UI(예컨대, 50)의 윈도우 뷰 정보에 접근할 수 없는 경우, 회피 UI(예컨대, 50)의 디스플레이 영역에 대한 정보를 데이터베이스화 하여 플로팅 UI 소프트웨어에 포함하여 배포할 수도 있다. 그러면 제어모듈(110)은 회피 UI가 실행된 사실과 미리 저장되어 있는상기 디스플레이 영역에 대한 정보, 및 현재의 상기 터치 스크린 장치의 실행환경(예컨대, 가로화면모드인지 세로 화면 모드인지 여부, 장치 해상도, 화면 크기 등)에 대한 정보에 기초하여 상기 회피 UI(예컨대, 50)의 디스플레이 영역을 파악할 수 있다. 따라서, 파악된 디스플레이 영역에 따라 적응적으로 회피 기능을 구현할 수 있다. 또한, 상기 제어모듈(110)이 시스템 관리자 권한을 얻을 수 있는 경우, 화면에 보여지는 모든 뷰 객체와 관련된 모든 이벤트 메시지(객체 생성, 소멸, 그리기, 위치 이동 등)를 모니터 할 수 있어, 화면단위가 아닌, 특정 UI 객체( 텍스트 입력 컨트롤, 체크박스 컨트롤, 옵션 버튼 컨트롤 등)단위까지 세세하게 회피 기능 구현이 가능해질 수도 있다.
다양한 방식으로 상기 제어모듈(110)은 상기 회피 UI(예컨대, 50)의 설치여부 및 상기 회피 UI(예컨대, 50)의 디스플레이 영역을 파악할 수 있다. 그리고 상기 제어모듈(110)은 상기 회피 UI(예컨대, 50)가 로딩(디스플레이)되는지를 판단할 수 있다.
만약 상기 회피 UI(예컨대, 50)가 로딩된다고 판단한 경우, 상기 제어모듈(110)은 상기 메인 UI(10)의 제1위치를 소정의 제2위치(예컨대, 10b의 10-2)로 변경할 수 있다. 즉, 제2위치(예컨대, 10-2)에 상기 메인 UI(10-2)가 디스플레이되도록 상기 디스플레이 모듈(120)을 제어할 수 있다. 이처럼 상기 메인 UI 즉, 상기 플로팅 UI 시스템(100)에 의해 플로팅되어 제공되는 플로팅 UI가 특정 UI의 디스플레이 영역과 겹치는 경우에 상기 플로팅 UI의 위치를 자동으로 변경하여 디스플레이하는 기능 또는 언디스플레이하는 기능을 회피 기능이라고 정의하기로 한다. 만약 이러한 회피 기능이 존재하지 않는다면, 플로팅 UI의 특성상 상기 메인 UI는 상기 회피 UI(예컨대, 50)와 겹쳐서 존재할 수도 있고, 이러한 경우 상기 회피 UI(예컨대, 50)의 사용성에 지대한 저하가 있을 수 있다. 만약 도 10b에서 제1위치에 상기 메인 UI(10)가 디스플레이되는 경우, 사용자는 알파벳 l 의 입력이 어려울 수 있다.
상기 회피 기능은 상기 메인 UI의 제1위치가 상기 회피 UI(예컨대, 50)의 디스플레이 영역과 겹치는 경우, 즉, 상기 디스플레이 영역이 상기 제1위치를 포함하는 경우에만 한정적으로 수행될 수 있음은 물론이다. 따라서 메인 UI의 위치가 처음부터 상기 회피 UI(예컨대, 50)의 디스플레이 영역과 겹치지 않는 경우에는 상기 메인 UI는 원래 디스플레이되던 위치에서 계속하여 디스플레이될 수도 있다.
또한, 상기 회피 기능은 상기 메인 UI(10)를 상기 회피 UI(예컨대, 50)의 디스플레이 영역에 포함되지 않는 제2위치(예컨대, 10-2)로 이동시키는 기능뿐만 아니라, 상기 메인 UI(10)를 한시적으로 언디스플레이함으로써 구현될 수도 있다. 즉, 상기 메인 UI(10)가 상기 회피 UI(예컨대, 50)가 디스플레이되는 동안은 디스플레이되지 않다가, 상기 회피 UI(예컨대, 50)가 사라지면(언디스플레이 되면) 다시 원래의 제1위치에 디스플레이될 수 있다. 이때 상기 회피 UI(예컨대, 50)는 상기 터치 스크린 장치(1)에 풀 스크린으로 디스플레이되는 경우일 수도 있지만, 도 10b에 도시된 바와 같이 회피 UI(예컨대, 50)가 스크린의 일부에만 디스플레이되는 경우에도 상기 메인 UI는 언디스플레이되도록 설정될 수도 있다.
또한, 구현 예에 따라서는 상기 메인 UI가 이동되는 위치(예컨대, 10-3에 해당하는 위치)가 도 10c에 도시된 바와 같이 상기 회피 UI(예컨대, 50)의 디스플레이 영역에 포함될 수도 있다. 이러한 경우에는 상기 이동되는 위치 즉, 제2위치는 상기 회피 UI(예컨대, 50)에 포함된 개별 UI(예컨대, 각각의 키에 해당하는 UI) 중 사용자가 선택할 수 있는 UI(즉, 터치할 수 있는 객체)와 겹치지 않는 위치일 수 있다. 이를 위해 상기 제어모듈(110)은 상기 회피 UI(예컨대, 50)의 디스플레이 영역 내에서 상기 제2위치가 존재하는지 여부 및 존재할 경우 상기 제2위치가 어디인지에 대한 정보를 미리 저장해둘 수도 있다. 구현 예에 따라서는, 실시간으로 상기 제2위치가 파악될 수도 있다. 그러면 상기 제어모듈(110)은 상기 회피 UI(예컨대, 50)의 디스플레이 영역 내에 존재하는 상기 제2위치에 상기 메인 UI를 디스플레이할 수도 있다.
그리고 상기 회피 UI(예컨대, 50)가 언디스플레이되면, 상기 제어모듈(110)은 다시 상기 메인 UI를 제1위치(즉, 도 10a의 10에 해당하는 위치 또는 도 10d의 10-4에 해당하는 위치)에 디스플레이하도록 상기 디스플레이 모듈(120)을 제어할 수 있다.
상기 제어모듈(110)은 미리 회피 UI(예컨대, 50)에 대한 정보들을 저장하고 있을 수 있다. 상기 회피 UI(예컨대, 50)에 대한 정보는 상기 터치 스크린 장치(1)에서 실행가능한 소프트웨어(또는 애플리케이션)의 식별정보(예컨대, 이름 등)일 수도 있고, 소프트웨어 또는 애플리케이션에 의해 로딩되는 특정 UI일 수도 있다. 즉, 상기 제어모듈(110)은 특정 소프트웨어 또는 특정 애플리케이션을 회피 애플리케이션으로 설정함으로써, 상기 회피 애플리케이션이 실행되는 화면 전체를 회피 UI(예컨대, 50)로 설정할 수도 있다. 구현 예에 따라서는, 특정 소프트웨어 또는 특정 애플리케이션의 실행되는 중에 실행되어 디스플레이되는 UI별로 회피 UI로 설정할 수도 있다. 어떠한 경우든, 상기 제어모듈(110)에 의해 상기 회피 UI의 실행이 디텍팅될 수만 있다면 회피 UI로 설정될 수 있다.
상기 제어모듈(110)은 회피 UI(예컨대, 50) 또는 회피 애플리케이션의 실행을 디텍팅할 수 있다.
예컨대, 실행중인 애플리케이션의 정보를 확인할 수 있는 API(예컨대, 안드로이드 OS의 경우, getRunningTasks() 등)를 이용하여 상기 제어모듈(110)은 회피 애플리케이션의 실행을 디텍팅할 수 있다. 또한 상기 실행중인 애플리케이션의 정보(예컨대, RunningTaskInfo)를 이용하여, 현재 터치 스크린 장치(1)에서 실행중인 애플리케이션 정보뿐만 아니라, 실행중인 애플리케이션이 디스플레이 하고 있는 화면 UI 클래스까지 특정할 수도 있다. 이를 통해 어플리케이션 단위 뿐만 아니라 상기 애플리케이션에서 제공되는 개별 화면 단위(즉, 개별 화면의 UI)의 회피 기능 구현이 가능해진다. 또한, 상기 제어모듈(110)이 시스템 관리자 권한을 얻을 수 있는 경우, 화면에 보여지는 모든 뷰 객체와 관련된 모든 이벤트 메시지(객체 생성, 소멸, 그리기, 위치 이동 등)를 모니터 할 수 있어, 개별 화면 단위(즉, 개별 화면에 해당하는 UI)뿐만 아니라, 상기 개별 화면 단위에 포함된 특정 UI 객체(예컨대, 텍스트 입력 컨트롤, 체크박스 컨트롤, 옵션 버튼 컨트롤 등)단위까지 세세하게 회피 기능 구현이 가능해진다. 예컨대, 도 10b에서 키보드 UI(50)는 키보드 애플리케이션 자체의 화면 UI일 수 있다. 또한, 상기 키보드 애플리케이션이 상기 키보드 UI(50)외에 별도의 화면을 더 제공할 수 있는 경우에는, 상기 키보드 UI(50)는 상기 키보드 애플리케이션의 개별 화면에 해당하는 UI일 수도 있다. 그리고 상기 키보드 UI(50)에 포함된 각각의 키들은 UI 객체일 수 있다. 따라서 상기 제어모듈(110)은 특정 애플리케이션 자체에 해당하는 UI를 디텍팅할 수 있을뿐만 아니라, 특정 애플리케이션에 포함된 화면단위의 UI도 디텍팅할 수 있고, 특정 화면 단위이 UI에 포함된 UI 객체도 디텍팅하여 본 발명의 기술적 사상과 같은 회피 기능을 제공할 수 있다.
상기 제어모듈(110)은 적어도 하나의 회피 UI(예컨대, 50)에 대한 정보를 포함하는 회피 UI 리스트를 유지하면서, 상기 회피 UI리스트에 포함된 회피 UI가 디스플레이되는지를 디텍팅할 수 있다. 그리고 상기 회피 UI(예컨대, 50)의 디스플레이 영역이 현재 메인 UI가 디스플레이되고 있는 제1위치와 겹치는 경우, 상술한 바와 같은 회피 기능을 수행하여 상기 메인 UI를 상기 디스플레이 영역과 겹치지 않는 제2위치에 디스플레이하도록 할 수 있다. 또는 상기 메인 UI를 한시적으로 언디스플레이할 수도 있다. 또는 상기 디스플레이 영역 내에서 선택가능한 개별 UI와 겹치지 않는 제2위치에 디스플레이하도록 할 수도 있다.
물론, 상기 제어모듈(110)은 소정의 UI(또는 객체)가 디스플레이되고, 상기 UI가 회피 UI(예컨대, 50)가 아닌 경우 즉, 비회피 UI인 경우에는, 상기 비회피 UI의 디스플레이 영역과 상기 제1위치가 겹치는지 여부와 무관하게 상기 메인 UI를 그대로 제1위치에 디스플레이할 수 있다.
이처럼 본 발명의 기술적 사상에 의하면, 상기 플로팅 UI 시스템(100)은 미리 지정된 회피 UI(예컨대, 50)가 아닌 경우에는 항상 플로팅 UI(예컨대, 메인 UI)를 최상위 레이어에 디스플레이함으로써, 언제든지 상기 플로팅 UI가 바로 사용자에 의해 선택될 수 있도록 할 수 있다. 하지만, 이처럼 상기 플로팅 UI가 최상위 레이어에 디스플레이되는 경우, 상기 플로팅 UI의 하위에 디스플레이되는 특정 객체의 선택에 사용자가 불편함이 있는 경우에는 상술한 바와 같은 회피 기능을 제공함으로써 사용자의 사용성 또는 편의성의 저하를 막을 수 있는 효과가 있다.
그리고 이러한 회피 기능을 제공할 회피 UI가 미리 정해질 수 있으며, 회피 UI는 주로 사용자가 선택(터치)할 수 있는 객체들이 적어도 하나 이상 포함된 UI일 수 있다. 하지만 사용자가 임의로 회피 UI 또는 회피 애플리케이션을 설정할 수 있도록 함으로써, 일일이 특정 UI 또는 특정 애플리케이션이 실행될 때 플로팅 UI를 이동하거나 언디스플레이하여야 하는 불편함을 줄일 수도 있다.
본 발명의 실시 예에 따른 플로팅 UI 제공방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 하드 디스크, 플로피 디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.

Claims (11)

  1. 터치 스크린 장치에 설치되어 실행되는 플로팅 UI 시스템을 이용한 플로팅 UI 제공방법에 있어서,
    상기 플로팅 UI 시스템이 상기 터치 스크린 장치에서 플로팅 UI를 제1위치에 플로팅(floating)하여 디스플레이 하는 단계;
    상기 플로팅 UI 시스템이 상기 터치 스크린 장치에서 회피 UI가 디스플레이되고, 상기 회피 UI의 디스플레이 영역이 상기 제1위치를 포함하는 경우 상기 플로팅 UI를 상기 제1위치와는 다른 소정의 제2위치에 디스플레이하거나 언디스플레이 하는 단계를 포함하는 플로팅 UI 제공방법.
  2. 제1항에 있어서, 상기 제2위치는,
    상기 디스플레이 영역과 겹치지 않는 위치 또는 상기 디스플레이 영역에 포함되면서 상기 회피 UI에 포함된 사용자가 선택 가능한 UI와 겹치지 않는 위치인 것을 특징으로 하는 플로팅 UI 제공방법.
  3. 제1항에 있어서, 상기 플로팅 UI 제공방법은,
    상기 플로팅 UI 시스템이 상기 회피 UI가 언디스플레이 되는 경우, 상기 플로팅 UI를 상기 제1위치에 디스플레이하는 단계를 더 포함하는 플로팅 UI 제공방법.
  4. 제1항에 있어서, 상기 플로팅 UI 제공방법은,
    상기 플로팅 UI 시스템이 상기 회피 UI에 대한 정보를 포함하는 회피 UI 리스트에 대한 정보를 유지하는 단계를 더 포함하는 플로팅 UI 제공방법.
  5. 제4항에 있어서, 상기 플로팅 UI 제공방법은,
    상기 회피 UI 리스트에 포함되지 않는 비회피 UI가 상기 터치 스크린 장치에서 디스플레이되고 상기 비회피 UI의 디스플레이 영역이 상기 제1위치를 포함하는 경우, 상기 플로팅 UI 시스템이 상기 플로팅 UI를 상기 제1위치에 계속하여 디스플레이하는 단계를 더 포함하는 플로팅 UI 제공방법.
  6. 제1항에 있어서, 상기 회피 UI는,
    키보드 UI를 포함하는 것을 특징으로 하는 플로팅 UI 제공방법.
  7. 제1항에 있어서, 상기 회피 UI는,
    상기 플로팅 UI 시스템에 대응되는 플로팅 UI 소프트웨어와는 다른 애플리케이션에 의해 로딩되는 UI인 것을 특징으로 하는 플로팅 UI 제공방법.
  8. 터치 스크린 장치에 설치되어 실행되는 플로팅 UI 시스템을 이용한 플로팅 UI 제공방법에 있어서,
    상기 플로팅 UI 시스템이 상기 터치 스크린 장치에서 플로팅 UI를 제1위치에 플로팅(floating)하여 디스플레이 하는 단계; 및
    상기 플로팅 UI 시스템이 상기 터치 스크린 장치에서 회피 UI-상기 회피 UI의 디스플레이 영역은 상기 제1위치를 포함함-가 디스플레이 되면, 상기 플로팅 UI를 상기 제1위치와는 다른 소정의 제2위치에 디스플레이하거나 언디스플레이 하고, 비회피 UI-상기 비회피 UI의 디스플레이 영역은 상기 제1위치를 포함함-가 디스플레이되면 상기 제1위치에 계속하여 상기 플로팅 UI를 디스플레이하는 단계를 포함하는 플로팅 UI 제공방법.
  9. 제1항 내지 제8항 중 어느 한 항에 기재된 방법을 수행하기 위한 프로그램을 기록한 컴퓨터 판독가능한 기록매체.
  10. 터치 스크린 장치에 설치되어 실행되는 플로팅 UI 시스템에 있어서,
    상기 터치 스크린 장치에서 소정의 플로팅 UI를 제1위치에 플로팅(floating)하여 디스플레이 하기 위한 디스플레이 모듈; 및
    상기 디스플레이 모듈을 제어하는 제어모듈을 포함하며,
    상기 제어모듈은,
    상기 터치 스크린 장치에서 회피 UI가 디스플레이되고, 상기 회피 UI의 디스플레이 영역이 상기 제1위치를 포함하는 경우 상기 플로팅 UI를 상기 제1위치와는 다른 소정의 제2위치에 디스플레이하거나 언디스플레이 하도록 제어하는 플로팅 UI 시스템.
  11. 터치 스크린 장치에 설치되어 실행되는 플로팅 UI 시스템에 있어서,
    상기 터치 스크린 장치에서 소정의 플로팅 UI를 제1위치에 플로팅(floating)하여 디스플레이 하기 위한 디스플레이 모듈; 및
    상기 디스플레이 모듈을 제어하는 제어모듈을 포함하며,
    상기 제어모듈은,
    상기 터치 스크린 장치에서 회피 UI-상기 회피 UI의 디스플레이 영역은 상기 제1위치를 포함함-가 디스플레이 되면, 상기 플로팅 UI를 상기 제1위치와는 다른 소정의 제2위치에 디스플레이하거나 언디스플레이 하고, 비회피 UI-상기 비회피 UI의 디스플레이 영역은 상기 제1위치를 포함함-가 디스플레이되면 상기 제1위치에 계속하여 상기 플로팅 UI를 디스플레이하도록 제어하는 플로팅 UI 시스템.
KR1020140040504A 2013-12-20 2014-04-04 플로팅 ui 제공방법 및 그 시스템 KR20150073047A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20130160758 2013-12-20
KR1020130160758 2013-12-20

Publications (1)

Publication Number Publication Date
KR20150073047A true KR20150073047A (ko) 2015-06-30

Family

ID=53518864

Family Applications (6)

Application Number Title Priority Date Filing Date
KR1020140040504A KR20150073047A (ko) 2013-12-20 2014-04-04 플로팅 ui 제공방법 및 그 시스템
KR1020140040505A KR20150073048A (ko) 2013-12-20 2014-04-04 플로팅 ui 제공방법 및 그 시스템
KR1020140045001A KR20150073050A (ko) 2013-12-20 2014-04-15 플로팅 ui 제공방법 및 그 시스템
KR1020140045000A KR20150073049A (ko) 2013-12-20 2014-04-15 플로팅 ui 제공방법 및 그 시스템
KR1020140068654A KR20150073054A (ko) 2013-12-20 2014-06-05 플로팅 ui 제공방법 및 그 시스템
KR1020140068652A KR20150073053A (ko) 2013-12-20 2014-06-05 플로팅 ui 제공방법 및 그 시스템

Family Applications After (5)

Application Number Title Priority Date Filing Date
KR1020140040505A KR20150073048A (ko) 2013-12-20 2014-04-04 플로팅 ui 제공방법 및 그 시스템
KR1020140045001A KR20150073050A (ko) 2013-12-20 2014-04-15 플로팅 ui 제공방법 및 그 시스템
KR1020140045000A KR20150073049A (ko) 2013-12-20 2014-04-15 플로팅 ui 제공방법 및 그 시스템
KR1020140068654A KR20150073054A (ko) 2013-12-20 2014-06-05 플로팅 ui 제공방법 및 그 시스템
KR1020140068652A KR20150073053A (ko) 2013-12-20 2014-06-05 플로팅 ui 제공방법 및 그 시스템

Country Status (1)

Country Link
KR (6) KR20150073047A (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102028895B1 (ko) * 2019-02-18 2019-10-07 고권석 어플리케이션 관리 장치
KR102412324B1 (ko) * 2022-04-22 2022-06-22 최원문 그룹채팅시 메시지 수신 및 회신 처리 시스템

Also Published As

Publication number Publication date
KR20150073048A (ko) 2015-06-30
KR20150073054A (ko) 2015-06-30
KR20150073050A (ko) 2015-06-30
KR20150073053A (ko) 2015-06-30
KR20150073049A (ko) 2015-06-30

Similar Documents

Publication Publication Date Title
KR102642883B1 (ko) 터치 감응형 디스플레이를 갖는 전자 디바이스 상에 동시에 디스플레이되는 다수의 애플리케이션들과 상호작용하기 위한 시스템들 및 방법들
RU2523169C2 (ru) Панорамирование контента с использованием операции перетаскивания
US11036372B2 (en) Interface scanning for disabled users
US9146672B2 (en) Multidirectional swipe key for virtual keyboard
US10013098B2 (en) Operating method of portable terminal based on touch and movement inputs and portable terminal supporting the same
JP5922598B2 (ja) マルチタッチ利用、ジェスチャ及び実装
KR102028119B1 (ko) 애플리케이션을 디스플레이하는 방법 및 그 전자 장치
US8881047B2 (en) Systems and methods for dynamic background user interface(s)
KR102020345B1 (ko) 터치스크린을 구비하는 단말에서 홈 화면의 구성 방법 및 장치
EP2433210B1 (en) Mobile device and method for editing pages used for a home screen
KR102021048B1 (ko) 사용자 입력을 제어하기 위한 방법 및 그 전자 장치
US9323451B2 (en) Method and apparatus for controlling display of item
US20120144331A1 (en) Method for Arranging Application Windows on a Display
KR102228335B1 (ko) 그래픽 사용자 인터페이스의 일 부분을 선택하는 방법
WO2015017174A1 (en) Method and apparatus for generating customized menus for accessing application functionality
KR20120134539A (ko) 그래픽 사용자 인터페이스 제공 장치 및 방법
WO2014078804A2 (en) Enhanced navigation for touch-surface device
US9600172B2 (en) Pull down navigation mode
KR20150073047A (ko) 플로팅 ui 제공방법 및 그 시스템
EP3433713B1 (en) Selecting first digital input behavior based on presence of a second, concurrent, input
KR102296968B1 (ko) 즐겨찾기모드 조작방법 및 이를 수행하는 터치 스크린을 포함하는 장치
KR20150072988A (ko) 플로팅 ui 제공방법 및 그 시스템
KR102205235B1 (ko) 즐겨찾기모드 조작방법 및 이를 수행하는 터치 스크린을 포함하는 장치
KR20210029175A (ko) 즐겨찾기모드 조작방법 및 이를 수행하는 터치 스크린을 포함하는 장치
WO2024003375A1 (en) Menu navigation arrangement

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination