U.S. patent application number 13/304553 was filed with the patent office on 2012-07-26 for systems and methods for managing a profile of a user.
Invention is credited to Ian Barlow, Jordan Christensen, Jim Dovey, Dan Galperin, Jason Gamblen, Pamela Hilborn, Jeff Howard, Daniel Leibu, Damian Lewis, Tony O'Donoghue, Richard Penner, Michael Serbinis, Tai Toh.
Application Number | 20120191545 13/304553 |
Document ID | / |
Family ID | 46145324 |
Filed Date | 2012-07-26 |
United States Patent
Application |
20120191545 |
Kind Code |
A1 |
Leibu; Daniel ; et
al. |
July 26, 2012 |
SYSTEMS AND METHODS FOR MANAGING A PROFILE OF A USER
Abstract
Systems and methods of managing a profile of a user of at least
one device having access to electronic content. The systems and
methods may involve receiving a user identifier for a user of at
least one device configured to access electronic content; storing a
profile of the user in a memory, where the profile of the user
comprises the user identifier; if a user activity meets at least
one event definition, identifying the user activity as an event;
receiving data associated with the event; and recording at least a
portion of the data associated with the event in the profile of the
user.
Inventors: |
Leibu; Daniel; (Toronto,
CA) ; Lewis; Damian; (Toronto, CA) ; Barlow;
Ian; (Toronto, CA) ; Gamblen; Jason;
(Pickering, CA) ; Dovey; Jim; (Mississauga,
CA) ; Christensen; Jordan; (Toronto, CA) ;
Serbinis; Michael; (Toronto, CA) ; Hilborn;
Pamela; (Toronto, CA) ; Penner; Richard;
(Toronto, CA) ; Toh; Tai; (Toronto, CA) ;
Galperin; Dan; (Toronto, CA) ; O'Donoghue; Tony;
(Toronto, CA) ; Howard; Jeff; (Toronto,
CA) |
Family ID: |
46145324 |
Appl. No.: |
13/304553 |
Filed: |
November 25, 2011 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
61417261 |
Nov 25, 2010 |
|
|
|
61538101 |
Sep 22, 2011 |
|
|
|
Current U.S.
Class: |
705/14.66 ;
709/204 |
Current CPC
Class: |
G06F 16/907 20190101;
G06Q 30/0269 20130101; G06Q 30/02 20130101; G09B 7/00 20130101;
G09B 5/00 20130101; H04L 67/306 20130101 |
Class at
Publication: |
705/14.66 ;
709/204 |
International
Class: |
G06F 15/16 20060101
G06F015/16; G06Q 30/02 20120101 G06Q030/02 |
Claims
1. A method of managing a profile of a user of at least one device
having access to electronic content, the method comprising:
receiving a user identifier for a user of at least one device
configured to access electronic content; storing a profile of the
user in a memory, wherein the profile of the user comprises the
user identifier; if a user activity meets at least one event
definition, identifying the user activity as an event, wherein the
identifying step is carried out using a processor; receiving data
associated with the event; recording at least a portion of the data
associated with the event in the profile of the user; and providing
at least of portion of the profile of the user to the at least one
device.
2. The method of claim 1 wherein the electronic content comprises
at least one electronic publication.
3. The method of claim 1 further comprising storing a plurality of
event definitions.
4. The method of claim 3 wherein identifying the user activity as
an event comprises matching input data to at least one of the
plurality of event definitions.
5. The method of claim 1 further comprising: if a plurality of the
user activities meet at least one milestone definition, identifying
that a milestone has been achieved, wherein the milestone is an
aggregation of events; and recording data associated with the
milestone in the profile of the user.
6. The method of claim 5 further comprising storing at least one
milestone definition.
7. The method of claim 6 further comprising: determining whether
the milestone is associated with a reward; recording data
associated with the reward in the profile of the user; and
providing the reward to the user.
8. The method of claim 1 further comprising providing a
notification of the occurrence of the event to a social network
application.
9. The method of claim 1 wherein receiving data associated with the
event further comprises receiving a time period associated with the
user accessing the electronic content.
10. The method of claim 2 wherein receiving data associated with
the event further comprises receiving a time period associated with
the user reading the at least one electronic publication.
11. The method of claim 1 wherein receiving data associated with
the event further comprises receiving at least a portion of the
electronic content.
12. The method of claim 1 wherein receiving data associated with
the event further comprises receiving a location of at least one
device configured to access the electronic content.
13. The method of claim 2 wherein the event is associated with at
least one of the group consisting of: interactivity of the user
with the device, interactivity of the user with an electronic
publication online service, a number of electronic publications in
an electronic library associated with the user, turning a number of
pages in an electronic publication, adding an electronic
publication to an electronic library associated with the user,
finishing an electronic publication that is last in a series of
electronic publications, finishing an electronic publication by an
author, reading an electronic publication in a location, an event
on a social networking application, and reading about a character
in an electronic publication.
14. The method of claim 1 wherein the event is associated with at
least one of the group consisting of: interactivity of the user
with the device, interactivity of the user with an online service
providing the electronic content, a number of types of electronic
content items associated with the user, a number of times the user
access an electronic content item, adding a new electronic content
item to an electronic library associated with the user, finishing
an electronic content item that is last in a series of electronic
content items, finishing a electronic content item by an author,
accessing an electronic content item in a location, and an event on
a social networking application.
15. The method of claim 1 further comprising: if the user activity
meets at least one advertisement definition, providing an
advertisement to the user; and recording data associated with the
advertisement in the profile of the user.
16. The method of claim 1 further comprising: if the user activity
meets at least one offer definition, providing an offer to the
user, and recording data associated with the offer in the profile
of the user.
17. The method of claim 1 further comprising: if the user activity
meets at least one gift definition, providing a virtual gift to the
user, and recording data associated with the gift in the profile of
the user.
18. The method of claim 2 wherein the user activity is associated
with the user highlighting a portion of the electronic
publication.
19. The method of claim 2 wherein the user activity is associated
with the user annotating a portion of the electronic
publication.
20. The method of claim 1 wherein the user activity is associated
with the user interacting with another user.
21. The method of claim 1 wherein the user activity is associated
with the user commenting on the electronic content.
22. A system for managing a profile of a user of at least one
device having access to electronic content, the system comprising:
a profile module configured to: receive a user identifier for the
user of the at least one device configured to access the electronic
content; store a profile of the user in a memory, wherein the
profile of the user comprises the user identifier; an event
detection module configured to identify, using a processor, a user
activity as an event if the user activity meets at least one event
definition, and to receive data associated with the event; and
wherein the profile module is further configured to record at least
a portion of the data associated with the event in the profile of
the user.
23. The system of claim 22 wherein the electronic content comprises
at least one electronic publication.
24. The system of claim 22 further comprising: an event definition
module configured to define a plurality of event definitions; and a
rules engine configured to store and manage the plurality of event
definitions.
25. The system of claim 24 wherein the event detection module is
configured to identify an event by interacting with the rules
engine to match input data to at least one of the plurality of
event definitions.
26. The system of claim 25 further comprising a milestone
definition module configured to define at least one milestone
definition, wherein a milestone is an aggregation of events; and
wherein the rules engine is configured to store the at least one
milestone definition.
27. The system of claim 24 wherein the event detection module is
further configured to determine that a plurality of the user
activities achieve a milestone if the plurality of the user
activities meet at least one milestone definition, wherein a
milestone is an aggregation of events; and wherein the profile
module is configured to record data associated with the milestone
in the profile of the user.
28. The system of claim 27 further comprising a reward module
configured to determine whether the milestone is associated with a
reward and provide the reward to the user; and wherein the profile
module is configured to record data associated with the reward in
the profile of the user.
29. The system of claim 24 further comprising a social connector
configured to provide a notification associated with the event to a
social networking application.
30. The system of claim 24 further comprising a social connector
configured to receive the user activity from a social networking
application.
31. The system of claim 23 wherein the event detection module is
configured to receive a time period associated with the user
reading the at least one electronic publication.
32. The system of claim 22 wherein the event detection module is
configured to receive a time period associated with the user
accessing the electronic content.
33. The system of claim 23 wherein the event detection module is
configured to receive story content from at least one of the at
least one electronic publication.
34. The system of claim 22 wherein the event detection module is
configured to receive a location of the device configured to access
the electronic content.
35. The system of claim 23 wherein the event is associated with at
least one of the group consisting of: interactivity of the user
with the device, interactivity of the user with an electronic
publication online service, a number of electronic publications in
an electronic library associated with the user, turning a number of
pages in an electronic publication, adding an electronic
publication to an electronic library associated with the user,
finishing an electronic publication that is last in a series of
electronic publications, finishing an electronic publication by an
author, reading an electronic publication in a location, an event
on a social networking application, annotations, comments, speed,
social graph, specific content in the electronic publication, and
reading about a character in an electronic publication.
36. The system of claim 23 further comprising an event analytics
engine further configured to process data associated with events to
compute statistical data selected from the group consisting of:
status of current electronic publication, current electronic
publication reading, types of electronic publication, genre of
electronic publication, graphical representations, number of pages
turned, number of hours spent reading, number of pages read every
session, rewards achieved, number of magazines completed, number of
newspapers completed, number of books read, number of hours per
e-book, number of minutes per magazine, number of pages read every
session, annotations, comments, speed, social graph, specific
content in the electronic publication, and percentage of electronic
publications completed in the library.
37. The system of claim 22 wherein the event detection module is
configured to run on a server, wherein the server comprises the
processor and the server communicates with the at least one device
over a network.
38. The system of claim 22 wherein the event detection module is
configured to run on the at least one device.
39. The system of claim 22 further comprising at least two event
detection modules configured to identify, using the processor, a
user activity as an event if the user activity meets at least one
event definition, and to receive data associated with the event,
and wherein a first event detection module resides on a server and
a second event detection module resides on the at least one
device.
40. The system of claim 22 further comprising an advertisement
engine configured to provide, using the processor, an advertisement
to the user if the user activity meets at least one of an
advertisement definition, a milestone definition, and a reward
definition.
Description
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority from U.S. Provisional
Patent Application No. 61/417,261, filed on Nov. 25, 2010 and
United States Provisional Patent Application No. 61/538,101 filed
on Sep. 22, 2011. The complete disclosure of each of these
provisional patent applications is hereby incorporated by
reference.
TECHNICAL FIELD
[0002] The described embodiments relate to systems and methods for
managing a profile of a user and, in particular, to systems and
methods for managing a profile of a user of at least one device
having access to electronic content.
BACKGROUND
[0003] Electronic devices may display electronic content as text,
images, audio, video or a combination thereof, to a user. One
example of an electronic device is an electronic reading device.
One example of electronic content is an electronic publication. An
electronic publication also referred to as an "e-book" or a digital
book, and is a digital publication that includes text, images,
audio, video or a combination thereof. An e-book may be produced
by, published by, accessed by, stored by, or readable on electronic
reading devices. E-books may be digitized versions of printed
materials or may not have a printed equivalent.
[0004] Electronic reading devices that are specifically designed
for accessing, storing, or displaying e-books for a user to read
may be referred to as "e-readers", "e-book readers", "e-book
devices", and so on. Other computing devices such as personal
computers, smart phones, mobile phones, tablet computers, and so
on, can also access, store or display e-books and other electronic
content for a user. Some e-readers use electronic ink, or "e-ink",
technology to clearly display an e-book to a user in an improved
manner for reading. E-readers may include wired or wireless network
connectivity in order to access copies of electronic content, such
as electronic books, for display to a user.
SUMMARY
[0005] In a first aspect, embodiments described herein may provide
a method of managing a profile of a user of at least one device
having access to electronic content, the method comprising:
receiving a user identifier for a user of at least one device
configured to access electronic content; storing a profile of the
user in a memory, wherein the profile of the user comprises the
user identifier; if a user activity meets at least one event
definition, identifying the user activity as an event, wherein the
identifying step is carried out using a processor; receiving data
associated with the event; recording at least a portion of the data
associated with the event in the profile of the user; and providing
at least of portion of the profile of the user to the at least one
device.
[0006] In some embodiments, the electronic content comprises at
least one electronic publication.
[0007] In further embodiments, the method may further comprise
storing a plurality of event definitions.
[0008] In some embodiments, identifying the user activity as an
event may comprise matching input data to at least one of the
plurality of event definitions.
[0009] In some embodiments, the method may further comprise, if a
plurality of the user activities meet at least one milestone
definition, identifying that a milestone has been achieved, wherein
the milestone is an aggregation of events; and recording data
associated with the milestone in the profile of the user.
[0010] In further embodiments, the method may further comprise
storing at least one milestone definition.
[0011] In some embodiments, the method may further comprise
determining whether the milestone is associated with a reward;
recording data associated with the reward in the profile of the
user; and providing the reward to the user.
[0012] In further embodiments, the method may further comprise
providing a notification of the occurrence of the event to a social
network application.
[0013] In some embodiments, receiving data associated with the
event further may comprise receiving a time period associated with
the user accessing the electronic content.
[0014] In further embodiments, receiving data associated with the
event may further comprise receiving a time period associated with
the user reading the at least one electronic publication.
[0015] In further embodiments, receiving data associated with the
event may further comprise receiving at least a portion of the
electronic content.
[0016] In some embodiments, receiving data associated with the
event may further comprise receiving a location of at least one
device configured to access the electronic content.
[0017] In further embodiments, the event may be associated with at
least one of the group consisting of: interactivity of the user
with the device, interactivity of the user with an electronic
publication online service, a number of electronic publications in
an electronic library associated with the user, turning a number of
pages in an electronic publication, adding an electronic
publication to an electronic library associated with the user,
finishing an electronic publication that is last in a series of
electronic publications, finishing an electronic publication by an
author, reading an electronic publication in a location, an event
on a social networking application, and reading about a character
in an electronic publication.
[0018] In further embodiments, the event may be associated with at
least one of the group consisting of: interactivity of the user
with the device, interactivity of the user with an online service
providing the electronic content, a number of types of electronic
content items associated with the user, a number of times the user
access an electronic content item, adding a new electronic content
item to an electronic library associated with the user, finishing
an electronic content item that is last in a series of electronic
content items, finishing a electronic content item by an author,
accessing an electronic content item in a location, and an event on
a social networking application.
[0019] In some embodiments, the method may further comprise if the
user activity meets at least one advertisement definition,
providing an advertisement to the user; and recording data
associated with the advertisement in the profile of the user.
[0020] In further embodiments, the method may further comprise if
the user activity meets at least one offer definition, providing an
offer to the user, and recording data associated with the offer in
the profile of the user.
[0021] In some embodiments, the method further comprises if the
user activity meets at least one gift definition, providing a
virtual gift to the user, and recording data associated with the
gift in the profile of the user.
[0022] In some embodiments, wherein the user activity may be
associated with the user highlighting a portion of the electronic
publication.
[0023] In further embodiments, wherein the user activity may be
associated with the user annotating a portion of the electronic
publication.
[0024] In further embodiments, the user activity may be associated
with the user interacting with another user.
[0025] In some embodiments, the user activity may be associated
with the user commenting on the electronic publication.
[0026] In another aspect embodiments described herein may provide a
system for managing a profile of a user of at least one device
having access to electronic content, the system comprising: a
profile module configured to receive a user identifier for the user
of the at least one device configured to access the electronic
content; store a profile of the user in a memory, wherein the
profile of the user comprises the user identifier; an event
detection module configured to identify, using a processor, a user
activity as an event if the user activity meets at least one event
definition, and to receive data associated with the event; and
wherein the profile module is further configured to record at least
a portion of the data associated with the event in the profile of
the user.
[0027] In some embodiments, the electronic content may comprise at
least one electronic publication.
[0028] In some embodiments, the system further comprises an event
definition module configured to define a plurality of event
definitions; and a rules engine configured to store and manage the
plurality of event definitions.
[0029] In further embodiments, the event detection module is
configured to identify an event by interacting with the rules
engine to match input data to at least one of the plurality of
event definitions.
[0030] In some embodiments, the system further comprises a
milestone definition module configured to define at least one
milestone definition, wherein a milestone is an aggregation of
events; and wherein the rules engine is configured to store the at
least one milestone definition.
[0031] In further embodiments, the event detection module is
further configured to determine that a plurality of the user
activities achieve a milestone if the plurality of the user
activities meet at least one milestone definition, wherein a
milestone is an aggregation of events; and wherein the profile
module is configured to record data associated with the milestone
in the profile of the user.
[0032] In some embodiments, the system may further comprise a
reward module configured to determine whether the milestone is
associated with a reward and provide the reward to the user; and
wherein the profile module is configured to record data associated
with the reward in the profile of the user.
[0033] In further embodiments, the system may further comprise a
social connector configured to provide a notification associated
with the event to a social networking application.
[0034] In some embodiments, the system may further comprise a
social connector configured to receive the user activity from a
social networking application.
[0035] In further embodiments, the event detection module may be
configured to receive a time period associated with the user
reading the at least one electronic publication.
[0036] In some embodiments, the event detection module may be
configured to receive a time period associated with the user
accessing the electronic content.
[0037] In some embodiments, the event detection module may be
configured to receive story content from at least one of the at
least one electronic publication.
[0038] In further embodiments, the event detection module may be
configured to receive a location of the device configured to access
the electronic content.
[0039] In further embodiments, the event may be associated with at
least one of the group consisting of: interactivity of the user
with the device, interactivity of the user with an electronic
publication online service, a number of electronic publications in
an electronic library associated with the user, turning a number of
pages in an electronic publication, adding an electronic
publication to an electronic library associated with the user,
finishing an electronic publication that is last in a series of
electronic publications, finishing an electronic publication by an
author, reading an electronic publication in a location, an event
on a social networking application, annotations, comments, speed,
social graph, specific content in the electronic publication, and
reading about a character in an electronic publication.
[0040] In further embodiments, the system may further comprise an
event analytics engine further configured to process data
associated with events to compute statistical data selected from
the group consisting of: status of current electronic publication,
current electronic publication reading, types of electronic
publication, genre of electronic publication, graphical
representations, number of pages turned, number of hours spent
reading, number of pages read every session, rewards achieved,
number of magazines completed, number of newspapers completed,
number of books read, number of hours per e-book, number of minutes
per magazine, number of pages read every session, annotations,
comments, speed, social graph, specific content in the electronic
publication, and percentage of electronic publications completed in
the library.
[0041] In further embodiments, the event detection module may be
configured to run on a server, wherein the server comprises the
processor and the server communicates with the at least one device
over a network.
[0042] In some embodiments, the event detection module may be
configured to run on the at least one device.
[0043] In some embodiments, the system may further comprise at
least two event detection modules configured to identify, using the
processor, a user activity as an event if the user activity meets
at least one event definition, and to receive data associated with
the event, and wherein a first event detection module resides on a
server and a second event detection module resides on the at least
one device.
[0044] In further embodiments, the system may further comprise an
advertisement engine configured to provide, using the processor, an
advertisement to the user if the user activity meets at least one
of an advertisement definition, a milestone definition, and a
reward definition.
BRIEF DESCRIPTION OF THE DRAWINGS
[0045] For a better understanding of embodiments of the systems and
methods described herein, and to show more clearly how they may be
carried into effect, reference will be made, by way of example, to
the accompanying drawings in which:
[0046] FIG. 1 is a block diagram of components interacting with a
system for managing a profile of a user in accordance with an
example embodiment;
[0047] FIG. 2 is a block diagram of the system for managing a
profile of a user in accordance with at least one embodiment;
[0048] FIG. 3 is a screen display of rendered data to provide a
visual display of a profile of a user in accordance with at least
one embodiment;
[0049] FIG. 4 is a flowchart of a method for generating a reading
history for managing a profile of a user in accordance with at
least one embodiment; and
[0050] FIG. 5 is a flowchart of another method for generating a
reading history for managing a profile of a user in accordance with
at least one embodiment;
[0051] FIG. 6 is a screen display of a device in accordance with at
least one embodiment;
[0052] FIG. 7 is another screen display of rendered data to provide
a visual display of a profile of a user in accordance with at least
one embodiment; and
[0053] FIG. 8 is a further screen display of a rendered data to
provide a visual display of a profile of a user in accordance with
at least one embodiment.
[0054] The drawings, described below, are provided for purposes of
illustration, and not of limitation, of the aspects and features of
various examples of embodiments of the invention described herein.
The drawings are not intended to limit the scope of the applicants'
teachings in any way. For simplicity and clarity of illustration,
elements shown in the figures have not necessarily been drawn to
scale. The dimensions of some of the elements may be exaggerated
relative to other elements for clarity. Further, where considered
appropriate, reference numerals may be repeated among the figures
to indicate corresponding or analogous elements.
DETAILED DESCRIPTION
[0055] It will be appreciated that numerous specific details are
set forth in order to provide a thorough understanding of the
exemplary embodiments described herein. However, it will be
understood by those of ordinary skill in the art that the
embodiments described herein may be practiced without these
specific details. In other instances, well-known methods,
procedures and components have not been described in detail so as
not to obscure the embodiments described herein. Furthermore, this
description is not to be considered as limiting the scope of the
embodiments described herein in any way, but rather as merely
describing implementation of the various embodiments described
herein.
[0056] The embodiments of the systems and methods described herein
may be implemented in hardware or software, or a combination of
both. However, these embodiments may be implemented in computer
programs executing on programmable computers, each computer
including at least one processor, a data storage system (including
volatile and non-volatile memory and/or storage elements), and at
least one communication interface. For example, the programmable
computers may be a server, network appliance, set-top box, embedded
device, computer expansion module, personal computer, laptop,
personal data assistant, or mobile device. Program code is applied
to input data to perform the functions described herein and to
generate output information. The output information is applied to
one or more output devices, in known fashion. In some embodiments,
the communication interface may be a network communication
interface. In embodiments in which elements of the invention are
combined, the communication interface may be a software
communication interface, such as those for inter-process
communication (IPC). In still other embodiments, there may be a
combination of communication interfaces.
[0057] Each program may be implemented in a high level procedural
or object oriented programming or scripting language, or both, to
communicate with a computer system. However, alternatively the
programs may be implemented in assembly or machine language, if
desired. In any case, the language may be a compiled or interpreted
language. Each such computer program may be stored on a storage
media or a device (e.g. ROM or magnetic diskette), readable by a
general or special purpose programmable computer, for configuring
and operating the computer when the storage media or device is read
by the computer to perform the procedures described herein.
Embodiments of the system may also be considered to be implemented
as a non-transitory computer-readable storage medium, configured
with a computer program, where the storage medium so configured
causes a computer to operate in a specific and predefined manner to
perform the functions described herein.
[0058] Furthermore, the system, processes and methods of the
described embodiments are capable of being distributed in a
computer program product including a physical non-transitory
computer readable medium that bears computer usable instructions
for one or more processors. The medium may be provided in various
forms, including one or more diskettes, compact disks, tapes,
chips, magnetic and electronic storage media, and the like. The
computer useable instructions may also be in various forms,
including compiled and non-compiled code.
[0059] As an illustrative example, the systems and methods
described herein may manage a profile of a user of a device that
may access electronic publications. However, those skilled in the
art will understand that described embodiments may also be used to
access other types of electronic content, such as movies,
television shows, music albums or songs. An instance of electronic
content may be referred to herein as an electronic content
item.
[0060] Reference is now made to FIG. 1, which illustrates a block
diagram of components interacting with a system 100 for managing a
profile of a user in accordance with an example embodiment. System
100 maintains a record of metrics and events by collecting and
processing input data received from a user's interactions with a
server 104, at least one device 102a, 102b, 102c, electronic
content (such as for example one or more electronic publications or
"e-books" 108, 110, 114, 116), computer applications, such as a
social networking applications 120, or a combination thereof. Input
data received from the user's interactions may be referred to as
user activities, and may be recorded by system 100 as metrics.
Certain user activities may be identified by system 100 as metrics
or events, and the identification of metrics and events is
described in detail below. The system 100 identifies certain user
activities as metrics or events and compiles received data
associated with the metrics or events. The system 100 analyzes the
data associated with metrics, events, or a combination thereof, to
compute statistical data, determine whether a milestone is
achieved, determine whether a reward should be provided to a user,
determine whether an advertisement or offer should be provided to a
user, and so on. Data from metrics, events, statistical analysis,
milestones and rewards may be collected, analyzed, and stored by
system 100 to form part of a detailed profile of a user and their
reading habits. A user may read an e-book on multiple devices 102a,
102b, 102c and system 100 may collate collected metrics and data
associated with events across all devices in the user's
profile.
[0061] As used herein, the terms metrics, events, milestones, and
notifications are defined as follows:
[0062] "Metrics" are defined as user actions or activities that are
recorded by system 100. User activities may be any interaction a
user has with server 104, device 102a, 102b, 102c, e-books 108,
110, 114, 116, social network applications 120, or a combination
thereof. Metrics may be either direct user activities, such as for
example a page turn, or indirect user activities, such as for
example reading at a specific time. Metrics include user
activities, such as turning a page, and may also include data
elements, such as the location of the user or device 102a, 102b,
102c, e-book title, timestamp, type of e-book, genre of e-book,
author of e-book, reading rate, and so on. Metrics may be viewed as
a subset of user activities, as not all user activities may be
recorded as metrics by system 100.
[0063] "Events" are a predefined subset of metrics. Specifically,
events are preferably only those metrics of which the user is
informed via a display, as will be discussed in more detail below.
Additionally, events contain resource data of images, audio, video
and text which are used in the creation of notifications.
[0064] A "milestone" is preferably a predicate or condition which
operates on the set (or a subset) of metrics and events recorded by
the system 100 to determine whether the milestone has been achieved
by the user. One exemplary purpose of such a determination (also
referred to as an "achievement") is to provide an associated reward
to the user. A reward may be resource data in the form of images
and text which identify the achievement awarded to the user. Each
achievement is either associated with at least one metric or event,
or may be time-based, in which case time can be said to be the
metric. Metric-based achievements will execute the predicate
(milestone) each time their associated metric(s) occur to determine
whether the milestone has been achieved. Time-based achievements
will execute their predicate in pre-defined intervals. An
achievement reward can be sponsored by an advertiser and may
include an offer or event sponsored by an advertiser. For example,
a reward may include an offer sponsored by an energy drink
manufacturer and may be provided to a user for achieving the
milestone of reading an e-book all night long. An achievement may
also be based on a metric associated with the location of the user
or the device used by the user, and a reward may include a local
offer sponsored by an advertiser that is in proximity to the metric
associated with the location.
[0065] "Notifications" are communications provided to the user via
a user interface to inform the user that a particular event or
achievement has occurred. Notifications may include the resource
data (such as for example images and text) associated with the
corresponding event or achievement to inform the user that the
particular event or achievement that has taken place. Notifications
may include an advertisement or offer sponsored by an advertiser.
As will be explained herein, system 100 can process data associated
with metrics and events to identify an advertisement or offer based
on an achievement by the user, the user's predisposition or reading
habits. System 100 may determine a suitable advertisement by
analyzing the content of e-books read by the user or by analyzing
user behavior captured as metrics and events by system 100.
[0066] As an illustrative example, an achievement (milestone and
reward) may be provided to the user for completing 5 e-books ('5
Completed e-Books Achievement'). In this example, the metric
recorded by the system is the user activity of completing an
individual e-book (the `book completed metric`). The achievement in
this example contains a predicate (milestone) which determines
whether a total of 5 e-books have been completed, as well as text
and images (reward) to be used to inform the user of this
occurrence. The event in this example is the e-book completed
metric, as it is a metric which may be of interest to the user and
thus presented in the user interface rendering of data in the
user's profile (`the e-book completed event`). A notification may
be provided to the user each time an e-book is completed,
containing information about the `e-book completed event`, as well
as an additional notification containing information about the
`e-book completed achievement` if the achievement's predicate
indicates that it should be awarded.
[0067] For this illustrative example, when a user completes an
e-book, the system 100 records both the e-book completed metric, as
well as the e-book completed event. When this metric is recorded,
the system 100 determines each achievement (milestone and reward)
associated with this e-book completed metric. In the case of the 5
Completed e-Books Achievement, its milestone will determine whether
a minimum of 5 e-books have been completed, and if found to be the
case, will inform the system 100 to provide a reward in the form of
resource data (images and text). The system 100 then creates a
notification using the resource data from the event and presents
the notification to the user via the user interface of the user's
profile.
[0068] Referring back to FIG. 1, system 100 may include a server
104 which includes a memory store, such as database(s) or file
system(s). Although only one server 104 is shown for clarity, there
may be multiple servers 104 or groups of servers 104 distributed
over a wide geographic area and connected via network 106, for
example. Server 104 has a network interface for connecting to
network 106 in order to communicate with other components, to serve
web pages, and execute other computing applications.
[0069] Continuing to refer to FIG. 1, server 104 may connect to one
or more devices 102a, 102b, 102c via network 106. Although only
three devices 102a, 102b, 102c have been illustrated, any suitable
number of devices may connect to the server 104. Server 104 may
provide an eReading service 106 to devices 102a, 102b, 102c, such
as providing access to a catalogue of e-books, for example. The
server 104 may include a web server to receive and respond to
requests received from devices 102a, 102b, 102c.
[0070] Device 102a, 102b, 102c may be any networked computing
device including a processor and memory, such as an electronic
reading device, a personal computer, workstation, server, portable
computer, mobile device, personal digital assistant, laptop, smart
phone, WAP phone, an interactive television, video display
terminals, gaming consoles, and portable electronic devices or a
combination of these. Device 102a, 102b, 102c may include a
microprocessor that may be any type of processor, such as, for
example, any type of general-purpose microprocessor or
microcontroller, a digital signal processing (DSP) processor, an
application-specific integrated circuit (ASIC), a programmable
read-only memory (PROM), or any combination thereof. Device 102a,
102b, 102c may include any type of computer memory that is located
either internally or externally to the device 102a, 102b, 102c such
as, for example, random-access memory (RAM), read-only memory
(ROM), compact disc read-only memory (CDROM), electro-optical
memory, magneto-optical memory, erasable programmable read-only
memory (EPROM), and electrically-erasable programmable read-only
memory (EEPROM), or the like. Device 102a, 102b, 102c may include
one or more input devices, such as a keyboard, mouse, camera, touch
screen and a microphone, and may also includes one or more output
devices such as a display screen and a speaker. Device 102a, 102b,
102c has a network interface for connecting to network 106 in order
to communicate with other components. The illustrated device 102a,
102b, 102c may be different types of devices.
[0071] In accordance with some embodiments, device 102a may be an
electronic reading device designed specifically for reading
e-books, such as a Kobo.TM. eReader. Device 102a need not be
specifically designed for reading electronic books and may be a
general purpose computer, a laptop computer, a tablet computer, a
personal digital assistant (PDA), a mobile device, a smart phone,
an interactive television, video display terminals, gaming
consoles, and portable electronic devices, and so on. In accordance
with alternative embodiments, device 102a may be any computing
device with a processor and memory configured for other types of
electronic content, such as movies, television shows, music albums
or songs.
[0072] Device 102a may store e-books 110 locally or may access
e-books 108 residing on server 104 for display to user.
[0073] In accordance with some embodiments, device 102b may be an
electronic reading device that directly connects, via a serial bus
for example, to another device 102c, such as a personal computer in
order to connect to network 106 and server 104. Devices 102b, 102c
may be a general purpose computer, a laptop computer, a tablet
computer, a personal digital assistant (PDA), a mobile device, a
smart phone, an interactive television, video display terminals,
gaming consoles, and portable electronic devices, or a combination
thereof. Device 102b may store eBooks 114 locally, or may access
e-books 116 residing on another device 102c, or may access e-books
108 residing on server 104 for display to user.
[0074] As used herein, e-books 108, 110, 114, 116 may include any
text, audio, image, video, or combination thereof, in electronic
form that is capable of being displayed to a user on device 102a,
102b, 102c, including without limitation electronic books,
newspapers, magazines, and other publications.
[0075] According to exemplary embodiments, the devices 102a, 102b,
102c may be capable of storing and executing an electronic reading
("eReading") application 112. The eReading application 112 may
communicate with eReading Service 106 residing on the server 104 to
allow a user operating a device 102a, 102b, 102c to access reading
services hosted by the server 104.
[0076] Network 106 may be any network(s) capable of carrying data
including the Internet, Ethernet, plain old telephone service
(POTS) line, public switch telephone network (PSTN), integrated
services digital network (ISDN), digital subscriber line (DSL),
coaxial cable, fiber optics, satellite, mobile, wireless (e.g.
Wi-Fi, WiMAX), SS7 signaling network, fixed line, local area
network, wide area network, and others, including any combination
of these.
[0077] Social network application 120 may be an online service,
platform, or site that builds electronic social networks and social
relationship links between people, which may be viewed as nodes in
the social network. A social network application 120 may represent
each user as an electronic profile, and construct a social network
for the user by creating electronic links to other user profiles
and pages. Examples of social network applications 120 include
Facebook.TM. Linkedln.TM., MySpace.TM., FourSquare.TM. and
Twitter.TM..
[0078] Reference is now made to FIG. 2, in which an exemplary
embodiment of the system 100 of FIG. 1 is illustrated. In the
exemplary embodiment shown in FIG. 2, only device 102a is
illustrated together with the server 104, and the network 106. For
clarity, e-books 110 and 108 are omitted from the illustration of
device 102a and server 104, respectively, in FIG. 2.
[0079] Server 104 and device 102a are configured to access and
record metrics, identify events and milestones, and provide rewards
and notifications, such as advertisements, to a user based on user
interactions with server 104, device 102a, devices 102b, 102c
(shown in FIG. 1), other devices, social network application 120
and e-books 108, 110, 114, 116 (shown in FIG. 1) accessible to
server 104, device 102a, or both. Server 104 records data
associated with metrics and events in a user profile (illustrated
as example reading profiles 204, 404) and analyzes the data
associated with metrics and events to determine whether milestones
have been achieved in order provide awards, advertisements, offers,
and notifications to user. For example, device 102a may include a
global positioning system and provide its geographic location (and
in turn the geographic location of the user) to server 104.
Further, a social network application 120 such as FourSquare.TM.
may provide contextual data regarding the user's location to server
104, such as for example, that the user is located in a particular
restaurant. The server 104 may analyze this information and provide
to the user, via device 102a, an offer that is sponsored by the
restaurant or related thereto. The server 104 will record the
geographic location and the contextual data regarding the
geographic location as a metric or event in the user profile.
[0080] In this exemplary embodiment, device 102a is configured with
eReading application 112 that includes reading module 212, library
210, client event detection module 202, client reading profile 204
(which is an example of a user profile), and client social
connector 205. The reading module 212 allows a user to access
e-books 108, 110, 114, 116 (FIG. 1) that are stored on the device
102a in a library 210, or on server 104 in a digital warehouse 412.
The reading module 212 is able to provide a user with options for
viewing, managing, manipulating and reading e-books. These options
may include for example searching the contents of the library 210
or digital warehouse 412 for a desired e-book, listing available
e-books, selecting an e-book, reading an e-book by sequentially
viewing pages of the e-book, and highlighting, commenting or
otherwise marking-up pages of the e-book.
[0081] Client event detection module 202 is operable to monitor
user activities received as input data when a user interacts with
an e-book using the reading module 212, library 210, the device
102a, or a social network application 120, such as Facebook.TM. or
Twitter.TM.. Client event detection module 202 may record
predefined user activities in the user profile as metrics. Further,
client event detection module 202 is operable to monitor user
activities to identify events. In an exemplary embodiment
activities performed by a user on the device 102a may include, for
example, turning a page, completing a chapter, completing an
e-book, completing a series/collection of e-books and completing a
predetermined number of pages, chapters, and e-books. In addition,
user activities may include posting a message to a social network
application 120, or other digital interaction. Client event
detection module 202 may record these example user activities in
the user profile as metrics. Client event detection module 202 is
operable to determine whether any recorded metrics should be
identified as events, and recorded in the user's profile as events.
Client event detection module 202 is configured to interact with
server event detection module 402, which is another instance of
this module that resides on the server 104. Client event detection
module 202 is further configured to interact with event and
milestone definition module 401 in order to identify events if a
user's activity meets an event definition stored and managed
thereby.
[0082] As an example, a user may be reading the e-book "Alice in
Wonderland" and client event detection module 202 may identify and
store the e-book title and an associated reading time as a metric.
When the user turns a page in the e-book which describes Alice
meeting the Cheshire cat for the first time in the e-book, then
client event detection module 202 may record this virtual meeting
as a metric and may identify this virtual meeting as an event. This
event (the virtual meeting of the Cheshire cat) may achieve a
milestone, which may in turn trigger system 100 to provide a reward
and an advertisement or sponsored offer to the user. As another
example, when the user turns a page in the e-book that describes
Alice arriving at a place, such as the rabbit hole, for the first
time, then client event detection module 202 may record this
virtual arrival at a place as a metric and may identify this
virtual arrival as an event. This event (the virtual arrival at the
rabbit hole) may achieve a milestone, which may in turn trigger
system 100 to provide a reward and an advertisement or sponsored
offer to the user.
[0083] In the exemplary embodiment illustrated in FIG. 2, server
104 is configured with an eReading service 106 that includes a
digital warehouse 412 for cataloguing, storing and making available
copies of e-books (not shown), a digital store 410 for processing
e-book purchases, a server event detection module 402, event and
milestone definition module 401, server reading profiles 404, and a
server social connector 405.
[0084] Event and milestone definition module 401 generates and
stores event and milestone definitions for use by server event
detection module 402 and client event detection module 202 to
identify events and milestones when monitoring user activities.
Event and milestone definition module 401 may further include
metric definitions to determine when a specific user activity
should be recorded by the system 100 as a metric. An example of a
metric is a user turning a page in an e-book. An example of an
event includes a user turning a pre-defined number of pages in an
e-book. Event and milestone definition module 401 generates and
stores definitions for contextual information for user activities
that also may be identified and captured by system 100 as metrics,
or events, such as for example a user turning a pre-defined number
of pages in a specific e-book, such as Pride and Prejudice by Jane
Austen. Event and milestone definition module 401 generates and
stores definitions for achievements defined by milestones, rewards,
offers, and advertisements. Milestones typically involve an
aggregate of events, such as for example completing an e-book or
completing a series of e-books. Metrics and events may be based on
one or more of the following dimensions: activity based (e.g.
adding a new e-book to the user's library 210); time based (e.g.
reading between midnight and 3 am); content based (e.g. finished
the last book of the Twilight series); and location based (e.g.
reading on a beach in Mexico). Event and milestone definition
module 401 may further be operable to generate and store
definitions associated with advertisements. Server 104 process
metrics and data associated with events, milestones, and rewards
using these definitions associated with advertisements to determine
when a particular advertisement should be displayed to a user and
how the particular advertisement should be displayed to a user.
[0085] Server event detection module 402 is similar to client event
detection module 202 except that it resides on server 104 and
monitors user's activities associated with the server 104, such as
for example searching for and purchasing a specific e-book. Server
event detection module 402 monitors user activities to identify
metrics or events if a user activity meets a metric or an event
definition, as defined in and managed by event and milestone
definition module 401. Server event detection module 402 may also
be configured to identify metrics or events occurring at device
102a by interacting with the client event detection module 202
residing on device 102a. Server event detection module 402 may
detect events based on activities taken by a user through the
user's interactivity with a digital warehouse 412 and store 410
resident on the server 104. Server event detection module 402 also
detects events through user activity on social network applications
120. Server event detection module 402 may detect user activities
and metrics associated with the same user across multiple devices
102a, 102b, 102c and is operable to collate user activities
associated with multiple devices 102a, 102b, 102c, and record such
user activities as metrics in the user's profile and identify
events associated with such user activities even though they occur
on multiple devices 102a, 102b, 102c. For example, server event
detection module 402 may detect that a user has read 200 pages of
an e-book using a device 102a and the final 300 pages of the e-book
using another device 102b. Server event detection module 402 will
collate these metrics to detect that the user has completed the
e-book, which may be defined as an event.
[0086] When server event detection module 402 records a metric or
identifies an event, event detection module 402 provides data
associated with the metric or the event (e.g. time, date, title of
e-book, activity description, and so on) to event analytics engine
403. Event analytics engine 403 includes a rules engine with event
and milestone definitions configured as rules in order to analyze
patterns of metrics and events, compute statistical data for the
user, and construct a profile for the user. Event analytics engine
403 performs pattern matching of input data to metric, events and
milestone definitions, and definitions associated with
advertisements stored in the event and milestone definition module
401. As noted herein, system 100 may store predetermined
definitions which describe rules for when certain activities
qualify as a metric, an event, a milestone for completing certain
numbers and/or types of events, a reward to be awarded upon
completion of the milestones, an advertisement to be provided, or a
combination thereof. The event analytics engine 403 then uses the
definitions in the event and milestone definition module 401 to
compute statistical data about a metric, an event, a group of
metrics or a group of events, determine whether a particular number
or aggregate of metrics or events achieves a milestone, and
determine whether a reward for milestone achievement, offer, or
advertisement should be provided to the user or advertisement
displayed. The output of the event analytics engine 403 may then be
communicated to server reading profile 404 on the server 104, a
client reading profile 204 on the device 102a, or both. In some
embodiments, server 104 may include a separate advertisement
analytics engine (not shown) configured with rules for
advertisements definitions. Advertisement analytics engine, instead
of or in addition to event analytics engine 403, may determine
whether an advertisement, recommendation or offer should be
provided to a user based on recorded metrics, events, milestones,
rewards, user activities, user interactions with other users and so
on.
[0087] Illustrative examples of user profiles are reading profiles
204, 404 which are configured to store and to render data from the
user's profile to provide a visual display of the user's reading
profile for display on at least one device 102a, 102b, 102c. The
server reading profile 404 may include multiple profiles for
multiple users and the client reading profile 204 may include the
profile of the user of the device 102a. Server reading profile 404
and client reading profile 204 contain a user identifier, a log of
identified metrics and events associated with the user, achieved
milestones, provided rewards, provided advertisements,
notifications, computed statistical data, and other information
associated with users. The content of the reading profile 204
maintained on device 102a and the copy of the reading profile
maintained in reading profiles 404 stored on the server 104 may be
synchronized periodically or in real time.
[0088] In certain embodiments, a server social connector module 405
is resident on the server 104 and a client social connector module
205 is resident on the device 102a. Social connectors 205, 405 are
configured to share, publish, and broadcast contents of reading
profile 404, 204 to social network applications 120, and receive
user activity data from social network applications 120 in order to
detect metrics and events. For example, social connectors 205, 405
are configured to share, publish, broadcast metrics, events,
milestones, rewards, offers, and advertisements to social network
applications 120. In certain embodiments, elements from the reading
profile 404, 204 are communicated via the network 106 to social
network sites, including for example social networking sites such
as Facebook.TM., LinkedIn.TM., Foursquare.TM. and Twitter.TM..
[0089] Event detection modules 202, 402, and event and milestone
definition module 401 may be configured to define and detect
content-based metrics, events and advertisements that the user can
interact with. For example, event and milestone definition module
401 may compute data by searching content from e-books, accessed by
the user. The e-book content may relate to, for example, characters
in the e-book and locations in the e-book. The user may interact
with these generated content based metrics, events and
advertisements. In response to such interaction, event detection
modules 202, 402 may identify an event. For example, the first time
a particular character is described or referred to in a page in the
e-book viewed by the user, event detection modules 202, 402 may
display an indication that the user is meeting this character from
the e-book for the first time and identify this virtual meeting as
an event. The algorithm used to obtain data for the content-based
events may include: manual selection, keyword searching, crowd
sourcing, and import of third party datasets. For example, when a
new character is introduced on a page of an e-book, event detection
module 202, 402, may detect the occurrence of an event in response
to receiving a request to create an event from the user. For
example, the request may be initiated by highlighting and clicking
on the name of the character. System 100 may record the occurrence
of a new event. In some alternative embodiments, system 100 may
propagate this detection to all other event detection modules 202,
402, corresponding to other users that have the same e-book stored
in their library 210. When that page is displayed to another user,
event detection modules 202, 402 may identify the virtual meeting
of the character as an event. The user may override this
configuration and not detect an event based on another user's event
creation. In some embodiments, before a newly created event is
propagated to other event detection modules 202, 402, it may be
verified by system 100 or other reviewers.
[0090] In some embodiments, system 100 may process an e-book to
create event markers or advertisement markers so that when a
specific page of the e-book is displayed, event detection modules
202, 402 will detect the occurrence of an event or display an
advertisement. For example, system 100 may search for key words,
such as a location, and flag the first occurrence of a location as
an event. For example, the first time the user encounters a new
location in the e-book may be flagged as an event. System 100 may
also display an advertisement or offer associated with the
location, such as for example a discount on air fare. System 100
may also detect an event when an act occurs within the plot of an
e-book, such as the death of a character. System 100 may process
some or all of the e-books in digital warehouse to create event
markers or advertisement markers before a copy of the e-book is
available via store 410.
[0091] Reference is now made to FIGS. 3, 7 and 8, which illustrate
rendered data to provide a visual display 500 of exemplary
embodiments of reading profiles 404, 204. The visual display 500
includes the user's details 502 (e.g. user name), status of current
electronic publications 504 (e.g. percentage complete), event(s)
506, milestones, reward(s) 510, tips, and other communications. The
rendered data visual display 500 includes statistical data 508 such
as the number of pages turned, hours reading in total, average
number of pages read every reading session, graphical display of
the percentage of different genres of e-books in a user's library,
the number of books, magazine and newspapers in a user's library,
hours per book, minutes per magazine, average number of pages every
reading session, average number of pages per hour, percentage of
e-books in library the user has read, and a graphical displays of
the average reading times per type of e-book, for example. Event
analytics engine 403 computes statistical data using rules and
received event data and provides the computed statistical data to
reading profiles 404, 204. User details 502 include basic user
identification information, including, for example, user name and
account number. The rendered data visual display 500 displays a
detailed record of the current books 504, event(s) 506,
milestone(s)/statistical data 508, reward(s) 510, and
communication(s) 512 maintained by the system 100. In some
embodiments, the rendered data visual display of the reading
profiles 404, 204 may change in response to a user shaking the
device 102a, for example.
[0092] As noted herein, events 506 may also include content-based
events. Reference is now made to FIG. 6, which illustrates another
rendered data visual display 500 of exemplary embodiments of
reading profiles 404, 204. Content-based events 506 allow a user to
interact directly with the story or other information in the e-book
602. For example, when a user interacts, by reading an e-book, with
a character or location in the e-book, such an activity may lead to
the identification of a corresponding event 506. For example, an
event may be created when a user first encounters a particular
character in a story. In certain embodiments, the occurrence of the
event may be communicated to, for example, a social networking
application 120 or third party advertising engine by selecting a
communication icon 604. For example, system 100 may provide data
associated with metrics, events, milestones and rewards to a third
party advertising engine for processing, and in response the third
party advertising engine may output an advertisement or offer for
provision to the user.
[0093] Reference is now made to FIG. 4, which illustrates a method
300 for managing a reading profile for a user of at least one
device having access to at least one e-book in accordance with at
least one embodiment. The method 300 for managing a reading profile
for a user enables system 100 to collect a series of information
about the users of e-books (i.e. data associated with events) in a
user profile and process the collected information to provide
statistical data and results to the user and other
applications.
[0094] At step 302, system 100 receives a user identifier for a
user of at least one device 102a, 102b, 102c with access to at
least one e-book 108, 110, 114, 116. The user identifier may be a
user name, name, email address, address, client number, phone
number or other data that identifies the user. User identifier
provides a link between the user and the associated user profile.
System 100 may receive the user identifier from server 104 or via a
device 102a, 102b, 102c. At step 304, a user profile is generated
and stored in the client reading profile 204, server reading
profile 404, or both. The user profile includes the user identifier
to enable the system 100 to identify and retrieve the user profile
associated with a particular user in order to record metrics,
events, notifications, achievements, advertisements, offers, and
the like in the user profile. User profile may also be referred to
as reading profile. The user profile stores events, milestones, and
rewards associated with a specific user, and is used to render data
to provide a visual display of a user's reading profile for display
to user and provision to other applications.
[0095] At step 306, system 100 monitors for input data associated
with user activities in order to identify metrics and events.
System 100 may monitor user activities that are received as input
data when a user interacts with an e-book using the reading module
212, library 210, the device 102a, 102b, 102c or a social network
application 120, such as Facebook.TM. and Twitter.TM.. User
activities may also occur on the server 104 such as a user
searching for e-books in digital warehouse 412 or purchasing
e-books from store 410. All user activities of a particular user
may be associated with that particular user regardless of whether
they occur on the device 102a, 102b, 102c, server 104 or a social
network application 120. System 100 may receive input data via a
keyboard, touch screen, buttons, voice commands, and so on. System
100 may maintain an activity log of user's activities by recording
metircs associated with user activities, even if not identified as
an event. As noted herein, user activities may be received from the
device 102a or the server 104, such as by scrolling through pages
or purchasing an e-book from the store 410. If a user activity is
detected on a device 102a, 102b, 102c then a notice of the activity
may be transmitted to the server 104.
[0096] At step 308, system 100 determines whether the user activity
qualifies as a metric. System 100 uses server event detection
module 402 and client event detection module 202 to determine
whether the user activity associated with either the server 104 and
devices 102a, 102b, 102c, or social network application 120, should
be identified as a metric and recorded in the user's profile. An
example of a metric is turning a page in a particular e-book. Event
detection module 202, 402 may interact with event and milestone
definition module 401 to identify a user activity as a metric using
metric definitions maintained and stored thereby. A metric is a
subset of user activities, as not all user activities will be
recorded by system 100 as a metric in the profile of the user.
Metrics may be based on one or more of the following dimensions:
activity based (e.g. adding a new e-book to user's library 210);
time based (e.g. reading between midnight and 3 am); content based
(e.g. finished the last book of the Twilight series); and location
based (e.g. reading on a beach in Mexico, virtually arriving at a
location in an e-book). A metric may be based on user activities
based on interactions with an electronic publication, interactions
with other users (conversations, chat sessions), and activities on
social network applications 120. For example, metrics will record
when a user shares data with other users, what the data is, and who
the other users are, to record a form of social graph for the
user.
[0097] When event detection modules 202, 402 identify a user
activity as a metric, then at step 310, system 100 receives data
associated with the metric and, at step 312, records the received
data as a metric in the user's profile. If the activity does not
qualify as a metric, the method 300 returns to step 306 and system
continues to monitor user activities to identify metrics and
events.
[0098] At step 314, system 100 determines whether the user activity
or metric qualifies as an event. System 100 uses server event
detection module 402 and client event detection module 202 to
determine whether the user activity associated with the server 104,
devices 102a, 102b, 102c, or both, should be identified as an event
and recorded in the user's profile. Not all metrics (which are in
turn a subset of user activities) may be identified as events.
Events may be a subset of metrics. For example, a metric may be
turning 1 page in an e-book, and an event may be turning all pages
in a chapter of an e-book. System 100 will identify and record each
individual page turn in a chapter as metrics to in turn identify
the event, turning the last page in the chapter. Event detection
module 202, 402 may interact with event and milestone definition
module 401 to identify the occurrence of an event using event
definitions maintained and stored thereby. As noted herein, event
and milestone definition module 401 contains event definitions that
are rules or patterns used to identify specific user activities and
recorded metrics as events. The server event detection module 402
and client event detection module 202 compare input data associated
with a metric and user activity to the rules or patterns of event
definitions to identify events. For example, an event may be
reading 100 pages in less that 1 hour, and may be defined by an
event definition so that this user activity is captured by system
100. Accordingly, an event may be identified based on one or a
combination of multiple user activities or metrics. For example,
one metric may be turning 1 page and an event may be turning 100
pages in under one hour, so that an event is identified when 100
individual metrics of turning 1 page are detected within a time
period that is less than one hour. In this example, the system 100
will record a timestamp as part of each recorded metric in order to
compute the time period in the event definition. The user activity
may involve an interaction with a page of the electronic
publication and system 100 may record a pagestamp identifying the
page of the electronic publication as part of a recorded
metric.
[0099] Exemplary events performed by a user on the device 102a may
include, for example, completing a chapter, completing an e-book,
completing a series/collection of e-books and completing a
predetermined number of pages, chapters, and e-books. In addition,
events may include posting a message to a social network
application 120, or other digital interaction. Events with
contextual information include for example a user turning a
pre-defined number of pages in a specific e-book, such as Pride and
Prejudice by Jane Austen. Events may be based on one or more of the
following dimensions: activity based (e.g. adding a new e-book to
their library 210); time based (e.g. reading between midnight and 3
am); content based (e.g. finished the last book of the Twilight
series); and location based (e.g. reading on a beach in Mexico). An
event may be based on user activities based on interactions with an
electronic publication, interactions with other users
(conversations, chat sessions), and activities on social network
applications 120. For example, events will record when a user
shares data with other users, what the data is, and who the other
users are, to record a form of social graph for the user.
[0100] Events definitions, metric definitions, milestone
definitions, and advertisement definitions may be generated by
automatically searching content from e-books regarding characters
in the e-book and locations in the e-book. Events definitions,
metric definitions, milestone definitions, and advertisement
definitions may also be generated based on programmed algorithms
and a semantic analysis. A user activity would be the user's
interaction with these generated content based events, via a
dialogue box for example. In response to such user interaction,
event detection modules 202, 402 may identify an event. For
example, the first time a particular character is described or
referred to in a page in the e-book viewed by the user, event
detection modules 202, 402 may display an indication that the user
is meeting this character from the e-book for the first time and
identify this virtual meeting as an event. The mechanism used to
obtain data for the content-based events include: manual selection,
keyword searching, crowd sourcing, and import of third party
datasets. For example, when a new character is introduced on a page
of an e-book, event detection module 202, 402, may detect the
occurrence of an event in response to receiving a request to create
an event from the user, by e.g. highlighting and clicking on the
name of the character. System 100 may record the occurrence of a
new event and propagate this detection to all other event detection
modules 202, 402, corresponding to other users that have the same
e-book stored in their library 210. When that page is displayed to
another user, event detection modules 202, 402 may identify the
virtual meeting of the character as an event. The user may override
this configuration and not detect an event based on another user's
event creation. In some embodiments, before a user created event is
propagated to other event detection modules 202, 402 it may be
verified by system 100 or other reviewers.
[0101] In some embodiments, an e-book may be configured with event
markers so that when a specific page of the e-book is displayed,
event detection modules 202, 402 will detect the occurrence of an
event, based on key words, such as a location for example, and flag
the first occurrence of a location as an event, namely, the first
time the user virtually encounters a new location in the e-book. An
event may also be a user activity associated with an act that
occurs within an e-book, such as the death of a character. Some or
all of the e-books in digital warehouse may be configured with
event markers before a-copy of the e-book is available via store
410.
[0102] When event detection modules 202, 402 detects the occurrence
of an event, event data is provided to event analytics engine 403
for computing statistical data and pattern matching to rules
maintained in a rules engine. If the activity does not qualify as
an event, the method 300 returns to step 306 and system continues
to monitor user activities to identify metrics and events. If the
activity does warrant the creation of an occurrence of the event
the method 300 proceeds to step 316.
[0103] At step 316 the system 100 records the occurrence of the
event in the reading profile 404, 204 associated with the user.
System 100 records the event data in the reading profile 404, 204
associated with the user so that statistical data may be
subsequently computed and shared via social network applications
120, and so on. In addition, system 100 compiles one or more events
to determine whether a milestone has been achieved. System 100 is
operable to provide the reading profile 404, 204 associated with
the user to device 102a or another device.
[0104] Referring now to FIG. 5, at step 318, the event analytics
engine 403 determines whether the event, the metric, an aggregate
of metrics or an aggregate of events indicates that a milestone has
been achieved (i.e. the predicate or condition of an achievement).
Event analytics engine 403 interacts with event and milestone
definition module 401 to determine whether an event, a metric, an
aggregate of metrics or an aggregate of events meets a milestone
definition. As noted herein, event and milestone definition module
401 manages milestone definitions to identify whether event(s) and
metric(s) result in a milestone achievement. If a milestone has not
been achieved, the method 300 proceeds to step 332. If a milestone
has been achieved the method 300 proceeds to step 320.
[0105] At step 320 the server 104 records the milestone achievement
in the reading profile 404. After the server 104 records the
milestone in the reading profile 404, the method 300 proceeds to
step 322.
[0106] At step 322 the event analytics engine 403 determines
whether a reward should be provided as a result of achieving the
milestone. Event analytics engine 403 interacts with event and
milestone definition 401 which maintains reward definitions, which
in turn define when the reward should be provided and selects the
reward. If a reward should not be given, the method 300 proceeds to
step 332. If a reward should be given the method 300 proceeds to
step 324. At step 324 the server 104 provides the reward to the
user and at step 326 the system 100 records the reward in the
reading profile 404. The reward may be resource data in the form of
images and text which identify the achievement awarded to the user.
The reward may also include an offer sponsored by an advertiser, an
offer associated with a loyalty program or a virtual gift.
[0107] In an at least one embodiment, rewards and milestones are
determined by the event analytics engine 403 and defined by event
and milestone definition module 401. Table 1 provides list of
example achievements (rewards and milestones), a short description
on how to achieve the reward (milestone), a short description of
what may be displayed in a rendered data visual display of a
profile of a user, and an indication on how the next milestone or
reward may be achieved. How to achieve the reward will be defined
by a milestone definition and a reward definition. As an example,
the "Free loader" reward is provided when a user achieves a
milestone of downloading five e-books for free. The user activity
of downloading each individual e-book for free will be identified
by system 100 as individual events. The downloading of five e-books
for free will be defined as a milestone definition and a reward
definition will link the "Free loader" award with achieving that
milestone.
TABLE-US-00001 TABLE 1 Milestone/ Description (after Prompts to
Earn or Next Reward How to achieve earning) Level Welcome! Open the
eReading Welcome! Your digital N/A Awarded on First Time Reading
Life application for the first Reading Life has just Open time
begun. BookLover Joined eReading Booklover You're now Want to
become a Kobo Services/Created an part of Kobo .TM., and an
BookLover? Sign in to your account/signed in to official Booklover!
account, or create a new one eReading application today.
SocialNetwork Authenticated use with Facebook You've Connect a
social network a connection tool on a connected to your social
profile to your Reading Life to social network network. unlock the
social network application award. I <heart> My User added
their first e- I <heart> My Library Love your library--add a
Library book to their library You've started to build a book or
newspaper and we'll (first sync with content digital library with
Kobo. give you some loving with to download) our Heart Award! Once
Upon a Started reading their Once Upon a Time You It was a dark and
stormy Time first new book started reading a new night . . . start
a new book to book. earn the Once Upon a Time Award. Not an Open
User finished their first Not an Open Book Mark a book as closed
for Book new book You've finished a book. Is this award. (No
cheating it true that "the good please, real Booklovers read ended
happily, and the to the very end!) bad unhappily"? (Thanks to Oscar
Wilde for the quote!) Scout Leader Collected 10 rewards Scout
Leader You have You need 10 Kobo Reading 10 Achievements. Clearly
Life Awards to earn the you've got what it takes honor of Scout
Leader! to survive the literary wilds. Free Loader Last 5 books
Free Loader You've N/A Surprise Achievement downloaded were free
found and added 5 free books to your library You're a total
freegan. Deep Thinker Created 1st annotation Deep Thinker You made
Want to join Kobe's Deep a note in your book. Thinkers? Start by
taking That's so awesome! notes in one of your books. Inverted
Created 1st highlight Inverted Comma You Want the Inverted Comma
Comma highlighted your first award? Select your favorite passage.
passages using our highlighting feature Night Rider Read between
midnight Night Rider You read all N/A Surprise Achievement and 4 am
night long - congratulations from Kit - and Kobo! Word Up! Used the
dictionary 10 Word Up! That's 10 new Use your built-in Kobo times
to look up a word definitions for you. Now, dictionary to get the
Word maybe it's time to go Up! Award! outside? Classic Attack Read
all 5 books Classic Attack We gave Earning the Classic Attack
bundled on the iOS you five free classics to Award isn't
easy--you'll have devices start - and you attacked to plow through
the 5 classic and finished each one! books already in your library!
Fanatic Added 5 books from Fanatic Congratulations, N/A Surprise
Achievement one author you're officially obsessed. You have 5 books
by <Author Name>. Papillion Shared 10 things on a Papillion
Well, you're 10 shares to a social network social network quite the
social butterfly! will earn you the social You've shared on
butterfly award! Facebook 10 times. Total Recall Reading a book
you've Total Recall We love re- N/A Surprise Achievement already
read reading our favorite books too. Literary Giant Purchased 10 or
more Literary Giant Your Adding 10 books within a books within 30
days library is bursting at the period of 30 days makes you seams!
That's 10 new a literary giant. books in 30 days. Competitor Added
5 "Can't get Competitor Killer 5 Clue: Defy `the one who shall
Killer these on a competitors books are in your library not be
named` 5 times to service" that can't be found on the unlock this
award. other libraries News Hound More than 5 newspaper News Hound
5 Sign up for 5 or more subscription subscriptions? With that
newspaper subscriptions to much knowledge of become a News Hound.
current affairs you could start your own news channel. Magazine
More than 5 Mags Magazine Junkie Sign up for 5 or more Junkie
Careful, magazines can be magazine subscriptions to habit forming -
you've got become a Magazine Junkie. 5 subscriptions already!
Extra! Extra! Subscribed to a Extra! Extra! You get the Extra!
Extra! Read all about! newspaper daily news and never get It's
simple to earn this your hands dirty. award. Just get your hands
Congrats on your first dirty with some newsprint. subscription.
Gimme Zines! Subscribed to a Gimme Zines! Celebrity Gimme Zines!
Sign up for magazine photographs and more! your first magazine
Congrats on your first subscription to get this magazine
subscription. award. Keener User opens every issue Keener. You
opened N/A Surprise Achievement of their subscription on every
issue of a the day it is delivered subscription on the day it for 5
consecutive issues was delivered for 5 consecutive issues Hot off
the User opens every issue Hot off the press I N/A Surprise
Achievement Press of their subscription on opened every issue of my
the day it is delivered newspaper subscription for 5 consecutive
issues on the day it was delivered for 5 consecutive issues Speed
Reader Reads more than 300 Speed Reader Holy N/A Surprise
Achievement words per minute Smokes, you read faster than a blink
of an eye! 300 words per minute according to your average page turn
count. The Twain Read every day for 14 The Twain Badge Read every
day for 14 days Badge days Bestowed upon you for on your Kobo to
get the reading everyday for the Twain Badge. past 14 days
straight. Juggernaught Turned 10,000 pages Juggernaught Go big or
How do you get to be a go home! You've turned Juggernaught? Hint:
go big, 10,000 pages with Kobo. or go home. Try War & Peace. Or
maybe a couple of volumes of Proust. Marathon Read a complete book
Marathon You finished N/A Surprise Achievement in one sitting the
whole book in one sitting! Head Turner Read for 5 hours Head Turner
Clearly you Read for 5 hours in one straight couldn't put that book
sitting to become a Head down! You read for 5 Turner. Just remember
to hours straight! eat. Afternoon Read 5 times during Afternoon
Rush Hour Read at the same time on 5 Rush Hour Afternoon Rush Hour
= Read 5 times during different days to unlock the 4 pm-6 pm
Afternoon Rush Hour: award for your favorite 4 pm-6 pm reading
time. Happy Hour Read 5.times. during Happy Hour Read 5 N/A--Only a
selection of the Cocktails Hour = times during Cocktails time based
ones have 6 pm-8 pm Hour: 6 pm-8 pm prompts. Primetime Read
5.times. during Primetime Read 5 times N/A--Only a selection of the
Evening = during Primetime: time based ones have 8 pm-10 pm 8 pm-10
pm prompts. Better in Bed Read 5.times. during Better in Bed Read 5
N/A--Only a selection of the Bedtime = times during Bedtime: time
based ones have 10 pm-12 am 10 pm-12 am prompts. Witching Hour Read
5.times. during The Witching Hour Read Night owl? Read during this
Witching Hour = 5 times during Witching classically "scary" hour
and 12 am-1 am Hour: 12 am-1 am earn the Witching Badge. Graveyard
Read 5.times. during The Graveyard Shift N/A--Only a selection of
the Shift Graveyard Shift = Read 5 times during time based ones
have 1 am-5 am Graveyard Shift: prompts. 1 am-5 am Eat It Read
5.times. during Eat It Read 5 times N/A--Only a selection of the
Breakfast Hour = during Breakfast Hour: time based ones have 5 am-7
am 5 am-7 am prompts. Kill the Read 5.times. during Kill the
Commute Read N/A--Only a selection of the Commute Morning Rush Hour
= 5 times during Morning time based ones have 7 am-9am Rush Hour: 7
am-9 am prompts. Sleeping In Read 5.times. during Sleeping In Read
5 N/A--Only a selection of the Sleeping In = times during Sleeping
In: time based ones have 9 am-12 pm 9 am-12 pm prompts. Lunch Read
5.times. during Lunch! Read 5 times Try satisfying two cravings at
Lunch = during Lunch: once: read a book over this 12 pm-2 pm 12
pm-2 pm. standard afternoon meal. Playing Hooky Read 5.times.
during Playing Hooky Read 5 N/A--Only a selection of the Afternoon
= times during the time based ones have 2 pm-4 pm Afternoon: 2 pm-4
pm prompts.
[0108] At step 328, the server 104 analyzes data associated with
metrics, events, and achievements and determines whether an
advertisement, offer or recommendation should be provided to a
user. The server 104 may process data associated with metrics,
achievements, and events to determine a user's predisposition or
interests so that a targeted advertisement, offer or recommendation
may be provided to a user. The server 104 may provide an
advertisement, offer, or recommendation that is associated with the
particular e-book the user is reading, when the user is reading the
e-book, where the user is reading the e-book, and so on. For
example, if a user is reading an e-book late at night, an
advertisement, offer or recommendation for an energy drink may be
displayed to the user. An advertisement, offer or recommendation
may be provided in a variety of media such as text, image, audio
video or a combination thereof. Server 104 may analyze data
associated with metrics and events to determine the particular
medium the advertisement should be provided in. For example, if
collected metrics indicate that a user frequently requests videos
then an advertisement, offer or recommendation may be provided as a
video.
[0109] If an advertisement, offer or recommendation should not be
provided to a user the method proceeds to step 332. For example,
server 104 may be configured such that no advertisement, offer or
recommendation, or only a limited set of advertisements, will be
provided to a particular user. If an advertisement, offer or
recommendation should be provided then the method 300 proceeds to
step 330. At step 330 the server 104 provides the advertisement,
offer or recommendation to the user and the method proceeds to step
332.
[0110] In a further embodiment, a notification of the reward may be
transmitted to a social network application 120. For example,
social connector module 405, 205 communicates the reward
notification as indicated under a social network user name, social
network formatted text, or a combination thereof. Further, server
104 may display a prompt describing to the user ways to earn the
next level of achievement.
[0111] In a further embodiment, the creation of the reward by the
event analytics engine 403 is scaleable and a reward may be created
by the server 104 after a certain number of milestones have been
reached.
[0112] Returning again to FIG. 5, at step 332, the social connector
module 405, 205 on the server 104 or device 102a, provides an
option to provide a notification about the event, milestone, or
reward or advertisement to the user, a social network application
120 or other website. For example, the server 104 may provide a
notification about a reward by displaying it in a rendering of the
user's profile. In response, system 100 receives input data. If the
received input data indicates that the notification of the event,
milestone, or reward should not be communicated the method 300
returns to step 306. If input data indicates that the notification
of the event, milestone, or reward should be communicated the
method 300 proceeds to step 334 where the notification about the
event, reward, advertisement or milestone is sent to the user, the
social network application 120 or other website via the social
connector 405, 205. In some embodiments, all events may be
automatically communicated to a user or recorded and displayed in a
rendering of data from the reading profile 404, 402 for the
user.
[0113] At step 336, the notification is recorded in the reading
profile 404, 402. After step 336, the method 300 returns to step
306 where device 102 and server 104 monitor user activities to
collect metrics and identify events. In an alternative embodiment,
server 104 is configured to be programmed with predetermined
events, milestones, advertisements or rewards that are to be
automatically communicated to the network 106 by the social
connector 405, 205, without receiving specific input data
authorizing the communication.
[0114] In accordance with an example embodiment, events analytics
engine 403 is configured with rules to analyze e-books in library
210 to make recommendations for e-books, based on genre, type, and
reading profiles 404 of other users.
[0115] Example embodiments have described herein in relation to
electronic publications. However, the described embodiments may
also be used for other types of electronic content, such as movies,
television shows, music albums or songs. In accordance with other
example embodiments, the metrics, events, and milestones may relate
to different types of electronic content. If multiple types of
electronic content are used then metrics, events and milestones may
be aggregated in the profile of the user. For example, a metric or
event may relate to listening to a song of a music album and a
milestone may be listening to an full music album. As a further
example, other metrics or events may relate to watching a movie
using device 102a. The profile of the user may aggregate the
metrics relating to electronic publications, music, and film in the
profile of the user.
[0116] The system 100 and method 300 described herein may provide
an advantage of enhancing the digital reading experience for a user
by making it interactive, fun, social and meaningful. By managing a
profile of a user associated with e-books and analyzing metrics and
events associated with the user's reading habits, the culture of
reading may enhance the digital experience of reading e-books. For
example, the system 100 and method 300 may provide a connection
between the user's reading profile and friends of the user on
social network applications 120. The system 100 and method 300 may
permit the user to discover and share favorite e-books and passages
within e-books, characters of e-books and places within e-books
with other users and friends via their profile, e-mail messaging
and social network applications 120. The system 100 and method 300
may provide fun and surprising awards as the user achieves
milestones while reading e-books. The system 100 and method 300 may
compute and record interesting statistics, a timeline of events and
generate a personal book cover based on e-books of interest to the
user.
[0117] The system 100 and method 300 described herein may increase
engagement by the user with e-books and increase the frequency of
reading e-books. The user's profile may record real-time metrics
based on a user's social interactions. The user's profile may also
record contextual information for events, such as the user's
current location when the event occurs. Recorded locations may be
identified on a map and displayed to the user as part of a
rendering of data in the user profile to create a visual display
for the user.
[0118] The system 100 and method 300 described herein may provide
an interactive software applications to collect metrics from the
user, a listing of all e-books in the user's library, a software
application that computes and displays a list of friends of the
user that are currently reading an e-book, what e-book they are
currently reading, and where they are currently reading the e-book.
The system 100 and method 300 described herein may provide
recommendations and filters based on recorded metrics to provide
recommendations and other computer statistics to the user, such as
for example a list of e-books that other users are reading who are
within the same geographic area as the user. Location based metrics
may be associated with a milestone and reward, such as for example,
a reward may be provided to the first user that reads a particular
e-book near the Eiffel Tower. The system 100 and method 300
described herein may enable a user to communicate particular
metrics and events to particular users, or all users of the system
100. For example, events, milestones, and rewards for a particular
user may be displayed as a stream of data and system 100 may be
configured to display a portion of events, milestones, and rewards
or all events milestones, and rewards. As a further example, system
100 may enable one user to send a message or reward to another user
of system 100 or social network application 120.
[0119] The system 100 and method 300 described herein may provide a
community of users, connected as a network of nodes, and further
connected to social network application 120. The system 100 and
method 300 may provide a community to enable users to communicate
and share e-books, trends, content of e-books (quotes), events,
milestones and rewards with other users. The system 100 and method
300 may filter shared data by geographic location, such that a user
can see what e-books other users in, for example, the same city are
also reading.
[0120] The system 100 and method 300 may be configured with new
rewards by providing an interface for creating new rewards and
defining milestones associated therewith. A reward may be tied to a
co-op program and a loyalty program. As noted herein, a reward may
be a coupon or offer, a virtual gift, a display of text and images,
sponsorships, advertisements, and so on. The system 100 and method
300 may display rewards associated with a user on the user's
profile. As noted herein, the system 100 and method 300 may
identify virtual meetings with characters described in an e-books
and virtual arrivals at places described in an e-book. The system
100 and method 300 may associate an image with characters and
places described in e-books to create a virtual badge to provide as
a reward to a user when a virtual meeting or arrival is identified
as an event. As noted herein, e-books may be configured with
virtual markers to assist system 100 and method 300 in identifying
events, such as when a user will first encounter a character
described in an e-book. These virtual markers may be created by
multiple users of the system 100 or may automatically be created by
keyword searching and the like. The virtual markers may also be
associated with an advertisement so that when system 100 displays a
page of an e-book annotated with a virtual marker an associated
advertisement or sponsored offer is displayed. As noted herein, the
system 100 and method 300 records data associated with metrics and
events for a user and may display recorded data for the user as
part of a rendering of their user profile. The data associated with
metrics and events may include timestamps for when the metrics and
events occur, and the data associated with the metrics and events
may be displayed to a user as a time line. Further example metrics
include, a user location when they start reading an e-book, a user
location when they stop reading an e-book, what e-books a user is
reading, time taken to read a particular e-book, and what other
users are reading the same e-book as a particular user.
[0121] While the above description provides examples of the
embodiments, it will be appreciated that some features and/or
functions of the described embodiments are susceptible to
modification without departing from the spirit and principles of
operation of the described embodiments. Accordingly, what has been
described above has been intended to be illustrative of the
invention and non-limiting and it will be understood by persons
skilled in the art that other variants and modifications may be
made without departing from the scope of the invention as defined
in the claims appended hereto.
* * * * *