KR102091900B1 - 컨텐츠의 스트림의 디스플레이 - Google Patents

컨텐츠의 스트림의 디스플레이 Download PDF

Info

Publication number
KR102091900B1
KR102091900B1 KR1020157018196A KR20157018196A KR102091900B1 KR 102091900 B1 KR102091900 B1 KR 102091900B1 KR 1020157018196 A KR1020157018196 A KR 1020157018196A KR 20157018196 A KR20157018196 A KR 20157018196A KR 102091900 B1 KR102091900 B1 KR 102091900B1
Authority
KR
South Korea
Prior art keywords
content
tile
user
area
user interface
Prior art date
Application number
KR1020157018196A
Other languages
English (en)
Other versions
KR20150092304A (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 KR20150092304A publication Critical patent/KR20150092304A/ko
Application granted granted Critical
Publication of KR102091900B1 publication Critical patent/KR102091900B1/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/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]
    • 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
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04803Split screen, i.e. subdividing the display area or the window area into separate subareas

Abstract

컨텐츠의 스트림과 인터렉션하는 사용자 인터페이스들을 발생시키고 제공하기 위한 시스템 및 방법이 개시된다. 하나 이상의 프로세서들 및 메모리를 갖는 시스템은 하나 이상의 컨텐츠 아이템들을 포함하는 컨텐츠의 스트림을 수신하고; 상기 컨텐츠 아이템의 속성에 기초해서 상기 컨텐츠 아이템을 제공하기 위한 타일 유형을 결정하고; 상기 컨텐츠 아이템을 이용해서 상기 타일 유형에 대한 타일 컴포넌트들을 채우고; 상기 컨텐츠 아이템들의 상기 속성을 이용해서 동적 그리드에서 컨텐츠 타일들을 편성하며; 그리고 디스플레이를 위해 컨텐츠 타일들의 동적 그리드를 제공하는 것을 포함하는 동작들을 수행하도록 구성된다.

Description

