KR20130025868A - 액티브 이메일 - Google Patents
액티브 이메일 Download PDFInfo
- Publication number
- KR20130025868A KR20130025868A KR1020127023372A KR20127023372A KR20130025868A KR 20130025868 A KR20130025868 A KR 20130025868A KR 1020127023372 A KR1020127023372 A KR 1020127023372A KR 20127023372 A KR20127023372 A KR 20127023372A KR 20130025868 A KR20130025868 A KR 20130025868A
- Authority
- KR
- South Korea
- Prior art keywords
- micro
- user
- blog
- thread
- Prior art date
Links
- 238000000034 method Methods 0.000 claims abstract description 51
- 230000015654 memory Effects 0.000 claims description 41
- 230000004044 response Effects 0.000 claims description 29
- 230000003068 static effect Effects 0.000 claims description 22
- 238000001914 filtration Methods 0.000 claims description 2
- 230000000694 effects Effects 0.000 description 52
- 230000006855 networking Effects 0.000 description 32
- 238000004891 communication Methods 0.000 description 23
- 230000009471 action Effects 0.000 description 12
- 238000004590 computer program Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 8
- 230000002452 interceptive effect Effects 0.000 description 5
- 238000012552 review Methods 0.000 description 5
- 230000000007 visual effect Effects 0.000 description 5
- 239000008186 active pharmaceutical agent Substances 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000002596 correlated effect Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000007792 addition Methods 0.000 description 2
- 235000014510 cooky Nutrition 0.000 description 2
- 229920001690 polydopamine Polymers 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000002730 additional effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000000875 corresponding effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000000699 topical effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9577—Optimising the visualization of content, e.g. distillation of HTML documents
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/21—Monitoring or handling of messages
- H04L51/216—Handling conversation history, e.g. grouping of messages in sessions or threads
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/84—Mapping; Conversion
- G06F16/88—Mark-up to mark-up conversion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F16/972—Access to data in other repository systems, e.g. legacy data or dynamic Web page generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/107—Computer-aided management of electronic mailing [e-mailing]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/60—Business processes related to postal services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/06—Message adaptation to terminal or network requirements
- H04L51/066—Format adaptation, e.g. format conversion or compression
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/07—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
- H04L51/18—Commands or executable codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/52—User-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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1813—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
- H04L12/1831—Tracking arrangements for later retrieval, e.g. recording contents, participants activities or behavior, network status
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Resources & Organizations (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Tourism & Hospitality (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Primary Health Care (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Information Transfer Between Computers (AREA)
- Mathematical Physics (AREA)
Abstract
컴퓨터 구현 방법은 마이크로-블로그 스레드의 실시간 사본을 검색하기 위해 마이크로 블로그에 액세스하는 단계와, 이메일 메시지에 디스플레이하기 위해 상기 마이크로 블로그 스레드의 상기 실시간 사본을 배달하는 단계를 포함할 수 있다.
Description
본 명세서는 전반적으로 마이크로-블로그 포스팅(micro-blog posting)과 액티비티(activity)들을 사용자의 이메일(e-mail)에 통합하기 위한 시스템, 컴퓨터 프로그램 제품, 및 방법을 기술한다.
최근 몇년 동안, 마이크로-블로깅(micro-blogging)은 대중적 인기 속에 증가되어 왔다. 일반적으로, 마이크로-블로깅은 사용자가 비교적 짧은 메시지를 사용자와 관계된 사람들의 그룹에게 전파하는 것을 허용한다. 마이크로-블로깅 시스템에서, 사용자는 사용자와 관계하여 온 사람들의 그룹에 재전송(re-transmit)되는 제출(submission, 본 명세서에서는 '포스트(post)'로 불리움)을 생성한다. 사용자의 포스트에 기초하여, 다른 사용자들은 해당 포스트에 응답하여 일련의 포스트들(본 명세서에서는 '스레드(thread)'로 불리움)을 생성하는 추가적인 정보를 추가하거나 댓글(comment)를 달 수 있다.
본 발명은 마이크로-블로그 포스팅과 액티비티들을 사용자의 이메일에 통합할 수 있는 시스템, 컴퓨터 프로그램 제품, 및 방법을 제공하는 것을 목적으로 한다.
본 명세서는 마이크로-블로그 포스팅들과 액티비티들을 사용자의 이메일과 통합하는 기술을 설명한다. 이 기술들은 사용자가 사용자의 이메일 수신함에 직접 연계된 마이크로-블로그 스레드들(예컨대, 사용자의 포스트들에 달린 댓글들, 사용자가 구독하고 있는 포스트들, 사용자가 댓글을 달았던 스레드들에 달린 댓글들, 및/또는 답글(@replies))을 배달하는 것을 포함할 수 있다. 사용자의 이메일에 있는 마이크로-블로그 포스트는 정적(static) 이메일들이 아니고, 오히려, 그것들은 마이크로-블로깅 액션들이 사용자의 이메일로부터 수행될 수 있도록 하는 "라이브(live)" 오브젝트들이다. 마이크로-블로그와 관계된 이메일 메시지들은 이메일 메시지에서 마이크로-블로깅 기능을 제공하는 메시지에 임베디드된 다이나믹 오브젝트(embedded dynamic object)(예컨대, 런-타임(run-time)에 실행하는 코드의 일부)를 포함한다. 예를 들면, 사용자는 자신의 이메일에서 바로 포스트에 댓글을 달거나, 및/또는 포스트에 '좋아요'(like)를 달 수 있다. 이메일 메시지 내에서 수행되는 액션들은 자동으로 마이크로-블로그에 반영된다. 이메일이 정적이 아니기 때문에, 마이크로-블로그 상의 스레드에 대한 새로운 업데이트들은 사용자의 수신함에 실시간으로 반영된다.
하나의 실시예로서, 마이크로-블로그로부터의 콘텐츠를 사용자 이메일에 있는 이메일 메시지에 배달(delivery)하는 컴퓨터 구현 방법은 사용자로부터 마이크로-블로그에 있는 스레드와 관계된 이메일 메시지를 보이도록 하라는 리퀘스트를 수신하는 단계를 포함한다. 이 방법은 또한 마이크로-블로그 스레드의 실시간 사본을 검색하기 위해 마이크로-블로그를 액세스하는 단계와 사용자의 이메일 메시지 내에 디스플레이하기 위해 상기 마이크로-블로그 스레드의 실시간 사본을 배달하는 단계를 포함한다.
실시예들은 다음에서 하나 이상을 포함할 수 있다.
이메일 메시지는 마이크로-블로그에 있는 스레드와 관계된 임베디드된 다이나믹 오브젝트를 포함할 수 있다. 마이크로-블로그 액세스 단계는 상기 임베디드된 다이나믹 오브젝트에 기초하여 마이크로-블로그를 액세스하는 단계를 포함할 수 있다. 이 방법은 또한 마이크로-블로그에 있는 스레드에 대한 업데이트에 기초하여 실시간으로 상기 이메일 내에 랜더링된 마이크로-블로그 엔트리들을 업데이트하는 단계를 포함할 수 있다. 이 방법은 또한 사용자의 이메일 애플리케이션으로부터 수신된 사용자 입력에 기초하여 마이크로-블로그 스레드에 대한 엔트리들을 업데이트하는 단계를 포함할 수 있다. 상기 사용자의 이메일 애플리케이션으로부터 수신된 사용자 입력에 기초하여 상기 마이크로-블로그 스레드에 대한 엔트리들을 업데이트하는 단계는, 상기 이메일 메시지와 관계된 텍스트 엔트리 박스(text entry box)를 제공하는 단계, 이 텍스트 엔트리 박스로부터 사용자 입력을 수신하는 단계, 및 상기 수신된 사용자 입력에 응답하여, 상기 수신된 사용자 입력을 상기 마이크로-블로그에 포스팅(posting)하는 단계를 포함할 수 있다. 상기 사용자의 이메일 애플리케이션으로부터 수신된 사용자 입력에 기초하여 상기 마이크로-블로그 스레드에 대한 엔트리들을 업데이트하는 단계는, 사용자의 선택에 의해 '좋아요' 표시를 제공하도록 구성된, 상기 이메일 메시지에 링크를 제공하는 단계, 상기 사용자로부터 '좋아요' 표시를 수신하는 단계, 및 상기 '좋아요' 표시를 마이크로-블로그에 포스팅하는 단계를 포함할 수 있다. 이 방법은 또한, 사용자가 상기 이메일 메시지와 인라인(in-line)된 비디오를 볼 수 있게 하는 단계를 포함할 수 있다. 이 방법은 또한 상기 이메일 메시지와 인라인된, 상기 마이크로-블로그 엔트리와 관계된 이미지들을 디스플레이하는 단계를 포함할 수 있다. 이 방법은 또한, 이미지에 대한 사용자 선택에 응답하여, 상기 이미지의 확대된 크기 뷰(increased size view)로 디스플레이하는 단계를 포함할 수 있다. 이 방법은 또한, 엔트리들의 서브셋(subset)을 특정 사용자에게 이메일 메시지로 배달할 것인지를 판정하기 위해 마이크로-블로그 엔트리들을 필터링하는 단계를 포함할 수 있다. 이 방법은 또한, 상기 마이크로-블로그 스레드의 정적 사본(static copy)을 저장하는 단계를 포함할 수 있다. 이 방법은 또한, 사용자로부터 탐색 요청(search request)을 수신하는 단계와 상기 수신된 탐색 요청에 기초하여 마이크로-블로그 스레드들을 검색하는 단계를 포함할 수 있다.
일부 추가 양태들에서, 마이크로-블로그로부터의 콘텐츠를 사용자의 이메일에 있는 이메일 메시지에 배달하는 전자 시스템은 메모리와 프로세서를 포함할 수 있다. 상기 프로세서는 사용자로부터 마이크로-블로그에 있는 스레드와 관계된 이메일 메시지를 보이도록 하라는 요청을 수신하고, 상기 요청에 대한 응답하여, 상기 마이크로-블로그 스레드의 실시간 사본을 검색하기 위해 상기 마이크로-블로그에 액세스하고, 상기 사용자의 이메일 메시지에 디스플레이를 위해, 상기 마이크로-블로그 스레드의 상기 실시간 사본을 배달하도록 구성될 수 있다.
구현예들은 다음에서 하나 이상을 포함할 수 있다.
상기 이메일 메시지는 상기 마이크로-블로그에 있는 스레드와 관계된 임베디드된 다이나믹 오브젝트를 포함하고, 상기 프로세서는 상기 임베디드된 다이나믹 오브젝트에 기초하여 상기 마이크로-블로그에 액세스하도록 구성될 수 있다. 상기 프로세서는 상기 마이크로-블로그에 있는 스레드에 대한 업데이트에 기초하여 상기 이메일에 랜더링된 마이크로-블로그 엔트리들을 실시간으로 업데이트하도록 구성될 수 있다. 상기 프로세서는 상기 프로세서는 상기 이메일 메시지와 관계된 텍스트 엔트리 박스를 제공하고, 상기 텍스트 엔트리 박스로부터 사용자 입력을 수신하고, 상기 수신된 사용자 입력을 상기 마이크로-블로그에 포스팅하도록 구성하도록 구성될 수 있다. 상기 프로세서는 사용자의 선택에 의해 '좋아요' 표시를 제공하도록 구성된, 상기 이메일 메시지에 링크를 제공하고, 상기 사용자로부터 '좋아요' 표시를 수신하고, 및 상기 수신된 사용자 입력에 응답하여, 상기 '좋아요' 표시를 마이크로-블로그에 포스팅하도록 구성될 수 있다. 상기 프로세서는 상기 사용자가 상기 이메일 메시지와 인라인된 비디오를 볼 수 있도록 구성될 수 있다. 상기 프로세서는 상기 마이크로-블로그 스레드의 정적 사본을 저장하고, 탐색 요청에 응답하여 상기 마이크로-블로그 스레드의 상기 저장된 사본에 액세스하도록 구성될 수 있다.
일부 추가 양태에서, 마이크로-블로그로부터의 콘텐츠를 사용자 이메일의 이메일 메시지에 배달하는 전자 시스템은 메모리, 프로세서, 및 마이크로-블로그에 액세스하고, 사용자 요청에 응답하여 마이크로-블로그 스레드의 실시간 사본을 사용자의 이메일에 배달하는 수단을 포함할 수 있다.
하나 이상의 실시예에 대한 상세한 설명이 첨부된 도면과 이하의 상세한 설명에서 개시된다. 본 발명에 따른 그 밖의 다른 특징, 목적, 및 장점들은 상세한 설명과 도면, 및 청구범위로부터 명확해질 것이다.
본 발명은 마이크로-블로그 포스팅과 액티비티를 사용자의 이메일에 통합할 수 있는 시스템, 컴퓨터 프로그램 제품, 및 방법을 제공할 수 있다.
도 1은 마이크로-블로그(micro-blog)와 상호 작용하는 다중 클라이언트 시스템(multiple client system)의 다이어그램이다.
도 2는 마이크로-블로그 포스팅들과 액티비티들을 사용자의 이메일에 통합하는 시스템의 블록도이다.
도 3a는 마이크로-블로그에서 액티비티 또는 포스팅들에 기초하여 이메일 메시지를 업데이트기 위해 행해지는 액션(action)들을 나타내는 순서도이다.
도 3b는 사용자 선택에 응답하여 마이크로-블로그 포스팅과 관계된 이메일 메시지를 보여주기 위해 행해지는 액션을 나타내는 순서도이다.
도 4a는 이메일 애플리케이션의 스니핏 뷰(snippet view)를 보여주는 예시적 사용자 인터페이스이다.
도 4b, 4c, 및 4d는 이메일 메시지에서 마이크로-블로그로부터의 액티브 컨텐트(active content)를 디스플레이하기 위한 예시적 사용자 인터페이스를 나타낸다.
도 4e는 사진 뷰어(viewer)를 나타내는 예시적 사용자 인터페이스.
도 4f는 마이크로-블로그 포스팅들, 채트 세션 트랜스크립트(chat session transcript)들, 및 마이크로-블로그 스레드와 관계된 이메일들을 보여주는 예시적 사용자 인터페이스이다.
도 5는 시스템의 블록도이다.
도 6은 시스템의 블록도이다.
다양한 도면들 내의 유사한 참조 부호는 유사한 구성 요소를 가르킨다.
도 2는 마이크로-블로그 포스팅들과 액티비티들을 사용자의 이메일에 통합하는 시스템의 블록도이다.
도 3a는 마이크로-블로그에서 액티비티 또는 포스팅들에 기초하여 이메일 메시지를 업데이트기 위해 행해지는 액션(action)들을 나타내는 순서도이다.
도 3b는 사용자 선택에 응답하여 마이크로-블로그 포스팅과 관계된 이메일 메시지를 보여주기 위해 행해지는 액션을 나타내는 순서도이다.
도 4a는 이메일 애플리케이션의 스니핏 뷰(snippet view)를 보여주는 예시적 사용자 인터페이스이다.
도 4b, 4c, 및 4d는 이메일 메시지에서 마이크로-블로그로부터의 액티브 컨텐트(active content)를 디스플레이하기 위한 예시적 사용자 인터페이스를 나타낸다.
도 4e는 사진 뷰어(viewer)를 나타내는 예시적 사용자 인터페이스.
도 4f는 마이크로-블로그 포스팅들, 채트 세션 트랜스크립트(chat session transcript)들, 및 마이크로-블로그 스레드와 관계된 이메일들을 보여주는 예시적 사용자 인터페이스이다.
도 5는 시스템의 블록도이다.
도 6은 시스템의 블록도이다.
다양한 도면들 내의 유사한 참조 부호는 유사한 구성 요소를 가르킨다.
본 명세서는 마이크로-블로그 포스팅들과 사용자의 이메일을 동반하는 액티비티들을 통합하는 기술들을 설명한다. 일반적으로, 마이크로-블로그는 사용자와 관계되어 있는 사람들의 그룹에게 자동으로 전파되는 비교적 짧은 포스트(예컨대, 사용자 제출)를 제출하는 시스템/프로세스이다. 마이크로-블로그는 다른 사용자들로 하여금 서로 상관된 일련의 포스트 또는 스레드를 생성함으로써, 포스트에 댓글을 달도록 장려한다. 사람들은 특정 사용자, 주제 또는 스레드를 팔로우(follow) 하기 위한 구독(subscribe)을 신청함으로써, 해당 사용자, 주제, 또는 스레드와 관계될 수 있다. 구독은 사용자가 특정 스레드나 특정 사용자(예컨대, 당신이 해당 사용자의 "팔로워"가 되었을 때)로부터 포스트들, 혹은 특정 주제에 대한 포스트들을 수신할 의향을 나타내는 행위이다.
반면, 일부 소셜(social)/쉐어링 서비스(sharing service) 또는 마이크로-블로그들은 새로운 쉐어링 액티비티(activity)의 사용자들에게 이메일 통지들을 보내는데, 이 이메일들은 정적(static)(예컨대, 이메일 메시지가 보내졌을 때 마이크로-블로그상에 해당 액티비티의 스냅-샷을 제공함)이고, 댓글 달기 또는 이메일 메시지로부터 해당 아이템을 직접 '좋아요'로 지정함으로써, 사용자가 대화에 참여할 수 없게 한다. 액티비티가 정적 이메일 메시지(static e-mail message)로서 배달된 경우, 사용자는 종종 해당 스레드에 참여하기 위해 시작 사이트(originating site)로 돌아가는 링크를 클릭하도록 강요받는다. 본 명세서에서 설명된 기술들은 마이크로-블로깅 액션들이 사용자의 이메일로부터 수행될 수 있게 하는 "라이브(live)" 오브젝트들로서, 사용자가 연계된 마이크로-블로그 스레드들(예컨대, 사용자의 포스트에 달린 댓글, 사용자가 댓글을 단 스레드에 달린 댓글, 사용자가 구독한 것에 대한 포스트들, 및/또는 답글(@replies))을 직접 사용자의 이메일로 배달하는 것을 포함한다. 마이크로-블로그 포스팅과 관계된 이메일 메시지는 정적이 아니기 때문에, 마이크로-블로그 스레드에 대한 새로운 업데이트가 실시간으로 사용자의 이메일에 반영된다.
도 1은 다른 방식으로 마이크로-블로그와 상호 작용하는 다중 클라이언트 시스템(120 및 124)의 다이어그램이다. 클라이언트 시스템(120)은 클라이언트 시스템(124)이 액티브 이메일 메시지 내로부터 마이크로-블로그와 상호 작용하고 있는 동안, 웹 브라우저를 마이크로-블로그의 웹사이트(website)로 안내함으로써 마이크로-블로그와 상호 작용한다. 한 사용자가 마이크로-블로그의 웹사이트 상에서 마이크로-블로그와 직접적으로 상호 작용하고 있고, 다른 사용자가 이메일 애플리케이션을 통해 마이크로-블로그와 상호 작용하고 있다 하더라도, 상술한 것과 동일한 기능이 클라이언트 시스템들(120 및 124)의 사용자에게 제공될 수 있다. 클라이언트 시스템들(120 및 124)은 인터넷과 같은 네트워크에 의해 통신적으로 연결된다.
클라이언트 시스템(120)상에 디스플레이되는 사용자 인터페이스(100)는 마이크로-블로그 웹사이트를 위한 사용자 인터페이스를 나타낸다. 사용자는 마이크로-블로그와 관계된 웹사이트로 자신의 웹 브라우저를 찾아가게 함으로써 마이크로-블로그를 본다. 마이크로-블로그 웹사이트에서, 사용자는 이전 포스트들에 댓글을 달거나, 포스트에 '좋아요' 를 달거나, 및/또는 새로운 포스트를 생성함으로써 마이크로-블로그와 상호 작용할 수 있다. 사용자 인터페이스(100)상에 보여지고 있는 예시적인 마이크로-블로그에서, 마이크로-블로그는 필립 스미스에 의해 개시된 스레드(102a)를 포함하는데, 그 스레드(102a)는 필 스미스에 의해 포스팅된 텍스트(105a)와, 웹사이트로의 링크(103a), 그리고 사진(104a)을 포함한다. 또한, 이 포스트에 '좋아요' 를 단 다른 사용자들을 나타내는 표시(106a)와 또 다른 사용자에 의해 포스팅 된 댓글(108a)을 포함하는 스레드에 관계된 다른 액티비티가 마이크로-블로그 상에 디스플레이된다.
사용자 인터페이스(100)에 도시된 바와 같이, 사용자가 마이크로-블로그와 관계된 웹사이트로 자신의 웹 브라우저를 찾아 가게 함으로써 마이크로-블로그와 상호 작용할 수도 있지만, 사용자 인터페이스(110)에 도시된 바와 같이, "라이브" 또는 다이나믹 이메일 메시지와 같이, 사용자가 사용자의 이메일에 직접적으로 연계된 마이크로-블로그 스레드들을 배달함으로써 사용자의 이메일로부터 마이크로-블로그와의 직접 상호 작용이 가능하도록 하는데 유용할 수도 있다. 사용자의 이메일로 배달된(예컨대, 사용자의 수신함(inbox)으로 배달된) 이메일 메시지는 임베디드된 다이나믹 오브젝트를 포함하고 있기 때문에, 사용자는 해당 스레드에 댓글을 포스팅하거나, 및/또는 해당 포스트에 '좋아요'를 다는 것과 같이, 자신의 이메일에서 바로 마이크로-블로깅 액션들을 수행할 수 있다.
사용자 인터페이스(110)는 마이크로-블로그 스레드로부터의 라이브 콘텐츠를 포함하는 이메일 메시지를 보여준다. 마이크로-블로그로부터의 이 스레드(102a)는 사용자의 수신함에 이메일 메시지(102b)로서 나타난다. 이 이메일 메시지(102b)는 텍스트(105b), 링크(103b), 사진(104b), 해당 포스트에 '좋아요'를 단 다른 사용자들을 나타내는 표시(106b), 그리고 또 다른 사용자에 의해 포스팅 된 추가 댓글(additional comment, 108b)을 포함하는 라이브 마이크로-블로그 상에서 이용할 수 있는 해당 스레드에 대한 현재 콘텐츠를 포함한다. 또한, 이메일 메시지는 해당 이메일 사용자가 마이크로-블로그 스레드에 추가 댓글을 포스팅하는 것을 허용하는 사용자 입력 블록(114)을 포함한다. 사용자가 이메일 메시지에서 사용자 입력 블록(114) 내에 텍스트를 기입하면, 그 텍스트는 마이크로-블로그 스레드 내에 추가적인 엔트리(additional entry)로서 마이크로-블로그에 포스팅 된다. 추가적인 마이크로-블로깅 기능은 사용자가 해당 포스트에 '좋아요'를 달기 위해 클릭하는 링크(112)와 사용자가 그 포스트를 이메일로 전송하기 위해 클릭하는 링크(124)와 같은 이메일 애플리케이션에 이용할 수 있다.
도 2는 마이크로-블로그 스레드들을 "라이브" 오브젝트로서 사용자의 수신함에 직접 배달하고, 이러한 스레드들에 대한 새로운 업데이들을 실시간으로 사용자의 이메일에 반영하기 위해, 마이크로-블로그를 사용자의 이메일에 통합하는 시스템(200)의 블록도이다. 이 시스템(200)은 사용자 클라이언트 컴퓨팅 디바이스(222), 이메일 서버(202), 그리고 소셜 네트워킹 서버(214)를 포함한다.
사용자 클라이언트(222)는 컴퓨터 시스템, 또는 사용자가 이메일 메시지를 볼 수 있게 하고, 이메일 애플리케이션과 상호 작용할 수 있게 하는 다른 컴퓨팅 디바이스이다. 사용자 클라이언트(222)는 네트워크를 통해 이메일 서버(202)와 통신적으로 연결되어 있다.
이메일 서버(202)는 사용자의 이메일을 유지 관리하도록 구성된다. 이메일 서버(202)는 이메일 애플리케이션(209)을 포함한다. 또한, 이메일 서버(202)는 이메일 메시지에서 마이크로-블로그와 관계된 액티브 콘텐츠를 배달하고 디스플레이하기 위한 로직(logic) 또는 소프트웨어를 포함한다.
새로운 댓글이 마이크로-블로그 스레드에 더해지거나 다른 액티비티가 마이크로-블로그에서 일어나면, 소셜 네트워킹 서버는 소셜 네트워킹 서버(214)에 저장되어 있는 연계된 사용자 리스트(involved user list)상의 각 사용자들에게 이메일 메시지를 배포(distribute)하거나 업데이트한다. 마이크로-블로그로부터의 업데이트들과 이메일 메시지들은 두 개의 다른 이메일 요소(예컨대, MIME 요소)를 갖는 메시지로서 이메일 서버(202)에 의해 소셜 네트워킹 서버(214)로부터 수신된다. 첫 번째 요소는 사진들, 링크들 등을 갖지만, 정적이고 비 상호 작용(non-interactive)적인 포스트 콘텐츠를 디스플레이하는 플레인 HTML 요소이다. 이 플레인 HTML 요소에 기초하여, 이메일 서버(202)는 마이크로-블로그 스레드의 정적 사본(204)을 유지 관리(예컨대, 메모리에 저장함)한다. 이메일 서버(202)는 사용자가 자신의 이메일에서 특정 문자열(string of text)을 탐색하는 것에 응답하여 저장된 마이크로-블로그 스레드의 사본에 액세스한다. 따라서, 사용자가 자신의 이메일 애플리케이션으로부터 이메일 메시지들과 마이크로-블로그 스레드들 양쪽 모두를 탐색할 수 있다. 부가적으로, 액티브 이메일을 볼 수 없는 이메일 애플리케이션을 이용하는 사용자가 이러한 메시지들 가운데 하나를 수신하면, 마이크로-블로그에 대한 업데이트가 보통의 이메일 메시지와 같이 나타나고, 플레인 HTML 요소(예컨대, 정적 사본)가 이메일 사용자에게 보여진다. 두 번째 대안적 MIME 요소는 액티브 이메일을 지원하는 이메일 클라이언트에 의해 해석(interprete)될 수 있는 포스트의 특별하게 포맷된 버전이다. 이 두 번째 대안적 MIME 요소는 사용자의 이메일로 배달된 스레드를 위한 실제(actual) 마이크로-블로그에 대한 참조(208)를 포함한다. 이메일 서버는 마이크로-블로그로부터 라이브 콘텐츠를 끌어오고, 마이크로-블로그와 관계된 이메일 메시지를 보기 위한 사용자 요청에 응답하여 액티브 콘텐츠를 랜더링(정적 메시지를 랜더링하기 보다는)하기 위해 이 참조(208)를 이용한다. 따라서, 액티브 콘텐츠를 볼 수 있는 이메일 클라이언트가 마이크로-블로그와 관계된 메시지를 수신하면, 이메일 클라이언트는 대안적 MIME 요소(예컨대, 참조(208))를 찾아 인터렉티브 콘텐츠(interactive content)를 랜더링하는데(예컨대, 소셜 네트워크로부터 업데이트를 패치(ferch)함으로써) 이용한다. 소셜 네트워크 서버(214)는 마이크로-블로그를 관리하고 업데이트하기 위한 소프트웨어를 포함한다. 이 소셜 네트워크 서버(214)는 사용자들로부터 포스트를 수신하고, 사용자 생성 포스팅(user-generated postings)에 기초하여 마이크로-블로그 내에 새로운 엔트리를 생성한다. 특정 이메일 사용자에 대한 이메일 계정으로 배달할 마이크로-블로그 스레드들을 결정하기 위하여, 소셜 네트워크 서버(214)는 마이크로-블로그 내의 특정 스레드에 대한 "연계된 사용자(involved users)"의 리스트(206)를 유지관리한다. 이 연계된 사용자 리스트(206)는 소셜 네트워크 서버(214)에 의해 생성된 이메일 메시지들을 통해 마이크로-블로그에 대한 업데이트들을 수신해야하는 사용자들을 나타낸다. 소셜 네트워크 서버(214)는 이메일 서버(202)와 통신적으로 연결되며, 이메일 서버(202)로 마이크로-블로그와 관계된 연계된 사용자 리스트(206) 상의 사용자들에게 전송할 이메일 메시지를 전송한다.
동작에 있어서, 마이크로-블로그 액티비티와 관계된 이메일 메시지들은 전형적인 정적 이메일 메시지와 동일한 방식으로 랜더링되지 않는다. 사용자가 정적 이메일 메시지를 클릭하면, 요청(request)이 이메일 서버(202)로 전송되고, 이메일 서버는 저장된 콘텐츠의 사본에 액세스하며, 콘텐츠는 클라이언트 시스템(222) 상에서 랜더링된다. 대조적으로, 액티브 콘텐츠를 디스플레이하도록 구성된 이메일의 사용자가 마이크로-블로그 스레드와 관계된 이메일 메시지를 클릭하면, 실제 라이브 액티비티가 마이크로-블로그에 대한 저장된 참조(208)에 기초하여 소셜 네트워킹 서버(214)로부터 패치되고(예컨대, 이메일 서버(202) 내의 메모리로부터 저장된 스레드의 정적 버전을 패치하기 보다는), 시스템(222) 상에 랜더링된다. 소셜 네트워킹 서버(214)로부터의 라이브 콘텐츠는 이메일 메시지에 속하여 사용자에게 제공되며, 이에 사용자는 마치 자신이 마이크로-블로그와 관계된 웹사이트 상에서 해당 스레드를 보고 있었던 것처럼, 마이크로-블로그 스레드와 완전하게 상호 작용한다.
보다 특별하게는, 사용자가 마이크로-블로그 스레드와 관계된 이메일 메시지를 보기 위해 클릭하거나 선택하면, 사용자 클라이언트(222)는 이메일 메시지를 보여주도록 하는 요청(218)을 이메일 서버(202)로 전송한다. 이메일 서버는 마이크로-블로그에 대한 참조(208)에 액세스하고, 소셜 네트워킹 서버(214)에 업데이트 요청(210)을 보낸다. 이에 대한 응답으로, 소셜 네트워킹 서버(214)는 마이크로-블로그 스레드(212)에 대한 라이브 콘텐츠를 이메일 서버(202)로 전송하고, 업데이트된 마이크로-블로그 스레드(220)가 이메일 메시지에 있는 사용자 클라이언트에게 배달된다. 따라서, 사용자 요청에 응답하여, 이메일 서버(202)는 사용자 클라이언트(222)에 디스플레이하기 위한 콘텐츠를 소셜 네트워킹 서버(214)로부터 끌어온다.
또한, 마이크로-블로그 스레드에 대한 업데이트들은 연계된 사용자 리스트(206)에 기초하여 사용자의 이메일로 자동으로 보내진다(예컨대, 푸쉬(push)됨). 예를 들면, 마이크로-블로그 스레드가 업데이트되면(예컨대, 다른 사용자가 새로운 댓글을 달거나 스레드에 '좋아요'를 달음으로써), 소셜 네트워킹 서버(214)는 연계된 사용자 리스트(206) 상의 사용자들 각각에게 이메일 메시지를 보내는 형식으로 된 액티비티의 표시(213)를 이메일 서버(202)에 전송한다. 이메일 서버(202)는 저장된 마이크로-블로그 스레드(204)의 사본을 업데이트하고, 이메일 형식으로 된 해당 스레드(217)에 대한 업데이트를 사용자에게 전송한다. 이에 더하여, 사용자가 이메일 서버(202)가 업데이트를 수신한 시점에, 해당 스레드와 관계된 이메일을 보고 있다면(예컨대, 사용자가 이메일 메시지를 열어서, 마이크로-블로그 엔트리를 보고 있다면), 새로운 마이크로-블로그 액티비티가 업데이트되고 이메일 메시지 내에서 실시간으로 디스플레이된다. 이메일 메시지의 콘텐츠는 클라이언트 시스템(222) 상에서 운용되는 사용자의 브라우저로부터 이메일 서버(202)까지의 오픈 커넥션(open connection)을 유지 관리함으로써 실시간으로 업데이트된다.
도 3a는 클라이언트 시스템(컬럼(302)에 도시된 바와 같이), 이메일 서버(컬럼(304)에 도시된 바와 같음), 및 소셜 네트워킹 서버(컬럼(306)에 도시된 바와 같음)에 의해 수행되는, 소셜 네트워킹 서버에서 유지 관리되는 마이크로-블로그 내의 액티비티 또는 포스팅들에 기초하여 사용자의 이메일에서 있는 이메일 메시지를 업데이트하는 액션들을 나타낸 순서도이다.
박스(308)에서, 소셜 네트워킹 서버는 마이크로-블로그에 있는 스레드에 대한 업데이트를 수신한다. 예시적인 업데이트들은 존재하는 마이크로-블로그 엔트리에 대한 편집본, 마이크로-블로그 엔트리에 응합하여 포스팅된 댓글들, 및/또는 마이크로-블로그 엔트리에 응답하여 포스팅된 다른 표시들(예컨대, 사용자가 포스트에 대해 단 '좋아요' 또는 '싫어요(dislike')와 같은 사용자 응답)을 포함한다. 업데이트들은 해당 마이크로-블로그와 관계된 웹사이트 상에서 만들어진 엔트리, 사용자의 이메일로부터 만들어진 업데이트, 및/또는 휴대전화와 같은 모바일 디바이스로부터 만들어진 업데이트와 같은 다양한 통신 채널을 통해 수신될 수 있다.
박스(310)에서, 소셜 네트워킹 서버는 소셜 네트워킹 서버 내의 메모리에 저장되어 있는 스레드와 관계된 사용자 리스트에 액세스한다. 소셜 네트워킹 서버는 해당 스레드에 대한 업데이트를 만든 개인이 해당 스레드와 관계된 사용자 리스트에 포함되어 있는지 아닌지를 판정하여, 만일 포함되어 있지 않으면, 소셜 네트워킹 서버는 박스(312)에서 업데이트를 만든 사용자가 포함하도록 해당 스레드와 연계된 사용자 리스트를 업데이트한다. 만일, 업데이트를 만든 사용자가 이미 연계된 사용자 리스트에 포함되어 있으면, 연계된 사용자 리스트는 수정될 필요가 없다. 만일 스레드가 새로운 스레드라면, 해당 스레드를 생성한 사용자만이 해당 스레드와 관계된 사용자 리스트에 추가될 것이다.
박스(314)에서, 소셜 네트워킹 서버는 이메일 메시지 형식으로 마이크로-블로그 스레드에 대한 업데이트를 생성하여, 연계된 사용자 리스트 상의 사용자들에게 전송한다. 박스(316)에서, 이메일 서버는 연계된 사용자 리스트 상의 각 사용자들에 대한 이메일들을 소셜 네트워킹 서버로부터 수신한다. 쇼셜 네트워킹 서버에 의해 전송된 이메일 메시지는 두 개의 다른 이메일 요소들(예컨대, MIME 요소들)을 포함한다. 첫 번째는 사진들, 링크들 등을 갖지만 정적이고 비 상호 작용적인 포스트 콘텐츠를 디스플레이하는 플레인 HTML 요소이다. 두 번째 대안적 MIME 요소는 액티브 이메일들을 지원하는 메일 클라이언트에 의해 해석될 수 있는 포스트의 특별하게 포맷된 버전이다. 액티브 이메일 클라이언트의 사용자가 메시지를 수신하면, 대안적 MIME 요소는 인터렉티브 콘텐츠(소셜 네트워크로부터의 업데이트들을 패칭하는 것을 포함함)를 랜더링하는데 사용된다. 일반 이메일 클라이언트(예컨대, 액티브 콘텐츠를 디스플레이 할 수 없는 이메일 클라이언트) 상의 사용자가 이러한 메시지들 가운데 하나를 받는다면, 그것은 일반 이메일로 보여진다. 또한, 플레인 HTML 요소는 이메일 애플리케이션으로부터 마이크로-블로그 포스팅의 탐색을 가능하게 하는데 사용된다. 또한, 마이크로-블로그 엔트리의 플레인 HTML 요소는, 도 4a에 도시된 바와 같이, 스니핏 뷰를 생성하고 디스플레이하는데 사용될 수 있다.
박스(320)에서, 이메일 서버는 업데이트된 포스트의 사본을 저장한다.
이메일 서버로부터의 업데이트를 수신한 응답으로서, 클라이언트 시스템은 스레드 내에서 이전 엔트리들을 갖는 마이크로-블로그 스레드 인라인(inline)에 대한 새로운 업데이트들을 포함하도록 이메일 메시지의 본문(body)을 업데이트한다(박스(322)). 사용자의 브라우저와 이메일 서버간에 오픈 커넥션이 유지되고 있으므로, 이 업데이트는 사용자에게 실시간으로 보여진다. 만일 사용자가 스레드와 관계된 이메일 메시지를 현재 보고 있지 않다면, 사용자가 스레드에 액세스할 때, 시스템은 이메일 서버에 저장된 참조에 기초하여 마이크로-블로그 서버로부터 라이브 콘텐츠에 액세스하여, 마이크로-블로그 스레드의 가장 최신의 버전을 디스플레이할 것이다. 만약 사용자가 스레드를 현재 보고 있지 않다면, 시스템은 스레드에 대한 새로운 업데이트가 수신되었다는 표시가 디스플레이되도록 스레드의 스니핏 뷰를 업데이트한다(박스(324)). 예를 들면, 새 이메일 메시지가 사용자의 수신함에 추가될 수 있고, 및/또는 이전 이메일 메시지가 새로운 댓글이 수신되었음을 나타내고, 이메일 메시지의 상태가 '읽음'에서 '읽지 않음'으로 변경되도록 업데이트될 수 있다.
도 3b는 사용자가 마이크로-블로그 콘텐츠를 갖는 이메일 보기를 선택한 것에 대한 응답으로서, 클라이언트 시스템(컬럼(330)에 도시된 바와 같음), 이메일 서버(컬럼(332)에 도시된 바와 같음), 및 소셜 네트워킹 서버(컬럼(334)에 도시된 바와 같음)에 의해 수행되는 액션들을 나타내는 순서도이다. 도 3b에 도시된 예시에서, 클라이언트 시스템의 이메일 클라이언트는 액티브 콘텐츠를 디스플레이하도록 구성된다. 액티브 이메일을 보여줄 수 있는 이메일 애플리케이션을 가지고 있지 않은 이메일 클라이언트의 경우에는, 텍스트들, 사진들, 링크들 등을 포함하는 포스트 콘텐츠의 일반 HTML 버전(예컨대, 정적이고 비 상호 작용적인 버전)이 사용자에게 디스플레이된다.
박스(342)에서, 클라이언트 시스템이 마이크로-블로그에 있는 스레드와 관계된 이메일 메시지에 대한 사용자 선택을 수신한다. 예를 들면, 사용자는 마이크로-블로그 스레드와 관계된 이메일 메시지를 보기 위해, 이메일 메시지의 스니핏 뷰(예컨대, 사용자의 수신함 내에 있는 이메일 메시지들이 사용자의 이메일 수신함에 한 줄 요약 정보(a lines with summary information)로 디스플레이되는 요약 뷰(summary view))를 클릭할 수 있다. 스니핏 뷰는 마이크로-블로그의 일부분(예컨대, 포스트의 처음 몇 단어 또는 제목)을 디스플레이한다.
박스(344)에서, 이메일 서버는 사용자 선택을 수신하고, 박스(346)에서 이메일 서버는 마이크로-블로그에 대한 저장된 참조에 액세스한다. 박스(348)에서 이메일 서버는 소셜 네트워킹 서버로부터 스레드에 대한 라이브 콘텐츠에 액세스하기 위하여 소셜 네트워킹 서버로 요청을 송신한다. 대조적으로, 사용자가 마이크로-블로그 포스팅과 관계되지 않은 이메일 메시지 보기를 선택한 경우, 이메일 서버는 이메일 서버에 저장되어 있는 이메일 메시지의 정적 사본(static copy)에 액세스하여, 이 저장된 사본을 사용자의 시스템으로 리턴한다.
박스(350)에서, 소셜 네트워킹 서버는 요청을 수신하고, 박스(354)에서 소셜 네트워킹 서버는 이메일 서버로 스레드에 대한 라이브 콘텐츠를 갖는 업데이트를 전송한다. 박스(352)에서, 이메일 서버는 소셜 네트워킹 서버로부터 라이브 업데이트를 수신하여, 그 업데이트를 클라이언트 시스템에 제공한다. 이메일 서버가 소셜 네트워킹 서버에 액세스하여 그 이메일 서버 소셜 네트워킹 서버로부터 라이브 콘텐츠를 수신하기 때문에, 사용자에게 디스플레이되는 마이크로-블로그 스레드가 가장 최신의 것으로, 스레드에서 가장 최근의 액티비티를 포함한다.
박스(358)에서, 마이크로-블로그 스레드를 포함하는 이메일 메시지는 마이크로-블로그로부터 라이브 콘텐츠를 디스플레이하도록 업데이트된다. 마이크로-블로그 스레드내의 포스팅들은 단일 메시지로, 이메일과 함께 인라인되어 디스플레이된다. 마이클로-블로그 스레드에 대한 추가적인 엔트리들이 사용자가 이메일을 보고 있는 동안 수신되면, 댓글들 또는 새로운 액티비티들은 이메일 메시지에 있는 마이크로-블로그 스레드에 실시간으로 첨부(append)된다. 실시간 업데이트는 시각적 및/또는 청각적 표시(audio indicia)에 의해 시그널화될 수 있다. 예를 들면, 사용자는 새로운 댓글에 대해 애니메이션화된 추가물(animated addition)을 볼 수 있으며, 그 댓글은 존재하는 댓글들에 첨부될 수 있다.
박스(360)에서, 또한 클라이언트 시스템은 임의의 새로운 액티비티를 지시하기 위해 스레드의 스피닛 뷰를 업데이트하여, 사용자가 이메일 메시지 보기에서 빠져 나갔을 때, 스니핏 뷰가 업데이트가 업데이트된다.
도 4a는 이메일 수신함의 스니핏 뷰를 보여주는 예시적 사용자 인터페이스(400)이다. 스니핏 뷰는 사용자의 수신함에 있는 메시지들에 대한 요약 정보를 디스플레이하는데, 이 요약 정보는 메시지 문자열에 연계된 개인들의 이름과, 그 메시지의 제목 및/또는 단문(short text)을 포함한다. 이메일 메시지 기반의 표준 텍스트와 마이크로-블로그 액티비티와 관계된 이메일 메시지 양쪽 모두는 사용자의 이메일 시스템 내에서 제공된다. 예를 들면, 마이크로-블로그 액티비티와 관계된 메시지들(예컨대, 메시지들(404, 408 및 410))은 다른 이메일 메시지들(예컨대, 메시지(406))과 함께 사용자의 수신함 내에 디스플레이된다. 메시지와 관련된 마이크로-블로그에 대한 스니핏 엔트리들은, 사용자로 하여금 엔트리가 마이크로-블로그 스레드와 관계된 것인지를 빠르게 판정할 수 있도록 하기 위해, 엔트리에 대한 제목에 있는 표시(예컨대, 표시(412)), 및/또는 시각적 표시자(예컨대, 표시자 (414))를 포함할 수 있다. 발신자 이외의 필드(field)에 해당 이메일 메시지가 마이크로-블로그와 관계된 것이라는 표시를 제공함으로써, 스니핏 뷰는 마이크로-블로그 스레드와 연계된 개인들의 이름(들)을 디스플레이할 수 있다. 다른 예로서, 마이크로-블로그와 관계된 소셜 네트워킹 웹사이트의 이름이 메시지의 발신자로서 나타날 수 있다. 메시지들과 관계된 마이크로-블로그에 대한 엔트리들은 사용자가 이전에 스레드를 본 이후의 해당 블로그 스레드에 대한 새로운 댓글들의 개수에 대한 표시(예컨대, 새로운 댓글 표시자(416))를 추가적으로 포함할 수 있다. 그러므로, 액티브 스레드의 경우, 사용자는 자신의 이메일 수신함에 있는 단일 엔트리와 스레드에 대한 새로운 댓글들의 개수에 대한 표시(스레드에 대한 업데이트 각각에 대한 다중 엔트리/이메일 메시지들 보다는)를 볼 것이다.
일부 이메일 프로그램들은 사용자에 의해 입력된 문자열에 기초하여 이메일 메시지들을 탐색하는 기능을 제공한다. 일부 예시에서는, 사용자가 자신의 이메일에서 메시지들을 탐색(예컨대, 박스(418)에 탐색 단어 또는 문자열을 입력하고, 블록(420)에 있는 겸색 메일 옵션(searching mail option)을 선택함으로써)하는 경우, 이메일 프로그램은 이메일 메시지 형식으로 사용자의 수신함에 배달된 마이크로-블로그 뿐만 아니라, 사용자가 발신/수신한 이메일도 모두 탐색할 수 있다. 이메일 서버가 소셜 네트워킹 서버 상에 라이브 콘텐츠에 대한 참조 외에도 마이크로-블로그 스레드의 정적 사본을 저장하기 때문에, 이메일 프로그램은 이메일들과 마이크로-블로그 스레드들 양쪽 모두를 탐색할 수 있다. 그것으로서, 이메일 애플리케이션은 사용자가 개시한 탐색의 응답으로서, 저장된 정적 이메일 메시지들과 마이크로-블로그 스레드의 저장된 정적 사본 양쪽 모두를 탐색한다.
도 4b, 4c, 및 4d는 이메일 메시지에 있는 액티브 콘텐츠를 디스플레이하고, 마이크로-블로그에 있는 액티비티에 기초하여 콘텐츠를 업데이트하는 예시적 사용자 인터페이스를 보여준다.
도 4b에 도시된 바와 같이, 사용자가 연계된 것을 마이크로-블로그로부터의 스레드는 이메일 메시지의 형식으로 사용자의 이메일 수신함에 직접 배달된다. 사용자는 자신이 마이크로-블로그 웹사이트 상에서 해당 스레드와 상호 작용하는 것과 동일한 방식으로 해당 스레드와 상호 작용할 수 있다. 사용자는 자신의 이메일에 있는 엔트리(예컨대, 도 4a에 도시된 메시지(410))를 클릭함으로써 액티브 마이크로-블로그 콘텐츠를 본다. 응답으로서, 마이크로-블로그 스레드는 이메일 메시지의 본문(body)에 마이크로-블로그 콘텐츠를 포함하는 이메일 메시지로서 디스플레이된다. 이메일 메시지의 본문은 마이크로-블로그 웹사이트와 유사한 룩-앤-필(look-and-feel)을 갖도록 랜더링 된다. 이메일 메시지는 해당 스레드를 시작한 개인의 이름(432)과 그 사용자와 관계된 사진(431)을 포함할 수 있다. 또한 이메일은 포스팅된 텍스트(434)를 포함한다. 포스팅이 웹사이트들로의 링크, 사진들, 비디오들 등과 같은 추가적인 콘텐츠를 포함하면, 이 추가적인 콘텐츠도 이메일 내에 디스플레이된다. 예를 들면, 필립 스미스의 포스팅과 관계된 이메일 메시지(430)는 또 다른 웹사이트로 연결된 링크(436)를 포함한다. 만일 사용자가 이메일 내에서 이 웹사이트로 연결된 링크(436)를 클릭하면, 새로운 브라우저 창이 해당 웹사이트를 디스플레이하기 위해 열리게 된다. 마이크로-블로그 상에 사진들이 포스팅된 경우, 사용자의 이메일로 배달된 이메일 메시지(430)는 이메일 메시지의 본문에 인라인된 사진(438)을 포함할 것이다. 그것으로서, 사용자로 하여금 마이크로-블로그 웹사이트 또는 또 다른 웹사이트에서 이메일을 보도록 요구하기 보다는, 사진이 그 이메일 메시지에서 바로 보여질 수 있다. 이에 더하여, 만일 사용자가 다수의 사진들이 저장되어 있는 웹사이트(예컨대, 플리커(flickr), 셔터플라이(shutterfly), 젠폴리오(zenfolio) 등)로의 링크를 포스팅한 경우, 마이크로-블로그 애플리케이션은 앨범에 들어있는 하나 이상의 사진을 자동으로 검색할 수 있으며, 사진들은 마이크로-블로그 엔트리와, 그 마이크로-블로그 엔트리와 관계된 이메일 메시지에 포함될 수 있다.
사용자가 마이크로-블로그 스레드를 포함한 이메일 메시지를 보고 있을 때, 이메일에 있는 콘텐츠는 활성화되고, 라이브 콘텐츠는 마이크로-블로그 스레드에서의 추가 및 변화를 반영하기 위하여 실시간으로 업데이트된다. 도 4c에 도시된 바와 같이, 사용자가 이메일 메시지를 보고 있고, 마이크로-블로그에 대한 업데이트가 만들어졌을 때, 해당 업데이트는 실시간으로 사용자의 이메일 메시지로 배달된다. 배달하는 즉시, 업데이트는 시각적 및/또는 청각적 표시를 통해 하이라이트화하여 표시될 수 있다. 예를 들면, 도 4c에 도시된 바와 같이, 사용자가 이메일 메시지에 있는 스레드를 보고 있는 동안 만들어진, 도 4b에 도시된 스레드에 대한 업데이트는 그것이 배달되었을 때, 새로운 댓글(450)을 하이라이트화 함으로써 강조되어 이메일 메시지의 본문에 먼저 출현한다. 배달되는 즉시, 새로운 댓글은 이메일 메시지의 본문에 있는 스레드의 끝에 첨부(append)되고, 이는 도 4d에 도시된 바와 같이, 스레드에 있는 다른 포스트들과 유사한 형식으로 그 스레드에 있는 엔트리(452)로서 디스플레이된다.
다시 도 4b를 참조하면, 포스트 상에 댓글을 달고, 이메일 메시지로부터 직접 포스트에 '좋아요'를 다는 액션들이 상기한 바와 같이 설명되었으나, 추가적 액션들이 마이크로-블로그 스레드와 관계된 메시지를 수신함에 대한 응답으로서 사용자에 의해 수행될 수 있다. 예를 들면, 메시지(430)는 선택 엔트리들을 갖는 추가 기능의 대한 드롭 다운 메뉴(460)를 포함하며, 선택 엔트리들에는 포스트를 이메일로 보내기(462), 포스트에 링크 걸기(464)), 포스트를 뮤트(mute)하기(466), 포스트를 편집하기(468), 포스트를 삭제하기(470), 및/또는 포스트로부터 일부 댓글을 삭제하기(472)가 있다.
사용자가 '포스트를 이메일로 보내기(462)'를 선택하면, 사용자는 그 포스트의 소망하는 수신처에 대한 하나 이상의 이메일 주소를 입력할 것을 요구받게 된다. 사용자가 그 포스트를 다른 개인에게 이메일로 보내면, 마이크로-블로그로부터의 스레드는 그 개인의 이메일 수신함으로 배달되며, 그 개인은 마이크로-블로그 포스팅에 대한 업데이트들을 자신의 이메일에서 바로 볼 수 있을 것이다.
사용자가 '포스트에 링크 걸기(464)'를 선택하면, 마이크로-블로그에 있는 스레드와 관계된 URL이 사용자에게 제공된다. 이 URL은 마이크로-블로그에 있는 스레드에 대한 웹 주소를 제공하고, 웹 브라우저를 그 URL 어드레스로 안내함으로써 사용자가 웹 브라우저를 해당 URL 주소를 찾아갈 수 있게 한다.
사용자가 '포스트를 뮤트(mute)하기(466)'를 선택하면, 마이크로-블로그에 대한 포스트들에 기초하여 한 이메일 메시지의 자동 업데이트가 그 메시지와 관계된 특정 포스트에 대하여 이용할 수 없다. 예를 들면, 사용자가 포스트에 연관되어 있고, 그 포스트에 대한 수신함 이메일 메시지들을 수신하는 경우, 사용자는 '포스트 뮤트하기'(466)를 선택함으로써 이메일 배달을 탈퇴(opt out)할 수 있다. 을 수신하지 않을 수 있다. 사용자가 탈퇴하였을 때, 이 정보는 소셜 네트워킹 서버로 전송된다. 사용자는 여전히 연계된 사용자 리스트 상에서 유지 관리되지만, 소셜 네트워크는 그 사용자가 특정 아이템에 대하여 이메일 배달에서 탈퇴하였다는 것을 명시하는 주석(annotation)을 달아둔다.
만일 사용자가 '포스트를 편집하기'(468)를 선택하면, 사용자는 스레드에 있는 자신의 엔트리들을 변경할 수 있다(예컨대, 만일 사용자가 원본 포스트를 만들었거나 또는 자신이 포스팅한 스레드에 있는 댓글을 변경한 경우, 원본 포스트를 변경함). 사용자가 자신의 이메일로부터 직접 마이크로-블로그 내의 포스트를 쉽게 편집하는 것을 허용함으로써, 포스트를 우선 삭제하고 나서 새 포스트를 만들어야 할 필요없이, 그리고 마이크로-블로그와 관계된 웹사이트로 찾아갈 필요없이(예컨대, 정보를 추가하거나 제거하는 것, 오류를 수정하는 것 등) 사용자는 포스팅에 대하여 유리하게 수정을 행할 수 있다. 이메일 수신함 내에 있는 포스트에 대해 행해진 모든 편집은 마이크로-블로그에 반영된다.
만일 사용자가 '포스트를 삭제하기'(470)를 선택하면, 포스트는 사용자의 수신함과 마이크로-블로그 양쪽 모두로부터 제거된다. 만일 사용자가 '포스트로부터 일부 댓글 제거하기'(472)를 선택하면, 사용자는 자신이 부적당하다고 여기는 댓글들을 선택하여 제거할 수 있다. 이것은 최초에 스레드를 포스팅한 사람이 자신의 원본 포스팅에 응답하여 마이크로-블로그 스레드에 더해진 댓글들을 일부 제어하는 것을 허용한다. 사용자는 사용자의 수신함에서 바로 제거할 댓글들을 선택할 수 있고, 해당 댓글들은 이후 스레드와 관계된 이메일 메시지와 마이크로-블로그 자신 양쪽 모두로부터 제거된다.
마이크로-블로그 엔트리들은 종종 스레드와 관계된 이미지들을 갖는다. 앞서 도시되고 설명된 바와 같이, 예를 들면, 도 4b에서, 이미지들은 이메일 메시지와 인라인(inline) 되어 디스플레이된다. 그러나, 일부 경우에는, 사용자가 이메일 메시지와 인라인 될 수 있는 것 보다 큰 이미지의 사본으로 보고 싶어할 수 있다. 시스템은 마이크로-블로그 웹사이트나 다른 웹사이트로 찾아 가지 않고도 사용자가 이메일 애플리케이션 내에서 바로 해당 이미지의 큰 버전을 볼 수 있게 한다. 큰 버전으로 보기 위하여, 사용자가 이메일에 있는 해당 이미지를 클릭하면, 해당 이미지의 큰 버전이 사용자에게 디스플레이 되게 된다. 이 이미지는 가장자리(border) 또는 다른 시각적인 표시(visual indication)에 의해 이메일 애플리케이션으로부터 분리될 수 있다. 도 4e는 사용자 선택에 응답하여 사진이 확대된 크기로 보여지는 사진 뷰어를 보여주는 예시적 사용자 인터페이스이다. 이 사진은 가장자리(481)에 의해, 그리고 사진을 둘러싸고 있는 영역(480)에 있는 이메일 애플리케이션을 흑백화(graying out) 또는 그 밖의 역강조(de-emphasizing)함으로써 그 이메일 애플리케이션으로부터 분리된다. 이메일 수신함으로 돌아가기 위해서, 사용자는 이미지(482)를 둘러싸고 있는 이메일의 배경 영역(480)을 클릭한다.
마이크로-블로그 엔트리는 스레드와 관계된 비디오들을 가질 수도 있다. 비디오들은 이메일 메시지와 인라인 되어 디스플레이되며, 사용자는 이 비디오를 클릭함으로써 이메일 메시지로부터 그 비디오를 볼 수 있다. 이것은 사용자가 다른 웹사이트로 찾아 가거나 또는 다른 애플리케이션을 열지 않고도 해당 비디오를 볼 수 있게 한다.
도 4f는 포스팅(486), 채트 세션 트랜스크립트(chat session transcript)(490)들, 및 모든 것이 그룹화되어 사용자의 이메일 수신함 내에 디스플레이되는 마이크로-블로그와 관계된 이메일(488)을 보여주는 예시적 사용자 인터페이스이다. 마이크로-블로그 엔트리에 댓글을 달거나 '좋아요'를 달음으로써 마이크로-블로그 스레드에 응답하는 것 외에, 사용자는 이메일 또는 채팅을 통해 포스터(poster)에게 추가적으로 응답할 수 있다. 만일 사용자가 이메일로 마이크로-블로그에 응답하면, 이 이메일 메시지는 다른 카드 또는 엔트리로서 사용자의 수신함에 있는 마이크로-블로그 이메일 메시지와 그룹화된다. 추가적으로, 사용자가 채트 세션(chat session)의 개시로 마이크로-블로그 엔트리에 대해 응답하는 경우, 채트 세션의 트랜스크립트(490)(생성된 것이 있다면)가 마이크로-블로그 포스팅과 관계된 다른 엔트리들과 그룹화되어 사용자의 수신함에 있는 하나의 엔트리로서 저장 및 포함된다.
도 5는 본 명세서에서 설명된 다양한 특징들이 구현될 수 있는 시스템(500)의 개략적인 다이어그램이다. 일반적으로 시스템(500)은 소셜 네트워킹 프레임워크(social networking framework) 내에서, 다양한 사용자들이 정보의 다양한 액티비티 스트림(activity stream)에 대해 포스팅하고, 리뷰(review)를 달고, 댓글을 다는 것을 허용한다. 예를 들면, 사용자는 자신의 삶 속에서 최근 일어난 일이나 자신이 최근 읽은 뉴스 기사에 관해서 마이크로-블로깅 포스트를 만들 수 있다. 이 포스트는 최초의 사용자들(개인 또는 기관이 될 수 있음)를 팔로잉하도록 선택한 다른 사용자에게 포워딩될 수 있다. 이러한 다른 사용자들은 스트림 리더(stream reader)를 사용하여 포스트를 볼 수 있고, 또는 이 포스트는 그들의 이메일 애플리케이션(예컨대, 그들의 일반 이메일 메시지와 라인을 이루거나 또는 세퍼레이트 탭(separate tap)의 하단, 둘 중의 한 곳))에 디스플레이될 수 있다. 이러한 사용자들은 포스트 상에 댓글을 달기를 선택할 수 있고, 다른 사용자들 역시 포스트 상에 댓글을 달거나 또는 다른 사용자들이 달아 놓은 댓글에 댓글을 달 수 있다. 이러한 댓글들은 비록 그것들이 포스트가 최초에 이메일 애플리케이션에 연결된 이후 만들진 것이라 하더라도, 다양한 사용자 이메일 애플리케이션 내에 포함되어 보여질 수 있다. 그러므로, 다양한 형태의 피드백(feedback)이 각각의 사용자가 편리하게 이용할 수 있도록 한 공간에 만들어질 수 있다. 사용자는 다른 사용자들의 프로파일 페이지(profile pages)를 방문함으로써, 다른 사용자와 연관된 포스트를 볼 수도 있으며, 또한 구독되고 있는 포스트들에 대한 댓글들 및 모든 포스트를 보기 위해 자신의 프로파일 페이지 또는 스트림 페이지(stream page)를 들어갈 수 있다.
다양한 포스트, 및 포스트에 달린 댓글은 액티비티 스트림 백앤드(activity streams backend)(502)에 의해 시스템(500) 내에서 관리되는데, 이 액티비티 스트림 백앤드는 시스템(500)이 처리할 다양한 제출들의 방식을 정의하는 비즈니스 로직(business logic)을 구현하는 역할을 수행한다. 액티비티 스트림들은 액티비티들로 특징화되는 것으로서, 사용자가 시스템(500)에 제출한 포스트(예컨대, 마이크로-블로그 포스트)들의 주제, 및 그러한 액티비티들에게 직접적으로 관련되는 다양한 댓글들이다. 예를 들면, 사용자는 포스팅 페이지 내에 그 페이지의 URL을 포스팅 페이지 내에 붙여 넣음으로써 자신이 현재 보고 있는 웹페이지에 관한 액티비티를 포스팅 할 수 있다. 이러한 액션은 시스템(500)로 하여금 URL로부터 중요한 정보를 수집하게 하는데, 상기 정보에는 해당 페이지에 디스플레이된 이미지, 표제(headings), 이미지에 대한 라벨(labels), 또는 페이지의 토픽을 묘사한 주제어(topical term)들(예를 들어, 페이지 상의 단어들에 대한 분석(예컨대, 페이지에 대한 ADSENSE 분석을 사용함)을 통해 미리 결정된 바와 같이)를 모으게 할 수 있다. 또한, 시스템(500)은 위치 정보(예컨대, 사용자의 현재 위치), 및/또는 사용자가 가장 최근에 관계된 장소(예컨대, 사용자가 위치를 찾아본 장소로서 최근에 체크하였거나 확인한 장소)를 얻을 수 있다.
또한, 액티비티 스트림 백앤드(activity stream back-end, 502)는 사용자들이 수신하는, 포스트들, 포스트들에 달린 댓글, 및 시스템(500) 내이 있는 스트림의 다른 부분들을 결정하는 로직을 구현한다. 특히, 다른 사용자들로부터 포스트들을 수신하도록 구독 신청한 사용자들은, 그들이 시스템(500)에 로그인할 때 포스트를 제공받을 수 있으며, 그 다른 사용자들이 보통의 경우처럼 스트림 내에 포함되지 않았을 때, 사용자들은 스트림들의 복사본을 수신하기 위해 다른 사용자들을 지명(nominate)할 수 있으며(예컨대, 포스트를 리뷰할 때 그 다른 사용자에 대한 식별자를 기재함으로써), 사용자들은 다른 것들 중에서, 스트림들을 서로에게 직접 전송할 수 있다.
피드 리더 백앤드(feed reader back end, 504)는 포스트들 및 시스템(500)에 대한 관련 데이터에 대한 저장소(storage)를 관리한다. 피드 리더 백앤드(504)는 포스트들, 포스트들에 달린 댓글들, 그리고 사용자가 시스템(500)으로부터 정보를 요청하였을 때 사용들을 위해 스트림들을 구성하는데 필요한 다른 정보를 저장하기 위해, 액티비티 저장소(activity storage, 546)의 다양한 레벨을 필요로 할 수 있다. 이 도면에서 보여지는 다른 구성요소들과 마찬가지로, 피드 리더 백앤드(504)는 단일 블록으로 도시되었지만, 다수의 다른 서버 또는 서버 서브-시스템을 사용하여 구현될 수 있으며, 마찬가지로 액티비티 저장소(546)는 다수의 데이터베이스와 데이터베이스 유형들의 전체를 통해, 여러 가지의 서버들과 서버 서브-시스템들의 전체를 통해 구현될 수 있다.
포스트 또는 다른 업데이트들이 액티비티 스트림 백앤드(502)에 의해 수신되면, 그것들은 포맷되어 업데이트 펌프(update pump, 508)에 제공된다. 업데이트 펌프(508)는 이러한 정보가 필요할지도 모르는 다양한 서비스들에 새롭게 포스팅된 정보에 관한 알림(notice)을 제공할 책임이 있다. 이는 사실상, 시스템(500)과 연관된 정보의 라우터(router)와 디스트리뷰터(distributor)로서 동작한다. 예를 들면, 메일 서버(514)는 스트림들의 디스플레이를 통합하는 기능을 포함할 수 있고, 따라서 새 정보가 포스팅 되었을 때 메일 클라이언트의 사용자들에게 즉시 보여지게 하기 위해, 새로운 포스트들에 대해 알아야 할 필요가 있을 수 있다. 유사한 방식으로, 탐색 엔진(search engine, 530)은 사용자들이 시스템에 공급하는 다양한 포스트들로부터 실시간 업데이트하는 정보를 포함하는 탐색 결과를 사용자들에게 제공할 수 있고, 공지의 APIs와 원격 프로시져 호출(RPCs;Remote Procedure Calls)fmf 통해 업데이트 펌프(508)와 상호 작용함으로써 이와 같이 업데이트된 정보를 수신할 수 있는데, APIs와 RPCs는 대형 조직-광역 시스템(lager organization-wide system)의 부속 구성요소로인 경우, 이들을 통해 업데이트 펌프(508)와 상호 연동함으로써 그러한 업데이트 정보를 수신할 수 있다.
다양한 웹 프론트 앤드(web front-ends)가 시스템(500)이 인터넷(및 인접한 지원 네트워크)과 같은 네트워크(506)를 통해 통신하기 위해 제공된다. 예를 들면, 메일 서버(514)는 사용자의 수신함 안에 포스트들과 댓글들을 통합하더라도, 메일 클라이언트(520)를 통해 전형적인 웹 기반의 전자메일 기능을 제공할 수 있다. 예로서, 스트림들은 사용자의 수신함 안에서 별개의 메시지로 보여질 수 있으며, 스트림 상의 가장 최근 댓글들과 스트림에 대해서 근원이 되는 포스트들을 포함하도록 실시간으로 업데이트될 수 있다. 이러한 콘텐츠는 사용자가 전용 스트림 리더에에서 스트림들을 리뷰하고 있다면, 사용자가 충분한 수준까지 콘텐츠와 상호 작용할 수 있다는 점에서, 액티브(active)일 수 있다. 예를 들면, 선택가능한 컨트롤이 이메일 클라이언트(520)에 의해 디스플레이되는 스트림으로 제공될 수 있으며, 사용자는 이메일 클라이언트(520) 내에서 메시지의 문맥을 벗어나지 않고서도 스트림에 추가될 댓글을 포스팅하기 위해 하나를 선택할 수 있다.
프로파일 서버(510)는 사용자 Joe Blow의 프로파일(522)과 같은 사용자 프로파일을 표현하기 위한 코드를 생성한다. 프로파일 페이지는 발생순의 역순으로 된 다른 사용자로부터의 포스트들과 댓글들의 리스트로 배열된, 소셜 네트워킹 사이트로부터의 표준 피드 페이지(standard feed page)의 형식을 갖을 수 있다. 유사한 방식으로서, 액티비티 프론트 앤드(512)는 사용자의 피드 페이지(524)에 대한 유사한 피드(feed)를 생성할 수 있는데, 여기서는 Susie User라는 이름의 사용자에 대한 것이다. 프로파일 페이지(522)와 피드 페이지(524)는 서로 간에 매우 유사할 수 있으며, 포스팅 또는 메일 클라이언트(520)의 마이크로-블로깅 세션의 일부로서 제시되는 것과 유사한 콘텐츠를 제시할 수 있다. 일 예시로서, 피드 페이지(524)가 사용자 자신이 보는 것인 반면, 프로파일 페이지(522)는 그들이 사용자의 계정을 보았을 때, 3자가 보게 되는 것이다.
탐색 엔진(530) 및 관계된 탐색 프론트 앤드(518)는 시스템(500)에 대해서 다른 부류의 기능을 제공한다. 특별히, 탐색 프론트 앤드(518)는 사용자가 비 전통적인 소스(non-traditional source)로부터 포스트들 또는 댓글들을 제공할 수 있게 하는데, 이 비 전통적인 소스로는 예컨대, 탐색 웹 페이지 상에 있는 탐색 박스들 또는 자신들의 기기(machine)에 인스톨되어 자신들의 웹 브라우저와 제휴하여 동작하는 툴바(toolbar) 상의 탐색 박스가 있을 수 있다. 그런 포스트들 또는 댓글들은 탐색 요청과 마찬가지로, 사용자에 의해 제출될 수도 있고, 탐색 프론트 앤드에 의해 표준 방식으로 수신될 수도 있다. 사용자가 탐색 쿼리 보다는(또는 탐색 쿼리에 부가하여) 포스트를 제출하려 한다는 의도는 제출문의 구문론적 분석(syntactical analysis)에 의해 판정될 수 있다. 일 예시에서, 쿼리가 문자 "z"로 시작하고 그 뒤에 스페이스가 있다면(스크린(528) 참조)- 실제의 탐색 쿼리로서 거의 제출되지 않는 구성체(construct)임- 시스템은 제출문 일부를 분석하고, 구문법(syntax)으로부터, 해당 사용자는 그들의 소셜 네트워크로의 포스트로서, 제출된 쿼리의 리마인더(reminder)를 포스팅할 의도임을 추정할 수 있다.
이러한 포스트는 즉시 만들어지거나 또는 그들이 포스팅을 만들고자 한다는 것을 제출한 사용자를 확정(confirm)한 후에 만들어질 수 있다. 예를 들면, 탐색 결과 페이지(526)는 탐색 엔진(530)이 전통적인 방식으로 인덱스(538)로부터의 데이터를 이용하여 생성한, 제출된 쿼리에 대한 실제 탐색 결과("z"로 시작하는지 여부에 상관없이)를 포함하여 생성될 수 있으며, 사용자가 그 포스트를 편집할 수 있고, 이어서 정보를 친구들, 팔로워들, 또는 그 밖의 사람들에게 포스팅하려는 의도를 확정하는 것을 선택가능한 컨트롤 및 제안된 포스트의 형식을 사용자에게 보여주는 영역의 아래에 디스플레이될 수 있다. 이어, 포스트는 이후 탐색 프론트 앤드(518)에 의해 사용자에 대한 식별 정보(identifying information)와 함께 액티비티 스트림 백앤드(502)로 전달될 수 있는데, 여기서 식별 정도는 사용자가 시스템(500)을 구현하는 광대역 서비스(broader service)에 로그인하였을 때, 사용자의 컴퓨팅 디바이스에 있는 쿠키로부터 식별된 사용자 ID를 포함한다.
사용자에 의해 제출된 다른 구문법(syntax)은 다른 결과를 가져올 수 있다. 예를 들면, 만일 사용자가 (예컨대, "[email protected]"의 형태로) 이메일 주소를 입력하였다면, 시스템은 이메일 메시지로서 제출문의 남아 있는 텍스트를, 제공된 이메일 주소에 있는 사용자에게 송신하고자 한다는 의도를 나타내는 것으로 구문을 식별할 수 있다. 마찬가지로, 사용자가 통신 모드 식별자(communication mode identifier)가 따라 오는 컨트롤 문자로 제출문을 시작하면, 제출문의 나머지는 사용자에게 제안된 액션을 먼저 제시하는 것에 상관없이 테트 통신 모드(tat communication mode)에서 포스팅을 위해 제출될 수 있으며, 사용자가 그러한 통신을 하려고 의도하였다는 것을 확인할 수 있다. 예를 들면, 사용자가 "z blog I'm having a great time"을 입력하였다면, 구문법은 사용자가 사용자의 블로그에 제출된 구문 "I'm having a good time"을 포스팅하고 싶어한다는 것을 시스템(500)에 나타낼 수 있다.(여기서, 블로그의 신원(identity)은 사용자의 컴퓨팅 디바이스에 쿠키(cookie)로서 저장된 사용자 ID를 사용하여 시스템(500)에 의해 판정될 수 있고, 결국 블로그에 상관되는 사용자의 계정에 상관될 수 있음)
탐색 결과와 그 밖의 다른 정보(예컨대, 포스트들과 이메일 메시지들)는 탐색 쿼리(search query) 또는 다른 유사한 정보들에 관계된 타겟화된 광고들을 동반할 수 있는데, 여기서 다른 유사한 정보는 프로파일 정보, 사용자에 의한 댓글들 또는 포스트들의 텍스트, 사용자와 관계를 갖는 사용자들(예컨대, 친구들, 팔로워들, 또는 첫번째 사용자가 팔로우하는 사용자들)의 댓글들이나 포스트들의 텍스트를 포함한다. 이러한 광고는 탐색 프론트 앤드(518) 또는 그 밖의 다른 프론트 앤드들(510, 512, 514)을 통해 시스템(500)의 사용자들에게 제공될 수 있으며, GOOGLE ADWORDS 또는 ADSENSE에 이용되는 것과 같은 기술들을 사용하여 타겟화될 수 있다. 이러한 광고의 제공은 데이터 베이스(534)에 있는 광고 데이터에 따라 달라지며, 광고 데이터는 광고주(advertiser), 광고에 대한 텍스트와 다른 콘텐츠, 다양한 광고주에 의해 제출된 입찰가격, 및 사용자들과 관련된 광고들 및/또는 그 사용자에게 보내지거나 그 사용자로부터 보내져온 정보에 대한 스트림들을 제공하기 위해 필요한 다른 관련 정보를 포함할 수 있다.
다양한 위치 기반 서비스들이 예를 들어, 포스트 또는 댓글이 만들어진 곳으로부터 위치들(예컨대, 위도/경도 좌표들) 또는 장소들(예컨대 상점, 경기장, 술집, 또는 음식점)를 인식함으로써, 포스트들 또는 댓글들과 통합될 수 있다. 이러한 서비스들은 위치 서버(542)와 지리 서비스(544)에 의해 이 예시적 시스템(500) 에서 제공된다. 위치 서버(542)는 일반적으로 시스템(500)의 사용자에 관한 위치 정보의 수신에 응답으로 장소 다른 랜드마크(landmarks)들에 관한 정보를 제공한다. 예를 들면, 사용자가 포스트를 제출하였을 때, 사용자에 대한 지리 좌표가 포스트(예컨대, 사용자의 모바일 컴퓨팅 디바이스에 탑재된 GPS 기능)와 함께 제공되거나 또는 시스템(500)에 의해(예컨대, 셀 타워(cell tower)나 액세스 포인트 식별 또는 삼각 측량(triangulation)) 그 사용자에 대해 판정될 수 있다. 지리-위치 정보(geo-location information)는 모바일 컴퓨팅 디바이스의 추정(estimate)된 위도와 경도일 수 있고, 추정의 정확도를 식별하는 정보일 수 있다. 위치 서버(542)는 API를 통해 시스템(500)의 다양한 다른 구성요소들을 이용할 수 있게 마련될 수 있다.
위치 서버(542)는 이러한 지리-위치 정보를, 사용자의 일반적인 위치에서 하나 이상의 장소(예컨대, 상점들, 음식점들, 또는 술집들)를 식별하는데 사용할 수 있고, 사용자가 있을 수 있는 지리적 영역에 있는 장소들에 대한 순위 리스트를 제공하기 위해, 각의 장소에 대한 사용자의 근접도(proximity)와 다른 신호들(예컨대, 장소 이름으로 제출된 검색 퀴리로부터 정해진 각 장소의 인기도, 시스템(500)의 사용자에 의한 해당 장소에서의 체크-인(check-in)들, 해당 장소로부터의 포스트와 관계된 액티비티의 양(volume), 예를 들면 구독자의 수, 포스트에 달린 댓글들의 양을 통해 알 수 있는 포스트 저작자에 대한 평판, 또는 구독자들에 대해 유사하겨 판정되는 평판)을 사용할 수 있다. 사용자는 장소에 대한 단일 추천 또는 몇 군데의 추천된 장소를 제공받을 수 있다. 이어, 사용자는 그런 장소 하나를 선택할 수 있는데, 그 장소는 다른 사용자가 해당 장소를 리뷰할 때, 그 포스트와 관계될 수 있다. 예를 들면, 그 포스트는 해당 포스트가 "Dive Bar로부터 포스팅 된 것임"을 나타내는 메타 데이터(meta data)를 동반할 수 있으며, 다른 사용자들은 그 장소에 대한 추가 정보를 보기 위해 "Dive Bar"를 선택할 수 있는데, 해당 추가 정보에는 그 장소로부터의 다른 포스트들, 장소의 순위, 그 장소에 속하는 스트림들(예컨대, 그 장소의 관리자가 장소를 만들었다면 시스템(500)의 사용자) 및 다른 유사한 정보를 포함한다.
위치 서버(542)는 다양한 외부의 서비스들로부터 지리 서비스(544)와 같은 기능을 제공하는데 필요한 정보를 얻을 수 있다. 지리 서비스(544)는 위치 정보(예컨대, 위도/경도 좌표들)를 수신하고, 보다 향상된 정보를 응답으로 제공하기 위해 표준 APIs를 통해 통신하는 서비스일 수 있다. 보다 향상된 정보는 위도/경도 좌표와 관계되어 정해진 거리 주소(street address, 예컨대, 위도/경도 좌표로 표현되는 특정 위치와 가장 가까운 거리 주소)를 포함할 수 있다. 또한, 보다 향상된 정보는 또한 특정 위치에 지리적으로 가까운 장소 이름들의 리스트, 그 장소에 대한 거리 주소, 그 장소들을 묘사한 정보, 특정 위치에 관련된 맵 타일(map tiles), 및 각 장소에 대한 관련성 점수(relevance score)를 포함할 수 있다. 각 장소에 대한 관련성 점수는 (1)수신된 위치 정보, (2)수신된 위치 정보의 정확성, 및 (3)그 장소와 수신된 위치 정보에 의해 식별된 위치와의 거리에 해당하는 항목의 임의 조합에 기초하여 특정 장소가 얼마나 관련성을 갖는지를 식별할 수 있다.
다른 구성요소들은 시스템(500)에 대해 추가적 기능을 제공하는 것으로 이미 설명된 구성요소들과 상호 작용할 수 있다. 예를 들면, 크롤러(crawler, 550)는 시스템(500) 내의 콘텐츠를 색인할 목적으로 다양한 포스트들과 댓글들을 크롤할 수 있어서, 예를 들면, 검색 엔진(530)이 사용자가 가장 최근에 포스팅한 것을 포함하는 탐색 결과를 즉시 시스템(500)에 전달할 수 있다. 또한 스팸 서버(spam server, 548)는 적절하지 않은 것(예컨대, 공격적이거나, 욕설적이거나, 또는 그 밖의 부적당한 것), 중복적인 것, 사기성이 있는 것(예컨대, 한 사용자가 다른 사용자를 가장하는 형태)일지도 모르는 포스트들과 댓글들을 식별하고, 이러한 콘텐츠에 관하여 적절하게 행동(예컨대, 콘텐츠에 대해 자동적 및/또는 수동적 검토(review)를 제공하고, 시스템(500)으로부터 콘텐츠를 제거하거나 콘텐츠를 숨길 수 있음)하기 위하여, 액티비티 스트림 백앤드(502) 및/또는 업데이트 펌프(508)와 통신할 수 있다.
마지막으로, 추천 서버(recommendation server, 540)는 시스템(500)에 제출된 어떤 새로운 액티비티 또는 포스트를 제공(예컨대, 액티비티 스트림 백앤드(502)를 통하여)할 수 있다. 추천 서버(540)는 액티비티를 수신해야 하는 사람들의 수에 관하여 액티비티 스트림 백앤드(502)에 답신을 쓸 수 있다. 이러한 정보는 다음 차례의 메시지가 액티비티에 관하여(예컨대, 해당 액티비티에 달린 댓글) 발신되도록 하기 위해 저장될 수 있어서, 새롭게 추천된 사용자들 또한 이 액티비티를 받는다. 품질 점수(quality score)는 사용자가 어떤 액티비티를 수신해야 하는지를 판정할 때 계산될 수 있으며, 이 점수는 인자들에 의해 결정될 수 있는데, 그 인자들로는 사용자와 액티비티에 포스팅을 하였거나 그 액티비티를 추천한 다른 사용자들 사이의 관계 거리(distance of relationship), 사용자의 프로파일에서 식별되는 사용자의 관심(예컨대, 사용자가 소셜 네트워크에서 클래식 자동차 모임의 회원이고, 이러한 점이 클래식 자동차에 관련된 액티비티에 관한 알림들을 수신할 가능성이 높음), 또는 사용자가 만든 포스트들 또는 다른 제출물들에 의해 식별되는 사용자의 관심, 사용자가 팔로잉하는 사용자들 또는 액티비티들 등이 있다. 추천의 적정 레벨을 유지 관리하기 위하여(지나치게 많거나 지나치게 적지 않게), 품질 임계값(quality threshold)이 추천 서버(540)에 의해 설정될 수 있다.
이어, 여기서 설명된 구성요소들을 사용하여, 시스템(500)은 다양한 모드의 포스팅에 대한 통합과, 마이크로-블로그 포스트들과 같은 스트림들에서 제공되는 콘텐츠와 이러한 포스트드에 달린 댓글들을 수신하기 위해 제공될 수 있다. 사용자는 검색 페이지 또는 툴바(toolbars) 상의 탐색 박스 안에 직접 포스팅하는 방식을 포함하는 다양한 방식으로 포스팅할 수 있기 때문에, 이러한 사용자들이 페이지들 또는 툴바들의 공급자에 의해 제공되는 시스템에 보다 견고하게 통합될 수 있으며, 사용자들은 이미 자신에게 상당히 친근한 문맥으로 포스트를 제공할 수 있다. 또한, 사용자들은 또한 자신에게 이미 친근하고 이러한 포스트들을 리뷰하기 위해 친근한 애플리케이션을 사용하지 않도록 요구받지 않는 방식으로, 자신의 이메일 클라이언트 내에 있는 포스트들과 그 밖의 다른 콘텐츠를 리뷰할 수 있다. 또한, 콘텐츠는 그들의 위치에서 위치들과 장소들에 관한 정보(콘텐츠의 리더가 이 위치(예컨대, 포스트들로부터 제공되는 하이퍼링크)로부터 추가 정보를 얻을 수 있음)를 포함할 수 있으므로, 콘텐츠가 사용자를 위해 풍성해질 수 있고, 사용자들은 예컨대, 그들의 이메일 애플리케이션으로부터 포스트들에 대해 바로바로(in-line) 응답할 수 있다. 이 모든 방법에 있어서, 시스템(500)은 사용자가 친구들 및 다른 사용자들과 보다 간단하고 완전하게 상호 작용할 수 있게 하는 통신 기능을 제공할 수 있으며, 시스템(500)의 사용자들이 이용할 수 있는 지식의 레벨(level of knowledge)을 증가시킬 수 있다.
도 6은 본 명세서에서 설명된 기술들에 사용될 수 있는 일반적인 컴퓨터 디바이스(600)와 일반적인 모바일 컴퓨터 디바이스(650)의 예시를 나타낸다. 컴퓨팅 시스템(600)은 랩탑, 데스크탑, 워크스테이션, PDA(Personal Digital Assistant), 서버, 블레이드(blade) 서버, 메인프레임, 및 그 밖의 적절한 컴퓨터들과 같은 다양한 형태의 디지털 컴퓨터를 나타내기 위해 사용된다. 컴퓨팅 디바이스(650)는 PDA, 셀룰라 전화, 스마트폰, 및 그 밖의 유사한 컴퓨팅 디바이스와 같은 다양한 형태의 모바일 디바이스를 나타내기 위해 사용된다. 본 명세서에서 나타낸 구성요소, 그들의 접속 및 관계, 및 그들의 기능들은 단지 예시적인 것을 의미하고, 본 명세서에서 설명하거나 및/또는 청구된 발명들의 구현예를 제한하는 것을 의미하지 않는다.
컴퓨팅 디바이스(600)는 프로세서(602), 메모리(604), 저장 디바이스(606), 메모리(604)와 고속 확장 포트(610)에 접속하는 고속 인터페이스(608), 및 저속 버스(614)와 저장 디바이스(606)에 접속하는 저속 인터페이스(612)를 포함한다. 각 구성요소(602, 604, 606, 608, 610, 및 612)는 다양한 버스들을 사용하여 서로 접속되고, 공통 마더보드에 탑재되거나 또는 적절한 경우 다른 방식으로 탑재될 수 있다. 프로세서(602)는 컴퓨팅 디바이스(600) 내에서 실행하기 위한 인스트럭션을 처리할 수 있으며, 이러한 인스트럭션에는, 고속 인터페이스(608)에 연결된 디스플레이(616)와 같은 외장 입/출력 디바이스 상에서 GUI용 그래픽 정보를 디스플레이하기 위해, 메모리(604) 또는 저장 디바이스(606)에 저장되는 인스트럭션이 포함된다. 다른 구현예에서, 다중 프로세서 및/또는 다중 버스는 적절한 경우, 다중 메모리 및 메모리 타입과 함께 사용될 수 있다. 또한, 다중 컴퓨팅 디바이스(600)는 각 디바이스가 필요 동작의 부분을 제공하는 형태(예를 들어, 서버 뱅크, 블레이드 서버의 그룹, 또는 다중 프로세서 시스템)로 접속될 수 있다.
메모리(604)는 컴퓨팅 디바이스(600) 내에 정보를 저장한다. 일 구현예에서, 메모리(604)는 휘발성 메모리 유닛 또는 유닛들이다. 또 다른 구현예서, 메모리(604)는 비휘발성 메모리 유닛 또는 유닛들이다. 또한, 메모리(604)는 마그네틱 또는 광 디스크와 같은 다른 형태의 컴퓨터 판독가능 매체일 수 있다.
저장 디바이스(606)는 컴퓨팅 디바이스(600)를 위한 대용량 저장소(mass storage)를 제공할 수 있다. 일 구현예에서, 저장 디바이스(606)는 플로피 디스크 디바이스, 하드 디스크 디바이스, 광 디스크 디바이스, 또는 테입 디바이스, 플래쉬 메모리 또는 다른 유사한 고체 상태 메모리 디바이스, 또는 저장 영역 네트워크 또는 다른 구성에 존재하는 디바이스를 포함하는 디바이스 어레이일 수 있다. 컴퓨터 프로그램 제품은 정보 캐리어(information carrier) 내에 유형적으로 구체화될 수 있다. 또한, 컴퓨터 프로그램 제품은 실행될 때, 상술한 것과 같은 하나 이상의 방법을 수행하는 인스트럭션을 포함할 수 있다. 정보 캐리어는 메모리(604), 저장 디바이스(606), 또는 프로세서(602) 상의 메모리와 같은 컴퓨터 또는 기계 판독가능 매체이다.
저속 제어부(612)가 저대역-집약적 동작(lower bandwidth-intensive operations)을 관리하는 반면, 고속 제어부(608)는 컴퓨팅 디바이스(900)에 대한 대역-집약적 동작을 관리한다. 이러한 기능들의 배치는 단지 예시적인 것이다. 일 구현예에서, 고속 제어부(608)는 메모리(604), 디스플레이(616)(예를 들어, 그래픽 프로세서 또는 가속기를 통함)에 연결되고, 다양한 확장 카드(도시되지 않음)을 수용할 수 있는 고속 확장 포트(610)에 연결된다. 일부 구현예에서는, 저속 제어부(612)는 저장 디바이스(606) 및 저속 확장 포트(614)에 연결된다. 다양한 통신 포트(예를 들어, USB, 블루투스, 이더넷, 무선 이더넷)를 포함할 수 있는 저속 확장 포트는 키보드, 포인팅 디바이스, 스캐너와 같은 하나 이상의 입/출력 디바이스들에 연결되거나, 또는 예컨대 네트워크 어댑터를 통하여, 스위치나 라우터와 같은 네트워킹 디바이스에 연결될 수 있다.
컴퓨팅 디바이스(600)는 도면에 도시된 바와 같이, 복수의 다른 형태로 구현될 수 있다. 예를 들어, 컴퓨팅 디바이스(600)는 표준 서버(620)로 구현되거나 이러한 서버들의 그룹에서 여러 번(multiple time) 구현될 수 있다. 또한, 컴퓨팅 디바이스(600)는 랙 서버 시스템(624)의 부분으로서 구현될 수 있다. 이에 더하여, 컴퓨팅 디바이스(600)는 랩탑 컴퓨터(622)와 같은 개인용 컴퓨터내에 구현될 수 있다. 선택적으로, 컴퓨팅 디바이스(600)로부터의 구성요소는 디바이스(650)와 같은 모바일 디바이스(도시되지 않음) 내 다른 구성요소와 조합될 수 있다. 이러한 디바이스 각각은 하나 이상의 컴퓨팅 디바이스(600, 650)를 포함하고, 전체 시스템은 서로 통신하는 다중 컴퓨팅 디바이스(600, 650)로 구성될 수 있다.
컴퓨팅 디바이스(650)는 여러 구성요소 중에서 프로세서(652), 메모리(664), 디스플레이(654)와 같은 입/출력 디바이스, 통신 인터페이스(666), 및 트랜스시버(668) 등을 포함한다. 또한, 디바이스(650)에는 추가적인 저장소를 제공하기 위하여, 마이크로 드라이브 또는 다른 디바이스와 같은 저장 디바이스가 제공될 수 있다. 구성요소(650, 652, 664, 654, 666, 및 668) 각각은 다양한 버스를 이용하여 서로 접속되고, 구성요소의 몇몇은 공통의 마더보스에 탑재되거나 적절한 다른 방법으로 탑재될 수 있다.
프로세서(652)는 컴퓨팅 디바이스(650) 내에서 인스트럭션을 실행하며, 이 인스트럭션에는 메모리(664)에 저장된 인스트럭션이 포함된다. 프로세서는 개별적이고 다중의 아날로그 및 디지털 프로세서를 포함하는 칩들의 칩 세트로서 구현될 수 있다. 프로세서는, 예를 들어, 사용자 인터페이스의 컨트롤, 디바이스(650)에 의해 실행되는 애플리케이션, 및 컴퓨팅 디바이스(650)에 의한 무선 통신과 같은 디바이스(650)의 다른 구성요소들 사이에 조정을 제공할 수 있다.
프로세서(652)는 제어 인터페이스(658) 및 디스플레이(654)에 연결된 디스플레이 인터페이스(656)를 통해 사용자와 통신할 수 있다. 디스플레이(654)는, 예를 들어, TFT LCD(Thin-Film-Tansistor Liquid Crystal Display) 또는 OLED(Organic Light Emitting Diode) 디스플레이, 또는 다른 적절한 디스플레이 기술일 수 있다. 디스플레이 인터페이스(656)는 그래픽 및 다른 정보를 사용자에게 나타내기 위해 디스플레이(654)를 구동하는 적절한 회로를 포함할 수 있다. 제어 인터페이스(658)는 사용자로부터 명령들을 수신하고, 프로세서(652)에 제출하기 위해 그 명령들을 변환한다. 더욱이, 확장 인터페이스(662)는 디바이스(650)와 다른 디바이스들 간에 근거리 통신이 가능하도록 하기 위해, 프로세서(652)와의 통신에 제공될 수 있다. 확장 인터페이스(662)는, 예를 들어, 일부 구현예에서는 유선 통신을 제공하고 다른 구현예에서 무선 통신을 제공하며, 또한 다중 인터페이스가 사용될 수 있다.
메모리(664)는 컴퓨팅 디바이스(650) 내에 정보를 저장한다. 메모리(664)는 컴퓨터 판독가능 매체 또는 미디어, 휘발성 메모리 유닛 또는 유닛들, 또는 비휘발성 메모리 유닛 또는 유닛들 중 하나 이상으로서 구현될 수 있다. 또한, 확장 메모리(674)가 제공되어, 예를 들어 SIMM(Single In Line Memory Module) 카드 인터페이스를 포함하는 확장 인터페이스(672)를 통해 디바이스(650)에 접속될 수 있다. 이러한 확장 메모리(674)는 디바이스(650)를 위한 여분의 저장 공간을 제공할 수 있고, 또한 애플리케이션 또는 디바이스(650)를 위한 다른 정보를 저장할 수 있다. 특히, 확장 메모리(674)는 상술된 프로세스를 실행하거나 보조하기 위한 인스트럭션을 포함하고, 또한 보안 정보를 포함할 수 있다. 따라서 예를 들어, 확장 메모리(674)는 디바이스(650)용 보안 모듈(security module)로서 제공될 수 있고, 디바이스(650)의 안전한 사용을 가능하게 하는 인스트럭션로 프로그램될 수 있다. 더욱이, 보안 애플리케이션은, 해킹할 수 없는 방식(non-hackable manner)으로 SIMM 카드 상에 식별 정보를 위치시킨 것과 같은 추가적 정보와 함께 SIMM 카드를 통해 제공될 수 있다.
메모리는 아래에서 논의되는 것과 같이 예를 들어, 플래시 메모리 및/또는 NVRAM 메모리를 포함할 수 있다. 일 구현예에서, 컴퓨터 프로그램 제품은 정보 캐리어에 유형적으로 구체화된다. 컴퓨터 프로그램 제품은 실행될 때, 상술된 것과 같은 하나 이상의 방법을 수행하는 인스트럭션을 포함한다. 정보 캐리어는 메모리(664), 확장 메모리(674), 또는 예를 들어 트랜스시버(668) 또는 확장 인터페이스(662)를 통해 수신될 수 있는 프로세서(652) 상의 메모리 또는 전파된 신호(propagated signal)와 같은 컴퓨터-또는 기계-판독가능 매체이다.
디바이스(650)는 디지털 신호 처리 회로를 필요에 따라 포함하는 통신 인터페이스(666)를 통해 무선으로 통신할 수 있다. 통신 인터페이스(666)는 GSM 음성 호, SMS, EMS, 또는 MMS 메시징, CDMA, TDMA, PDC, WCDMA, CDMA2000, 또는 GPRS 등과 같은 다양한 모드 또는 프로토콜 하에서의 통신을 제공할 수 있다. 이러한 통신은 예를 들어, 무선-주파수 트랜스시버(668)를 통해 수행될 수 있다. 또한, 단거리(short range) 통신은 예를 들어, 블루투스, WiFi, 또는 다른 이러한 트랜스시버(도시되지 않음)를 사용하여 수행될 수 있다. 이에 더하여, GPS(Global Position System) 수신기 모듈(670)은 추가적인 네비게이션- 및 위치- 관련 무선 데이터를 디바이스(650)에 제공할 수 있으며, 이 무선 데이터는 디바이스(650)에서 실행중인 애플리케이션에 의해 적절하게 사용될 수 있다.
또한, 디바이스(650)는 사용자로부터의 발화 정보(spoken information)를 수신하고, 그 발화 정보를 사용가능한 디지털 정보로 변환하는 오디오 코덱(660)을 이용하여, 청취가능하게(audibly) 통신할 수 있다. 또한, 오디오 코덱(660)은 예를 들어, 디바이스(650)의 핸드셋 내의 스피커를 통하는 것과 같이 해서, 사용자가 들을 수 있는 음성을 생성한다. 이러한 음성은 음성 전화 호로부터의 음성을 포함할 수 있고, 녹음된 음성(예를 들어, 음성 메시지, 음악 파일 등)은 포함할 수 있고, 또한 디바이스(650) 상에서 동작하는 애플리케이션에 의해 생성된 음성을 포함할 수 있다.
컴퓨팅 디바이스(650)는 도면에 도시된 바와 같이, 복수의 다양한 형태로 구현될 수 있다. 예를 들어, 컴퓨팅 디바이스(650)는 셀룰러 전화(680)로서 구현될 수 있다. 또한, 컴퓨팅 디바이스(650)는 스마트폰(682), PDA, 또는 다른 유사한 모바일 디바이스의 일부로서 구현될 수 있다.
본 명세서에 기재된 시스템의 다양한 구현예와 기술은 디지털 전자 회로, 집적 회로, 특별하게 설계된 ASICs(Application Specific Intergrated Circuit), 컴퓨터 하드웨어, 펌웨어, 소프트웨어, 및/또는 그것의 조합물로 실현될 수 있다. 이러한 다양한 구현예는 하나 이상의 컴퓨터 프로그램으로 된 구현예를 포함하며, 이 컴퓨터 프로그램은 적어도 하나의 프로그램 가능한 프로세서를 포함하는 프로그램 가능한 시스템에서 실행가능하고 및/또는 해석가능하다. 또한, 전용 또는 범용 프로세서일 수 있는 이 프로그램 가능한 프로세서는 데이터와 인스트럭션을 송수신하기 위해, 저장 시스템, 적어도 하나의 입력 디바이스 및 적어도 하나의 수신 디바이스에 연결된다.
컴퓨터 프로그램(또한 프로그램, 소프트웨어, 소프트웨어 애플리케이션, 또는 코드로 알려짐)은 프로그램 가능한 프로세서를 위한 기계 인스트럭션을 포함하고, 고레벨 절차 및/또는 오브젝트 지향 프로그램 언어(object-oriented programming language) 및/또는 어셈블리/기계 언어로 구현될 수 있다. 본 명세서에서 사용되는 바와 같이, 용어 "기계 판독가능 매체(machine-readable medium)"와 "컴퓨터 판독가능 매체(computer-readable medium)"는 기계 인스트럭션 및/또는 데이터를 프로그램 가능한 프로세서에 제공하기 위해 이용되는 임의의 컴퓨터 프로그램 제품, 장치, 및/또는 디바이스(예를 들어, 마그네틱 디스크, 광학 디스크, 메모리, PLDs(Programmable Logic Devices))를 가리키며, 기계 판독가능 신호와 같은 기계 인스트럭션을 수신하는 기계 판독가능 매체를 포함한다. 용어 "기계 판독가능 신호(machine-readable signal)"는 기계 인스트럭션 및/또는 데이터를 프로그램 가능한 프로세서에 제공하기 위해 사용되는 임의의 신호를 가리킨다.
사용자와의 상호 동작을 제공하기 위하여, 본 명세서에 기술된 시스템과 기술은, 정보를 사용자에게 디스플레이하기 위한 디스플레이 디바이스(예를 들어, CRT(cathode ray tube) 또는 LCD 모니터)와 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 디바이스(예를 들어, 마우스 또는 트랙볼)를 구비한 컴퓨터상에서 구현될 수 있다. 사용자와의 상호 동작을 제공하기 위하여 다른 종류의 디바이스가 또한 사용될 수 있다; 예를 들어, 사용자에게 제공되는 피드백(feedback)은 임의의 형태의 감각 피드백(예를 들어, 시각 피드백, 청각 피드백 또는 촉각 피드백)일 수 있고, 사용자로부터의 입력은 음향(acoustic), 음성(speech) 또는 촉각(tactile) 입력을 포함하는 임의의 형태로 수신될 수 있다.
본 명세서에서 설명한 시스템과 기술은, 백앤드(back end) 구성요소(예를 들어, 데이터 서버와 같은), 또는 미들웨어 구성요소(예를 들어, 애플리케이션 서버), 또는 프론트 앤드(front end) 구성요소(예를 들어, 본 명세서에서 설명된 시스템 및 기술의 구현예와 사용자가 상호 동작할 수 있는 그래픽 사용자 인터페이스 또는 웹브라우저를 구비한 클라이언트 컴퓨터), 또는 이러한 백앤드, 미들웨어, 또는 프론트 앤드 구성요소들의 임의의 조합을 포함하는 컴퓨팅 시스템으로 구현될 수 있다. 시스템의 구성요소는 디지털 데이터 통신의 임의의 형태 또는 매체(예를 들어, 통신 네트워크)에 의해 상호 접속될 수 있다. 통신 네트워크의 예로서, 근거리 네트워크(LAN), 광역 네트워크(WAN), 및 인터넷이 있다.
컴퓨팅 시스템은 클라이언트와 서버를 포함할 수 있다. 클라이언트와 서버는 보통 서로 떨어져 있으며, 일반적으로는 통신 네트워크를 통하여 상호 동작한다. 클라이언트와 서버의 관계는 각각의 컴퓨터상에서 실행되고 상호 클라이언트-서버 관계를 갖는 컴퓨터 프로그램에 의하여 발생한다.
많은 구현예들이 자세하게 상술되었지만, 다른 변혀예들도 가능하다. 또한, 마이크로-블로그로부터의 액티브 콘텐츠를 디스플레이하고, 사용자의 이메일로부터 마이크로-블로그 콘텐츠와 상호 작용하기 위해 다른 메카니즘들이 사용될 수도 있다. 이에 더하여, 도면에서 묘사된 로직 흐름은 희망하는 결과를 달성하기 위해, 도시된 특정 순서 또는 시계열적 순서일 필요는 없다. 다른 단계들이 제공되거나, 그로부터 단계들이 제거될 수 있으며, 다른 구성요소들이 설명된 시스템에 추가되거나 그로부터 제거될 수 있다. 따라서 다른 구현예들은 후술하는 청구범위의 범위 내에 속한다.
500: 시스템
502: 액티비티 스트리밍 백앤드
504: 피드 리더 백앤드
508: 업데이트 펌프
510: 프로파일 서버
512: 액티비티 프론트 앤드
514: 메일 서버
518: 탐색 프론트 앤드
530: 탐색 엔진
530: 추천 서버
532: 광고 서버들
542: 위치 서버
502: 액티비티 스트리밍 백앤드
504: 피드 리더 백앤드
508: 업데이트 펌프
510: 프로파일 서버
512: 액티비티 프론트 앤드
514: 메일 서버
518: 탐색 프론트 앤드
530: 탐색 엔진
530: 추천 서버
532: 광고 서버들
542: 위치 서버
Claims (20)
- 마이크로-블로그(micro-blog)로부터의 콘텐츠(content)를 사용자의 이메일(e-mail)에 있는 이메일 메시지에 배달(delivery)하는 컴퓨터 구현 방법으로서,
사용자로부터 마이크로-블로그에 있는 스레드(thread)와 관계된 이메일 메시지를 보이도록 하라는 요청(request)을 수신하는 단계
상기 요청에 응답하여, 상기 마이크로-블로그 스레드의 실시간 사본(real time copy)을 검색하기 위해 마이크로-블로그에 액세스하는 단계; 및
상기 사용자의 이메일 메시지에 디스플레이하기 위해 상기 마이크로-블로그 스레드의 실시간 사본을 배달하는 단계를 포함하여 구성된 것을 특징으로 하는 컴퓨터 구현 방법. - 청구항 1에 있어서,
상기 이메일 메시지는 상기 마이크로-블로그에 있는 스레드와 관계된 임베디드된 다이나믹 오브젝트(embedded dynamic object)를 포함하고,
상기 마이크로-블로그에 액세스하는 단계는 상기 임베디드된 다이나믹 오브젝트에 기초하여 상기 마이크로-블로그에 액세스하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 구현 방법. - 청구항 1에 있어서,
마이크로-블로그에 있는 스레드에 대한 업데이트에 기초하여 실시간으로 상기 이메일 내에 랜더링된 마이크로-블로그 엔트리(micro-blog entry)들을 업데이트하는 단계를 더 포함하는 특징으로 하는 컴퓨터 구현 방법. - 청구항 1에 있어서,
사용자의 이메일 애플리케이션으로부터 수신된 사용자 입력에 기초하여 상기 마이크로-블로그 스레드에 대한 엔트리들을 업데이트하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 구현 방법. - 청구항 1에 있어서,
상기 사용자의 이메일 애플리케이션으로부터 수신된 사용자 입력에 기초하여 상기 마이크로-블로그 스레드에 대한 엔트리들을 업데이트하는 단계는,
상기 이메일 메시지와 관계된 텍스트 엔트리 박스(text entry box)를 제공하는 단계;
상기 텍스트 엔트리 박스로부터 사용자 입력을 수신하는 단계; 및
상기 수신된 사용자 입력에 응답하여, 상기 수신된 사용자 입력을 상기 마이크로-블로그에 포스팅(posting)하는 단계를 포함하여 구성된 것을 특징으로 하는 컴퓨터 구현 방법. - 청구항 1에 있어서,
상기 사용자의 이메일 애플리케이션으로부터 수신된 사용자 입력에 기초하여 상기 마이크로-블로그 스레드에 대한 엔트리들을 업데이트하는 단계는,
사용자의 선택에 의해 '좋아요' 표시를 제공하도록 구성된, 상기 이메일 메시지에 링크를 제공하는 단계;
상기 사용자로부터 '좋아요' 표시를 수신하는 단계; 및
상기 '좋아요' 표시를 마이크로-블로그에 포스팅하는 단계를 포함하여 구성된 것을 특징으로 하는 컴퓨터 구현 방법. - 청구항 1에 있어서,
상기 사용자가 상기 이메일 메시지와 인라인(in-line)된 비디오를 볼 수 있게 하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 구현 방법. - 청구항 1의 방법에 있어서,
상기 이메일 메시지와 인라인된, 상기 마이크로-블로그 엔트리와 관계된 이미지들을 디스플레이하는 단계를 더 포함하여 구성된 것을 특징으로 하는 컴퓨터 구현 방법. - 청구항 5에 있어서,
이미지에 대한 사용자 선택에 응답하여, 상기 이미지의 확대된 크기 뷰(increased size view)로 디스플레이하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 구현 방법. - 청구항 1에 있어서,
엔트리들의 서브셋(subset)을 특정 사용자에게 이메일 메시지로 배달할 것인지를 판정하기 위해 마이크로-블로그 엔트리들을 필터링하는 단계를 더 포함하여 구성된 것을 특징으로 하는 컴퓨터 구현 방법. - 청구항 1에 있어서,
상기 마이크로-블로그 스레드의 정적 사본(static copy)을 저장하는 단계를 더 포함하여 구성된 것을 특징으로 하는 컴퓨터 구현 방법. - 청구항 9에 있어서,
사용자로부터 탐색 요청(search request)을 수신하는 단계와 상기 수신된 탐색 요청에 기초하여 마이크로-블로그 스레드들을 검색하는 단계를 더 포함하여 구성된 것을 특징으로 하는 컴퓨터 구현 방법. - 마이크로-블로그로부터의 콘텐츠를 사용자의 이메일에 있는 이메일 메시지에 배달하는 전자 시스템으로서,
메모리와 프로세서를 포함하여 구성되고,
상기 프로세서는
사용자로부터 마이크로-블로그에 있는 스레드와 관계된 이메일 메시지를 보이도록 하라는 요청을 수신하고,
상기 요청에 대한 응답하여, 상기 마이크로-블로그 스레드의 실시간 사본을 검색하기 위해 상기 마이크로-블로그에 액세스하고,
상기 사용자의 이메일 메시지에 디스플레이를 위해, 상기 마이크로-블로그 스레드의 상기 실시간 사본을 배달하도록 구성된 것을 특징으로 하는 전자 시스템. - 청구항 13에 있어서,
상기 이메일 메시지는 상기 마이크로-블로그에 있는 스레드와 관계된 임베디드된 다이나믹 오브젝트를 포함하고, 상기 프로세서는 상기 임베디드된 다이나믹 오브젝트에 기초하여 상기 마이크로-블로그에 액세스하도록 구성된 것을 특징으로 하는 전자 시스템. - 청구항 13에 있어서,
상기 프로세서는 상기 마이크로-블로그에 있는 스레드에 대한 업데이트에 기초하여 상기 이메일에 랜더링된 마이크로-블로그 엔트리들을 실시간으로 업데이트하도록 구성된 것을 특징으로 하는 전자 시스템. - 청구항 13에 있어서,
상기 프로세서는
상기 이메일 메시지와 관계된 텍스트 엔트리 박스를 제공하고,
상기 텍스트 엔트리 박스로부터 사용자 입력을 수신하고,
상기 수신된 사용자 입력을 상기 마이크로-블로그에 포스팅하도록 구성된 것을 특징으로 하는 전자 시스템. - 청구항 13에 있어서,
상기 프로세서는
사용자의 선택에 의해 '좋아요' 표시를 제공하도록 구성된, 상기 이메일 메시지에 링크를 제공하고,
상기 사용자로부터 '좋아요' 표시를 수신하고; 및
상기 수신된 사용자 입력에 응답하여, 상기 '좋아요' 표시를 마이크로-블로그에 포스팅하도록 구성된 것을 특징으로 하는 전자 시스템. - 청구항 13에 있어서,
상기 프로세서는
상기 사용자가 상기 이메일 메시지와 인라인된 비디오를 볼 수 있도록 구성된 것을 특징으로 하는 전자 시스템. - 청구항 13에 있어서,
상기 프로세서는
상기 마이크로-블로그 스레드의 정적 사본을 저장하고, 탐색 요청에 응답하여 상기 마이크로-블로그 스레드의 상기 저장된 사본에 액세스하도록 구성된 것을 특징으로 하는 전자 시스템. - 마이크로-블로그로부터의 콘텐츠를 사용자 이메일의 이메일 메시지에 배달하는 전자 시스템으로서,
메모리;
프로세서; 및
마이크로-블로그에 액세스하고, 사용자 요청에 응답하여 마이크로-블로그 스레드의 실시간 사본을 사용자의 이메일에 배달하는 수단을 포함하는 전자 시스템.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/702,073 US8621012B2 (en) | 2010-02-08 | 2010-02-08 | Active e-mails |
US12/702,073 | 2010-02-08 | ||
PCT/US2011/020644 WO2011097048A2 (en) | 2010-02-08 | 2011-01-10 | Active e-mails |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020187005623A Division KR101923355B1 (ko) | 2010-02-08 | 2011-01-10 | 액티브 이메일 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20130025868A true KR20130025868A (ko) | 2013-03-12 |
Family
ID=44354538
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020127023372A KR20130025868A (ko) | 2010-02-08 | 2011-01-10 | 액티브 이메일 |
KR1020187005623A KR101923355B1 (ko) | 2010-02-08 | 2011-01-10 | 액티브 이메일 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020187005623A KR101923355B1 (ko) | 2010-02-08 | 2011-01-10 | 액티브 이메일 |
Country Status (8)
Country | Link |
---|---|
US (2) | US8621012B2 (ko) |
EP (1) | EP2534576B1 (ko) |
JP (1) | JP6086426B2 (ko) |
KR (2) | KR20130025868A (ko) |
CN (1) | CN102906687B (ko) |
AU (2) | AU2011213254B2 (ko) |
CA (1) | CA2789133A1 (ko) |
WO (1) | WO2011097048A2 (ko) |
Families Citing this family (64)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7024457B1 (en) * | 2000-02-17 | 2006-04-04 | J2 Global Communications, Inc. | E-mail synchronization between heterogeneous mail servers |
US9401900B2 (en) * | 2005-07-01 | 2016-07-26 | Cirius Messaging Inc. | Secure electronic mail system with thread/conversation opt out |
US7870204B2 (en) | 2005-07-01 | 2011-01-11 | 0733660 B.C. Ltd. | Electronic mail system with aggregation and integrated display of related messages |
US10021062B2 (en) | 2005-07-01 | 2018-07-10 | Cirius Messaging Inc. | Secure electronic mail system |
US9128981B1 (en) | 2008-07-29 | 2015-09-08 | James L. Geer | Phone assisted ‘photographic memory’ |
US8775454B2 (en) | 2008-07-29 | 2014-07-08 | James L. Geer | Phone assisted ‘photographic memory’ |
US8495153B1 (en) * | 2009-12-14 | 2013-07-23 | Emc Corporation | Distribution of messages in nodes connected by a grid architecture |
US9729352B1 (en) | 2010-02-08 | 2017-08-08 | Google Inc. | Assisting participation in a social network |
US8582801B2 (en) | 2010-02-08 | 2013-11-12 | Google Inc. | Assisting the authoring of posts to an asymmetric social network |
US8825759B1 (en) | 2010-02-08 | 2014-09-02 | Google Inc. | Recommending posts to non-subscribing users |
CN102375865B (zh) * | 2010-08-24 | 2016-08-03 | 腾讯科技(深圳)有限公司 | 一种消息客户端的消息更新方法及消息客户端 |
CN102387178A (zh) * | 2010-08-31 | 2012-03-21 | 腾讯科技(深圳)有限公司 | 消息更新的方法和装置 |
CN102387126A (zh) * | 2010-09-01 | 2012-03-21 | 腾讯科技(深圳)有限公司 | 聚合微博单条消息的方法,服务器,客户端和*** |
US8499048B2 (en) | 2010-10-27 | 2013-07-30 | Facebook, Inc. | Indexing and organizing messages in a messaging system using social network information |
US9203796B2 (en) | 2010-11-12 | 2015-12-01 | Facebook, Inc. | Messaging system with multiple messaging channels |
US8706824B2 (en) | 2011-08-08 | 2014-04-22 | Facebook, Inc. | Rescinding messages in a messaging system with multiple messaging channels |
US8527597B2 (en) * | 2010-12-07 | 2013-09-03 | Google Inc. | Determining message prominence |
US9158775B1 (en) | 2010-12-18 | 2015-10-13 | Google Inc. | Scoring stream items in real time |
US9576045B2 (en) * | 2010-12-23 | 2017-02-21 | Facebook, Inc. | Tagging questions from users on a social networking system |
US8930391B2 (en) * | 2010-12-29 | 2015-01-06 | Microsoft Corporation | Progressive spatial searching using augmented structures |
US8996985B1 (en) | 2011-03-16 | 2015-03-31 | Google Inc. | Online document processing service for displaying comments |
US9253137B1 (en) * | 2011-06-24 | 2016-02-02 | Google Inc. | Concurrent display of conversation messages and social network posts by conversation message authors |
US8892666B1 (en) | 2011-06-24 | 2014-11-18 | Google Inc. | Integration system providing conversation messages and social network posts by conversation message authors to client |
US20130124644A1 (en) * | 2011-11-11 | 2013-05-16 | Mcafee, Inc. | Reputation services for a social media identity |
EP2815325A4 (en) * | 2012-02-13 | 2015-10-07 | Sendgine Llc | AGGREGATION OF DIGITAL FILES AND MESSAGE CONTENT IN A SINGLE AND CHRONOLOGICALLY ORGANIZED TALK |
US8930473B2 (en) * | 2012-02-20 | 2015-01-06 | Powerinbox, Inc | Application platform for electronic mail |
US10282055B2 (en) | 2012-03-06 | 2019-05-07 | Apple Inc. | Ordered processing of edits for a media editing application |
US8963962B2 (en) * | 2012-03-06 | 2015-02-24 | Apple Inc. | Display of multiple images |
US9131192B2 (en) | 2012-03-06 | 2015-09-08 | Apple Inc. | Unified slider control for modifying multiple image properties |
US8971623B2 (en) | 2012-03-06 | 2015-03-03 | Apple Inc. | Overlaid user interface tools for applying effects to image |
CN103327054B (zh) | 2012-03-23 | 2016-01-13 | 腾讯科技(深圳)有限公司 | 基于地理位置的交互方法、客户端、服务器及*** |
CN103455508A (zh) * | 2012-05-31 | 2013-12-18 | 国际商业机器公司 | 控制社交网络应用的信息流的显示的方法和装置 |
US20140052795A1 (en) * | 2012-08-20 | 2014-02-20 | Jenny Q. Ta | Social network system and method |
WO2014036931A1 (zh) * | 2012-09-07 | 2014-03-13 | 腾讯科技(深圳)有限公司 | 信息处理方法及装置 |
US9355425B2 (en) * | 2012-10-25 | 2016-05-31 | Google Inc. | Soft posting to social activity streams |
US9319473B2 (en) * | 2012-12-18 | 2016-04-19 | Facebook, Inc. | Mobile push notification |
US9544263B1 (en) * | 2013-01-27 | 2017-01-10 | Bryant Christopher Lee | Method and system for sending an indication of response to an online post from a text message |
US9326019B2 (en) * | 2013-02-22 | 2016-04-26 | Blackberry Limited | Device and method for generating message item display data |
US10033675B2 (en) | 2013-03-13 | 2018-07-24 | International Business Machines Corporation | Digest filtering system and method |
US10346411B1 (en) * | 2013-03-14 | 2019-07-09 | Google Llc | Automatic target audience suggestions when sharing in a social network |
CN104113464B (zh) * | 2013-04-16 | 2017-11-10 | 腾讯科技(深圳)有限公司 | 基于即时通讯提示的交互方法、装置和*** |
US10469413B2 (en) * | 2013-05-03 | 2019-11-05 | Citrix Systems, Inc. | Updating the recipients of a previously delivered electronic message |
JP2015032253A (ja) * | 2013-08-06 | 2015-02-16 | ソニー株式会社 | 情報処理装置および情報処理方法 |
US10230675B2 (en) * | 2014-01-23 | 2019-03-12 | Microsoft Technology Licensing, Llc | Deriving atomic communication threads from independently addressable messages |
US10587539B2 (en) | 2014-03-13 | 2020-03-10 | Microsoct Technology Licensing, LLC | Identifying relationships between message threads |
US10291745B2 (en) * | 2014-03-28 | 2019-05-14 | Microsoft Technology Licensing, Llc | Cross-client integration of groups |
JP5995220B2 (ja) * | 2014-07-11 | 2016-09-21 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | メッセージを処理する装置及び方法 |
JP6723159B2 (ja) * | 2014-10-13 | 2020-07-15 | 和田 哲也 | ソーシャル情報処理プログラム、ソーシャル情報処理装置、及びソーシャル情報処理方法 |
GB201419337D0 (en) * | 2014-10-30 | 2014-12-17 | Psygnificant Services Ltd | User interface system and method |
US11329935B2 (en) * | 2015-04-23 | 2022-05-10 | Microsoft Technology Licensing, Llc | Smart attachment of cloud-based files to communications |
US20170063751A1 (en) * | 2015-08-27 | 2017-03-02 | Nicolas Korboulewsky-Braustein | Systems and methods for generating and transmitting an email message including an active content |
US10158594B2 (en) * | 2015-09-16 | 2018-12-18 | Microsoft Technology Licensing, Llc | Group headers for differentiating conversation scope and exposing interactive tools |
US9762521B2 (en) * | 2016-01-15 | 2017-09-12 | International Business Machines Corporation | Semantic analysis and delivery of alternative content |
WO2017143250A1 (en) * | 2016-02-17 | 2017-08-24 | Teplow Joe | Generating interactive emails and tracking user interactions |
US20170289081A1 (en) * | 2016-03-31 | 2017-10-05 | Peter J. Barrett | Systems and Methods For Periodic Posthumous Electronic Delivery of Voice Messages, Video Messages, Images, or Email on Selected Occasions |
US20170346938A1 (en) * | 2016-05-31 | 2017-11-30 | International Business Machines Corporation | Sent Text Correction Feature |
US10547580B2 (en) | 2016-10-05 | 2020-01-28 | Microsoft Technology Licensing, Llc | Dynamically re-parenting email messages based on updated conversations |
US20180337873A1 (en) * | 2017-05-16 | 2018-11-22 | Salesforce.Com, Inc. | Dynamically updating electronic mail |
US10841391B2 (en) * | 2017-06-14 | 2020-11-17 | Fanout, Inc. | Proxy-managed checkpoint identifiers |
US11100186B2 (en) * | 2019-05-16 | 2021-08-24 | Vmware, Inc. | Automated hyperlinks for draft emails |
US11444902B2 (en) * | 2020-10-16 | 2022-09-13 | Microsoft Technology Licensing, Llc | Surfacing media conversations and interactive functionality within a message viewer of a messaging system |
EP4118809A2 (en) * | 2020-12-17 | 2023-01-18 | Mimecast Services Ltd. | Systems and methods for attacks, countermeasures, archiving, data leak prevention, and other novel services for active messages |
US11671390B2 (en) * | 2021-07-22 | 2023-06-06 | The Travelers Indemnity Company | Email widgets |
US11695723B2 (en) * | 2021-10-29 | 2023-07-04 | Microsoft Technology Licensing, Llc | Creation and consumption of non-electronic mail (email) social media content from within an email system |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0962651A (ja) * | 1995-08-24 | 1997-03-07 | Nippon Telegr & Teleph Corp <Ntt> | 電子博物館サービス装置 |
US6965926B1 (en) * | 2000-04-10 | 2005-11-15 | Silverpop Systems, Inc. | Methods and systems for receiving and viewing content-rich communications |
US7865830B2 (en) * | 2005-07-12 | 2011-01-04 | Microsoft Corporation | Feed and email content |
CN1897019A (zh) * | 2005-07-15 | 2007-01-17 | 范存志 | 一种支持网络日志的电子邮件***设计方法 |
US8359341B2 (en) | 2005-12-10 | 2013-01-22 | International Business Machines Corporation | Importing content into a content management system using an e-mail application |
US8112478B2 (en) * | 2006-03-13 | 2012-02-07 | Oracle International Corporation | Email and discussion forum system |
US20090248806A1 (en) | 2006-07-19 | 2009-10-01 | Ari Teman | System and method for dynamically changing item status in static email messages |
JP4962963B2 (ja) * | 2006-10-19 | 2012-06-27 | ヤフー株式会社 | ステータス変更情報に関するシステム |
US8224359B2 (en) | 2006-12-22 | 2012-07-17 | Yahoo! Inc. | Provisioning my status information to others in my social network |
US8819102B2 (en) * | 2007-07-03 | 2014-08-26 | Cisco Technology, Inc. | Method and system for managing message communications |
US7720921B2 (en) * | 2007-08-27 | 2010-05-18 | International Business Machines Corporation | System and method for soliciting and retrieving a complete email thread |
US20090157819A1 (en) * | 2007-12-12 | 2009-06-18 | Mark Carl Hampton | Live connection of email threads to discussion forum |
US20090158186A1 (en) | 2007-12-17 | 2009-06-18 | Bonev Robert | Drag and drop glads |
US20090271283A1 (en) | 2008-02-13 | 2009-10-29 | Catholic Content, Llc | Network Media Distribution |
CN101478500A (zh) * | 2008-12-24 | 2009-07-08 | 腾讯科技(深圳)有限公司 | 一种即时通讯的方法、服务器、im客户端和*** |
US8126975B2 (en) * | 2009-03-30 | 2012-02-28 | International Business Machines Corporation | Automatic conversion of email threads into collaborative workspaces |
US10210481B2 (en) * | 2009-07-14 | 2019-02-19 | Bitvore Corp. | Relational presentation of communications and application for transaction analysis |
-
2010
- 2010-02-08 US US12/702,073 patent/US8621012B2/en active Active
-
2011
- 2011-01-10 JP JP2012551983A patent/JP6086426B2/ja active Active
- 2011-01-10 AU AU2011213254A patent/AU2011213254B2/en active Active
- 2011-01-10 EP EP11700767.4A patent/EP2534576B1/en active Active
- 2011-01-10 KR KR1020127023372A patent/KR20130025868A/ko active Application Filing
- 2011-01-10 CA CA2789133A patent/CA2789133A1/en not_active Abandoned
- 2011-01-10 WO PCT/US2011/020644 patent/WO2011097048A2/en active Application Filing
- 2011-01-10 CN CN201180015038.0A patent/CN102906687B/zh active Active
- 2011-01-10 KR KR1020187005623A patent/KR101923355B1/ko active IP Right Grant
-
2013
- 2013-11-26 US US14/090,126 patent/US9553835B2/en active Active
-
2014
- 2014-05-30 AU AU2014202947A patent/AU2014202947B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US8621012B2 (en) | 2013-12-31 |
EP2534576A2 (en) | 2012-12-19 |
AU2014202947B2 (en) | 2016-04-21 |
AU2014202947A1 (en) | 2014-06-19 |
JP2013519154A (ja) | 2013-05-23 |
AU2011213254B2 (en) | 2014-03-20 |
US9553835B2 (en) | 2017-01-24 |
EP2534576B1 (en) | 2019-05-22 |
KR20180023065A (ko) | 2018-03-06 |
US20110196933A1 (en) | 2011-08-11 |
CN102906687B (zh) | 2018-06-12 |
CA2789133A1 (en) | 2011-08-11 |
WO2011097048A3 (en) | 2011-10-27 |
KR101923355B1 (ko) | 2018-11-28 |
AU2011213254A1 (en) | 2012-08-30 |
EP2534576A4 (en) | 2014-10-29 |
US20140089435A1 (en) | 2014-03-27 |
JP6086426B2 (ja) | 2017-03-01 |
CN102906687A (zh) | 2013-01-30 |
WO2011097048A2 (en) | 2011-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101923355B1 (ko) | 액티브 이메일 | |
US10511652B2 (en) | Recommending posts to non-subscribing users | |
US10949429B1 (en) | Scoring authors of posts | |
US9531649B2 (en) | Identification of message recipients | |
US8996625B1 (en) | Aggregate display of messages | |
KR101884881B1 (ko) | 대화식 질문 및 응답 | |
KR101942520B1 (ko) | 광고 상의 소셜 오버레이들 | |
US20150319257A1 (en) | Interest-Based System | |
US20120143701A1 (en) | Re-publishing content in an activity stream | |
CN114730419A (zh) | 编写引用多个消息的社交媒体消息 | |
US20150142572A1 (en) | Serving content based on online registration and offline messages | |
AU2013203582B2 (en) | Identification of message recipients |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application | ||
E801 | Decision on dismissal of amendment | ||
E601 | Decision to refuse application | ||
A107 | Divisional application of patent |