Embodiments of the invention relate to a method and system for printing an image from an arbitrary website
An online print service is one that allows a user to upload images to a server system associated with the online print service, thereby to create a web or online photo album. The online print service may allow a user to invite others to view images in the web photo album. Further, it is possible to order a physical or hardcopy of an image in the web photo album from the online print service, for a fee.
An arbitrary website refers to any website that provides content. An example of an arbitrary website includes weblogs (blogs), or business websites.
In one embodiment the invention provides a method to print an image from an arbitrary website. The method comprises on a server system associated with arbitrary website, generating a link to the image; and sending the link to a client system. Further, the method includes, on a server system associated with an online print service, receiving the link to the image in the form of a request from the client system, retrieving the image from the server system associated with the arbitrary website, making a physical print of the image, and mailing the physical print to a mailing address.
Embodiments of the invention describe a technique whereby a user of a client system may order a physical or hardcopy of an image from an arbitrary website while browsing the content of the arbitrary website, without having to first download the image. The order for the physical copy of the image may be processed by a server system associated with an online print service, such as Shutterfly or Snapfish, which retrieves the image from a server system associated with the arbitrary website.
In one embodiment, a business relationship is established between the respective operators of the online print service and the arbitrary website in terms of which a monetary amount in respect of the image is collected on behalf of the arbitrary website operator by the online print service operator and paid over to the arbitrary website operator.
Advantageously, the techniques described herein do not require the image data for the image to be printed to be stored on the server system associated the online print service, thus reducing the data storage capacity required to operate an online print service. Moreover, allowing the data for the image to be printed to be stored on the server system associated with the arbitrary website has certain benefits. For example, consider the case where the arbitrary website operator is a professional photographer. In this case, by allowing the professional photographer to store his/her image data on a server system that is independent of a server system associated with an online print service, the professional photographer may achieve more control over his/her image data by having more freedom with respect to, for example, a resolution of the images.
Turning now to the drawings,
Referring now to
In one embodiment the binding contract between the operators of the server systems (12) and (14) created as part of the registration procedure (60) may stipulate that the images retrieved from the server system (12) are to be provided at no cost to a user of the client system (16). For this embodiment, the binding contract may stipulate further that the costs associated with printing and mailing the image to a user of the client system (16) are to be passed to the operator of the server system (12). The foregoing is intended to be merely representative of the types of billing arrangements that may be entered into between the operators of the server systems (12), and (14), in accordance with the registration procedure (60). As such, the foregoing is intended to non-limiting.
Part of the registration procedure (60) may include sending an encryption key generated by the encryption/decryption engine (46) to the server system (12). The benefit of sending the encryption key will be apparent from the description below.
Referring now to
Referring to
At block 82, the user of the client system (16) activates the print selector which causes a request to be sent from the client system (16), to the server system (12), the request being for the link to the image.
At block 84, the client (16) receives the link to the image from the server. At block 86, the client system (16) generates a request (print request) using the link received from the server system (12). The request is sent to the server system 14, at block 88.
In another embodiment, the authentication operation performed at block 102 may require the client system (16) to pass an authentication challenge, for example, by supplying username and password information in order to login to the server system (14). In this authentication model, it assumed that the client system (16) has already created a user account with the online print server. In one embodiment, such a user account would include the identity of the user of the client system (16) as well as details relating to a payment mechanism. For example, one or more credit cards associated with the user of the client system (16) may be included as part of the user account in order to enable the print server (14) to bill the user for printing the image in the case of those embodiments in which the cost of printing is passed to the user.
At block 104, if the authentication fails then control is passed to block 106 where the registration engine (42) performs a registration operation to create a new user account. As alluded to above, the creation of the new user account captures personal information of the user such as the user's name, mailing address to which the physical image is to be sent, and financial data to enable payment for the physical image. In one embodiment in order to facilitate a response to the authentication challenge referred to above, the client system (12) retrieves a cookie from the client cookie store (22) and transmits the cookie to the server system (14). In this embodiment, the content cookie includes sufficient authentication data to authenticate the client system (12) to the server system (14).
If at block 104 the authentication operation succeeds then control is passed to block 110. At block 110 the link to the image is decrypted, provided that it was encrypted in the first instance. The operations performed at block 110 are performed by the encryption/decryption engine (46). It will be appreciated that block 110 is optional and may be actually performed as a part of the authentication operation of block 102. At block 112, the user account is charged for the printing and mailing of the physical print of the image. The operation at block 112 is only applicable or performed in the case where the binding contract between the operators of the server systems (12) and (14) created during registration procedures (60) (see
At block 116, via the mechanism of the print engine (50), the server system (14) retrieves the image from the server system (12). At block 118, a physical print of the image is made, and at block 120 the physical print of the image is mailed to the mailing address stipulated in the user account associated with the user of the client system (16).
Referring to
The hardware (120) also typically receives a number of inputs and outputs for communicating information externally. For interface with a user or operator, the hardware (120) may include one or more user input devices (126) (e.g., a keyboard, a mouse, etc.) and a display (128) (e.g., a Cathode Ray Tube (CRT) monitor, a Liquid Crystal Display (LCD) panel).
For additional storage, the hardware (120) may also include one or more mass storage devices (130), e.g., a floppy or other removable disk drive, a hard disk drive, a Direct Access Storage Device (DASD), an optical drive (e.g. a Compact Disk (CD) drive, a Digital Versatile Disk (DVD) drive, etc.) and/or a tape drive, among others. Furthermore, the hardware (120) may include an interface with one or more networks (132) (e.g., a local area network (LAN), a wide area network (WAN), a wireless network, and/or the Internet among others) to permit the communication of information with other computers coupled to the networks. It should be appreciated that the hardware (120) typically includes suitable analog and/or digital interfaces between the processor (122) and each of the components (124), (126), (128) and (132) as is well known in the art.
The hardware (120) operates under the control of an operating system (134), and executes various computer software applications, components, programs, objects, modules, etc. (e.g. a program or module which performs operations described above) to perform other operations described with reference to
In general, the routines executed to implement the embodiments of the invention, may be implemented as part of an operating system or a specific application, component, program, object, module or sequence of instructions referred to as “computer programs,”. The computer programs typically comprise one or more instructions set at various times in various memory and storage devices in a computer, and that, when read and executed by one or more processors in a computer, cause the computer to perform operations necessary to execute elements involving the various aspects of the invention. Moreover, while the invention has been described in the context of fully functioning computers and computer systems, those skilled in the art will appreciate that the various embodiments of the invention are capable of being distributed as a program product in a variety of forms, and that the invention applies equally regardless of the particular type of machine or computer-readable media used to actually effect the distribution. Examples of computer-readable media include but are not limited to recordable type media such as volatile and non-volatile memory devices, floppy and other removable disks, hard disk drives, optical disks (e.g., Compact Disk Read-Only Memory (CD ROMS), Digital Versatile Disks, (DVDs), etc.), among others, and transmission type media such as digital and analog communication links.
One advantage of the techniques described above is that they facilitate the printing of images from any arbitrary website. For example a user may maintain a personal website or blog and may upload images, say of his/her newborn baby, to that website with the intent to share those images with close friends and family. Using the techniques described above, once the images have been uploaded to the website, the user, in one embodiment, is prompted to indicate whether any of the images are “printable,”. If the user indicates that a particular image is printable, then a print icon or button is generated for that image when the image is rendered on a browser of a viewing client system. In accordance with a registration procedure completed with a server of an online print service, the user may indicate that the images of his/her newborn baby are to be printed at no cost to a selected group of users (friends/family). Servers associated with the user's personal website would then invite or transmit a link to the invited users, which link when activated will enable the invited users to view the images and any of the associated print buttons/icons. In accordance with the above described technique, an invited user (friend/family member) can activate the print button/icon to cause an online print service to print and deliver the image associated with the print button/icon. In the above example, the invited users are not burdened with the cost of having to print any image. However, in the use case of, say a professional photographer, when the professional photographer uploads an image to his/her personal website and indicates that that particular image is “printable”, the photographer will be given the option to specify the amount that is to be collected when the photograph is printed. In this case, when the image is printed, servers of the online print service collect the specified amount and cause same to be paid over to the professional photographer.
Although the present invention has been described with reference to specific exemplary embodiments, it will be evident that the various modification and changes can be made to these embodiments without departing from the broader spirit of the invention as set forth in the claims. Accordingly, the specification and drawings are to be regarded in an illustrative sense rather than in a restrictive sense.