Abstract:
Automating a product offering presented in a consumer kiosk application for creating and order consumer photo-related products. An automated product offering system determines in real-time or near real-time the availability of products to be offered to the consumer and adjusts the display on the kiosk GUI to guide the user to select products that are currently available. The product availability may be specific to a location and a retailer hosting the consumer kiosk application. The kiosk GUI display is adjusted in accordance with product advertising and promotional campaigns to guide the user to generate orders for products that offer the best value to the consumer while helping retailers and kiosk operators succeed with advertising campaigns.

Description:
CROSS REFERENCE TO RELATED APPLICATIONS 
       [0001]    This application claims the benefit of the earlier filing date of U.S. Provisional Application No. 62/006,793, filed Jun. 2, 2014, entitled “Automated Product Offering For Photo Editing And Printing Kiosk User Interface.” 
     
    
     FIELD OF THE INVENTION 
       [0002]    Embodiments of the present invention relate generally to consumer photography. More particularly, embodiments of the invention relate to application software for ordering photographic prints and related products. 
       BACKGROUND 
       [0003]    Today there are numerous services available which provide self-serve retail kiosks to customers to generate orders for photographic prints and related consumer products using their digital photographs or images. Generally the kiosk software provides a user-friendly graphical user interface (GUI) to guide the user to request and specify the details of their orders. For example, the user may be guided to request photographic prints in particular sizes suitable for the resolution of their digital photograph, or presented with any number of related products for incorporating the digital photograph or image, such as a mug, photo cube, keychain, album, calendar, custom puzzle, and the like. 
         [0004]    As with any consumer product, however, the exact product that the customer wishes to order may not always be immediately available. For example, the printers that produce the photographs may not have the proper size media loaded or available, or the mugs may be back-ordered during a busy holiday season and so-forth. Because the customers invest valuable time and energy into using the kiosk to request and customize their orders, it can be frustrating to find out that the particular product that the customer wants to order is not currently available. 
       SUMMARY 
       [0005]    To provide the customer with the best possible service, embodiments of the present invention are directed to methods and systems for automating a product offering presented in a consumer kiosk application for creating and order consumer photo-related products. An automated product offering system determines in real-time or near real-time the availability of products to be offered to the consumer prior to presenting the products on the consumer kiosk application&#39;s graphical user interface (GUI). 
         [0006]    In one embodiment the automated product offering system displays on the kiosk GUI only those products that are currently available. In one embodiment the automated product offering system adjusts the display of a product on the kiosk GUI with an anticipated date that the product will be available or an alternate location from which the product is available should the customer be willing to wait for the order to be fulfilled. In one embodiment the product availability is specific to any one or more of a location and a retailer hosting the consumer kiosk application. 
         [0007]    In one embodiment, the automated product offering system adjusts the display of a product on the kiosk GUI with product advertising information. In one embodiment the product advertising information with which the display of the product is adjusted includes local advertising promotions specific to any one of a location and a retailer hosting the consumer kiosk application. In one embodiment the product advertising information is displayed in any one of a screen saver, splash screen, ticker and the like on the kiosk GUI in advance of or commencing with customer activation of the kiosk GUI. In one embodiment the product advertising information is used to adjust the display of those products that are currently available. 
         [0008]    In one embodiment, the automated product offering system includes a local setup GUI to set local parameters affecting product availability and promotions, including local hours, local product availability, local promotions, branding and the like. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0009]    Embodiments of the invention are illustrated by way of example and not limitation in the figures of the accompanying drawings in which like references indicate similar elements. 
           [0010]      FIG. 1  is a block diagram illustrating an automated product offering system for a consumer kiosk according to one embodiment of the invention. 
           [0011]      FIG. 2  is an example illustration of a graphical user interface for presenting products offered in a consumer kiosk according to another embodiment of the invention. 
           [0012]      FIG. 3  is another example illustration of a graphical user interface for presenting products offered in a consumer kiosk according to another embodiment of the invention. 
           [0013]      FIG. 4  is a flow diagram illustrating a process for determining product availability for products offered in a consumer kiosk according to one embodiment of the invention. 
           [0014]      FIG. 5  is a flow diagram illustrating a process for determining product advertising for products offered in a consumer kiosk according to one embodiment of the invention. 
           [0015]      FIG. 6  is a flow diagram illustrating a process for setting local availability and advertising for products offered in a consumer kiosk according to one embodiment of the invention. 
           [0016]      FIGS. 7-9  are example illustrations of a graphical user interface for setting local availability and advertising for products offered in a consumer kiosk according to one embodiment of the invention. 
           [0017]      FIG. 10  is a block diagram of a data processing system, which may be used to implement an automated product offering system for a consumer kiosk according to one embodiment of the invention. 
       
    
    
     DETAILED DESCRIPTION 
       [0018]    Various embodiments and aspects of the invention will be described with reference to details discussed below, and the accompanying drawings will illustrate the various embodiments. The following description and drawings are illustrative of the invention and are not to be construed as limiting the invention. Numerous specific details are described to provide a thorough understanding of various embodiments of the present invention. However, in certain instances, well-known or conventional details are not described in order to provide a concise discussion of embodiments of the present inventions. 
         [0019]    Reference in the specification to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in conjunction with the embodiment can be included in at least one embodiment of the invention. The appearances of the phrase “in one embodiment” in various places in the specification do not necessarily all refer to the same embodiment. 
         [0020]    In a typical scenario of an embodiment of an auto product offering system a retail store may provide customers with a self-serve kiosk to allow a customer to request and specify orders for photographic products offered locally in the retail store or offered remotely from the retailer&#39;s other stores or from third party providers. In order to fulfill a photographic print order locally, for example, the retail store may have a print service located in the store with one or more photographic printers capable of printing on-demand a variety of photographic prints and print-related products. 
         [0021]    The photographic printers may be connected locally or through a network to the kiosk. Some specialty products may only be fulfilled remotely by placing the orders with a photo product service that provides the specialty products, such as photo cubes, mugs, and the like. Information about the availability of the photographic products may therefore be determined locally, or may have to be determined from the remote providers of those products, such as the retailer&#39;s other stores and/or the third party providers. 
         [0022]    In one embodiment, a product catalog server serves as a central repository for the customers to access the various products on offer from the retail store using the retailer&#39;s self-service kiosk. When a customer wishes to order any one of the products from the local or remote product providers, the customer can do so by interacting with the kiosk application software via the kiosk GUI. 
         [0023]    Thus, according to one embodiment, the automated product offering system operates in conjunction with the retailer&#39;s self-service kiosk application software to present the customer with the retailer&#39;s products that are currently available and not present the products that are not available. In one embodiment, the unavailable products may be presented with additional information, including any one or more of anticipated availability and alternate availability from another location or via direct shipment to the customer. 
         [0024]    In one embodiment, the automated product offering system periodically queries the availability of products offered by the retailer and updates the presentation of the retailer&#39;s product catalog product offerings on the kiosk prior to initiating a next customer order. In one embodiment, the automated product offering system periodically queries the advertising and/or promotion of products offered by the retailer and updates the presentation of the retailer&#39;s product catalog product offerings on the kiosk prior to initiating a next customer order. 
         [0025]      FIG. 1  is a block diagram illustrating an automated product offering system  100  according to one embodiment of the invention. Referring to  FIG. 1 , system  100  includes a product catalog server  102  to manage, on behalf of a variety of product servers, the availability of the retailer&#39;s products as presented to a kiosk  108  using the kiosk graphical user interface (GUI)  110 . In one embodiment the kiosk  108  may be hosted on a customer&#39;s device, such as in a browser platform of a personal computer, laptop, cellphone, or other type of stationary or mobile device. The product servers may include one or more local photo/print product servers  114  that manage, usually via a local area network or other local connection, the local in-store print devices used to produce the photo/print products. The product servers may also include servers accessible remotely accessible over an internetwork  112 , such as a photo/print product server  116  in another one of the retailer&#39;s stores, and/or other specialty photo product servers  118 . In one embodiment the product servers  114 / 116 / 118  include product servers that route and specify print jobs in accordance with product characteristics selected by the customer as described in the commonly assigned U.S. patent application Ser. No. 13/628,741, published as US 2013/0074714, the content of which is incorporated herein by reference. 
         [0026]    During operation, the product catalog server  102  manages the availability of products using a product catalog database  104  containing information about every possible product offered by the retailer. A product availability manager  106  periodically generates queries against the product servers  114 / 116 / 118  to determine whether and when particular products are or may become available. In one embodiment, the product catalog server  102  can remotely access a product inventory logistics server  120  to better anticipate future product availability. 
         [0027]    In one embodiment, the product catalog server  102  serves the information about the availability of the products in the product catalog database  104  to the kiosk  108  so that the kiosk GUI  110  may be adjusted to either hide from view those products that are currently unavailable, or to adjust the view of the products to indicate when they are anticipated to become available. including overlaying or other adding text information to the display, the text information indicating when they are anticipated to become available. In one embodiment, the products may be ranked in terms of availability such that those products that are not currently available, or those whose inventory is low, are displayed less prominently than those products that are currently available or those whose inventory is high. In this manner, the customer using the kiosk  108  can be guided via the kiosk&#39;s GUI  110  to make a product choice that is more likely to be fulfilled in a prompt and efficient manner. 
         [0028]    In one embodiment, a product advertising manager  107  operates in conjunction with the product availability manager  106  to determine whether and when advertising and/or promotions are used to adjust the display of promoted products, or otherwise advertised or featured products on the kiosk GUI  110 . The product advertising and/or promotion information may be stored locally, such as in local server  114 , or remotely, such as in servers  102 / 116 / 118  or may be otherwise served from the product catalog server  102  in conjunction with the product inventory/logistics server  120 . 
         [0029]    The product catalog server  102  serves the information about the advertising and/or promotions of the products in the product catalog database  104  to the kiosk  108  so that the kiosk GUI  110  may adjust the view of the products to include the product advertising and/promotions. In one embodiment, the product advertising and/or promotion information is used to adjust the view by adjusting an order of display of promoted products such that those products currently advertised, or those being currently promoted, are displayed more prominently than those products that are not currently being advertised or promoted. In one embodiment, the product advertising and/or promotion information is used to adjust the view by overlaying the product advertising and/or promotion information on the display proximate to the promoted product, such as by indicating text information about the product&#39;s promotion. In this manner, the customer using the kiosk  108  can be further guided via the kiosk&#39;s GUI  110  to make a product choice that provides the best value to the customer and/or supports location host and/or retailer marketing and sales campaigns. 
         [0030]    In one embodiment, the local server  114  includes local parameters  115  set using a local setup GUI  111  provided by the automated product offering system  100 , where the local setup GUI  111  is typically available on the kiosk  108  or on a browser platform of a stationary or mobile computing device operated by the retailer and/or location hosting the kiosk  108 . The local setup GUI  111  allows the retailer or operator of the location hosting the kiosk  108  to set the local parameters, such as retail hours and local product availability, advertising, promotions, branding and the like. 
         [0031]      FIGS. 2 and 3  illustrate examples of a kiosk GUI  110  that may be modified in accordance with an embodiment of the invention. For example, in  FIG. 2 , the tiled display  202  of product offerings includes order customization navigational aids  204   a - d , order transaction navigation aids  206   a - d , GUI customization aids, such as language selection  208 , tiled product selection images  210 , featured product category images  212 , and product selection navigation aids  214   a - b.    
         [0032]    In one embodiment, the tiled display  202  may be adjusted to eliminate from the tiled product selection images  210  those product offerings that are not currently available. Alternatively, the tiled product selection images  210  of a selected product offering may be displayed either before or after selection with an indication of delayed availability to alert the customer that the product may be backordered or otherwise currently unavailable, such as with a text overlay on the image  210  or other visual display indicator associated with the image  210 . 
         [0033]    In one embodiment the display of the featured product category images  212  may be adjusted by the automated product offering system  100  to reflect any advertising and/or promotions associated with the product or product category, including adjusting which of the available products are displayed in the featured product display area, and displaying additional visual or text information alerting the customer to the advertising and/or promotion. 
         [0034]    In  FIG. 3 , a detailed display of a product offering may provide further details on the availability of the product. For example, the detailed display  302  of product offerings includes order customization navigational aids  304   a - d , order transaction navigation aids  306   a - d , product descriptions  310 , and product creation buttons  312 , additional images  308  associated with the product offering on display, and a scrolling display of other product selection images  314  that depict alternative product offerings that are available (or soon to be available), including products that are determined to be of particular interest to the customer based on their prior interactions with the kiosk GUI  110 . In one embodiment, the product selection images  314  are displayed along the bottom of the GUI  110 , and may be adjusted to eliminate or modify the display of those product offerings that are not currently available, or may be adjusted to reflect any advertising and/or promotional information associated with the product offering depicted in the product selection images  314 . 
         [0035]      FIG. 4  is a flow diagram illustrating a method for a process  400  of determining product availability for a kiosk  108  according to one embodiment of the invention. For example, process  400  may be performed by product availability manager  106  of product catalog server  102  operating in conjunction with the kiosk  108  of  FIG. 1 . Referring to  FIG. 4 , at block  402 , prior to processing a next customer order, the kiosk  108  initiates a request to the product availability manager  106  to determine the available products to present on the kiosk GUI  110 . At decision block  404 , the kiosk  108  queries the product availability manager  106  which, in turn, queries the remote product servers  116 / 118  as to the status of product availability. If a product is determined to be available, then at block  406 , the product is queued for display on the kiosk GUI  110 . If a product is determined to be unavailable, then the query at block  404  continues for the next product until all products for which availability has been requested is determined. 
         [0036]    In one embodiment, at decision block  408 , the kiosk  108  queries the local photo/print server(s)  114  for product availability. If a product is determined to be available, then at block  406 , the product is queued for display on the kiosk GUI  110 . If a product is determined to be unavailable, then the query at block  408  continues for the next product until all products for which availability has been requested is determined. 
         [0037]    In one embodiment, at block  410 , the available products are queued for display on the kiosk GUI  110 . In one embodiment, the display on the kiosk GUI  110  is adjusted to reflect updated product advertising, including any retailer and/or location host advertising, promotions and branding associated with the product. The updated product advertising process  416  is invoked periodically or as needed to ensure that the latest advertising and promotional information is presented for display on the kiosk GUI  110 . 
         [0038]    In one embodiment, at block  412 , for all of the products that are determined to be unavailable, the presentation of the products on the kiosk GUI  110  is adjusted to display an anticipated availability date on the kiosk GUI  110  instead of not adding them to the queue of displayed products. 
         [0039]      FIG. 5  is a flow diagram illustrating a method for a process  500  of determining product advertising and/or promotion information for available products for a kiosk  108  according to one embodiment of the invention. For example, process  500  may be performed by product advertising manager  107  of product catalog server  102  operating in conjunction with the product availability manager  106  and kiosk  108  of  FIG. 1 . 
         [0040]    In one embodiment, the process  502  determines which of the available products are to be featured and/or promoted in the kiosk GUI  110  in accordance with current advertising and/or promotion information. For example, at decision block  504 , the process interrogates the product catalog server  102  to determine whether a particular product is to be featured/promoted. Alternatively, or in addition, the process  500  performs decision block  504  in conjunction with other sources of advertising/promotion information, such as servers  114 / 116 / 118  and product inventory/logistics server  120 . 
         [0041]    In one embodiment, the process  500  continues, after determining that a particular product is to be featured/promoted, at process  506  to determine the characteristics of the product feature/promotion to be displayed on kiosk GUI  110 . For example, the product may be featured or promoted in a screensaver rotation on the kiosk GUI  110  along with other featured/promoted products, or it could be splashed on the kiosk GUI  110  whenever a customer in the retailer/host location accesses the kiosk  108 , or activates the kiosk GUI  110  on the customer&#39;s personal device&#39;s browser display. 
         [0042]    At process  508 , the product advertising within the product selection interfaces, such as those illustrated in  FIGS. 2-3 , is updated in accordance with the determined feature/promotion characteristics. For example, the process  508  updates the sequencing of the product display and/or adds overlays to alert the customer to the current host location and/or retailer advertising and promotions associated with the product. At process  510 , control of the kiosk GUI  110  is returned to the product availability process  400 . 
         [0043]    Turning now to  FIG. 6 , a local server configuration process  600  is illustrated in which the kiosk  108  host location operator or retailer activates  602  a local setup GUI  111  either on the kiosk  108  or on another device having a platform to support the local setup GUI  111 . The host location operator or retailer proceeds at  602  to configure the local or retailer-based photo print/server availability parameters for use by the automated product offering system  100  in conjunction with the kiosk  108  and local photo/print product server  114 . 
         [0044]    At process  604 , the host location operator or retailer sets the local photo/print server hours, branding and other local kiosk  108  customization. At process  606 , the host location operator or retailer sets the local product/paper availability, and at process  608  sets the local featured products/promotions/advertising campaigns. 
         [0045]    Upon completing the local setup processes  602 - 608 , the process  600  uses the settings to configure the local photo/product server and kiosk  108 , and kiosk GUI  110  with the updated settings. For example, the process  600  stores the settings on the local server&#39;s parameter store  115 . This process  600  may be repeated as needed to maintain various settings, such as the retailer/local host&#39;s current operating hours, local product availability and advertising/promotional campaigns and the like. In one embodiment, the process  600  is carried out using the local setup GUI  111  as illustrated in  FIGS. 7-9  below. 
         [0046]      FIGS. 7-9  illustrate examples of a local setup GUI  111  that may be modified in accordance with an embodiment of the invention. For example, as illustrated in  FIG. 9 , the a lab hour settings interface  702  provides navigational setting buttons  704  and a graphical day-of-the-week slider bar interface that facilitates the setting of hours of operation for the photo/print lab servicing a particular retailer and/or host location for the kiosk  108 . 
         [0047]      FIGS. 8-9  each illustrate embodiments of a tabbed GUI interface for GUI  111  for other local settings such as the available papers, discs, and other specialty products that are stocked at that location. For example, in  FIG. 8 , the lab papers tabbed interface  802  includes selections for different sizes of photo papers  806  and “in stock” and “out of stock” command buttons to set the availability of those photo papers at that location. Similarly, the products tabbed interface  902  illustrated in  FIG. 9 , includes selections for various types of card stock and specialty canvas media  906  and “available” and “unavailable” command buttons to set the availability of those products at that location. The activation of each of the tabbed interfaces  802  and  902  are further controlled by the command buttons “OK” and “Cancel”  904  so that the operator of the GUI  111  either save or discard the selected settings of each tab. 
         [0048]      FIG. 10  is a block diagram of a data processing system, which may be used with one embodiment of the invention. For example, the system  1000  may be used as a client or a server as shown in  FIG. 1 . Note that while  FIG. 10  illustrates various components of a computer system, it is not intended to represent any particular architecture or manner of interconnecting the components; as such details are not germane to the present invention. It will also be appreciated that network computers, handheld computers, cell phones and other data processing systems which have fewer components or perhaps more components may also be used with the present invention. 
         [0049]    As shown in  FIG. 10 , the computer system  1000 , which is a form of a data processing system, includes a bus or interconnect  1002  which is coupled to one or more microprocessors  1003  and a ROM  1007 , a volatile RAM  1005 , and a non-volatile memory  1006 . The microprocessor  1003  is coupled to cache memory  1004 . The bus  1002  interconnects these various components together and also interconnects these components  1003 ,  1007 ,  1005 , and  1006  to a display controller and display device  1008 , as well as to input/output (I/O) devices  1010 , which may be mice, keyboards, modems, network interfaces, printers, and other devices which are well-known in the art. 
         [0050]    Typically, the input/output devices  1010  are coupled to the system through input/output controllers  1009 . The volatile RAM  1005  is typically implemented as dynamic RAM (DRAM) which requires power continuously in order to refresh or maintain the data in the memory. The non-volatile memory  1006  is typically a magnetic hard drive, a magnetic optical drive, an optical drive, or a DVD RAM or other type of memory system that maintains data even after power is removed from the system. Typically, the non-volatile memory will also be a random access memory, although this is not required. 
         [0051]    While  FIG. 10  shows that the non-volatile memory is a local device coupled directly to the rest of the components in the data processing system, the present invention may utilize a non-volatile memory which is remote from the system; such as, a network storage device which is coupled to the data processing system through a network interface such as a modem or Ethernet interface. The bus  1002  may include one or more buses connected to each other through various bridges, controllers, and/or adapters, as is well-known in the art. In one embodiment, the I/O controller  1009  includes a USB (Universal Serial Bus) adapter for controlling USB peripherals. Alternatively, I/O controller  1009  may include an IEEE-1394 adapter, also known as FireWire adapter, for controlling FireWire devices. 
         [0052]    Some portions of the preceding detailed descriptions have been presented in terms of algorithms and symbolic representations of operations on data bits within a computer memory. These algorithmic descriptions and representations are the ways 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 operations leading to a desired result. The operations are those requiring physical manipulations of physical quantities. 
         [0053]    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 above discussion, it is appreciated that throughout the description, discussions utilizing terms such as those set forth in the claims below, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system&#39;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. 
         [0054]    Embodiments of the invention also relate to an apparatus for performing the operations herein. Such a computer program is stored in a non-transitory computer readable medium. A machine-readable medium includes any mechanism for storing 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 (e.g., read only memory (“ROM”), random access memory (“RAM”), magnetic disk storage media, optical storage media, flash memory devices). 
         [0055]    The processes or methods depicted in the preceding figures may be performed by processing logic that comprises hardware (e.g. circuitry, dedicated logic, etc.), software (e.g., embodied on a non-transitory computer readable medium), or a combination of both. Although the processes or methods are described above in terms of some sequential operations, it should be appreciated that some of the operations described may be performed in a different order. Moreover, some operations may be performed in parallel rather than sequentially. 
         [0056]    Embodiments of the present invention are not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of embodiments of the invention as described herein. 
         [0057]    In the foregoing specification, embodiments of the invention have been described with reference to specific exemplary embodiments thereof. It will be evident that various modifications may be made thereto without departing from the broader spirit and scope of the invention as set forth in the following claims. The specification and drawings are, accordingly, to be regarded in an illustrative sense rather than a restrictive sense.