KR20170045257A - 메시지 대화 이력의 신속 내비게이션 - Google Patents

메시지 대화 이력의 신속 내비게이션 Download PDF

Info

Publication number
KR20170045257A
KR20170045257A KR1020177007180A KR20177007180A KR20170045257A KR 20170045257 A KR20170045257 A KR 20170045257A KR 1020177007180 A KR1020177007180 A KR 1020177007180A KR 20177007180 A KR20177007180 A KR 20177007180A KR 20170045257 A KR20170045257 A KR 20170045257A
Authority
KR
South Korea
Prior art keywords
carousel
user
contact
contacts
chat
Prior art date
Application number
KR1020177007180A
Other languages
English (en)
Other versions
KR102385757B1 (ko
Inventor
숀 토마스
제이슨 넬슨
로완 포스터
Original Assignee
마이크로소프트 테크놀로지 라이센싱, 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 filed Critical 마이크로소프트 테크놀로지 라이센싱, 엘엘씨
Publication of KR20170045257A publication Critical patent/KR20170045257A/ko
Application granted granted Critical
Publication of KR102385757B1 publication Critical patent/KR102385757B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04817Interaction 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
    • 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/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/0485Scrolling or panning
    • 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/0485Scrolling or panning
    • G06F3/04855Interaction with scrollbars
    • 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
    • G06K9/2054
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/107Computer-aided management of electronic mailing [e-mailing]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking
    • G06Q50/30
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/50Business processes related to the communications industry
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • H04L51/16
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/216Handling conversation history, e.g. grouping of messages in sessions or threads
    • H04L51/32
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/52User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail for supporting social networking services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Human Computer Interaction (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Operations Research (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Primary Health Care (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Multimedia (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

컴퓨팅 디바이스에서 동작하는 메시징 애플리케이션은 사용자가 종래의 메시징 리스트 뷰와 챗 카드 뷰 사이에서 전후로 토글할 필요 없이 챗 카드에서 디스플레이된 원하는 대화로 신속히 점프할 수 있도록 메시징 대화 이력을 소형화 형태로 구현하는 사용자 인터페이스(UI)를 노출시키는 내비게이션 모델을 이용한다. 소형화된 대화 이력은 UI에서 지속적으로 디스플레이되는 스크롤가능한 캐러셀을 이용하여 구현될 수 있다. 이미지는 대화 이력에 따라 정돈된 디스플레이로 배열된 메시징 참여자(즉, 연락처)를 표시한다. 현재 디스플레이된 챗 카드와 연관된 특정 연락처는 색상 및/또는 다른 그래픽 처리를 이용하여 캐러셀에서 하이라이트 처리된다. 메시징 활동이 발생하고 새로운 메시지가 들어오고 나갈 때, 캐러셀은 적당한 정렬된 이력적 순서로 연락처들을 나타내도록 동적으로 갱신된다.

Description

메시지 대화 이력의 신속 내비게이션{QUICK NAVIGATION OF MESSAGE CONVERSATION HISTORY}
메시징 애플리케이션은 특히 스마트폰 및 태블릿 컴퓨터 등의 모바일 디바이스에서 가장 많이 사용되는 애플리케이션 중의 일부이다. 사용자는 동시에 발생하는 복수의 대화를 가질 수 있고, 가끔은 단일 애플리케이션 내에서 다중 작업(multitask) 능력을 요구할 수 있다. 복수의 다른 연락처로부터의 새로운 메시지를 보는 것은 가끔 대화 리스트와 개별 챗 카드(chat card) 사이에서 전후 내비게이션(forward and back navigation)을 행하는 시간 소모적이고 힘든 처리를 수반할 수 있다.
이 배경 설명은 이어지는 요약 및 상세한 설명에 대한 간단한 상황(context)을 소개하기 위해 제공된다. 이 배경 설명은 청구된 주제의 범위를 결정하는데 도움을 주거나 위에서 제시된 일부 또는 모든 단점 또는 문제점을 해결하는 구현예로 청구된 주제를 제한하는 것으로 보여지도록 의도되지 않는다.
컴퓨팅 디바이스에서 동작하는 메시징 애플리케이션은 사용자가 종래의 메시징 리스트 뷰와 챗 카드 뷰 사이에서 전후로 토글할 필요 없이 챗 카드에서 디스플레이된 원하는 대화로 신속히 점프할 수 있도록 메시징 대화 이력을 소형화 형태로 지원하는 사용자 인터페이스(UI)를 노출시키는 내비게이션 모델을 이용한다. 소형화된 대화 이력은 예를 들면 UI에 의해 표시된 챗 카드의 최상부 부근에서 지속적으로 디스플레이되는(즉, "점착성인") 스크롤가능한 이미지 캐러셀(carousel)을 이용하여 구현될 수 있다. 이미지는 대화 이력에 따라 정돈된 디스플레이로 배열된 메시징 참여자(즉, 연락처)를 표시한다. 현재 디스플레이된 챗 카드와 연관된 특정 연락처는 색상 및/또는 다른 그래픽 처리, 예를 들면 객체, 아이콘, 그림문자(glyph), 애니메이션 등을 이용하여 캐러셀에서 하이라이트 처리된다(highlighted). 메시징 활동이 발생하고 새로운 메시지가 들어오고 나갈 때, 캐러셀은 적당한 정렬된(sorted) 이력적 순서로 연락처들을 나타내도록 동적으로 갱신된다.
디바이스의 터치스크린 또는 다른 입력 디바이스를 이용해서, 사용자는 다른 연락처로부터 이력적 순서로 한번에 하나씩 다른 챗 카드를 나타내도록 디스플레이된 챗 카드에서 수평으로 스와이핑(swipe)할 수 있고, 캐러셀은 디스플레이된 카드의 대응하는 연락처를 하이라이트 처리하도록 갱신된다. 사용자는 또한 사용자의 이력에서 대화가 발생하는 다른 연락처를 나타내도록 캐러셀을 수평으로 스크롤할 수 있다. 연락처가 (예를 들면 터치 또는 다른 입력을 이용하여) 캐러셀로부터 선택된 때, 그 연락처는 하이라이트 처리되고 UI는 대응하는 챗 카드를 표시한다.
캐러셀은 특수한 메시징 사용자 경험을 지원하는 각종 동작을 불러내기 위해 버튼 등의 사용자 제어를 노출하도록 구성될 수 있다. 예를 들면, 사용자가 캐러셀을 이용하는 소형화된 대화 이력 UI와 더 관습적인 리스트 뷰에 대한 챗 카드, 그러나 캐러셀과 동일한 방법으로 이력적으로 정돈된 챗 카드 사이에서 변경하도록 인에이블하는 버튼이 디스플레이될 수 있다. 대안적인 구성으로, 소형화된 대화 이력 UI가 대화 리스트를 나타내도록 축소(zoom out)될 수 있게끔 (예를 들면 다중 터치 집기(multi-touch pinch) 제스처 또는 다른 입력을 이용하는) 주밍 기능(feature)이 지원될 수 있다.
메시징 애플리케이션은 사용자를 위하여 캐러셀을 자동으로 채우도록(populate) 구성될 수 있고, 일부 경우에 사용자는 선호도(preference)를 설정함으로써 및/또는 캐러셀 멤버십 및/또는 그 구성 또는 다른 기능들을 능동적으로 관리하기 위해 제어를 이용하여 캐러셀 채움(population) 방법론에 입력을 제공할 수 있다. 예를 들면, 사용자는 터치 및 플릭(flick) 제스처 또는 어떤 다른 입력을 이용하여 캐러셀로부터 연락처를 제거할 수 있고, 또는 일부 경우에는 캐러셀에 연락처를 수동으로 추가할 수 있다.
이 요약은 뒤의 상세한 설명 부분에서 추가로 설명되는 개념들의 선택을 단순화한 형태로 소개하기 위해 제공된다. 이 요약은 청구된 주제의 핵심적 피처 또는 본질적 피처을 식별하기 위한 것으로 의도되지 않고, 또한 청구된 주제의 범위를 결정하는 보조물로서 사용되는 것으로 의도되지 않는다. 더욱이 청구된 주제는 본 명세서의 임의 부분에서 설명하는 일부 또는 모든 단점을 해결하는 구현예로 제한되지 않는다. 전술한 주제는 컴퓨터 제어형 장치, 컴퓨터 프로세스, 컴퓨팅 시스템, 또는 하나 이상의 컴퓨터 판독가능 기억 매체와 같은 제조 물품으로서 구현될 수 있다는 것을 이해할 것이다. 이러한 및 다른 각종의 피처들은 이하의 상세한 설명 및 관련 도면을 참조함으로써 명백하게 될 것이다.
도 1은 통신 능력이 있는 디바이스들이 네트워크를 통해 상호작용하는 예시적인 환경을 보인 도이다.
도 2는 디바이스들 간의 예시적인 메시징 대화를 보인 도이다.
도 3은 메시징 애플리케이션을 포함한 예시적인 계층화 구조를 보인 도이다.
도 4 및 도 5는 전형적인 종래의 메시징 애플리케이션에 의해 노출된 예시적인 사용자 인터페이스(UI)의 스크린 캡처를 보인 도이다.
도 6은 본 발명에 따른 메시지 대화 이력의 신속 내비게이션을 지원하는 메시징 애플리케이션에 의해 구현되는 기능들의 예시적인 분류법을 보인 도이다.
도 7은 각각의 챗 카드가 특정 연락처와 연관된 챗 카드의 예시적인 그룹을 보인 도이다.
도 8, 도 8a 및 도 9는 연락처가 스크롤가능한 캐러셀에 배열되는 메시징 애플리케이션에 의해 노출된 예시적인 UI의 일부를 보인 도이다.
도 10은 챗 카드가 UI의 수평 스크롤링을 이용한 신속 접근을 위해 어떻게 논리적으로 배열되는지를 예시적으로 보인 도이다.
도 11 및 도 12는 챗 카드에서의 대화들 사이에 내비게이팅하기 위해 UI가 어떻게 스와이핑될 수 있는지를 예시적으로 보인 도이다.
도 13 및 도 14는 캐러셀에서 추가의 연락처를 보이기 위해 UI가 어떻게 스와이핑될 수 있는지를 예시적으로 보인 도이다.
도 15는 캐러셀에서의 연락처의 선택이 UI에서 대응하는 챗 카드를 어떻게 제시하는지를 예시적으로 보인 도이다.
도 16 및 도 17은 불러내었을 때 UI를 리스트 뷰로 전환하는 캐러셀에서 제어가 어떻게 노출되는지를 예시적으로 보인 도이다.
도 18은 UI가 줌 기능을 이용하여 리스트 뷰로 전환되는 것을 예시적으로 보인 도이다.
도 19는 연락처가 사용자에 의해 캐러셀로부터 제거되는 것을 예시적으로 보인 도이다.
도 20, 도 21 및 도 22는 본 발명에 따른 메시지 대화 이력의 신속한 내비게이션을 구현할 때 수행될 수 있는 예시적인 방법을 보인 도이다.
도 23은 본 발명에 따른 메시지 대화 이력의 신속한 내비게이션을 구현하기 위해 부분적으로 사용될 수 있는 퍼스널 컴퓨터(PC)와 같은 예시적인 컴퓨터 시스템의 단순화한 블록도이다.
도 24는 본 발명에 따른 메시지 대화 이력의 신속한 내비게이션을 구현하기 위해 부분적으로 사용될 수 있는 예시적인 디바이스의 블록도이다.
도 25는 예시적인 모바일 디바이스의 블록도이다.
도 26은 예시적인 멀티미디어 콘솔의 블록도이다.
도면에서 동일한 참조 번호는 동일한 요소를 표시한다. 요소들은 다르게 표시되지 않는 한 정확한 축척으로 작도된 것이 아니다. 도면에서 디스플레이된 특정 UI는 특정 구현예의 필요에 따라서 도시된 것과 다를 수 있다는 점에 주목한다. 비록 UI가 도면에서 초상화 모드로 도시되지만, 본 구성은 가로 모드(landscape mode)를 이용하여 또한 구현될 수 있다.
도 1은 통신 네트워크(115)를 통해 통신하는 각각의 디바이스(110)를 각종 사용자(105)가 이용하는 예시적인 환경(100)을 보인 것이다. 디바이스(110)는 음성 및 영상 통화 및 메시징과 같은 각종 통신 능력을 제공하고, 각종의 다른 기능들 외에 인터넷 브라우징 및 멀티미디어(예를 들면, 음악, 비디오 등) 소비와 같은 데이터 소비 응용을 전형적으로 지원한다. 디바이스(110)는 사용자가 음성 및/또는 멀티미디어(즉, 비디오) 통화를 송신 및 수신하고, 메시징(예를 들면, 텍스팅)에 참여하고, 데이터를 이용하는 응용 및 접근 서비스를 이용하고, 월드 와이드 웹을 브라우징하는 것 등을 위해 자주 사용하는, 예를 들면 사용자 장비, 모바일 폰, 셀 폰, 피처폰, 태블릿 컴퓨터 및 스마트폰을 포함할 수 있다. 그러나 다른 유형의 전자 디바이스도, 이들이 데이터 능력을 갖도록 구성되고 통신 네트워크(115)에 접속할 수 있는 한, 통신 환경(100)에서 사용할 수 있는 것으로 또한 생각된다. 그러한 대안적인 디바이스는 핸드헬드 컴퓨팅 디바이스, PDA(개인용 정보 단말기), 휴대용 미디어 플레이어, 패블릿 디바이스(즉, 스마트폰/태블릿 디바이스의 조합), 웨어러블 컴퓨터, GPS(글로벌 위치확인 시스템) 시스템 등의 내비게이션 디바이스, 랩톱 PC(퍼스널 컴퓨터), 데스크톱 컴퓨터, 멀티미디어 콘솔, 게이밍 시스템 등을 다양하게 포함한다. 이하의 설명에서, 용어 "디바이스"의 사용은 통신 능력을 갖도록 구성되고 통신 네트워크(115)에 접속할 수 있는 모든 디바이스를 망라하는 것으로 의도된다.
환경(100) 내의 각종 디바이스(110)는 상이한 피처(feature), 기능 및 능력(여기에서는 전체적으로 "피처"이라고 부름)을 지원할 수 있다. 주어진 디바이스에서 지원되는 일부 피처은 다른 디바이스에서 지원되는 피처들과 유사하고 다른 피처들은 주어진 디바이스에서 유일한 것일 수 있다. 각종 디바이스(110)에서 지원되는 피처들 중에서 중복 및/또는 특이함의 정도는 구현예에 따라 다를 수 있다. 예를 들면, 일부 디바이스(110)는 터치 제어, 제스처 인식 및 음성 명령을 지원할 수 있고, 다른 디바이스는 더 제한된 UI를 인에이블할 수 있다. 일부 디바이스들은 영상 소비 및 인터넷 브라우징을 지원하고, 다른 디바이스들은 더 제한된 미디어 취급 및 네트워크 인터페이스 피처을 지원할 수 있다.
도시된 바와 같이, 디바이스(110)는 각종 사용자 경험을 구현하기 위해 통신 네트워크(115)에 접근할 수 있다. 통신 네트워크는 셀룰러 네트워크, 위성 네트워크, 와이파이 및 이더넷 네트워크와 같은 IP(인터넷 프로토콜) 네트워크, 공중 교환식 전화망(PSTN), 및/또는 블루투스 네트워크와 같은 근거리 네트워크를 포함한 각종 조합 또는 부조합으로 임의의 다양한 네트워크 유형 및 네트워크 하부구조를 포함할 수 있다. 네트워크 하부구조는 예를 들면 모바일 운영자, 기업, 인터넷 서비스 제공자(ISP), 전화 서비스 제공자, 데이터 서비스 제공자 등에 의해 지원될 수 있다. 통신 네트워크(115)는 전형적으로 모바일 디바이스(110)가 하나 이상의 콘텐츠 제공자(125)에 의해 제공되는 콘텐츠에 접근하고 일부 경우에는 서비스 제공자(130)에게 접근할 수 있는 인터넷(120)에 대한 접속을 지원하는 인터페이스를 포함한다.
디바이스(110) 및 통신 네트워크(115)는 디바이스 대 디바이스 통신을 인에이블하도록 구성될 수 있다. 도 2에 도시된 바와 같이, 그러한 디바이스 대 디바이스 통신은 예를 들면 메시징 대화(210)를 포함할 수 있다. 디바이스 대 디바이스 메시징 대화(210)의 지원은 디바이스(110)에서 동작하는 각종 애플리케이션을 이용하여 제공될 수 있다.
예를 들면, 도 3은 각종 애플리케이션을 지원하는 주어진 디바이스(110)에서 사례화될 수 있는 예시적인 계층화 구조(300)를 보인 것이다. 구조(300)는 전형적으로 소프트웨어로 구현되지만, 일부 경우에는 소프트웨어, 펌웨어 및/또는 하드웨어의 조합이 또한 사용될 수 있다. 구조(300)는 계층으로 배열되고, 애플리케이션 계층(305), OS(운영체제) 계층(310) 및 하드웨어 계층(315)을 포함한다. 하드웨어 계층(315)은 디바이스(110)(예를 들면, 입력 및 출력 디바이스, 네트워킹 및 라디오 하드웨어 등)에 의해 사용되는 각종 하드웨어의 추상화(abstraction)를 그 위의 계층에 제공한다.
이 예시적인 실시예에서의 애플리케이션 계층(305)은 각종 애플리케이션(330)(예를 들면, 웹 브라우저, 맵 애플리케이션, 이메일 애플리케이션 등)을 지원할 뿐만 아니라, 뒤에서 자세히 설명하는 바와 같이 내비게이션 모델(345)을 지원하는 메시징 애플리케이션(340)을 지원한다. 각종 애플리케이션은 가끔 국부적으로 실행 코드를 이용하여 구현된다. 그러나 일부 경우에 이러한 애플리케이션들은 선(360)으로 표시된 바와 같이 서비스 제공자(130) 또는 다른 클라우드 기반 리소스에 의해 지원되는 것과 같은 원격 서버 또는 다른 컴퓨팅 플랫폼에 의해 제공되는 서비스 및/또는 원격 코드 실행에 의존할 수 있다. 비록 여기에서는 애플리케이션(330, 340)이 애플리케이션 계층(305)에서 사례화되는 컴포넌트로서 도시되지만, 주어진 애플리케이션에 의해 제공되는 기능은 OS 계층 또는 하드웨어 계층에서 지원되는 컴포넌트를 이용하여 전체적으로 또는 부분적으로 구현될 수 있다는 점을 이해할 것이다.
도 4 및 도 5는 디바이스(110)(도 1)에서 지원되는 전형적인 종래의 메시징 애플리케이션에 의해 노출되는 예시적인 사용자 인터페이스(UI)(400, 500)의 스크린 캡처를 각각 보인 것이다. 도 4에 도시된 것처럼, UI(400)는 화면에 없는(off screen) 연락처를 볼 수 있도록 수직으로 스크롤가능하게 구성된 메시징 참여자("연락처"라고 부름)의 리스트(405)를 디스플레이한다. 수직 스크롤링은 전형적으로 디바이스 유형에 따라 사용자에 의해, 디바이스 제어와의 상호작용에 의해, 터치스크린과의 상호작용에 의해 등으로 구현될 수 있다.
예를 들면 터치 스크린 디바이스를 구비한 이러한 종래의 구성에서 특정의 대화를 보기 위해, 사용자는 리스트 뷰(405)에서 소정의 엔트리를 탭할 수 있고 UI는 도 5에서 참조 번호 500으로 나타낸 바와 같이 연락처와의 대화를 디스플레이하도록 변경된다. 이 예시적인 실시예에서, 연락처로부터 유입되는 메시지는 좌측에 나타나고 디바이스 사용자로부터 송출되는 메시지는 우측에 나타난다. 메시징 대화(210(도 2) 중에 새로운 메시지가 발생되고 연락처로부터 새로운 유입 메시지가 수신되면, 사용자는 전형적으로 대화에 참여하기 위해 도 4에 도시된 리스트 뷰와 도 5에 도시된 대화 뷰 사이에서 앞뒤로 내비게이트할 필요가 있다. 즉, 사용자가 대화를 지원하는 UI와 상호작용하고 있을 때, 사용자는 전형적으로 리스트 뷰를 다시 런칭하지 않으면 종래의 메시징 애플리케이션 내에서 내비게이트를 계속할 수 없다. 이러한 문제는 사용자가 원하는 사용자 경험에 도달하기 위해 더 많은 단계들을 이용할 필요가 있고 디바이스가 애플리케이션의 UI에 의해 디스플레이되는 정보의 각 화면을 다시 끌어내기 위해 더 많은 리소스(예를 들면, 일부 경우에 처리 주기 및 배터리 수명)를 소비하기 때문에 사용자가 다중 작업 중에 있고 복수의 메시징 대화에 참여하고 있을 때 악화될 수 있다.
종래의 메시징 애플리케이션과 비교할 때, 본 발명의 메시징 애플리케이션(340)(도 3)은 소형화된 대화 뷰를 이용하고 전통적인 대화 리스트 뷰가 필요 없을 때에는 이 대화 리스트 뷰를 바이패스함으로써 메시징 대화 중에서 신속한 내비게이션을 지원 및 인에이블한다. 도 6은 전형적으로 메시징 애플리케이션(340)에 의해 지원되는 기능들의 예시적인 분류법을 보인 것이다. 기능(600)은 이력순으로 정렬된 연락처 캐러셀과 챗 카드와 함께 소형화 대화 이력을 이용하여 내비게이션 모델을 구현하는 것(도 6에서 참조 번호 610으로 표시됨); 메시징 대화 사이에서 스크롤하도록 캐러셀과 챗 카드와의 사용자 상호작용을 인에이블하는 것(615); 캐러셀 멤버십을 통한 사용자 제어를 인에이블하도록 UI를 제공하는 것(620); 사용자가 전통적 리스트 뷰와 본 발명의 소형화 뷰 사이에서 줌하도록 및/또는 상기 뷰들 사이에서 토글하도록 UI를 제공하는 것(625); 선호도를 설정하고 및/또는 다른 메시징 사용자 경험을 제어하기 위한 UI를 제공하는 것(630); 및 각종의 다른 기능을 수행하는 것(635)을 예시적으로 포함한다. 기능(600)들의 리스트는 총망라적인 것이 아니고 본 발명에 따른 메시지 대화 이력의 신속한 내비게이션의 특수한 구현을 위해 필요한 경우 메시징 애플리케이션(340)에 의해 다른 기능들이 제공될 수 있다.
본 발명의 내비게이션 모델(345)(도 3)은 개별적인 챗 카드를 연락처와 연관시키고 그 연락처를 챗 카드, 예를 들면 UI에서 챗 카드의 최상부 부근에 지속되는 사용자 스크롤가능한 캐러셀 디스플레이에서 표시함으로써 구현될 수 있다. 도 7에 도시된 것처럼, 각각의 챗 카드(705)는 사용자와 각 연락처(715) 간에 진행되는 메시지를 나타내고, 여기에서 유입 메시지는 카드의 좌측에 표시되고 송출 메시지는 우측에 표시된다(설명을 명확히 하기 위해 텍스트 풍선만이 도시되고 메시지 텍스트는 도시하지 않았다). 전형적으로, 챗 카드는 가장 최근의 메시지가 카드의 최하부 부근에 위치되고 사용자가 대화의 과거 메시지를 보기 위해 위쪽으로 수직으로 스크롤할 수 있도록 구성된다.
각 연락처는 연락처를 독특하게 식별하기 위해 이미지, 아바타, 이름, 그래픽 객체, 이들의 조합 및/또는 유사한 유형의 식별자로 표시될 수 있다. 예를 들어서 만일 이미지를 메시징 애플리케이션(340)에 이용할 수 없으면, 예컨대 연락처의 이름 또는 이니셜 및/또는 디폴트 이미지를 이용할 수 있다. 이 특수한 예시적인 실시예에서는 각 연락처(715)에 대하여 도시된 것처럼 이미지와 이름이 둘 다 디스플레이되지만, 특정 구현예에 적합하게 다른 배열 및 구성을 이용할 수 있다. 그룹 메시징 대화를 표시하기 위해 다른 이미지를 또한 이용할 수 있다.
도 8은 챗 카드(이 예에서는 연락처(7152)와 연관된 챗 카드(7052))에 배치된 사용자 스크롤가능 및 동적 이동 가능 캐러셀(805)에 연락처(715)들이 위치된 UI(800)를 보인 것이다. 도시된 것처럼, 캐러셀(805)은 챗 카드의 최상부 부근에 배치되지만, 본 발명에 따른 신속한 내비게이션의 특정 구현예에 적합하게 필요에 따라 다른 위치를 또한 이용할 수 있다. 이 예에서 캐러셀(805)은 한번에 4개의 연락처를 보이지만 주어진 구현예의 필요에 따라 더 많거나 더 적은 수의 연락처를 보이는 다른 구성을 이용할 수 있다. 캐러셀은 캐러셀의 멤버인 추가의 연락처를 나타내도록 사용자 동작을 통해서 또는 메시징 애플리케이션으로부터의 제어를 통해서 이동할 수 있다. 즉, 캐러셀은 UI에서 한번에 디스플레이될 수 있는 것보다 논리적으로 더 클 수 있다.
전형적으로, 캐러셀(805)은 챗 카드를 바꾸는 경우에도 디스플레이되도록 챗 카드의 제위치에서 지속 또는 점착(sticky)된다. 이하의 설명에서, UI와의 사용자 상호작용은 터치 스크린 인터페이스를 노출하는 디바이스와 연관하여 설명된다. 그러나 실제 버튼 또는 가상 버튼 누름, 행동 인식 디바이스/소프트웨어에의 행동 입력, 음성 명령, 자연 언어 입력 등과 같이 주어진 디바이스에서 지원되는 피처에 따라 다른 유형의 입력도 또한 이용할 수 있다.
캐러셀(805)은 전형적으로 내비게이션 모델에서 사용되는 규칙에 따라 메시징 애플리케이션(340)에 의해 자동으로 채워진다. 예를 들면 대화 이력에 기초하여 정렬 순서를 부여하는 것 외에, 각각의 유입 및 송출 메시지와 연관된 타임스탬프를 이용함으로써 어떤 연락처 및 얼마나 많은 연락처를 캐러셀에 배치할 것인지를 상기 규칙에 의해 결정할 수 있다. 예를 들어서 사용자가 많은 수의 대화를 가지는 경우에, 캐러셀의 크기는 만일 모든 대화가 캐러셀에 포함되면 다루기 어려워질 수 있다. 따라서, 어떤 임계 시구간(예를 들면, 한달전, 1년전 등)보다 더 오래된 대화는 포함되지 않도록 시간 기준과 같은 캐러셀 멤버십을 결정하는 규칙에 의해 추가의 기준이 적용될 수 있다. 일부 경우에, 규칙 적용은 UI에서의 캐러셀의 디스플레이된 부분이 빈 엔트리와 함께 좌측에 있도록 최소로 채워지는 캐러셀을 야기할 수 있다. 규칙 적용은 캐러셀 멤버십이 다른 속성들을 고려함으로써 채워질 수 있도록 사용자 입력 및/또는 사용자 선호도와 연관하여 또한 수행될 수 있다. 예를 들면, 사용자는 캐러셀이 직업 관련 연락처가 아닌 개인 연락처만을 포함하기를 원할 수 있다. 일부 구현예에서, 메시징 애플리케이션(340)은 사용자가 다른 연락처 그룹(일부 경우에는 멤버들이 중복될 수 있음)에 대하여 다른 캐러셀을 갖고 다른 목적으로 캐러셀을 이용할 수 있도록 복수의 캐러셀을 지원하게 구성될 수 있다. 메시징 애플리케이션은 사용자가 일부 구현예에서 속성들을 선택하고 선호도를 설정하며 캐러셀을 채우는 것을 제어할 수 있도록 적당한 UI를 표면화할 수 있다.
일부 경우에는 캐러셀에 대한 연락처의 수동적 추가 및 삭제가 지원될 수 있다. 또한, 시간이 지남에 따라 자동화된 캐러셀 채움이 특정 사용자 행동에 맞추어질 수 있도록 일부 구현예에서 상황 및 학습을 적용하도록 규칙이 구성될 수 있다. 예를 들어서 만일 사용자가 주어진 연락처 또는 연락처의 그룹을 캐러셀로부터 빈번히 삭제하면, 메시징 애플리케이션은 일부 연락처(예를 들면, 공동 이메일 도메인을 공유하는 연락처)가 캐러셀에 포함되는 것을 원하지 않는다고 결정하고 애플리케이션은 앞으로 그 연락처를 자동으로 채우지 않을 것이다. 일부 구현예에서, 메시징 애플리케이션은 캐러셀을 자동으로 채울 때 맥락 학습(contextual learning)의 적용을 인에이블 또는 비인에이블하는 옵션을 사용자에 대해 표면화할 수 있다.
각각의 연락처(715)가 읽지 않은 메시지를 포함한 연관 챗 카드를 갖는 것을 보이기 위해 하나 이상의 새로운 메시지 표시자(810)를 디스플레이할 수 있다. 사용자가 주어진 챗 카드의 새로운 메시지에 접근한 때, 새로운 메시지 표시자(810)는 그 챗 카드에 대하여 지워질 것이다. 이 예시적인 실시예에서, 가장 최근의 메시지(유입 메시지인지 또는 송출 메시지인지, 읽은 메시지인지 또는 읽지 않은 메시지인지 관계없음)를 가진 연락처(715)는 캐러셀(805)의 가장 좌측에 위치되고 나머지 연락처들은 캐러셀의 우측으로 가는 대화 이력에 의해 정렬된다. 따라서, 연락처(7151)와의 대화는 연락처(7152)와의 대화에서의 메시지보다 더 최근의 메시지를 포함한다. 메시징 애플리케이션(340)은 새로운 메시지가 발생되고 새로운 메시지가 들어올 때 연락처의 정렬 순서 및 디스플레이를 변경하도록 캐러셀(805)을 동적으로 갱신할 수 있다.
캐러셀(805)은 어떤 연락처(715)가 UI(800)에서 현재 디스플레이된 챗 카드와 연관되는지를 표시하는 선택 하이라이트(820)를 또한 포함한다. 이 예에서, 선택 하이라이트는 직사각형 그래픽 객체로서 나타난다. 그러나 객체, 아이콘, 그림문자, 애니메이션 등과 같은 색상 및/또는 다른 그래픽 취급법을 이용한, 하이라이트를 나타내는 다른 방법을 또한 사용할 수 있다. 또한, 도 8a에 나타낸 바와 같이, 선택된 연락처를 하이라이트 처리하기 위해 점선(850)으로 나타낸 바와 같이 부전(tab)이 붙은 시각적 효과가 대안적으로 사용될 수 있다. 챗 카드가 예를 들면 사용자 상호작용을 통해 UI에서 변경된 때, 선택 하이라이트(820) 또는 부전(850)은 현재 디스플레이된 챗 카드에 대응하는 적당한 연락처(715)로 이동할 것이다. 메시징 애플리케이션(340)은 일부 경우에 하이라이트 처리된 연락처가 캐러셀의 디스플레이된 부분에서 사용자에게 보여질 수 있도록 캐러셀(805)을 스크롤 또는 이동시킬 필요가 있다.
일부 구현예에서, 메시징 애플리케이션(340)이 디바이스에 런치될 때, 가장 최근의 메시징 이력을 가진 캐러셀 내 가장 좌측의 연락처는 디폴트에 의해 하이라이트 처리되고 대응하는 챗 카드가 UI에서 보여진다. 일부 경우에, 이 디폴트 적용 행동은 인스턴스마다 기반으로 사용자에 의해 무시되거나, 또는 애플리케이션에서 표현되는 사용자 선호도를 설정함으로써 수정될 수 있다.
디스플레이된 연락처는 일부 구현예에서 추가의 기능을 노출하도록 구성될 수 있다. 예를 들면, 도 9에 도시된 것처럼, 터치 스크린을 이용하는 디바이스에서 소정 연락처 위에서 누르고 있기(tapping and holding)함으로써 또는 어떤 다른 입력을 제공함으로써, 그 연락처에 관한 추가 정보(905)가 UI에서 디스플레이된다. 이 예시적인 실시예에서는 연락처 이름, 이동전화 번호 및 이메일이 나타나지만, 디스플레이되는 특정 정보 또는 제공되는 기타 기능이 구현예에 따라서 달라질 수 있다. 예를 들면, 노출된 정보는 외부 콘텐츠에 대한 링크를 포함하고, 통화 및/또는 이메일 애플리케이션 등과 같은 관련 애플리케이션을 런칭하기 위한 제어를 포함할 수 있다. 캐러셀(805)은 뒤에서 자세히 설명하는 바와 같이 추가 기능을 불러내기 위해 사용하는 버튼(910)과 같은 사용자 제어를 또한 노출할 수 있다.
전술한 바와 같이, 메시징 애플리케이션(340)에 의해 노출되는 UI는 사용자가 챗 카드 및 캐러셀 둘 다와 상호작용할 수 있도록 구성된다. 예를 들면, 도 10에 도시된 것처럼, 수평 스크롤링을 이용하여 현재 디스플레이된 챗 카드(1005)로부터 접근을 위한 추가의 챗 카드가 논리적으로 위치된다. 챗 카드는 캐러셀(805) 내 그들 각각의 연락처와 대응하도록 논리적으로 정돈된다. 따라서, 이 예시적인 실시예에서, 접근 가능한 챗 카드(10101)는 현재 디스플레이된 챗 카드(1005)의 좌측에 논리적으로 위치되고, 다른 접근 가능한 카드(10102, 10103 ... 1010N)는 우측에 배치되며, 여기에서 N은 캐러셀에 채워지는 연락처의 수와 같다.
이 예시적인 실시예에서, 사용자는 현재 디스플레이된 챗 카드를 우측 또는 좌측으로 터치 및 드래그함으로써 챗 카드(1010) 사이에서 내비게이트할 수 있다. 플리킹과 같은 대안적인 터치 제스처를 또한 사용할 수 있다. 전술한 바와 같이, 일부 경우에는 다른 유형의 비터치 입력이 또한 사용될 수 있다. 도 11의 삽입 도면(1102)에 나타낸 바와 같이, 사용자(105)는 현재 챗 카드(1105)를 우측으로 끌어서 챗 카드(10101)를 나타낼 수 있다. 하이라이트(1115)는 바꾸어진 챗 카드를 반영하도록 캐러셀(805)의 새로운 위치로 갱신된다. 도 12에 도시된 것처럼, 사용자(105)는 현재 디스플레이된 챗 카드(1205)를 좌측으로 끌어서 다른 챗 카드를 나타낼 수 있다. 이 예에서 사용자(105)는 이전에 디스플레이된 챗 카드로부터 우측으로 두번째 위치에 있는 연락처에 대한 챗 카드(10102)를 보기 위해 좌측 드래그 동작을 2회 수행하였다. 일부 구현예에서, 각각의 챗 카드를 나타내기 위해 다른 터치 및 드래그 제스처가 이용되고, 한편 다른 구현예로서 카드를 연속적으로 스크롤하기 위해 단일 제스처를 사용할 수 있다. 챗 카드는 또한 예를 들면 사용자(105)의 다른 터치에 의해 정지시킬 때까지 터치 및 드래그 또는 플리킹 제스처가 카드를 일정 시구간 동안 계속 스크롤 하도록 동작하게끔 또한 구성될 수 있다. 특정 응용의 필요에 부합하도록 각종 유형의 스크롤링 동작이 구현될 수 있다는 것을 이해할 것이다. 일부 경우에, 챗 카드 움직임의 감각을 향상시키기 위해 음향(예를 들면, 클릭(click) 등)이 디바이스에서 플레이될 수 있다.
캐러셀(805)은 도 13 및 도 14에 도시된 것처럼 사용자에 의해 수평으로 스크롤가능하게 또한 구성될 수 있다. 전술한 스크롤가능한 챗 카드와 유사한 방식으로, 캐러셀(805)에 채워지는 추가의 연락처는 현재 디스플레이된 연락처(1305) 부근에 논리적으로 정돈된다. 도 13에 삽입 도면(1302, 1304)으로 나타낸 바와 같이, 이 예시적인 실시예에서 사용자(105)는 추가 연락처(13101...N)를 나타내기 위해 캐러셀을 우측 및/또는 좌측으로 드래그할 수 있다. 사용자가 캐러셀(805)을 드래그할 때, 하이라이트 처리된 연락처와 현재 디스플레이된 연락처 카드는 도 14에 도시된 것처럼 변하지 않는다. 여기에서, 캐러셀(805)은 2개의 추가 연락처를 나타내기 위해 삽입 도면(1402)으로 보인 것처럼 우측으로 드래그되지만, 하이라이트(1415)는 "디안 리드"(Diane Reed)의 챗 카드에서 머무르고 연관 챗 카드(1405)는 UI에서 계속 디스플레이된다. 사용자가 캐러셀을 계속 스크롤할 때, 현재 디스플레이된 챗 카드와 연관된 연락처는 보이지 않게 스크롤하지 않을 것이다. 그 대신에, 연락처는 하이라이트 처리된 연락처가 스크롤링 중에 보이게 유지되도록 캐러셀의 가장자리에서(예를 들면, 캐러셀을 우측으로 스크롤할 때는 좌측 가장자리에서 및 캐러셀을 좌측으로 스크롤할 때는 우측 가장자리에서) 지속 또는 "점착"될 수 있다. 캐러셀 스크롤링이 완료된 때, 사용자(105)는 도 15에 삽입 도면(1502)으로 보인 것처럼 캐러셀(805)의 다른 연락처를 터치할 수 있고, 하이라이트(1515) 및 연관 챗 카드(1505)가 그에 따라서 갱신된다. 이전에 선택되고 하이라이트 처리된 연락처는 그 다음에 "비점착"으로 되어 연락처가 사용자에 의한 후속 스크롤링 동작에서 보이지 않게 스크롤될 수 있다.
전형적인 구현예에서, 캐러셀은 연속 루프로 그 자신을 논리적으로 둘러싸지 않도록 구성된다. 즉, 캐러셀은 규정된 시작 및 규정된 끝을 가질 수 있고, 사용자는 가장 최근의 대화로부터 가장 오래된 대화까지 스크롤할 수 없다. 일부 경우에, 가장 오래된 대화를 가진 연락처가 캐러셀에서 도달한 때를 사용자가 알도록 애니메이센 또는 다른 표시가 제공될 수 있다. 가장 오래된 대화를 가진 챗 카드가 도달한 것을 표시하기 위해 유사한 디바이스를 또한 사용할 수 있다. 일부 경우에, 캐러셀 움직임의 감각을 향상시키기 위해 음향(예를 들면, 클릭 등)이 디바이스에서 플레이될 수 있다.
전술한 바와 같이, 캐러셀은 새로운 메시지가 수신되고 새로운 메시지가 발생된 때 정렬 순서를 변경하도록 동적으로 갱신될 수 있다. 그러나 전형적인 구현예에서, 캐러셀의 정렬 순서의 갱신은 현재 디스플레이된 챗 카드와 연관된 연락처를 보이지 않게 스크롤하지 않을 것이다. 그 대신에, 그 연락처는 새로운 메시지로부터 야기되는 재정렬가 다른 방식으로 연락처를 캐러셀의 보이는 부분 밖으로 밀리게 하는 경우에도 보이게 유지되도록 예를 들면 UI의 우측에서 캐러셀에 점착될 수 있다. 사용자가 다른 연락처를 선택하고 현재 디스플레이된 챗 카드가 변경된 때, 이전에 선택되고 하이라이트 처리된 연락처는 그 다음에 비점착으로 되고, 캐러셀 정렬 순서가 동적으로 갱신된 때 그 연락처는 보이지 않게 스크롤될 수 있다.
전술한 바와 같이, 버튼(910)은 추가의 기능을 불러내기 위해 (도 16에서 삽입 도면(1602)으로 나타낸 것처럼 터치를 이용하여) 사용자에 의해 조작될 수 있다. 이 예시적인 실시예에서, 사용자가 버튼(910)을 조작한 때, 도 17에 도시된 것처럼 수직 스크롤가능 리스트 뷰(1710)가 UI에 디스플레이된다. 연락처는 가장 최근의 메시지를 가진 대화와 연관된 연락처가 리스트의 최상부에 디스플레이되도록 대화 이력에 의해 캐러셀과 동일한 방법으로 정돈된다. 전형적인 구현예에서, 사용자(105)는 리스트 뷰(1710)의 연락처 이미지 또는 이름을 터치함으로써 캐러셀 및 챗 카드를 가진 소형화 대화 뷰로 복귀할 수 있다.
도 18은 소형화 대화 뷰와 리스트 뷰 사이에서 전환하기 위한 대안적인 배열을 보인 것이다. 삽입 도면(1802)으로 도시된 바와 같이, 사용자(105)는 현재 챗 카드(1805)로부터 UI에 나타나는 수직 스크롤링 가능한 리스트 뷰(1810)로 줌아웃하기 위해 다중 터치 집기(pinch) 제스처를 적용할 수 있다. 도 17에 도시된 배열과 마찬가지로, 사용자(105)는 리스트 뷰(1810)의 연락처 이미지 또는 이름을 터치함으로써 캐러셀 및 챗 카드를 가진 소형화 대화 뷰로 복귀할 수 있다.
도 19는 삽입 도면(1902)으로 도시된 바와 같이 사용자(105)가 터치 및 플리크 제스처를 이용하여 캐러셀(805)로부터 연락처를 제거할 수 있는 예시적인 배열을 보인 것이다. 메시징 애플리케이션(340)(도 3)은 그 다음에 연락처의 제거를 반영하고 UI로부터 연관 연락처 카드(1905)를 소거하도록 캐러셀(805)을 갱신할 수 있다. 사용자는 삽입 도면(1904)으로 도시된 바와 같이 연관 챗 카드(1910)를 UI에 가져오기 위해 캐러셀(805)의 다른 연락처를 터치할 수 있다.
도 20은 디바이스(110)(도 1)에서 이용 가능한 메시징 대화 이력의 내비게이션을 인에이블하는 예시적인 방법(2000)의 흐름도이다. 특별하게 설명하지 않는 한, 흐름도로 도시되고 수반된 텍스트로 설명된 방법 또는 단계들은 특수한 순서 또는 시퀀스로 구속되지 않는다. 또한, 일부 방법 또는 그 단계들은 동시에 발생 또는 수행될 수 있고, 소정의 구현예에서는 그 구현예의 필요조건에 따라서 모든 방법 또는 단계들이 수행될 필요가 없으며, 일부 방법 또는 단계들이 선택적으로 활용될 수 있다.
단계 2005에서, 캐러셀은 메시징 대화 이력에 따라 정렬된 연락처가 채워진다. 예를 들면, 가장 최근 메시지의 대화(유입 또는 송출과 관계없음)를 가진 연락처가 캐러셀의 가장 좌측에 배치될 수 있다. 그 이력에서 다음의 가장 최근 메시지를 가진 연락처가 최초 연락처의 우측에 배치되고, 이러한 방식으로 캐러셀이 채워진다. 전술한 바와 같이, 캐러셀 멤버십을 제한 및/또는 확장하고 사용자의 동작 및 선호도를 반영시키는 것 등을 위해 캐러셀을 채울 때 각종 규칙이 적용될 수 있다. 전형적으로, 캐러셀은 사용자 상호작용 없이 메시징 애플리케이션(340)(도 3)에 의해 자동으로 채워지고, 자동화의 정도는 구현예에 따라 다를 수 있다.
단계 2010에서, 스크롤가능한 캐러셀이 UI 상에 제시된다. 전형적인 구현예에서, 캐러셀은 사용자로부터의 입력을 이용해서 또는 메시징 애플리케이션(340)에 의해 수행되는 동작에 따라서 수평으로 스크롤될 수 있다. 모니터는 새로운 유입 메시지의 수신 및 새로운 송출 메시지의 발생을 포함한 메시징 이벤트 및 활동을 모니터링하도록 확립될 수 있다. 단계 2015에서, 캐러셀 내 연락처들의 정렬 순서가 메시징 활동에 응답하여 갱신되고 갱신된 캐러셀이 단계 2020에서 UI에 제시된다.
캐러셀에서 연락처를 스크롤링하고 연락처를 선택하기 위한 사용자 인에이블는 예를 들면 디바이스의 터치스크린에서의 터치 기반 제스처를 수용함으로써 단계 2025에서 제공된다. 연락처 선택을 위한 사용자 입력이 단계 2030에서 수신된다. 선택된 연락처는 단계 2035에서 하나 이상의 색상 또는 다른 그래픽 취급법, 예를 들면, 객체, 아이콘, 그림문자, 애니메이션 등을 이용하여 캐러셀에서 하이라이트 처리된다. 선택된 연락처와 연관된 챗 카드가 단계 2040에서 UI에 제시된다. 챗 카드는 전형적인 구현예에서 수직으로 스크롤가능하도록 구성될 수 있다.
챗 카드 사이에서 스크롤링하기 위한 사용자 인에이블가 단계 2045에서 제공된다. 예를 들면, 챗 카드는 수평으로 스크롤될 수 있다. 스크롤링 순서는 캐러셀에서 연락처의 정렬 순서에 대응할 수 있다. 단계 2050에서, 챗 카드가 스크롤될 때, 하이라이트는 UI에서 현재 디스플레이된 챗 카드와 연관된 캐러셀 내 연락처를 반영하도록 변경된다. 캐러셀 내 연락처에 대한 새로운 메시지 표시자가 단계 2055에서 디스플레이될 수 있고, 연락처의 소형화 뷰(연락처 캐러셀 및 챗 카드를 이용함)와 리스트 뷰 사이에서 사용자가 전환시키도록 인에이블하는 하나 이상의 제어가 단계 2060에서 제공될 수 있다.
도 21은 디바이스에서 이용 가능한 메시징 대화의 소형화 뷰를 디스플레이하는 예시적인 방법(2100)의 흐름도이다. 단계 2105에서, 메시징 대화를 나타내는 챗 카드가 수평 스크롤가능 디스플레이를 이용하여 제시된다. 단계 2110에서, 연락처들의 수평 스크롤가능 캐러셀이 제시되고, 이때 연락처들은 메시징 이력에 의해 정렬된다. 현재 디스플레이된 챗 카드와 연관된 캐러셀 연락처를 표시하기 위해 단계 2115에서 하이라이트가 나타난다.
단계 2120에서, 사용자가 챗 카드를 통해 스크롤할 때 캐러셀 내의 연관 연락처를 표시하도록 하이라이트가 갱신된다. 단계 2125에서, 캐러셀에서 연락처의 사용자 선택을 표시하는 입력이 수신된다. 단계 2130에서, 사용자가 선택한 연락처를 표시하도록 하이라이트가 변경되고 선택된 연락처에 대응하는 챗 카드가 단계 2135에서 제시된다.
캐러셀은 새로운 메시지가 수신되고 및/또는 새로운 메시지가 발생된 때 단계 2140에서 동적으로 재정렬될 수 있다. 단계 2145에서, 동적으로 정렬된 캐러셀이 UI 상에 제시된다. 소형화 뷰와 리스트 뷰 사이에서 토글링하고 리스트 뷰로 주밍하기 위한 인에이블가 단계 2150에서 제공된다. 단계 2155에서, 사용자가 캐러셀을 채우는 것을 제어할 수 있도록 제어가 노출된다. 제어는 사용자가 연락처를 캐러셀에 수동으로 추가하거나 캐러셀로부터 삭제하게 하는 것, 캐러셀이 채워지는 법에 관한 선호도 설정 등을 포함할 수 있다.
도 22는 디바이스에서 메시징 애플리케이션을 구현하기 위한 예시적인 방법(2200)의 흐름도이다. 단계 2205에서, 메시징 애플리케이션이 초기에 런칭될 때, 가장 최근의 메시지를 포함한 챗 카드가 디바이스 UI에서 디스플레이된다. 단계 2210에서, 메시징 대화 이력에 의해 정렬된 연락처들의 캐러셀이 챗 카드와 함께 디스플레이된다. 챗 카드와 연관된 캐러셀 내 연락처는 단계 2215에서 예를 들면 하이라이트 또는 유사한 디바이스를 이용하여 표시된다. 캐러셀 내 연락처의 사용자 선택이 단계 2220에서 인에이블된다. 챗 카드는 디스플레이된 챗 카드가 선택된 연락처와 일치하도록 UI에서 바꾸어진다(단계 2225).
캐러셀과 디스플레이된 챗 카드는 단계 2230에서 추가의 연락처와 챗 카드를 나타내게끔 스크롤링하도록 구성된다. 캐러셀이 사용자에 의해 스크롤될 때, 현재 디스플레이된 챗 카드와 연관된 연락처가 단계 2235에서 캐러셀에 지속(즉, "점착")된다. 하나 이상의 연락처와 연관된 읽지 않은 메시지의 표시가 단계 2240에서 나타난다.
도 23은 본 발명에 따른 메시지 대화 이력의 신속한 내비게이션을 구현할 수 있는 PC, 클라이언트 머신 또는 서버와 같은 예시적인 컴퓨터 시스템(2300)의 단순화한 블록도이다. 컴퓨터 시스템(2300)은 프로세서(2305), 시스템 메모리(2311), 및 시스템 메모리(2311)를 비롯한 각종 시스템 컴포넌트를 프로세서(2305)에 결합하는 시스템 버스(2314)를 포함한다. 시스템 버스(2314)는 메모리 버스 또는 메모리 제어기, 주변 버스, 또는 임의의 각종 버스 구조를 이용하는 로컬 버스를 포함한 각종 유형의 버스 구조 중의 임의의 것일 수 있다. 시스템 메모리(2311)는 읽기 전용 메모리(ROM)(2317) 및 랜덤 액세스 메모리(RAM)(2321)를 포함한다. 예를 들면 시동시에 컴퓨터 시스템(2300)의 각종 요소들 간에 정보를 전송하는데 도움을 주는 기본 루틴을 포함한 기본 입/출력 시스템(BIOS)(2325)은 ROM(2317)에 저장된다. 컴퓨터 시스템(2300)은 내부에 배치된 하드 디스크(도시 생략됨)에 대한 읽기 및 쓰기를 행하는 하드 디스크 드라이브(2328), 제거 가능한 자기 디스크(2333)(예를 들면, 플로피 디스크)에 대한 읽기 또는 쓰기를 행하는 자기 디스크 드라이브(2330), 및 CD(콤팩트 디스크), DVD(디지털 다기능 디스크) 또는 다른 광학 매체와 같은 제거 가능한 광디스크(2343)에 대한 읽기 또는 쓰기를 행하는 광디스크 드라이브(2338)를 또한 포함할 수 있다. 하드 디스크 드라이브(2328), 자기 디스크 드라이브(2330) 및 광디스크 드라이브(2338)는 각각 하드 디스크 드라이브 인터페이스(2346), 자기 디스크 드라이브 인터페이스(2349) 및 광디스크 드라이브 인터페이스(2352)에 의해 시스템 버스(2314)에 접속된다. 드라이브와 이들의 연관된 컴퓨터 판독가능 기억 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 및 컴퓨터 시스템(2300)의 기타 데이터의 비휘발성 기억을 제공한다. 비록 이 예시적인 실시예가 하드 디스크, 제거 가능한 자기 디스크(2333) 및 제거 가능한 광디스크(2343)를 포함하지만, 컴퓨터에 의해 액세스 가능한 데이터를 저장할 수 있는 다른 유형의 컴퓨터 판독가능 기억 매체, 예를 들면 자기 카세트, 플래시 메모리 카드, 디지털 비디오 디스크, 데이터 카트리지, 랜덤 액세스 메모리(RAM), 읽기 전용 메모리(ROM) 등이 또한 본 발명에 따른 메시지 대화 이력의 신속한 내비게이션의 일부 응용에서 사용될 수 있다. 또한, 여기에서 사용하는 용어 컴퓨터 판독가능 기억 매체는 하나 이상의 미디어형 인스턴스(예를 들면, 하나 이상의 자기 디스크, 하나 이상의 CD 등)를 포함한다. 본 명세서 및 특허 청구범위의 목적상, 용어 "컴퓨터 판독가능 기억 매체" 및 그 변체는 파, 신호, 및/또는 다른 일시적인 및/또는 무형의 통신 매체를 포함하지 않는다.
운영 체제(2355), 하나 이상의 응용 프로그램(2357), 다른 프로그램 모듈(2360) 및 프로그램 데이터(2363)를 포함한 다수의 프로그램 모듈이 하드 디스크, 자기 디스크(2333), 광디스크(2343), ROM(2317) 또는 RAM(2321)에 저장될 수 있다. 사용자는 키보드(2366) 및 포인팅 디바이스(2368)(예를 들면, 마우스)와 같은 입력 디바이스를 통하여 명령 및 정보를 컴퓨터 시스템(2300)에 입력할 수 있다. 다른 입력 디바이스(도시 생략됨)로는 마이크로폰, 조이스틱, 게임 패드, 위성 접시, 스캐너, 트랙볼, 터치패드, 터치스크린, 터치 감응 디바이스, 음성 명령 모듈 또는 디바이스, 사용자 동작 또는 사용자 행동 포착 디바이스 등이 있다. 상기 및 기타의 입력 디바이스들은 주로 시스템 버스(2314)에 결합된 직렬 포트 인터페이스(2371)를 통하여 프로세서(2305)에 접속되지만, 병렬 포트, 게임 포트 또는 범용 직렬 버스(USB)와 같은 다른 인터페이스에 의해 접속될 수도 있다. 모니터(2373) 또는 다른 유형의 디스플레이 디바이스가 또한 비디오 어댑터(2375)와 같은 인터페이스를 통해 시스템 버스(2314)에 접속된다. 모니터(2373) 외에, 퍼스널 컴퓨터는 전형적으로 스피커 및 프린터와 같은 다른 주변 출력 디바이스(도시 생략됨)를 포함한다. 도 23에 도시된 예시적인 실시예는 호스트 어댑터(2378), 소형 컴퓨터 시스템 인터페이스(SCSI) 버스(2383), 및 SCSI 버스(2383)에 접속된 외부 스토리지 디바이스(2376)를 또한 포함한다.
컴퓨터 시스템(2300)은 원격 컴퓨터(2388)와 같은 하나 이상의 원격 컴퓨터에 대한 논리적 접속을 이용하여 네트워크 환경에서 동작할 수 있다. 원격 컴퓨터(2388)는 다른 퍼스널 컴퓨터, 서버, 라우터, 네트워크 PC, 피어 디바이스 또는 다른 공통 네트워크 노드로서 선택될 수 있고, 비록 도 23에는 단일의 대표적인 원격 메모리/스토리지 디바이스(2390)만이 도시되어 있지만, 전형적으로 컴퓨터 시스템(2300)과 관련하여 위에서 설명한 요소들의 일부 또는 전부를 포함한다. 도 23에 도시된 논리적 접속은 근거리 통신망(LAN)(2393) 및 광역 통신망(WAN)(2395)을 포함한다. 그러한 네트워크 환경은 종종 예를 들면 오피스, 기업 컴퓨터 네트워크, 인트라넷 및 인터넷에서 전개된다.
LAN 네트워크 환경에서 사용될 때, 컴퓨터 시스템(2300)은 네트워크 인터페이스 또는 어댑터(2396)를 통하여 근거리 통신망(2393)에 접속된다. WAN 네트워크 환경에서 사용될 때, 컴퓨터 시스템(2300)은 전형적으로 광대역 모뎀(2398), 네트워크 게이트웨이, 또는 광역 통신망(2395)을 통해 통신을 확립하는 다른 수단(예를 들면, 인터넷)을 포함한다. 내부에 또는 외부에 있을 수 있는 광대역 모뎀(2398)은 직렬 포트 인터페이스(2371)를 통해 시스템 버스(2314)에 접속된다. 네트워크 환경에서, 컴퓨터 시스템(2300)과 관련된 프로그램 모듈 또는 그 일부는 원격 메모리 스토리지 디바이스(2390)에 저장될 수 있다. 도 23에 도시된 네트워크 접속은 예시적인 것이고, 본 발명에 따른 메시지 대화 이력의 신속한 내비게이션 응용의 특수한 필요조건에 따라서 컴퓨터들 간에 통신 링크를 확립하는 다른 수단을 이용할 수 있다는 점에 주목한다.
도 24는 본 발명에 따른 메시지 대화 이력의 신속한 내비게이션을 제공하기 위해 여기에서 설명한 각종 컴포넌트를 실행할 수 있는 디바이스의 예시적인 구조(2400)를 보인 것이다. 따라서, 도 24에 예시된 구조(2400)는 서버 컴퓨터, 모바일 폰, PDA, 스마트폰, 데스크톱 컴퓨터, 넷북 컴퓨터, 태블릿 컴퓨터, GPS 디바이스, 게이밍 콘솔 및/또는 랩톱 컴퓨터용으로 적응될 수 있는 구조를 보인 것이다. 구조(2400)는 여기에서 제시된 컴포넌트들의 임의의 양태를 실행하기 위해 활용될 수 있다.
도 24에 예시된 구조(2400)는 CPU(중앙 처리 디바이스)(2402), RAM(2406)과 ROM(2408)을 포함한 시스템 메모리(2404), 메모리(2404)를 CPU(2402)에 결합하는 시스템 버스(2410)를 포함한다. 예를 들면 시동시에 구조(2400) 내의 각종 요소들 간에 정보를 전송하는데 도움을 주는 기본 루틴을 포함한 기본 입/출력 시스템은 ROM(2408)에 저장된다. 구조(2400)는 애플리케이션, 파일 시스템 및 운영 체제를 구현하기 위해 사용되는 소프트웨어 코드 또는 다른 컴퓨터 실행 코드를 저장하기 위한 대용량 스토리지 디바이스(2412)를 또한 포함한다.
대용량 스토리지 디바이스(2412)는 버스(2410)에 접속된 대용량 기억 제어기(도시 생략됨)를 통해 CPU(2402)에 접속된다. 대용량 스토리지 디바이스(2412) 및 그 연관된 컴퓨터 판독가능 기억 매체는 구조(2400)의 비휘발성 기억을 제공한다.
비록 여기에 내포된 컴퓨터 판독가능 기억 매체의 설명이 하드 디스크 또는 CD-ROM 드라이브와 같은 대용량 스토리지 디바이스를 인용하지만, 당업자라면 컴퓨터 판독가능 기억 매체는 구조(2400)에 의해 액세스될 수 있는 임의의 이용 가능한 기억 매체일 수 있다는 것을 이해할 것이다.
비제한적인 예로서, 컴퓨터 판독가능 기억 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 다른 데이터와 같은 정보의 저장을 위해 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 포함할 수 있다. 비제한적인 예를 들자면, 컴퓨터 판독가능 매체는 RAM, ROM, EPROM(소거형의 프로그램 가능한 읽기 전용 메모리), EEPROM(전기적 소거형의 프로그램 가능한 읽기 전용 메모리), 플래시 메모리 또는 다른 반도체 메모리 기술, CD-ROM, DVD, HD-DVD(고선명 DVD), 블루레이, 또는 다른 광학 스토리지, 자기 카세트, 자기 테이프, 자기 디스크 스토리지 또는 다른 자기 스토리지 디바이스, 또는 원하는 정보를 저장하기 위해 사용할 수 있고 구조(2400)에 의해 액세스될 수 있는 임의의 다른 매체를 포함한다.
각종 실시형태에 따라서, 구조(2400)는 네트워크를 통한 원격 컴퓨터에의 논리적 접속을 이용하여 네트워크 환경에서 동작할 수 있다. 구조(2400)는 버스(2410)에 접속된 네트워크 인터페이스 유닛(2416)을 통하여 네트워크에 접속할 수 있다. 네트워크 인터페이스 유닛(2416)은 다른 유형의 네트워크 및 원격 컴퓨터 시스템에 접속하기 위해 또한 사용될 수 있다는 것을 이해할 것이다. 구조(2400)는 키보드, 마우스 또는 전자 스타일러스(도 24에는 도시되지 않음)를 포함한 다수의 다른 디바이스로부터의 입력을 수신 및 처리하는 입/출력 제어기(2418)를 또한 포함할 수 있다. 유사하게, 입/출력 제어기(2418)는 디스플레이 화면, 프린터 또는 다른 유형의 출력 디바이스(도 24에는 도시되지 않음)에 출력을 제공할 수 있다.
여기에서 설명하는 소프트웨어 컴포넌트는, CPU(2402)에 로드되어 실행될 때, CPU(2402) 및 전체 구조(2400)를 범용 컴퓨팅 시스템으로부터 여기에서 제시되는 기능을 수행하도록 맞춤화되는 특수 목적 컴퓨팅 시스템으로 변환할 수 있다는 것을 이해할 것이다. CPU(2402)는 임의 수의 트랜지스터 또는 다른 이산 회로 요소로 구성될 수 있고, 이들은 개별적으로 또는 집합적으로 임의 수의 상태를 취할 수 있다. 더 구체적으로, CPU(2402)는 여기에서 개시되는 소프트웨어 모듈에 내포된 실행 명령어에 응답하여 유한 상태 머신으로서 동작할 수 있다. 이러한 컴퓨터 실행 명령어는 CPU(2402)가 상태들 사이에서 어떻게 천이하는지를 특정함으로써 CPU(2402)를 변환시키고, 이것에 의해 CPU(2402)를 구성하는 트랜지스터 또는 다른 이산 하드웨어 요소들을 변환할 수 있다.
여기에서 제시된 소프트웨어 모듈의 인코딩은 여기에서 제시된 컴퓨터 판독가능 기억 매체의 물리적 구조를 또한 변환할 수 있다. 물리적 구조의 특수한 변환은 이 설명의 다른 구현예에서 각종 인수에 의존할 수 있다. 그러한 인수의 예로는, 비제한적인 예를 들자면, 컴퓨터 판독가능 기억 매체를 구현하기 위해 사용되는 기술, 컴퓨터 판독가능 기억 매체가 1차 스토리지로 특징화되는지 또는 2차 스토리지로 특징화되는지 등이 있다. 예를 들어서, 만일 컴퓨터 판독가능 기억 매체가 반도체 기반 메모리로서 구현되면, 여기에서 개시되는 소프트웨어는 반도체 메모리의 물리적 상태를 변환함으로써 컴퓨터 판독가능 기억 매체에서 인코딩될 수 있다. 예를 들면, 소프트웨어는 트랜지스터, 커패시터, 또는 반도체 메모리를 구성하는 다른 이산 회로 요소의 상태를 변환할 수 있다. 소프트웨어는 또한 데이터를 저장하기 위해 상기 컴포넌트들의 물리적 상태를 변환할 수 있다.
다른 예로서, 여기에서 개시되는 컴퓨터 판독가능 기억 매체는 자기 또는 광학 기술을 이용하여 구현될 수 있다. 그러한 구현예에서, 여기에서 제시되는 소프트웨어는 소프트웨어가 인코딩된 때 자기 또는 광학 매체의 물리적 상태를 변환할 수 있다. 이러한 변환은 주어진 자기 매체 내 특정 위치의 자기적 특징의 변경을 포함할 수 있다. 이러한 변환은 또한 주어진 광학 매체 내 특정 위치의 물리적 피처 또는 특징을 변경하여 그러한 위치의 광학적 특징을 변화시키는 것을 포함할 수 있다. 물리적 매체의 다른 변환들도 본 발명의 범위 및 정신으로부터 벗어나지 않고 가능하며, 전술한 예들은 단지 이 설명을 쉽게 하기 위해서 제공된 것이다.
전술한 설명에 비추어, 여기에서 제시된 소프트웨어 컴포넌트를 저장 및 실행하기 위해 많은 유형의 물리적 변환이 구조(2400)에서 발생한다는 것을 이해할 것이다. 구조(2400)는 핸드헬드 컴퓨터, 매립형 컴퓨터 시스템, 스마트폰, PDA, 및 업계에 알려진 다른 유형의 컴퓨팅 디바이스를 포함한 다른 유형의 컴퓨팅 디바이스를 포함할 수 있다는 것을 또한 이해할 것이다. 구조(2400)는 도 24에 도시된 컴포넌트들을 모두 포함하지 않을 수 있고, 도 24에 명시적으로 도시되지 않은 다른 컴포넌트를 포함할 수 있으며, 또는 도 24에 도시된 것과 완전히 다른 구조를 이용할 수 있는 것으로 또한 예상된다.
도 25는 포괄적으로 참조 번호 2502로 표시한 각종의 선택적 하드웨어 및 소프트웨어 컴포넌트를 포함한 모바일 폰 또는 스마트폰과 같은 예시적인 디바이스(110)의 기능 블록도이다. 예시의 편의상 모든 접속을 도시하지는 않았으나, 모바일 디바이스 내의 임의의 컴포넌트(2502)는 임의의 다른 컴포넌트와 통신할 수 있다. 모바일 디바이스는 다양한 컴퓨팅 디바이스 중의 임의의 디바이스(예를 들면, 셀폰, 스마트폰, 핸드헬드 컴퓨터, PDA 등)일 수 있고, 셀룰러 또는 위성 네트워크와 같은 하나 이상의 이동 통신망(2504)과 무선 양방향 통신을 할 수 있다.
예시된 디바이스(110)는 신호 코딩, 데이터 처리, 입/출력 처리, 출력 제어, 및/또는 기타 기능과 같은 태스크를 수행하기 위한 제어기 또는 프로세서(2510)(예를 들면, 신호 프로세서, 마이크로프로세서, 마이크로컨트롤러, ASIC(특수 용도 집적회로), 또는 기타의 제어 및 처리 논리 회로)를 포함할 수 있다. 운영체제(2512)는 전력 상태, 어보브-록(above-lock) 상태 및 빌로우-록(below-lock) 상태를 포함한 컴포넌트(2502)의 할당 및 사용을 제어할 수 있고, 하나 이상의 응용 프로그램(2514)에 대한 지원을 제공한다. 응용 프로그램은 보통의 모바일 컴퓨팅 애플리케이션(예를 들면, 영상 촬영 애플리케이션, 이메일 애플리케이션, 캘린더, 연락처 관리자, 웹 브라우저, 메시징 애플리케이션), 또는 임의의 다른 컴퓨팅 애플리케이션을 포함할 수 있다.
예시된 모바일 디바이스(110)는 메모리(2520)를 포함할 수 있다. 메모리(2520)는 비분리형 메모리(2522) 및/또는 분리형 메모리(2524)를 포함할 수 있다. 비분리형 메모리(2522)는 RAM, ROM, 플래시 메모리, 하드 디스크 또는 다른 잘 알려진 메모리 스토리지 기술을 포함할 수 있다. 분리형 메모리(2524)는 GSM(Global System for Mobile communications, 글로벌 이동통신 시스템) 체제에서 잘 알려진 플래시 메모리 또는 가입자 식별 모듈(SIM) 카드, 또는 "스마트 카드"와 같은 다른 잘 알려진 메모리 스토리지 기술을 포함할 수 있다. 메모리(2520)는 운영체제(2512) 및 응용 프로그램(2514)을 구동하기 위한 데이터 및/또는 코드를 저장하기 위해 사용할 수 있다. 예시적인 데이터는 하나 이상의 유선 또는 무선 네트워크를 통해 하나 이상의 네트워크 서버 또는 다른 디바이스로/로부터 전송/수신되는 웹 페이지, 텍스트, 이미지, 사운드 파일, 비디오 데이터 또는 기타 데이터를 포함할 수 있다.
메모리(2520)는 또한 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위해 임의의 방법 또는 기술로 구현되는 하나 이상의 컴퓨터 판독가능 기억 매체로서 배열되거나 그러한 기억 매체를 포함할 수 있다. 비제한적인 예를 들자면, 컴퓨터 판독가능 매체는 RAM, ROM, EPROM, EEPROM, 플래시 메모리 또는 다른 반도체 메모리 기술, CD-ROM(콤팩트 디스크 ROM), DVD(디지털 다기능 디스크), HD-DVD(고선명 DVD), 블루레이, 또는 다른 광학 스토리지, 자기 카세트, 자기 테이프, 자기 디스크 스토리지 또는 다른 자기 스토리지 디바이스, 또는 원하는 정보를 저장하기 위해 사용할 수 있고 모바일 디바이스(110)에 의해 액세스될 수 있는 임의의 다른 매체를 포함한다.
메모리(2520)는 국제 모바일 가입자 아이덴티티(International Mobile Subscriber Identity, IMSI)와 같은 가입자 식별자, 및 국제 모바일 장비 식별자(International Mobile Equipment Identifier, IMEI)와 같은 장비 식별자를 저장하기 위해 사용할 수 있다. 그러한 식별자는 사용자 및 장비를 식별하기 위해 네트워크 서버에 전송될 수 있다. 모바일 디바이스(110)는 터치 스크린(2532); 음성 인식, 음성 명령 등의 음성 입력 구현을 위한 마이크로폰(2534); 카메라(2536); 물리적 키보드(2538); 트랙볼(2540); 및/또는 근접 센서(2542)와 같은 하나 이상의 입력 디바이스(2530); 및 스피커(2552) 및 하나 이상의 디스플레이(2554)와 같은 하나 이상의 출력 디바이스(2550)를 지원할 수 있다. 일부 경우에는 행동 인식을 이용한 다른 입력 디바이스(도시 생략됨)를 또한 이용할 수 있다. 다른 가능한 출력 디바이스(도시 생략됨)는 압전 또는 촉각 출력 디바이스를 포함할 수 있다. 일부 디바이스는 2개 이상의 입/출력 기능을 발휘할 수 있다. 예를 들면, 터치스크린(2532)과 디스플레이(2554)는 단일 입/출력 디바이스로 결합될 수 있다.
무선 모뎀(2560)은, 업계에 잘 알려진 바와 같이, 안테나(도시 생략됨)에 결합되어 프로세서(2510)와 외부 디바이스 간의 양방향 통신을 지원할 수 있다. 모뎀(2560)은 포괄적으로 도시되어 있고, 이동 통신망(2504)과 통신하기 위한 셀룰러 모뎀 및/또는 다른 라디오 기반 모뎀(예를 들면, 블루투스(2564) 또는 와이파이(2562))을 포함할 수 있다. 무선 모뎀(2560)은 전형적으로 단일 셀룰러 네트워크 내에서, 셀룰러 네트워크들 사이에서, 또는 모바일 디바이스와 공중 교환식 전화망(PSTN) 사이에서 데이터 및 음성 통신을 위한 GSM 네트워크와 같은 하나 이상의 셀룰러 네트워크와 통신하도록 구성된다.
모바일 디바이스는 적어도 하나의 입/출력 포트(2580), 전원장치(2582), GPS 수신기와 같은 위성 내비게이션 시스템 수신기(2584), 가속도계(2586), 자이로스코프(도시 생략됨), 및/또는 물리적 커넥터(2590)(예를 들면, USB 포트, IEEE 1394(FireWire) 포트 및/또는 RS-232 포트)를 또한 포함할 수 있다. 예시된 컴포넌트(2502)들은 일부 컴포넌트가 제거될 수 있고 다른 컴포넌트가 추가될 수 있기 때문에 전부가 필요하다거나 총망라적인 것이 아니다.
도 26은 멀티미디어 콘솔(1104)의 예시적인 기능 블록도이다. 멀티미디어 콘솔(1104)은 레벨 1 캐시(2602), 레벨 2 캐시(2604) 및 플래시 ROM(읽기 전용 메모리)(2606)을 가진 중앙 처리 디바이스(CPU)(2601)를 구비한다. 레벨 1 캐시(2602)와 레벨 2 캐시(2604)는 데이터를 일시적으로 저장하고, 그에 따라서 메모리 액세스 사이클의 수를 줄이며, 이로써 처리 속도 및 스루풋을 개선한다. CPU(2601)는 2개 이상의 코어를 갖도록 구성될 수 있고, 그에 따라서 추가의 레벨 1 및 레벨 2 캐시(2602, 2604)를 구비할 수 있다. 플래시 ROM(2606)은 멀티미디어 콘솔(1104)의 전원이 온(ON)으로 된 때 부팅 처리의 초기 단계 중에 로드된 실행 코드를 저장할 수 있다.
그래픽 처리 디바이스(GPU)(2608)와 비디오 인코더/비디오 코덱(코더/디코더)(2614)은 고속 및 고해상도 그래픽 처리를 위한 비디오 처리 파이프라인을 형성한다. 데이터는 버스를 통해 GPU(2608)로부터 비디오 인코더/비디오 코덱(2614)로 전달된다. 비디오 처리 파이프라인은 데이터를 텔레비전 또는 다른 디스플레이로 전송하기 위해 A/V(오디오/비디오) 포트(2640)에 출력한다. 메모리 제어기(2610)는 비제한적인 예를 들자면 RAM과 같은 각종 유형의 메모리(2612)에 대한 프로세서 접근을 촉진하기 위해 GPU(2608)에 접속된다.
멀티미디어 콘솔(1104)은 I/O 제어기(2620), 시스템 관리 제어기(2622), 오디오 처리 디바이스(2623), 네트워크 인터페이스 제어기(2624), 제1 USB(범용 직렬 버스) 호스트 제어기(2626), 제2 USB 제어기(2628) 및 프론트 패널 I/O 서브어셈블리(2630)를 포함하고, 이들은 모두 모듈(2618)에서 구현되는 것이 바람직하다. USB 제어기(2626, 2628)는 주변 제어기(2642(1), 2642(2)), 무선 어댑터(2648) 및 외부 메모리 디바이스(2646)(예를 들면, 플래시 메모리, 외부 CD/DVD ROM 드라이브, 분리형 매체 등)에 대한 호스트로서 작용한다. 네트워크 인터페이스 제어기(2624) 및/또는 무선 어댑터(2648)는 네트워크(예를 들면, 인터넷, 홈 네트워크 등)에 대한 접근을 제공하고, 이더넷 카드, 모뎀, 블루투스 모듈, 케이블 모뎀 등을 포함한 매우 다양한 각종의 유선 또는 무선 어댑터 컴포넌트 중 임의의 것일 수 있다.
시스템 메모리(2643)는 부팅 처리 중에 로드된 응용 데이터를 저장하기 위해 제공된다. 미디어 드라이브(2644)가 제공되고, 미디어 드라이브(2644)는 DVD/CD 드라이브, 하드 드라이브 또는 다른 분리형 미디어 드라이브 등을 포함할 수 있다. 미디어 드라이브(2644)는 멀티미디어 콘솔(1104)의 내부 또는 외부에 있을 수 있다. 응용 데이터는 멀티미디어 콘솔(1104)에 의한 실행, 재생 등을 위해 미디어 드라이브(2644)를 통해 접근될 수 있다. 미디어 드라이브(2644)는 직렬 ATA 버스 또는 다른 고속 접속(예를 들면, IEEE 1394)과 같은 버스를 통해 I/O 제어기(2620)에 접속된다.
시스템 관리 제어기(2622)는 멀티미디어 콘솔(1104)의 이용성 보장과 관련된 다양한 서비스 기능을 제공한다. 오디오 처리 디바이스(2623)와 오디오 코덱(2632)은 고충실도 및 스테레오 처리 능력이 있는 대응하는 오디오 처리 파이프라인을 형성한다. 오디오 데이터는 통신 링크를 통해 오디오 처리 디바이스(2623)와 오디오 코덱(2632) 사이에서 전달된다. 오디오 처리 파이프라인은 오디오 능력이 있는 외부 오디오 플레이어 또는 디바이스에 의한 재생을 위해 데이터를 A/V 포트(2640)에 출력한다.
프론트 패널 I/O 서브어셈블리(2630)는 전원 버튼(2650) 및 이젝트 버튼(2652)의 기능뿐만 아니라, 멀티미디어 콘솔(1104)의 외부 표면에 노출된 임의의 LED(발광 다이오드) 또는 다른 표시자를 지원한다. 시스템 전원 디바이스 모듈(2636)은 멀티미디어 콘솔(1104)의 각종 컴포넌트에 전원을 제공한다. 팬(2638)은 멀티미디어 콘솔(1104) 내의 회로를 식힌다.
멀티미디어 콘솔(1104) 내의 CPU(2601), GPU(2608), 메모리 제어기(2610) 및 각종 다른 컴포넌트들은 직렬 및 병렬 버스, 메모리 버스, 주변 버스 및 임의의 다양한 버스 구조를 이용한 프로세서 또는 로컬 버스를 통해 상호접속된다. 예를 들면, 이러한 구조는 주변 컴포넌트 상호접속(PCI) 버스, PCI-고속 버스 등을 포함할 수 있다.
멀티미디어 콘솔(1104)이 전원 온 된 때, 응용 데이터는 시스템 메모리(2643)로부터 메모리(2612) 및/또는 캐시(2602, 2604)로 로드되고 CPU(2601)에서 실행될 수 있다. 응용은 멀티미디어 콘솔(1104)에서 이용 가능한 다른 멀티미디어 유형에 내비게이트할 때 일정한 사용자 경험을 제공하는 그래픽 사용자 인터페이스를 제시할 수 있다. 동작시에, 미디어 드라이브(2644)에 내포된 응용 및/또는 다른 미디어는 멀티미디어 콘솔(1104)에 추가의 기능을 제공하도록 미디어 드라이브(2644)로부터 런칭 또는 플레이될 수 있다.
멀티미디어 콘솔(1104)은 시스템을 텔레비전 또는 다른 디스플레이에 단순히 접속함으로써 독립식 시스템으로서 동작할 수 있다. 이 독립식 모드에서, 멀티미디어 콘솔(1104)은 하나 이상의 사용자가 시스템과 상호작용하고, 영화를 보고, 음악을 듣는 것 등을 할 수 있게 한다. 그러나 네트워크 인터페이스 제어기(2624) 또는 무선 어댑터(2648)를 통해 이용 가능한 광대역 접속 모드의 통합으로, 멀티미디어 콘솔(1104)은 더 큰 네트워크 공동체의 참여자로서 또한 동작할 수 있다.
멀티미디어 콘솔(1104)이 전원 온 된 때, 하드웨어 자원의 설정된 양이 멀티미디어 콘솔 운영체제에 의한 시스템 사용을 위해 비축된다. 이러한 자원은 메모리(예를 들면, 16MB), CPU 및 GPU 사이클(예를 들면, 5%), 네트워킹 대역폭(예를 들면, 8kbps) 등의 비축을 포함할 수 있다. 이러한 자원들은 시스템 부팅시에 비축되기 때문에, 비축된 자원들은 애플리케이션의 관점에서 존재하지 않는다.
특히, 메모리 비축은 바람직하게 런치 커널(launch kernel), 동시 시스템 응용 및 드라이버를 내포하도록 충분히 크다. CPU 비축은 만일 비축된 CPU 사용량이 시스템 애플리케이션에 의해 사용되지 못하면 유휴 스레드가 임의의 비사용 사이클을 소비하도록 일정한 것이 바람직하다.
GPU 비축과 관련해서, 시스템 애플리케이션에 의해 발생된 경량 메시지(예를 들면, 팝업)는 오버레이에 팝업을 연출하도록 코드를 스케줄하기 위해 GPU 인터럽트를 사용함으로써 디스플레이된다. 오버레이를 위해 필요한 메모리의 양은 오버레이 면적 크기에 의존하고 오버레이는 바람직하게 화면 해상도에 따라 조정된다. 동시 시스템 애플리케이션에 의해 완전한 사용자 인터페이스가 사용되는 경우, 애플리케이션 분해능에 독립적인 분해능을 사용하는 것이 바람직하다. 스케일러는 주파수를 변경하고 TV를 리싱크(re-sync)할 필요성을 제거하도록 이 분해능을 설정하기 위해 사용될 수 있다.
멀티미디어 콘솔(1104)이 부팅되고 시스템 자원이 비축된 후에, 동시 시스템 애플리케이션이 시스템 기능을 제공하기 위해 실행된다. 시스템 기능은 전술한 비축된 시스템 자원 내에서 실행하는 시스템 애플리케이션의 집합에 봉입된다. 운영체제 커널은 게이밍 애플리케이션 스레드에 대비되는 시스템 애플리케이션 스레드인 스레드를 식별한다. 시스템 애플리케이션은 애플리케이션에 일정한 시스템 자원 뷰를 제공하기 위해 미리 정해진 횟수 및 간격으로 CPU(2601)에서 동작하도록 스케줄되는 것이 바람직하다. 스케줄링은 콘솔에서 동작하는 게이밍 애플리케이션의 캐시 분열을 소형화하기 위한 것이다.
동시 시스템 애플리케이션이 오디오를 요구할 때, 오디오 처리는 시간 민감성 때문에 게이밍 애플리케이션에 대하여 비동기적으로 스케줄된다. 멀티미디어 콘솔 애플리케이션 관리자(뒤에서 설명함)는 시스템 애플리케이션이 활성일 때 게이밍 애플리케이션 오디오 레벨을 제어한다(예를 들면, 뮤트, 감쇠).
입력 디바이스(예를 들면, 제어기(2642(1), 2642(2))는 게이밍 애플리케이션과 시스템 애플리케이션에 의해 공유된다. 입력 디바이스는 비축된 자원이 아니지만, 시스템 애플리케이션과 게이밍 애플리케이션 사이에서 전환되어 이들이 각각 디바이스의 포커스를 갖게 해야 한다. 애플리케이션 관리자는 게이밍 애플리케이션에 대한 지식을 알지 못하고 입력 스트림의 스위칭을 바람직하게 제어하고, 드라이버는 포커스 스위치에 관한 상태 정보를 유지한다.
전술한 설명에 따라서, 메시지 대화 이력의 신속한 내비게이션을 위한 기술들이 여기에서 개시되었다는 것을 이해할 것이다. 비록 여기에서 제시된 주제가 컴퓨터 구조적 피처, 방법적 및 변환적 동작, 특유의 컴퓨팅 기계 및 컴퓨터 판독가능 기억 매체에 특유한 용어로 설명되었지만, 첨부된 특허 청구범위에서 규정되는 발명은 여기에서 설명한 구체적인 피처, 동작 또는 매체로 반드시 제한되는 것이 아니라는 점을 이해하여야 한다. 상기 구체적인 피처, 동작 및 매체는 특허 청구범위를 구현하는 예시적인 형태로서 개시된다.
전술한 주제는 단지 예로서만 제공된 것이고 제한하는 것으로 해석되지 않아야 한다. 여기에서 예시하고 설명한 예시적인 실시형태 및 응용에 따르지 않고, 및 첨부된 특허 청구범위에서 규정되는 본 발명의 진정한 정신 및 범위로부터 벗어나지 않고, 여기에서 설명한 주제에 대하여 각종 수정 및 변경이 이루어질 수 있다.

Claims (15)

  1. 전자 디바이스에서 이용 가능한 메시징 대화 이력의 내비게이션을 인에이블시키기 위한 방법에 있어서,
    연락처들을 캐러셀(carousel)에 채우는(populating) 단계 ― 각각의 연락처는 연관된 메시징 대화를 갖고, 상기 연락처들은 그들의 메시징 대화 이력(history)에 따라 상기 캐러셀에서 정렬됨(sorted) ― ;
    상기 디바이스 상에 지원되는 사용자 인터페이스(UI) 상에 캐러셀을 제시하는 단계 ― 제시된 상기 캐러셀은 상기 UI 상에 하나 이상의 연락처를 보여주고, 제시된 상기 캐러셀은 상기 캐러셀이 스크롤될 때 추가적인 연락처가 상기 UI 상에 보여지도록 스크롤가능하며, 제시된 상기 캐러셀은 다른 메시징 대화가 상기 UI 상에 제시될 때 지속적으로 디스플레이됨 ― ;
    유입(inbound) 메시지의 수신 및 송출(outbound) 메시지의 발생을 포함하는 메시징 활동에 응답하여, 캐러셀 연락처 정렬 순서를 갱신하는 단계; 및
    갱신된 상기 캐러셀을 상기 UI 상에 제시하는 단계
    를 포함하는, 내비게이션 인에이블 방법.
  2. 제1항에 있어서,
    챗 카드(chat card)를 이용하여 상기 캐러셀 상의 선택된 연락처와 연관된 메시징 대화를 상기 UI 상에 제시하는 단계를 더 포함하는. 내비게이션 인에이블 방법.
  3. 제2항에 있어서,
    상기 캐러셀 상의 연락처를 선택하기 위해 사용자로부터 입력을 수신하는 단계를 더 포함하는, 내비게이션 인에이블 방법.
  4. 제3항에 있어서,
    상기 캐러셀 상의 선택된 연락처를 하이라이트 처리하는(highlighting) 단계를 더 포함하고,
    상기 하이라이트 처리는 색상, 그래픽 객체, 아이콘, 그림문자 또는 애니메이션 중 하나 이상을 이용하는 것인, 내비게이션 인에이블 방법.
  5. 제4항에 있어서,
    사용자가 상기 챗 카드 사이에서 스크롤하도록 인에이블하는 단계를 더 포함하고,
    상기 챗 카드의 스크롤링 순서는 상기 캐러셀 내 연락처들의 정렬 순서에 대응하는 것인, 내비게이션 인에이블 방법.
  6. 제5항에 있어서,
    사용자가 상기 캐러셀 상에 보여지는 연락처들 사이에서 스크롤하도록 인에이블하는 단계를 더 포함하는, 내비게이션 인에이블 방법.
  7. 제6항에 있어서,
    사용자가 상기 캐러셀로부터 연락처를 제거하도록 인에이블하는 단계; 및
    상기 제거에 응답하여 상기 캐러셀 정렬 순서를 갱신하는 단계
    를 더 포함하는, 내비게이션 인에이블 방법.
  8. 제7항에 있어서,
    사용자가 UI를 연락처의 리스트 뷰로 전환하도록 상기 캐러셀에 제어를 제공하는 단계; 및
    사용자가 상기 리스트 뷰로부터 상기 캐러셀을 포함하는 소형화 뷰로 전환하도록 인에이블하는 단계
    를 더 포함하는, 내비게이션 인에이블 방법.
  9. 제8항에 있어서,
    상기 캐러셀 내 연락처에 대한 새로운 메시지 표시자를 디스플레이하는 단계를 더 포함하는, 내비게이션 인에이블 방법.
  10. 제1항에 있어서,
    상기 메시징 대화 이력은 유입 메시지 및 송출 메시지와 연관된 타임스탬프를 이용하고, 상기 연락처들은 상기 타임스탬프를 이용하여 상기 캐러셀 상에서 정렬되는 것인, 내비게이션 인에이블 방법.
  11. 디바이스에 있어서,
    하나 이상의 프로세서;
    상기 디바이스의 사용자와 상호작용하기 위한 사용자 인터페이스(UI)를 지원하는 디스플레이; 및
    상기 하나 이상의 프로세서에 의해 실행될 때 메시징 대화의 소형화 뷰를 디스플레이하기 위한 방법을 수행하는 컴퓨터 판독가능 명령어를 저장하는 메모리
    를 포함하고, 상기 방법은,
    챗 카드의 수평 스크롤가능 디스플레이를 이용하여 상기 UI 상에 챗 카드를 제시하는 단계 ― 각각의 챗 카드는 디바이스 사용자와 하나 이상 연락처 간의 메시징 대화를 보여줌 ― ;
    연락처의 수평 스크롤가능 캐러셀을 제시하는 단계 ― 상기 연락처는 그들의 메시징 대화 이력에 따라 상기 캐러셀에서 정렬됨 ― ;
    상기 UI 상의 현재 디스플레이된 챗 카드와 연관된 상기 캐러셀 내 연락처를 표시하기 위한 하이라이트(highlight)를 보여주는 단계;
    상기 챗 카드의 사용자 스크롤링에 응답하여, 상기 UI에서의 현재 디스플레이된 챗 카드와 연관된 연락처를 표시하기 위해 상기 캐러셀 내 하이라이트 처리된 연락처를 갱신하는 단계;
    상기 캐러셀로부터 연락처에 대한 사용자 선택을 표시하는 입력을 수신하는 단계;
    사용자가 선택한 연락처를 표시하도록 상기 하이라이트를 변경하는 단계; 및
    상기 사용자가 선택한 연락처에 대응하는 챗 카드를 상기 UI 상에 제시하는 단계
    를 포함하는 것인, 디바이스.
  12. 제11항에 있어서,
    상기 디스플레이는 터치스크린을 포함하고, 상기 사용자 입력은 터치 기반 제스처를 포함하는 것인, 디바이스.
  13. 제12항에 있어서,
    상기 방법은,
    새로운 유입 메시지가 수신된 때 또는 새로운 송출 메시지가 생성된 때 상기 캐러셀을 동적으로 재정렬하는 단계; 및
    상기 재정렬된 캐러셀을 상기 UI 상에 제시하는 단계
    를 더 포함하는 것인, 디바이스.
  14. 제13항에 있어서,
    상기 방법은, 상기 UI를 소형화 뷰와 리스트 뷰 사이에서 전환하기 위한 사용자 입력을 수신하는 단계를 더 포함하고,
    상기 리스트 뷰는 연락처들을 수직 스크롤가능 배열의 정렬된 순서로 보여주는 것인, 디바이스.
  15. 제14항에 있어서,
    상기 전환은 토글링(toggling) 또는 주밍(zooming) 중 하나를 포함하고,
    상기 방법은, 상기 캐러셀에 추가되고 상기 캐러셀로부터 제거되는 연락처로상기 캐러셀을 채우는 것(population)을 제어하기 위하여 사용자에게 제어를 노출하는 단계를 더 포함하며,
    상기 제어는 선호도를 설정하기 위한 제어를 포함하는 것인, 디바이스.
KR1020177007180A 2014-08-15 2015-08-13 메시지 대화 이력의 신속 내비게이션 KR102385757B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201462037721P 2014-08-15 2014-08-15
US62/037,721 2014-08-15
US14/483,943 2014-09-11
US14/483,943 US9432314B2 (en) 2014-08-15 2014-09-11 Quick navigation of message conversation history
PCT/US2015/044937 WO2016025657A1 (en) 2014-08-15 2015-08-13 Quick navigation of message conversation history

Publications (2)

Publication Number Publication Date
KR20170045257A true KR20170045257A (ko) 2017-04-26
KR102385757B1 KR102385757B1 (ko) 2022-04-11

Family

ID=55303003

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177007180A KR102385757B1 (ko) 2014-08-15 2015-08-13 메시지 대화 이력의 신속 내비게이션

Country Status (5)

Country Link
US (1) US9432314B2 (ko)
EP (1) EP3180684A1 (ko)
KR (1) KR102385757B1 (ko)
CN (1) CN106575396A (ko)
WO (1) WO2016025657A1 (ko)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USD597101S1 (en) * 2008-01-08 2009-07-28 Apple Inc. Animated image for a portion of a display screen
US10739932B2 (en) * 2011-10-11 2020-08-11 Semi-Linear, Inc. Systems and methods for interactive mobile electronic content creation and publication
USD716343S1 (en) * 2012-02-07 2014-10-28 Apple Inc. Display screen or portion thereof with icon
USD759698S1 (en) * 2012-10-12 2016-06-21 Optionsxpress Holdings, Inc. Display screen or portion thereof with a graphical user interface
US9078027B1 (en) * 2013-03-15 2015-07-07 Tribune Broadcasting Company, Llc Systems and methods for enabling functionality of a trigger mechanism based on log entries in a traffic log
US20170083168A1 (en) * 2015-04-20 2017-03-23 Idt Messaging, Llc System and method for managing multiple chat sessions
USD786284S1 (en) 2015-05-21 2017-05-09 Layer3 TV, Inc. Display screen or portion thereof with an animated graphical user interface
USD779548S1 (en) * 2015-07-29 2017-02-21 Samsung Electronics Co., Ltd. Display screen or portion thereof with transitional graphical user interface
CN105260094B (zh) * 2015-09-16 2017-07-11 网易(杭州)网络有限公司 聊天自动锁屏解屏的方法、装置、移动客户端及电脑客户端
US10236017B1 (en) * 2015-09-29 2019-03-19 Amazon Technologies, Inc. Goal segmentation in speech dialogs
USD768692S1 (en) * 2015-11-20 2016-10-11 Microsoft Corporation Display screen with animated graphical user interface
KR102511443B1 (ko) 2016-05-18 2023-03-16 애플 인크. 그래픽 메시징 사용자 인터페이스 내의 확인응답 옵션들의 적용
DK201670641A1 (en) * 2016-05-18 2017-12-04 Apple Inc Devices, Methods, and Graphical User Interfaces for Messaging
US10852935B2 (en) 2016-05-18 2020-12-01 Apple Inc. Devices, methods, and graphical user interfaces for messaging
US10491553B2 (en) 2016-05-26 2019-11-26 International Business Machines Corporation Dynamically integrating contact profile pictures into messages based on user input
US10368208B2 (en) 2016-06-12 2019-07-30 Apple Inc. Layers in messaging applications
USD835153S1 (en) 2016-09-20 2018-12-04 Google Llc Display screen with a graphical user interface for a messaging application
USD819045S1 (en) * 2016-09-20 2018-05-29 Google Llc Display screen with graphical user interface for a messaging application
USD819044S1 (en) 2016-09-20 2018-05-29 Google Llc Display screen with graphical user interface for an assistive agent
CN107872377A (zh) * 2016-09-23 2018-04-03 阿里巴巴集团控股有限公司 消息提示方法及装置
US10795563B2 (en) * 2016-11-16 2020-10-06 Arris Enterprises Llc Visualization of a network map using carousels
WO2019014089A1 (en) * 2017-07-14 2019-01-17 Golden Casey SYSTEMS AND METHODS FOR PROVIDING ONLINE CONVERSATION MESSAGES WITH CONFIGURABLE INTERACTIVE IMAGERY
CN107422959A (zh) * 2017-08-10 2017-12-01 珠海格力电器股份有限公司 一种快捷启动功能页面的方法及其装置、电子设备
CN107544809B (zh) * 2017-09-07 2021-07-27 北京小米移动软件有限公司 显示页面的方法和装置
US10691764B2 (en) * 2017-10-23 2020-06-23 International Business Machines Corporation Search engine optimization techniques
USD847182S1 (en) * 2017-12-21 2019-04-30 State Farm Mutual Automobile Insurance Company Display screen or portion thereof with graphical user interface
USD854037S1 (en) * 2017-12-21 2019-07-16 State Farm Mutual Automobile Insurance Company Display screen or portion thereof with graphical user interface
USD853424S1 (en) 2017-12-21 2019-07-09 State Farm Mutual Automobile Insurance Company Display screen or portion thereof with graphical user interface
USD847842S1 (en) * 2017-12-21 2019-05-07 State Farm Mutual Automobile Insurance Company Display screen or portion thereof with animated graphical user interface
US10993110B2 (en) * 2018-07-13 2021-04-27 Nvidia Corp. Connectionless fast method for configuring Wi-Fi on displayless Wi-Fi IoT device
CN113273220A (zh) * 2018-09-06 2021-08-17 上海伴我科技有限公司 资源的配置方法、用户界面的导航方法及电子设备、存储介质
JP7302154B2 (ja) * 2018-09-25 2023-07-04 富士フイルムビジネスイノベーション株式会社 制御装置、制御システム、及び制御プログラム
CN111200503B (zh) * 2018-10-31 2022-06-24 阿里巴巴集团控股有限公司 聊天信息的处理方法、装置及电子设备
CN109670025B (zh) * 2018-12-19 2023-06-16 北京小米移动软件有限公司 对话管理方法及装置
KR20200117183A (ko) * 2019-04-03 2020-10-14 삼성전자주식회사 메시지를 표시하는 전자 장치 및 그의 동작 방법
US10768952B1 (en) 2019-08-12 2020-09-08 Capital One Services, Llc Systems and methods for generating interfaces based on user proficiency
US20210173493A1 (en) * 2019-12-04 2021-06-10 Slack Technologies, Inc. Method and apparatus configured to manage draft messaging communications and draft message interfaces in a group-based communication system
US11956190B2 (en) * 2020-05-08 2024-04-09 Snap Inc. Messaging system with a carousel of related entities
US11153235B1 (en) 2020-06-09 2021-10-19 Apple Inc. User interfaces for messages
US12079909B1 (en) * 2020-12-31 2024-09-03 Snap Inc. Showing last-seen time for friends in augmented reality (AR)
US11928306B2 (en) * 2021-05-19 2024-03-12 Snap Inc. Touchpad navigation for augmented reality display device
US11880542B2 (en) * 2021-05-19 2024-01-23 Snap Inc. Touchpad input for augmented reality display device
CN114461313A (zh) * 2021-06-25 2022-05-10 北京字跳网络技术有限公司 信息显示方法、装置和电子设备
CN114896536A (zh) * 2022-05-31 2022-08-12 北京字跳网络技术有限公司 消息处理方法、装置、设备及存储介质
WO2024012321A1 (zh) * 2022-07-11 2024-01-18 北京字跳网络技术有限公司 信息处理方法、装置、电子设备和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130137453A (ko) * 2012-06-07 2013-12-17 엘지전자 주식회사 이동 단말기 및 그것의 제어 방법
KR20140041757A (ko) * 2011-06-24 2014-04-04 구글 인코포레이티드 복수의 참가자들 간의 그룹 대화

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7853668B2 (en) * 2002-09-17 2010-12-14 At&T Intellectual Property I, L.P. Communication threads over different communication mediums
US7669134B1 (en) 2003-05-02 2010-02-23 Apple Inc. Method and apparatus for displaying information during an instant messaging session
US20060047811A1 (en) * 2004-09-01 2006-03-02 Microsoft Corporation Method and system of providing access to various data associated with a project
US9454747B2 (en) * 2005-10-11 2016-09-27 Aol Inc. Ordering of conversations based on monitored recipient user interaction with corresponding electronic messages
US20070186173A1 (en) 2006-02-03 2007-08-09 Yahoo! Inc. Instant messenger alerts and organization systems
US8564544B2 (en) * 2006-09-06 2013-10-22 Apple Inc. Touch screen device, method, and graphical user interface for customizing display of content category icons
US8321582B2 (en) * 2008-02-08 2012-11-27 Voxer Ip Llc Communication application for conducting conversations including multiple media types in either a real-time mode or a time-shifted mode
US10175848B2 (en) 2009-02-09 2019-01-08 Nokia Technologies Oy Displaying a display portion including an icon enabling an item to be added to a list
US9424444B2 (en) * 2009-10-14 2016-08-23 At&T Mobility Ii Llc Systems, apparatus, methods and computer-readable storage media for facilitating integrated messaging, contacts and social media for a selected entity
WO2012092556A2 (en) 2010-12-30 2012-07-05 Kleinbart Kyle System and method for online communications management
WO2012097168A2 (en) 2011-01-12 2012-07-19 Seven Networks, Inc. Unified access and management of events across multiple applications and associated contacts thereof
US9407753B2 (en) * 2011-04-08 2016-08-02 Microsoft Technology Licensing, Llc Integrated contact card communication
US8693643B2 (en) * 2011-11-16 2014-04-08 At&T Mobility Ii Llc Integrating visual voicemail within a threaded communication environment
US20140310365A1 (en) * 2012-01-31 2014-10-16 Global Relay Communications Inc. System and Method for Tracking Messages in a Messaging Service
US9633186B2 (en) * 2012-04-23 2017-04-25 Apple Inc. Systems and methods for controlling output of content based on human recognition data detection
US9083816B2 (en) 2012-09-14 2015-07-14 Microsoft Technology Licensing, Llc Managing modality views on conversation canvas
US10249007B2 (en) * 2012-12-28 2019-04-02 Facebook, Inc. Social cover feed interface
US10649607B2 (en) * 2012-12-28 2020-05-12 Facebook, Inc. Re-ranking story content

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140041757A (ko) * 2011-06-24 2014-04-04 구글 인코포레이티드 복수의 참가자들 간의 그룹 대화
KR20130137453A (ko) * 2012-06-07 2013-12-17 엘지전자 주식회사 이동 단말기 및 그것의 제어 방법

Also Published As

Publication number Publication date
EP3180684A1 (en) 2017-06-21
KR102385757B1 (ko) 2022-04-11
US20160050165A1 (en) 2016-02-18
US9432314B2 (en) 2016-08-30
WO2016025657A1 (en) 2016-02-18
CN106575396A (zh) 2017-04-19

Similar Documents

Publication Publication Date Title
KR102385757B1 (ko) 메시지 대화 이력의 신속 내비게이션
US11169654B2 (en) Task completion across devices using a shared work space
KR102350329B1 (ko) 전화 통화 동안의 실시간 공유 기법
CN107636613B (zh) 到第三方应用的数字助理可扩展性
CN107209781B (zh) 使用自然语言的上下文搜索
KR102118275B1 (ko) 이머시브 애플리케이션으로서의 데스크탑
US9360991B2 (en) Three-dimensional icons for organizing, invoking, and using applications
KR102382775B1 (ko) 기존 메시징 서비스의 메시지에 대한 앱에 의해 강화된 확장성 제공 기법
KR101895646B1 (ko) 이머시브 쉘 및 애플리케이션 쉘의 디스플레이
KR20160141838A (ko) 확장가능한 애플리케이션 표시
KR20160140932A (ko) 확장 가능한 애플리케이션 표시 및 콘텐트 전송
US10592534B2 (en) Automated aggregation of social contact groups
KR20130126312A (ko) 사용자 반응성을 향상시키기 위한 전자 장치 및 방법

Legal Events

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