GRAPHICAL USER INTERFACE, SYSTEM AND METHOD FOR MANAGING CONTACTS WITHIN AN ONLINE STATIONERY SYSTEM
A graphical user interface, system and method are described for managing a contacts database within an online stationery service. A presentation logic receives contacts to whom personalized stationery will be mailed and generates a graphical user interface comprising: a first region for displaying the contacts received from the stationery service contacts manager, the contacts within the contacts selectable via a user input device, a second region comprising a series of data field for entering a new contact via a user input device, and a third region displaying the contacts to whom the online stationery service will mail stationery directly on behalf of the user, the contacts within the third region selected from the first region or entered in the second region. A print module generates a print job to print the personalized stationery and envelopes containing the address information for the user-selected contacts.
This application is a continuation application and claims priority to co-pending U.S. patent application Ser. No. 12/638,844, filed Dec. 15, 2009, titled “Graphical user interface, system and method for managing contacts within an online stationery system” filed by the same inventors, the disclosure of which is incorporated herein by reference.
BACKGROUND1. Field of the Invention
This invention relates generally to the field of network data processing systems. More particularly, the invention relates to an improved graphical user interface, architecture and method for managing contacts within an online stationery system.
2. Description of the Related Art
Web-based systems for designing stationery such as wedding invitations, birth announcements, thank you cards, birthday party invitations, etc, are currently available over the Internet. These services allow a user to enter a personalized message on a stationery template via a Web browser. The service then prints the stationery with the personalized message and mails the printed stationery and envelopes to the end user. The end user then mails the stationery to one or more recipients.
Some online stationery services will also mail stationery directly to recipients on behalf of the end user. In order to do so, the user must provide the stationery service with the names and addresses of the recipients.
Consequently, what is needed is an improved graphical user interface system and method for importing and managing contacts within an online stationery service.
SUMMARYA graphical user interface, system and method are described for managing a contacts database within an online stationery service. For example, one embodiment of the invention comprises a system implemented within an online stationery service, the system comprising at least one memory for storing program code and at least one processor for processing the program code to execute: a stationery service contacts manager to manage a set of contacts data within a stationery service contacts database in response to user input; a stationery personalization engine providing an end user with a set of selectable stationery templates, the stationery personalization engine receiving an indication that an end user has selected a particular one of the stationery templates, and generating personalized stationery with the selected template based on user input; presentation logic for generating a graphical user interface (GUI), the presentation logic communicatively coupled to the stationery service contacts manager to receive a listing of contacts from the stationery service contacts manager to whom the personalized stationery will be mailed, the graphical user interface comprising: a first region for displaying the listing of contacts received from the stationery service contacts manager, the contacts within the listing of contacts selectable via a user input device; a second region comprising a series of data field for entering a new contact via a user input device; a third region displaying a list of contacts to whom the online stationery service will mail stationery directly on behalf of the end user, the contacts within the third region selected from the first region or entered in the second region; and a print module to generate a print job to print the personalized stationery and envelopes containing the address information for the user-selected contacts.
A better understanding of the present invention can be obtained from the following detailed description in conjunction with the following drawings, in which:
Described below is a system and method for importing and managing contacts in an online stationery system. 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.
It should be noted that the term “stationery” is used herein to refer to cards, invitations (e.g., wedding, birthday invitations, etc), and any other form of written communication and/or images printed on a medium (e.g., paper, fabric, etc) using any form of printing device.
At 301, a contacts import module 209 manages the importation of contacts from various local and/or online contact database identified by the end user. In the illustrated embodiment, the contacts import module 209 comprises a format conversion module 204 and a conflict detection and resolution module 205. As shown in
At 304, a conflict detection and resolution module 205 merges the local and/or online contacts with existing contacts 211 already stored on the online stationery service 200 and detects any conflicts which may result from the merge operation. A conflict may result if one or more contacts being imported are already stored within the existing contacts database 211. In such a case, the conflict detection and resolution module 205 resolves the conflicts at 305 using a set of conflict resolution rules (described below). Once all conflicts have been resolved, the data is persisted within the contacts database 210 and made accessible to end users via the stationery service contacts manager 212. In one embodiment, the contacts database 210 is implemented using mySQL. However, various different database formats may be employed while still complying with the underlying principles of the invention (e.g., Microsoft SQL, IBM SQL, etc).
At 307, the user identifies one or more “households” within the stationery service contacts database 210. As described below, households are specialized groups of contacts who live at the same address. The concept of a “household” is a particularly useful abstraction for an online stationery service 200 which mails stationery on behalf of a user.
As illustrated in
Returning to the method of
At 308, the end user creates a default message to be used for a stationery mailing and, at 309, the contacts and/or households for the mailing are identified by the end user. If the user wishes to include a personalized message in lieu of the default message for one or more contacts/households, determined at 310, then the user selects a contact/household at 311 and enters the personalized message for the contact/household at 312. If any additional personalized messages are to be included, determined at 313, then steps 311 and 312 are repeated until all personalized messages have been entered.
At 314, all of the information related to the stationery order, including the selected stationery design, default messages, personalized messages and associated contacts and households are formatted for printing by a print module 250 which generates a print job 255. The formatting may include converting the stationery data mentioned above into a format usable by a particular printer. By way of example, a letter press printer may require different formatting than a digital press printer. In one embodiment, the specifications for the print job are encapsulated as metadata in an Extensible Markup Language (“XML”) document and transmitted to an external print service 252. In one embodiment, the XML document includes a hyperlink (e.g., a URL) to the formatted print job 255 on the online stationery service 200. The print service 252 then accesses the print job by selecting the hyperlink. Regardless of how the print job is accessed, at 315, the formatted print job 255 is transmitted to either an internal printer 251 or an external print service 252 (e.g., over the Internet). Once printing is complete, the online stationery service 200 or the print service 252 mails the stationery to the contacts and/or households identified by the end user.
Having provided an overview of the method set forth in
In one embodiment, the different graphical user interface (GUI) features described herein are generated by presentation and session management logic 206 executed on the online stationery service. In one embodiment, various well known functional modules associated within the presentation and session management logic 206 are executed to receive input, process the input, interact with one or more other modules shown in
Turning now to
In one embodiment, when importing online address books such as those available from Facebook, Gmail and Yahoo!, the user is asked to provide authentication data such as a user name and a password. The online stationery service 200 then uses the authentication data to log in to the online service and retrieve the contacts list on behalf of the user.
Check-boxes 511 and 512 are also provided to import group names with the contacts and to add the imported contacts to a specific group within the user's existing address book 211. The specific group is identified via a drop-down menu containing a list of available groups. Once the set of contacts are selected within region 510 the user imports the contacts by selecting an import button 515.
As mentioned above, a conflict detection and resolution module 205 identifies existing contacts 211 which match contacts being imported from the various sources 201-203 and attempts to resolve any conflicts which may exist between the data. In one embodiment, each conflict is identified to the end user and the user is prompted to specify how to resolve the conflict. For example,
As shown in
In one embodiment, the user is given the option to select the existing version 701, the imported version 702 or the merged version 703 using a mouse, keyboard, and/or other cursor control device. A checkbox option 720 is also provided to allow the user to apply the choice to all remaining contacts to be reviewed. If the checkbox 720 is not selected, the user will review and select each conflict individually.
Multiple contacts and/or households may be highlighted in region 811 (e.g., by holding CTRL and selecting with a mouse) and processed by selecting options in region 812. For example, a drop-down menu of available groups 823 allows the user to associate the highlighted contacts with a group. An export button 821 allows the user to export the contacts to a file (e.g., a CSV or vCard file). A “merge into household” button 820, when selected, allows the end user to create a new household comprised of the selected contacts. Upon selection of this button, the end user is presented with a field for entering a new household name. As illustrated in
As illustrated in
As illustrated in
Returning to
In addition, a “send card” link 1302, 1304 is provided for each address in the contact details window which initiates the process of selecting, designing and mailing stationery for the contacts associated with the address (e.g., as described above with respect to the “send card” button in region 812 of
In addition, a “reminder” region 1315 is provided within the contact details window to provide reminders of upcoming dates such as birthdays and anniversaries for contacts within the user's contacts list. The layout within the region comprises an indicator of the type of reminder (e.g., birthday), followed by the date of the reminder, followed by a brief description (e.g., 40 years old in 6 months). In one embodiment, certain contact data such as birthdays and anniversaries are identified by the stationery service contacts manager 212 as reminders. In addition, links are provided 1305,1307 to configure automated reminders for the end user. For example, in one embodiment, upon setting a reminder for a particular event, the stationery service contacts manager 212 will transmit an email, instant message, or SMS message to remind the end user of the event and/or will update the user's calendar with the event. Various other types of reminders may be employed while still complying with the underlying principles of the invention. In addition, for each reminder, a “send card” link 1302, 1304 is provided to initiate the process described above to design and mail stationery to the contact associated with the reminder.
In addition, a purchase history region 1320 is provided within the contact details window to display the recent purchase history of the end user. As illustrated, entries within the purchase history include images of the stationery designs 1309 and 1310 recently purchased by the end user, along with an indication of the stationery type and message, and the date that the stationery was purchased.
In addition to using the address validation techniques described above, one embodiment of the invention confirms current mailing addresses by transmitting email messages to contacts. As illustrated in
A GUI for selecting multiple contacts is illustrated at 1503. In this embodiment, contacts to receive the email request are selected via check-boxes. In one embodiment, certain contacts who have specifically asked not to receive requests and/or for whom the user does not have an email address are grayed out (thereby preventing selection via a checkbox). User selection of a “send request(s)” button from 1503 or a “send request” button within window 1501 will cause the confirmation request email to be sent to the selected contacts.
Both window 1501 (for a single request) and 1503 (for multiple requests) include a “view sample email” link to display a sample request email. The sample request email may be displayed in a new window, a new DHTML layer, or as an in-line DIV (division).
In addition to providing reminders within the address book window shown in
As mentioned above, in one embodiment of the invention, the online stationery service 200 will mail stationery to selected contacts on behalf of the end user.
Thus, within the GUI shown in
As mentioned above, one embodiment of the invention allows the end user to specify a default message and/or to enter personalized messages for each contact.
A method for selecting stationery purchase options according to one embodiment of the invention is illustrated in
At 2101, after selecting a set of recipients from the user's address book and selecting a personalized and/or default message for each recipient, a user selects stationery delivery options. In one embodiment, the options include “mail all for me” 2102 indicating that the stationery service will be responsible for printing and mailing the stationery order directly to recipients; “ship all to me” 2103 indicating that the stationery service will print and ship the order directly to the end user; and “ship some for me and mail some for me” 2104 indicating that the stationery service will be responsible for printing and mailing a portion of the stationery order directly to recipients and will ship the remainder of the order to the end user.
At 2105, the user indicates to the stationery service whether return addresses are to be printed on envelopes. At 2106, the user indicates whether mailing labels are to be used. At 2107, the stationery service identifies the recipient and user addresses from its database and, at 2108, generates a print job to print the stationery and envelopes containing the addresses according to the user's specified preferences (e.g., using mailing labels, return addresses, etc). The stationery order (stationery and envelopes) is then printed.
At 2110, if the user selected “mail all to me” 2102, then the stationery service mails the stationery directly to the recipients. At 2111, if the user selected “ship all to me” then the stationery service ships the stationery order directly to the end user. At 2112, if the user selected “ship some to me and mail some for me” then the stationery service mails some of the stationery order to recipients on behalf of the user and ships the remainder of the stationery order to the end user.
In one embodiment, the stationery order is generated and sent to a printing service as described in the co-pending US patent application entitled S
Throughout the discussion above, various details have been omitted to avoid obscuring the pertinent aspects of the invention. For example, in an embodiment of the invention in which the user connects to the online stationery service 200 via a Web browser, various well known functional modules associated within the presentation and session management logic 206 shown in
In one embodiment, the Web server used to implement the embodiments of the invention is a Ngnix, Apache web server running on Linux with software programmed in PHP using a MySQL database.
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.
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).
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.
Claims
1. A network-based computer system for providing an online stationery service:
- a stationery service contacts database configured to store contacts data associated with one or more users;
- a stationery personalization engine configured to provide a user with a set of selectable stationery templates, to receive a selection from the user of a particular one of the stationery templates, and to generate personalized stationery based on the particular one of the stationery templates;
- one or more computer servers in communication with the stationery service contacts database and configured to enable display of a graphical user interface (GUI) on a user device, wherein the one or more computer servers are configured to display on the user device: a first region comprising a list of contacts from the stationery service contacts database, wherein the list of contacts are selectable by the user; a second region comprising a series of data fields for entering a new contact via the user device; a third region comprising a list of contacts to whom the online stationery service is to mail stationery directly on behalf of the user, the contacts within the third region selected from the first region or entered in the second region; and a fourth region comprising a list of contacts for whom the online stationery service is to print and mail stationery for the user, the contacts within the fourth region selected from the first region or entered in the second region; and
- a print module configured to generate a print job to print the personalized stationery and envelopes containing the address information for the user-selected contacts.
2. The network-based computer system of claim 1, wherein the GUI comprises a Web page rendered within a browser on the user device.
3. The network-based computer system of claim 1, wherein the one or more computer servers are configured to further display on the user device:
- a first tab visually coupled to the first region; and
- a second tab visually coupled to the second region,
- wherein the first region is selectable by the user by selecting the first tab and the second region is selectable by the user by selecting the second tab.
4. The network-based computer system of claim 3, wherein the first region and the second region occupy overlapping area within the GUI, and wherein the first region and the second region are alternatively displayed in response to user's selection of the first tab or the second tab.
5. The network-based computer system of claim 1, wherein the one or more computer servers are configured to display on the user device a check box associated with and adjacent to each contact in the contact list in the first region, wherein the user may select a plurality of contacts from the list by selecting the corresponding check boxes.
6. The network-based computer system of claim 1, wherein the third and fourth regions each comprises an “add” graphical element associated with adding users from the contacts list in the first region or a contact entered within the data fields of the second region.
7. The network-based computer system of claim 6, wherein the one or more computer servers are configured to display a “move” graphical element to move a selected contact between the third region and the fourth region.
8. The network-based computer system of claim 1, further comprising:
- a contacts import module configured to import at least a portion of the contacts data from the user device or an online contacts database.
9. The network-based computer system of claim 8, wherein the online contacts database comprises an online email service or a social network.
10. The network-based computer system of claim 8, wherein the contacts import module is configured to resolve conflicts in the portion of the contacts data and other portion of the contacts data stored in the stationery service contacts database.
11. The network-based computer system of claim 8, wherein the contacts import module is configured to merge the portion of the contacts data into the contacts data stored in the stationery service contacts database.
12. A network-based computer system for providing an online stationery service:
- a stationery service contacts database configured to store contacts data associated with one or more users;
- a contacts manager module configured to manage contacts data within a stationery service contacts database in response to user input;
- a stationery personalization engine configured to provide a user with a set of selectable stationery templates, to receive a selection from the user of a particular one of the stationery templates, and to generate personalized stationery based on the particular one of the stationery templates,
- wherein the stationery personalization engine is configured to allow the user to enter a default message to be used on stationery for a first set of contacts and one or more personalized messages to be used on stationery for a second set of contacts;
- a presentation module configured to receive a list of contacts from the contacts manager module to whom the personalized stationery is to be mailed and to display the list of contacts on a graphical user interface (GUI), wherein the presentation module configured to allow the user to select a default message or a personalized message for each contact in the list at the GUI, wherein the GUI further comprises a review list of all contacts selected for a stationery mailing and data entry fields showing a personalized message or a default message for each contact in the review list, wherein the GUI further comprises a personalized signature or a default signature for each contact in the review list, wherein the stationery personalization engine is configured to receive a selection from the user as to whether the stationery is to be mailed directly to the contact or shipped to the user; and
- a print module configured to generate a print job to print the personalized stationery and envelopes containing the address information for the user-selected contacts.
13. The network-based computer system of claim 12, wherein the stationery personalization engine is configured to allow the user to enter the personalized message for the corresponding contact at the GUI.
14. The network-based computer system of claim 12, wherein the stationery personalization engine is configured to allow the user to enter a greeting and to select a first or last name of a contact to be used on the stationery at the GUI.
15. The network-based computer system of claim 14, wherein the GUI further comprises a signature data entry field for entering a signature for the stationery.
16. The network-based computer system of claim 12, wherein the review list includes, for each contact, a set of selectable radio buttons, a first radio button choosing a default message, a second radio button choosing a custom message and a third radio button choosing no message for the stationery to be sent to the selected contact.
17. The network-based computer system of claim 16, wherein the GUI comprises an edit link associated with an adjacent to the default message radio button and the custom message radio button, the edit link generating a GUI for editing either the default message or the custom message.
18. The network-based computer system of claim 12, wherein the presentation module configured to display a preview link in association with each contact in the review list at the GUI, and to generate a preview image of a stationery product to be sent to the associated contact when the preview link is selected by the user.
19. The network-based computer system of claim 12, further comprising:
- a contacts import module configured to import at least a portion of the contacts data from the user device or an online contacts database, wherein the online contacts database comprises an online email service or a social network.
20. The network-based computer system of claim 19, wherein the contacts import module is configured to resolve conflicts in the portion of the contacts data and other portion of the contacts data stored in the stationery service contacts database, wherein the contacts import module is configured to merge the portion of the contacts data into the contacts data stored in the stationery service contacts database.
Type: Application
Filed: Jul 9, 2012
Publication Date: Nov 1, 2012
Inventors: Kelly Berger (Los Altos, CA), Adnan Asar (Sunnyvale, CA), Kevin Chang (Sunnyvale, CA), Krys Taylor (Sunnyvale, CA), Bryan Wu (San Francisco, CA), Dimitre Piskyulev (Santa Clara, CA)
Application Number: 13/544,877
International Classification: G06F 3/01 (20060101); G06F 15/16 (20060101); G06F 17/30 (20060101);