U.S. patent application number 13/299822 was filed with the patent office on 2012-03-15 for system and method for designing and generating online stationery.
Invention is credited to Kelly Berger.
Application Number | 20120066623 13/299822 |
Document ID | / |
Family ID | 45807892 |
Filed Date | 2012-03-15 |
United States Patent
Application |
20120066623 |
Kind Code |
A1 |
Berger; Kelly |
March 15, 2012 |
SYSTEM AND METHOD FOR DESIGNING AND GENERATING ONLINE
STATIONERY
Abstract
A system and method are described for creating personalized
stationery online. For example, a computer-implemented method
according to one embodiment comprises: defining variable types
including formatting options to be used in stationery templates;
specifying variables to be used for a particular stationery
template, each of the variables being assigned a particular
variable type; creating a global template for a product category of
stationery; extracting metadata from a file or other content
provided by a stationery designer; and creating a product template
using information contained in the global template and the metadata
extracted from the file.
Inventors: |
Berger; Kelly; (Los Altos,
CA) |
Family ID: |
45807892 |
Appl. No.: |
13/299822 |
Filed: |
November 18, 2011 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
11188721 |
Jul 26, 2005 |
|
|
|
13299822 |
|
|
|
|
Current U.S.
Class: |
715/764 |
Current CPC
Class: |
G06Q 10/101
20130101 |
Class at
Publication: |
715/764 |
International
Class: |
G06F 3/048 20060101
G06F003/048 |
Claims
1. A computer-implemented method for assisting users to design
stationery products online, comprising: defining a global template
for a stationery product by a computer system comprising one or
more servers, wherein the global template specifies variables and
formatting options in a stationery product layout, wherein the
global template defines a first variable whose appearance in the
stationery product layout is conditional based on user input
values; asking users a question related to the first variable;
receiving from a first user a first value of user input in response
to the question; presenting to the first user, by the computer
system, with a first stationery product layout including the first
variable to allow the first user to create a first stationery
product; receiving from a second user a second value of user input
in response to the question; and presenting to the second user, by
the computer system, with a second stationery product layout
without the first variable to allow the second user to create a
second stationery product.
2. The computer-implemented method of claim 1, wherein the
stationery product is for a baby's birth announcement, a wedding
invitation, or a birthday party invitation.
3. The computer-implemented method of claim 2, wherein the
stationery product includes a baby birth announcement card.
4. The computer-implemented method of claim 3, wherein the first
variable includes a name of a sibling of the baby, wherein the
question is about whether the baby has any siblings, wherein the
first stationery product layout includes the sibling's name.
5. The computer-implemented method of claim 4, wherein the first
stationery product layout position the sibling's name adjacent to a
phrase "has a baby sister" or "has a baby sister".
6. The computer-implemented method of claim 3, wherein the first
variable includes a birth time during the day of the baby's birth,
wherein the question is about whether to include the birth time in
the stationery product, wherein the first stationery product layout
includes the birth time in addition to the birth date of the
baby.
7. The computer-implemented method of claim 6, wherein the first
stationery product layout further includes an "at" before the birth
time, wherein the second stationery product layout does not include
a birth time or an "at" related to the birth time.
8. The computer-implemented method of claim 3, wherein the
variables comprise the baby's names and birth date, the method
further comprising: receiving baby's names and birth date from the
first user or the second user.
9. The computer-implemented method of claim 3, wherein the
variables comprise initials of the baby's names, wherein the first
stationery product layout or the second stationery product layout
includes text fields for displaying the initials of the baby's
names.
10. The computer-implemented method of claim 3, wherein the
variables comprise the baby's weight and length, the method further
comprising: receiving baby's weight and length from the first user
or the second user.
11. The computer-implemented method of claim 3, wherein the
variables comprise names of the baby's parents, the method further
comprising: receiving the names of the baby's parents from the
first user or the second user.
12. The computer-implemented method of claim 1, wherein the first
variable is associated with a first formatting option that
specifies the display of an additional predetermined text in
association with the first variable in the first stationery product
layout in response to the first value of user input.
13. The computer-implemented method of claim 12, wherein the
additional predetermined text is not displayed in the second
stationery product layout.
14. The computer-implemented method of claim 1, wherein the first
variable comprise a date, and wherein the formatting options for
the date comprises a formal format and a casual format.
15. The computer-implemented method of claim 1, wherein the first
stationery product layout and the second stationery product layout
are displayed at a web user interface.
16. The computer-implemented method of claim 1, further comprising:
manufacturing the first stationery product in accordance with the
first stationery product layout; and manufacturing the second
stationery product in accordance with the second stationery product
layout.
17. A computer-implemented method for assisting users to design
stationery products online, comprising: defining a global template
for a stationery product by a computer system comprising one or
more servers, wherein the global template specifies variables and
formatting options in a stationery product layout, wherein the
global template defines a first variable whose appearance in the
stationery product layout is conditional based on user input
values, wherein the global template specifies the display of an
additional predetermined text in association with the first
variable in response to user input values; asking users a question
related to the first variable; receiving from a first user a first
value of user input in response to the question; presenting to the
first user, by the computer system, with a first stationery product
layout including the first variable and the additional
predetermined text to allow the first user to create a first
stationery product; receiving from a second user a second value of
user input in response to the question; and presenting to the
second user, by the computer system, with a second stationery
product layout without the first variable and the additional
predetermined text to allow the second user to create a second
stationery product.
18. The computer-implemented method of claim 17, wherein the
stationery product is for a baby's birth announcement, a wedding
invitation, or a birthday party invitation.
19. The computer-implemented method of claim 17, wherein the first
variable comprise a date, and wherein the formatting options for
the date comprises a formal format and a casual format.
20. The computer-implemented method of claim 17, wherein the first
stationery product layout and the second stationery product layout
are displayed at a web user interface.
Description
PRIORITY PATENT APPLICATIONS
[0001] The present patent application is a continuation application
of and claims priority to commonly assigned pending U.S. patent
application Ser. No. 11/188,721, entitled "System and method for
designing and generating online stationery", filed Aug. 18, 2008 by
the same inventors, the disclosure of which is incorporated herein
by reference.
FIELD OF THE INVENTION
[0002] This invention relates generally to the field of data
processing systems. More particularly, the invention relates to an
improved architecture and method for designing and generating
online stationery.
BACKGROUND OF THE INVENTION
[0003] Web-based systems for designing stationery such as wedding
invitations, birth announcements, birthday party invitations, etc,
are currently available over the Internet. As illustrated in FIG.
1, in current Web-based systems, a template designer 110 creates a
static design template 120 for each type of stationery. The static
design template 120 includes a plurality of text box regions 121,
122, 124 representing locations where text is to be displayed and
potentially one or more image regions 124 representation locations
where images uploaded by the user are to be displayed.
[0004] The static design template 120 is personalized via a
Web-based user interface 130 made accessible to end users 111 over
the Internet. The Web-based interface typically takes the form of a
Web page which is downloaded to a client computer of the end user
111. The Web page includes a plurality of text entry fields 131,
132, 134 which correspond to the text box regions 121, 122, 124
within the design template, respectively. The Web page may also
include one or more image entry fields 133 corresponding to the
image regions 123 of the static design template 120. Images may be
uploaded to the image entry field 133 and positioned within the
image region 123 of the design template 120.
[0005] One problem with the current Web-based systems from a design
perspective is that they lack flexibility. For example, a new
static design template must be created in order to provide each new
type of stationery (e.g., a new birth announcement, wedding
invitation, etc). Moreover, from the user's perspective, current
approaches do not provide guidance on appropriate text to enter
into the text entry fields or how the text should be formatted. In
addition, it is difficult to store the text entered by the user in
one design and apply it to another design because the layout of the
text and formatting in terms of font, color and size are
different.
[0006] Accordingly, what is needed is an improved system for
designing and generating online stationery.
BRIEF DESCRIPTION OF THE DRAWINGS
[0007] A better understanding of the present invention can be
obtained from the following detailed description in conjunction
with the following drawings, in which:
[0008] FIG. 1 illustrates a prior art system architecture for
generating online stationary.
[0009] FIG. 2 illustrates a system architecture according to one
embodiment of the invention.
[0010] FIG. 3 illustrates a process according to one embodiment of
the invention.
[0011] FIG. 4 illustrates one embodiment of the invention which
supports template variable types including format options.
[0012] FIG. 5 illustrates one embodiment of the invention which
supports variables.
[0013] FIGS. 6a-b illustrate a portion of an etiquette wizard
employed in one embodiment of the invention.
[0014] FIGS. 7a-c illustrate another portion of a global template
wizard employed in one embodiment of the invention.
[0015] FIGS. 8a-d illustrate a product template wizard according to
one embodiment of the invention.
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
[0016] Described below is a system and method for designing and
presenting online stationery. Throughout the description, for the
purposes of explanation, numerous specific details are set forth in
order to provide a thorough understanding of the present invention.
It will be apparent, however, to one skilled in the art that the
present invention may be practiced without some of these specific
details. In other instances, well-known structures and devices are
shown in block diagram form to avoid obscuring the underlying
principles of the present invention.
An Exemplary Network Architecture
[0017] One embodiment of a system for generating stationery is
illustrated in FIG. 2. The system provides support for two types of
designers: stationery designers 201 who create new forms of
stationery (e.g., new birth announcements, wedding invitations,
etc), and online template designers 202 who create online templates
using the designs provided by the stationery designers. The system
includes a series of wizards 240, 245, 250, 255 to allow template
designers 202 to efficiently design new product templates 220. In
one embodiment, the wizards comprise software executed by a general
purpose or special purpose processor. However, the underlying
principles of the invention are not limited to a software
implementation.
[0018] Each product template 220 embodies a unique stationery
design such as a particular birth announcement or wedding
invitation. Once completed, the product template 220 is stored
within a product template database 225 and made accessible to end
users 261 via a Web-based user data entry wizard 260. In one
embodiment of the invention, the user data entry wizard 260
comprises a series of interrelated Web pages transmitted in
succession to end users over the Internet. It should be noted,
however, that the underlying principles of the invention are not
limited to an Internet-based or Web-based implementation. After all
of the required information has been collected from a user 261, a
final, personalized design 266 containing the user-specific
information is generated and sent to a printer or a printing
partner over the Internet.
[0019] In one embodiment of the invention, a stationery designer
201 creates new stationery designs using an application such as
Adobe.RTM. Illustrator.RTM. and uploads a file 210 containing the
design to the online stationery service 200. In the example shown
in FIG. 2, an Adobe Illustrator (AI) file 210 is used. It should be
noted, however, that the underlying principles of the invention are
not limited to any particular design format. A metadata extractor
215 executed on the online stationery service 200 extracts metadata
216 describing the new design in a non-proprietary, open format
such as an Extensible Markup Language (XML) format. The metadata
contains attributes for groups of text and graphics such as font,
font size, leading, and coordinates. Metadata import logic 217 then
parses the XML file, extracts the metadata and imports the metadata
into the product template 220 (described in greater detail
below).
[0020] FIG. 2 illustrates four different types of wizards employed
in one embodiment of the invention: a variable type wizard 255 for
creating new variable types 235, a variable template wizard 250 for
creating new variables 230, a global template wizard 245 for
creating global design templates 225, and a product template wizard
240 for creating product templates 220.
[0021] According to the embodiments of the invention described
herein, the variable type wizard 255 allows template designers to
create new variable types. The new variable types may then be
stored and used in subsequent template designs. As illustrated in
FIG. 4, in one embodiment, a plurality of format options 402 are
specified for each variable type 400. For example, 14 different
format options are specified for the variable type DATE including
formal options (e.g., FORMALDAY), and casual options (e.g.,
CASUALDAY). Examples of how the date will be displayed on the
stationery are provided for each format option. The format options
may include the manner in which the text information is conveyed
(e.g., "Wednesday, the fourteenth of February" for FORMALDAY) as
well as text formatting options such as font type, font size and
text highlighting (e.g., bold, italics, underline).
[0022] Once variable types and associated format options have been
created, the variable template wizard 250 allows the template
designer 202 to define variables for each new template. Each
variable is assigned a particular variable type. Returning to the
previous example, to include a "date" field within a design
template, the template designer would create a variable of the
variable type DATE and might also specify the particular format
options to be used (e.g., FORMALDAY). The design process is
streamlined in this manner because the format options are provided
automatically upon selection of the variable type DATE. That is,
the designer does not need to recreate the format options for the
date because they are inherent in the DATE variable type.
[0023] One embodiment of the variable template wizard 250,
illustrated in FIG. 5, provides a field 500 for entering a new
variable name ("baby's name"), a variable code 501 ("_BABYNAME_"),
and a drop down menu 502 for linking the new variable to a
particular variable type. In one embodiment, the drop down menu 502
provides a list of all variable types previously created and stored
on the online stationery service 200. In the particular example
illustrated in FIG. 5, the NAME variable type has been selected,
and a plurality of format options 503 associated with the NAME
variable type are displayed for the designer. In this case, the
format options include those for names which are frequently used in
stationery designs including First Name, Middle Name, Last Name,
and First, Middle and Last initials.
[0024] Once variable types and variables have been defined, the
global template wizard 245 is used for designing new global
templates 225 and the product template wizard 240 is used for
designing new product templates 220. Each product template 220 is
unique, representing a completed stationery design offered to
users. By contrast, each global template 225 may be reused in
multiple different product templates. By way of example, a global
template for a birth announcement contains the information
typically required for any birth announcement (e.g., name, birth
date, etc) and the product template contains information specific
to a particular stationery design (e.g., image position, specific
text location and formatting, etc).
[0025] FIGS. 6a-b and 7a-c illustrate different components of an
exemplary global template wizard for a birth announcement which
includes information about siblings (named "Birth Announcement:
siblings"). As illustrated in FIG. 6a (which shows the "Edit
Etiquette Wizard") the template designer creates a series of steps
600 to collect information from the end user. The first step (1)
includes a series of variable names 601 which will are ultimately
mapped to data entry fields within the Web-based user data entry
wizard 260. As mentioned above, each variable is assigned a
specific variable type. For example, the variable "baby's name" is
designated type NAME; "birth date" is designated type DATE; "birth
time" is designated type TIME; "weight" is designated type WEIGHT;
"length" is designated type LENGTH; and "parents/announcers" names
is designated type NAME. As mentioned above, each variable type may
specify a plurality of different formatting options such as text
layout and appearance.
[0026] The second step includes a question: "Do you want to include
the baby's siblings?" 603 followed by a series of possible answers
604. In response to one of the answers ("No"), no additional data
entry is required. However, several of the answers correspond to
new variables, as defined in steps 3 and 4 (see FIG. 6b). For
example, step 3 specifies that the variable "sibling name" is type
NAME and step 4 specifies three variables for multiple sibling
names: "first sibling name," "sibling name 2" and "sibling name 3,"
each of which are type NAME.
[0027] Also shown in FIG. 6b is an option to add a new step to the
global template 606, an option to add a new variable 607, an option
to add a new question 608, and an option to add a new answer 609.
As illustrated, the template designer may specify the order in
which the new steps and answers will appear within the Web-based
user data entry wizard 260 and may designate variables and
questions as either "required" (i.e., the user must enter a value)
or "optional." If a variable or question within a global template
225 is optional, then the user may proceed to the next step with or
without entering a value. As illustrated in FIGS. 6a-b, check boxes
are provided for each variable and question to indicate whether the
variable/question is required or optional. Options are also
provided to delete or edit existing questions or variables and to
move the question or variable up or down within a step.
[0028] FIGS. 7a-c illustrate a second component of the global
template wizard which performs conditional operations on the data
entered by the user via the Etiquette Wizard (FIGS. 6a-b). After
specifying a name and occasion for the global card template, a drop
down menu 701 is provided to specify the Etiquette Wizard to be
used for the global card template. In this case, the "Birth
Announcement: siblings" template illustrated in FIGS. 6a-b has been
selected. Consequently, the variables 702 from the global template
are imported into the global template along with corresponding
codes 703, formatting options 704 (i.e., as specified by the
designated variable type) and an indication as to whether the
variable is required or optional 705.
[0029] As illustrated in FIG. 7b, questions and answers are also
imported from the etiquette wizard into the global card template.
In region 706, the variable identified by the code
_NUMSIBLINGS.sub.-- is set based on answers provided by the end
user. For example, if the answer to the question "Do you want to
include the baby's siblings?" is "Yes, one big brother," then the
variable _NUMSIBLINGS.sub.-- is set to the answer. In region 707,
the text to be displayed in response to the answer is defined. For
example, in response to the answer "Yes, one big brother" the code
value _C1.sub.-- is set to "_SIBLING.sub.-- has a new baby brother"
where _C1.sub.-- is a string displayed within the template design
and _SIBLING.sub.-- is the name of the new baby's brother. As shown
in FIG. 7c, the product template wizard provides a "design
elements" section comprised of fields in which codes specified in
FIG. 7b are specified. In this case, the code "_C1_" results in the
text "_SIBLING.sub.-- has a new baby brother" displayed on the
final design template (where _SIBLING.sub.-- is the name of the
baby's sibling).
[0030] Additional variables C2, C3 and C4 are set as shown within
regions 708, 709 and 710, respectively, in FIG. 7b. The variable C2
is set to "at _BIRTHTIME_" where "_BIRTHTIME_" is the time of birth
entered by the end user and variables C3 and C4 are used if more
than one sibling name is required.
[0031] As shown in FIG. 7c, the end result is _C1.sub.--
("_SIBLING.sub.-- has a new baby brother" in the illustrated
example) followed by the baby's name (_BABYNAME_) as indicated at
712; the birth date followed by the birth time
(_BIRTHDATE.sub.----C2_); the baby's weight (_WEIGHT_); length
(_LENGTH_) and a message "with love _PARENTS_" where "_PARENTS_"
represents a variable set to the names of the parents. Options are
also provided to add a new conditional variable (714) or a new
design element (715).
[0032] Returning to FIG. 2, in one embodiment of the invention, the
product template wizard combines the metadata 216 extracted from
the AI file 210 by metadata import logic 217 with the data entered
by the online template designer 202 to create a new product
template. The metadata 216 extracted from the AI file 210 comprises
layout information describing where text and graphical elements
should be positioned within the product template 220 (i.e.,
coordinate data), and data describing each text box and graphical
element within the AI file. Returning to the above example, the
metadata 216 provides coordinates for the location of the phrase
"_SIBLING.sub.-- has a new baby brother" in the final product
template 220. Similarly, the metadata 216 specifies the coordinates
for any photographs used in the product template 220 and/or
formatting information such as font, color and alignment of the
text and graphics.
[0033] An exemplary product template wizard 240 is illustrated in
FIGS. 8a-d. The template designer 202 specifies a global template
to be used for the product template via a drop down menu 800. In
this case, a global template for a girl birth announcement with
siblings has been selected. A listing of all of the variables used
in the product template is provided directly beneath the drop down
menu. Separate columns are provided for the variable names 801,
variable codes 802, format options 803, and an indication as to
whether the variables are required 804.
[0034] As illustrated in FIG. 8b, questions and answers are also
imported from the etiquette wizard into the product template. In
region 806, the variable identified by the code _NUMSIBLINGS.sub.--
is set and the text to be displayed in response to user input is
defined. For example, in response to the answer "Yes, one big
brother" the code value _C1.sub.-- is set to "_SIBLING.sub.-- has a
new baby sister" where _C1.sub.-- is a string displayed within the
template design and _SIBLING.sub.-- is the name of the new baby's
brother. Other codes illustrated in FIG. 8b include _C2.sub.-- for
two siblings, _C3.sub.-- for three siblings, and _C4.sub.-- for
birth time.
[0035] As shown in FIG. 8c, the product template wizard provides a
"design elements" section 809 comprised of fields in which the
codes evaluated in FIG. 8b are displayed. In this case, the code
"_C1_" 810 results in the text "_SIBLING.sub.-- has a new baby
sister" displayed on the final product template (where
_SIBLING.sub.-- is the name of the baby's sibling). Additional
codes and text integrated within design elements in FIG. 8c include
the baby's name 811, birth date, weight, length 812, the text
"proud parents" 813 and a code (_PARENTS_) for the parents names
814.
[0036] Each individual design element 810-814 includes information
imported from the AI file 210 to define the positioning and look
& feel of the product template. In the example shown in FIG.
8c, the information for each design element includes the
coordinates of the text box in which the text of the design element
should be positioned (as defined by left, top, right and bottom
values), the font, the color, the size, the leading, tracking
number, stroke, alignment information (e.g., left, right,
justified), vertical alignment (e.g., top, bottom, center), and the
angle at which the design element should be positioned. Using the
product template wizard shown in FIG. 8c, the template designer
adjusts any of the variables and/or text for each design element.
Moreover, although not illustrated in FIG. 8c, separate design
elements for images may be provided within the product
template.
[0037] As illustrated in FIG. 8d, a design region 812 is provided
to allow the template designer to specify one or more additional
design elements. As shown, separate data entry fields are provided
for each of the coordinate, text and other layout information
described above (e.g., coordinates, fonts, text, color, etc). Once
the information is input into the system, the template designer
selects a "save" button to update the product template.
[0038] After the product template 220 is created, the Web-based
user data entry wizard 260 requests the information needed to
complete the personalized stationery design 266. In one embodiment,
the Web-based user data entry wizard 260 transmits one or more Web
pages containing questions and data entry fields, as specified by
the product template (e.g., "Do you want to include the baby's
siblings" as shown in FIG. 7b). An exemplary series of Web pages
are illustrated in FIGS. 9a-d. FIG. 9a illustrates a plurality of
data entry fields 901-906 into which the user enters information
specified by the product template (e.g., baby's name 901, birth
date 902, birth time 903, weight 904, length 905, and parents'
names 906). FIG. 9b illustrates a question 907 ("Do you want to
include the baby's siblings?"). As mentioned above, the product
template performs a conditional analysis of the answer to the
question to generate the personalized template design. Based on the
answer to the question, another one or more data entry fields 908
may be provided as illustrated in FIG. 9c (in this case, the names
of the siblings). FIG. 9d illustrates a preview of the personalized
product template with text entered by the user inserted into the
text areas with font, color, size and format as specified by the
product template, and a region 909 into which the user may add a
photo. After the user enters the requested information, a
personalized stationery design 266 is generated and transmitted to
a printer or a printing partner over the network. In one
embodiment, the personalized design 266 is generated in the form of
a PDF file. It should be noted, however, that the underlying
principles of the invention are not limited to any particular
personalized design format.
[0039] A method outlining the foregoing process is illustrated in
FIG. 3. At 301 the template designer defines variable types
including formatting options and at 302 the template designer
specifies variables to be used for the template. At 303, the
template designer creates the global template for the product
category (e.g., boy birth announcement). At 304, the template
designer creates the product template using information contained
in the global template and the metadata extracted from the AI file
(or other file type). At 305 the product template is published
online. For example, an image of the stationery containing the
design may be displayed on a Website and made accessible to end
users. At 306, the user enters the data required to personalize the
stationery such as names, dates, locations, and pictures. At 307, a
personalized design is created with the user data and, at 308, the
personalized design is sent to a printer and/or printing partner
over a network.
[0040] Embodiments of the invention may include various steps as
set forth above. The steps may be embodied in machine-executable
instructions which cause a general-purpose or special-purpose
processor to perform certain steps. Alternatively, these steps may
be performed by specific hardware components that contain hardwired
logic for performing the steps, or by any combination of programmed
computer components and custom hardware components.
[0041] Elements of the present invention may also be provided as a
machine-readable medium for storing the machine-executable
instructions. The machine-readable medium may include, but is not
limited to, floppy diskettes, optical disks, CD-ROMs, and
magneto-optical disks, ROMs, RAMs, EPROMs, EEPROMs, magnetic or
optical cards, propagation media or other type of
media/machine-readable medium suitable for storing electronic
instructions. For example, the present invention may be downloaded
as a computer program which may be transferred from a remote
computer (e.g., a server) to a requesting computer (e.g., a client)
by way of data signals embodied in a carrier wave or other
propagation medium via a communication link (e.g., a modem or
network connection).
[0042] Throughout the foregoing description, for the purposes of
explanation, numerous specific details were set forth in order to
provide a thorough understanding of the invention. It will be
apparent, however, to one skilled in the art that the invention may
be practiced without some of these specific details. For example,
it will be readily apparent to those of skill in the art that the
functional modules such as wizards and other logic may be
implemented as software, hardware or any combination thereof.
Accordingly, the scope and spirit of the invention should be judged
in terms of the claims which follow.
* * * * *