U.S. patent application number 14/300132 was filed with the patent office on 2018-12-13 for low-friction, instant, private, personalized video sharing widget.
The applicant listed for this patent is Google Inc.. Invention is credited to Gavin James, Justin Lewis.
Application Number | 20180356961 14/300132 |
Document ID | / |
Family ID | 64563420 |
Filed Date | 2018-12-13 |
United States Patent
Application |
20180356961 |
Kind Code |
A1 |
Lewis; Justin ; et
al. |
December 13, 2018 |
LOW-FRICTION, INSTANT, PRIVATE, PERSONALIZED VIDEO SHARING
WIDGET
Abstract
A method for sharing media items is provided herein. The method
includes receiving a request of a user to view a media item,
identifying a set of contacts of the user, and providing a user
interface having a first portion to present the media item and a
second portion to present interface elements graphically
identifying at least some contacts of the set of contacts. The
method also includes receiving a selection of one of the contacts
by the user via a corresponding interface element, wherein the
selection indicates a request of the user to share the media item
with the selected contact. The method further includes causing the
media item to be presented to the selected contact.
Inventors: |
Lewis; Justin; (Marina del
Rey, CA) ; James; Gavin; (Los Angeles, CA) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
Google Inc. |
Mountain View |
CA |
US |
|
|
Family ID: |
64563420 |
Appl. No.: |
14/300132 |
Filed: |
June 9, 2014 |
Current U.S.
Class: |
1/1 |
Current CPC
Class: |
H04L 65/60 20130101;
H04L 51/32 20130101; H04L 12/1813 20130101; H04L 51/046 20130101;
H04L 51/14 20130101; G06Q 10/10 20130101; G06Q 50/01 20130101 |
International
Class: |
G06F 3/0484 20060101
G06F003/0484; H04L 12/58 20060101 H04L012/58; G06F 3/0481 20060101
G06F003/0481; G06F 3/0482 20060101 G06F003/0482; H04L 29/06
20060101 H04L029/06 |
Claims
1. A method comprising: receiving, by a processor of a server, a
request of a user to view a media item; determining other users
that are receptive to playing the media item if shared by the user,
wherein the determining comprises: calculating, by the processor of
the server, a sharing strength metric for each contact in a set of
contacts, wherein the sharing strength metric is based on one or
more of a number of previous playings of the media item or another
media item by the user and by the respective contact, previous
approval of the media item or the another media item by the user
and by the respective contact, or previous comments on the media
item or the another media item by the user and by the respective
contact; selecting, by the processor of the server, a subset of
contacts of the user from a set of contacts of the user based on
sharing strength metrics calculated for the set of contacts,
wherein the sharing strength metrics indicate receptivity of a
respective contact to playing the media item; providing, by the
processor of the server, a user interface having a first portion to
present the media item and a second portion to present interface
elements graphically representing the subset of contacts that are
selected from the set of contacts of the user based on the sharing
strength metrics; receiving, by the processor of the server, a
selection of a contact of the subset of contacts by the user via a
corresponding interface element, the selection indicating a request
of the user to share the media item with the selected contact; and
in response to the selection of the contact of the subset of
contacts by the user via the corresponding interface element,
causing, by the processor of the server, the shared media item to
be presented to the selected contact.
2. The method of claim 1, wherein selecting the subset of contacts
of the user comprises identifying users of a content-sharing
platform who are accessing the content-sharing platform or are
accessing a messaging service associated with the content-sharing
platform.
3. (canceled)
4. The method of claim 1, wherein the sharing strength metric
further depends on at least one of: an online status of the
respective contact; a mode of accessing a content-sharing platform
or message service; a proximity between the user and one of the
subset of contacts; previous shares between the user and a
respective contact; or an affinity between the user and one of the
subset of contacts.
5. The method of claim 1, wherein the user interface is a watch
page user interface, the first portion is a media player portion in
the watch page user interface, and the second portion is an area
near the media player portion in the watch page user interface,
wherein the second portion is presented using an iframe.
6. The method of claim 1, wherein each interface element is a
selectable thumbnail image of a respective contact of the user, and
wherein the selectable thumbnail image is associated with a tooltip
to present a name of the respective contact.
7. The method of claim 6, wherein the selectable thumbnail image
comprises a photograph of the respective contact from a profile of
the respective contact in a content-sharing platform.
8. The method of claim 6, wherein the selectable thumbnail image of
the respective contact of the user comprises at least one of: one
or more photos of a group of users; a photo of the contact; a
family photo; or a photo in which the respective contact is
tagged.
9. The method of claim 1, further comprising providing a status
indicator proximate to the corresponding interface element in
response to receiving the selection of the contact via the
corresponding interface element r.
10. The method of claim 1, wherein causing the media item to be
presented to the selected contact further comprises: upon receiving
the selection, determining whether the user is in a messaging
session with the selected contact; if the user is in the messaging
session with the selected contact, adding the media item to the
messaging session; if the user is not in the messaging session with
the selected contact, initiating the messaging session between the
user and the selected contact; and presenting the media item in the
messaging session.
11. The method of claim 10, wherein the user interface is a watch
page user interface, the first portion is a media player portion in
the watch page user interface, and the second portion is an area
near the media player portion in the watch page user interface, and
messages are presented in a third portion in the watch page user
interface.
12. The method of claim 1, further comprising: receiving a
selection of an additional interface element by the user, wherein
the selection of the additional interface element is a request to
share the media item with an additional participant and to add the
additional participant to the messaging session; adding the
additional participant to the messaging session to cause messages
sent by the user in the messaging session to be received by both
the selected contact and the additional participant; and causing
the media item to be presented to the additional participant.
13. The method of claim 1, further comprising, in response to the
selection of the contact of the subset of contacts by the user via
the corresponding interface element, providing a notification
comprising a link to the media item to the selected contact.
14. A system comprising: a memory storing instructions thereon; and
a processing device, communicably coupled to the memory, to:
receive a request of a user to view a media item of a
content-sharing platform; determine other users that are receptive
to playing the media item if shared by the user, wherein to
determine, the processing device is to: calculate, by the processor
of the server, a sharing strength metric for each contact in a set
of contacts, wherein the sharing strength metric depends on one or
more of previous playings of the media item or another media item
by the user and by the respective contact, previous approval of the
media item or the another media item by the user and by the
respective contact, or previous comments on the media item or the
another media item by the user and by the respective contact;
select, by the processor of the server, a subset of contacts of the
user from a set of contacts of the user based on sharing strength
metrics calculated for the set of contacts, wherein the sharing
strength metrics indicate receptivity of a respective contact to
playing the media item; provide, by the processor of the server, a
user interface having a first portion to present the media item and
a second portion to present interface elements graphically
representing the subset of contacts that are selected from the set
of contacts of the user based on the sharing strength metrics;
receive, by the processor of the server, a selection of a contact
of the subset of contacts by the user via a corresponding interface
element, the selection indicating a request of the user to share
the media item with the selected contact; and in response to the
selection of the contact of the subset of contacts by the user via
the corresponding interface element, cause, by the processor of the
server, the shared media item to be presented to the selected
contact.
15. (canceled)
16. The system of claim 14, wherein the sharing strength metric
further depends on at least one of: an online status of the
respective contact; a mode of accessing the content-sharing
platform or message service; a proximity between the user and one
of the subset of contacts; previous shares between the user and a
respective contact; or an affinity between the user and one of the
subset of contacts.
17. The system of claim 14, wherein the processing device is
further to: upon receiving the selection, determine whether the
user is in a messaging session with the selected contact; if the
user is in the messaging session with the selected contact, add the
media item to the messaging session; if the user is not in the
messaging session with the selected contact, initiate the messaging
session between the user and the selected contact; and present the
media item in the messaging session.
18. The system of claim 14, wherein the processing device is
further to: receive a selection of an additional interface element
by the user, wherein the selection of the additional interface
element is a request to share the media item with an additional
participant and to add the additional participant to the messaging
session; and add the additional participant to the messaging
session to cause messages sent by the user in the messaging session
to be received by both the selected contact user and the additional
participant; and cause the media item to be presented to the
selected contact.
19. A non-transitory computer-readable storage medium storing
instructions that, when executed by a processing device, cause the
processing device to perform operations comprising: receiving, by a
processor of a server, a request of a user to view a media item;
determining other users that are receptive to playing the media
item if shared by the user, wherein the determining comprises:
calculating, by the processor of the server, a sharing strength
metric for each contact in a set of contacts, wherein the sharing
strength metric is based on one or more of a number of previous
playings of the media item or another media item by the user and by
the respective contact, previous approval of the media item or the
another media item by the user and by the respective contact, or
previous comments on the media item or the another media item by
the user and by the respective contact; selecting, by the processor
of the server, a subset of contacts of the user from a set of
contacts of the user based on sharing strength metrics calculated
for the set of contacts, wherein the sharing strength metrics
indicate receptivity of a respective contact to playing the media
item; providing, by the processor of the server, a user interface
having a first portion to present the media item and a second
portion to present interface elements graphically representing the
subset of contacts that are selected from the set of contacts of
the user based on the sharing strength metrics; receiving, by the
processor of the server, a selection of a contact of the subset of
contacts by the user via a corresponding interface element, the
selection indicating a request of the user to share the media item
with the selected contact; and in response to the selection of the
contact of the subset of contacts by the user via the corresponding
interface element, causing, by the processor of the server, the
shared media item to be presented to the selected contact.
20. A method comprising: receiving, by a processor of a user
device, a request of a user to view a media item; and facilitating
sharing of the media item with other users, wherein facilitating
the sharing of the media item comprises: presenting, on the user
device, a user interface having a first portion comprising a media
player displaying the media item and a second portion comprising
interface elements graphically representing contacts of a user, the
contacts of the user selected based on sharing strength metrics
that each indicate receptivity of a respective contact to receiving
the media item, wherein each of the sharing strength metrics
depends on one or more a number of previous playings of the media
item or another media item by the user and by the respective
contact, previous approval of the media item or the another media
item by the user and by the respective contact, or previous
comments on the media item or the another media item by the user
and by the respective contact; receiving, by the processor of the
user device, a selection of a subset of the contacts by the user
via corresponding interface elements, the selection indicating a
request of the user to share the media item with the selected
subset of the contacts; and responsive to the request of the user
to share the media item with the selected subset of the contacts,
providing, by the processor, an indication to the user that the
media item has been shared with the selected subset of the
contacts.
21. The method of claim 20, wherein the selection further indicates
a request of the user to initiate a messaging session, the media
item to be shared in the messaging session.
22. The method of claim 21, further comprising receiving a
selection of another contact of the contacts, wherein the other
selection indicates a request of the user to share the media item
with the other selected contact and to add the other selected
contact to the messaging session.
23. The method of claim 22, wherein the other selection indicates a
request to re-send messages from the messaging session, wherein the
re-sent messages were sent in the messaging session before the
selection of the other contact.
Description
TECHNICAL FIELD
[0001] This disclosure relates to the field of content-sharing
platforms and, in particular, to methods and systems for sharing
media items hosted by the content-sharing platform.
BACKGROUND
[0002] On the Internet, content-sharing platforms, like social
networks and others, allow users to connect to and share
information with each other. Many social networks include a
content-sharing aspect that allows users to upload, view, and share
content, such as video content, image content, audio content, and
so on (which may be referred to as "media items" or "content
items"). Such media items may include professionally produced audio
clips, movie clips, TV clips, and music videos, as well as amateur
content such as video blogging, short original videos, pictures,
photos, audio recordings, other multimedia content, etc. Users may
use computing devices (such as smartphones, cellular phones, laptop
computers, desktop computers, netbooks, and tablet computers) to
access the content-sharing platforms to use, play, share, and/or
consume media items (e.g., watch digital videos, and/or listen to
digital music).
[0003] One of the important aspects of such content-sharing
platforms is the ability for users to share media items with other
users, with followers, and with friends. While efforts have been
undertaken to facilitate users in sharing media items with others,
these efforts have not been entirely satisfactory.
SUMMARY
[0004] The following is a simplified summary of the disclosure in
order to provide a basic understanding of some aspects of the
disclosure. This summary is not an extensive overview of the
disclosure. It is intended to neither identify key or critical
elements of the disclosure nor delineate any scope of the
particular embodiments of the disclosure or any scope of the
claims. Its sole purpose is to present some concepts of the
disclosure in a simplified form as a prelude to the more detailed
description that is presented later.
[0005] In one implementation, a computer-implemented method for
instantly sharing media items is provided. Embodiments of the
method may include steps or operations of receiving a request of a
user to view a media item, identifying a set of contacts of the
user, and of providing a user interface having a first portion to
present the media item and a second portion to present interface
elements graphically identifying at least some contacts of the set
of contacts. The method may further includes steps of receiving a
selection of one of the contacts by the user via a corresponding
interface element, wherein the selection indicating a request of
the user to share the media item with the selected contact, and of
causing the media item to be presented to the selected contact.
[0006] In another implementation, a computer-implemented method for
sharing media items on a user device is provided. The method may
include operations or steps of presenting, on the user device, a
user interface having a first portion comprising a media item and a
second portion comprising interface elements graphically
identifying contacts of a user. The method may also include steps
of receiving a selection of one the contacts by the user via a
corresponding interface element, wherein the selection indicates a
request of the user to share the media item with the selected
contact, and of providing an indication to the user that the media
item has been shared with the selected contact.
[0007] In additional implementations or embodiments, computing
devices for performing the operations of the above-described
implementations are also disclosed. Systems with a processing
device and a memory including instructions that when executed by
the processing devices cause the processing device to perform
operations corresponding to the disclosed methods are also
provided. Additionally, in some implementations of the disclosure,
a non-transitory computer-readable storage medium stores
instructions for performing the operations of the above described
implementations.
BRIEF DESCRIPTION OF THE DRAWINGS
[0008] Aspects of the present disclosure are illustrated, by way of
example and not by way of limitation, in the figures of the
accompanying drawings.
[0009] FIG. 1 illustrates an exemplary system architecture, in
accordance with an embodiment of the disclosure.
[0010] FIG. 2 illustrates an exemplary user interface for sharing a
media item with one or more contacts, in accordance with some
embodiments of the disclosure.
[0011] FIG. 3 illustrates another exemplary user interface for
sharing a media item with one or more contacts, in accordance with
some embodiments of the disclosure.
[0012] FIG. 4 is a flow diagram of a method of selecting contacts
for inclusion in a frictionless sharing portion of a user interface
for a content-sharing platform, according to some embodiments of
the disclosure.
[0013] FIG. 5A illustrates an exemplary user interface for
presenting a shared media item to a contact of a user, in
accordance with some embodiments of the disclosure.
[0014] FIG. 5B illustrates another exemplary user interface for
presenting a shared media item to a contact of a user, in
accordance with some embodiments of the disclosure.
[0015] FIG. 6 is a flow diagram illustrating a method for sharing a
media item with a contact in a content-sharing platform, according
to some embodiments of the disclosure.
[0016] FIG. 7 is a flow diagram illustrating a method of sharing a
media item hosted by a content-sharing platform according to some
embodiments of the disclosure.
[0017] FIG. 8 is a flow diagram illustrating of adding an
additional participant into a messaging session including a media
item, according to some embodiments of the disclosure.
[0018] FIG. 9 is a flow diagram illustrating a method of sharing a
media item hosted by a content-sharing platform, according to some
embodiments of the disclosure.
[0019] FIG. 10 is a block diagram illustrating an exemplary system
architecture, according to some embodiments.
[0020] FIG. 11A illustrates an exemplary user interface for sharing
a media item with one or more contacts, in accordance with some
embodiments of the disclosure.
[0021] FIG. 11B illustrates another exemplary user interface for
sharing a media item with one or more contacts, in accordance with
some embodiments of the disclosure.
[0022] FIG. 12 illustrates an exemplary user interface for sharing
a media item with one or more contacts in a messaging session, in
accordance with some embodiments of the disclosure.
[0023] FIG. 13 illustrates an exemplary user interface for
receiving a notification of a shared media item, in accordance with
some embodiments of the present disclosure.
[0024] FIG. 14 illustrates an exemplary user interface for
receiving a shared media item in a messaging session, according to
some embodiments of the disclosure.
[0025] FIG. 15 is an exemplary user interface for selecting a
responsive media item for inclusion in a reply in a messaging
session initiated by the sharing of a media item, according to some
aspects of the present disclosure.
[0026] FIG. 16 illustrates an exemplary user interface for sharing
media items in a messaging session, according to some aspects of
the present disclosure.
[0027] These drawing may be better understood when observed in
connection with the following Detailed Description.
DETAILED DESCRIPTION
[0028] Implementations are described for facilitating the sharing
of media items in Internet-based media platforms, such as a
content-sharing platform. Internet-based media platforms have
become increasingly important channels for the distribution and
consumption of media content such as movies, television, videos,
music, photography, and text. As more media distribution has
migrated onto such platforms, the amount of content available has
increased dramatically. In order to best satisfy users of the
platform, helping those users to find the content they like most
among the total amount of content is increasingly important.
[0029] When a user finds a media item that he or she likes, that
user may want to share the media item with friends and other
contacts. This disclosure is directed to making the process of
sharing a media item with others a low-friction, instant, private,
and personalized process. By helping users to share more
effectively and efficiently, those users may be more engaged in the
media items presented by the content-sharing platform. They may
share more with each other and enjoy the content more by sharing
it. This may also provide more advertising opportunities, providing
additional revenues to operators of content-sharing platforms with
these features.
[0030] Implementations of the present disclosure enable a user to
share a media item with as little effort as a single click or tap
of an input device. When a user requests to consume a media item on
a content-sharing platform, the platform may receive that request
and present the media item as well as one or more interface
elements that identify at least some of the user's contacts. For
example, each of the interface elements may be a selectable
thumbnail photo corresponding to one of the user's contacts. When
the user selects one of the contacts by selecting the corresponding
interface element, the media item is shared with that contact. The
media item may be shared with a pre-formatted message, such that no
other action may be required of the user in order to share the
media item. Alternatively, the user may include a personalized
message with the shared media item that is then received by the
contact in connection with the receipt of the media item. The
content-sharing platform may provide the media item to the selected
contact by causing a pop-up or another alert or notice to appear in
a user interface of a client device being used by the contact. In
this way, users of the content-sharing platform may be able to
share a specific media item with an individually-selected contact
with limited effort.
[0031] Frequently in this disclosure, examples directed to videos
are presented. This is done for ease of explanation of some of the
features described herein. However, embodiments with other content,
such as pre-recorded audio clips, pre-recorded movie clips, TV
clips, and music videos, photos, other multimedia content,
including streaming content, are also within the scope of this
disclosure, regardless of whether specific examples of such are
provided herein.
[0032] In some embodiments, when the content-sharing platform
receives the user's selection of one of the contacts, the
content-sharing platform provides the media item to the selected
contact in connection with or in a messaging session initiated in
response to the selection by the user. The user and the contact may
use the messaging session to exchange messages about the shared
media item or other topics, further increasing the engagement of
the users with the media items presented by the content-sharing
platform.
[0033] Thus, embodiments of the present disclosure may provide for
instant, frictionless sharing. Additionally, embodiments of the
present disclosure may facilitate messaging and interaction between
users of the content-sharing platform. These features may increase
the engagement with and through the content-sharing platform.
[0034] FIG. 1 illustrates an exemplary system architecture 100 for
the sharing, distributing, and displaying of media items, in
accordance with an embodiment of the disclosure. The system
architecture 100 includes a plurality of client devices 110A
through 110N, a network 120, a content-sharing platform 130, and a
data store 150. As shown in FIG. 1, the system architecture 100
further includes a messaging service 160 and a notification service
170. These features may operate together to facilitate frictionless
sharing and messaging between users of the content-sharing platform
130.
[0035] In one embodiment, network 120 may be a public network
(e.g., the Internet), a private network (e.g., a local area network
(LAN) or wide area network (WAN)), a wired network (e.g., Ethernet
network), a wireless network (e.g., an 802.11 network or a Wi-Fi
network), or a cellular network (e.g., a Long Term Evolution (LTE)
network), having routers, hubs, switches, servers, and/or a
combination thereof. In one embodiment, the data store 150 includes
a memory (e.g., random access memory), a cache, a drive (e.g., a
hard drive), a flash drive, a database system, a storage area
network (SAN), or another type of component or device capable of
storing data. The data store 150 may also include multiple storage
components (e.g., multiple drives or multiple databases) that may
also span multiple computing devices (e.g., multiple server
computers) and storage devices such as may be present in a data
center.
[0036] The client devices 110A-N may each include computing devices
such as personal computers (PCs), laptops, mobile phones,
smartphones, tablet computers, wearable computing devices, etc.
Client devices 110A-N may be used to consume (e.g., view, hear,
etc.) and upload content to the content-sharing platform 130. In
some embodiments, client device 110A-N may also be referred to as
"user devices." Each client device includes a media viewer 112. In
one embodiment, the media viewers 112 may be applications that
allow users to receive visible content, such as images, videos, web
pages, documents, etc., and audio content such as live audio and
sound recordings. For example, the media viewer 112 may be a web
browser that can access, retrieve, present, and/or navigate content
(e.g., web pages such as Hyper Text Markup Language (HTML) pages,
digital media items, etc.) served by a web server. The media viewer
112 may render, display, and/or present the content (e.g., a web
page, a media viewer) to a user of a client device. The media
viewer 112 may also display an embedded media player (e.g., a
Flash.RTM. player or an HTML5 player) that is embedded in a web
page (e.g., a web page that may provide information about a product
sold by an online merchant, a content-sharing platform such as a
social network). In another example, the media viewer 112 may be a
standalone application, such as smartphone application, that allows
users to view digital media items (e.g., digital videos, digital
images, electronic books, shared text, etc.) as part of the
content-sharing platform 130.
[0037] The media viewers 112 may be provided to the client devices
110A-N by the content-sharing platform 130 and/or a third-party
distribution platform. For example, the media viewers 112 may be
embedded media players that are embedded in web pages provided by
the content-sharing platform 130. In another example, the media
viewers 112 may be applications that are downloaded from a server
accessible to the client devices 110A-N through the network
120.
[0038] The client devices 110A-N may also each include a
notification client 114. The notification client may communicate
with the notification service 170 to receive notifications. For
example, when a user of the client device 110A shares a media item
with a user of the client device 110N, the content-sharing platform
130 may cause a notification request to be sent to the notification
service 170, which in turn can relay an authorized notification to
the client device 110N. The notification client 114 of the client
device 110N receives and interprets the notification. The
notification client 114 may cause a notification to appear in a
display of the client device 110N. The notification client 114 may
be configured to cause the notification to appear in a foreground
of the display, such that regardless of what applications or
windows are currently being displayed on the client device 110N,
the notification becomes visible to the user of the client device
110N. The notification can include a reference to the media item
that user of the client device 110A requested to share with the
user of the client device 110N, such that by interacting with or
selecting from options provided by the notification, the client
device 110N may access the shared media item.
[0039] In general, functions described in one embodiment as being
performed by the content-sharing platform 130 can also be performed
on the client devices 110A-N in other embodiments if appropriate.
Similarly, in some embodiments, the notification infrastructure may
be provided as a sub-system of the content-sharing platform 130, as
shown by the notification system 148, or as part of the media
viewers 112 on the client devices 110A-N. Thus, the functionality
attributed to a particular component of the system architecture 100
may be performed by different or multiple components operating
together. The content-sharing platform 130 can also be accessed as
a service provided to other systems or devices through appropriate
application programming interfaces (APIs), and thus is not limited
to use in websites.
[0040] In some embodiments, the content-sharing platform 130
includes one or more computing devices (such as a rackmount server,
a router computer, a server computer, a personal computer, a
mainframe computer, a laptop computer, a tablet computer, a desktop
computer, etc.), data stores (e.g., hard disks, memories,
databases), networks, software components, and/or hardware
components that may be used to provide a user with access to media
items and/or provide the media items to the user. For example, the
content-sharing platform 130 may allow a user to consume, upload,
search for, approve of ("like"), dislike, share, and/or comment on
media items. The content-sharing platform 130 may also include a
website (e.g., a web page) and/or a smartphone application that may
be used to provide a user with access to the media items.
[0041] The content-sharing platform 130 may include a media item
storage 132 that includes a plurality of media items 134A through
N. Examples of media items 134A-N can include, and are not limited
to, digital video, digital movies, digital photos, digital music,
website content, social media updates, electronic books (ebooks),
electronic magazines, digital newspapers, digital audio books,
electronic journals, blogs, real simple syndication (RSS) feeds,
electronic comic books, software applications, etc. Of note, the
media items 134A-N may include one or more media items that include
one or more tags in metadata associated with at least some of the
one or more media items. In some embodiments, the content-sharing
platform 130 may store the media items 134A-N using the data store
150. In such embodiments, the media items 134A-N may be pointers to
corresponding media items as stored in the data store 150. The
media items 134A-N may be retrieved from data store 150 prior to
delivery to one or more of client devices 110A-N over network
120.
[0042] In some embodiments, media items 134A-N may be consumed
(e.g., viewed and/or heard) via the Internet and/or via a mobile
device application. As used herein, "media," media item," "online
media item," "digital media," "digital media item," "content," and
"content item" can include and refer to an electronic file that can
be executed, loaded, or played using software, firmware, or
hardware configured to present the digital media item to a viewing
user of the content-sharing platform 130. In some embodiments, the
media item may be a pre-recorded or pre-captured media item that
may be streamed as it is viewed or downloaded prior to viewing. In
other embodiments, the media item may be a live streamed media
item.
[0043] As illustrated in FIG. 1, the content-sharing platform 130
may further include an account service 136. The account service 136
can provide an infrastructure to provide users of the
content-sharing platform 130 with individualized accounts. By
logging into an account on the content-sharing platform, the user
may be able to better curate media items for consumption. This
curation may be performed actively by the user (e.g., saving a
media item to a list for watching at a later time, etc.) or by the
content-sharing platform 130 itself (e.g., recommending content
that the user may enjoy based on content the user has consumed in
the past, etc.). Such lists and recommendations may be stored in
account data 138 as user items 140A-140N. Each user may have many
different user items among the user items 140A-N stored in the
account data 138. The user items 140A-N may include consumption
histories, subscriptions, interaction histories that record when
the user shares or approves of a media item, and contact
information identifying one or more contacts of the users. A
contact of a user may include any entity that the user has a
relationship with (e.g., a friend of the user, a colleague of the
user, a classmate of the user, etc.), has interacted with (e.g.,
via email, text messaging, video conferencing, social networking),
and/or maintains contact information for. The contacts may be
identified by the content-sharing platform 130 as users of the
content-sharing platform 130 or may include other information, such
as a name, phone number, email address, messaging system
identifier, and/or other social network account information
identifying individuals or groups with which the user is
acquainted. In some embodiments, information regarding contacts may
be pulled from a contact list stored on the client device 110A and
imported into the account data 138.
[0044] In situations in which the systems discussed here collect
personal information about users from the users or from users'
devices, or make use of personal information, the users may be
provided with an opportunity to control whether the content-sharing
platform 130 collects user information (e.g., information about a
user's social network, social actions or activities, profession, a
user's preferences, a user's current location, or a user's
consumption history), or to control whether and/or how to receive
content from the content-sharing platform 130 that may be more
relevant to the user. In addition, certain data may be treated in
one or more ways before it is stored or used, so that personally
identifiable information is removed. For example, a user's identity
may be treated so that no personally identifiable information can
be determined for the user, or a user's geographic location may be
generalized where location information is obtained (such as to a
city, ZIP code, or state level), so that a particular location of a
user cannot be determined. Thus, the user may have control over how
information is collected about and from the user and used by the
content-sharing platform 130.
[0045] The content-sharing platform 130 also includes a messaging
service 142 in the embodiment illustrated in FIG. 1. The messaging
service 142 may facilitate messages being shared among the users of
the content-sharing platform 130. For example, when a user of the
content-sharing platform 130 shares a media item with a contact, a
reference to the media item or the media item itself may be
included in a messaging session, hosted by the messaging service
142, between the user and the contact. If no messaging session
exists between the user and the contact at the time of sharing, the
messaging service 142 may initiate a messaging session and include
the media item or a reference thereto, such as a link or uniform
resource locator. In some instances, the messaging session may be
provided to the user as an HTML iframe in the media viewer 112,
such that the media item may be viewed by the contact
simultaneously with the messaging session. When the user shares a
media item, a pre-formatted message may be sent by the messaging
system to the intended contact. The pre-formatted message may
inform the contact that the user has shared a media item with the
contact and may further include the reference to the media
item.
[0046] In some embodiments, the system architecture 100 includes a
messaging service 160 that is external to the content-sharing
platform 130. For example, the messaging service 160 may be a
third-party messaging service, such as a short message service
(SMS) system, multimedia messaging service (MMS) system, or
third-party messaging application that may be used to exchange
text-based messages, images, sound clips, video clips, etc. between
two users of the system or application. In embodiments in which the
messaging service 160 is used to communicate that a user has shared
a media item from the content-sharing platform 130 with the
contact, the message may be transmitted via the messaging service
160 rather than the messaging service 142. In some embodiments, a
user may provide login credentials to the content-sharing platform
130 to use in accessing and sending messages through the messaging
service 160. The messaging service 160 includes message data 162
containing a plurality of user items 164A-N, which may be messages
such as messages including a reference to a shared media item.
[0047] As illustrated, the system architecture 100 may further
include a notification service 170. This notification service 170
may be provided by the operator of the content-sharing platform 130
or may be a third-party notification service provider. The
notification service 170 may facilitate the provisioning of
notifications to the notification clients 114 of the client device
110A-N. As described herein, when a user shares a media item with a
contact, a notification may be provided to a client device of the
contact. Even if the content-sharing platform 130 is not visible on
the display of the client device of the contact (e.g., the media
viewer 112 is operating in a background of the device, etc.), the
notification client 114 may receive the notification and display it
according to one or more settings of the notification client 114.
The settings may determine whether or not a notification is
displayed and/or how notifications are displayed to a user of the
client device. In some embodiments, a notification system 148 is
integrated into the content-sharing platform 130 to provide for
notification to client devices 110A-N in a manner similar to that
described for the notification service 170.
[0048] FIG. 2 illustrates an exemplary user interface 200 for
sharing a media item with a contact, in accordance with some
embodiments of the disclosure. The user interface 200 is
illustrated as a graphical user interface and includes several
portions or areas which each provide certain functions. The user
interface 200 may be a watch page user interface by which a user
may consume media items. In some embodiments, there may be more or
fewer portions than illustrated in FIG. 2. For example, the
illustrated portions may be combined with each other or further
divided in other embodiments. As illustrated, the user interface
200 includes a media viewing portion 202. The media viewing portion
202 includes a media player 204, in which a media item 206 is
presented to a user of the content-sharing platform 130. As
illustrated, the media item 206 is a user-generated video depicting
a family member of the user. The media viewing portion 202 also
includes a media item description 208. The media item description
208 may include information such as an identifier of the user that
uploaded or added the media item 206 to the content-sharing
platform 130. The media item description 208 may further include a
text-based description of the media item 206. The media item
description 208 may also include buttons 210A and 210B. As
illustrated, the button 210A may be selected by a user of the
content-sharing platform 130 to indicate that the user approves or
likes the media item 206. Button 210B may be selected by a user to
indicate that the user disapproves or dislikes the media item 206.
Other buttons and interface elements may be included in other
embodiments of the media viewing portion 202.
[0049] The user interface 200 also includes a frictionless sharing
portion 220. By "frictionless," it is meant that the effort as
determined by a number and/or complexity of user interactions
required to share a media item is minimized, such that with a
single action, or only a few actions, a user may share a media item
with one or more of the user's contacts. In the illustrated
embodiment of FIG. 2, the frictionless sharing portion 220 include
a text-based description 222 informing the user that the user can
share the media item 206 with one or more friends or contacts by
selecting one or more of corresponding interface elements 224A-F.
The text-based description 222 may not be present in some
embodiments. As shown, the frictionless sharing portion 220
includes six interface elements 224A-F corresponding to six
contacts of the user who are logged into and interacting with the
content-sharing platform 130 through the user interface 200. Other
embodiments may include more or fewer interface elements 224A-F.
For example, if a user only has two contacts associated with the
user's account in the account data 138 in the account service 136
of the content-sharing platform 130, the frictionless sharing
portion 220 may include two interface elements 224A and 224B. Where
the user has more contacts than may be displayed effectively in the
frictionless sharing portion 220, the content-sharing platform 130
may determine which of the user's contacts should have
corresponding interface elements 224 displayed.
[0050] Each of the interface elements 224A-F may be a visual
representation of the contact corresponding to each of the
interface elements. In some embodiments, the visual representation
may be a name or a username. In other embodiments, the visual
representation is a photograph or another digital image in the
likeness of the contact. The visual representation may be a profile
image used by the contact on the content-sharing platform 130. In
some embodiments, the visual representation is provided by a photo
in which the contact has been tagged, which may be a photo
including the contact and others. Additionally, a tooltip
associated with an interface element may appear when a user places
a cursor over the interface element. In some embodiments, the
tooltip may include a name of the contact associated with the
interface element. As is described herein in more detail, by
selecting one of the interface elements 224A-F, the user may
request that the media item 206 be shared by the content-sharing
platform 130 with the contact of the user that corresponds to
(e.g., is depicted in) the selected element of the interface
elements 224A-F. After a user has selected one of the interface
elements 224A-F (for example, interface element 224D), an indicator
226 may appear in the user interface 200 to indicate that the user
has requested to share the media item 206 with the contact
associated with the interface element 224D. In some embodiments,
the user may be able to select more than one of the interface
elements 224A-F, in which case an indicator 226 may be displayed in
connection with each of the selected interface elements. In some
embodiments, a single messaging session may be initiated for all of
the contacts associated with the selected interface element. All of
the selected contacts may be participants in the messaging
session.
[0051] The user interface 200 may further include a network sharing
portion 230. The network sharing portion 230 may enable the user to
share content with other users of a specific social network. This
may be done by selecting one of the sharing network buttons 232.
Each of the sharing network buttons 232 may represent a network or
other mechanism by which a user may share the media item 206. For
example, the user may select the button 1 of the sharing network
buttons 232. The user may then be presented with a pop-up or other
dialog box request that the user enter credentials to be able to
share the media item 206 on the network or service corresponding to
the button 1. For example, the button 1 may be associated with a
social network, such that by selecting the button 1 and entering
credentials for the social network the user may share the media
item 206 or a reference thereto as a post to the social network.
The recipients of the post may be determined by the social network.
For example, the followers of the user in that social network may
receive a link to the media item 206, or the media item 206 may be
included in their feeds.
[0052] The network sharing portion 230 may further include a link
234 that identifies the media item 206 by a uniform resource
locator (URL) or address at which the media item 206 is made
accessible by the content-sharing platform 130. To use the link
234, the user may manually select the link 234, manually copy the
link 234, and paste the link 234 in another application running on
a client device, such as one of client devices 110A-N. For example,
a user may share the media item 206 by copying and pasting the link
234 into an email and then sending the email including the link 234
to a contact.
[0053] As opposed to the network sharing 230, frictionless sharing
220 provides for sharing with specific contacts that may or may not
be users of a certain social network and provides for sharing with
those specific contacts or with specific groups of contacts with
minimal effort on the part of the user.
[0054] The user interface 200 may further include a comments area
240, an advertisement area 250, and a feed list 260. The comments
area 240 may permit the user to comment on the media item 206 and
to view comments of other users of the content-sharing platform 140
made in connection with the media item 206. The advertisement 250
may be an advertisement provided by an advertisement server 200.
The feed list 260 includes feed items, like the exemplary feed item
262. As shown in FIG. 2, the feed item 262 includes a depiction of
a media item and attributes of the media item. The depiction may be
a thumbnail image of a portion of the media item and the attributes
may include a title, a creator, a duration, and/or other
information. In some embodiments, the feed list 260 may include
media items shared with the user by other users of the
content-sharing platform 130.
[0055] FIG. 3 illustrates another exemplary user interface 300 for
sharing a media item with a contact, in accordance with some
embodiments of the disclosure. The user interface 300 may share
many of the features described above in connection with the user
interface 200 of the FIG. 2. For simplicity of explanation, the
same reference numbers may be used to refer to the features and
portions of the user interface 300 as are used in connection with
FIG. 2. Thus, the user interface 300 includes a media viewing
portion 202 that includes a media player 204 to display a media
item 206. The media viewing portion 202 also includes a media item
description 208 as described above, which may further include
interaction buttons 210A and 210B.
[0056] In the illustrated embodiment, the user interface 300
further includes the conventional sharing portion 230, the comments
area 240, the advertisement area 250, and the feed list 260. As
shown in FIG. 3, a frictionless sharing portion 320 is included
above the feed list 260 in the layout of the user interface 300.
The frictionless sharing portion 320 includes text-based
description 322 to communicate to the user that the user may share
the media item with friends using interface elements 324A-E. In
some embodiments, the size of the interface elements 224A-D may be
dynamically adjusted to include more or fewer interface elements
corresponding to contacts of the user. As shown in FIG. 3, the
interface elements 324A-E are distributed in a contact group 326
and as individual contacts 328. By selecting on the radio button
327 (or another functionally-equivalent interface feature), the
user may request to share the media item 206 with the three
contacts corresponding to the interface elements 324A, 324B, and
324C. Contact groups may be generated by the content-sharing
platform 130 or manually selected by the user. The individual
contacts 328 include interface elements 324A, 324B, 324D, and 324E
and by selecting any, some, or all of the interface elements 324A,
324B, 324D and 324E, the user may automatically share the media
item 324A with the contact corresponding to the selected interface
element or elements.
[0057] As discussed, not all of a user's contacts may be displayed
in interface elements in the frictionless sharing portion 320. For
example, a user may have more than one hundred contacts, and the
user interface 200 may not be able to display one hundred interface
elements, even though interface elements may be dynamically resized
to provide for room. The interface elements may become too small to
display properly in such an event. Accordingly, the content-sharing
platform 130 may review the account data 138 associated with the
user. This account data 138 may include a list of the user's
contacts as well as information about their interactions. For
example, the account data 138 may indicate that when the user
shares a media item with two specific contacts, the user usually
includes a third contact. As seen in FIG. 3, the contacts
corresponding to interface elements 324A, 324B, and 324C may be
identified by the content-sharing platform 130 as contacts with
which the user is likely to share as a group. Similarly, the
individual contact 328 may include those contacts with which the
user is most likely to share media items. In some embodiments, the
contacts with corresponding interface elements in the individual
contacts 328 may be those contacts with whom the user is most
likely to share the media item 206, specifically. The
content-sharing platform 130 may use information contained in the
media item description 208 to determine which contacts should be
presented to the user. For example, the content-sharing platform
130 may identify a pattern that when the media item description 208
indicates that the user is the creator, owner, or uploader, the
user is most likely to share with a first contact, then next most
likely to share with a second contact, etc. The interface element
324A may then correspond to the first contact, the interface
element 324B, may correspond to the second contact, etc.
[0058] Referring now to FIG. 4, populating the frictionless sharing
portion 320 with interface elements 324A-E corresponding to
appropriate contacts may be done in a variety in ways. FIG. 4 is a
flow diagram of a method 400 for selecting contacts to include in
the frictionless sharing portion 320, in accordance with some
aspects of the present disclosure. The method 400, and other
methods described herein, may be performed by processing logic that
comprises hardware (e.g., circuitry, dedicated logic, programmable
logic, microcode, etc.), software (e.g., instructions run on a
processing device to perform hardware simulation), or a combination
thereof.
[0059] For simplicity of explanation, the method 400 and other
methods of this disclosure are depicted and described as a series
of acts. However, acts in accordance with this disclosure can occur
in various orders and/or concurrently, and with other acts not
presented and described herein. Furthermore, not all illustrated
acts may be required to implement the methods in accordance with
the disclosed subject matter. In addition, those skilled in the art
will understand and appreciate that the methods could alternatively
be represented as a series of interrelated states via a state
diagram or events. Additionally, it should be appreciated that the
methods disclosed in this specification are capable of being stored
on an article of manufacture to facilitate transporting and
transferring such methods to computing devices. The term "article
of manufacture," as used herein, is intended to encompass a
computer program, including a set of instructions, accessible from
any non-transitory, tangible computer-readable device or storage
medium. In one embodiment, method 400 may be performed by the
content-sharing platform 130 and subsystems thereof as shown in
FIG. 1.
[0060] Embodiments of the method 400 may begin at block 402 in
which processing logic identifies a plurality of contacts of a
user. For example, the content-sharing platform 130 may search
account data 138 for user items associated with the user, including
a list of contacts of the user. Block 402 may be performed in
response to a user request to view a media item or periodically for
each user.
[0061] At block 404, the processing logic may calculate a sharing
strength metric between the user and each of the contacts. The
sharing strength metric may indicate how likely a user is to share
a media item (any media item or a particular media item requested
to be viewed) with a given contact. The content-sharing platform
may select a sharing strength metric and include a number of
contacts having a sharing strength metric above a certain
threshold. The threshold may be determined by judging all of the
contacts of the user by the sharing strength metric and presenting
the top scoring contacts in the available interface elements of the
frictionless sharing platform. The sharing strength metric may use
a variety of factors to indicate how likely the user is to share a
media item with a contact. Thus, the sharing strength metrics for
each of the contacts may change depending on the media item to be
shared. Factors that may be included in the determination of the
sharing strength metric may include presence on the content-sharing
platform 130 (e.g., whether the contact is signed-into and active
on the content-sharing platform 130 or a messaging service
associated with the content-sharing platform 130), a count of
previous shares between the user and the contact (shares from and
share to the contact may be counted together or separately), and
shared interactions. In some embodiments, private information such
as a consumption history may be excluded from the information user
to calculate the sharing strength metric. Thus, in some
embodiments, only publically available information (e.g.,
approvals, comments, etc.) may be used in determining the sharing
strength metric.
[0062] For example, shared interactions may include information
showing that both the contact and the user approved of the
requested media item or any other media item, whether they both
subscribe to a channel that includes the requested or other media
item, whether they have both viewed the requested or other media
item, whether they have both commented on the requested or other
media item, etc. In some instances, having both viewed the
requested media item may decrease the sharing strength metric,
because both have already viewed the requested media item. In other
instances, this may indicate that the user and the contact may be
likely to engage in a conversation, such as by a messaging service,
regarding the requested media item. In some embodiments, a physical
location of the user and a physical location of the contact may be
used, such that with increasing proximity, the sharing strength
metric may increase.
[0063] At block 406, each of the contacts is ranked by the
processing logic according to the sharing strength metric of the
contact. For example, the content-sharing platform 130 may generate
a list of the user's contact and order contacts in the list in
order of sharing strength metric from highest to lowest. At block
408, the processing logic causes a first subset of the plurality of
contacts to be provided for presentation to the user (e.g., as part
of a web page or another user interface document to be rendered on
the user device). A second subset of the plurality of contact, a
subset having lower sharing strength metrics, may not be provided
for presentation to the user. The quantity of the first subset of
contacts may be determined by the area available in the user
interface 200 or 300 for the friction sharing portion 220 or 320,
respectively. Thus, if the area available increases or the size of
the interface elements 224A-F or 324A-E decreases, more contact may
be in the first subset. The number of contacts in the first subset
may also be based on a size of each interface element.
[0064] FIG. 5A illustrates an exemplary user interface 500A for
presenting a shared media item to a contact of a user of the
content-sharing platform 130 in accordance with some embodiments of
the disclosure. As described herein, a user may share a media item
with a contact by selecting an interface element corresponding to
that contact. FIGS. 5A and 5B illustrate a user interface as seen
and used by the contact to view the shared media item. Thus, the
user interface includes many of the elements and features described
above in connection with user interfaces 200 and 300. Thus, the
user interface 300 includes a media viewing portion 502 that
includes a media player 504 that is shown as displaying the media
item 206, which the user shared with the contact earlier by
selecting one of the interface elements corresponding to the
contact. The media viewing portion 502 also include a media item
description 508 as described above and interaction buttons 510A and
510B.
[0065] The user interface 500A further includes a frictionless
sharing portion 520, a network sharing portion 530, a comments area
540, an advertisement area 550, and a feed list 560. As shown in
FIG. 5A, the user interface 500A further includes a messaging area
570. The messaging area 570 may be provided by the messaging
service 142 of the content-sharing platform of FIG. 1 or it may be
provided by the messaging service 160, which may be a third-party
service or a co-operated service, external to the content-sharing
platform 130. When the user shares the media item 206 with the
contact, by selecting the corresponding interface element (for
example, the interface element may be the interface element 324A of
FIG. 3), the media item 206 may be displayed to the contact in the
media player 504. A popup, alert, or notification may be displayed
to the contact, prior to playing the media item 206, to provide
options to the contact. For example, the contact may be able to
choose to play the media item 206 immediately, add the media item
206 to the contact's watch list, or ignore the shared media item
206.
[0066] As described herein, when the user shares the media item 206
with the contact, the user may simultaneously initiate a messaging
session between the user and the contact. Thus, in the user
interface 500A presented to the contact, the messaging area 570 may
appear or may begin displaying a messaging session 572 between the
user and the contact when the media item 206 is shared. As shown in
FIG. 5A, the messaging session 572 includes several messages. The
message 574A may be an initiating message, such that it may be the
first message in the messaging session, in some embodiments. The
message 574A includes a reference to the media item 206. For
example, the message 574A may include a link to the media item 206.
In some embodiments, the message 574A may include a thumbnail of
the media item 206 in addition to text. The message 574A may be
automatically generated by the content-sharing platform 130 in
response to the user's selection of the interface element
corresponding to the contact in UI 200 or UI 300. In some
embodiments, no other action was required of the user to share the
media item.
[0067] After the media item 206 is shared with the contact and the
messaging session 572 is initiated, and the message 574A is sent to
the contact in the messaging session, the user and the contact may
use the messaging session 572 to exchange text-based messages.
Additionally, the contact may use the user interface 500A to
navigate to and view other media items of the content-sharing
platform 130 in the media player 504. The contact may select an
interface element 524A, corresponding to the user, in the
frictionless sharing portion 520 to share a second media item
currently being viewed in the media player 504 by the contact. A
message like the message 574A may then be sent in the messaging
session 572 to the user. In other embodiments, the sharing of the
current media item by the contact may generate another messaging
session, displayed in the messaging area 570. Generating a new
messaging session for each new media item shared may enable
participants (e.g., the user, the contact, additional contacts,
and/or other participants) to focus conversation on a particular
media item. The messaging area 570 may include a tabbed view, such
that users of the content-sharing platform 130 may select among a
plurality of ongoing messaging sessions.
[0068] In some embodiments, the contact may share the media item
206 with another contact by selecting a corresponding interface
element 524B. The contact may choose a default behavior such that
when a media item is being consumed (e.g., media item 206) and the
media item is present in an ongoing messaging session (e.g.,
messaging session 572), the media item is shared with the other
contact and the other contact is added into the messaging session
572, such that the messaging session 572 has more than two
participants. In adding the other contact to the messaging session
572, which is an ongoing messaging session between the user and the
contact, a reference to the media item 206 may be shared again in
the messaging session 572. For example, the message 574A may be
repeated each time a participant is added to the messaging session
572. In this way, each added participant (whether added by the user
or by the contact) may receive the media item 206, which was the
original media item shared to initiate the messaging session 572.
In some embodiments, the repeated message 574A may be displayed to
the participant being added but not to participants of the
messaging session 572 that were already in the messaging session
572. In some embodiments, additional messages may be sent to the
added participate, to enable the added participant to "catch up"
with the conversation of the messaging session 572. The added
participant may be in a contact list of the contact, but not in the
contact list of the user that originally shared the media item 206
with the contact. In other embodiments, only mutual contacts may be
added to an ongoing messaging session, like the messaging session
572.
[0069] FIG. 5B illustrates an exemplary user interface 500B that
includes at least some of the features and portions of the user
interface 500A. In the user interface 500B, the messaging area 570B
is a dynamic portion of the user interface 500B, such that it may
appear over other portions of the user interface 500A when the
messaging session 572 is initiated by the sharing of the media item
206 in one of the user interface 200 or 300 of FIG. 2 or 3,
respectively. The messaging area 570B may be collapsible and
restorable, such that it may be "removed" from over the bottom
portion of the feed list 560 and the advertisement area 550 and
then displayed again without terminating the messaging session 572
or losing any of the messages 574A-C. Additional messages may be
added to the messaging session 572, even when in a collapsed state.
The additional messages may be viewed upon restoring the messaging
area 570B. The messaging area 570B may be provided by an HTML
iframe.
[0070] The user interfaces 200, 300, 500A, and 500B, may be
provided by the content-sharing platform 130 and may allow users to
share a media item with a contact by selecting an interface element
depicting that contact. In some embodiments, no other action may be
required to share the media item. Additionally, the user interfaces
500A and 500B illustrate how messaging sessions may be initiated
simultaneously with the sharing of the media item to allow the user
and the contact (and subsequently added participants) to exchange
messages about the shared media item.
[0071] FIG. 6 is a flow diagram of a method 600 for sharing a media
item with a contact in a content-sharing platform, like the
content-sharing platform 130 of FIG. 1, in accordance with some
implementations. The method 600 may enable a user to share a media
item with a specific contact or group of contacts with as little as
single click or tap. At block 602, processing logic receives a
request of a user to view a media item of a content-sharing
platform. For example, the user may request to view the media item
206 of FIGS. 2, 3, 5A, and 5B. The user may select the media item
206 from a list of media items to request to view in the media
player 204.
[0072] At block 604, a set of contacts of the user may be
identified by the processing logic. This may be done by querying
the account service 136 of the content-sharing platform 130 as seen
in FIG. 1. The account server 136 includes account data 138 storing
user items 140A-N, at least some of which is associated with the
user. One or more of the user items 140A-N may include a list of
the user's contacts. At block 604, the processing logic provides a
user interface having a first portion to present the media item and
a second portion to present one or more interface elements
graphically identifying at least some contact of the set of
contacts. For example, the content-sharing platform 130 may provide
the user interface 200 or the user interface 300. The user
interfaces 200 and 300 both include a media viewing portion 202 and
302, respectively, presenting the media item 206 and a frictionless
sharing portion 220 and 320, respectively. The frictionless sharing
portion 320 includes interface elements 324A-F. The interface
elements 324A-F may display photos or profile images of
corresponding contacts identified at block 604. In some
embodiments, a subset of the identified contacts of the user may be
displayed in the frictionless sharing portion 320, rather than all
of the identified set of contacts. In some embodiments, the subset
may be determined as shown in FIG. 4 and described herein.
[0073] At block 608, the processing logic receives a selection of
one or the contacts by the user via the corresponding interface
element. The selection indicates a request of the user to share the
media item with the selected contact. For example, the user may
request to share the media item 206 while it is being presented in
the media player 204 by selecting the interface element 224A. The
content-sharing platform 130 may communicate with the contact to
indicate that the user has shared the media item 206 with the
contact. At block 610, the processing logic causes the media item
to be presented to the selected contact. For example, the contact
may view the media item in a user interface like the user
interfaces 500A and 500B as seen in FIGS. 5A and 5B, respectively,
and described herein. Thus, the media item may be shared in a
messaging session initiated in response to the request from the
user to share the media item 206 with the contact. This may be
better understood by reference to FIG. 7.
[0074] FIG. 7 is a flow diagram of a method 700 of sharing a media
item hosted by a content-sharing platform, in accordance with some
implementations. At block 702, processing logic may determine
whether a user requesting to share a media item with a contact is
in a messaging session with the selected contact. The processing
logic may make this determination upon receiving a selection of an
interface element corresponding to the contact. For example, when
the user selects the interface element 224A of FIG. 2, the
content-sharing platform 130 may query the messaging service 142,
running thereon, to determine whether the user and the contact are
in a messaging session. If the user is not in a messaging session
with the selected contact, the method may proceed to block 704, at
which the processing logic initiates a messaging session between
the user and the selected contact. The processing logic may present
the media item in the messaging session at block 706. This may be
done by including a link to the media item or by presenting a media
player 504 in-line in the messaging session. If the user is already
in a messaging session with the selected contact, the method 700
may continue on to block 708 at which the media item is added to
the messaging session. As described, this may be done by including
a link or other reference to the media item in the messaging
session, or by including the media item itself in the messaging
session.
[0075] FIG. 8 is a flow diagram of a method 800 of adding an
additional contact into a messaging session, in accordance with
some implementations. The method 800 may begin at block 802, in
which processing logic receives a selection of an additional
interface element by the user, wherein the selection of the
additional interface element is a request to share the media item
with an additional contact and to add the additional contact to the
messaging session. An example may be found in the description of
the user interfaces 500A and 500B of FIGS. 5A and 5B, respectively.
When the user has shared a media item with a contact, and a
messaging session is ongoing, the user or the contact may request
to add an additional participant to the messaging session and to
share the media item with the additional participant by selecting
an interface element, such as the interface element 524B of FIGS.
5A and 5B, which corresponds to the additional participant or
contact. At block 804, the processing logic adds the additional
participant to the messaging session and cause messages sent by the
user in the messaging session to be receive by both the selected
contact and the additional participant. The processing logic may
additionally cause messages sent by the user to the selected
contact before the addition of the additional contact to the
messaging session to be sent to the additional participant. For
example, the message 524A may be sent again to the additional
participant to enable the additional participant to receive a link
to the media item being shared. At block 806, the processing logic
may cause the media item to be presented to the additional
participant. This may be performed by the content-sharing platform
130, to which the additional participant is signed-in, in a user
interface with a media player.
[0076] FIG. 9 is a flow diagram of a method 900 for sharing a media
item presented on a user device, in accordance with some
implementations. At block 902, the processing logic receives a user
interface having a first portion comprising a media item and a
second portion comprising interface elements graphically
identifying contacts of a user. In some embodiments, the processing
logic may be provided by one of the client devices 110A-N of FIG.
1. For example, the client device 110A may be a smartphone that is
in communication with the content-sharing platform 130 through the
network 120. The content-sharing platform 130 may transmit data
including a web page or another type of user interface document to
the media viewer 112, which may be a browser or a mobile app
operating on the client device 110A. At block 904, the processing
logic may receive a selection of one of the contacts by the user
via a corresponding interface element. The selection may indicate a
request of the user to share the media item with the selected
contact. For example, the client device 110A may receive a tap on a
touch-screen on the interface element, which may display a photo
the contact with which a user of the client device 110A wants to
share the media item. At block 504, the processing logic provides
an indication to the user that the media item has been shared with
the selected contact. This may be done as shown in FIG. 5B. The
indication may allow the user to be aware of which of a plurality
of contacts the user is sharing media items with.
[0077] FIG. 10 illustrates a diagrammatic representation of a
machine in the exemplary form of a computer system 1000 within
which a set of instructions or sets of instructions, for causing
the machine to perform any one or more of the methodologies
discussed herein, may be executed. In alternative embodiments, the
machine may be connected (e.g., networked) to other machines in a
LAN, an intranet, an extranet, or the Internet. The machine may
operate in the capacity of a server or a client machine in
client-server network environment, or as a peer machine in a
peer-to-peer (or distributed) network environment. The machine may
be a personal computer (PC), a tablet PC, a set-top box (STB), a
Personal Digital Assistant (PDA), a smartphone, a web appliance, a
server, a network router, switch or bridge, or any machine capable
of executing a set of instructions (sequential or otherwise) that
specify actions to be taken by that machine. Further, while only a
single machine is illustrated, the term "machine" shall also be
taken to include any collection of machines that individually or
jointly execute a set (or multiple sets) of instructions to perform
any one or more of the methodologies discussed herein.
[0078] The exemplary computer system 1000 includes a processing
device (processor) 1002, a main memory 1004 (e.g., read-only memory
(ROM), flash memory, dynamic random access memory (DRAM) such as
synchronous DRAM (SDRAM) or Rambus DRAM (RDRAM), etc.), a static
memory 1006 (e.g., flash memory, static random access memory
(SRAM), etc.), and a data storage device 1018, which communicate
with each other via a bus 1008.
[0079] Processor 1002 represents one or more general-purpose
processing devices such as a microprocessor, central processing
unit, or the like, having one or more cores. More particularly, the
processor 1002 may be a complex instruction set computing (CISC)
microprocessor, reduced instruction set computing (RISC)
microprocessor, very long instruction word (VLIW) microprocessor,
or a processor implementing other instruction sets or processors
implementing a combination of instruction sets. The processor 1002
may also be one or more special-purpose processing devices such as
an application specific integrated circuit (ASIC), a field
programmable gate array (FPGA), a digital signal processor (DSP),
network processor, or the like. The processor 1002 is configured to
execute instructions 1026 for performing the operations and steps
discussed herein. For example, the processor 1002 may execute
instructions 1026 to perform methods 400, 600, 700, 800, and 900 as
shown herein in FIGS. 4, 6, 7, 8, and 9, to provide the
content-sharing platform 130 of FIG. 1, and to provide the user
interfaces 200, 300, 500A, and 500A of FIGS. 2, 3, 5A, and 5B.
[0080] The computer system 1000 may further include a network
interface device 1022. The network device 1022 may include a
plurality of network interface components, with each components
being adapted for different modes of communication. For example,
the network interface components may include an 802.11 transceiver,
a Bluetooth.RTM. transceiver, and an interface for communicating
with one or more cellular networks. The computer system 1000 also
may include a video display unit 1010 (e.g., a liquid crystal
display (LCD), a cathode ray tube (CRT), or a touch screen), an
alphanumeric input device 1012 (e.g., a physical keyboard or a
virtual keyboard), a cursor control device 1014 (e.g., a mouse or
touch-screen sensor system), and a signal generation device 1020
(e.g., a speaker).
[0081] The data storage device 1018 may include a non-transitory
computer-readable storage medium 1024 on which is stored one or
more sets of instructions 1026 (e.g., software) embodying any one
or more of the methodologies or functions described herein. The
instructions 1026 may also reside, completely or at least
partially, within the main memory 1004 and/or within the processor
1002 during execution thereof by the computer system 1000, the main
memory 1004 and the processor 1002 also constituting
computer-readable storage media. The instructions 1026 may further
be transmitted or received over a network 1074 via the network
interface device 1022.
[0082] In one embodiment, the instructions 1026 include
instructions for a media providing a media item storage, a metadata
service, a feed service, a feed service component, a media viewer
or other features which may correspond, respectively, to
identically-named counterparts described with respect to FIGS. 1,
2, and 3, and/or a software library containing methods for
displaying content in between loops of a looping media item. While
the computer-readable storage medium 1024 is shown in an exemplary
embodiment to be a single medium, the term "computer-readable
storage medium" should be taken to include a single medium or
multiple media (e.g., a centralized or distributed database, and/or
associated caches and servers) that store the one or more sets of
instructions. The term "computer-readable storage medium" shall
also be taken to include any non-transitory medium that is capable
of storing, encoding or carrying a set of instructions for
execution by the machine and that cause the machine to perform any
one or more of the methodologies of the present disclosure. The
term "computer-readable storage medium" shall accordingly be taken
to include, but not be limited to, solid-state memories, optical
media, and magnetic media.
[0083] In some embodiments, the computer system 1000 may be adapted
more specifically to provide for a smartphone or a tablet device.
FIGS. 11A-16 illustrated exemplary user interfaces such as may be
used on these devices. However, the user interfaces illustrated
herein may be presented on any type of user device.
[0084] FIGS. 11A and 11B illustrate exemplary user interfaces for
sharing a media item with one or more contacts, in accordance with
some embodiments of the disclosure. FIG. 11A depicts a user
interface 1100A include a media player portion 1102 in which the
media item 206 is being presented. The media player portion 1102
may be present in a feed, such that the media player portion 1102
may be positioned on the screen, moved out of the screen, and/or
moved into the screen by a scrolling action on the part of the
user.
[0085] Proximate to the media player portion 1102 may be a media
item description 1104, which may include information about the
media item 206, such as an owner, a title, a duration, a date
uploaded to the content-sharing platform 130, and interaction
information, such as a number of views, a number of approvals, a
numbers of disapprovals, etc. In some embodiments, the media item
description 1104 may not be displayed by default. For example, the
information may be displayed in a foreground of the media player
portion 1102 prior to the presentation of the media item 206. The
user interface 1100A may further include an interaction tools area
1106. The interactions tools area may provide many interface
elements, buttons, dials, sliders, etc., by which a user by
interact with the media item 206. The user may interact with the
media item to approve of it by selecting the approve button 1108A,
to disapprove of it by selecting the disapprove button 1108B,
and/or share it by selecting the share button 1108C. In some
embodiments, upon selecting the share button 1108C, the user may be
presented in a display of the user device with a link to the media
item 206 and/or a plurality of networks through which to share the
media item 206.
[0086] The user interface 1100A further includes a frictionless
sharing portion 1110, which includes several interface elements. By
selecting one or more of the interface elements 1112A-E, the user
may request to share the media item 206 with one or more contacts
corresponding to the interface elements 1112A-E. In some
embodiments, upon selection of one of the interface elements
1112A-E, the media item 206 may be automatically shared with the
corresponding contact and messaging session may be automatically
initiated between the user and the corresponding contact. The media
item 206 may appear directly as a message in the messaging session
and/or a reference to the media item 206, such a link, may be
included as a message. In some embodiments, the whether the media
item is included directly in the messaging session or as a
reference in the messaging session may be determined by the system
used by the contact to receive the shared media item.
[0087] Additionally, in some embodiments, one or more of the
interface elements 1112A-E may be selected and a graphical
indicator of the selection may be presented in connection with each
selected interface element of the interface elements 1112A-E. After
one or more interface elements 1112A-E are selected by the user,
the user may then select the share button 1108C, the selection of
which may be interpreted as a request to share the media item 206
with all of the selected interface elements 1112A-E.
[0088] Below of media player portion 1102, the media item
description 1104, the interaction tools area 1106, and the
frictionless sharing portion 1110, the user interface 1100A may
include a feed area 1114. The feed area 1114 may include additional
media items, such as the illustrated media item 1116. The media
items in the feed area 1114 may be recommendations produced by the
content-sharing platform 130 for the user of the device. In some
embodiments, the user interface 1100A may include one or more
dynamic portions such that one or more of the portions may appear
and/or disappear depending on a position with the user interface
1100A. For example, if the user pushes the media item 206 out of
the user interface 1100A by scrolling up or down, the media item
description 1104, the interaction tools area 1106, and/or the
frictionless sharing portion 1100 may disappear. Any other these
portions may reappear in connection with the appearance of another
media item, such that that other media may be described in a new
media item description 1104, interacted with, and shared, etc.
[0089] FIG. 11B illustrates another exemplary user interface 1100B
for sharing a media item with one or more contacts, in accordance
with some embodiments of the disclosure. Features of the user
interface 1100B having functions similar to features of the user
interface 1100A of FIG. 11A may have the same reference numbers.
Thus, the user interface includes 1100B includes a media player
portion 1102, etc. In the user interface 1100B, when the user
selects the share button 1108C, the frictionless sharing portion
1110 appears as a window or pop-up in a foreground of the user
interface 1100B, such that may partially or wholly obscure the
interaction tools area 1106 and/or the feed item area 1114. The
frictionless sharing portion 1110 as shown in FIG. 11B may provide
more area for the selection of contacts with which to share the
media item 206 may the selection of corresponding interface
elements 1112A-J. As shown in FIG. 11B, the user has selected
interface elements 1112B, 1112E, and 1112I to request that the
media item 206 be shared with contacts corresponding to each of
these interface elements 1112B, 1112E, and 1112I. The user may
select several contacts by selecting several of the interface
elements 1112A-J and then select the second share button 1118. As
shown in FIG. 11B, when the user selects one or more of the
interface elements 1112A-J, a selection indicator 1120 may be
presented in connection with the selected elements of elements
1112A-J.
[0090] Referring now to FIG. 12, upon the selection of a contact
with which to share a media item, the media item may be shared in a
messaging session. FIG. 12 illustrates an exemplary user interface
1200, according to some aspects of the present disclosure. After
the user shares the media item 206 with one or more contacts by
selecting the one or more of interface elements 1112A-F of FIG. 11A
or interface elements 1112A-J of FIG. 11B, a messaging session 1201
is initiated and presented in a messaging area 1202 of the user
interface 1200. In some embodiments, the user may see an initiated
message 1204A that indicates the media item that was shared, i.e.
media item 206, to initiate the messaging session 1201. Thus, in
the messaging area 1202, messages from the user as displayed in
connection with the interface element 1206A. The interface element
1206A may be a photo or other image representing or depicted the
user. A responsive message 1204B is illustrated as being received
in the messaging session 1201 from a contact corresponding to the
interface element 1206B. The user responds to the message 1204B by
sending the message 1204C. In this way, the user interface 1200 may
facilitate the user in having a conversation on the media item 206
by sharing the media item 206 with one or more contacts.
[0091] FIG. 13 illustrates an exemplary user interface 1300 such as
may appear on a lock-screen or notification screen of a mobile
device such as a tablet or smartphone, according to some aspects of
the present disclosure. As shown the user interface 1300, a
notification 1302 is displayed. The notification 1302 may be
provided by the notification system 148 or the notification service
170 as seen in FIG. 1 and described herein.
[0092] The user interface 1300 illustrates a user interface as on a
device of a contact to whom the media item 206 is shared by the
user as described in connection with FIGS. 11A, 11B, and 12. The
notification 1302 may include several different portions that
indicate an identify of the user of the content-sharing platform
130 that shared the media item, indicate what the shared media item
is, etc. The notification 1302 may include an image 1304, which may
be an icon or other image representing the content-sharing platform
130 or a mobile application associated therewith. In some
embodiments, the image 1304 may include an image or photo of the
user that shared the media item. This image or photo of the user
may be obtained from a contact list or contacts app operating on
the device presenting the user interface 1300. The notification
1302 may additionally include a message 1306, which may notify the
contact that the user has shared a media item with the contact. The
message 1306 may indicate an identity of the user and other
information. By manipulating the notification 1304As, such as by
swiping or sliding on the notification 1302, the device presenting
the user interface 1300 may be prompted to open an application to
enable the contact to view the shared media item. Such an
application may be a browser or a mobile app. FIGS. 14, 15, and 16
illustrate exemplary user interfaces showing how the media item may
be received by a contact.
[0093] FIG. 14 illustrates an exemplary user interface 1400 that
shows how a contact may receive a shared media item. FIG. 14 may be
observed in connection with FIG. 12, according to some aspects of
the present disclosure. While FIG. 12 illustrates a user interface
as seen by the sharing user of the content-sharing platform 130,
the user interface 1400 of FIG. 14 illustrates a user interface as
seen by and presented to the receiving contact. As shown in FIG.
14, the user interface 1400 includes a media player portion 1402 in
which the media item 206 is presented. Upon receipt of the media
item 206, the device presenting the user interface 1400 may also
join the messaging session 1403, which is displayed in a messaging
area 1404. In some embodiments, the media player portion 1402 is
incorporated directly into the messaging session 1403, such that it
is displayed within the messaging area 1404.
[0094] As shown in FIG. 14, the messaging session 1402 include an
initiating message 1406A. This initiating message 1406A may
correspond to the initiating message 1204A of FIG. 12. The
initiating message 1406A may be automatically generated when the
user selected to share the media item 206 with the contact that is
using the device presenting the user interface 1400. Additional
messages 1406B and 1406C are included in the messaging session
1403. Each of the messages 1406A-C may include an image 1408A or
1408B depicting a sender of each respective message. Thus, as
illustrated in FIG. 14, the image 1408B may be an image associated
with the contact that received the message and is responding to the
user in the messaging session 1403.
[0095] FIG. 15 illustrates an exemplary user interface 1500 by
which a contact may select a responsive media item for inclusion in
a reply in a messaging session initiated by the sharing of a media
item, according to some aspects of the present disclosure. The user
interface 1500 may include a media player portion 1502, which as
shown displays the shared media item 206. The user interface 1500
further includes a messaging session 1503. The messaging session
1503 may include an initiating message 1506 that includes an image
1508 depicting the user that shared the media item 206. The user
interface 1500 includes features that enable a contact to respond
to the user that shared the media item 206 with a media item. The
messaging session 1503 includes a prompt 1510 informing the contact
that he or she may choose a media item from a media item list 1512
to share with the user in response to the media item 206.
[0096] The media item list 1512 may include a plurality of
interface elements 1514A-F as shown below. Each of the interface
elements 1514A may be selected by the contact to cause a
corresponding media item to be shared with the user that sent the
media item 206 and any other participants of the messaging session
1503. The interface elements 1514A-F may be thumbnail images or
frames from videos. For example, the videos may be "video emojis"
or short clips that convey an emotion. The videos may be brief,
such as 5 seconds or less, or the videos may be longer. In some
embodiments, one or more of the interface elements 1514A-F may be
an audio clip or another media item other than a video.
[0097] Additionally, the interface element 1514A may be selected to
permit the contact to use the user device to record a media item.
Accordingly, some embodiments of the computer system 1000 of FIG.
10 may include a camera and/or a microphone as input devices in
addition to the alpha-numeric input device 1012 and the cursor
control device 1014. Thus, upon selecting the interface element
1514A, which may include an image of a video camera or microphone,
the contact may be provided a message recording interface to be
able to record a message as a video clip or a sound clip. In some
embodiments, the contact may be able to include a text-based
message with the recorded message. The text-based message may be
presented in a foreground of the message when the message is a
video clip. The message recording interface may include controls to
begin and stop recording, to reject and/or reject a recording,
etc.
[0098] Some embodiments of the user interface 1500 may include
media items stored in a local memory of the user device in the
media item list 1512. Additionally, the media item list 1512 may
include links to recently consumed media items or a saved list of
media items. Thus, many different types of media items may be
included in a response message by using embodiments to the user
interface 1500.
[0099] FIG. 16 illustrates an exemplary user interface 1600 that
may be used in a messaging session in which one or more media items
are shared, according to some aspects of the present disclosure.
The user interface 1600 includes a messaging session 1601 in a
messaging area 1602. The messaging session 1601 includes an
initiating message 1604A. This initiating message 1604A may be the
same as the initiating message 1406A of FIG. 14, which was sent in
connection with the sharing of the media item 206 with the selected
contact.
[0100] The messaging session 1601 further includes messages
1604B-F. The message 1604D is a response message including a media
item 1606, such as may be shared and sent by using the user
interface 1500 of FIG. 15, described herein. Messages 1604E and
1604F are messages on the media item 1606, rather than the media
item 206. Each of the messages 1604A-F may include a visual
identifier or indicator of the sender of the message. The
identifiers may be provided by the interface elements 1608A and
1608B. In particular, the message 1604D, which is the responsive
media item 1606, includes an identifier 1610, which may be an image
or photo of the sender of the message 1604D. As illustrated, the
message 1604D includes a media item 1606 that is a video clip. When
the video clip is selected for playing, the identifier 1610 may be
hidden during the duration of the video clip to avoid obscuring the
media item 1606.
[0101] In the foregoing description, numerous details are set
forth. It will be apparent, however, to one of ordinary skill in
the art having the benefit of this disclosure, that the present
disclosure may be practiced without these specific details. In some
instances, well-known structures and devices are shown in block
diagram form, rather than in detail, in order to avoid obscuring
the present disclosure.
[0102] Some portions of the detailed description have been
presented in terms of algorithms and symbolic representations of
operations on data bits within a computer memory. These algorithmic
descriptions and representations are the means used by those
skilled in the data processing arts to most effectively convey the
substance of their work to others skilled in the art. An algorithm
is here, and generally, conceived to be a self-consistent sequence
of steps leading to a desired result. The steps are those requiring
physical manipulations of physical quantities. Usually, though not
necessarily, these quantities take the form of electrical or
magnetic signals capable of being stored, transferred, combined,
compared, and otherwise manipulated. It has proven convenient at
times, principally for reasons of common usage, to refer to these
signals as bits, values, elements, symbols, characters, terms,
numbers, or the like.
[0103] It should be borne in mind, however, that all of these and
similar terms are to be associated with the appropriate physical
quantities and are merely convenient labels applied to these
quantities. Unless specifically stated otherwise as apparent from
the following discussion, it is appreciated that throughout the
description, discussions utilizing terms such as "providing",
"monitoring", "determining", "receiving", "identifying",
"generating", "maintaining" or the like, refer to the actions and
processes of a computer system, or similar electronic computing
device, that manipulates and transforms data represented as
physical (e.g., electronic) quantities within the computer system's
registers and memories into other data similarly represented as
physical quantities within the computer system memories or
registers or other such information storage, transmission or
display devices.
[0104] The disclosure also relates to a system for performing the
operations herein. This system may be specially constructed for the
required purposes, or it may include a general purpose computer
selectively activated or reconfigured by a computer program stored
in the computer. Such a computer program may be stored in a
computer readable storage medium, such as, but not limited to, any
type of disk including floppy disks, optical disks, CD-ROMs, and
magnetic-optical disks, read-only memories (ROMs), random access
memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, or any
type of media suitable for storing electronic instructions.
[0105] The words "example" or "exemplary" are used herein to mean
serving as an example, instance, or illustration. Any aspect or
design described herein as "example" or "exemplary" is not
necessarily to be construed as preferred or advantageous over other
aspects or designs. Rather, use of the words "example" or
"exemplary" is intended to present concepts in a concrete fashion.
As used in this application, the term "or" is intended to mean an
inclusive "or" rather than an exclusive "or". That is, unless
specified otherwise, or clear from context, "X includes A or B" is
intended to mean any of the natural inclusive permutations. That
is, if X includes A; X includes B; or X includes both A and B, then
"X includes A or B" is satisfied under any of the foregoing
instances. In addition, the articles "a" and "an" as used in this
application and the appended claims should generally be construed
to mean "one or more" unless specified otherwise or clear from
context to be directed to a singular form. Moreover, use of the
term "an embodiment" or "one embodiment" or "an embodiment" or "one
embodiment" throughout is not intended to mean the same embodiment
or embodiment unless described as such.
[0106] Reference throughout this specification to "one embodiment"
or "an embodiment" means that a particular feature, structure, or
characteristic described in connection with the embodiment is
included in at least one embodiment. Thus, the appearances of the
phrase "in some embodiments" or "in an embodiment" in various
places throughout this specification are not necessarily all
referring to the same embodiment. In addition, the term "or" is
intended to mean an inclusive "or" rather than an exclusive
"or."
[0107] It is to be understood that the above description is
intended to be illustrative, and not restrictive. Many other
embodiments will be apparent to those of skill in the art upon
reading and understanding the above description. The scope of the
disclosure should, therefore, be determined with reference to the
appended claims, along with the full scope of equivalents to which
such claims are entitled.
* * * * *