U.S. patent application number 14/735013 was filed with the patent office on 2015-12-10 for puzzle creation and sharing over a network.
The applicant listed for this patent is Phumble LLC. Invention is credited to Lee John Collins, SR., Ryo P. Imai, Glenn A. Mercante.
Application Number | 20150352435 14/735013 |
Document ID | / |
Family ID | 54768775 |
Filed Date | 2015-12-10 |
United States Patent
Application |
20150352435 |
Kind Code |
A1 |
Imai; Ryo P. ; et
al. |
December 10, 2015 |
PUZZLE CREATION AND SHARING OVER A NETWORK
Abstract
A system and method are provided for generating a puzzle from
media content. The method includes receiving input indicative of a
selection of a media content to be converted into puzzle content,
receiving input indicative of at least one edit to be applied to
the puzzle content, receiving input indicative of at least one
puzzle property to be applied to the puzzle content, generating the
puzzle content based on the at least one edit and the at least one
puzzle property, and sending the puzzle content to a recipient. The
system includes a computing device having a processor and a memory
configured to implement the method.
Inventors: |
Imai; Ryo P.; (Port
Washington, NY) ; Mercante; Glenn A.; (Honolulu,
HI) ; Collins, SR.; Lee John; (Kapolei, HI) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
Phumble LLC |
Honolulu |
HI |
US |
|
|
Family ID: |
54768775 |
Appl. No.: |
14/735013 |
Filed: |
June 9, 2015 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
62009878 |
Jun 9, 2014 |
|
|
|
62052648 |
Sep 19, 2014 |
|
|
|
Current U.S.
Class: |
463/9 |
Current CPC
Class: |
A63F 9/0612 20130101;
A63F 13/795 20140902; A63F 13/92 20140902; A63F 9/10 20130101; A63F
13/2145 20140902; A63F 2009/1061 20130101 |
International
Class: |
A63F 9/10 20060101
A63F009/10 |
Claims
1. A method performed on at least one computing device that
includes a processor and a memory, the method comprising: receiving
input, via a touch screen of the at least one computing device,
indicative of a selection of a media content to be converted into
puzzle content; receiving input indicative of at least one edit to
be applied to the puzzle content, where the at least one edit
comprises generating a puzzle name; receiving input indicative of
at least one puzzle property to be applied to the puzzle content,
where the at least one puzzle property comprises a difficulty
level; generating the puzzle content based on the at least one edit
and the at least one puzzle property; and sending the puzzle
content to a recipient.
2. The method of claim 1, where the generated puzzle content
comprises an altered version of the media content that is
partitioned into a quantity of portions according to the difficulty
level and scrambled.
3. The method of claim 2, further comprising presenting, at a
recipient device, an unaltered version of the media content in
response to the recipient solving the puzzle content according to
the at least one puzzle property.
4. The method of claim 2, further comprising receiving an
indication, at the at least one computing device, that the
generated puzzle content has been solved by the recipient in
accordance with the at least one puzzle property.
5. The method of claim 2, where the at least one puzzle property
comprises defining a puzzle duration, the puzzle duration
comprising a quantity of time for the recipient to solve the puzzle
content.
6. The method of claim 5, further comprising receiving an
indication that the recipient has failed to solve the puzzle
content according to the puzzle duration, and accepting or denying
a request for additional time.
7. The method of claim 1, where the at least one edit to be applied
to the puzzle content further comprises at least one of: adding
text to an image; altering a hue, cropping, or applying a
filter.
8. The method of claim 1, where the media content comprises at
least one of an image file or a video file.
9. The method of claim 8, further comprising receiving an
indication of a frame within the video file for use in generating
the puzzle content.
10. A system comprising at least one computing device and at least
one software module that are together configured for performing
actions, where the at least one computing device includes a
processor and a memory, the actions comprising: receiving input,
via a touch screen of the at least one computing device, indicative
of a selection of a media content to be converted into puzzle
content; receiving input indicative of at least one edit to be
applied to the puzzle content, where the at least one edit
comprises generating a puzzle name; receiving input indicative of
at least one puzzle property to be applied to the puzzle content,
where the at least one puzzle property comprises a difficulty
level; generating the puzzle content based on the at least one edit
and the at least one puzzle property; and sending the puzzle
content to a recipient.
11. The system of claim 10, where the generated puzzle content
comprises an altered version of the media content that is
partitioned into a quantity of portions according to the difficulty
level and scrambled.
12. The system of claim 11, further comprising presenting, at a
recipient device, an unaltered version of the media content in
response to the recipient solving the puzzle content according to
the at least one puzzle property.
13. The system of claim 11, further comprising receiving an
indication, at the at least one computing device, that the
generated puzzle content has been solved by the recipient in
accordance with the at least one puzzle property.
14. The system of claim 11, where the at least one puzzle property
comprises defining a puzzle duration, the puzzle duration
comprising a quantity of time for the recipient to solve the puzzle
content.
15. The system of claim 14, further comprising receiving an
indication that the recipient has failed to solve the puzzle
content according to the puzzle duration, and accepting or denying
a request for additional time.
16. The system of claim 10, where the at least one edit to be
applied to the puzzle content further comprises at least one of:
adding text to an image; altering a hue, cropping, or applying a
filter.
17. The system of claim 10, where the media content comprises at
least one of an image file or a video file.
18. The system of claim 17, further comprising receiving an
indication of a frame within the video file for use in generating
the puzzle content.
19. At least one computer storage device storing
computer-executable instructions that, when executed by a processor
of a computing device that includes a memory, cause the computing
device to perform actions comprising: receiving input, via a touch
screen of the at least one computing device, indicative of a
selection of a media content to be converted into puzzle content;
receiving input indicative of at least one edit to be applied to
the puzzle content, where the at least one edit comprises
generating a puzzle name; receiving input indicative of at least
one puzzle property to be applied to the puzzle content, where the
at least one puzzle property comprises a difficulty level;
generating the puzzle content based on the at least one edit and
the at least one puzzle property; and sending the puzzle content to
a recipient.
20. The at least one computer storage device, where the generated
puzzle content comprises an altered version of the media content
that is partitioned into a quantity of portions according to the
difficulty level and scrambled.
Description
CROSS-REFERENCES TO RELATED APPLICATIONS
[0001] This application claims the benefit of and claims priority
to U.S. Provisional Patent Application No. 62/009,878 entitled
"PUZZLE CREATION AND SHARING OVER A NETWORK" and filed on Jun. 9,
2014 for Ryo P. Imai, and to U.S. Provisional Patent Application
No. 62/052,648 entitled "PUZZLE CREATION AND SHARING OVER A
NETWORK" and filed on Sep. 19, 2014, both of which are incorporated
herein by reference.
TECHNICAL FIELD
[0002] The present disclosure relates to gaming systems, and more
particularly, relates to providing a platform for integrating a
social network and games created from media.
BACKGROUND
[0003] Traditional jigsaw puzzles are well known, having been
popular for over 100 years. Generally, a jigsaw puzzle consists of
irregularly shaped pieces of wood, plastic, or cardboard, that when
assembled properly form an image. Jigsaw puzzles can be used purely
for entertainment purposes, as many people enjoy solving jigsaw
puzzles with friends. Additionally, jigsaw puzzles can be used for
teaching. For example, a jigsaw puzzle of the United States can be
helpful to teach children and adults geography through the proper
placement of puzzle pieces.
[0004] With the proliferation of electronic computing devices, such
as PCs, tablets, and smartphones, many games that were
traditionally played face-to-face have been implemented in an
electronic format that tends to remove the friendship element of
the traditional game. However, much of the enjoyment of playing a
jigsaw puzzle is the involvement of friends.
SUMMARY
[0005] A system and method are provided for generating a puzzle
from media content. The method includes receiving input indicative
of a selection of a media content to be converted into puzzle
content, receiving input indicative of at least one edit to be
applied to the puzzle content, receiving input indicative of at
least one puzzle property to be applied to the puzzle content,
generating the puzzle content based on the at least one edit and
the at least one puzzle property, and sending the puzzle content to
a recipient.
[0006] In one embodiment, the generated puzzle content comprises an
altered version of the media content that is partitioned into a
quantity of portions according to the difficulty level and
scrambled. The method includes, in another embodiment, presenting
at a recipient device an unaltered version of the media content in
response to the recipient solving the puzzle content according to
the at least one puzzle property. The method may also include
receiving an indication, at the at least one computing device, that
the generated puzzle content has been solved by the recipient in
accordance with the at least one puzzle property.
[0007] In another example, the at least one puzzle property
comprises defining a puzzle duration, where the puzzle duration
comprises a quantity of time for the recipient to solve the puzzle
content. In one embodiment, the method also includes receiving an
indication that the recipient has failed to solve the puzzle
content according to the puzzle duration, and accepting or denying
a request for additional time.
[0008] In one embodiment, the at least one edit to be applied to
the puzzle content further comprises at least one of: adding text
to an image; altering a hue, cropping, or applying a filter.
Additionally, the media content comprises at least one of an image
file or a video file.
[0009] The system, in one embodiment, comprises at least one
computing device and at least one software module that are together
configured for performing the above described method.
BRIEF DESCRIPTION OF THE DRAWINGS
[0010] In order that the advantages of the embodiments of the
invention will be readily understood, a more particular description
of the embodiments briefly described above will be rendered by
reference to specific embodiments that are illustrated in the
appended drawings. Understanding that these drawings depict only
some embodiments and are not therefore to be considered to be
limiting of scope, the embodiments will be described and explained
with additional specificity and detail through the use of the
accompanying drawings, in which:
[0011] FIG. 1 depicts one embodiment of a system for puzzle
creation and sharing;
[0012] FIG. 2 is a schematic block diagram illustrating one
embodiment of a client module in accordance with embodiments of the
present disclosure;
[0013] FIG. 3 is a schematic block diagram illustrating one
embodiment of a server module in accordance with embodiments of the
present disclosure;
[0014] FIG. 4 is a diagram illustrating one embodiment of a client
device presenting a user interface for editing an image;
[0015] FIGS. 5 and 6 are diagrams illustrating one embodiment of a
client device presenting a user interface for setting puzzle
properties of the image;
[0016] FIG. 7 is a diagram illustrating one embodiment of a user
interface for previewing puzzle content in accordance with the
present disclosure;
[0017] FIGS. 8 and 9 are diagrams illustrating embodiments of user
interfaces for solving puzzle content;
[0018] FIG. 10 illustrates a flow diagram of one embodiment of a
method for generating puzzle content;
[0019] FIG. 11 illustrates a flow diagram of one embodiment of a
method for receiving puzzle content;
[0020] FIG. 12 is a diagram of one embodiment of a computer system
for facilitating template generation;
[0021] FIG. 13 is a schematic block diagram illustrating another
embodiment of a client module in accordance with embodiments of the
disclosure; and
[0022] FIG. 14 is a schematic block diagram illustrating one
embodiment of a user interface for modifying videos with puzzle
content in accordance with embodiments of the disclosure.
DETAILED DESCRIPTION
[0023] Aspects of the present disclosure may be embodied as a
system, method or computer program product. Accordingly, aspects of
the present disclosure may take the form of an entirely hardware
embodiment, an entirely software embodiment (including firmware,
resident software, micro-code, etc.) or an embodiment combining
software and hardware aspects that may all generally be referred to
herein as a "circuit," "module" or "system." Furthermore, aspects
of the present disclosure may take the form of a computer program
product embodied in one or more computer readable storage media
having computer readable program code embodied thereon.
[0024] Many of the functional units described in this specification
have been labeled as modules, in order to more particularly
emphasize their implementation independence. For example, a module
may be implemented as a hardware circuit comprising custom VLSI
circuits or gate arrays, off-the-shelf semiconductors such as logic
chips, transistors, or other discrete components. A module may also
be implemented in programmable hardware devices such as field
programmable gate arrays, programmable array logic, programmable
logic devices or the like.
[0025] Modules may also be implemented in software for execution by
various types of processors. An identified module of executable
code may, for instance, comprise one or more physical or logical
blocks of computer instructions which may, for instance, be
organized as an object, procedure, or function. Nevertheless, the
executables of an identified module need not be physically located
together, but may comprise disparate instructions stored in
different locations which, when joined logically together, comprise
the module and achieve the stated purpose for the module.
[0026] Indeed, a module of executable code may be a single
instruction, or many instructions, and may even be distributed over
several different code segments, among different programs, and
across several memory devices. Similarly, operational data may be
identified and illustrated herein within modules, and may be
embodied in any suitable form and organized within any suitable
type of data structure. The operational data may be collected as a
single data set, or may be distributed over different locations
including over different storage devices, and may exist, at least
partially, merely as electronic signals on a system or network.
Where a module or portions of a module are implemented in software,
the software portions are stored on one or more computer readable
storage media.
[0027] Any combination of one or more computer readable storage
media may be utilized. A computer readable storage medium may be,
for example, but not limited to, an electronic, magnetic, optical,
electromagnetic, infrared, or semiconductor system, apparatus, or
device, or any suitable combination of the foregoing.
[0028] More specific examples (a non-exhaustive list) of the
computer readable storage medium would include the following: a
portable computer diskette, a hard disk, a random access memory
(RAM), a read-only memory (ROM), an erasable programmable read-only
memory (EPROM or Flash memory), a portable compact disc read-only
memory (CD-ROM), a digital versatile disc (DVD), a Blu-ray disc, an
optical storage device, a magnetic tape, a Bernoulli drive, a
magnetic disk, a magnetic storage device, a punch card, integrated
circuits, other digital processing apparatus memory devices, or any
suitable combination of the foregoing, but would not include
propagating signals. In the context of this document, a computer
readable storage medium may be any tangible medium that can
contain, or store a program for use by or in connection with an
instruction execution system, apparatus, or device.
[0029] Computer program code for carrying out operations for
aspects of the present disclosure may be written in any combination
of one or more programming languages, including an object oriented
programming language such as Java, Python, C++ or the like and
conventional procedural programming languages, such as the "C"
programming language or similar programming languages. The program
code may execute entirely on the user's computer, partly on the
user's computer, as a stand-alone software package, partly on the
user's computer and partly on a remote computer or entirely on the
remote computer or server. In the latter scenario, the remote
computer may be connected to the user's computer through any type
of network, including a local area network (LAN) or a wide area
network (WAN), or the connection may be made to an external
computer (for example, through the Internet using an Internet
Service Provider).
[0030] Reference throughout this specification to "one embodiment,"
"an embodiment," or similar language means that a particular
feature, structure, or characteristic described in connection with
the embodiment is included in at least one embodiment of the
present disclosure. Thus, appearances of the phrases "in one
embodiment," "in an embodiment," and similar language throughout
this specification may, but do not necessarily, all refer to the
same embodiment, but mean "one or more but not all embodiments"
unless expressly specified otherwise. The terms "including,"
"comprising," "having," and variations thereof mean "including but
not limited to" unless expressly specified otherwise. An enumerated
listing of items does not imply that any or all of the items are
mutually exclusive and/or mutually inclusive, unless expressly
specified otherwise. The terms "a," "an," and "the" also refer to
"one or more" unless expressly specified otherwise.
[0031] Furthermore, the described features, structures, or
characteristics of the disclosure may be combined in any suitable
manner in one or more embodiments. In the following description,
numerous specific details are provided, such as examples of
programming, software modules, user selections, network
transactions, database queries, database structures, hardware
modules, hardware circuits, hardware chips, etc., to provide a
thorough understanding of embodiments of the disclosure. However,
the disclosure may be practiced without one or more of the specific
details, or with other methods, components, materials, and so
forth. In other instances, well-known structures, materials, or
operations are not shown or described in detail to avoid obscuring
aspects of the disclosure.
[0032] Aspects of the present disclosure are described below with
reference to schematic flowchart diagrams and/or schematic block
diagrams of methods, apparatuses, systems, and computer program
products according to embodiments of the disclosure. It will be
understood that each block of the schematic flowchart diagrams
and/or schematic block diagrams, and combinations of blocks in the
schematic flowchart diagrams and/or schematic block diagrams, can
be implemented by computer program instructions. These computer
program instructions may be provided to a processor of a general
purpose computer, special purpose computer, or other programmable
data processing apparatus to produce a machine, such that the
instructions, which execute via the processor of the computer or
other programmable data processing apparatus, create means for
implementing the functions/acts specified in the schematic
flowchart diagrams and/or schematic block diagrams block or
blocks.
[0033] These computer program instructions may also be stored in a
computer readable storage medium that can direct a computer, other
programmable data processing apparatus, or other devices to
function in a particular manner, such that the instructions stored
in the computer readable storage medium produce an article of
manufacture including instructions which implement the function/act
specified in the schematic flowchart diagrams and/or schematic
block diagrams block or blocks. The computer program instructions
may also be loaded onto a computer, other programmable data
processing apparatus, or other devices to cause a series of
operational steps to be performed on the computer, other
programmable apparatus or other devices to produce a computer
implemented process such that the instructions which execute on the
computer or other programmable apparatus provide processes for
implementing the functions/acts specified in the flowchart and/or
block diagram block or blocks.
[0034] The schematic flowchart diagrams and/or schematic block
diagrams in the Figures illustrate the architecture, functionality,
and operation of possible implementations of apparatuses, systems,
methods and computer program products according to various
embodiments of the present disclosure. In this regard, each block
in the schematic flowchart diagrams and/or schematic block diagrams
may represent a module, segment, or portion of code, which
comprises one or more executable instructions for implementing the
specified logical function(s).
[0035] It should also be noted that, in some alternative
implementations, the functions noted in the block may occur out of
the order noted in the figures. For example, two blocks shown in
succession may, in fact, be executed substantially concurrently, or
the blocks may sometimes be executed in the reverse order,
depending upon the functionality involved. Other steps and methods
may be conceived that are equivalent in function, logic, or effect
to one or more blocks, or portions thereof, of the illustrated
figures.
[0036] Although various arrow types and line types may be employed
in the flowchart and/or block diagrams, they are understood not to
limit the scope of the corresponding embodiments. Indeed, some
arrows or other connectors may be used to indicate only the logical
flow of the depicted embodiment. For instance, an arrow may
indicate a waiting or monitoring period of unspecified duration
between enumerated steps of the depicted embodiment. It will also
be noted that each block of the block diagrams and/or flowchart
diagrams, and combinations of blocks in the block diagrams and/or
flowchart diagrams, can be implemented by special purpose
hardware-based systems that perform the specified functions or
acts, or combinations of special purpose hardware and computer
instructions.
[0037] The description of elements in each figure may refer to
elements of proceeding figures. Like numbers refer to like elements
in all figures, including alternate embodiments of like
elements.
[0038] FIG. 1 depicts one embodiment of a system 100 for puzzle
creation and sharing. The system 100, in the depicted embodiment,
includes a puzzle server 102, a data network 104, and one or more
clients 106. In the depicted embodiment, the puzzle server 102 may
communicate with one or more clients 106 over the data network 104.
In one embodiment, a client 106 may include any device capable of
displaying puzzle content for a user. For example, in some
embodiments, clients 106 may include devices such as a desktop
computer, a laptop computer, a tablet, a smartphone or other mobile
device, or the like.
[0039] In another embodiment, the puzzle server 102 may be any
server capable of delivering puzzle content to a client 106 (or
"client device") over the data network 104. For example, in some
embodiments, the puzzle server 102 may include a standalone server,
a dedicated server, a virtual server, a blade server, a cluster of
servers, or the like. In many embodiments, the data network 104
connecting the puzzle server 102 to clients 106 is the Internet;
however, in another embodiment, the data network 104 may include
another type of network, such as an intranet network, a local area
network (LAN), a metropolitan area network (MAN), a wide area
network (WAN), or the like.
[0040] The devices 106 connect to the data network 104, in one
embodiment, by a data link 108. The data link 108 may be any data
connection that enables routable traffic between the puzzle server
102 and the client 106 to traverse the data network 104. Examples
include, but are not limited to cellular data connections, wired
data connections (e.g., Ethernet), and wireless data connections
(e.g., Wi-Fi, Bluetooth, etc.). In another embodiment, the clients
106 are capable of communicating directly with the puzzle server
102 via an ad-hoc connection.
[0041] As will be described below, the puzzle server 102 is
configured to enable the sharing of puzzle content between client
106 devices. As used herein, the term "puzzle content" refers to a
multimedia message in the form of a game that is to be solved by a
recipient. In one example, a solvable multimedia message in the
form of a game is an image that has been converted to a jigsaw
puzzle. Each client device 106 is configured to allow a user to
solve the jigsaw puzzle before allowing the user to view the image
upon which the jigsaw puzzle was based. In a similar manner, puzzle
content may be configured for allowing a user to listen to a song
or view a video after, for example, a puzzle is solved, where the
puzzle is based on a screenshot of the video or an album cover.
Each client 106 includes a client module (see FIG. 2), and the
puzzle server 102 includes a server module (see FIG. 3) for
enabling the above described features.
[0042] FIG. 2 is a schematic block diagram illustrating one
embodiment of a client module 200 in accordance with embodiments of
the present disclosure. The client module 200 is configured to
allow the creation and exchange of puzzle content between client
devices 106. The client module 200, in one embodiment, is
configured with a register module 202, a contact module 204, an
image module 206, a puzzle module 208, a mailbox module 210, a
promotion module 212, and a chat module 214.
[0043] In one embodiment, the register module 202 is configured to
allow a user to register or login to the puzzle server 102. The
register module 202 is configured to generate a user interface to
be displayed on the client device 106. The user interface may be
configured to prompt for and receive user login credentials. The
login credentials may include a username and a password.
Alternatively, the login credentials may comprise a unique
identifier of the device 106. The unique identifier may be
associated with a particular user. For example, the unique
identifier may be a phone number associated with the client device
106, or a MAC address associated with the client device 106. Other
types of login credentials usable for logging in to the puzzle
server 102 include, but are not limited to, smart cards,
fingerprints, etc.
[0044] In one embodiment, the contact module 204 is configured for
maintaining a list of contacts associated with the user. For
example, the contact module 204 may be configured for retrieving
from the puzzle server 102 a listing of all
contacts/friends/associates of the user. In some embodiments, the
contact module 204 is also configured to generating and presenting
a user interface for finding and adding a new contact or friend to
the list of contacts. The new contact or friend may be added by,
for example, username, phone number, email address, etc. The
contact module 204 is also configured to update the puzzle server
102 when a user adds or removes a friend or contact. In another
embodiment, the contact module 204 may be configured to import a
list of user contacts from another social media service or
website.
[0045] In one embodiment, the image module 206 is configured for
identifying and manipulating an image. For example, the image
module 206 may be configured to generate a user interface for
receiving input from the user that is indicative of how a user
wishes to select an image (see FIG. 4). The image module 206 may be
configured to allow a user to capture an image from an image
capture device (e.g., camera), or alternatively, to allow a user to
select an already captured image. The already captured image may be
stored locally on the same device as the client module or remotely
on another client device 106 or another server, like the puzzle
server 102 or a third party image sharing service.
[0046] In some embodiments, the image module 206 is also configured
to generate a user interface for manipulating the selected or
captured image. The image module 206 may provide a user interface
for editing or manipulating the image. Examples of editing or
manipulating the image include, but are not limited to, the
abilities to resize or crop the image, lighten/darken the contrast
of the image, apply a filter, apply a watermark, remove blemishes
(e.g., redeye, etc.), add custom text to the image (i.e., custom
fonts, font size, etc.), remove or modify image metadata (e.g.,
exif data), combine one or more images, and draw on the image.
[0047] The puzzle module 208, in one embodiment, is configured to
generate puzzle content from the image. The puzzle module 208
receives the image from the image module 206 and provides a user
interface configured to receive input from the user regarding
puzzle properties. In one embodiment, the term "puzzle properties"
refers to any user-definable property or configuration of the
puzzle content. Examples of "puzzle properties" include, but are
not limited to difficulty, and puzzle duration. The difficulty of
the puzzle content, in one example, is related to a number of
puzzle pieces that the image is divided into. In other words, the
puzzle module 208 is configured to divide the image into a number
of puzzle pieces that are randomly positionable to create a jigsaw
puzzle. The number of puzzle pieces may be in the range of between
about 2 and 1000 or more.
[0048] The puzzle module 208, in certain embodiments, prompts the
user to select a number of puzzle pieces. In other embodiments, the
puzzle module 208 is configured to receive a difficulty level,
examples of which include but are not limited to "easy," "medium,"
"hard," and "extra hard." The difficulty levels may be assigned to
a particular number of puzzle pieces (or range of numbers). For
example, a selection of the "easy" level may result in puzzle
content having 4 pieces, while a selection of "hard" may result in
puzzle content having 16 pieces. An example of the graphical user
interface generated by the puzzle module 208 will be discussed
below with reference to FIG. 5.
[0049] As described, the puzzle module 208 is configured to define
other puzzle properties, such as puzzle duration. The term "puzzle
duration" refers to a user-definable time period for solving the
puzzle content before the puzzle content expires. In other words,
the user may set, for example, a 3 minute period for the recipient
to solve the puzzle content. If, at the end of the 3 minute period
the recipient has been unable to solve the puzzle content, the
puzzle module 208 may define how the puzzle content expires. In one
example, the puzzle content may disappear. The user may, via the
puzzle module 208, require other actions at the expiration of the
time period. Examples include, but are not limited to, an animation
showing how to solve the puzzle, an option to save the image, an
option to share the image, etc.
[0050] In another embodiment, the puzzle module 208 is also
configured to render received puzzle content. Puzzle content sent
from another user is received, as will be described below, by the
mailbox module 210 and passed to the puzzle module 208. The puzzle
module 208 of the recipient is configured to enforce the puzzle
properties defined by the puzzle module 208 of the sender. In other
words, if the sender of the puzzle content has defined a 10 minute
expiration or timeout period, the puzzle module 208 of the
recipient enforces the 10 minute expiration and executes the
desired timeout action (e.g., disappearing image, animation showing
how to solve the puzzle, etc.).
[0051] In another embodiment, the puzzle module 208 is also
configured to enable a user to manipulate the puzzle content. For
example, the puzzle module 208 is configured to allow the recipient
user to move puzzle pieces around. In one embodiment, the puzzle
module 208 allows the recipient user to move one piece at a time,
in alternative embodiment, the puzzle module 208 allows the user to
move multiple pieces or tiles simultaneously.
[0052] In one embodiment, the mailbox module 210 is configured to
send and receive puzzle content. Stated differently the mailbox
module 210 is configured for sending puzzle content created by the
user via the puzzle module 208, and receive puzzle content from
other users. The mailbox module 210, in a further embodiment,
monitors the progress of other users in relation to puzzle content
created and sent. In other words, the mailbox module 210 is
configured to determine if a recipient of puzzle content was able
to solve the puzzle content. The mailbox module 210 may query
directly the client device 106 of the recipient periodically to
determine the resolution (e.g., solved or unsolved) of the puzzle
content. In an alternative embodiment, the mailbox module 210
queries or receives an indication from the puzzle server 102 that
the recipient has been successful/unsuccessful. In another
embodiment, the mailbox module 210 of the recipient client device
106 sends updates either directly to the sender or to the sender
via the puzzle server 102.
[0053] In one embodiment, the promotion module 212 is configured to
identify promotions in the puzzle content 212. For example, a
retailer may distribute promotions or coupons as puzzle content
with the stipulation that the puzzle content be solved within a
certain time period. If the recipient is able to solve the puzzle
content then a promotion or coupon code is made available to the
recipient for use at the retailer's place of business or website.
The promotion module 212, in one embodiment, receives and stores
the promotion or coupon until the recipient user is ready to use
the promotion or coupon.
[0054] In one embodiment, the client module 200 also includes a
chat module 214 for enabling chatting between senders and
recipients (e.g., one-to-one or multi-user chat). The chat module
214, in one embodiment, communicates directly between the sending
user client module 200 and the recipient user client module 200. In
alternative embodiment, the chat modules 214 of the sender and the
recipient communicate through the puzzle server 102.
[0055] FIG. 3 is a schematic block diagram illustrating one
embodiment of a server module 300 in accordance with embodiments of
the present disclosure. The server module 300, as described above,
is configured to execute on at least one network attached computing
device. The server module 300, in one embodiment, operates on the
server 102 of FIG. 1. The server module 300 comprises a user module
302, a communication module 304, a server promotion module 306, and
a user database 308.
[0056] In one embodiment, the user module 302 is configured for
registering and authenticating users over the network. The user
module 302, via the communication module 304, communicates with the
client modules 200 of each client device 106. The user module 302
further maintains user records in the user database 308. Each user
has a corresponding user record or profile in the user database.
Each record or profile may include user identifiable information.
Additionally, each record may include user demographic information,
including but not limited to, age, location, gender, income
bracket, likes, dislikes, hobbies, interests, political
inclination, etc. In a further embodiment, each user record
includes a history of puzzle content activity. In other words, each
record includes a history of puzzles the user has attempted to
solve, if the user has been successful, and if successful, how long
did it take to solve, etc. The user database also maintains copies
of user-created puzzle content.
[0057] In one embodiment, the server promotion module 306 is
configured for managing promotions for third-party entities.
Examples include, retailers, other businesses, charities, political
organizations, etc. A third-party entity may desire to engage users
with solvable puzzle content. The server promotion module 306, in
one embodiment, is configured to receive promotion details from the
third-party entity and distribute puzzle content based on the
promotion details. Examples of promotion details include, but are
not limited to, specific users based on demographics, location, or
previous purchase history. In one example, a retailer may submit a
promotion campaign to the promotion module 306 that specifies
sending coupons as puzzle content to women between the age of 19
and 35 that live in a 10 mile radius of the retailer. Accordingly,
the promotion module queries the user database 308 to filter users
based on the promotion details and sends out the puzzle content via
the communication module 304.
[0058] FIG. 4 is a diagram illustrating one embodiment of a client
device 106 presenting a user interface for editing an image. As
described above, the client module 200 may provide a user interface
for selecting, and then (as depicted) editing an image. The image
may be captured from a camera, or selected from a photo gallery or
other photo depository. The image may be edited by adding text 402,
drawing 404, coloring 406, or adding filters 408 or other
effects.
[0059] FIGS. 5 and 6 are diagrams illustrating one embodiment of a
client device 106 presenting a user interface for setting puzzle
properties of the image. In one embodiment, and as described above,
one of the puzzle properties of the image is the difficulty of a
jigsaw puzzle. The client module 200 is configured to receive a
difficulty as selected by the user via button 502. As depicted, the
easy button 502 will partition the image into four pieces, the
medium into nine, and the hard into 16 or more. Button 504 enables
a user to toggle between puzzle properties. In this depiction, the
user may toggle between the difficulty screen and the timer screen.
Other puzzle properties or actions are contemplated, including but
not limited to, background music, animation/movie/gif to play upon
completion, amount of retries if a person fails, etc.
[0060] FIG. 7 is a diagram illustrating one embodiment of a user
interface for previewing puzzle content in accordance with the
present disclosure. The client module 200 is configured to provide
a preview of the puzzle content following receipt of at least one
puzzle property. In the depicted embodiment, the sending user has
selected a puzzle name of "Puppy Chow," a medium difficulty with 9
tiles or portions, and an expiration timer with a value of 1 min 30
sec. Although the tiles are depicted having a generally rectangular
shape, other shapes, such as traditional jigsaw shapes, are
contemplated.
[0061] FIGS. 8 and 9 are diagrams illustrating embodiments of user
interfaces for solving puzzle content. In FIG. 8, the recipient
user has arranged the puzzle tiles in the correct order within the
allocated timeframe. As discussed above, the client module 200
allows a successful recipient to share the image on a social
network, and/or save the image to the gallery or cameral roll. In
FIG. 9, the recipient user has not successfully solved the puzzle,
and is given the option to quit or request from the sending user
more time. The client module 200 is configured to send a request
either directly to the sending user, or via the puzzle server 102,
requesting additional time to solve the puzzle.
[0062] FIG. 10 illustrates a flow diagram of one embodiment of a
method 1000 for generating puzzle content. The method is performed
by processing logic that may comprise hardware (circuitry,
dedicated logic, etc.), software (such as is run on a general
purpose computer system or a dedicated machine), or a combination
of both. In one embodiment, the method is performed by a client
module (e.g., client module 200 of FIG. 2).
[0063] The method 1000 starts, and the processing logic, at block
1002, receives an image. In some embodiment, the processing logic
receives the image by capturing the image from a camera, or
alternatively by receiving a selection from an image gallery or
other image depository. At block 1004 the processing logic receives
input indicative of a user's desire to edit the image, and the
processing logic provides a user interface for editing the image.
Examples of editing, as discussed above, include adding drawings,
text, changing brightness, contrast, and color, applying a filter,
etc. Also, the processing logic may receive, at block 1004, a name
for the puzzle content.
[0064] At block 1006, the processing logic receives a puzzle
property. The puzzle property, in one embodiment, is a difficulty
level as discussed above. Additionally, the puzzle property may
comprise an expiration timer (at block 1008). The processing logic,
at block 1010, receives an indication of which contact(s) to send
the puzzle content to, and then at block 1012 provides a preview of
the puzzle content.
[0065] At block 1014, the processing logic saves and sends the
image, and then monitors the results of the recipient user. At
block 1016 the processing logic provides the results to the sending
user. The method 1000 then ends.
[0066] FIG. 11 illustrates a flow diagram of one embodiment of a
method 1000 for receiving puzzle content. The method is performed
by processing logic that may comprise hardware (circuitry,
dedicated logic, etc.), software (such as is run on a general
purpose computer system or a dedicated machine), or a combination
of both. In one embodiment, the method is performed by a client
module (e.g., client module 200 of FIG. 2).
[0067] The method 1100 starts and a recipient user receives puzzle
content at block 1102. The processing logic receives the puzzle
content from a sending user and presents the puzzle content to the
recipient user. Upon acceptance by the recipient user, the
processing logic enforces the puzzle properties. In the depicted
embodiment, the processing logic enforces the puzzle properties by,
at block 1104, beginning the timer.
[0068] At decision block 1106, if the recipient user is able to
solve the puzzle, the processing logic allows the recipient user to
share and/or save the image, at block 1108. The processing logic
then, at block 1110, sends results to the sending user.
[0069] If, however, at decision block 1106, the processing logic
determines that the recipient user has not solved the puzzle
content according to the puzzle properties (i.e., within a defined
time period), the processing logic deletes the puzzle at block
1112. The processing logic may, at block 1114, allow the recipient
user to request more time, and if granted, return to block 1104 to
begin a time period again for solving the puzzle content. In an
alternative embodiment, the processing logic may allow the user to
request more time before deleting the puzzle content, so as to not
require that the puzzle content gets retransmitted to the user. If
additional time is not granted, the processing logic proceeds to
block 1110 and sends the "unsolved" results to the sending user.
The method 1100 then ends.
[0070] FIG. 12 is a diagram of one embodiment of a computer system
for facilitating template generation. Within the computer system
1200 is a set of instructions for causing the machine to perform
any one or more of the methodologies discussed herein. In
alternative embodiments, the machine may be connected (e.g.,
networked) to other machines in a LAN, an intranet, an extranet, or
the Internet. The machine may be a host in a cloud, a cloud
provider system, a cloud controller or any other machine. The
machine may operate in the capacity of a server or a client machine
in a client-server network environment, or as a peer machine in a
peer-to-peer (or distributed) network environment. The machine may
be a personal computer (PC), a tablet PC, a console device or
set-top box (STB), a Personal Digital Assistant (PDA), a cellular
telephone, a web appliance, a server, a network router, switch or
bridge, or any machine capable of executing a set of instructions
(sequential or otherwise) that specify actions to be taken by that
machine. Further, while only a single machine is illustrated, the
term "machine" shall also be taken to include any collection of
machines (e.g., computers) that individually or jointly execute a
set (or multiple sets) of instructions to perform any one or more
of the methodologies discussed herein.
[0071] The exemplary computer system 1200 includes a processing
device 1202, a main memory 1204 (e.g., read-only memory (ROM),
flash memory, dynamic random access memory (DRAM) such as
synchronous DRAM (SDRAM) or DRAM (RDRAM), etc.), a static memory
1206 (e.g., flash memory, static random access memory (SRAM),
etc.), and a secondary memory 1218 (e.g., a data storage device in
the form of a drive unit, which may include fixed or removable
computer-readable storage medium), which communicate with each
other via a bus 1230.
[0072] The processing device 1202 represents one or more
general-purpose processing devices such as a microprocessor,
central processing unit, or the like. More particularly, the
processing device 1202 may be a complex instruction set computing
(CISC) microprocessor, reduced instruction set computing (RISC)
microprocessor, very long instruction word (VLIW) microprocessor,
processor implementing other instruction sets, or processors
implementing a combination of instruction sets. The processing
device 1202 may also be one or more special-purpose processing
devices such as an application specific integrated circuit (ASIC),
a field programmable gate array (FPGA), a digital signal processor
(DSP), network processor, or the like. The processing device 1202
is configured to execute the instructions 1226 for performing the
operations and steps discussed herein.
[0073] The computer system 1200 may further include a network
interface device 1222. The computer system 1200 also may include a
video display unit 1210 (e.g., a liquid crystal display (LCD) or a
cathode ray tube (CRT)) connected to the computer system through a
graphics port and graphics chipset, an alphanumeric input device
1212 (e.g., a keyboard), a cursor control device 1214 (e.g., a
mouse), and a signal generation device 1220 (e.g., a speaker).
[0074] The secondary memory 1218 may include a machine-readable
storage medium (or more specifically a computer-readable storage
medium) 1224 on which is stored one or more sets of instructions
1226 embodying any one or more of the methodologies or functions
described herein. In one embodiment, the instructions 1226 include
instructions for the template generator 300. The instructions 1226
may also reside, completely or at least partially, within the main
memory 1204 and/or within the processing device 1202 during
execution thereof by the computer system 1200. The main memory 1204
and the processing device 1202 also constituting machine-readable
storage media.
[0075] The computer-readable storage medium 1224 or computer
storage device may also be used to store the instructions 1226
persistently. While the computer-readable storage medium 1224 is
shown in an exemplary embodiment to be a single medium, the term
"computer-readable storage medium" should be taken to include a
single medium or multiple media (e.g., a centralized or distributed
database, and/or associated caches and servers) that store the one
or more sets of instructions. The term "computer-readable storage
medium" shall also be taken to include any medium that is capable
of storing or encoding a set of instructions for execution by the
machine and that cause the machine to perform any one or more of
the methodologies of the present invention. The term
"computer-readable storage medium" shall accordingly be taken to
include, but not be limited to, solid-state memories, and optical
and magnetic media.
[0076] The instructions 1226, components and other features
described herein can be implemented as discrete hardware components
or integrated in the functionality of hardware components such as
ASICS, FPGAs, DSPs or similar devices. In addition, the
instructions 1226 can be implemented as firmware or functional
circuitry within hardware devices. Further, the instructions 1226
can be implemented in any combination hardware devices and software
components.
[0077] FIG. 13 is a schematic block diagram illustrating another
embodiment of a client module 1300 in accordance with embodiments
of the disclosure. As described above, the client module is
configured for the creation and sharing of solvable multimedia
messages, or puzzle content. In one example, a solvable multimedia
message in the form of a game is an image that has been converted
to a jigsaw puzzle. Although discussed herein below as a "jigsaw
puzzle" or a "jigsaw", the below description is equally applicable
to any type of multimedia game. Each client device 106 is
configured to allow a user to solve the jigsaw puzzle before
allowing the user to view the image upon which the jigsaw puzzle
was based. In a similar manner, puzzle content may be configured
for allowing a user to listen to a song or view a video after, for
example, a puzzle is solved, where the puzzle is based on a
screenshot of the video or an album cover. To enable this
functionality, the client module 1300 may include a video module
1302.
[0078] The video module 1302 is configured to receiving a selection
of video content to be shared. The selection of video content to be
shared may be received from a user browsing a multimedia gallery,
or accessing an online repository of videos. The video module 1302
is further configured to present a user interface for playback of
the video, with playback control so that a user may pause the video
at any point and select the paused video frame to be used as an
image for creating a jigsaw puzzle.
[0079] In an alternative embodiment, the video module 1302 is
configured to allow a user to insert any image accessible to the
user into the video as puzzle content. Stated differently, the
video module 1302 is configured to receive an image, convert the
image into a puzzle, via the puzzle module 208, and insert the
puzzle into the video. The video module 1302 is further configured
to enforce any puzzle properties defined by the user. For example,
if the user set a specific duration and difficulty, the video
module 1302 may require a recipient to solve the puzzle according
to the puzzle properties before allowing the user to watch the
remainder of the video. One or more puzzles may be inserted into
the video content at any point in the timeline of the video.
Additionally, the video module 1302 may be configured to allow the
recipient of the video puzzle to save the video after successfully
solving all puzzles embedded in the video.
[0080] The video module 1302 is also configured for rendering a
received video puzzle, and enforcing any puzzle properties defined
by the sender. As described above, if the recipient is able to
solve all of the puzzles inserted into the video, the video module
1302 presents options to the recipient to save and/or share the
video.
[0081] In some embodiments, the video module 1302 is configured to
generate a user interface for manipulating the selected or captured
video. Examples of editing or manipulating the video include, but
are not limited to, cropping the length of the video, adjusting
brightness/contrast, applying a watermark, adding custom text, and
adding additional audio tracks. Examples of additional audio tracks
may include, but are not limited to, warnings that a time to solve
the puzzle is about to expire, motivational or taunting voice
tracks, etc.
[0082] The client module 1300, in one embodiment, may also include
a flashcard module 1304. The flashcard module 1304 may be
configured for implementing a puzzle-based flashcard. One example
of a puzzle-based flashcard is a jigsaw puzzle that includes
flashcard elements. Other examples include, but are not limited to,
a matching game that includes flashcard elements. Traditional
flashcards are useful for teaching subjects such as vocabulary,
historical facts, mathematics, language, etc. Traditional
flashcards typically include information on both sides of the card.
Given a prompt, a user responds with an answer, and then verifies
the answer on the opposite side of the flashcard.
[0083] The flashcard module 1304 is configured to incorporate
flashcard elements into, for example, the jigsaw puzzle created by
the puzzle module 208. For example, the flashcard module 1304 may
be configured to generate a flashcard of a cat jigsaw. The
flashcard module 1304 prompts a recipient to solve the jigsaw
puzzle of the cat, and then prompt the user (e.g., small child) to
identify the animal in the jigsaw. The flashcard module 1304 may be
configured to animate the image of the cat and "flip it" to verify
that the animal is a cat. The verification may be the text "cat" or
alternatively, a text-to-speech engine that announces the word
"cat." Time limits, and any other puzzle property described above,
may be applied to the flashcard style jigsaw puzzle. The creation
of the flashcards may be achieved via user interfaces described
above, and created by either the flashcard module 1304 or the image
module 206.
[0084] In another embodiment, the flashcard module 1304 is
configured to generate a flashcard video jigsaw-type puzzle.
Incorporating the features described above, the flashcard module
1304 may implement a jigsaw puzzle that when solved, displays a
video prompt to a user. The video prompt may subsequently be
followed by a "flipping card" animation for a visual verification,
or alternatively the text-to-speech engine may announce the
verification.
[0085] FIG. 14 is a schematic block diagram illustrating one
embodiment of a user interface for modifying videos with puzzle
content in accordance with embodiments of the disclosure. The user
interface 1400 may include a viewing area 1402 located above a
control area 1404. The viewing area 1402 is configured to display
the video. The control area 1404, in one embodiment, includes
buttons 1406 for controlling playback of content. The buttons may
include, but are not limited to, play 1406a, pause 1406b, rewind
1406c, and fast forward 1406d.
[0086] In a further embodiment, the user interface 1400 further
includes a timeline 1408 that is configured to represent the
selected video content. The timeline 1408, in the depicted
embodiment illustrates video portions 1410 that are separated by
puzzle content, depicted as the lines separating the potions 1410.
In other words, a jigsaw puzzle is inserted at each of the depicted
lines separating potions 1410. In this particular example, the
video content includes 4 jigsaw puzzles that must be solved before
a recipient is allowed to view the next portion 1410.
[0087] The video module 1302, via the user interface 1400, is
configured to allow a user to create the jigsaw-enabled video by
allowing the user to drag the control bar 1412 to different points
along the timeline, and insert a jigsaw puzzle via the insert
button 1406e. Inserting a jigsaw puzzle results in video portions
1410 that are separated by the jigsaw puzzle. A portion adjacent
and after the jigsaw puzzle on the timeline is viewable in its
entirety until the next jigsaw puzzle is presented. The following
video portion 1410 becomes viewable once the new jigsaw puzzle is
solved. The user interface 1400 may also include volume controls
1414.
[0088] In the above description, numerous details are set forth. It
will be apparent, however, to one skilled in the art, that the
present invention may be practiced without these specific details.
In some instances, well-known structures and devices are shown in
block diagram form, rather than in detail, in order to avoid
obscuring the present invention.
[0089] Some portions of the detailed description are presented in
terms of algorithms and symbolic representations of operations on
data bits within a computer memory. These algorithmic descriptions
and representations are the means used by those skilled in the data
processing arts to most effectively convey the substance of their
work to others skilled in the art. An algorithm is here, and
generally, conceived to be a self-consistent sequence of steps
leading to a result. The steps are those requiring physical
manipulations of physical quantities. Usually, though not
necessarily, these quantities take the form of electrical or
magnetic signals capable of being stored, transferred, combined,
compared, and otherwise manipulated. It has proven convenient at
times, principally for reasons of common usage, to refer to these
signals as bits, values, elements, symbols, characters, terms,
numbers, or the like.
[0090] It should be borne in mind, however, that all of these and
similar terms are to be associated with the appropriate physical
quantities and are merely convenient labels applied to these
quantities. Unless specifically stated otherwise as apparent from
the following discussion, it is appreciated that throughout the
description, discussions utilizing terms such as "providing,"
"generating," "detecting," "identifying," "storing," "receiving,"
"sending," or the like, refer to the actions and processes of a
computer system, or similar electronic computing device, that
manipulates and transforms data represented as physical (e.g.,
electronic) quantities within the computer system's registers and
memories into other data similarly represented as physical
quantities within the computer system memories or registers or
other such information storage, transmission or display
devices.
[0091] The present invention also relates to an apparatus for
performing the operations herein. This apparatus may be specially
constructed for the required purposes, or it may comprise a general
purpose computer selectively activated or reconfigured by a
computer program stored in the computer. Such a computer program
may be stored in a computer readable storage medium, such as, but
not limited to, any type of disk including floppy disks, optical
disks, CD-ROMs, and magnetic-optical disks, read-only memories
(ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or
optical cards, or any type of media suitable for storing electronic
instructions, each coupled to a computer system bus.
[0092] The present invention may be provided as a computer program
product, or software, that may include a machine-readable medium
having stored thereon instructions, which may be used to program a
computer system (or other electronic devices) to perform a process
according to the present invention. A machine-readable medium
includes any mechanism for storing or transmitting information in a
form readable by a machine (e.g., a computer). For example, a
machine-readable (e.g., computer-readable) medium includes a
machine (e.g., a computer) readable storage medium such as a read
only memory ("ROM"), random access memory ("RAM"), magnetic disk
storage media, optical storage media, flash memory devices,
etc.
[0093] It is to be understood that the above description is
intended to be illustrative, and not restrictive. Many other
embodiments will be apparent to those of skill in the art upon
reading and understanding the above description. Although the
present invention has been described with reference to specific
exemplary embodiments, it will be recognized that the invention is
not limited to the embodiments described, but can be practiced with
modification and alteration within the spirit and scope of the
appended claims. Accordingly, the specification and drawings are to
be regarded in an illustrative sense rather than a restrictive
sense. The scope of the invention should, therefore, be determined
with reference to the appended claims, along with the full scope of
equivalents to which such claims are entitled.
* * * * *