컨텐츠의 스트림의 디스플레이{DISPLAYING A STREAM OF CONTENT}
관련 출원들에 대한 상호 참조
본 출원은 미국 규정 35의 제119조 하에서, 2012년 12월 7일 출원되고 "컨텐츠의 스트림의 디스플레이"라는 제목의 미국 가특허출원 제61/734,926호 및 2013년 8월 14일에 출원되고 "컨텐츠 스트림의 디스플레이"라는 제목의 미국 특허출원 제13/966,997호에 대한 우선권을 주장하며, 상기 미국 가특허출원 및 미국 특허출원의 전체는 참조에 의해 본 명세서에 통합된다.
본 명세서는 사용자에 대한 컨텐츠의 스트림을 디스플레이하는 것에 관한 것이다. 디지털 미디어의 소비자들은 상기 소비자들이 이미 흥미를 갖고 있는 영역들의 정보를 계속 알림 받고 더 재미있는 새로운 컨텐츠를 발견하려는 목표들을 가질 수 있다. 정보를 계속 알림 받는 것은 이용 가능한 정보의 양 때문에 디지털 시대에서 부담스러워질 수 있다. 또한, 사용자들은 스마트폰, 태블릿들 및 데스크탑 컴퓨터들을 포함하는 다수의 서로 다른 유형들의 디바이스 상에서 소셜 네트워크로부터의 컨텐츠를 포함하여 컨텐츠를 시청(view)하고 있다.
본 명세서는 컨텐츠의 스트림을 제시하기 위한 사용자 인터페이스들을 발생시키는 것에 관한 것이다. 본 개시에 설명된 본 발명의 한 혁신적인 양상에 따르면, 하나 이상의 프로세서들과 메모리를 구비한 시스템이 제공되고, 상기 시스템은 하나 이상의 컨텐츠 아이템들을 포함하는 컨텐츠의 스트림을 수신하는 것과; 컨텐츠 아이템을 선택하는 것과; 상기 컨텐츠 아이템의 속성에 기초해서 상기 컨텐츠 아이템을 제공하기 위한 타일 유형(tile type)을 결정하는 것과; 상기 컨텐츠 아이템을 이용해서 상기 타일 유형에 대한 타일 컴포넌트들(tile components)을 채우는 것과; 상기 컨텐츠 아이템의 상기 속성을 이용해서 동적 그리드(dynamic grid)에서 컨텐츠 타일들을 편성하는(organizing) 것과; 그리고 디스플레이를 위해 컨텐츠 타일들의 상기 동적 그리드를 제공하는 것을 포함하는 동작들을 수행하도록 구성된다. 상기 시스템의 타일 컴포넌트들은 이유 바(reason bar), 작성자 영역(author area), 재-공유 영역, 미디어 영역, 소셜 바 영역 및 코멘트 영역을 포함한다. 타일의 사용자 인터페이스는 디스플레이 및 상기 타일에 디스플레이된 컨텐츠 아이템과 관련된 사용자의 인터렉션을 인에이블(enable)하는 사용자 인터페이스 컴포넌트들인 몇몇의 타일 컴포넌트들을 포함한다. 상기 시스템은 또한: 동적 그리드에서 타일을 선택하는 입력을 수신하고; 상기 타일 및 상기 입력과 관련된 컨텐츠 아이템을 식별하고; 상기 컨텐츠 아이템에 관한 추가적인 정보를 검색(retrieve)하고; 그리고 상기 동적 그리드를 통해 사용자 인터페이스에서 상기 컨텐츠 아이템 및 상기 추가적인 정보를 제공하는 것을 포함하는 동작들을 수행하도록 구성될 수 있다. 상기 시스템은 또한: 제2 입력을 수신하고; 그리고 디스플레이를 위해 사용자 인터페이스를 제거하고 컨텐츠 타일들의 동적 그리드의 디스플레이를 복원하는 것을 포함하는 동작들을 수행하도록 구성될 수 있다. 상기 시스템에서 적어도 하나의 타일은 코멘트의 작성자를 식별하고 코멘트의 부분을 디스플레이하는 소셜 바를 포함한다. 상기 시스템에서 상기 소셜 바는 코멘트들을 포스팅한(posted) 새로운 작성자들로 동적으로 업데이트된다. 상기 시스템에서 상기 소셜 바는 코멘트 윈도우(comment window)를 포함하며 코멘트의 서로 다른 부분들은 상기 윈도우에 동적으로 디스플레이된다.
일반적으로, 본 개시에서 설명된 본 발명의 다른 혁신적인 양상은 한 방법을 제공하고, 상기 방법은: 하나 이상의 컨텐츠 아이템들을 포함하는 컨텐츠의 스트림을 수신하고; 컨텐츠 아이템을 선택하고; 상기 컨텐츠 아이템의 속성에 기초해서 상기 컨텐츠 아이템을 제공하기 위한 타일 유형을 결정하고; 상기 컨텐츠 아이템을 이용해서 상기 타일 유형에 대한 타일 컴포넌트들을 채우고; 상기 컨텐츠 아이템들의 상기 속성을 이용해서 동적 그리드에서 컨텐츠 타일들을 편성하고; 그리고 디스플레이를 위한 컨텐츠 타일들의 동적 그리드를 제공하는 것을 포함하여 구현될 수 있다. 상기 방법은 동적 그리드에서 타일을 선택하는 입력을 수신하고; 상기 입력과 관련된 상기 타일 및 컨텐츠 아이템을 식별하고; 상기 컨텐츠 아이템에 관한 추가적인 정보를 검색하며; 그리고 상기 동적 그리드를 통해 사용자 인터페이스에서 상기 컨텐츠 아이템 및 상기 추가적인 정보를 제공하는 것을 더 포함한다. 상기 방법은 제2 입력을 수신하고; 그리고 디스플레이를 위해 사용자 인터페이스를 제거하고 컨텐츠 타일들의 동적 그리드의 디스플레이를 복원하는 것을 더 포함한다. 상기 방법에서 적어도 하나의 타일은 코멘트의 작성자를 식별하고 코멘트의 부분을 디스플레이하는 소셜 바를 포함한다. 상기 방법에서 상기 소셜 바는 코멘트들을 포스팅한 새로운 작성자들로 동적으로 업데이트된다. 상기 방법에서 상기 소셜 바는 코멘트 윈도우를 포함하며 코멘트의 서로 다른 부분들은 상기 윈도우에 동적으로 디스플레이된다.
본 개시에서 설명된 본 발명의 다른 혁신적인 양상은 하나 이상의 프로세서들에 의해 실행될 때 상기 하나 이상의 프로세서들이 동작들을 수행하게 하는 명령들을 저장하는 컴퓨터 판독 가능 매체(computer readable medium)에 구현될 수 있고, 상기 명령들은: 하나 이상의 컨텐츠 아이템들을 포함하는 컨텐츠의 스트림을 수신하고; 컨텐츠 아이템을 선택하고; 컨텐츠 아이템의 속성에 기초해서 컨텐츠 아이템을 제공하기 위한 타일 유형을 결정하고; 상기 컨텐츠 아이템을 이용해서 상기 타일 유형에 대한 타일 컴포넌트들을 채우고; 상기 컨텐츠 아이템들의 상기 속성을 이용하여 동적 그리드에서 컨텐츠 타일들을 편성하고; 그리고 디스플레이를 위해 컨텐츠 타일들의 동적 그리드를 제공하는 동작들을 포함하는 동작들을 수행하게 하는 명령이다. 상기 컴퓨터 판독 가능 매체는 이유 바, 작성자 영역, 재공유 영역, 미디어 영역, 소셜 바 영역 및 코멘트 영역을 포함하는 타일 컴포넌트들을 구비한다. 상기 컴퓨터 판독 가능 매체는 또한: 동적 그리드에서 타일을 선택하는 입력을 수신하고; 상기 입력과 관련된 상기 타일 및 상기 컨텐츠 아이템을 식별하고; 상기 컨텐츠 아이템에 관한 추가적인 정보를 검색하고; 그리고 상기 동적 그리드를 통해 사용자 인터페이스에서 상기 컨텐츠 아이템 및 추가적인 정보를 제공하는 동작들을 수행하기 위한 명령들을 저장한다. 상기 컴퓨터 판독 가능 매체는 또한: 제2 입력을 수신하고; 디스플레이를 위해 사용자 인터페이스를 제거하고 컨텐츠 타일들의 동적 그리드의 디스플레이를 복원하는 동작들을 수행하기 위한 명령들을 저장한다. 상기 컴퓨터 판독 가능 매체는 또한 코멘트의 작성자를 식별하고 상기 코멘트의 부분을 디스플레이하는 소셜 바를 포함하는 적어도 하나의 타일을 구비할 수 있다. 상기 컴퓨터 판독 가능 매체는 또한 코멘트들을 포스팅한 새로운 작성자들로 동적으로 업데이트되는 소셜 바를 구비할 수 있다. 상기 컴퓨터 판독 가능 매체는 또한 코멘트 윈도우를 포함하는 소셜 바를 구비하고 코멘트의 서로 다른 부분들은 상기 윈도우에 동적으로 디스플레이된다.
일반적으로, 본 개시에서 설명된 본 발명의 다른 혁신적인 양상은 한 방법으로 구현되고, 상기 방법은: 코멘터들(commenters)의 리스트를 식별하고; 상기 리스트의 제1 코멘터와 관련된 제1 코멘트를 식별하고; 코멘트 박스에서 디스플레이를 위해 상기 제1 코멘트를 제공하고; 상기 리스트의 제2 코멘터와 관련된 제2 코멘트를 식별하고; 디스플레이를 위해 상기 제1 코멘트를 제공하는 것으로부터 디스플레이를 위해 상기 제2 코멘트를 제공하는 것으로 트랜지션(transition)하고; 그리고 상기 코멘트 박스에서 디스플레이를 위해 상기 제2 코멘트를 제공하는 것을 포함한다. 상기 방법은 또한 디스플레이를 위해 코멘터들의 목록을 제공하는 것을 포함한다. 상기 방법은 또한 어떤 코멘터가 디스플레이를 위해 제공되고 있는 상기 코멘트를 제공하였는지를 식별하는 디스플레이에 대한 표시기(indicator)를 제공하는 것을 포함할 수 있다. 상기 방법은 또한 제3 코멘트를 포함하는 업데이트된 컨텐츠 아이템을 수신하고; 코멘터의 리스트를 업데이트하고; 디스플레이를 위해 코멘터들의 새로운 리스트를 제공하고; 디스플레이를 위해 상기 제3 코멘트를 제공하도록 트랜지션하며; 그리고 코멘트 박스에서 디스플레이를 위해 상기 제3 코멘트를 제공하는 것을 포함한다. 상기 방법은 또한 상기 수신하고, 업데이트하고, 제공하고 그리고 트랜지션하는 것을 실시간으로 수행할 수 있다.
본 개시에서 설명되는 본 발명의 한 혁신적인 양상에 따르면 시스템이 제공되고, 하나 이상의 프로세서들 및 메모리를 구비한 상기 시스템은: 코멘터들의 리스트를 식별하고; 상기 리스트에서 제1 코멘터와 관련된 제1 코멘트를 식별하고; 코멘트 박스에 디스플레이를 위해 상기 제1 코멘트를 제공하고; 상기 리스트에서 제2 코멘터와 관련된 제2 코멘트를 식별하고; 상기 디스플레이를 위한 상기 제1 코멘트를 제공하는 것으로부터 상기 디스플레이를 위한 제2 코멘트를 제공하는 것으로 트랜지션하며; 그리고 상기 코멘트 박스에서 디스플레이를 위해 상기 제2 코멘트를 제공하는 것을 포함하는 동작들을 수행하도록 구성된다. 상기 시스템은 또한 디스플레이를 위한 코멘터들의 리스트를 제공하는 것을 포함하는 동작들을 수행하도록 구성될 수 있다. 상기 시스템은 어떤 코멘터가 디스플레이를 위해 제공되고 있는 코멘트를 제공했는지를 식별하는 디스플레이에 대한 표시기를 제공하는 것을 포함하는 동작들을 수행하도록 구성된다. 상기 시스템은 또한 제3 코멘트를 포함하는 업데이트된 컨텐츠 아이템을 수신하고; 코멘터의 리스트를 업데이트하고; 디스플레이를 위해 코멘터들의 새로운 리스트를 제공하고; 디스플레이를 위해 상기 제3 코멘트를 제공하도록 트랜지션하며; 그리고 상기 코멘트 박스에 디스플레이를 위해 상기 제3 코멘트를 제공하는 것을 포함하는 동작들을 수행하도록 구성된다. 상기 시스템은 또한 수신하고, 업데이트하고, 제공하고, 트랜지션하는 것을 포함하는 동작들을 실시간으로 수행하도록 구성될 수 있다.
아래에 설명된 상기 시스템들, 방법들 및 컴퓨터 판독 가능 매체는 다수의 관점들에서 유리하다. 먼저, 본 개시의 상기 시스템들 및 방법들에 의해 발생된 사용자 인터페이스의 동적 그리드 구조는 형태 인자(form factor)와 독립적으로 서로 다른 디바이스들을 통해 공통의 인터페이스의 사용을 허용한다. 예를 들어, 사용자가 스마트폰, 태블릿 또는 데스크탑 컴퓨터를 사용하고 있든지 간에, 사용자 인터페이스 및 인터렉션은 유사하여 사용의 편의 및 정보의 제시의 효율성을 제공한다. 둘째로, 제시의 순서 및 타일들의 사이즈는 타일에 제시되는 컨텐츠 아이템의 속성들, 사용자 선호들 및 컨텐츠의 데이터 포맷에 기초해서 적응된다. 셋째로, 타일들의 사용은 사용자 인터페이스에서의 정보가 동적으로 업데이트될 뿐만 아니라 사용자가 구체적인 타일에 제시된 컨텐츠에 관해 보다 많은 정보를 획득하도록 트랜지션하는 것을 허용한다. 넷째로, 제1 시스템들 및 방법들은 컨텐츠 아이템들을 추상화하고 사용자에게 더 재미있는 정보를 제시한다.
본 명세서에서 설명된 피처들 및 이점들은 모든 것을 포함하지는 않고 많은 추가적인 피처들 및 이점들이 상기 도면들 및 상세한 설명에 비추어 명백해 질 것이다. 더욱이, 본 명세서에 사용된 언어는 가독성 및 안내적 목적을 위해 주로 선택되었고 본 명세서에 개시된 본 발명의 범위를 한정하려고 사용된 것은 아님이 주목되어야 한다.
본 명세서는 예시의 방식으로 설명되고, 동일한 참조 번호들은 유사한 요소들을 언급하기 위해 사용되는 첨부 도면들의 도면들에서의 한정의 방식으로 설명되지는 않는다.
도 1a는 디스플레이를 위한 컨텐츠의 스트림을 발생시키기 위한 예시 시스템을 설명하는 블럭도이다.
도 1b는 컨텐츠 아이템을 생성하기 위한 예시 컨텐츠 응용을 설명하는 블럭도이다.
도 2는 디스플레이를 위한 컨텐츠의 스트림을 발생시키기 위한 예시 시스템을 설명하는 블럭도이다.
도 3a-3k는 컨텐츠를 갖는 타일들을 포함하는 동적 그리드에 대한 예시 사용자 인터페이스들의 그래픽 표현들이다.
도 4는 타일에 대한 예시 컴포넌트들의 블럭도이다.
도 5는 컨텐츠를 갖는 타일들을 포함하는 예시 사용자 인터페이스의 그래픽 표현이다.
도 6a-6c는 도 5의 인터페이스로부터 타일들에 대한 추가적인 상세사항을 갖는 예시 사용자 인터페이스들의 그래픽 표현들이다.
도 7a-7c는 모바일 디바이스를 위한 컨텐츠를 갖는 타일들을 포함하는 예시 사용자 인터페이스들의 그래픽 표현들이다.
도 8a 및 8b는 예시 소셜 바의 그래픽 표현들이다.
도 9는 하나 이상의 타일들을 갖는 동적 그리드를 포함하는 사용자 인터페이스를 발생시키기 위한 예시 방법의 흐름도이다.
도 10은 타일들의 동적 그리드로부터 타일에 관한 상세한 정보를 제공하는 사용자 인터페이스를 발생시키기 위한 예시 방법의 흐름도이다.
도 11은 새로운 컨텐츠를 위해 실시간으로 타일 또는 동적 그리드를 업데이트하기 위한 예시 방법의 흐름도이다.
도 12a-12i는 커뮤니티들과 인터렉션하기 위한 예시 사용자 인터페이스의 그래픽 표현들이다.
시스템들, 방법들 및 인터페이스들이 개시된다. 비록 본 발명의 시스템들, 방법들 및 인터페이스들이 소셜 네트워크 및 소셜 네트워크 어플리케이션에 의해 발생된 컨텐츠 스트림으로부터 정보를 제시하는 컨텍스트(context)로 설명되었지만, 상기 시스템들, 방법들 및 인터페이스들은 다양한 유형들의 다른 정보를 제시하기 위해 응용될 수 있다(예를 들어, 여러 다른 종류들로 이뤄진 데이터 소스들로부터의 컨텐츠).
도 1a는 일부 구현들에 따른 디스플레이를 위한 컨텐츠의 스트림을 발생시키기 위한 시스템(100)의 블럭도를 설명한다. 디스플레이를 위한 컨텐츠의 스트림을 발생시키기 위한 시스템(100)은 사용자들(125a...125n)에 의해 액세스되는 사용자 디바이스들(115a...115n), 소셜 네트워크 서버(101), 제3자 서버(107), 검색 서버(135), 엔터테인먼트 서버(137), 레이팅 서버(139), 전자 메시지 서버(141) 및 소셜 그래프(179)를 포함한다. 설명된 구현들에서, 이러한 엔티티들은 네트워크(105)를 통해 통신적으로 결합된다.
일부 구현들에서, 컨텐츠 어플리케이션(103a)은 신호 라인(104)을 통해 네트워크(105)에 결합된 소셜 네트워크 서버(101) 상에서 동작 가능하다. 상기 소셜 네트워크 서버(101)는 소셜 네트워크 어플리케이션(109) 및 소셜 그래프(179)를 포함한다. 일부 구현들에서, 컨텐츠 어플리케이션(103a)은 소셜 네트워크 어플리케이션(109)의 컴포넌트이다. 비록 단지 하나의 소셜 네트워크 서버(101)가 도시되었지만, 다수의 소셜 네트워크 서버들이 존재한다. 소셜 네트워크는 사용자들이 공통 피처에 연결된 어떤 유형의 소셜 구조이다. 소셜 네트워크의 예시들은, 블로그들, 마이크로 블로그들 및 인터넷 포럼들을 포함하나, 이에 한정되지는 않는다. 공통 피처들의 예시들은 우정, 가족, 직장, 공통 관심사 등을 포함한다. 공통 피처들은 하나 이상의 소셜 네트워킹 시스템들에 의해 제공되고, 예를 들어 시스템(100)에 포함된 소셜 네트워킹 시스템들과 같은, 명시적으로 정의된 관계들 및 다른 사용자들과의 소셜 연결들에 의해 내포되는 관계들을 포함하고, 여기서 상기 관계들은 소셜 그래프(179)에서 정의된다. 소셜 그래프(179)는 소셜 네트워크에서의 사용자들 및 사용자들이 서로 어떻게 관련되는지의 매핑이다.
일부 구현들에서, 컨텐츠 어플리케이션(103b)은 제3자 서버(107) 상에 저장되고, 이는 신호 라인(106)을 통해 네트워크(105)에 연결된다. 제3자 서버(107)는, 예를 들어, 컨텐츠 어플리케이션(103b)에 의해 발생된 정보를 포함하는 웹사이트를 발생시키는 어플리케이션을 포함한다. 예를 들어, 상기 웹사이트는 컨텐츠 어플리케이션(103b)에 의해 발생된 컨텐츠의 스트림을 디스플레이하기 위한 임베드 가능한 코드(embeddable code)의 섹션을 포함한다. 더욱이, 비록 단지 하나의 제3자 서버(107)만이 도시되었지만, 시스템(100)은 하나 이상의 제3자 서버들(107)을 포함할 수 있다.
도 1a의 사용자 디바이스들(115a...115n)은 예시의 방식으로 사용된다. 비록 도 1a는 2개의 디바이스들을 설명하지만, 상기 상세한 설명은 하나 이상의 사용자 디바이스들을 구비하는 어떤 시스템 아키텍처에 대해서도 적용된다. 상기 사용자 디바이스(115a)는, 예를 들어, 퍼스널 컴퓨터, 랩탑, 스마트폰, 셀룰러 폰, 퍼스널 디지털 어시스턴트(PDA) 등의, 메모리 및 프로세서를 포함하는 어떤 컴퓨팅 디바이스일 수 있다. 사용자(125a)는 신호 라인(110)을 통해 사용자 디바이스(115a)와 인터렉션한다. 비록 단지 2개의 사용자 디바이스들(115a...115n)만이 설명되었지만, 어떤 개수의 사용자 디바이스들(115n)이든지 어떤 수의 사용자들(125n)에 대해 이용 가능할 수 있다. 일부 구현들에서, 시스템(100)은 클라이언트 디바이스들(115)의 서로 다른 유형들의 조합을 포함한다. 예를 들어, 퍼스널 컴퓨터 및 모바일 폰의 조합. 사용자(125a)는 사용자 디바이스(115a)의 사람인 사용자이다.
네트워크(105)는 사용자 디바이스들(115a-115n), 소셜 그래프(179), 제3자 서버(107), 소셜 네트워크 서버(101), 레이팅 서버(139), 전자 메시지 서버(141), 엔터테인먼트 서버(137) 및 검색 서버(135) 간의 통신들을 인에이블한다. 그러므로, 네트워크(105)는 예를 들어, Wi-Fi, Wi-Max, 2G, 유니버설 모바일 이동통신 시스템(UMTS), 3G, 이더넷, 802.11, 집적 서비스 디지털 네트워크(ISDN), 디지털 구독자 라인(DSL), 비동기화 전달 모드(ATM), InfiniBand, PCT 익스프레스 어드밴스드 스위칭 등과 같은 것을 포함하는 기술들을 이용한 링크들을 포함할 수 있다. 유사하게, 네트워크(105) 상에서 사용되는 네트워킹 프로토콜들은 송신 제어 프로토콜/인터넷 프로토콜(TCP/IP), 다중 프로토콜 라벨 스위칭(MPLS), 사용자 데이터그램 프로토콜(UDP), 하이퍼텍스트 수송 프로토콜(HTTP), 단순 메일 전달 프로토콜(SMTP), 파일 전달 프로토콜(FTP), 라이트웨이트 디렉토리 액세스 프로토콜(LDAP), 코드 분할 다중 액세스(CDMA), 광대역 코드 분할 다중 액세스(WCDMA), 모바일 통신들을 위한 글로벌 시스템(GSM), 고속 다운링크 패킷 액세스(HSDPA) 등을 포함할 수 있다. 네트워크(105)를 통해 교환되는 데이터는 하이퍼텍스트 마크업 언어(HTML), 확장 가능한 마크업 언어(XML) 등을 포함하는 기술들 및/또는 포맷들을 이용해서 표현될 수 있다. 추가적으로, 링크들의 일부 또는 전부는 예를 들어, 보안 소켓 레이어(SSL), 보안 HTTP 및/또는 가상 사설 네트워크들(VPNs) 또는 인터넷 프로토콜 보안(IPsec)과 같은 종래의 암호화 기술들을 이용해서 암호화될 수 있다. 일부 구현들에서, 상기 엔티티들은 위에 설명된 기술들 대신에 또는 이에 더하여, 커스텀 데이터 통신 기술 및/또는 전용 데이터 통신 기술들을 사용할 수 있다. 구현에 따라, 네트워크(105)는 다른 네트워크들에 대한 링크들을 또한 포함할 수 있다.
일부 구현들에서, 네트워크(105)는 예를 들어, 인터넷과 같이 부분적인 공중 네트워크이거나 전체적으로 공중 네트워크일 수 있다. 네트워크(105)는 또한 사설 네트워크이거나 하나 이상의 구별되는 또는 논리적인 사설 네트워크들(예를 들어, 가상 사설 네트워크들, 광역 네트워크들(WANs) 및/또는 로컬 영역 네트워크들(LANs))을 포함할 수 있다. 추가적으로, 네트워크(105)로의 및 상기 네트워크(105)로부터의 통신 링크들은 유선 또는 무선일 수 있다(예를 들어, 지구 또는 위성에 기초한 트랜시버들). 일부 구현들에서, 네트워크(105)는 IP에 기초한 광역 또는 도시 영역 네트워크이다.
네트워크(105)는 스타 구성(star configuration), 토큰 링 구성(token ring configuration) 또는 기타 구성을 포함하는 어떤 개수의 구성들을 가질 수 있다. 더욱이, 네트워크(105)는 로컬 영역 네트워크(LAN), 광역 네트워크(WAN)(예를 들어, 인터넷), 및/또는 다수의 디바이스들이 통신할 수 있는 어떤 다른 상호연결된 데이터 경로를 포함한다. 일부 구현들에서, 네트워크(105)는 피어-투-피어 네트워크(peer-to-peer network)이다. 네트워크(105)는 또한 다양한 서로 다른 통신 프로토콜들로 데이터를 보내기 위한 전기통신 네트워크에 결합되거나 상기 전기통신 네트워크의 부분들을 포함할 수 있다. 일부 구현들에서, 네트워크(105)는 짧은 메시지 서비스(SMS), 멀티미디어 메시지 서비스(MMS), 하이퍼텍스트 전달 프로토콜(HTTP), 직접 데이터 연결, 무선 어플리케이션 프로토콜(WAP), 전자 메시지들 등을 통하는 것을 포함해서 데이터를 보내고 수신하기 위한 단파 통신 네트워크들 또는 셀룰러 통신 네트워크들을 포함한다.
일부 구현들에서, 네트워크(105)는, 예를 들어, 다른 온라인 사용자들과의 명시적으로 정의된 관계들 및 사회적 연결들에 의해 내포되는 관계들을 포함하는 하나 이상의 소셜 네트워킹 시스템들에 의해 제공되는 관계들과 같은, 사용자들(125) 간의 온라인 관계들의 설정을 형성하는 것을 돕고, 여기서 상기 관계들을 소셜 그래프(179)를 형성한다.
컨텐츠 어플리케이션(103)은 데이터를 수신하고 디스플레이를 위한 컨텐츠의 스트림을 발생시킨다. 일부 구현들에서, 컨텐츠 어플리케이션(103)은 데이터를 수신하고 여러 다른 종류들로 이뤄진 데이터 소스들로부터 디스플레이를 위한 컨텐츠의 스트림을 발생시킨다. 일부 구현들에서, 컨텐츠 어플리케이션(103)은 제3자 서버(107), 소셜 네트워크 서버(101), 사용자 디바이스들(115a...115n), 신호 라인(136)을 통해 네트워크(105)에 결합된 검색 서버(135), 신호 라인(138)을 통해 네트워크(105)와 결합된 엔터테인먼트 서버(137), 신호 라인(140)을 통해 네트워크(105)에 결합된 레이팅 서버(139), 신호 라인(142)을 통해 네트워크(105)에 결합된 전자 메시지 서버(141)를 포함하는 여러 다른 종류들로 이뤄진 데이터 소스들로부터 데이터를 수신한다. 일부 구현들에서, 검색 서버(135)는 인터넷으로부터 검색 용어들과 매칭하는 결과들을 검색하는 검색 엔진(143)을 포함한다.
다수의 사용자들을 갖는 컨텐츠의 공중 스트림은 채널로 언급되며 다른 사용자들에 대해 이용 가능하다. 일부 구현들에서, 컨텐츠 어플리케이션(103)은 주제에 대한 채널을 발생시키고, 여러 다른 종류들로 이뤄진 데이터 소스들로부터 후보 컨텐츠 아이템들을 수신하고, 후보 컨텐츠 아이템들로부터 채널에 대한 컨텐츠의 스트림을 발생시키고 상기 채널을 상기 채널에 대한 컨텐츠의 스트림으로 채운다. 일부 구현들에서, 상기 채널에 대한 컨텐츠의 스트림은 상기 채널과 동일하거나 유사한 주제를 갖는다(예를 들어, 각 컨텐츠 아이템은 상기 채널 주제에 관한 키워드들과 관련됨).
일부 구현들에서, 상기 채널 어플리케이션(103)은 사용자에 대한 후보 컨텐츠 아이템들을 재-스코어링 하고 개인화된 채널 스트림을 발생시킴에 의해 사용자에 대한 상기 채널을 개인화한다. 사용자에 대한 후보 컨텐츠 아이템들을 재-스코어링하기 위해, 컨텐츠 어플리케이션(103)은 후보 컨텐츠 아이템들을 사용자의 모델과 비교한다. 일부 구현들에서, 상기 컨텐츠 어플리케이션(103)은 사용자의 선택에 적어도 부분적으로 기초해서 모델을 업데이트하고 상기 업데이트된 모델에 따라 업데이트된 컨텐츠 스트림을 발생시킨다.
이제 도 1b를 참조하면, 컨텐츠 어플리케이션(103)은 일 구현에 따라 더 상세하게 도시된다. 도 1b는 컨텐츠 어플리케이션(103), 통신 유닛(245), 메모리(237) 및 프로세서(235)를 포함하는 컴퓨팅 디바이스(200)의 블럭도이다. 일부 구현들에서, 컴퓨팅 디바이스(200)는 소셜 네트워크 서버(101)이다. 일부 구현들에서, 컴퓨팅 디바이스(200)는 제3자 서버(107)이다. 일부 구현들에서, 컴퓨팅 디바이스(200)는 사용자 디바이스(115a)이다.
통신 유닛(245)은 다양한 시스템(100) 컴포넌트들(예를 들어, 사용자 디바이스들(115), 제3자 어플리케이션 서버(107), 소셜 네트워크 서버(101) 등)에 데이터를 보내고 상기 시스템(100) 컴포넌트들로부터 데이터를 수신한다. 통신 유닛(245)은 버스(221)에 결합된다. 일부 구현들에서, 상기 통신 유닛(245)은 네트워크(105) 또는 다른 통신 채널에 대한 직접적인 물리적 연결을 위한 포트를 포함한다. 예를 들어, 통신 유닛(245)은 네트워크(105)와의 유선 연결을 위한 USB, SD, CAT-5 또는 유사한 포트를 포함한다. 일부 구현들에서, 상기 통신 유닛(245)은, IEEE 802.11, IEEE 802.16, BLUETOOTH(등록상표), 근접장 통신(NFC) 또는 다른 적합한 무선 통신 방법과 같은, 하나 이상의 무선 통신 방법들을 이용해서, 네트워크(105)와 또는 다른 통신 채널과 데이터를 교환하기 위한 무선 트랜시버를 포함한다.
프로세서(235)는 디스플레이 디바이스에 대해 계산들을 수행하고 전자 디스플레이 신호들을 제공하기 위한 산술 논리 유닛, 마이크로프로세서, 일반 목적의 제어기 또는 어떤 다른 프로세서 어레이를 포함한다. 프로세서(235)는 다른 컴포넌트들과 통신하기 위한 버스(221)에 결합된다. 프로세서(235)는 데이터 신호들을 프로세싱하고 복잡한 명령 세트 컴퓨터(CISC) 아키텍처, 감소된 명령 세트 컴퓨터(RISC) 아키텍처, 또는 명령 세트들의 조합을 구현하는 아키텍처를 포함하는 다양한 컴퓨터 아키텍처들을 포함한다. 비록 단일 프로세서만이 도 1b에 도시되었지만, 다수의 프로세서들이 포함될 수 있다. 프로세싱 능력은 이미지들의 디스플레이, 캡쳐 및 이미지들의 송신을 지원하는 것에 한정될 수 있다. 프로세싱 능력은 다양한 유형들의 피처 결정 및 샘플링을 포함하는 더 복잡한 태스크들을 수행하기에 충분할 수 있다. 컴퓨팅 디바이스(200)는 또한 WINDOWS(등록상표), MacOS X, Android 또는 UNIX(등록상표)에 기초한 운영 체제들을 포함하나 이에 한정되지 않는 프로세서(235)에 의해 실행 가능한 운영 체제를 포함한다. 다른 프로세서들, 운영 체제들, 센서들, 디스플레이들 및 물리적 구성들이 가능하다.
메모리(237)는 프로세서(235)에 의해 실행될 수 있는 며영들 및/또는 데이터를 저장한다. 메모리(237)는 다른 컴포넌트들과 통신하기 위한 버스(221)에 결합된다. 상기 명령들 및/또는 데이터는 본 명세서에서 설명된 기법들 중 일부 및/또는 전부를 수행하기 위한 코드를 포함한다. 상기 메모리(237)는 동적 랜덤 액세스 메모리(DRAM) 디바이스, 정적 랜덤 액세스 메모리(SRAM) 디바이스, 플래시 메모리 또는 본 기술분야에서 알려진 다른 메모리 디바이스일 수 있다. 일부 구현들에서, 상기 메모리(237)는 또한, 더 영구적으로 정보를 저장하기 위한, 하드 디스크 드라이브, 플로피 디스크 드라이브, CD-ROM 디바이스, DVD-ROM 디바이스, DVD-RAM 디바이스, DVD-RW 디바이스, 플래시 메모리 디바이스 또는 어떤 다른 대량 저장 디바이스를 포함하는 비휘발성 메모리 또는 유사한 영구 저장 디바이스 및 매체를 포함한다.
일부 구현들에서, 컨텐츠 어플리케이션(103)은 프로세싱 모듈(202), 모델 발생 엔진(207), 컨텍스트 모듈(213), 스코어링 엔진(211), 채널 엔진(220), 협동 필터링 엔진(217) 및 사용자 인터페이스 모듈(230)을 포함한다. 이러한 컴포넌트들은 버스(221)에 의해 통신 및 인터렉션을 위해 결합된다. 일부 구현들에서, 컨텐츠 어플리케이션(103) 또는 컨텐츠 어플리케이션의 컴포넌트(202, 207, 211, 213, 217, 220, 230)의 활동들은 사용자 동의의 대상이다.
프로세싱 모듈(202)은 사용자의 관심사들 및 사회적 연결들에 관한 정보를 수신하고 상기 정보를 프로세싱하기 위한 루틴들을 포함하는 소프트웨어일 수 있다. 일부 구현들에서, 상기 프로세싱 모듈(202)은 상기 정보를 프로세싱하기 위한 아래에 설명된 기능성을 제공하기 위해 프로세서(235)에 의해 실행 가능한 명령들의 세트이다. 일부 구현들에서, 상기 프로세싱 모듈(202)은 컴퓨팅 디바이스(200)의 메모리(237)에 저장되고 상기 프로세서(235)에 의해 실행 가능하다. 일부 구현들에서, 상기 프로세싱 모듈(202)은 버스(221)를 통해 프로세서(235) 및 컴퓨팅 디바이스(200)의 다른 컴포넌트들과의 협동 및 통신을 위해 적응된다.
프로세싱 모듈(202)은 검색(예를 들어, 웹, 비디오, 뉴스, 맵들, 알림들), 엔터테인먼트(예를 들어, 뉴스, 미디오, 개인 홈페이지, 블로그, 구독자, 가젯 구독들), 소셜 활동들(예를 들어, 전자 메시지들, 프로필 정보, 짧은 메시지 서비스(SMS)를 포함하는 텍스트 메시징, 마이크로 블로그들, 지리적 위치들, 사진들에 대한 코멘트들, 소셜 그래프(179) 및 다른 소셜 네트워킹 정보를 통한 인터렉션들) 및 제3자 사이트들 상의 활동들(예를 들어, 레이팅, 리뷰를 제공하는 웹사이트들 및 사용자들이 동의함을 표시하는 소셜 네트워크들)을 포함하는 여러 다른 종류들로 이뤄진 데이터 소스들의 범위를 통해 사용자 입력 및/또는 사용자의 이전의 행동들로부터 사용자들에 관한 정보를 통신 유닛(245)을 통해 수신한다. 이 정보는, 예를 들어, 사용자의 검색 이력, 브라우징 이력 및 인터넷과의 다른 인터렉션들로부터 도출된다.
일부 구현들에서, 여러 다른 종류들로 이뤄진 다른 데이터 소스로부터 데이터를 각각 수신하는 다수의 프로세싱 모듈들(202)이 존재한다. 일부 구현들에서, 상기 데이터는 동일한 프로세싱 모듈(202)에 의해 수신된다. 상기 프로세싱 모듈(202)은 저장을 위해 메모리(237)에 데이터를 송신한다. 일부 구현들에서, 메모리(237)는 개별적인 데이터 저장 위치에 각각의 여러 다른 종류들로 이뤄진 데이터 소스로부터 데이터를 파티션한다. 일부 구현들에서, 여러 다른 종류들로 이뤄진 데이터로부터의 상기 데이터는 메모리(237)에서 동일한 위치에 저장된다. 일부 구현들에서, 상기 메모리(237)는 사용자의 모델 및 컨텐츠의 스트림을 또한 개별 저장 위치들로 파티션한다.
모델 발생 엔진(207)은 메모리(237)로부터 데이터를 검색하고 상기 데이터에 기초해서 사용자의 모델을 발생시키기 위한 루틴들을 포함하는 소프트웨어일 수 있다. 일부 구현들에서, 상기 모델 발생 엔진(207)은 상기 모델을 발생시키기 위하 아래에 설명되는 기능성을 제공하기 위해 프로세서(235)에 의해 실행 가능한 명령들의 세트이다. 일부 구현들에서, 모델 발생 엔진(207)은 컴퓨팅 디바이스(200)의 메모리(237)에 저장되며 프로세서(235)에 의해 액세스 가능하고 실행 가능하다. 일부 구현들에서, 모델 발생 엔진(207)은 버스(221)를 통해 상기 프로세서(235) 및 상기 컴퓨팅 디바이스(200)의 다른 컴포넌트들과의 협동 및 통신을 위해 적응될 수 있다.
모델 발생 엔진(207)은 예를 들어, 쿼리들, 클릭들, 뉴스 클릭들, 가젯들, 전자 메시지 인터렉션들 등과 같은 것을 포함하는 다양한 소스들로부터 사용자 정보를 수신하며, 그리고 상기 결정된 피처들에 기초해서 사용자의 모델을 발생시킨다. 상기 모델은 상기 관련성이 어느 범위까지 유효한지를 표시하기 위한 부동 소수점 값과 함께 사용자들에 대한 아이템들의 관련성의 다양한 유형들을 포함한다. 관련성의 유형들의 예시들은 사용자에 대한 아이템의 소스의 관련성, 사용자에 대한 아이템의 주요 위치의 관련성 및 사용자의 관심사들의 리스트에 대한 아이템의 관련성을 포함한다. 관심사들은 명시적인 정보 및 추론된 정보로부터 발생된다. 명시적인 정보는, 예를 들어, 소셜 네트워크상의 사용자의 관심사들의 리스트 또는 사용자가 특정한 컨텐츠 아이템을 흥미 있다고 느낌을 표시하는 것으로부터 도출된다. 추론된 정보는 사용자의 활동들을 고려한다.
일부 구현들에서, 모델 발생 엔진(207)은 또한 사용자가 얼마나 자주 컨텐츠의 스트림을 소비하는지 그리고 사용자가 다양한 유형들의 아이템들을 재-공유할 가능성이 얼마나 높은지에 관한 글로벌 통계들을 포함하는 사용자의 소비 패턴들에 관한 몇몇의 글로벌 메타 정보를 포함하는 모델을 발생시킨다. 마지막으로, 상기 모델은 컨텐츠 스트림 아이템들을 클릭, 공유 또는 그렇지 않으면 계합(engage)할 사용자의 가능성에 관한 예측들을 하기 위해 사용되는 가중치들 및 곱하는 수들(multipliers)의 시퀀스를 포함한다.
일부 구현들에서, 모델 발생 엔진(207)은 여러 다른 종류들로 이뤄진 데이터 소스들을 통해 데이터로부터 모델을 발생시킨다. 일부 구현들에서, 상기 모델 발생 엔진은 다른 사용자들의 행동 패턴들을 이용하는 모델에 대한 확장들을 구축한다. 예를 들어, 상기 모델은 유사한 사용자들의 반응에 기초해서 사용자의 행동을 예측한다. 상기 다른 사용자들에 대한 데이터는 상기 모델에 통합되기 전에 익명화된다.
일부 구현들에서, 모델 발생 엔진(207)은 또한 상기 컨텐츠의 스트림에 대한 사용자의 반응에 기초해서 모델을 업데이트한다. 사용자의 반응은, 예를 들어, 컨텐츠의 스트림의 부분인 컨텐츠 아이템과 유사한 아이템들을 읽기 위한 버튼을 선택하는 것, 관심사들의 리스트로부터 관심사를 제거하고 관련된 관심사들을 선택하는 것을 포함한다. 상기 사용자의 반응에 응답하여, 상기 모델 발생 엔진(207)은 모델을 업데이트한다. 상기 사용자가 유사한 컨텐츠 아이템들을 읽기 위한 버튼을 선택할 때, 상기 모델 발생 엔진(207)은 모델에 대해 대응하는 관심사를 추가한다. 상기 사용자가 리스트로부터 관심사를 제거할 때, 상기 모델 발생 엔진(207)은, 예를 들어, 상기 모델로부터 상기 관심사를 제거함에 의해 그에 따라 상기 모델을 조정한다.
컨텍스트 모듈(213)은 예를 들어, 사용자에 대한 컨텐츠 스트림에 대한 요청 및/또는 채널에 대한 요청과 같은 요청으로부터 컨텍스트 단서들(contextual clues)을 식별하기 위한 루틴들을 포함하는 소프트웨어일 수 있다. 일부 구현들에서, 컨텍스트 모듈(213)은 컨텍스트 단서들을 식별하기 위한 아래에 설명되는 기능성들을 제공하기 위해 프로세서(235)에 의해 실행 가능한 명령들의 세트일 수 있다. 일부 구현들에서, 컨텍스트 모듈(213)은 컴퓨팅 디바이스(200)의 메모리(237)에 저장되며 프로세서(235)에 의해 액세스 및 실행 가능하다. 둘 중 하나의 구현에서, 컨텍스트 모듈(213)은 버스(221)를 통해 프로세서 및 컴퓨팅 디바이스(200)의 다른 컴포넌트들과 협동 및 통신하도록 적응된다.
일부 구현들에서, 컨텍스트 모듈(213)은 사용자에 대한 컨텐츠의 스트림에 대한 요청 또는 사용자가 웹사이트를 방문하거나 컨텐츠 어플리케이션(103)을 포함하는 어플리케이션을 활성화하는 때마다 채널에 대한 요청을 수신한다. 일부 구현들에서, 사용자는 컨텐츠의 스트림을 요청하거나 채널로부터 컨텐츠 스트림을 요청한다. 상기 요청과 무관하게, 컨텍스트 모듈(213)은 요청을 수신하고 상기 요청으로부터 컨텍스트 단서들을 결정한다. 예를 들어, 상기 컨텍스트 모듈(213)은 사용자의 위치(예를 들어, 사용자의 IP 주소에 기초해서), 하루 중 시간 및 어떤 다른 컨텍스트 단서들을 결정한다. 상기 컨텍스트 모듈(213)은 스코어링 엔진(211)에 컨텍스트 단서들을 송신한다.
스코어링 엔진(211)은 사용자에 대한 컨텐츠의 스트림 또는 후보 컨텐츠 아이템들로부터의 채널을 발생시키고 사용자에 대한 채널을 개인화하기 위한 루틴들을 포함하는 소프트웨어일 수 있다. 일부 구현들에서, 스코어링 엔진(211)은 사용자에 대한 컨텐츠의 스트림을 발생시키고 사용자에 대한 채널을 개인화하기 위한 아래에 설명된 기능성을 제공하기 위해 프로세서(235)에 의해 실행 가능한 명령들의 세트일 수 있다. 일부 구현들에서, 스코어링 엔진(211)은 컴퓨팅 디바이스(200)의 메모리(237)에 저장되고 프로세서(235)에 의해 액세스 및 실행 가능하다. 일부 구현들에서, 스코어링 엔진(211)은 버스(221)를 통해 프로세서(235) 및 컴퓨팅 디바이스(200)의 다른 컴포넌트들과 협동 및 통신하도록 적응된다.
일부 구현들에서, 스코어링 엔진(211)은 검색 용어들에 관한 후보 컨텐츠 아이템들에 대해 여러 다른 종류들로 이뤄진 데이터 소스들을 쿼리하고, 후보 컨텐츠 아이템들을 수신하며, 사용자가 후보 컨텐츠 아이템들을 흥미있어 할지 여부를 결정하기 위해 후보 컨텐츠 아이템들을 모델과 비교한다. 일부 구현들에서, 상기 여러 다른 종류들로 이뤄진 데이터 소스들은 도 1a에 설명된 바와 같이, 검색 엔진(143), 엔터테인먼트 서버(137), 전자 메시지 서버(141), 레이팅 서버(139), 소셜 네트워크 서버(101) 및 제3자 서버(107)를 포함한다.
상기 요청이 사용자에 대한 것일 때, 상기 쿼리는 사용자의 관심사들, 소셜 연결들 및 일부 구현들에서는, 사용자에 의한 최근 검색 용어 입력들로부터 도출된다. 상기 요청이 채널에 대한 것일 때, 상기 쿼리는 상기 채널에 대한 주제 및 키워드들을 포함한다. 일부 구현들에서, 상기 스코어링 엔진(211)은 또한 후보 컨텐츠 아이템들의 개수를 더 줄이기 위해 컨텍스트 모듈(213)로부터 송신된 컨텍스트 단서들을 사용한다.
일부 구현들에서, 상기 스코어링 엔진(211)은 먼저 쿼리를 수행하고 그 후에 상기 사용자가 상기 후보 컨텐츠 아이템들을 흥미있어 할지 여부를 결정하기 위해 상기 결과를 상기 모델과 비교한다. 일부 구현들에서, 이러한 단계들은 동시에 수행된다. 일부 구현들에서, 상기 스코어링 엔진(211)은 후보 컨텐츠 아이템을 모델과 비교하고 그 후에 상기 쿼리들의 주제에 따라 상기 결과들을 필터링한다.
상기 스코어링 엔진(211)은 소셜 관련성에 기초해서 흥미도(interestingness)를 결정하고, 상기 아이템과 상기 사용자 간의 흥미 매칭도(interest match)를 결정한다. 소셜 관련성은 사용자의 소셜 그래프로부터의 정보에 기초해서 사용자가 아이템에 흥미를 가질 가능성을 측정하기 위해 사용된다(예를 들어, 유사한 인구 통계를 가진 다른 사람이 아이템에 어떻게 반응했는지). 예를 들어, 사용자가 미국에 거주하고 팝 음악을 즐긴다고 가정할 때, 상기 사용자는 Artist X라고 불리는 새로운 아티스트에 관한 컨텐츠 아이템들에 흥미가 있을 것이다. 상기 아이템의 상기 사용자에 대한 흥미 매칭도는 상기 모델에 대한 상기 컨텐츠 아이템의 유사성에 기초해서 결정된다.
흥미도는 각 후보 컨텐츠 아이템에 대한 스코어를 계산함에 의해 측정된다. 일부 구현들에서, 스코어링 엔진(211)은 상기 스코어링에 이력 인터렉션 피드들을 통합한다. 일부 구현들에서, 상기 후보 아이템들은 이들의 후보 스코어들이 특정 임계치를 초과하지 않는 한 디스플레이되지 않는다. 일단 상기 스코어들이 계산되고 상기 임계치가 초과되면, 상기 스코어링 엔진(211)은 후보 컨텐츠 아이템 스코어들에 따라 정렬된 사용자에 대한 컨텐츠의 스트림을 발생시킨다.
일부 구현들에서, 스코어링 엔진(211)은 또한 디스플레이를 위해 컨텐츠의 스트림에서 각 아이템에 대한 설명을 발생시킨다. 상기 설명은 컨텐츠 아이템(예를 들어, 스키)의 주제를 포함하는 태그를 포함하는 다양한 방식으로 제시되거나, 더 상세한 설명(예를 들어, 당신의 친구들이 이 문서를 즐겼다)으로 제시된다. 다른 설명들은 상기 컨텐츠 아이템이 구체적인 사용자 흥미와 매칭되거나 사용자가 과거에 지지했던 다른 컨텐츠 아이템들과 유사하다는 것을 포함한다. 상기 설명에 대한 사용자의 반응은 상기 모델을 더 개선하기 위해 사용될 수 있다.
일부 구현들에서, 스코어링 엔진(211)은 사용자에 대한 채널을 개인화한다. 스코어링 엔진(211)은 상기 채널의 주제에 기초해서 상기 채널에 대한 컨텐츠의 스트림에서 컨텐츠 아이템들에 대한 채널을 쿼리한다. 스코어링 엔진(211)은 상기 쿼리와 매칭되는 후보 컨텐츠 아이템들을 수신한다. 일부 구현들에서, 상기 채널에서의 상기 컨텐츠 아이템들은 상기 채널 엔진(220)으로부터 상기 스코어링 엔진(211)로 직접 송신된다. 일부 구현들에서, 스코어링 엔진(211)은 상기 채널에 대한 주제 및 키워드들에 기초한 후보 컨텐츠 아이템들에 대해 데이터 저장 서버(265)(도 2를 참조로 하여 아래에 논의됨) 또는 메모리(237)를 쿼리한다.
스코어링 엔진(211)은 상기 후보 컨텐츠 아이템들을 모델과 비교하고, 모델을 이용하고 상기 사용자에 대한 후보 컨텐츠 아이템의 흥미도에 기초해서 각 후보 컨텐츠 아이템에 대한 스코어를 계산한다. 일부 구현들에서, 상기 스코어링 엔진(211)은 컨텍스트 모듈(213)로부터 컨텍스트 단서들을 수신하고, 후보 컨텐츠 아이템들의 개수를 더 줄이기 위해 상기 컨텍스트 단서들을 이용한다.
일부 구현들에서, 스코어링 엔진(211)은 후보 컨텐츠 아이템들의 스코어들에 따라 후보 컨텐츠 아이템들로부터 컨텐츠 아이템들의 세트를 선택한다. 스코어링 엔진(211)은 선택된 컨텐츠 아이템들에서 그리고 사용자에 대한 컨텐츠의 스트림에서 상기 컨텐츠 아이템들을 식별하고, 컨텐츠 아이템들의 선택된 세트로부터 중복된 컨텐츠 아이템들을 제거하고, 그리고 사용자에 대해 선택된 컨텐츠 아이템들로부터 상기 채널(예를 들어, 상기 사용자에 대한 개인화된 채널)에 대한 컨텐츠의 스트림을 발생시킨다. 일부 구현들에서, 상기 스코어링 엔진(211)은 상기 사용자에 대한 개인화된 채널을 상기 사용자에 대한 전체 컨텐츠 스트림에 배포한다.
도 1b를 계속 참조하면, 상기 협동 필터링 엔진(217)은 협동 필터링을 통한 소셜 컴포넌트를 갖는 추가적인 후보 컨텐츠 아이템들을 발생시키고 협동 필터링으로부터 도출되었던 추가적인 후보 컨텐츠 아이템들을 스코어링 엔진(211)에 송신하는 루틴들을 포함하는 소프트웨어일 수 있다. 일부 구현들에서, 협동 필터링 엔진(217)은 추가적인 후보 컨텐츠 아이템들을 발생시키기 위해 아래에 설명된 기능성을 제공하기 위한 프로세서(235)에 의해 실행 가능한 명령들의 세트일 수 있다. 일부 구현들에서, 상기 협동 필터링 엔진(217)은 컴퓨팅 디바이스(200)의 메모리9237)에 저장될 수 있고 프로세서(235)에 의해 액세스 및 실행 가능할 수 있다. 일부 구현들에서, 상기 협동 필터링 엔진(217)은 버스(221)를 통해 프로세서(235) 및 상기 컴퓨팅 디바이스의 다른 컴포넌트들과 협동 및 통신하도록 적응된다.
협동 필터링 엔진(217)은 사용자가 관계를 갖는 사람들로부터 도출된 사용자에 대한 컨텐츠의 스트림으로부터 사회적으로 관련된 후보 컨텐츠 아이템들을 획득하고 상기 스코어링 엔진(211)에 상기 후보 컨텐츠 아이템들을 송신한다. 협동 필터링 엔진(217)은 상기 소셜 그래프(179)로부터 관계들에 관한 정보를 수신한다. 예를 들어, 사용자에 대한 컨텐츠의 스트림은 소셜 네트워크 또는 사람들 중 사용자가 전자 메시지들을 자주 보내는 친구들로부터 도출된다. 한 사람이 사용자에게 더 중요한 것으로 나타날수록, 사용자는 상기 컨텐츠 아이템에 더 흥미가 있을 가능성이 높다. 그러므로, 일부 구현들에서, 상기 협동 필터링 엔진(217)은 상기 사용자의 상기 친구에 대한 사회적 관계에 기초한 후보 컨텐츠 아이템들에 대해 가중치를 적용한다. 예를 들어, 친구들인 사용자들에 의해 발생되거나 소비되는 후보 컨텐츠 아이템들은 상기 사용자의 2세대 친구들(즉, 친구의 친구)로부터의 후보 컨텐츠 아이템들보다 높은 가중치를 부여받는다.
협동 필터링 엔진(217)은 사용자가 아이템들에 긍정적으로 반응할 때 친구들로부터의 후보 컨텐츠 아이템들에 대해 적용되는 가중치들을 증가시킨다. 예를 들어, 사용자가 아이템에 대해 코멘트를 하거나 상기 사용자가 상기 아이템이 흥미롭다는 것을 표시할 때, 상기 협동 필터링 엔진(217)은 그 친구의 가중치를 증가시켜서 그 친구로부터의 더 많은 후보 컨텐츠 아이템들이 상기 사용자에 대한 컨텐츠의 스트림의 부분이 된다.
채널 엔진(220)은 주제에 대한 채널을 발생시키고, 상기 주제 및 키워드들에 기초해서 후보 컨텐츠 아이템들을 검색하고, 상기 후보 컨텐츠 아이템으로부터 채널에 대한 컨텐츠의 스트림을 발생시키고, 상기 채널에 대한 컨텐츠의 스트림으로 상기 채널을 채우는 루틴들을 포함하는 소프트웨어일 수 있다. 일부 구현들에서, 상기 채널 엔진(220)은 상기 채널에 대한 컨텐츠의 스트림으로 채워진 상기 채널을 발생시키기 위해 아래에 설명된 기능성을 제공하기 위한 상기 프로세서(235)에 의해 실행 가능한 명령들의 세트일 수 있다. 일부 구현들에서, 채널 엔진(220)은 컴퓨팅 디바이스(200)의 메모리(237)에 저장되고 프로세서(235)에 의해 액세스 및 실행 가능하다. 두 구현 중 하나에서, 채널 엔진(220)은 버스(221)를 통해 프로세서(235) 및 컴퓨팅 디바이스(200)의 다른 컴포넌트들과 협동 및 통신하도록 적응된다.
일부 구현들에서, 채널 엔진(220)은 채널(예를 들어, 자전거 타는 사람)에 대한 주제를 결정하고 대응하는 키워드들(예를 들어, 자전거, 바이크, 자전거 타기, 바이크 타기, 사이클, 사이클 타기, 레이서)을 식별한다. 일부 구현들에서, 상기 채널 엔진(220)은 제3자 또는 개인들로부터 채널을 생성하기 위한 요청을 수신한다. 채널을 생성하기 위한 요청은 주제 및 가능하게는 채널 엔진(220)이 키워드들을 발생시키기 위해 사용하는 채널의 개략 설명을 포함한다. 예를 들어, 상기 채널 엔진(220)은 새들에 관한 주제에 대한 채널을 생성하기 위한 요청을 수신한다. 일부 구현들에서, 상기 채널 엔진(220)은 예를 들어, 새들, 앵무새들, 왕관 앵무새들(cockatiels), 독수리들, 올빼미들, 비둘기들 등과 같은 새들의 이 채널에 대한 키워드들을 결정한다. 상기 채널 엔진(220)은 결정된 주제에 대해 채널을 발생시킨다.
상기 채널 엔진(220)은 여러 다른 종류들로 이뤄진 데이터 소스들을 상기 키워드들에 기초해서 후보 컨텐츠 아이템들에 대해 쿼리하고, 상기 후보 컨텐츠 아이템들을 수신하고, 그리고 이들의 글로벌 스코어들에 따라 후보 컨텐츠 아이템들로부터 컨텐츠 아이템들의 세트를 선택한다. 일부 구현들에서, 글로벌 스코어는 사용자들 간의 후보 컨텐츠 아이템의 인기도를 나타낸다(예를 들어, 클릭들, 뷰들, 고유 뷰들, 레이팅들, 재공유 또는 인기도를 나타내는 다른 메트릭에 기초함). 여러 종류로 이뤄진 데이터 소스들의 예시들은 검색 엔진(143), 엔터테인먼트 서버(137), 전자 메시지 서버(141), 레이팅 서버(139), 소셜 네트워크 서버(101), 및 제3자 서버(107)를 포함한다. 상기 쿼리는 주제과 관련된 키워드들로부터 도출된다. 예를 들어, 상기 채널 엔진은, 상기 채널의 주제가 대식가이기 때문에, 상기 검색 엔진(143)을 미식가, 요리 및 레스토랑을 포함하는 아이템들에 대해 쿼리한다.
일부 구현들에서, 채널 엔진(220)은 먼저 키워드들에 기초해서 쿼리를 수행하고 그 후에 이들의 글로벌 스코어들에 따라 결과들을 선택한다. 예를 들어, 상기 채널 엔진(220)은 후보 컨텐츠 아이템들로부터 컨텐츠 아이템들의 세트를 선택하고, 각각의 컨텐츠 아이템은 임계치를 만족하는 글로벌 스코어를 갖는다. 일부 구현들에서, 예를 들어, 채널 엔진(220)이 키워드들 및 이들의 관련된 글로벌 스코어들에 기초해서 후보 컨텐츠 아이템들에 대해 여러 종류로 이뤄진 데이터 소스들을 쿼리하는 것과 같이, 쿼리 및 선택은 동시에 수행된다. 예를 들어, 채널 엔진(220)은 스키라는 단어를 포함하고 임계량보다 높은 글로벌 스코어들을 갖는 아이템들에 대해 데이터 저장 서버(미도시)를 쿼리한다. 상기 데이터 저장 서버는 도 2를 참조로 하여 아래에 더 설명된다. 일부 구현들에서, 상기 채널 엔진(220)은 이들의 글로벌 스코어들에 기초해서 후보 컨텐츠 아이템들로부터 선택하고 상기 결과들을 상기 키워드들에 따라 필터링한다. 이러한 예시들 중 다수에서, 채널 엔진(220)은 인기 있는 주제에 관련된 후보 컨텐츠 아이템들의 세트를 수신한다.
채널 엔진(220)은 상기 선택된 컨텐츠 아이템들을 이용해서 채널에 대한 컨텐츠의 스트림을 발생시키고 상기 채널에 대한 컨텐츠의 스트림으로 상기 채널을 채운다. 일단 채널이 생성되면, 상기 채널 엔진(220)은 사용자들에게 디스플레이되는 사용자 인터페이스로의 통합을 위해 상기 채널에 대한 컨텐츠의 스트림을 상기 사용자 인터페이스 모듈(230)에 송신한다. 일부 구현들에서, 상기 컨텐츠의 스트림은 데이터 저장 서버(265)에 대해 상기 메모리(237)에 저장된다.
일부 구현들에서, 상기 채널 엔진(220)은 상기 채널을 주기적으로(예를 들어, 매시간, 매일, 매주 또는 매달) 업데이트하고 멤버들/사용자들로서 상기 채널에 참여할 것을 사람들에게 초대하고 승인한다. 일부 구현들에서, 상기 채널 엔진(220)은 또한 사용자 인터페이스 모듈(230)을 통해 사용자들로부터 입력 또는 활동들을 수신하고, 이러한 활동들을 상기 채널에 게재한다.
일부 구현예들에서, 채널 엔진(220)은 사용자가 제출한 컨텐츠에 대한 반응들에 기초하여 그리고 하나 이상의 규칙들(rules)에 대한 충족 레벨에 따라, 채널 내의 각 사용자에 대한 평판(reputation)을 결정한다. 채널 엔진(220)은 각각의 사용자에게 평판을 부여하는바, 이는 사용자가 신뢰할만한지의 여부를 나타낸다. 일부 구현예들에서, 사용자의 평판은, 임계 숫자의 다른 사용자들이 읽거나, 보거나 또는 코멘트들을 제출함으로써 혹은 컨텐츠에 대한 승인의 표시들을 제공함으로써 긍정적으로 반응한 컨텐츠를 사용자가 제출했는지의 여부에 기초한다. 예를 들어, 채널 엔진(220)은 사용자가 임계값을 초과하는 경우 신뢰성을 나타내는 높은 평판을 부여한다. 다른 일례에서, 채널 엔진(220)은 사용자가 임계값을 초과하는 경우 신뢰성을 나타내는 낮은 평판을 부여한다.
채널 엔진(220)은 사용자들에 의해서 채널에 제출된 컨텐츠 아이템들을 공개할지의 여부를 사용자들의 평판에 기초하여 결정하며 그리고 컨텐츠의 랭킹에 따라 채널에 대한 컨텐츠의 스트림 내에 컨텐츠 아이템들을 배열한다. 일부 구현예들에서, 채널 엔진(220)은 채널에서 높은 평판을 갖는 사용자들에 의해서 제출된 컨텐츠 아이템들을 자동으로 공개한다. 일부 구현예들에서, 채널 엔진(220)은 낮은 평판을 갖는 사용자들로부터의 컨텐츠 아이템들을 공개하기 위한 승인을 중재자(moderator) 혹은 높은 평판을 갖는 사용자에게 요청한다.
또한, 채널 엔진(220)은 진부한(obsolete) 컨텐츠 아이템들 및 일정 시간 기간(예컨대, 한달) 보다 오래된 아이템들을 검출한다. 일부 구현예들에서, 채널 엔진(220)은 채널에 대한 컨텐츠의 스트림 및 사용자에 대한 컨텐츠의 스트림에서 컨텐츠 아이템들을 식별하며, 뿐만 아니라, 채널에 대한 컨텐츠의 스트림으로부터 중복되는 컨텐츠 아이템들을 제거하며, 그리고 채널에 대한 컨텐츠의 스트림을 사용자에 대한 컨텐츠의 스트림 내에 배포한다. 일부 구현예들에서, 채널 엔진(220)은 채널에 대한 컨텐츠의 스트림을 스코어링 엔진(211)으로 전송하여 중복물들을 제거한다.
일부 구현예들에서, 채널 엔진(220)은 사용자들의 행위들(activities)에 기초하여 채널의 주제를 보다 세분한다. 일부 구현예들에서, 채널 엔진(220)은 관련된 주제들을 갖는 2개 이상의 채널들로 상기 채널을 분할한다. 예를 들어, 채널 엔진(220)은 미식가 채널(gourmand channell)로부터 2개의 새로운 채널들을 생성하는 바, 하나는 채식 미식가(vegetarian gourmand)를 위한 것이고 다른 하나는 육식 미식가(carnivorous gourmand)를 위한 것이다. 일부 구현예들에서, 좁은 주제를 갖는 새로운 채널이 사용자 피드백에 기초하여 현재 채널로부터 도출된다. 일부 구현예들에서, 채널 엔진(220)은 좁은 주제를 위한 새로운 채널을 생성한다(예를 들면, 미식가 채널로부터 생성된 스시(sushi) 채널).
다수의 사용자들을 구비한 컨텐츠의 공중 스트림은 채널로 지칭되며 그리고 다른 사용자들이 이용할 수 있다. 사용자들은 채널에 참가하며 그리고 상기 채널은 사용자의 컨텐츠 스트림의 일부처럼 보인다. 일부 구현예들에서, 채널은 버킷(bucket)이며, 버킷 내에 컨텐츠 아이템이 배치될 때마다 채널 엔진(220)은 상기 아이템을 사용자에게 자동으로 라우팅한다. 일부 구현예들에서, 사용자는 사용자 인터페이스 모듈(230)에 의해서 생성된 채널 버튼을 선택하여 버킷 내의 아이템을 볼 수 있다.
채널을 구현하기 위한 3개의 서로 다른 방식들이 존재하는바, (1) 알고리즘적 채널(algorithmic channel), (2) 중재된 채널(moderated channel), 및 (3) 비-중재된 채널(un-moderated channel)이 존재한다. 사용자는, 특정 관심사에 대한 컨텐츠를 총괄적으로 끌어모을 수 있는 서로 다른 엔티티들 및 소스들(예컨대, 5, 15, 20, 등등)을 특정함으로써 알고리즘적 채널을 생성하기 위한 정보를 입력한다. 다른 사용자들은, 채널을 추종함으로써 혹은 그들이 컨텐츠의 스트림을 승인함을 표시함으로써, 상기 채널에 가입한다. 다른 구현예들도 존재한다. 예를 들어, 채널은 전술한 방식들 중 2개 이상을 혼합한 것이 될 수도 있다.
중재된 채널의 경우, 적어도 하나의 중재자가 특정된다. 일부 구현예들에서, 채널의 생성자는 자동적으로 중재자로 지정된다. 다른 중재자들은 사용자 인터페이스를 통해 지정된다. 사용자 인터페이스 모듈(230)은 특정한 관심사 및 다른 사용자들에 대한 쿼리에 매칭되는 아이템들을 포함하는 다양한 장소들로부터 채널에 포함시키기 위한 후보 컨텐츠 아이템들을 중재자에게 제시한다. 중재자가 후보 컨텐츠 아이템을 승인하면, 이것은 채널에 대한 컨텐츠 스트림에 나타난다. 다른 사용자들은, 그들이 그들의 컨텐츠 스트림 내에 아이템을 승인함을 표시함으로써 채널에 컨텐츠를 제공한다. 다른 사용자들로부터의 컨텐츠 아이템들은 중재자가 이들을 승인 혹은 거부할 때까지 후보 컨텐츠 아이템들로 지정된다.
비-중재된 채널의 경우, 임의의 사용자는 채널에 참가할 수 있으며 그리고 아이템을 승인함으로써 채널의 컨텐츠 스트림에 아이템을 추가할 수 있다. 승인된 아이템들은 이들의 글로벌 스코어에 의해서 정렬되며 그리고 채널의 멤버들인 사용자들로부터 수많은 뷰들(views), 승인의 표시 및 코멘트들을 수신하는 아이템에 응답하여 후속적으로 수정될 수 있다. 사용자 응답들에 따라 컨텐츠 아이템들을 재정렬함으로써, 채널의 컨텐츠의 스트림은 효과적으로 중재된다.
사용자 인터페이스 모듈(230)은 사용자 디바이스(115) 상에 사용자 인터페이스를 디스플레이하기 위한 명령들을 생성하는 루틴들을 포함하는 소프트웨어일 수 있으며, 사용자 디바이스(115)는 컨텐츠의 전체 스트림 및 컨텐츠의 채널 스트림을 포함하는 사용자에 대한 컨텐츠의 스트림을 포함하고, 사용자 피드백을 수신하며, 사용자가 명시적인 관심사들(explicit interests)을 추가하거나 제거할 수 있게하며, 그리고 채널 내의 항목들(articles)을 공유하는 옵션을 포함하는 웹사이트들 상에 디스플레이하기 위한 위젯(widget)을 생성한다. 사용자 인터페이스는 다른 어플리케이션(예를 들어, 소셜 네트워크)의 일부로서 디스플레이되거나 그 자신의 단독 어플리케이션으로서 디스플레이될 수 있다. 일부 구현예들에서, 사용자 인터페이스 모듈(230)은 사용자 혹은 채널을 위해 컨텐츠의 스트림을 제공하기 위한 아래에 설명된 기능성을 제공하는, 프로세서(235)에 의해서 실행가능한 명령들의 세트가 될 수 있다. 일부 구현예들에서, 사용자 인터페이스 모듈(230)은 컴퓨팅 디바이스(200)의 메모리(237)에 저장될 수 있으며 그리고 프로세서(235)에 의해서 액세스 및 실행 가능하다. 일부 구현예들에서, 사용자 인터페이스 모듈(230)은 컴퓨팅 디바이스(200)의 프로세서(235) 및 다른 구성요소들과 버스(221)를 통해 협동 및 통신하도록 구성된다. 사용자 인터페이스 모듈(230)의 동작 및 상기 사용자 인터페이스 모듈(230)에 의해서 생성된 사용자 인터페이스들은 도3a-11 을 참조하여 보다 상세히 설명된다.
도 2는 디스플레이를 위해 컨텐츠의 스트림을 발생시키는 시스템의 일 구현예를 도시한 블록도이다. 예시된 구현예에서, 컨텐츠 어플리케이션(103)의 구성요소들은 다양한 서버들 사이에서 나뉘어지며 따라서 정보가 효율적으로 처리된다. 예시된 시스템은 검색 서버(135), 엔터테인먼트 서버(137), 레이팅 서버(ratings server)(139), 전자 메시지 서버(141), 컨텐츠 획득 파이프라인(250), 데이터 저장 서버(265), 모델 서버(255), 스코어링 서버(260), 소셜 그래프(179), 소셜 서버(270) 및 컨텐츠 어플리케이션(103)을 포함한다.
일부 구현예들에서, 다양한 종류의(heterogeneous) 데이터 소스들(예컨대, 검색 서버(135), 엔터테인먼트 서버(137), 레이팅 서버(139), 전자 메시지 서버(141))이 컨텐츠 획득 파이프라인(250)에 의해서 크롤링될 수 있다. 일부 구현예들에서, 다양한 종류의 데이터 소스들은 컨텐츠 아이템들을 컨텐츠 획득 파이프라인(250)으로 전송한다.
컨텐츠 획득 파이프라인(250)은 컨텐츠 아이템들에 특별 태그들(예컨대, 피처들 및 스코어링 엔진(211)에 의해서 생성된 글로벌 스코어)로 주석을 달기위한 프로세싱 모듈(202)을 포함하며 그리고 사용자 활동들에 대한 데이터를 처리한다. 일부 구현예들에서, 본 명세서에 서술된 활동들은 데이터 수집에 동의한 사용자에 대한 것이다. 일단 컨텐츠 아이템들에 주석이 달리면, 프로세싱 모듈(202)은 상기 데이터를 데이터 저장 서버(265)에 송신한다. 데이터 저장 서버(265)는 각각의 컨텐츠 아이템의 피처들을 인덱스화하며 그리고 이들을 적어도 하나의 데이터베이스에 저장한다. 일부 구현예서, 컨텐츠 아이템들은, 식별 포맷(SourceType#UniqueItemID, 예컨대, "VIDEOSERVICE#video_id" and "NEWS#doc_id"), 아이템의 정적인 피처들(예컨대, 제목, 컨텐츠, 컨텐츠 분류, 등등)을 갖는 아이템 정적(static) 피처 컬럼, 아이템의 동적인 피처들(예컨대, 글로벌 스코어, 클릭 횟수, 폴로윙의 수, 등등)을 갖는 아이템 동적(dynamic) 피처 컬럼, 소스(src) 정적 피처 컬럼(여기서, 소스는 아이템의 공개자인바, 예를 들어, 뉴스에서의 신문 A, 비디오 호스팅 사이트 A에서의 비디오 업로더 A, 기타 등등), 소스의 동적인 피처들을 갖는 src 동적 피처 컬럼, 활동들을 생성하는데 이용되었던 활동들을 갖는 컨텐츠 컬럼 및 사용자 스코어링을 위해 이용되는 메시지를 갖는 스코어링 피처에 따라 구성된다.
일부 구현예들에서, 데이터 저장 서버(265)는 컨텐츠 아이템들을 단계적으로 폐기(phase out)한다. 예를 들어, 뉴스 아이템들은 24 시간 이후에 만료되며, 비디오들은 48 시간 이후에 만료되며 그리고 피드들(feeds)은 24 시간 동안 보관되거나 혹은 오직 10개의 가장 최신의 아이템들이 보관되는 반면에, 나머지 아이템들은 단계적으로 폐기된다.
컨텐츠 획득 파이프라인(content acquisition pipeline)(250)은 또한 글로벌 사용자 순위화(global user ranking)를 위해 스코어링 서버(scoring server)(260)에 컨텐츠 아이템들을 전송한다. 글로벌 스코어들이 스코어링 서버(260)로부터 데이터 저장 서버(265)로 전송되고, 데이터 저장 서버(265)는 이러한 글로벌 스코어들을 컨텐츠 아이템과 관련시켜 저장한다. 글로벌 스코어들은 데이터 저장 서버(265) 내에서 컨텐츠 아이템들을 편성하는데 도움을 준다.
이제 모델 서버(model server)(255)를 참조하면, 모델 서버(255)는 프로세싱 모듈(202) 또는 데이터 저장 서버(265)로부터 사용자 활동(user activity)을 수신한다. 모델 발생 엔진(model generation engine)(207)은 사용자 입력 및/또는 이전의 행동(action)들에 근거하여 모델을 발생시킨다. 모델 서버(255)는 모델을 스코어링 서버(260)에 주기적으로 전송하거나 요청이 있는 경우 전송한다.
일부 구현예들에서, 스코어링 서버(260)는 사용자에 대한 컨텐츠 스트림 요청 혹은 사용자로부터의 채널 요청을 수신함에 응답하여 모델을 요청한다. 스코어링 서버(260)는 모델 서버(255)로부터 모델을 수신한다. 스코어링 서버(260)는 소셜 그래프(social graph)(179)로부터의 사용자 후보(user candidate)들을 요청 및 수신한다. 스코어링 서버(260)는 데이터 저장 서버(265)로부터의 후보 컨텐츠 아이템들을 요청 및 수신한다. 스코어링 서버(260)는 소셜 서버(social server)(270) 상에 저장되어 있는 협동 필터링 엔진(collaborative filtering engine)(217)으로부터 소셜 그래프(179) 내에서 사용자가 연결되어 있는 사람들로부터의 후보 컨텐츠 아이템들을 요청 및 수신한다. 소셜 서버(270)로부터의 후보 컨텐츠 아이템들에는 사전에 스코어가 부여되어 있으며, 일부 구현예들의 경우, 미판독된 후보 컨텐츠 아이템(unread candidate content item)들은 소셜 서버(270) 상의 캐쉬(cache)에 저장된다. 이러한 아이템들이 캐쉬에 저장되는 이유는 기입 시간(write time) 동안 스코어링을 수행하는 것이 더 빠른 판독을 가능하게 할 수 있을 정도로 소셜 업데이트들의 양이 충분히 클 수 있기 때문이다.
스코어링 엔진(211)은 후보 컨텐츠 아이템들을 모델과 비교하고 후보 컨텐츠 아이템들에 스코어를 부여한다. 소셜 서버(270)로부터의 후보 컨텐츠 아이템들의 경우, 스코어링 엔진(211)은 소셜 서버(270)로부터 후보 컨텐츠 아이템들을 수신하고, 후보 컨텐츠 아이템들을 모델과 비교하고, 그리고 모델에 따라 후보 컨텐츠 아이템들에 스코어를 다시 부여한다. 스코어링 엔진(211)은 이와 같이 스코어가 부여된 후보 컨텐츠 아이템들에 근거하여 사용자에 대한 컨텐츠의 스트림을 발생시키고, 사용자에 대한 컨텐츠의 스트림을 컨텐츠 애플리케이션(content application)(103)에 전송한다.
컨텐츠 애플리케이션(103)은 앞서 설명된 바와 같은 채널 엔진(channel engine)(220)과, 그리고 사용자 인터페이스 모듈(230)을 포함하는데, 여기서 사용자 인터페이스 모듈(230)은 스코어링 서버(260)로부터 사용자에 대한 컨텐츠의 스트림을 수신하고 이것을 사용자 인터페이스 내에 디스플레이한다. 일부 구현예들에서, 사용자 인터페이스 모듈(230)은 제3자 웹사이트들(third-party websites) 상에서의 디스플레이를 위한 위젯(widget)을 발생시킨다(여기서, 위젯은 사용자로 하여금 컨텐츠를 해당 채널과 공유할 수 있게 하는 위젯임). 추가적으로, 사용자 인터페이스 모듈(230)은 사용자에게, 컨텐츠 아이템들의 리뷰(review), 특정 컨텐츠 아이템에 관한 추가 정보의 검색, 상이한 컨텐츠 아이템들 간의 트랜지션(transition), 그리고 컨텐츠 아이템에 관한 다양한 행동을 행하기 위한 사용자 인터페이스를 제공한다.
이제 도 3a 내지 도 3k를 참조하여, 본 개시내용의 사용자 인터페이스(300)의 다양한 구현예들의 그래픽 표현이 설명된다. 사용자 인터페이스 모듈(230)은 사용자 인터페이스(300)를 유리하게 제공하는바, 여기서 사용자 인터페이스(300)는 복수의 타일들을 갖는 유동적 그리드 구조(fluid grid structure)를 포함하고 있다. 비록 인터페이스(300)가 타일들의 2 x 2 그리드 구현예의 맥락에서 설명되지만, 상이한 그리드 증분(grid increments)이 가능함을 이해해야 한다. 도 3a 내지 도 3h는 사용자 인터페이스(300)의 일 구현예를 예시하는바, 여기서 그리드 증분은 2 x 2이고, 3가지 가능한 타일 크기(소형, 중형, 대형)가 존재한다. 이러한 예에서, 그리고 도 3a에서 제시되는 바와 같이, 사용자 인터페이스(300)는 대략 2개의 소형 타일들 x 2개의 소형 타일들의 크기를 갖는다. 따라서, 도 3a에서 제시되는 바와 같이, 사용자 인터페이스(300)에서 제시될 컨텐츠 아이템들이 4개의 소형 타일들에 의해 표현된다고 가정하면, 타일 A(302), 타일 B(304), 타일 C(306), 및 타일 D(308)가 2 x 2 그리드 내에 배치되고 이것은 사용자 인터페이스(300)의 디스플레이 가능 영역 대부분을 커버(cover)한다. 그러나, 사용자 인터페이스(300)는 또한, 중형-크기의 타일들 및 대형-크기의 타일들도 허용한다. 중형-크기의 타일들의 크기는 소형 타일의 크기의 대략 두 배이고, 따라서 폭은 2개의 소형 타일들의 크기일 수 있고 수직으로는 1개의 소형 타일의 크기일 수 있거나, 또는 폭은 1개의 소형 타일의 크기일 수 있고 수직으로는 2개의 소형 타일들의 크기일 수 있다. 이러한 타일들의 예들이 도 3c(타일 A(302) 참조) 및 도 3d(타일 B(304) 참조)에 각각 제시되어 있다. 이러한 타일들은 사용자 인터페이스(300) 내에서 위쪽 부분에 위치할 수 있거나, 아래쪽 부분에 위치할 수 있거나, 우측 부분의 좌측 부분에 위치할 수 있다. 대형-크기의 타일들의 크기는 중형-크기의 타일의 크기의 두 배이거나, 혹은 소형 타일의 4배만큼 크다. 그 예가 도 3h(타일 A(302) 참조)에 제시되어 있다. 도 9 내지 도 11을 참조하여 아래에서 더 상세히 설명되는 바와 같이, 본 개시내용의 시스템 및 방법은 사용자에게 제시되는 컨텐츠 아이템의 속성(attributes)에 근거하여 타일 크기 및 타일 위치를 유리하게 선택한다. 따라서, 도 3a 내지 도 3k에서 제시되는 그리드 구조는 적어도 두 가지 측면에서 동적이다. 그 첫 번째 측면에 있어서, 각각의 타일의 크기는 컨텐츠 자체 및 컨텐츠 아이템들의 개개의 속성들에 근거하여 동적으로 조정된다. 예를 들어, 사용자에게 더 흥미로운 컨텐츠를 갖는 타일들은 덜 흥미로운 컨텐츠보다 더 큰 타일의 형태로 제시될 수 있다. 또 하나의 다른 예에서, 사진을 포함하는 타일들은 단지 텍스트 컨텐츠만을 포함하는 타일들보다 더 크게 디스플레이될 수 있다. 두 번째 측면에서, 타일들이 제시되는 순서가 다시, 아이템의 컨텐츠에 근거하여, 뿐만 아니라 컨텐츠의 속성에 근거하여 동적으로 변한다. 예를 들어, 사용자에게 더 흥미로운 컨텐츠를 갖는 타일들은 덜 흥미로운 컨텐츠 이전에 제시될 수 있다.
도 3a 내지 도 3h는 앞서 설명된 바와 같은 소형, 중형, 및 대형 크기의 타일들 갖는 2 x 2 동적 그리드를 사용한 컨텐츠의 스트림으로부터의 컨텐츠 아이템들에 대한 가능한 배치를 예시한다. 앞서 언급된 바와 같이, 도 3a는 2 x 2 배열로 배치된 4개의 소형 타일들(타일 A(302), 타일 B(304), 타일 C(306) 및 타일 D(308))을 갖는 예시적인 사용자 인터페이스(300)의 그래픽 표현을 나타낸다. 도 3b는 2개의 소형 타일들(타일 A(302)와 타일 B(304)) 및 1개의 중형-크기의 타일(타일 C(306))을 갖는 예시적인 사용자 인터페이스(320)의 그래픽 표현을 나타낸다. 소형 타일들(302, 304)은 모두 중형-크기의 타일(306) 위에 위치하고 있다. 도 3c는 1개의 중형-크기의 타일(타일 A(302)) 및 2개의 소형 타일들(타일 B(304)와 타일 C(306))을 갖는 예시적인 사용자 인터페이스(322)의 그래픽 표현을 나타낸다. 중형-크기의 타일(302)은 소형 타일들(304, 306) 위에 위치하고 있다. 도 3d는 1개의 중형-크기의 타일(타일 B(304)) 및 2개의 소형 타일들(타일 A(302)와 타일 C(306))을 갖는 예시적인 사용자 인터페이스(324)의 그래픽 표현을 나타낸다. 중형-크기의 타일(304)은 사용자 인터페이스(324)의 우측 편에 위치하고 있으며, 2개의 소형 타일들(타일 A(302)와 타일 C(306))은 중형 타일(타일 B(304))의 좌측에 수직으로 적층되어 있다. 도 3e는 1개의 중형-크기의 타일(타일 A(302)) 및 2개의 소형 타일들(타일 B(304)와 타일 C(306))을 갖는 예시적인 사용자 인터페이스(326)의 그래픽 표현을 나타낸다. 중형-크기의 타일(302)은 사용자 인터페이스(326)의 좌측 편에 위치하고 있으며, 2개의 소형 타일들(타일 B(304)와 타일 C(306))은 중형 타일(타일 A(302))의 우측에 수직으로 적층되어 있다. 도 3f는 하나의 중형 타일이 다른 중형 타일 위에 배치되는 2개의 중형-크기의 타일들(타일 A(302) 및 타일 B(304))을 갖는 예시적인 사용자 인터페이스(328)의 그래픽 표현을 나타낸다. 도 3g는 2개의 중형 타일들이 서로 나란히 배치되는 그러한 2개의 중형-크기의 타일들(타일 A(302) 및 타일 B(304))을 갖는 예시적인 사용자 인터페이스(330)의 그래픽 표현을 나타낸다. 도 3h는 사용자 인터페이스의 대부분을 차지하는 하나의 대형 타일(타일 A(302))을 갖는 예시적인 사용자 인터페이스(332)의 그래픽 표현을 나타낸다. 앞서 설명된 동적 그리드와 관련하여 한 가지 특히 이로운 점은 2 x 2 그리드가 디바이스들의 회전을 지원한다는 것이다. 달리 말하면, 타일들 내의 데이터의 제시가 디바이스로 하여금 포트레이트 모드(portrait mode)로부터 랜드스케이프 모드(landscape mode)로 회전될 수 있도록 하며, 사용자 인터페이스의 외관 및 기능은 단지 약간의 치수 변환만 있을 뿐 대체로 동일하게 유지된다.
이제 도 3i 내지 도 3k를 참조하면, 사용자 인터페이스들(340, 342 및 344)의 다양한 구현예들의 3가지 그래픽 표현들이 제시된다. 이러한 도 3i 내지 도 3k는 사용자 인터페이스가 제시되는 디바이스에 근거하여, 그리드가 어떻게 동적인지 그리고 사용자 인터페이스 모듈(230)에 의해 그 폭에 어떻게 증분될 수 있는지를 예시한다. 도 3i에서, 인터페이스(340)는 3개의 컬럼(column)들의 폭을 가지며, 도 3j에서, 인터페이스(342)는 2개 컬럼들의 폭을 가지며, 그리고 도 3k에서, 인터페이스(344)는 1개의 컬럼의 폭을 갖는다. 이것은 예를 들어, 데스크탑 컴퓨터, 태블릿, 및 스마트 폰에 대해서, 이용가능한 그리고 디스플레이가능한 실제 영역에 각각 대응할 수 있다.
도 3a 내지 도 3k가 단지 소정의 시간에 디바이스 상에서의 디스플레이를 위해 제공되고 있는 정보만을 예시하고 있음을 이해해야 한다. 사용자는 현재 제시되고 있는 타일들 아래로 혹은 위로 추가적인 타일들이 제시되도록 사용자 인터페이스를 진행시키기 위해 디바이스에 대한 입력을 사용할 수 있는바, 예를 들어, 스크로링(scrolling) 혹은 제스처(gestures)(예컨대, 스와이핑(swiping))를 사용할 수 있다. 예를 들어, 도 3k는 스마트 폰 상에서의 디스플레이를 위해 적절할 수 있는 타일들의 선형 리스트(linear list)를 제공하는 인터페이스이다. 타일들은 이들의 사용자에 대한 관련성 혹은 흥미도에 근거하여 리스트 내의 위쪽으로부터 아래쪽으로 순서대로 정렬된다. 이것은 크기가 작은 디스플레이 상에서도, 즉, 스마트폰의 디스플레이와 같은 디스플레이가능한 실제 영역이 작은 디스플레이 상에서도, 가장 높은 관련성 및/또는 흥미도를 가진 정보가 사용자에게 보여질 수 있거나 혹은 효과적으로 액세스가능할 수 있는 기술적 효과를 갖는다. 컨텐츠 아이템의 관련성 혹은 흥미도는 타일 내에 디스플레이되고, 여기서 관련성은 모델 발생 엔진(207)에 의해 결정된 모델에 따라 결정되며, 흥미도는 스코어링 엔진(211)에 의해 결정된다. 유사하게, 도 3j는 도 3a 내지 도 3h에서 설명된 구성으로 타일들을 위치시키기 위한 동적 그리드의 2개의 컬럼들의 폭을 가지며, 이 그리드 내에서 타일들은 이러한 2개의 컬럼들의 위쪽으로부터 아래쪽으로 사용자에 대한 관련성 혹은 흥미도의 순서에 따라 다시 순서대로 정렬된다. 일부 구현예들에서, 타일들의 제시는 사용자에 대한 제시를 위해 최적화된다. 예를 들어, 타일들은 적어도 부분적으로 2 x 2 가시 영역 내에서 빈 공간(blank spaces)이 없음을 보장하도록 순서대로 정렬될 수 있다. 또 하나의 다른 예에서, 타일 크기는 적어도 부분적으로 2 x 2 가시 영역 내에서 빈 공간이 없음을 보장하도록 선택될 수 있다. 일부 구현예들에서, 소정의 컨텐츠 스트림에 대해 열(10) 개나 되는 다수의 후속 사용자 인터페이스들이 계산되고 순서대로 정렬된다.
도 4는 타이틀(400)을 위한 컴포넌트들의 예의 블록 다이어그램이다. 사용자 인터페이스 모듈(230)에 의해 발생된 상기 사용자 인터페이스는 또 다른 측면에서 동적일 수 있다. 상기 사용자 인터페이스 모듈(230)은 타이틀(400)을 위한 하나 이상의 상기 컴포넌트들에 기초하여 타이틀들을 발생시킨다. 아래에서 서술되는 많은 컴포넌트들은 선택적이고, 예를 들어, 대응하는 컨텐츠가 이용가능하지 않을 때 모든 타이틀에 포함되지 않을 수 있다.
도 4a를 지금 참조하면, 타이틀(400)의 기본 컴포넌트들은, 이유 바(reason bar)(402), 작성자 영역(author area)(404), 재-공유 영역(re-share area)(406), 미디어 영역(408), 소셜 바(social bar)(410) 및 코멘트 영역(412)을 포함한다. 상기 이유 바(402)는 상기 타이틀(400)의 상단에 표시되고, 이러한 컨텐츠 아이템이 상기 사용자에 디스플레이되고 있는 이유, 왜 상기 컨텐츠 아이템이 사용자의 스트림 또는 다른 속성 정보에 있는지에 대한 정보를 제공한다. 상기 작성자 영역(404)은 상기 이유 바(402) 아래에 위치되고, 상기 작성자에 대한 텍스트 정보, 예를 들어, 이름, 핸들 등을 제공한다. 상기 작성자 영역(404)은 또한 상기 작성자에 의해 사용된 사진 또는 이미지를 포함할 수 있다. 상기 작성자 영역(404)은 또한 상기 작성자에 의해 입력된 텍스트를 디스플레이하도록 사용될 수 있다. 상기 재-공유 영역(406)은 상기 작성자 영역(404) 아래에 표시되고, 툴(tool)들 또는 버튼들을 포함하며, 상기 툴들 또는 버튼들은 상기 컨텐츠 아이템을 공유하고, 상기 컨텐츠 아이템에 대해 코멘트하거나, 또는 상기 컨텐츠 아이템에 관련된 다른 액션을 취하기 위해, 리더(reader)에 의해 사용될 수 있다. 상기 재-공유 영역(406)의 아래는 미디어 영역(408)이다. 상기 미디어 영역(408)은 미디어 또는 미디어의 표현들을 디스플레이하도록 사용된다. 예를 들어, 사진들, 이모지(emoji)들, 다수 당사자 통신 세션과 링크되는 또는 링크되지 않는 상기 다수 당사자 통신 세션(예를 들어, 다수 당사자 비디오 채트), 이미지들의 썸네일(thumbnail)들, 선택가능한 비디오들의 표현들, 선택가능한 오디오의 표현들이 상기 미디어 영역(408)에 디스플레이될 수 있다. 일부 구현들에서, 상기 미디어 및 미디어 속성들은 상기 타이틀의 크기를 지정할 수 있음을 알아야 한다. 예를 들어, 상기 이미지가 파노라마 이미지일 때, 중간-크기의 타이틀은 작은-크기의 타이틀 대신에 사용될 수 있다. 소셜 바(410)는 미디어 영역(408) 아래에 제공된다. 상기 소셜 바(410)는, 이서(endorsement)들의 수 또는 코멘트들의 수의 표시들, 상기 코멘트들에 관련된 변환으로의 이행을 위한 버튼들, 코멘트의 작성자의 식별, 상기 코멘트의 요약 등을 포함할 수 있다. 일부 구현들에서, 상기 소셜 바(410)의 정보는, 동적이고 실시간 업데이트된다. 예를 들어, 컨텐츠 아이템들의 사용자 스트림에 소개된 새로운 코멘트들 또는 작성자들은, 다수의 소셜 친밀성 인자들에 기초하여 상기 소셜 바(410)로부터 부가될 수 있거나 제거될 수 있다. 상기 소셜 바(410)에 의해 제공된 정보는 도 8a 또는 도 8b를 참조하여 아래에서 더 상세하게 서술된다. 상기 소셜 바(410) 아래는 코멘트 영역(412)이다. 상기 코멘트 영역(412)은 상기 작성자들에 대한 추가적인 정보와 함께 상기 코멘트들의 전체 텍스트를 제공하며, 상기 소셜 바(410)와 서로 다른 포맷으로 순서화된다. 예를 들어, 상기 코멘트 영역(412)은 상기 상단에서 표시된 가장 최근의 코멘트들과 역순인 연대기 순서로 상기 코멘트들을 제공할 수 있다. 도 4a에서 도시되지 않았지만, 상기 타이틀(400)은 또한 상기 타이틀 내의 광고들을 포함하는 광고 영역을 포함할 수 있다. 상기 타이틀(400)에 포함된 여러 바들 및 영역들의 서술된 순서 및 위치는 단지, 일 구현, 및 서로 다른 위치 및 순서의 존재를 사용하는 다른 구현들이다.
일부 구현들에서, 타이틀(400)은 추가의 또는 서로 다른 컴포넌트들을 포함할 수 있다. 예를 들어, 일부 구현들에서, 타이틀(400) 컴포넌트들은 내비게이션 바 및 다른 버튼들(도시되지 않음)을 갖는 타이틀 바를 포함한다. 일부 구현들에서, 상기 타이틀은 인터페이스의 상부에 고정된다. 일부 구현들에서, 타이틀(400)은, 예를 들어, 타이틀 바 아래에 위치되어, 현재의 또는 유명한 정보에 대한 아이콘들을 포함하는 사전배치된 바(preposition bar)(도시되지 않음)를 포함한다. 일부 구현들에서, 상기 사전배치된 바는 또한 커뮤니티 정보/포스트들 또는 위치 정보를 디스플레이하기 위해 사용된다. 타이틀(400)은 위치 영역(도시되지 않음)을 포함한다. 예를 들어, 사용자가, 미디어가 공유되거나 발생되는 위치를 공유할 때, 이러한 정보는 상기 위치 영역에 제공될 수 있다. 추가적인 정보, 예를 들어, 상기 위치에 대한 맵핑 프로그램들로의 링크들은 또한 상기 위치 영역에 제공될 수 있다. 일부 구현들에서, 타이틀(400)은, 미디어 영역(408)과 별개인 사진 액티비티 영역(도시되지 않음)을 포함한다. 도시되지 않았지만, 타이틀(400) 컴포넌트들은 또한, 상기 컨텐츠가 재공유되거나, 코멘트되거나 배서될 때, 상기 타이틀(400)에 부가될 수 있는 다른 액션 팔레트들, 예를 들어, 키보드들 또는 이모티콘들을 포함할 수 있다.
도 5는, 태블릿 디바이스에 대한 컨텐츠를 갖는 타이틀들(502, 504, 506)을 포함하는 예시적인 사용자 인터페이스(500)의 그래픽 표현이다. 도 5에 도시된 것처럼, 상기 사용자 인터페이스(500)는 3개의 타이틀들(502, 504, 506)을 포함한다. 상기 타이틀들(502, 504, 506)의 레이아웃은 도 3d를 참조하여 상기에서 서술된 것과 유사하다. 하지만, 도 5는 타이틀들(502, 504, 506)의 다른 변형을 도시하고, 이들은 여전히 직사각형이지만, 도 3a 내지 도 3h에서 제시된 것처럼 미리정의된 비율들을 정확하게 갖지 않는다. 이러한 구현에서, 상기 타이틀 크기는 더 변형될 수 있다. 예를 들어, 제1 타이틀(502)은 상기 사용자 인터페이스(500)의 1/4 보다 조금 더 크고, 제2 타이틀(504)은 제1 타이틀(502)과 동일한 폭을 갖지만, 제2 타이틀(504)의 작은 부분은 인터페이스(500)에서 볼 수 있다. 마찬가지로, 제3 타이틀(506)은 사용자 인터페이스(500)의 절반보다 더 많이 차지한다. 상기에서 언급한 것처럼, 일부 구현들에서, 사용자 인터페이스 모듈(230)은 상기 타이틀들(502, 504 및 506)의 컨텐츠에 따라 상기 타이틀들(502, 504, 506)의 크기를 정할 수 있다. 이러한 예에서, 상기 타이틀들(502, 504, 506)은 각 타이틀(502, 504 및 506) 내에 포함된 미디어의 속성들에 따라 크기가 정해진다. 제1 타이틀(502)은 작은 타이틀에 표시된 픽처를 갖는다. 제2 타이틀(504)은 더 작은 타이틀에 또한 표시된 비디오에 대한 선택가능한 링크를 갖는다. 제3 타이틀(506)은 중간에서 큰 타이틀에 표시된 사진을 포함한다. 상기 타이틀에 포함된 미디어의 타입의 기초하여 상기 타이틀을 크기를 정하고 순서를 정하는 것은 단지 하나의 구현이다.
상기 타이틀들의 순서 및 상기 타이틀들의 크기는 하기의 것들을 포함하는 여러 인자들에 기초하여 조정될 수 있고, 하기의 것으로는 이미지 해상도, 이미지 방향, 앨범 해상도, 텍스트의 양, 소셜 데이터(예를 들어, 상기 컨텐츠의 흥미도, 사용자가 작성자를 추종하는지 여부, 사용자와 상기 작성자의 소셜 그래프에 대한 근접성, 사용자와 코멘터의 소셜 그래프와의 근접성, 컨텐츠와 사용자의 위치와의 근접성, 다양성, 이서들의 수, 재-공유들의 수, 코멘트들의 수, 작성자와의 친밀도, 시스템에 의한 권유 및 다양한 다른 소셜 신호들), 및 이것들의 임의의 조합이 있다. 예를 들어, 타이틀 내에 포함된 사진의 이미지 해상도가 낮을 때, 그러한 컨텐츠 아이템은 작은 타이틀에 할당될 수 있다. 반대로, 상기 사진의 이미지 해상도가 높을 때, 상기 컨텐츠 아이템은 큰 타이틀에 할당될 수 있다. 유사하게, 컨텐츠 아이템이 좁은 폭 치수들(얇은)을 갖을 때, 3개의 얇은 사진들은 작은 크기의 타이틀만을 요구할 수 있지만, 상기 컨텐츠 아이템은 보통의 랜드스케이프 방향, 중간 크기의 타이틀을 갖는 3개의 사진들을 포함할 때, 예를 들어, 도 3b의 타이틀 C(306)는 그리드 상의 타이틀에 상기 컨텐츠 아이템을 제공하도록 사용될 수 있다.
유리한 타이틀(502, 504, 506)의 다른 피처들은, 상기 타이틀(502, 504, 506)이 예를 들어 도 5에서 도시된 것처럼 그리드 상에 디스플레이될 때, 상기 타이틀(502, 504, 506)에 의해 제공된 기능 중 일부가 액세스 가능하다는 것이다. 예를 들어, 이러한 기능에 액세스하도록 상기 타이틀(502, 504, 506)은 더 상세한 인터페이스, 예를 들어, 도 6a 내지 도 6c로 이행될 필요가 없다. 예를 들어, 타이틀(506)이 도 5에서 도시된 것처럼 상기 인터페이스 그리드 레벨을 사용하여, 사진 앨범 중 하나의 사진을 도시한다고 가정할 때, 상기 사용자는, 타이틀(506) 내의 사진 앨범 내의 다음 사진을 보기 위해 상기 타이틀(506)을 업데이트하도록 타이틀(506)의 사진상에서 단지 좌측 또는 우측으로 스와이프할(좌측 또는 우측으로 스크롤할) 필요가 있다. 근본적으로, 이것은 동적 그리드의 스트림 뷰에서 사용자로 하여금 사진 앨범으로부터 한 무리의 사진들을 보도록 한다. 유사하게, 이러한 기능으로의 액세스는 도 5의 동적 그리드 뷰에서 사용자가 볼 수 있는 임의의 액션 버튼들로 확장될 수 있다. 액션 버튼들의 예들은, 이서 버튼(endorsement buttons), 공유 버튼들, 코멘트들 등을 포함하지만, 이에 한정되지 않는다. 유사하게, 상기 타이틀 상에서의 좌측 또는 우측으로의 스와이핑(좌측 또는 우측으로의 스크롤)은 상기 타이틀 위 또는 아래에서 컨텐츠를 액세스하기 위해 사용될 수 있다. 일부 구현들에서, 스크롤링 또는 제스처들(예를 들어, 스와이핑)는 상기 타이틀의 컨텐츠를 확장하거나 접촉하도록 타이틀 내에서 사용될 수 있다.
이제 도 6a 내지 6c를 참조하면, 인터페이스들(500, 600, 620 및 640) 사이의 전환들이 서술된다. 사용자 인터페이스(500)가 디스플레이될 때, 상기 사용자는, 예를 들어, 선택 명령어를 입력함으로써 또는 상기 타이틀(502, 504, 506) 상에 탭핑(tapping)함으로써 타이틀(502, 504, 506)을 선택할 수 있고, 상기 사용자 인터페이스는 도 5에 도시된 인터페이스(500)로부터 도 6a 내지 6c에 도시된 대응하는 인터페이스(600, 620 및 640)로 전환한다.
더 구체적으로, 일부 구현들에서, 제1 타이틀(502)이 선택될 때, 상기 디스플레이는 도 6a에서 도시된 것처럼, 상기 사용자 인터페이스(500)로부터 사용자 인터페이스(600)로 전환한다. 사용자 인터페이스(600)는 컨텐츠 아이템과 관련된 전체 텍스트를 갖는 타이틀(602)의 확장된 버전을 갖는다. 추가적으로, 상기 사용자 인터페이스는, 상기 사용자가 전환한 사용자 인터페이스(500)의 음영으로된 버전 상에 겹쳐진 타이틀(602)을 유리하게 표시한다. 이는 특히 유리한데, 음영으로된 방식으로 디스플레이된 아이템의 콘텍스트를 갖는 동안 사용자로 하여금 상기 컨텐츠 아이템에 관한 더 상세한 정보를 리뷰하도록 하기 때문이다. 2개의 타이틀들(502, 602)의 비교는, 상기 컨텐츠 아이템으로부터의 훨씬 더 많은 텍스트가 도시되는 방법을 나타낸다. 이것은 단지 더 상세한 정보를 포함하는 타이틀 및 제공될 상기 더 상세한 정보의 일 예임을 알 수 있다. 다른 예는, 사진 또는 상기 컨텐츠 아이템 또는 타이틀에 관련된 임의의 다른 컴포넌트가 확장된 포맷으로 도시될 수 있는 것이다.
제3 타이틀(506)이 선택될 때, 사용자 인터페이스(500)로부터 사용자 인터페이스(620)로의 디스플레이 전환들은 도 6b에 도시된다. 도 5의 사용자 인터페이스(500)와 도 6b의 사용자 인터페이스 사이의 전환은, 인터페이스들 사이에서 전환하는 다른 구현을 도시한다. 이러한 구현에서, 상기 미디어 영역(예를 들어, 사진) 타이틀은 전체 스크린에서 도시되도록 확장되고, 상기 작성자 영역(404), 재-공유 영역(406), 소셜 바(410) 및 코멘트 영역(412)은 미디어 영역(408) 상에서 겹친다. 이러한 구현은 특히 유리한바, 이는 상기 컨텐츠 아이템과 관련된 모든 정보가 단일 사용자 인터페이스에서, 심지어, 작은 크기를 갖는 디스플레이들 상에서도 표시되도록 하기 때문이다. 상기 타이틀의 다른 컴포넌트들(404, 406, 410 및 412)의 부분은 바닥의 좌측 모서리에서 미디어 영역(408) 위에 겹쳐진다. 이는 상기 미디어 영역의 뷰를 최소한으로 방해하는 이점을 갖는다. 이러한 겹침이 인터페이스(620) 내의 여러 다른 위치들에서 발생할 수 있음을 알 수 있다.
일부 구현예들에서, 제3의 타일(506)이 선택되면, 사용자 인터페이스(500)로부터 사용자 인터페이스(640)로 디스플레이 전환들이 도 6c에 도시된다. 도 5의 사용자 인터페이스(500)와 도 6c의 사용자 인터페이스(640)와의 사이에 상기 전환은 인터페이스들 사이에 전환하기 위한 다른 구현예를 보여준다. 이 구현예에서, 그리드에 이미지들과 제시된 사진 앨범은 전체 화면을 커버하기 위해 확장된 미디어 영역(408)(예를 들면, 사진)에 오버레이된다. 도 6c에 도시된 새로운 타일은 사용자로 하여금 사진 앨범으로 전환하게 하고 사진들의 수를 표시하는 버튼, 관련된 텍스트 및 사진 앨범으로부터 사진들의 제1의 n 썸네일 이미지들의 그리드를 포함한다. 도 6a, 6b 및 6c는 도 5의 컨텐츠 아이템으로부터 추가적인 세부사항들이 주 인터페이스(500)을 통해 엑세스되는 부차적인 인터페이스에서 어떻게 제시되는지의 단지 3개의 예시들이라는 것이 이해되어야 한다.
이제 도 7a 내지 7c를 참조하면, 모바일 디바이스를 위한 예시적 사용자 인터페이스들의 그래픽 표현들이 기술된다. 도 7a는 타일 컴포넌트들이 모바일 디바이스를 위한 단일의 타일과 같이 감소된 방식으로 어떻게 제시되는지 도시한다. 도 7b는 사진 앨범이 모바일 디바이스를 위한 타일로 어떻게 제시되는지 도시한다. 도 7c는 타일에서 공유 또는 커멘트를 포함하기 위한 부차적인 인터페이스가 어떻게 제시되는지의 구현예를 도시한다. 타일의 컴포넌트들은 감소된 사이즈, 감소하는 컨텐츠일 수 있고 또는 모바일 디바이스에서의 제시로부터 완전히 제거될 수 있다는 것이 이해되어야 한다. 유사하게, 또한 버튼들 또는 타일에 의해 제공된 기능은 모바일 디바이스에서 사용 가능한 기능에 맞추기 위해 줄어들거나 제거될 수 있다.
도 8a 및 8b는 예시적 소셜 바(social bar)(410)의 그래픽 표현들이다. 도 8a는 상기 소셜 바(410)에 대한 구현예를 보여준다. 이 구현예에서, 소셜 바(410)은 지지 버튼(802), 확장 버튼(804), 코멘터들의 리스트(806), 코멘트들의 수의 표시(808), 코멘트들 박스(810) 및 코멘트 박스(810)에 코멘드들을 한 코멘터를 식별하는 표시기(812)를 포함한다. 일부 구현예들에서, 지지 버튼(802)는 인터페이스가 사용자가 타일에 제시된 컨텐츠를 지지하도록 하는 다른 인터페이스로 전환하게 한다. 확장 버튼(804)는 인터페이스(예를 들면, 인터페이스(600))를 컨텐츠 아이템에 대해 더 많은 정보가 개별적 확장된 타일에 디스플레이된 다른 인터페이스(예를 들면, 인터페이스(620))로 전환한다. 코멘터들의 리스트(806)는 타일에 컨텐츠 아이템에 대해 코멘드들을 포스팅한 사용자들의 리스트이다. 일부 구현예들에서, 코멘터들의 이미지들이 보여진다. 예를 들면, 도 8a는 4명의 코멘터들과 그들의 이미지들을 보여준다. 일부 구현예들에서, (806)에 이미지들 대신 이름들 또는 핸들들이 제시된다. 일부 구현예들에서, 사용자와 가장 관련된 코멘터들은 코멘터들의 리스트(806)에 추가된다. 일부 구현예들에서, 코멘터들의 리스트(806)에 추가된 코멘터들은 코멘터가 인기 있거나 자주 지지되는지 등이 만족되고 코멘터들의 리스트(806)에 추가되는 관련성 예를 들면, 사용자에 대한 친밀도, 시간상 가까움, 상기 코멘터가 지지되었는지 또는 사용자에 의해 팔로우되었는지 중 하나 이상에 관련된 한계치에 의해 결정된다. 일부 구현예들에서, 코멘터들의 리스트(806)은 새로운 코멘트들이 사용자 스트림에 추가됨에 따라 실시간으로 동적으로 업데이트된다. 새로운 코멘드들이 수신됨에 따라 한계치를 만족하고 리스트(806)에 포함된 코멘터들을 변경할 수 있고, 따라서 리스트(806)에 코멘터들은 동적이라는 것이 이해되어야 한다. 코멘트들 표시기의 수(808)는 사용자에게 타일에 컨텐츠 아이템에 대해 얼마나 많은 코멘트들이 포스팅되었는지 알려준다. 코멘트 박스(810)은 코멘트 또는 코멘트의 부분을 제공한다. 일부 구현예들에서, 코멘트 박스(810)에서 사용자에 대한 제시를 위해 제공된 코멘트는 미리 결정된 간격들에서 변경된다. 예를 들면, 서로 다른 사용자들로부터의 코멘트들은 토멘트 박스(810)을 통하여 티커 테이프(ticker tape)처럼 전환될 수 있다. 다른 예시와 같이, 코멘트들은 시간의 미리 결정된 간격들에서(예를 들면 매 15초마다) 변경될 수 있다. 표시기(812)는 코멘트에 대응하는 사용자를 표시하기 위해 사용된다. 예를 들면 도 8a에서, 코멘트 박스(810) 내의 코멘트는 제1 사용자에 대응하고 표시기(812)는 제1 사용자가 코멘트의 출처라는 것을 표시하기 위해 제1 사용자의 이미지 아래에 위치된다. 그에 비해, 도 8b에서, 코멘트 박스 내의 코멘트는 제1 사용자의 오른쪽 사용자인 제2 사용자에 대응하며, 표시기(812)는 제2 사용자가 코멘트의 출처라는 것을 식별하기 위해 제2 사용자의 이미지 아래에 위치된다. 일부 구현예들에서, 코멘트 박스(810)는 코멘터들의 리스트(806)에서 도시된 사용자들 각각을 통해 업데이트되고 순환하며, 코멘트들이 변경됨에 따라 표시기(812)는 코멘트의 출처인 사용자 아래에 위치되도록 움직인다. 표시기(812)는 단지 표시기의 예시이고 다른 표시기들이 존재한다는 것이 인식되어야 한다.
이제 도 9를 참조하면, 하나 이상의 타일들을 가지는 동적 그리드를 포함하는 사용자 인터페이스를 생성하기 위한 예시적 방법(900)이 기술된다. 상기 방법(900)은 하나 이상의 컨텐츠 아이템들을 포함하는 컨텐츠의 스트림을 수신하기(902)에 의해 시작한다. 예를 들면, 컨텐츠의 스트림은 컨텐츠 어플리케이션(103)으로부터 사용자 인터페이스 모듈(230)에 의해 수신된다. 사용자 인터페이스 모듈(230)은 컨텐츠의 스트림으로부터 컨텐츠 아이엠을 선택한다. 그 후 사용자 인터페이스 모듈(230)은 상기 컨텐츠 아이템의 속성이 기초하여 상기 컨텐츠 아이템을 제공하기 위한 타일 유형을 결정한다(904). 예를 들면, 컨텐츠 아이템의 속성은 미디어 및 그것의 속성, 이미지 해상도 또는 도 5를 참조하여 상기에 기술된 임의의 요소들일 수 있다. 다음, 상기 방법(900)은 타일 컴포넌트들을 덧붙이기(populate) 위해 컨텐츠 아이템을 사용한다(906). 그 후 상기 방법은 컨텐츠 파일들의 속성들을 사용하여 동적 그리드에서 컨텐츠 타일들을 편성한다. 상기 컨텐츠 타일들은 컨텐츠 파일들의 속성들을 사용하여 동적 그리드에서 정렬된다(908). 예를 들면, 타일들은 두 가지 규칙들에 따라 정렬될 수 있다: 제1은, 사용자에게 제공되는 동적 그리드(예를 들면, 2 x 2 그리드)에서 확실히 빈 공간이 없도록 할 것, 제2는 더 관련된 컨텐츠가 그리드의 상부에 제시되는 관련성의 순서로 제공할 것. 일부 구현예들에서, 상기 방법(900)은 타일들을 다양화하기(910)에 의해 계속된다. 타일들은 제시된 컨텐츠의 유형, 제시된 타일의 유형 도는 크기, 타일에 대한 컨텐츠의 출처 또는 다른 요소들에 기초하여 다양화될 수 있다. 상기 언급된 바와 같이, 일부 구현예들에서 10개의 인터페이스들까지 생성된다. 예를 들면, 일부 구현예들에서, 2 x 2 동적 그리드를 사용자가 볼 수 있다고 가정하면, 2 x 20의 그리드가 정렬되고 생성되며, 따라서 상기 2 x 20의 연속적인 부분들이 그리드의 연속적인 부분들로 전환하기 위한 입력에 대응하여 사용자에게 제공될 수 있으며, 상기 2 x 20 그리드의 부분은 한번에 디스플레이될 수 있도록 사이즈가 조정되고 정렬된 4개의 타일들을 포함하는 2 x 2 그리드일 수 있다. 상기 방법은 디스플레이하기 위한 타일들의 동적 그리드의 부분을 제공하기(912)에 의해 계속된다.
일부 구현예들에서, 타일은 미리 정의된 최대 크기를 가진다. 이런 일부 구혀녜들에서, 타일 컴포넌트를 컨텐츠 아이템으로부터의 컨텐츠와 덧붙이는 단계(906)는 컴포넌트들의 크기들의 합계가 타일에 대한 최대 크기 이하일 때까지 서로 다른 컴포넌트들의 크기를 감소하는 반복적인 프로세스를 포함한다. 예를 들면, 프로세스들은 먼저 텍스트의 크기를 감소시키고, 그 후 사진의 크기을 감소시키고, 그 후 타일에 제공된 기능성을 감소시키고 및 그후 타일 크기가 허용된 최대 크기 이하인지 평가한다. 그렇게 함으로써 타일이 덧붙여지며; 그렇지 않으면, 상기 방법은 컴포넌트들 각각을 다시 선택하고 그들의 크기가 전체 컴포넌트들의 총 크기가 허용된 최대 크기 이하일 때까지 감소될 수 없는지 결정한다. 추가적으로 또는 대안적으로, 만약 타일 크기가 감소되어야만 하는 경우 타일의 일부 컴포넌트들은 제거될 수 있다. 일부 구현예들에서, 추가적인 미디어가 없는 컨텐츠 아이템들 또는 작은 컨텐츠는 확장될 수 있다. 이런 예시에서, 텍스트의 폰트는 증가될 수 있고, 아이콘 크기는 증가될 수 있고 또는 다른 버튼들이 제한된 컨텐츠를 가지는 타일에 대한 여백의 양을 감소시키기 위해 추가될 수 있다.
도 10은 타일들의 동적 그리드로부터 타일에 대한 상세한 정보를 제공하는 사용자 인터페이스를 생성하기 위한 예시적 방법(1000)을 도시한다. 상기 방법(1000)은 동적 그리드에서 타일을 선택하는 입력을 수신하기(1002)에 의해 시작한다. 상기 방법(1000)은 입력과 관련된 컨텐츠 아이템 및 타일을 식별하며, 그 후 컨텐츠 아이템에 관련된 추가적 정보를 검색(retreive)한다(1004). 그 후 사용자 인터페이스 모듈(230)은 상세한 타일 인터페이스를 생성한다(1006). 상세한 타일 인터페이스는 단계(1004)에서 검색된 정보에 덧붙여진다. 그 후 상세한 타일 인터페이스는 사용자에게 디스플레이하기 위해 제공된다(1008). 사용자는 부차적인 인터페이스들을 조작하기 위해 추가적 명령들을 입력할 수 있다. 사용자 인터페이스 모듈(230)은 컨텐츠 아이템에 대하여 추가적 세부사항에 대한 요청을 수신한다(1010). 상세한 사용자 인터페이스는 추가적인 정보와 함께 업데이트되며(1012), 업데이트된 상세한 사용자 인터페이스는 사용자에게 디스플레이하기 위해 제공된다(1014). 이 방법의 예시는 도 6a 및 도 6b의 인터페이스들에서 도시된다. 이들 사용자 인터페이스들은 제공되고 디스플레이된 것 외의 추가적 텍스트를 검색하기 위해 입력을 수신할 수 있다. 이런 경우들에서, 사용자는 도 6a 및 6b에 도시된 사용자 인터페이스들에 현재 디스플레이된 텍스트 아래에 추가적 텍스트로 스크롤 할 수 있다. 이 추가적 텍스트는 검색되며, 상기 단계 (1012 및 1014)에서 기술된 바와 같이 상기 인터페이스는 업데이트되고 사용자에게 다시 제공된다.
일부 구현예들에서, 추가적 텍스트가 제공되고 사용자가 그 텍스트를 스크롤할 때, 상세한 사용자 인터페이스는 자동적으로 닫히고 사용자는 초기의 동적 그리드 타일 인터페이스로 돌아간다. 일부 구현예들에서 자동적으로 닫히는 부차적인 사용자 인터페이스 외에, 사용자가 텍스트의 끝에 도달하였을 때 상기 변환을 위해 버튼이 제공된다. 예를 들면, 사용자가 도 6a의 인터페이스(602)에서 텍스트의 끝으로 스크롤할 때, 인터페이스는 자동적으로 도 5의 인터페이스(500)으로 다시 변환될 수 있다. 부차적인 사용자 인터페이스들은 도 5의 인터페이스(500)으로 돌아가기 위한 다양한 서로 다른 메커니즘을 가진다는 것이 이해되어야 한다. 예를 들면, 다양한 구성들은 닫기 위해 잡아당기기, 다음 포스팅을 보기 위해 잡아당기기, 자동적으로 닫기 위해 끝을 지나 스크롤, 다음 포스팅을 검색하기 위해 잡아당기기 또는 닫기 위해 놓기를 포함한다.
도 11은 타일 또는 동적 그리드를 새로운 컨텐츠에 대해 실시간으로 업데이트하기 위한 예시적 방법(1100)을 도시한다. 상기 방법(1100)은 디스플레이하기 위한 타일 또는 동적 그리드 인터페이스를 제공하기(1102)에 의해 시작한다. 다음 사용자 인터페이스 모듈(230)은 디스플레이되고 있는 타일 또는 동적 그리드와 관련된 컨텐츠를 수신한다(1104). 사용자 인터페이스 모듈(230)은 수신되고 사용자에게 디스플레이하기 위한 업데이트된 타일 인터페이스를 제공하는(1108) 새로운 컨텐츠와 상기 인터페이스를 업데이트한다(1106).
이제, 도 12a 내지 12i를 참조하면, 커뮤니티들과 인터랙팅하기 위한 추가의 예시적인 사용자 인터페이스들이 도시된다. 다른 컨텐츠의 소스들이, 공공이거나 사설일 수 있지만, 특별한 주제에 관심 있고 상기 특별한 주제 또는 관심 있는 주제에 관한 정보를 교환하길 원하는 사용자들의 그룹들인 커뮤니티들을 포함한다. 교환되는 정보는 이들로만 한정되는 것은 아니지만, 포스트들, 블로그들, 코멘트들, 공유물(share)들, 사진들, 영화들, 오디오, 깊이 있는 대화(rich conversation)들, 다자간 통신 세션(multi-party communication session)들, 등 중 하나 이상을 포함할 수 있다. 주제들은 어떤 것에 관한 것이든 될 수 있고, 주제에 대한 커뮤니티들의 형성은 동적이며 적응적이다. 상기에 기술된 인터페이스들, 시스템들 및 방법들은 또한, 커뮤니티들에 적용될 수 있으며, 유사한 사용자 경험 및 인터랙션의 용이를 제공하기 위해 사용될 수 있다. 도 12a 내지 12i의 사용자 인터페이스들은 동적 그리드 편성(dynamic grid organization)을 갖도록 되어 있으며, 도 12a 내지 12i에 도시된 사용자 인터페이스들의 서로 다른 부분들을 제시하기 위해 타일(tile)들을 사용하며, 커뮤니티들에 특정한 기능들(예컨대, 커뮤니티를 생성하는 것, 커뮤니티에 참여하는 것 및 커뮤니티와 다양한 타입들의 미디어를 공유하는 것)을 갖는 수정된 타일들을 가질 수 있다.
상기 설명에서, 설명을 위하여, 다수의 특정 세부사항들이 설명된 기술의 완전한 이해를 제공하기 위해 나타내진다. 그러나, 이 기술은 이들 특정 세부사항들 없이도 실시될 수 있음이 분명할 것이다. 다른 예들에서, 구조들 및 디바이스들이 상기 기술을 모호하게 하는 것을 회피하기 위해 블록도 형태로 도시된다. 예를 들어, 본 기술은 사용자 인터페이스들 및 특별한 하드웨어를 참조하여 하기의 일부 구현들로 설명된다. 그러나, 본 기술은 데이터 및 커맨드들을 수신할 수 있는 컴퓨팅 디바이스의 어떤 타입 및 서비스들을 제공하는 어떤 디바이스들에든 적용된다.
더욱이, 본 기술은 주로 페르소나(persona)들에 근거하여 소셜 네트워크들의 사용자들과 관계된 연결들, 컨텐츠 및 어플리케이션들을 필터링하기 위해 소셜 네트워크들에 상기 페르소나들을 생성 및 제공하는 컨텍스트에서 상술되지만, 본 기술은 어떤 타입의 온라인 커뮤니티들에든 그리고 단순한 온라인 커뮤니티들을 넘어 다른 어플리케이션들에 적용될 수 있다. 특히, 페르소나들을 생성하고, 페르소나 타입들에 근거하여 소셜 네트워크들의 사용자들에 관계된 연결들, 컨텐츠 및 어플리케이션들을 필터링하기 위한 기술은 소셜 네트워크들 외의 다른 컨텍스트들에서 이용될 수 있다.
본 명세서에서 "일 구현 또는 예", "구현 또는 예" 또는 "일부 구현들 또는 예들"에 대한 참조는 단순히, 하나 이상의 구현들 또는 예들과 연계하여 기술되는 하나 이상의 특별한 특징들, 구조들 또는 특성들이, 기술되는 적어도 하나 이상의 구현들 또는 예들에 포함됨을 의미한다. 본 명세서의 다양한 곳에서 문구 "일 구현 또는 예에서"가 출현하는 것은 반드시 동일한 구현 또는 예를 나타내는 것이 아니다.
상기의 상세한 설명의 일부분들은 각각의 하나 이상의 컴퓨팅 디바이스들의 컴퓨터 메모리 내의 데이터 비트들 상에서 동작들의 알고리즘들 및 심볼 표시들의 관점으로 제시된다. 이 알고리즘적 설명들 및 표시들은 당업자들에게 이들의 작업의 요지(substance)를 가장 효과적으로 전달하기 위해 데이터 프로세싱 기술들에서 사용되는 수단들이다. 본 명세서에 나타내진 바와 같이 그리고 일반적으로 알고리즘은 바람직한 결과로 이어지는 단계들의 자가-일관적인(self-consistent) 시퀀스로 이해된다. 이 단계들은 물리적 양(quantity)들의 물리적 조작들을 요하는 단계들이다. 반드시 그러한 것은 아니지만, 일반적으로, 이들 양들은 저장, 전달, 결합, 비교 및 그렇지 않으면 조작될 수 있는 전기적 또는 자기적 신호들의 형태를 취한다. 주로 일반적인 용법을 이유로 이들 신호들을 비트들, 값들, 요소들, 심볼들, 문자들, 용어들, 수들 또는 기타 등등으로 나타내는 것이 때때로 편리한 것으로 입증되었다.
그러나, 이들 및 유사한 용어들 모두가 적절한 물리적 양들과 관계되는 것이며 단순히 이들 양들에 적용된 편리한 라벨들임이 이해되어야 한다. 달리 특별하게 나타내지지 않는 한, 다음의 논의로부터 분명한 바와 같이, 상세한 설명 전반에서 용어들 "프로세싱", "컴퓨팅", 계산", "결정" 또는 "디스플레이" 또는 기타 등등을 이용하는 논의들이 컴퓨터 시스템 또는 유사한 전자적 컴퓨팅 디바이스의 동작(action) 및 프로세스들을 나타내는 것이며, 상기 컴퓨터 시스템 또는 유사한 전자적 컴퓨팅 디바이스는 컴퓨터 시스템의 레지스터들 및 메모리들 내의 물리적(전자적) 양들로서 표시된 데이터를 상기 컴퓨터 시스템 메모리들 또는 레지스터들 또는 다른 이러한 정보 저장, 전송 또는 디스플레이 디바이스들 내의 물리적 양들로서 유사하게 표시되는 다른 데이터로 조작 및 변형함이 이해되어야 한다.
본 기술은 또한, 본 명세서에 기술된 동작들을 수행하는 장치에 관한 것이다. 이 장치는 요구되는 목적들을 위해 특별하게 구성될 수 있거나 또는 이는 컴퓨터에 저장된 컴퓨터 프로그램에 의해 선택적으로 활성화 또는 재구성되는 범용 컴퓨터를 포함할 수 있다. 이러한 컴퓨터 프로그램은 컴퓨터로 판독가능한 저장 매체, 예컨대 (이들로만 한정되는 것은 아니지만) 플로피 디스크들, 광학 디스크들, CD-ROM들, 자기 디스크들을 포함하는 어떤 타입의 디스크, ROM들, RAM들, EPROM들, EEPROM들, 자기 또는 광학 카드들, 비휘발성 메모리와 USB 키들을 포함하는 플래시 메모리들 또는 전자 명령어들을 저장하기에 적절한 매체의 어떤 타입에 저장될 수 있고, 이들 각각은 컴퓨터 시스템 버스에 결합될 수 있다.
이 기술은 전체적으로 하드웨어 구현, 전체적으로 소프트웨어 구현 또는 하드웨어와 소프트웨어 컴포넌트들을 모두 포함하는 구현의 형태를 취할 수 있다. 일부 구현들에서, 이 기술은 소프트웨어로 구현될 수 있는 바, 상기 소프트웨어는 이들로만 한정되는 것은 아니지만 펌웨어, 상주 소프트웨어, 마이크로코드, 등을 포함한다.
더욱이, 이 기술은, 컴퓨터 또는 어떤 명령어 실행 시스템에 의해 또는 이와 연계하여 사용하기 위한 프로그램 코드를 제공하는 컴퓨터로 사용가능한 또는 컴퓨터로 판독가능한 매체로부터 액세스가능한 컴퓨터 프로그램 물의 형태를 취할 수 있다. 이에 관한 설명을 위해, 컴퓨터로 이용가능한 또는 컴퓨터로 판독가능한 매체는 명령어 실행 시스템, 장치 또는 디바이스에 의해 또는 이와 연계하여 사용하기 위한 프로그램을 포함, 저장, 통신, 전파 또는 수송할 수 있는 어떤 장치일 수 있다.
프로그램 코드를 저장 및/또는 실행하기에 적절한 데이터 프로세싱 시스템이 메모리 요소들에 직접적으로 또는 시스템 버스를 통해 간접적으로 결합되는 적어도 하나의 프로세서를 포함한다. 메모리 요소들은 프로그램 코드의 실제 실행 동안 이용되는 로컬 메모리, 벌크 스토리지, 및 실행 동안 벌크 스토리지로부터 코드가 검색되어야 하는 횟수를 감소시키기 위해 적어도 일부 프로그램 코드의 일시적인 저장을 제공하는 캐시 메모리들을 포함할 수 있다.
(이들로만 한정되는 것은 아니지만 키보드들, 디스플레이들, 포인팅 디바이스들, 등을 포함하는) 입력/출력 즉 I/O 디바이스들이 시스템에 직접적으로 또는 중간 I/O 제어기들을 통해 결합될 수 있다.
네트워크 어댑터들을 포함하는 통신 유닛들이 또한 시스템들에 결합되어, 이들이 중간 사설 또는 공공 네트워크들을 통해 다른 데이터 프로세싱 시스템들, 원격 프린터들 또는 저장 디바이스들에 결합될 수 있게 한다. 모뎀들, 케이블 모뎀들 및 이더넷 카드들은 현재 이용가능한 타입의 네트워크 어댑터들의 단지 몇 가지 예들일 뿐이다.
본 출원에 제시된 알고리즘들 및 디스플레이들은 어떤 특별한 컴퓨터 또는 다른 장치에 선천적으로(inherently) 관계되지 않는다. 다양한 범용 시스템들이 본 명세서의 교시들에 따라 프로그램들과 함께 이용될 수 있거나 또는 요구되는 방법 단계들을 수행하기 위해 더욱 특수화된 장치들을 구성하기에 편리한 것으로 입증될 수 있다. 다양한 이들 시스템들에 대해 요구되는 구조는 상기 설명에서 기술된다. 추가적으로, 본 기술은 어떤 특별한 프로그래밍 언어를 참조하여 기술되지 않는다. 다양한 프로그래밍 언어들이 본 명세서에 설명된 기술을 구현하기 위해 사용될 수 있음이 이해되어야 한다.
본 기술의 구현들의 상기 설명은 예시 및 설명을 위해 제시되었다. 이는 완전한(exhaustive) 것으로 또는 본 기술을 개시된 정확한 형태로만 한정하는 것으로 의도된 것이 아니다. 상기 교시에 비추어 볼 때 많은 수정들 및 변형들이 가능하다. 본 기술의 범위는 이러한 상세한 설명에 의해 제한되는 것이 아니라, 본 출원의 특허청구범위에 의해 제한되는 것임이 의도된다. 본 기술 분야의 당업자들에 의해 이해되는 바와 같이, 본 기술은 본 기술의 사상 또는 필수적인 특성들로부터 벗어남이 없이 다른 특정한 형태들로 구현될 수 있다. 마찬가지로, 모듈들, 루틴들, 특징들, 속성들, 방법론들 및 다른 양상들의 특별한 명칭 및 분할은 강제적이거나 중대한 것이 아니며, 본 발명을 구현하는 메커니즘들 또는 이의 특징들은 다른 명칭들, 분할들 및/또는 포맷들을 가질 수 있다. 더욱이, 분명한 바와 같이, 본 기술의 모듈들, 루틴들, 특징들, 속성들, 방법론들 및 다른 양상들은 소프트웨어, 하드웨어, 펌웨어 또는 이들 세 가지의 어떤 조합으로 구현될 수 있다. 또한, 본 기술의 컴포넌트 - 이 컴포넌트의 일례는 모듈이다 - 가 소프트웨어로 구현되는 곳 어디에서든, 상기 컴포넌트는 단독 프로그램으로, 더 거대한 프로그램의 일부로, 복수의 개별 프로그램들로, 정적으로 또는 동적으로 링킹된 라이브러리로, 커널 로드가능 모듈로, 디바이스 드라이버로 그리고/또는 컴퓨터 프로그래밍 분야의 당업자들에게 현재 알려진 또는 미래에 알려질 모든 그리고 어떤 다른 방식으로 구현된다. 추가적으로, 본 기술은 어떤 방식으로든, 어떤 특정한 프로그래밍 언어로 이루어진 또는 어떤 특정한 운영 체제 또는 환경에 대한 구현에 제한되지 않는다. 따라서, 본 기술의 발명은 다음의 특허청구범위에 제시되는 본 발명의 범위를 제한하는 것이 아니라 예시하는 것으로 의도된다.

Claims (31)

  1. 시스템으로서,
    프로세서와;
    명령들을 저장하는 메모리를 포함하며, 상기 명령들은 실행될 때 상기 시스템이:
    제1 사용자에 대한 하나 이상의 컨텐츠 아이템들을 포함하는 컨텐츠의 스트림(stream)을 수신하고;
    제2 사용자와 연관된 컨텐츠 아이템을 선택하고 - 상기 컨텐츠 아이템은 사진을 포함함 -;
    상기 컨텐츠 아이템의 복수의 속성(attribute)들에 기초해서 동적 그리드에서 상기 컨텐츠 아이템을 제공하기 위한 컨텐츠 타일의 타일 크기를 결정하고 - 상기 복수의 속성들은, 상기 컨텐츠 아이템에 포함된 상기 사진의 이미지 해상도 및 상기 제1 사용자와 상기 제2 사용자 사이의 소셜 그래프(social graph) 내의 근접성을 포함함 -;
    상기 컨텐츠 아이템을 이용해서 상기 컨텐츠 타일의 타일 컴포넌트들을 채우고(populate) - 타일 컴포넌트들은 액티비티 영역(activity area) 및 상기 사진을 디스플레이하는 미디어 영역을 포함함 -;
    상기 제1 사용자로부터의 입력으로 상기 컨텐츠 아이템의 업데이팅을 위한 입력을 상기 제1 사용자가 제공할 수 있게 하고 - 상기 입력은 상기 동적 그리드 내에서 상기 컨텐츠 타일의 상기 액티비티 영역을 통해 제공됨 -;
    상기 컨텐츠 아이템들의 상기 복수의 속성들을 이용해서 상기 동적 그리드에서 컨텐츠 타일들을 편성(organize)하며;
    디스플레이를 위해 컨텐츠 타일들의 상기 동적 그리드를 제공하고;
    상기 동적 그리드에서의 상기 컨텐츠 타일의 선택을 수신하고;
    상기 동적 그리드에서의 상기 컨텐츠 타일의 상기 선택에 응답하여,
    상기 컨텐츠 아이템에 관한 추가적인 정보를 수신하고;
    상기 추가적인 정보로 부차적인 사용자 인터페이스 타일을 채우고(populate) - 상기 부차적인 사용자 인터페이스 타일은 상기 미디어 영역, 상기 액티비티 영역, 작성자 영역(author area) 및 소셜 바(social bar) 영역을 포함함 -;
    상기 미디어 영역에 겹쳐진 상기 추가적인 정보와 함께 상기 부차적인 사용자 인터페이스 타일을 디스플레이하게끔 하는, 시스템.
  2. 제1항에 있어서,
    상기 액티비티 영역은 재-공유 영역(re-share area)이고, 상기 부차적인 사용자 인터페이스 타일은 이유 바(reason bar) 및 코멘트 영역을 포함하는, 시스템.
  3. 제1항에 있어서,
    상기 부차적인 사용자 인터페이스 타일은 상기 동적 그리드 상에 디스플레이되는, 시스템.
  4. 제3항에 있어서,
    상기 메모리에 저장된 명령들을 포함하고, 상기 명령들은 실행될 때 상기 시스템이:
    제2 입력을 수신하고;
    디스플레이를 위해 상기 부차적인 사용자 인터페이스 타일을 제거하며;
    컨텐츠 타일들의 상기 동적 그리드의 상기 디스플레이를 복원하게끔 하는, 시스템.
  5. 제1항에 있어서,
    상기 소셜 바는 코멘트의 작성자를 식별하고 상기 코멘트의 부분을 디스플레이하는, 시스템.
  6. 제5항에 있어서,
    상기 소셜 바는 코멘트들을 포스팅(post)한 새로운 작성자들로 동적으로 업데이트되는, 시스템.
  7. 제5항에 있어서,
    상기 소셜 바는 코멘트 윈도우를 포함하고 코멘트들의 서로 다른 부분들은 상기 윈도우에 동적으로 디스플레이되는 시스템.
  8. 하나 이상의 프로세서들을 이용해서, 제1 사용자에 대한 하나 이상의 컨텐츠 아이템들을 포함하는 컨텐츠의 스트림을 수신하는 단계와;
    상기 하나 이상의 프로세서들을 이용해서, 제2 사용자와 연관된 컨텐츠 아이템을 선택하는 단계와 - 상기 컨텐츠 아이템은 사진을 포함함 -;
    상기 하나 이상의 프로세서들을 이용해서, 상기 컨텐츠 아이템의 복수의 속성들에 기초해서 상기 컨텐츠 아이템을 제공하기 위한 컨텐츠 타일의 타일 크기를 결정하는 단계와 - 상기 복수의 속성들은, 상기 컨텐츠 아이템에 포함된 상기 사진의 이미지 해상도 및 상기 제1 사용자와 상기 제2 사용자 사이의 소셜 그래프(social graph) 내의 근접성을 포함함 -;
    상기 하나 이상의 프로세서들을 이용해서, 상기 컨텐츠 타일의 타일 컴포넌트들을 상기 컨텐츠 아이템을 이용해서 채우는 단계와 - 상기 타일 컴포넌트들은 액티비티 영역(activity area) 및 상기 사진을 디스플레이하는 미디어 영역을 포함함 -;
    상기 하나 이상의 프로세서들을 이용해서, 상기 제1 사용자로부터의 입력으로 상기 컨텐츠 아이템의 업데이팅을 위한 입력을 상기 제1 사용자가 제공할 수 있게 하는 단계와 - 상기 입력은 동적 그리드 내에서 상기 컨텐츠 타일의 상기 액티비티 영역을 통해 제공됨 -;
    상기 하나 이상의 프로세서들을 이용해서, 상기 컨텐츠 아이템들의 상기 복수의 속성들을 이용해서 상기 동적 그리드에서 컨텐츠 타일들을 편성하는 단계와;
    상기 하나 이상의 프로세서들을 이용해서, 디스플레이를 위해 컨텐츠 타일들의 상기 동적 그리드를 제공하는 단계와;
    상기 하나 이상의 프로세서들을 이용해서, 상기 동적 그리드에서의 상기 컨텐츠 타일의 선택을 수신하는 단계와;
    상기 동적 그리드에서의 상기 컨텐츠 타일의 상기 선택을 수신하는 것에 응답하여,
    상기 컨텐츠 아이템에 관한 추가적인 정보를 수신하는 단계와;
    상기 추가적인 정보로 부차적인 사용자 인터페이스 타일을 채우는(populate) 단계와 - 상기 부차적인 사용자 인터페이스 타일은 상기 미디어 영역, 상기 액티비티 영역, 작성자 영역(author area) 및 소셜 바(social bar) 영역을 포함함 -;
    상기 미디어 영역에 겹쳐진 상기 추가적인 정보와 함께 상기 부차적인 사용자 인터페이스 타일을 디스플레이하는 단계
    를 포함하는 방법.
  9. 제8항에 있어서,
    상기 액티비티 영역은 재-공유 영역이고, 상기 부차적인 사용자 인터페이스 타일은 이유 바 및 코멘트 영역을 포함하는 방법.
  10. 제8항에 있어서,
    상기 부차적인 사용자 인터페이스 타일은 상기 동적 그리드 상에 디스플레이되는 방법.
  11. 제10항에 있어서,
    제2 입력을 수신하는 단계와;
    디스플레이를 위해 상기 부차적인 사용자 인터페이스 타일을 제거하는 단계와;
    컨텐츠 타일들의 상기 동적 그리드의 상기 디스플레이를 복원하는 단계
    를 포함하는 방법.
  12. 제8항에 있어서,
    상기 소셜 바는 코멘트의 작성자를 식별하고 상기 코멘트의 부분을 디스플레이하는 방법.
  13. 제12항에 있어서,
    상기 소셜 바는 코멘트들을 포스팅한 새로운 작성자들로 동적으로 업데이트되는 방법.
  14. 제12항에 있어서,
    상기 소셜 바는 코멘트 윈도우를 포함하고 코멘트의 서로 다른 부분들은 상기 윈도우에 동적으로 디스플레이되는 방법.
  15. 컴퓨터 판독 가능 프로그램을 포함하는 컴퓨터 판독가능 기록매체로서, 상기 컴퓨터 판독 가능 프로그램은 컴퓨터상에서 실행될 때 상기 컴퓨터가:
    제1 사용자에 대한 하나 이상의 컨텐츠 아이템들을 포함하는 컨텐츠의 스트림을 수신하고;
    제2 사용자와 연관된 컨텐츠 아이템을 선택하고 - 상기 컨텐츠 아이템은 사진을 포함함 -;
    상기 컨텐츠 아이템의 복수의 속성들에 기초해서 동적 그리드에서 상기 컨텐츠 아이템을 제공하기 위한 컨텐츠 타일 유형의 타일 크기를 결정하고 - 상기 복수의 속성들은, 상기 컨텐츠 아이템에 포함된 상기 사진의 이미지 해상도 및 상기 제1 사용자와 상기 제2 사용자 사이의 소셜 그래프(social graph) 내의 근접성을 포함함 -;
    상기 컨텐츠 아이템을 이용해서 상기 컨텐츠 타일의 타일 컴포넌트들을 채우고 - 타일 컴포넌트들은 액티비티 영역(activity area) 및 상기 사진을 디스플레이하는 미디어 영역을 포함함 -;
    상기 제1 사용자로부터의 입력으로 상기 컨텐츠 아이템의 업데이팅을 위한 입력을 상기 제1 사용자가 제공할 수 있게 하고 - 상기 입력은 상기 동적 그리드 내에서 상기 컨텐츠 타일의 상기 액티비티 영역을 통해 제공됨 -;
    상기 컨텐츠 아이템들의 상기 속성을 이용해서 동적 그리드에서 컨텐츠 타일들을 편성하며;
    디스플레이를 위해 컨텐츠 타일들의 상기 동적 그리드를 제공하고;
    상기 동적 그리드에서의 상기 컨텐츠 타일의 선택을 수신하고;
    상기 동적 그리드에서의 상기 컨텐츠 타일의 상기 선택에 응답하여,
    상기 컨텐츠 아이템에 관한 추가적인 정보를 수신하고;
    상기 추가적인 정보로 부차적인 사용자 인터페이스 타일을 채우고(populate) - 상기 부차적인 사용자 인터페이스 타일은 상기 미디어 영역, 상기 액티비티 영역, 작성자 영역(author area) 및 소셜 바(social bar) 영역을 포함함 -;
    상기 미디어 영역에 겹쳐진 상기 추가적인 정보와 함께 상기 부차적인 사용자 인터페이스 타일을 디스플레이하게끔 하는, 컴퓨터 판독가능 기록매체.
  16. 제15항에 있어서,
    상기 액티비티 영역은 재-공유 영역이고, 상기 부차적인 사용자 인터페이스 타일은 이유 바(reason bar) 및 코멘트 영역을 포함하는, 컴퓨터 판독가능 기록매체.
  17. 제15항에 있어서,
    상기 부차적인 사용자 인터페이스 타일은 상기 동적 그리드 상에 디스플레이되는, 컴퓨터 판독가능 기록매체.
  18. 제17항에 있어서,
    상기 컴퓨터 판독 가능 프로그램은 컴퓨터 상에서 실행될 때 상기 컴퓨터가:
    제2 입력을 수신하고;
    디스플레이를 위해 상기 부차적인 사용자 인터페이스 타일을 제거하며;
    컨텐츠 타일들의 상기 동적 그리드의 상기 디스플레이를 복원하게끔 하는, 컴퓨터 판독가능 기록매체.
  19. 제15항에 있어서,
    상기 소셜 바는 코멘트의 작성자를 식별하고 상기 코멘트의 부분을 디스플레이하는, 컴퓨터 판독가능 기록매체.
  20. 제19항에 있어서,
    상기 소셜 바는 코멘트들을 포스팅한 새로운 작성자들로 동적으로 업데이트되는, 컴퓨터 판독가능 기록매체.
  21. 제19항에 있어서,
    상기 소셜 바는 코멘트 윈도우를 포함하고 코멘트들의 서로 다른 부분들은 상기 윈도우에서 동적으로 디스플레이되는, 컴퓨터 판독가능 기록매체.
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
KR1020157018196A 2012-12-07 2013-12-06 컨텐츠의 스트림의 디스플레이 KR102091900B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201261734926P 2012-12-07 2012-12-07
US61/734,926 2012-12-07
US13/966,997 2013-08-14
US13/966,997 US9778819B2 (en) 2012-12-07 2013-08-14 Displaying a stream of content
PCT/US2013/073445 WO2014089376A2 (en) 2012-12-07 2013-12-06 Displaying a stream of content

Publications (2)

Publication Number Publication Date
KR20150092304A KR20150092304A (ko) 2015-08-12
KR102091900B1 true KR102091900B1 (ko) 2020-03-20

Family

ID=50882437

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157018196A KR102091900B1 (ko) 2012-12-07 2013-12-06 컨텐츠의 스트림의 디스플레이

Country Status (7)

Country Link
US (2) US9778819B2 (ko)
EP (1) EP2929419A4 (ko)
KR (1) KR102091900B1 (ko)
CN (1) CN104981762B (ko)
AU (1) AU2013355121B2 (ko)
CA (1) CA2894144C (ko)
WO (1) WO2014089376A2 (ko)

Families Citing this family (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI496068B (zh) * 2013-03-18 2015-08-11 Univ Nat Chiao Tung 訊息通知圖形介面之顯示方法、裝置以及電腦可讀取儲存裝置
US9298778B2 (en) 2013-05-14 2016-03-29 Google Inc. Presenting related content in a stream of content
US9367568B2 (en) * 2013-05-15 2016-06-14 Facebook, Inc. Aggregating tags in images
US20150234550A1 (en) * 2013-06-18 2015-08-20 Empire Technology Development Llc Display of data items
US20160139742A1 (en) * 2013-06-18 2016-05-19 Samsung Electronics Co., Ltd. Method for managing media contents and apparatus for the same
USD732066S1 (en) * 2013-08-09 2015-06-16 Microsoft Corporation Display screen with graphical user interface
USD778310S1 (en) 2013-08-09 2017-02-07 Microsoft Corporation Display screen with graphical user interface
USD732568S1 (en) * 2013-08-09 2015-06-23 Microsoft Corporation Display screen with graphical user interface
USD732064S1 (en) * 2013-08-09 2015-06-16 Microsoft Corporation Display screen with graphical user interface
USD739870S1 (en) * 2013-08-09 2015-09-29 Microsoft Corporation Display screen with graphical user interface
USD732065S1 (en) * 2013-08-09 2015-06-16 Microsoft Corporation Display screen with graphical user interface
USD738902S1 (en) * 2013-08-09 2015-09-15 Microsoft Corporation Display screen with graphical user interface
USD771111S1 (en) 2013-08-30 2016-11-08 Microsoft Corporation Display screen with graphical user interface
US10984444B2 (en) * 2013-09-24 2021-04-20 Dropbox, Inc. Systems and methods for generating intelligent account reconfiguration offers
USD756393S1 (en) * 2014-01-06 2016-05-17 Samsung Electronics Co., Ltd. Display screen or portion thereof with graphical user interface
US9804737B2 (en) 2014-01-27 2017-10-31 Groupon, Inc. Learning user interface
US10452749B2 (en) * 2014-03-26 2019-10-22 Microsoft Technology Licensing, Llc Predictable organic tile layout
US10448085B2 (en) * 2014-04-28 2019-10-15 Arris Enterprises Llc User interface with video frame tiles
JP6371577B2 (ja) * 2014-05-08 2018-08-08 古野電気株式会社 情報表示装置及び情報表示装置の表示レイアウト変更方法
US20150356877A1 (en) * 2014-06-06 2015-12-10 Catherine Ann Downey Visual organization architecture system
DE102014211342A1 (de) * 2014-06-13 2015-12-17 Volkswagen Aktiengesellschaft Anwenderschnittstelle und Verfahren zum Anpassen einer semantischen Skalierung einer Kachel
US20150373407A1 (en) * 2014-06-24 2015-12-24 Thomson Licensing User configurable custom channel creation and use
US9298741B1 (en) * 2014-06-26 2016-03-29 Amazon Technologies, Inc. Context-specific electronic media processing
USD823870S1 (en) * 2014-06-27 2018-07-24 Quotient Technology Inc. Computer display screen or portion thereof with animated graphical user interface
US9817627B2 (en) * 2014-08-04 2017-11-14 At&T Intellectual Property I, L.P. Method and apparatus for presentation of media content
GB201415917D0 (en) * 2014-09-09 2014-10-22 Piksel Inc Automated compliance management
US9495208B2 (en) * 2014-12-04 2016-11-15 Microsoft Technology Licensing, Llc Proactive presentation of multitask workflow components to increase user efficiency and interaction performance
US10558830B2 (en) 2015-02-18 2020-02-11 Pilldrill, Inc. System and method for activity monitoring
US9571738B2 (en) * 2015-06-23 2017-02-14 Toshiba Tec Kabushiki Kaisha Image processing apparatus
USD768705S1 (en) * 2015-07-28 2016-10-11 Microsoft Corporation Display screen with animated graphical user interface
USD766968S1 (en) * 2015-07-28 2016-09-20 Microsoft Corporation Display screen with animated graphical user interface
USD766969S1 (en) * 2015-07-28 2016-09-20 Microsoft Corporation Display screen with animated graphical user interface
US10521099B2 (en) * 2015-08-28 2019-12-31 Facebook, Inc. Systems and methods for providing interactivity for panoramic media content
US10521100B2 (en) 2015-08-28 2019-12-31 Facebook, Inc. Systems and methods for providing interactivity for panoramic media content
US10795936B2 (en) * 2015-11-06 2020-10-06 Facebook, Inc. Suppressing entity suggestions on online social networks
US10574775B2 (en) * 2015-12-10 2020-02-25 Facebook, Inc. Systems and methods to optimize news feed access
CN108476164B (zh) 2015-12-21 2021-10-08 谷歌有限责任公司 在消息传送应用中自动地提供机器人服务的方法
US11087409B1 (en) * 2016-01-29 2021-08-10 Ocrolus, LLC Systems and methods for generating accurate transaction data and manipulation
DK201670609A1 (en) * 2016-06-12 2018-01-02 Apple Inc User interfaces for retrieving contextually relevant media content
AU2017100670C4 (en) 2016-06-12 2019-11-21 Apple Inc. User interfaces for retrieving contextually relevant media content
US10652284B2 (en) * 2016-10-12 2020-05-12 Samsung Electronics Co., Ltd. Method and apparatus for session control support for field of view virtual reality streaming
US20180225727A1 (en) * 2017-02-03 2018-08-09 Jpmorgan Chase Bank, N.A. Systems and methods for graphical-based customer interaction
DE212017000058U1 (de) * 2017-02-06 2018-09-20 Google Llc Organisation von Inhalten auf Basis der Batterienutzung durch die Anzeige der Inhalte auf Geräten
US10469439B2 (en) * 2017-04-11 2019-11-05 Facebook, Inc. Interaction bar for real-time interactions with content on a social networking system
US10891485B2 (en) * 2017-05-16 2021-01-12 Google Llc Image archival based on image categories
CN107241492B (zh) * 2017-05-24 2019-09-20 努比亚技术有限公司 一种动态信息显示方法、设备及计算机可读存储介质
US20180341570A1 (en) * 2017-05-29 2018-11-29 EVA Automation, Inc. Repositioning HDMI Content Based on Content Changes
USD879131S1 (en) 2017-06-07 2020-03-24 Facebook, Inc. Display screen with a transitional graphical user interface
US11281354B1 (en) * 2017-06-12 2022-03-22 Amazon Technologies, Inc. Digital navigation menu of swipeable cards with dynamic content
WO2018234967A1 (en) * 2017-06-19 2018-12-27 Tensera Networks Ltd. SILENT CONTENT UPDATE IN USER DEVICES
USD845980S1 (en) 2017-06-29 2019-04-16 Google Llc Display screen or portion thereof with transitional graphical user interface
US10891526B2 (en) 2017-12-22 2021-01-12 Google Llc Functional image archiving
DK180171B1 (en) 2018-05-07 2020-07-14 Apple Inc USER INTERFACES FOR SHARING CONTEXTUALLY RELEVANT MEDIA CONTENT
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
CA199220S (en) * 2018-09-28 2021-02-18 Rockwool Int Display screen with graphical interface
JP7171406B2 (ja) 2018-12-12 2022-11-15 キヤノン株式会社 電子機器及びその制御方法
DK201970535A1 (en) 2019-05-06 2020-12-21 Apple Inc Media browsing user interface with intelligently selected representative media items
US11314402B2 (en) * 2019-06-01 2022-04-26 Apple lnc. Displaying assets in multiple zoom levels of a media library
US11372525B2 (en) * 2019-06-25 2022-06-28 Microsoft Technology Licensing, Llc Dynamically scalable summaries with adaptive graphical associations between people and content
CN111258434B (zh) * 2020-01-14 2023-07-28 上海米哈游天命科技有限公司 在聊天界面插入图片的方法、装置、设备及存储介质
US20230059021A1 (en) * 2021-08-23 2023-02-23 Jobby Inc. Portal and interface system and method
EP4348456A1 (en) * 2021-12-07 2024-04-10 Google LLC Immersive, multi-state uni-card

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120124498A1 (en) * 1999-10-29 2012-05-17 Ovid Santoro System and Method for Simultaneous Display of Multiple Information Sources
US20120210247A1 (en) * 2010-11-15 2012-08-16 Cisco Technology, Inc. Intelligent social collaboration unified media
US20120291068A1 (en) * 2011-05-09 2012-11-15 Verizon Patent And Licensing Inc. Home device control on television

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080178125A1 (en) 2007-01-23 2008-07-24 Microsoft Corporation Providing dynamic content in a user interface in an application
US20090271524A1 (en) 2008-04-25 2009-10-29 John Christopher Davi Associating User Comments to Events Presented in a Media Stream
US20110219307A1 (en) 2010-03-02 2011-09-08 Nokia Corporation Method and apparatus for providing media mixing based on user interactions
KR101137642B1 (ko) * 2010-06-14 2012-04-19 엘지전자 주식회사 코멘트 공유를 위한 사용자 인터페이스 제공 방법 및 이를 이용하는 이동 단말기
US9177346B2 (en) * 2010-07-01 2015-11-03 Facebook, Inc. Facilitating interaction among users of a social network
US9189818B2 (en) 2010-12-10 2015-11-17 Quib, Inc. Association of comments with screen locations during media content playback
US10489744B2 (en) 2010-12-22 2019-11-26 Oath Inc. System and method for social filtering of comments
US9679404B2 (en) 2010-12-23 2017-06-13 Microsoft Technology Licensing, Llc Techniques for dynamic layout of presentation tiles on a grid
US8898562B2 (en) 2011-03-04 2014-11-25 Dan Tocchini System and method for harmonious tiling search and publishing
US20130124539A1 (en) * 2011-09-13 2013-05-16 Airtime Media, Inc. Personal relevancy content resizing
US10133704B2 (en) * 2012-11-07 2018-11-20 Microsoft Technology Licensing, Llc Dynamic layout of content in a grid based application

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120124498A1 (en) * 1999-10-29 2012-05-17 Ovid Santoro System and Method for Simultaneous Display of Multiple Information Sources
US20120210247A1 (en) * 2010-11-15 2012-08-16 Cisco Technology, Inc. Intelligent social collaboration unified media
US20120291068A1 (en) * 2011-05-09 2012-11-15 Verizon Patent And Licensing Inc. Home device control on television

Also Published As

Publication number Publication date
AU2013355121A1 (en) 2014-06-12
WO2014089376A2 (en) 2014-06-12
KR20150092304A (ko) 2015-08-12
CA2894144A1 (en) 2014-06-12
US9778819B2 (en) 2017-10-03
AU2013355121B2 (en) 2018-11-22
CA2894144C (en) 2020-11-03
CN104981762A (zh) 2015-10-14
US20140164938A1 (en) 2014-06-12
WO2014089376A3 (en) 2014-08-28
US20170308249A1 (en) 2017-10-26
EP2929419A4 (en) 2016-11-09
CN104981762B (zh) 2018-12-11
EP2929419A2 (en) 2015-10-14

Similar Documents

Publication Publication Date Title
KR102091900B1 (ko) 컨텐츠의 스트림의 디스플레이
US10127287B1 (en) Presenting related content in a stream of content
KR102061383B1 (ko) 사이트 상의 사용자들에게 콘텐츠 추천 제공
US8910076B2 (en) Social media platform
JP6164808B2 (ja) 推奨用共有ボックス
KR102121991B1 (ko) 이미지 패닝 및 주밍 효과
US20120227077A1 (en) Systems and methods of user defined streams containing user-specified frames of multi-media content
US20230221837A1 (en) Coalescing Notifications Associated with Interactive Digital Content
WO2017165147A1 (en) User interfaces for personalized content recommendation
CN104956299A (zh) 基于用户的交互元素
US20170083599A1 (en) Incorporation of semantic attributes within social media
CN102317955A (zh) 基于图像的数据管理方法与系统
US10409463B2 (en) Forking digital content items between digital topical environments
US10417299B1 (en) Embedded streams user interface
US20150074599A1 (en) Mobile video channel-based gestural user interface
Mathew et al. Personal Assistant for Social Media

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