# Patent

## Title
Browser-based product design

## Abstract

Methods for creating a customized document using downloadable product design tools executing in the user's browser. A template for a partially completed product design is selected byte user and downloaded to the user's computer for editing by the user at the user's computer using the downloaded design tools. While viewing the product design template, the user can enter text or other content into the template and modify template elements. The completed product design can be uploaded to the server for production of the corresponding printed product.

## Background
TECHNICAL FIELD
This invention relates to managing print jobs.
BACKGROUND
Short-run print jobs, e.g., business cards, letterheads, sell sheets, invitations, announcements, folders, brochures, and marketing materials, are generally printed by commercial printers using relatively small, low cost printing equipment. Because of the set-up time involved in changing from one print job to the next, and the relatively low volumes printed (often less than 1000 units/order), the printing cost is typically relatively high, e.g., $20-50 per thousand square inches (“MSI”). In some cases, several print jobs are manually “ganged” together (consolidated or aggregated) onto a single master, in an attempt to reduce the average set-up time per order. Another strategy for controlling cost, employed by printers of products such as invitations, office stationery, and address labels, is to offer customers a limited selection of papers, formats and colors from which to choose.
Printing costs per MSI are much lower for high-volume high-quality full-color publishing and packaging print jobs, e.g., food labels, consumer good packaging, magazines, catalogues and high volume marketing materials. Publishing and packaging printing is generally done using large, expensive offset printing presses (either web press or sheet feeding of large-format paper stock) in a highly automated large-volume manufacturing environment. Because these presses have high set-up and amortization costs, their use has been focused on long print runs that are typical in the packaging and publishing segments of the printing market.
Attempts have been made to reduce the high cost of short-run printing. Set-up costs may be reduced by using rapid changeover production machinery, digital technologies, thermographic printing, or single-color offset printing. Typically, these techniques assume that each print job is to be processed as a discrete production run subject to economies of scale based on the quantity of that print job.
Another approach has been to preprint high volumes of a standard base product (e.g., invitation “blanks” bearing high quality color graphics) using high quality offset printing, and then to overprint variable, custom text (e.g., the text of the invitation) for each order, typically using simpler printing processes and conventional short run printing methods.
Yet another approach has been to reduce the cost of setting up a print job by letting the customer, or an intermediary other than the printer, be responsible for the layout, sales and administration aspects of the customer's order. For example, some companies, such as Hallmark, have provided WYSIWYG (“what you see is what you get”) terminals at which a customer can view a WYSIWYG display of the item to be printed, and then upload information regarding the print job to a local or remote printing site. Another example of this approach is desktop publishing software, which allows a customer to design a print job on-screen.
Computers have been used to reduce cost and improve efficiency of printing processes, e.g., to make the process of page layout, proofing, approvals and transmission to the printing floor more efficient. For example, in the newspaper and printing industries, on-the-fly page markups have been sent directly to the production floor using digital workflow technology. Prepress software and equipment that automates workflow is also used by printers and graphics professionals. Recently, Internet companies such as Noosh and Impresse have been providing services that improve the efficiency of buyer-seller transactions involving printing, e.g., by giving users of their websites the ability to “connect” with a wide variety of print vendors, from short-run demand printers to long-run offset printers.
SUMMARY
The invention features method for managing print jobs.
In one aspect, the invention features a method including (a) accumulating discrete print jobs electronically from respective customers, (b) aggregating the discrete print jobs into aggregate print jobs, each of the aggregate print jobs being printable at one time on units of an integral print medium, and (b) electronically distributing the aggregate print jobs to respective printers for printing.
Implementations of this aspect of the invention may include one or more of the following features. The integral print medium may include cut sheets of paper, or large rolls of paper designed for use on offset printing web presses, e.g., rolls having roll widths of 20 inches or more. The print jobs are accumulated through web browsers. Printing of the aggregate print jobs is done during periods of otherwise unused capacity. Each of the discrete print jobs includes a run of fewer than 5,000 copies. Printing is done on large-scale offset full-color presses. Aggregating is done automatically.
In another aspect, the invention features a method including (a) defining a two-dimensional grid of discrete print jobs, the print jobs occupying positions along the two dimensions of the grid, the grid corresponding to a substrate to be printed, the print jobs being arranged on the grid so that at least at some different positions along each of the two dimensions of the grid are print jobs that have different content to be printed on the substrate, (b) printing the print jobs on the substrate at their respective positions defined by the grid, (c) cutting the substrate to separate the print jobs, and (d) distributing at least some of the separated print jobs to different customer locations. In some implementations, the print jobs are in different formats, and all of the print jobs are printed on the substrate at one time.
In a further aspect, the invention features a method including defining a two-dimensional grid of discrete print jobs, the print jobs occupying positions along the two dimensions of the grid, the grid corresponding to cut sheets of a substrate to be printed, printing the print jobs on each of the sheets at their respective positions defined by the grid, and cutting the sheets of the substrate along each of the two dimensions to separate the print jobs into rectangular stacks. In some implementations, each stack defines a separate print job.
The invention also features a method including defining a two-dimensional grid of discrete print jobs, the print jobs occupying positions along the two dimensions of the grid, the grid corresponding to a non-preprinted substrate to be printed, printing the print jobs on each of the sheets at their respective positions defined by the grid, and cutting the sheets of the substrate along each of the two dimensions to separate the print jobs.
In another aspect, the invention features a method including defining a two-dimensional grid of discrete print jobs, the print jobs occupying positions along the two dimensions of the grid, the grid corresponding to a substrate to be printed, printing the print jobs in full color on each of the sheets at their respective positions defined by the grid, and cutting the sheets of the substrate along each of the two dimensions to separate the print jobs.
In a further aspect, the invention features a method including receiving orders for discrete print jobs from customers, each of the orders being received at an associated ordering time, each of the orders having an associated delivery time, the periods between the ordering times and the delivery times of at least some of the print jobs being different, aggregating a set of the print jobs that have essentially the same associated delivery time into aggregate print job to be printed at one time on shared substrate units, and arranging for the production of the aggregate print job at a time that is just ahead of the delivery time. In some implementations, the method also includes adjusting the prices of the discrete print jobs based on the period between the ordering time and the delivery time. The method may also include arranging for the production during periods of unused printing capacity.
The invention also features a method including offering the printing of discrete print jobs to customers in at least two different service levels, one of the service levels including printing the print jobs free for the customers and another of the service levels including charging for the print jobs, receiving orders from customers for print jobs at selected service levels, and aggregating a set of the print jobs for printing at one time on shared substrate units. The service levels may be associated with speed of turnaround, and/or with the presence or absence of third-party advertising on the print job.
In yet another aspect, the invention features a method including receiving orders for discrete print jobs from customers, electronically creating and accumulating non-commodity information associated with each of the print jobs, aggregating a set of the print jobs into an aggregate print job for printing at one time on shared substrate units, and arranging for the production of the aggregate print job using commodity supplies and services including non-preprinted paper as the common substrate, and commodity inks. The arranging for production may include locating printers having unused capacity suitable for the aggregate print job.
In another aspect, the invention features a method including receiving orders for discrete print jobs from customers, automating the generation of non-commodity information associated with the print jobs, aggregating a set of the print jobs into an aggregate print job for printing at one time on shared substrate units, and arranging for production of the aggregate print job in accordance with the non-commodity information. The non-commodity information may include at least one of content, approval service, price, delivery terms, color verification services, quantity, and set up steps.
In a further aspect, the invention features a method including receiving orders for discrete print jobs from customers, defining an aggregate print job comprising a set of the discrete print jobs for printing at one time on shared substrate units, the aggregate print job having a delivery time, enabling printers having equipment not economically suitable for completing individual ones of the discrete print jobs to bid competitively for the aggregate print job up to a time just ahead of the delivery time, and awarding the aggregate print job to one of the printers prior to the delivery time. The enabling and awarding may be done electronically.
The invention also features a method including (a) receiving information defining discrete print jobs each of which is alone economically unfeasible for printing on high volume printing equipment, (b) aggregating sets of the discrete print jobs into aggregate print jobs, each of the aggregate printing jobs being configured for printing at one time on units of a common substrate, the aggregate print jobs being economically feasible for printing on high volume printing equipment, each of the aggregate printing jobs having a defined delivery time, (c) making the aggregate print jobs available up to just before the delivery time, for competitive bidding by printers having the high volume printing equipment, and (d) awarding each of the aggregate print jobs to the printer with the most competitive bid based on predetermined criteria.
In another aspect, the invention features a method including (a) using a high volume printing machine to produce high volume print jobs, each of the high volume print jobs comprising printing of only a large number of identical images one after the other, (b) determining the availability, between high volumes print jobs, of unused printing capacity, (c) bidding for aggregate print jobs that can be produced economically on the high volume printing machine using the unused printing capacity, each of the aggregate print jobs comprising an aggregation of discrete print jobs that would be economically unfeasible to print separately using the printing machine, and (d) printing at least one of the aggregate print jobs.
In a further aspect, the invention features a method including performing graphic design of a discrete print job on a design application that runs on a web browser, transferring the print job to a web server for storage after the graphic design is performed, modifying the print job on the web browser, and updating the print job on the web server after the modifying is done.
The invention also features a method including aggregating discrete print jobs into aggregate print jobs to be produced on units of a common substrate, all of the aggregate print jobs conforming to a standard format, transmitting the aggregate print jobs to a printer electronically, and, at the printer, configuring printing equipment for producing different ones of the aggregate print jobs using the same steps.
In another aspect, the invention features a method including (a) defining a standard template format for containing common graphical information that relates to different discrete print jobs, (b) providing a design tool to enable a designer to create a template that complies with the standard template format and embodies the common graphical information, (c) enabling the designer to deliver the template to a server electronically, (d) enabling users at client machines to use the template to generate different discrete print jobs that conform to the template and include custom graphical information specific to each of the discrete print jobs, and (e) aggregating sets of the discrete print jobs into aggregate print jobs for printing at one time on units of shared substrate.
In yet another aspect, the invention features a method including aggregating discrete high-quality full color print jobs into a single aggregate print job, printing the single aggregate print job using standard process colors and standard un-pre-printed paper on high speed printing equipment, and distributing the aggregate print jobs in electronic files.
The invention also features a method including (a) digitally aggregating discrete print jobs into an aggregate print job to be printed at one time on units of a standard shared substrate, the aggregate print job being defined in a standard compressed prepress data format, (b) sending the aggregate print job to a workstation at a printing site, at the printing site, Raster Image Processing the aggregate print job to create standard color separations, (c) using a computer-to-plate process to create plates based on the color separations, (d) loading the plates onto a high volume press in accordance with a standard predefined protocol, (e) loading units of the standard shared substrate onto the press, (f) printing the aggregate print job onto the standard shared substrate, (g) cutting apart the standard shared substrate units to separate the discrete print jobs, and (h) forwarding the discrete print jobs to different customer destinations.
The invention also features a method including (a) aggregating discrete print jobs into a digital aggregate print job to be printed at one time on units of a standard shared substrate, the placement of the discrete printing jobs within the aggregate print job being defined by a digital aggregation template that represents the locations of cuts that will be needed to separate the discrete print jobs from the aggregate print job, (b) placing a physical embodiment of the aggregation template on the units of the standard shared substrate, and (c) using the physical embodiment of the aggregation template as a guide to making cuts to separate the discrete print jobs. The aggregate print job may include a plurality of aggregated sheets, and be identified by an identifier printed on each aggregated sheet within the aggregate print job. Information printed on the aggregation template may be used to automatically identify each discrete print job.
In another aspect, the invention features a method including (a) aggregating discrete print jobs into an aggregate print job, (b) printing the aggregate print job at a printing site, (c) separating the discrete print jobs by cutting apart the aggregate print jobs, (d) electronically identifying the discrete print jobs as having been completed using a print job identifier, (e) at the printing site placing the print jobs into shipment bins of a parcel carrier that tracks shipments electronically using a shipment identifier, (f) associating the print job identifier with the parcel carrier's shipment identifier, and (g) enabling customers of the discrete print jobs to track the progress of delivery of their discrete print jobs electronically.
In a further aspect, the invention features a method including (a) aggregating discrete print jobs of respective customers into an aggregate print job, (b) printing the aggregate print job at a printing site, (c) separating the discrete print jobs by cutting apart the aggregate print jobs, (d) electronically identifying the discrete print jobs as having been completed using a print job identifier, (e) shipping the discrete print jobs essentially as soon as they are printed, cut and packaged, (f) electronically billing the customers in response to completion of the printing and delivery of the discrete print jobs to a shipper for shipment.
The invention also features a method including printing an aggregate print job, cutting the aggregate print job apart to form different discrete print jobs, automatically printing shipping labels for shipping the different discrete print jobs to different respective customers, and applying the labels to the different discrete print jobs in accordance with identifiers on the labels.
In a further aspect, the invention features a method including (a) providing different kinds of entry ports into a print job execution system, each of the entry ports enabling a user to create interactively a full color print job in accordance with a pre-defined design template, (b) at each of the ports, generating a digital print job file based on the design template and design input of the user, all of the print job files being expressed in a standard design data format, (c) routing all of the digital print job files electronically to an aggregation system, (d) at the aggregation system, assembling selected ones of the digital print job files into aggregate print jobs, all of the aggregate print jobs being expressed in a standard prepress format, and (e) routing different ones of the aggregate print jobs electronically to different printers for printing.
The invention also features an apparatus that includes (a) web browsers configured for interactive design by users of discrete print jobs, (b) a central storage for information about the discrete print jobs that results from interaction with the users, (c) a scalable group of web servers that interact with the web browsers and with the central storage, and (d) a scalable group of printing servers configured to aggregate the discrete print jobs into aggregate print jobs and deliver the aggregate print jobs electronically to printers.
Among the advantages of the invention, short run print jobs can be printed using high-quality, large-volume printing equipment, while reducing printing cost significantly, improving print job quality as compared to alternative short run printing processes, and improving capacity utilization of the printing equipment. In some implementations, the printing cost is less than 10%, or even less than 5%, of the cost of printing an identical item using traditional short run printing techniques. Some implementations also provide a fast possible turnaround time from when the customer places an order until the customer's print job is done, e.g., less than two hours, and allow queuing of print jobs so that expedited print jobs are printed first and lower priority print jobs are printed later. A large number of customers with short-run print jobs can be served by a relatively small number of industrial print subcontractors, to achieve end-to-end automation and aggregation of the print jobs.
Each customer can design a print job directly on a web browser and, if desired, upload the customer's own graphics, e.g., a logo design. Use of the web browser based design capability can replace or enhance traditional methods of graphic design, in which a graphic designer translates a customer's sketch and/or verbal description into a finished design and provides one or more proofs for the customer's approval prior to printing.
The invention allows the printing subcontractors' production floors to be organized and operated in a manner consistent with the best-in-class practices for high-volume, high quality publishing and packaging printers, despite the fragmented nature of the custom printing jobs involved. The invention also features a scalable systems architecture, to allow the systems of the invention to accommodate higher volumes of customers and/or printing jobs. Based on real time information provided by printers, order flow can be redirected to those printers who, at a given moment in time, have excess production capacity and are willing to sell that capacity at a price lower than their “fully loaded” production cost.
Customer orders can consist of a variety of document types, layouts and quantities, for a potentially infinite range of order characteristics. Yet the traditionally high cost of managing this variability of order characteristics is reduced or eliminated through a conversion of the variability into a consistently formatted, repetitive stream of pre and post press digital information that is compatible with printing industry standards. Groups of customers (e.g., multiple customers within a single company) are able to share and centrally control common document characteristics (e.g., a template for a brochure layout or a business card design that is shared by multiple persons within the same company), while decentralizing individual purchase decisions, order entry and modifications to text or other variable elements within the documents.
Based on market information and printer information, received both previously and in “real time”, the web server host can modify the price, delivery, and product options that are offered to a given customer or set of customers. For instance, if excess production capacity will be available in the next several hours, printers may be willing to temporarily cut their wholesale price in order to fill the near-term capacity, and the web server host could, in response, immediately modify the offers displayed to customers via the Internet so as to increase demand. There is no incremental (marginal/variable) cost to processing a customer's order in a very rapid time (e.g., two hours), and the system allows real time rescheduling of order queues to manage capacity fluctuations. This allows the web server host to charge a higher price for expedited orders without incurring additional cost to provide the expedited service.
Other features and advantages of the invention will be apparent from the description and drawings.



DESCRIPTION OF DRAWINGS
FIGS. 1, 1A, and 1B are schematic block diagrams of a system according to one implementation of the invention. FIGS. 1A and 1B are the top and bottom halves, respectively, of one diagram.
FIGS. 2A-2B are schematic top views of layouts of print jobs.
FIG. 3 is a flow diagram illustrating the designing of a print job on a web browser.
FIGS. 4-4W are webpages according to one implementation.
FIG. 5 is a schematic diagram showing connection of elements of the system.
FIG. 6 is a flow diagram of a printing and post-press process.
FIG. 7 is a schematic diagram showing the farm configuration of servers in a system according to one implementation.
FIG. 8 is a schematic diagram showing a queue processing system.



DESCRIPTION
Implementations of the invention include interrelated elements. These elements and their relationships will first be discussed briefly and then later in more detail.
An implementation of a print job management system 10 is shown schematically in FIGS. 1, 1A, and 1B. A potentially enormous number (e.g., thousands or even hundreds of thousands or millions) of individual and commercial customers 12, wishing to place orders for discrete print jobs (generally short run printing jobs, i.e., jobs of less than 40,000 units, typically 250-5,000 units), access the Internet 14 via web browsers 13 (or similar interactive communication software) running on personal computers or other electronic devices 11. Customers can access the system through any one of several different types of entry ports 15 into the print job management system, where some types of entry ports may be characterized by their economic and market characteristics. The types of entry ports could include home office/small office computer entry ports 15a, intermediary ports (such as boutique stationery stores) 15b, and large corporate entry ports 15c (such as a Communications Department of a large corporation). Other entry ports need not be based on web browsers, but could be, for example email links 15d and dial up voice telephone lines 15e. The system can also be integrated with bidding systems or “eHub” bidding sites such as Noosh, Impresse, Collabria and Ariba (eHub portals 15f).
The term “print job” refers to an individual print job, such as a single design version of a brochure for a business in a given quantity such as 1000 brochures. The term “order” is used to refer to a group of print jobs that are ordered at the same time, such as a business card, letterhead, and envelopes for a business. For some customers, individual print jobs could be part of a large corporate communication program that would include hundreds of different documents each bearing common graphic elements and custom text associated with each document.
Through the Internet 14, each customer can access a website 16, that includes a website studio 16a which provides design software that is made available from a central web server 18. The website studio, which will be discussed in further detail below, allows each customer to design one or more custom printing jobs, e.g., business cards, brochures, postcards, folders, letterhead, and envelopes. The customer chooses from a limited selection of standardized papers, formats (provided to the user in the form of templates with user-specified data fields), colors and quantities. The website studio software is downloaded from the server as part of web pages displayed to the user, runs on the user's browser, and enables the user to perform simple design functions by completing a selected template using a Design Wizard, or more complex design functions using a Design Studio, locally on his browser. Typically, only the results of the design process are uploaded to the server as a print job. The templates are created using an XML format or other appropriate format. Alternatively, a customer or a professional designer could generate his own template, using the website studio itself, or using desktop publishing software, and upload it to the server website studio.
As shown in FIG. 1, two kinds of data pass back and forth between the customers and the system, and there are two series of processes that handle this data. The data can be categorized as graphical print data 115 (in FIG. 1, graphical print job data 117, templates 119 and web studio software 121), and commercial print job data 123. Processing of this data is split into two pieces: what goes on between the customers and the system, shown in FIG. 1A, and what goes on between the system and the printers, shown in FIG. 1B. As shown in FIG. 1, there is storage at various points in the system to store the data. For example, some of it is stored in the customer's PC storage 111, some in the system's data storage 20/22, and some at the printer data storage 113.
The system's data storage is shown in more detail in FIG. 1A. The data input by a customer when an order is placed is stored in a central database 20 and/or a network storage 22, depending on the nature of the data, as will be discussed below. The network storage 22 stores all of the graphic files that define a print job, e.g., logos, fonts, backgrounds, layouts and frame designs, while the central database 20 stores, among other things, all of the non-graphical information, e.g., the text to be printed and the business information that is needed to get the jobs printed and delivered. The central database 20 also stores information regarding the customer, e.g., the customer's name and address, and stores the non-graphical elements of the website studio templates (the graphical elements that are stored in the network storage are referenced by the templates and document layouts).
Once the customer has finished designing the print job the customer places an order, e.g., using a Purchase Wizard 16b, as discussed below. The customer's print job is sent to the server in XML format, and the XML file is then converted by the server into a digital format, e.g., into a PostScript file 128 (FIG. 1B). The backend printing servers 28 then automatically aggregate, or “gang together”, the customer's PostScript file with multiple PostScript files from other customers to produce a consolidated print sheet (a “layout”). To achieve this, the backend servers assemble the individual PostScript files to create the layout 130 (FIG. 1B), with different individual print jobs arranged on respective portions of the layout. For example, as shown in FIG. 2, 133 different business card print jobs 50 of identical size could be aggregated into a layout and printed on a single large printing sheet 52, e.g., a large format printing sheet measuring 1.0 meter by 0.6 meter. In other examples, different sizes and shapes of print jobs can be aggregated, e.g., as shown in FIG. 2A and discussed below. The organization of the different print jobs on the layout 130 is defined by aggregation templates that characterize where cuts need to be made after printing in order to separate the different print jobs. The choice of which print jobs to place onto a given layout and in what arrangement is discussed below.
The commercial information related to the customer's order (e.g., the shipping address, shipping date, etc.) is stored in a customer information file 132 (FIG. 1B). The customer information file 132 is aggregated with other customer's files (the same customers whose PostScript files have been aggregated onto the layout), to create an aggregate meta file 134 which contains all of the commercial information for the customers' print jobs. The aggregate meta file 134 also includes commercial information relating to the printing run, e.g., a batch number (“template layout reference number”), the number of sheets to be printed, and the cutting template to be used to cut the printed sheets into individual printed print jobs.
The aggregate meta file is posted by the backend server to a website 136 that is accessible to printing firms 138 wishing to sell their printing services to the web server host. The aggregate meta file 134 includes the commercial details of the print run that will be performed using the PostScript layout file 130 (e.g., number of sheets, type of paper, and deadline). As will be discussed below, printing firms with unused capacity bid for a contract to print the print run. Generally, the contract is automatically awarded to the bidder providing the most competitive bid based on predetermined criteria, e.g., lead time, quality, history, price or other factors. The successful bidder's contractual obligations, and the PostScript layout file and aggregate meta file, are then transmitted by the backend server to that printing firm, e.g., to a server 32 located at the printing site.
The PostScript layout file is converted at the printing facility 29, during RIPing (Raster Image Processing), to the color separated prepress format that is used by standard computer-to-plate systems that produce four-color photolithographic plates 110 (FIG. 1B) for use on automated large scale offset printing presses 30. By large scale offset printing presses we mean either (a) sheet-fed presses with sheet formats of 530×740 or larger and straight printing rates of 12,000 sheets per hour or higher, or (b) web presses with roll widths of 20 inches or higher and printing rates of 40,000 iph (inches per hour). Large scale offset printing presses include, e.g., Heidelberg, Speedmaster, and other similar or larger printing press production systems.) The server 32 provides a browser interface for use by people who operate the printing presses (“print operators”). Information about how to set up and perform each of the print runs is provided in a simple format to the print operators through the browser interface, as discussed below. The plates are used to print a desired number of copies on a standard printing paper that is loaded by the print operator using standard four-color color process inks, based on meta file information that is provided by the backend printing server to the operator on a web-browser based computer display 32 at the operator's station.
The printed sheets are then transferred to a cutting station 140 (FIG. 1B), where they are cut and sorted into individual print jobs 142, as will be discussed below. In some implementations (such as for presentation folders or envelopes) additional post-print processing is performed such as folding and/or gluing. The orders are then immediately shipped to the respective customers, using shipping information that is displayed on a computer display 34 in the shipping area of the printing facility.
Most customers “pre-pay” (e.g., provide their credit card billing information) upon placing their orders. Some corporate customers may be invoiced. Generally, the customer's credit card is not debited until after the customer's order has been shipped. The backend printing server sends a meta file 144 back to the web server after a shipment has been made, informing the web server of the status of each customer's order. Once an order has been successfully shipped, the backend server interacts with a processing center 146 so that the customer's account will be debited, or, in the case of a corporate customer, sends the corporation an invoice.
Customer Interface with the Internet
The only requirement for use of the print job management system by a customer who is accessing the system through one of the types of browser-based entry ports described above is a computer that is linked to the Internet by a standard recent web browser, e.g., Microsoft Internet Explorer 4.0 or higher. The customer accesses the website 16 by entering the website URL address into the browser. Other entry ports do not even require that the customer have access to a browser, e.g., a dial-up voice telephone link 15e could be used to enter information by voice or punching keys on the telephone keypad.
The design and order process is conducted through the website. The rest of the system is “invisible” to the customer. The customer's order is printed and delivered to the customer without any requirement for further interaction, although the customer may use the website to track the progress of the order through the printing process and the shipment of the order to the customer.
The Website Studio
The website studio allows the customer to design his own print job, using the browser for design selection and editing. The website studio uses a user-friendly “what you see is what you get” (“WYSIWYG”) functionality that allows the customer to choose a base design for a desired printed item (e.g., business card or stationery), and then edit the design. The functionality is similar to that of existing desktop word processing publishing products, making the website easy for most customers to use.
As shown in FIG. 3, using the browser and the Design Wizard portion of the website studio the customer can choose a printed item from a wide selection (e.g., business cards, letterhead, invitations, brochures and marketing materials), choose basic options such as page orientation (portrait or landscape), view a variety of design templates that are available for the item and choose one, complete the template (e.g., by supplying new text, uploading graphics files and adjusting fonts), and save the resulting design. The customer can then add the item to his shopping cart, place an order, or perform further design modifications using the Design Studio portion of the website studio. The design process will be described in further detail below with reference to FIGS. 4-4O. Once the customer is satisfied with the design, the customer can add the design to his shopping cart as a print job, and use the Purchase Wizard, discussed below with reference to FIGS. 4P-4W, or other purchase function, to place an on-line order and pre-pay for the order over a secure connection.
The customer is offered a relatively limited selection of standard papers, to allow easy and cost efficient aggregation of print jobs and printer set-up, as will be discussed below. Customers also select from certain predetermined print quantities, e.g., multiples of 250 units (250, 500, 1000, etc.).
The procedure described above would be followed by a customer entering the system from his individual PC. If other entry ports are used, for example an intermediary port 15b, some of these steps may be bypassed, e.g., the customer may not use a Purchase Wizard to place and pay for the order.
FIGS. 4-4O show webpages from a website studio used in one implementation of the invention. To begin the design process, the customer first navigates from a home page (not shown), to the Design Wizard (FIGS. 4-4E). The Design Wizard is configured to appear to the customer like a standard Windows® Wizard application, e.g., with “back”, “next” and “finish” buttons, giving the customer a feeling of familiarity and user-friendliness. In the Design Wizard, the customer selects the item that the customer wishes to design (e.g., business cards or other items, in FIGS. 4-4E). For business card design, the Design Wizard includes a Welcome screen (FIG. 4), an Orientation screen (FIG. 4A) that allows the customer to choose between horizontal and vertical cards, a Template Browser screen (FIG. 4B) that allows the customer to choose between a variety of different design templates (not shown), an Information screen (FIG. 4C) at which the customer fills in a number of fields to complete the selected design template with the customer's information, and Review screens (FIGS. 4D and 4E) that allow the customer to review the front and back of the resulting business card. After reviewing the card, the customer can decide to (a) go back and edit the card, (b) go to the Checkout (the Purchase Wizard described below), or (c) go to the Design Studio to perform more complicated design functions (e.g., changing fonts and color schemes).
A Design Studio used in one implementation of the invention is shown in FIGS. 4F-4O. When the customer opens the Design Studio, the customer will first see an initial screen (FIG. 4F) with a loading bar, indicating the status of the downloading of the Design Studio to the customer's browser. Each time something (e.g., a font) is downloaded to the customer's browser from the web server, a similar loading bar will be provided. The Design Studio is configured to have toolbars and other features that are similar to those used in standard word processing and desktop publishing user interfaces, so that again the customer will have a feeling of familiarity with the software and will find the software easy to use. In the case of the loading bar, the user is comfortable with the notion that the application is loading even though it is not being loading in the usual sense of being moved from a hard disk to memory in the user's computer. The Design Studio also includes a standard “Startup Tips” dialog box (FIG. 4G), like other Windows® applications, and a Help system.
In the Design Studio, the customer can select a background from a variety of choices (FIG. 4H), use a “picker” dropdown list (FIG. 4I) to select other design features (logos, card layouts, color schemes, designs and fonts), modify those design features, add a logo (FIG. 4I), select a color scheme (FIG. 4J), change the color of selected text (FIG. 4K), change the properties of an image, e.g., the logo (FIG. 4L), view the backside of the card (FIG. 4M), and preview exactly how the front and back of the printed card will look (FIGS. 4N and 4O). The Design Studio features in-place editing, i.e., the customer can double-click on an item and change it directly. While in the Design Studio, the customer can make as many modifications to the fonts, colors, card layout, etc., as desired. The customer can also choose to view the design at low resolution, medium resolution or high resolution. In some implementations, the customer can add text or graphics to the back of the card, in which case in most implementations the existing “advertisement” text is automatically removed and this removal is automatically chosen as a purchase option in the Purchase Wizard. The customer can also choose a blank back side as a purchase option.
If desired, a customer using the Design Studio can upload a graphic file, e.g., containing the customer's logo. The file can be, e.g., created using graphic design software, downloaded from the Internet, taken with a digital camera, or scanned in with an image scanner. Generally, the file should have a relatively high resolution, e.g., at least 300 dpi. Most standard graphics file types are supported. The customer's graphic file is stored in network storage 22, and is referenced by the XML file created by the customer in the website studio and added to the PostScript file for the customer's print job when the PostScript file is created.
When the customer is satisfied with the design of the card, the customer can proceed to the checkout (the Purchase Wizard), or can save the finished design (the customer's print job) for later purchase. In either case, the customer's print job is saved in XML format in the central database 20. The XML file includes the size and orientation of the document, the number of pages, and, for each page, the margins, background, frame design (if any), and the text and graphics elements on the page and their characteristics (color, font, size, etc.).
The website studio is designed for use by customers who have no graphic arts experience or specialized software knowledge, e.g., small business owners who want to “do it all” and workers in companies whose goal is to update information, such as the company address or telephone number, prior to ordering or reordering printed materials.
For users with graphic design experience and desktop publishing software, the web server provides a full toolset that is compatible with leading desktop publishing software such as Quark Express and Adobe InDesign software. Thus, a print job can be designed by a graphic artist, using professional desktop publishing software, and then uploaded to the web server for distributed access to other users at the customer company. For example, the graphic artist can define fixed and variable fields, and an administrator or other designated employees at the company can then be given access to input information (e.g., company address and telephone) into the variable fields, without changing the fixed fields (e g., the overall design and graphics of the print job). As a result, customers having access to desktop publishing software can create their own templates, rather than being limited to the templates offered by the web server host. When the template is uploaded to the web server, it is split into graphic data (logos, fonts, backgrounds and designs) and all other data. The graphic data remains in its original format and is stored in network storage 22, as discussed above. The remaining data and layout information is converted to XML format and stored in the central database 20.
Unlike other previous, server-based approaches, the website studio utilizes browser-based processing to allow high-speed processing when the customer is working interactively to design a print job. The website studio utilizes Javascript and DHTML technologies for the graphic design by the customer, i.e., the web pages that the customer receives and views include not only the static visual display, but also graphic design programs (the website studio) that will run on the customer's browser just as any other application runs on a computer. Thus, the customer can use the browser interface to do graphical design without interacting with, and thus consuming the resources of, the web server.
So that the website studio can be quickly downloaded by the customer, in most implementations the graphic elements, e.g., fonts, backgrounds and logos, used in the website studio are stored in a library in the network storage 22, a copy of which is stored at the printing firm information system 29, as will be discussed below. Thus, a graphic element need only be downloaded by the web server to the browser when it is selected by the customer during the design process. The XML file that results from the design process (the customer's print job) will reference the appropriate information in the centrally stored library. The library is replicated at the printing firms, so that the graphic elements can be inserted during RIPing using OPI (Open Prepress Interface) techniques. The library can be distributed periodically using a CD-ROM publication or other distribution approach so that all parties to the system are working from the same library.
Post-design processes, such as high resolution proofing and processing files, are queued separately and processed by the backend servers independently of the web server, because the customer is not waiting for these processes to be completed and thus processing speed is not a concern.
The web studio may also include a dynamic shopping cart, which allows the customer to access the shopping cart at any time during the design process to add or delete items.
The web studio application is based on modules, to provide an open development architecture. Different modules are plugged into the core libraries to provide additional functionalities, e.g., the Undo/Redo History Manager is a separate module that could be deactivated, by removing a few links, or replaced by a new and more powerful module complying with the same architecture as the current module.
The web studio application uses style sheets to “style” the interface into a usual Windows®-like interface. Using style sheets allows the application to have a smaller overall size, as styling policy is centralized in a few modules that are reused in the application's web pages. Providing a centralized styling policy also allows the web server host to change the look and feel of the web studio interface at any time, just by changing the styles.
In one implementation, the modules use Internet Explorer XML DOM implementations. Using these functionalities, a real-time renderer can be created which will take any XML document and, using XML style-sheets (XSL) transform the document into a WYSIWYG preview. The use of these integrated functionalities allows a small and fast rendering/edition engine.
Using HTCs (HTML components), scalability and processing speed can be enhanced. Also, the web studio application can be designed to behave differently on the result of the XSL transformation, just by using a different previewing style sheet (CSS). Thus, after rendering, the resulting preview can be a simple “flat” preview, or an editable document that the user can interact with.
If the XML Document model is extended to VML (Vector Markup Language), the web site studio is then able to render documents created by most common office applications, e.g., Microsoft Word. The user can then modify such a document and send it to the webserver for printing. This feature enhances the compatibility of the web studio with usual Windows® applications. Extension of the XML document model to VML also allows the web studio application to draw more complex shapes (e.g., ovals, rounded rectangles and curves), apply color gradients and color schemes to complex objects, and use transformations, making it possible for a user to design and print complex documents to suit his or her needs.
The Purchase Wizard
A Purchase Wizard used in one implementation of the invention is shown in FIGS. 4P-4W. Like the Design Wizard, the Purchase Wizard appears to the customer as a standard Windows Wizard application. The Wizard may be configured to run on the user's browser, or on the web server, depending on the preference and resources of the web server host. The final purchase information is transmitted over a secure server connection. The Wizard includes a Welcome screen (FIG. 4P), a Review screen (FIG. 4Q) that gives the customer a final opportunity to review the design, an Address screen (FIG. 4R) that allows the customer to input a shipping address and select an order quantity, one or more Options screens that offer the customer choices of upgrades, e.g., to remove the advertising text on the reverse side (FIG. 4S), a Delivery screen (FIG. 4T) that allows the customer to select delivery options, e.g., expedited delivery, a screen that notifies the customer that the order is being submitted to the server (FIG. 4U), a Billing Information screen that allows the customer to input billing information (FIG. 4V), and a Payment Confirmation screen that asks the customer for final confirmation of the order.
Once an order has been placed, the server stores the customer's order information into the central database 20, including the commercial information regarding the customer's order.
In some implementations, relatively low cost items, e.g., business cards, are offered to customers by the web server host at no charge. The cost of printing these items can be recouped by the web server host by charging a fee for upgrades, e.g., faster delivery, and sales of complementary items such as business card cases. For example, as discussed above, the web server host may include an advertisement (e.g., “Free Business Cards at www.vistaprint.com”) on the back of each free card, and charge a fee if the customer does not wish this advertisement to appear on the customer's cards.
For all orders, the web server host may, if desired, charge additional fees for enhancements such as expedited service and gloss or other special finishes.
Customers can obtain support through the website by visiting a FAQ (“frequently asked questions”) or help page (not shown). In some implementations, the website will also offer interactive online support, support via email, and/or a toll-free number that customers can call for telephone support. If desired by the website host, access to interactive online support, email and telephone support may be restricted to certain preferred customers, e.g., corporate customers having accounts with the website host. Alternatively, the website host may offer these services to all customers at no charge or may charge a fee for access.
As discussed above, the customer can access the website studio using his own computer and browser, or can use another type of entry port, e.g., an intermediary port 15b (such as a terminal at a boutique stationery store), or a large corporate entry port 15c (such as a Communications Department of a large corporation). The entry port need not be based on a web browser, but could be, for example, an email link or dial up telephone line. The customer may use the website studio without assistance, or may describe the desired print job to someone else, e.g., a graphic designer or salesperson at the boutique stationery store, who will use the website studio to design the print job.
The Web Server
In some types of entry port, the web server provides the interaction of the customer with the web studio. The web server uses a typical three-tier architecture to respond to all of the customer page requests, by using server-side scripting to access server objects that implement the business logic, these objects in turn interacting with the central database and network storage to access the necessary data.
Data Storage
Hundreds of thousands (potentially millions) of customer relationships are managed by the system. Each customer order typically involves a relatively large file due to the nature of color graphic printing data. The data storage capacity of the system is robust enough to handle high levels of data storage and data access. The data storage is also capable of acting as a link between the front end at which orders are placed, the design studio, the backend printing servers, and shipping, accounting and marketing systems. A data storage system that is capable of meeting these requirements is an Oracle RDBMS running on a Unix box or a Microsoft SQL Server 7.
All data is stored in either the central database 20 or the network storage 22. Stored data includes business-related information such as information pertaining to customers and orders, and design data specific to each customer's print job.
Network storage 22 includes one or more network attached storage (NAS) systems, and is configured to store all graphical objects that are used by the Design Wizard and Studio and that are uploaded by customers, including logos, backgrounds, fonts and frame designs. The network storage includes a library, which contains all of the backgrounds, logos and fonts that are used by the Design Wizard and Studio. Customer uploaded information is not stored in the library. The library is replicated and sent to each of the printing firms used by the system for print runs, and the contents of the library are referenced by the PostScript layout files sent to the printing firms. The network storage may also contain the web pages used in the website 16.
A very large amount of data is stored in the network storage 22, e.g. up to several terabytes depending on the number of customers using the system. The network storage 22 is completely server independent (it includes its own enclosed CPU) and is directly connected to the local area network (a local area network internally operated by the web server host, including the web servers, the backend servers, and the storage devices), making the stored data available to connected servers, i.e., the web server(s) 18 and the backend printing servers 28. As of the writing of this description, a single NAS system can typically handle from 20 gigabytes to one terabyte of data. Thus, as data space needs increase more disks can be added to the NAS (this operation typically does not require a service shutdown), or, when the limit of each NAS is reached, an additional NAS can be added to the system. As shown in FIG. 5, the web servers, central database, and backend servers are connected to the network storage by an Ethernet.
Central database 20 is a relational database management system (RDBMS) that handles all non-graphical data. This database is designed to handle millions of records. As is customary, the data is organized in tabular form. In one implementation, the database includes the following tables, which include the listed fields. (More, fewer or different tables may be used in other implementations, as needed.)











Table
Fields







Products
unique product (item) ID (i.e., the SKU #) and name,



product description, list price, weight (for shipping)


Print
unique print job ID and name, XML content of print job,


Jobs
SKU # of item (card, envelope, etc.), creation date,



last modification date


Templates
unique template ID and name, XML content of template,



SKU # of item (card, envelope, etc.), creation date,



last modification date, template category


Template
unique category ID and name, parent category ID (tree


Categories
structure), category graphical representation


Shoppers
unique shopper ID, shopper name, number of logins, last



login date, email address/login ID, password


Orders
unique order number, reference to shopper ID, order date,



pricing and tax information, status of order, credit card



authorization number, shipping method, shipper tracking



information, customer shipping and billing information



including priority of order


Ordered
ordered item number, order number (from orders table),


Items
SKU # of item, quantity, pricing information, print job ID


Shopping
Same fields as Orders, but temporary storage


Carts


Shopping
Same fields as Ordered items, but temporary storage


Cart Items


Printer
batch ID number, date sent, status, printer


Batches
ID number and name, quantity of print ran, action to be


(Layouts)
taken when layout is created (none, notify print operator,



send layout to printer, notify and send)


Printer
batch item ID number, ordered item number


Batch
(from ordered items table), batch ID number


Items
(from printer batches table), status of item









Data stays in the database as long as it is needed by the system. Data is maintained in the Orders table after a customer's order has been completed and shipped, to facilitate reordering. To avoid overloading the database, the web server host may place a time limit on reordering, or charge the customer a nominal fee for keeping his information in the database for an extended period of time.
Each time a layout is created, an entry is created in the Layouts table. Depending on the action to be taken, the print operator may be notified by email, or an extranet query can be set up to query the table, or a process may be running at the printer that checks the table for new layouts.
The following status codes may be used in the “status” field in the Orders table:












Status Code
Value
Status description







ST_READY
0
The order has been submitted by the




customer but at this point has not




been processed.


ST_PROCESSING
1
This order is being processed.


ST_CANCELLED
2
This order has been cancelled.


ST_REPEAT
3
There was a problem with this order so it has




been re-submitted. This code is treated by




the system in the same way as an




“unprocessed” order. (Re-submitted




orders can only be re-submitted a few




times before a warning is raised)


ST_DISPATCHED
4
This order has been dispatched and the




tracking information has been updated.


ST_COMPLETED
5
The customer's credit card has been charged.




This order has now been completed.









Order Queuing, Prepress Aggregation and Data Conversion

Prepress aggregation is performed by a prepress aggregation module of the backend printing server, which includes a multi-user PostScript file creator, shown as item 200 in FIG. 8. The file creator collects all of the print jobs that have been received by the web server and queued for printing. The file creator includes four queue-processing components, as follows. The first component 202 creates individual PostScript files 204 for each customer's design, and individual meta files 206, referenced to each customer's PostScript file, that contain job tracking information and other commercial information related to the customer's order. The second component 208 collects these PostScript files, according to aggregation parameters (e.g., job tracking information and size of the printing paper to be used), and aggregates (or “gangs”) them to produce a PostScript file 210 that contains “N-up” designs, the value of N being dependent on the design size, the paper size, and the exact layout required due to requirements such as edge bleed. The third component 212 does an automatic “pre-flight check” on each aggregated PostScript file, thus avoiding the need for further manual intervention. The fourth component 214 optimizes production scheduling and routes the final aggregated PostScript file to a Raster Image Processor (RIP) 220 at the printing cell.
The print jobs are arranged spatially on the master, rather than in chronological order. As a result, several types of items can be aggregated and arranged on a single layout, e.g., postcards, invitations and business cards. For example, as shown in FIG. 2A, the layout can include business cards 50, postcards 53 and invitations 55. If any of the aggregated print jobs are to be printed on both sides, the entire layout will be printed on both sides, with blank areas for any print jobs that are printed only on one side. Some items, e.g., envelopes, generally cannot be aggregated with other types of items because of their specific post-press processing requirements.
Aggregation may be performed in accordance with one of a number of standard aggregation templates, as noted above, or can be done “on the fly”, in any arrangement that will fit within the bounds of the paper sheet to be printed. The prepress aggregation module, a rules-based program, aggregates print jobs by scanning the Ordered Items table of the central database and searching for items (print jobs) that have the same printing requirements, e.g., the same delivery date, paper grade, and post press processing requirements. Scanning generally continues until enough print jobs have been located to fill a layout of a given size. The XML files corresponding to the selected print jobs are then pulled from the Document Table, converted to PostScript files and aggregated, as discussed above.
Printing is generally performed in a base print run of a standard number of sheets, e.g., 250 sheets. The prepress aggregation module automatically deals with a print quantity that is greater than the number of sheets in the base print run by allocating that print file to one or more extra position(s) on the consolidated sheet (master). For example, if the base print run is 250 sheets and a customer orders a print quantity of 500, the customer's design would occupy two positions on the master, whereas if the customer orders a print quantity of 1000 four positions would be occupied. The prepress aggregation module is also able to differentiate between these different quantity orders, and thus when sufficient order volume is being generated at, e.g., 500 units, the module will create a print file with each order occupying only a single position and increase the base print run to 500 sheets, further reducing unit cost. Also, in the unlikely event that insufficient orders are received over a period of time, one or more position(s) on the master may be left blank.
In some implementations, the prepress aggregation module is configured to provide digital management of queues to allow a customer to choose to have his order expedited for an additional cost. Expedited orders are queued ahead of non-expedited orders, so that non-expedited orders will be printed later, e.g., 5-7 days later, than expedited orders which are printed immediately. As a result, all orders can be shipped immediately after printing, without the need for the printing from to sort out and hold back non-expedited orders. If there are a few particularly high priority jobs waiting to be printed, the program with aggregate these jobs and send them to be printed immediately, without waiting for enough orders to be received to fill a layout.
The Backend Printing, Interface
The backend printing servers do not interact directly with the customers. The backend printing servers do the processing (e.g., print job aggregation and printer preparation and optimization) that occurs after the customers have designed the print job and placed orders. Generally, communications between the backend printing servers and the print subcontractors are handled over dedicated leased lines due to the high volume of real-time data transfer from the backend print servers to the print production floor.
After the print jobs have been aggregated and queued by the prepress aggregation module, as described above, the resulting layout and aggregate meta file are sent by the backend printing servers to designated printing firms. The printing firm to which the data is sent may be selected by an automated bidding process, which will be described below. The digital data is then used to make color-separated offset printing plates in accordance with the layout. The printing plates are generally prepared in advance of the time allotted for the print run, e.g., the layout and meta file are sent at least an hour before the scheduled print run and the plates are formed immediately (plate forming generally takes about 10-15 minutes or less).
Once the printing plates have been formed, the operator of the printing press loads the specified grade and quantity of printing paper for the aggregate print run, e.g., 250 sheets plus “overage” for a 250 sheet run of business cards. For this purpose, the operator refers to a browser-based terminal at his work-station, which displays information from the meta file concerning the print run. The print run is then performed, resulting in the desired number of printed sheets, e.g., a stack of 250 printed sheets for a 250 sheet run. The system can organize multiple aggregate print runs that use the same paper base, thus eliminating the need for paper changes.
Post-Press Processing
Referring to FIGS. 1B and 6, there are several steps that take place after a print run. These steps include cutting, post-forming (in some cases), sorting, packing and shipping. These steps are described in detail below.
Print jobs that are part of an order (e.g., letterhead) can be held until other print jobs that are part of the same order (e.g., envelopes) are ready. (In some cases, the different parts of a customer's order may be printed at different printers, in which case they will be shipped separately.) In some cases shipments may also be tracked and customers informed of the location/status of their orders.
Cutting and Forming
To cut the stack of sheets into individual customers' print jobs, the operator selects an appropriate template by again referring to the terminal information, and/or by referring to a batch number (or “template-layout reference number”) on the printing plate or printed in the margin area of the printed sheets (e.g., a bar code 51, FIG. 2). The sheets are moved, as a stack, to a cutting station (e.g., a guillotine cutter), the template is placed on top of the stack of sheets, and the operator enters the template-layout reference number into another terminal to program the guillotine cutter (or the template-layout reference number is automatically downloaded to the terminal). The guillotine cutter then cuts the stack of sheets, forming individual stacks of items (e.g., business cards, postcards, etc.). In high volume applications, the guillotine cutter can be replaced by automatic cutting or blanking equipment such as is used for cutting labels. While a guillotine cutter is used for most items, e.g., business cards, postcards, and other flat items), some items will require other post forming processes. For example, envelopes are formed using standard envelope forming equipment, including a hydraulic die cutter and an envelope folding and gluing machine. Because the folding and gluing machines generally require relatively high volumes (e.g., 150,000 units or more), it is necessary to accumulate the printed sheets from print runs until the necessary unit volume is reached. In order to keep track of individual print jobs, a marker is placed between each print job and the following print job. This can be accomplished, for example, by using a heavy, brightly colored cardboard sheet as the template, resulting in a brightly colored, sturdy marker at the top of each stack of printed items in a given order. The stacks of items can then be stacked and set aside, or transferred directly to the envelope folding and gluing machine and left there until there are a sufficient number of sheets to operate the machine.
Other items that require post-processing, e.g., folders, are processed using appropriate cutting and post-forming techniques, which are well known.
Sorting and Shipping
After cutting is completed, an operator refers to simple instructions displayed by a terminal, indicating how to package the items. The instructions also indicate whether certain stacks of items should be set aside until a subsequent print run has been completed, e.g., if a customer has ordered both business cards and letterhead stationery.
Shipping labels will be printed automatically by a printer attached to one of the browser-based terminals, allowing the operator to easily label the packages for shipping. The labels will generally include a bar code to facilitate shipping using optical-reader based systems, e.g., as used by UPS and FedX carriers. When these carriers are used, the information scanned in by the optical reader can be used by the web server host to track the location of a shipment and, if desired, to inform a customer of the location and/or status of the customer's order. After an order has been packed and labeled, the operator can simply drop it into a carrier's bin (e.g., a UPS bin) on site.
As discussed above, most customers will have pre-paid during ordering, while some corporate customers will have accounts with the web server host, allowing invoicing and later payment. Debiting and invoicing of customers is conducted by the backend server upon receipt of a meta file from the printing facility indicating that orders have been successfully shipped.
The printing facility and carrier are paid by an automated accounts payable management system after printing and shipping have been successfully completed.
System Scalability
Referring to FIG. 7, while a single web server is shown in FIG. 1 for clarity, the system will generally include more than one web server to accommodate a very large volume of users. For example, for volumes of up to around 2 million visits a month, the browser-based processing of the system allows for a small, dedicated print-processing server farm of fewer than 5 servers. The system may be scaled to accommodate many times this amount of visits simply by adding more servers.
The servers are arranged in a “web server farm”, i.e., all of the servers used are strictly identical, and the system architecture is implemented so that additional customer requests, that cannot be handled by the existing servers, can be handled by simply adding an extra identical server to the farm. The backend printing servers 28 are also arranged in a farm configuration.
In a farm configuration, the load is split between the available servers, so that if more servers are needed either due to overloading of the system or due to a server breaking down the load will continue to be split proportionally among the servers after one is added, removed or replaced.
Automated Bidding Exchange for Printing Services
As shown in FIG. 1, the web server host has supplier relationships with a number of printing firms that are equipped to receive digital data (layouts) and informational data (meta files) from the system servers. The system includes a program that includes a digital database containing the meta files for each layout. The program fills customer orders by purchasing printing services based on automated real time bidding of commodity costs (i.e., paper and ink costs and/or depreciation). The printing firms bid for near-term printing services based on the capacity utilization of the printer at the time the printing services are needed, by accessing certain parts of the program via the Internet. For instance, if a printing firm anticipates a near-term situation of unused capacity, the printing firm will generally price that time period at just above marginal (commodity) cost. The program selects the most attractive bid from among the printing firms and transmits the digital data to that firm. The directing and redirecting of capacity can be done up to the very moment of production release.
The program may be configured to award a printing contract to the printing firm that is the lowest bidder, or to award the contract based on a group of selection criteria, e.g., quality, lead time, price, and history.
The printing firms may enter into the bidding process through a website operated by the web server host, e.g., by posting information regarding one-time availability, by posting information regarding long term availability (e.g., that a certain time slot is available every day or each week), or by responding to information regarding layouts that has been posted by the web server host. In some implementations the web site is configured so that a printer will only see information pertaining to layouts that could be printed by that printer (i.e., the printer will not see information pertaining to layouts that are in a format that is larger than the format the printer's press can accommodate.)
In some cases, the bidding process will be bypassed entirely. For example, if the web server has a layout that is particularly suitable for a specific printing firm, and the web server knows that the printing firm is available to print the layout, the web server may send the layout and meta files to the printing firm without putting the layout up for bidding by other firms.
Implementations of the invention involve a division of the characteristics (and especially the costs) of the printing product into two major groups: the commodity aspects and costs; and the informational (or custom) aspects and costs.
The commodity aspects and costs are those that are deliberately forced to be non-varying among all of the print jobs. These include papers, inks and depreciation. Only a relatively small set of different papers may be permitted which reduces the cost of the paper to a bare minimum. Only standard process inks may be permitted, which similarly reduces ink costs to a bare minimum. Finally, printing equipment costs (including depreciation expense) are also in the nature of a commodity across the many jobs that are to be printed. The goal is to reduce these costs to the bare minimum that would be achieved were the presses to be run at full capacity and with zero setup time. The costs are driven toward this result by using techniques that reduce the setup time to a bare minimum and give the printer equipment owners a medium for easily filling essentially all of their unused capacity.
On the informational (custom) side are such aspects as definition of content of each print job, price, delivery, and other terms, the ability to reduce capacity underutilization, color definition and verification, variations in quantity, the details of delivery and invoicing, the details of change over and setup, and marketing and sales efforts. On this informational side, too, the goal of the implementations is to drive the costs down (in theory to near zero) using information technology, electronic communication, and other techniques.
Other embodiments are within the scope of the claims. For example, while fixed and variable fields are discussed above in the context of customer-defined templates, in some implementations the web server host may provide templates having this feature as part of the website studio.

## Claims

1. A computer-implemented method for creating an electronic product design, the method comprising:
downloading one or more product design software tools to a user computer, the tools being adapted to execute in the browser of the user computer and allow the user of the user computer to edit a downloaded product design template at the user computer to create a custom product design,
providing a plurality of template images for viewing by the user of the user computer, the images representing electronic product design templates editable at the user computer by the user,
in response to the user's selection of one of the template images, downloading an editable product design template associated with the selected template image, the downloaded product design template being a partially completed electronic product design, and
allowing the user to use one or more of the tools to edit the downloaded template to incorporate content at the user computer into the downloaded product design template to create a custom electronic product design at the user computer.

2. The method of claim 1 further comprising allowing the user to upload the electronic product design over a computer network to a server.

3. The method of claim 2 further comprising allowing the user to place an order for production of a quantity of a physical product corresponding to the electronic product design.

4. The method of claim 1 wherein tools display the electronic product design to the user in WYSIWYG form.

5. The method of claim 1 further comprising allowing the user to modify at least one feature of the selected product design template during the electronic product design process.

6. The method of claim 1 further comprising allowing the user to modify at least one feature of at least some of the user content incorporated in the selected product design template.

7. The method of claim 1 wherein the template images are displayed at a reduced size that allows a plurality of template images to be simultaneously displayed to the user.

8. The method of claim 1 wherein the user is creating an electronic product design for another party.

9. The method of claim 8 wherein the other party provides product design information for use by the user in connection in creating the product design.

10. The method of claim 9 wherein the other party provides at least some product design information via one or more electronic communications.

11. The method of claim 9 wherein the other party provides at least some product design information via one or more voice communications.

12. The method of claim 9 wherein the other party communicates directly with the user.

13. The method of claim 9 wherein the other party communicates with the user via one or more intermediary parties.

14. The method of claim 9 wherein product design information provided by the other party comprises information identifying the type of product design desired by the other party.

15. The method of claim 9 wherein product design information provided by the other party comprises content that the other party desires be incorporated into an electronic product design.

16. The method of claim 15 wherein the content comprises text content.

17. The method of claim 15 wherein the content comprises one or more graphic files.

18. The method of claim 9 further comprising making the created electronic product design available to the other party.

19. The method of claim 18 wherein product design information provided by the other party comprises one or more requested modifications to the created electronic product design.

20. The method of claim 18 wherein product design information provided by the other party comprises a request that the user create one or more new electronic product designs.

21. The method of claim 9 wherein the product design information provided by the other party comprises the identification of one or more product design templates.

22. The method of claim 21 wherein the product design information provided by the other party comprises information describing one or more desired modifications to one or more of the one or more identified product design templates.

23. The method of claim 9 further comprising
providing one or more template creation software tools to the user, and
allowing the user to create one or more product design templates in response to product design information provided by the other party.

24. The method of claim 23 further comprising allowing the user to use one or more of the created product design templates to create one or more electronic product designs.

25. The method of claim 24 further comprising making one or more of the created electronic product designs available to the other party.

26. The method of claim 25 wherein product design information provided by the other party comprises one or more requested modifications to one or more of the created electronic product designs.

27. The method of claim 1 further comprising providing support to the user while the user is using the tools.

28. The method of claim 27 wherein support is provided by at least one design assistant.

29. The method of claim 28 wherein the design assistant is remote from the user.

30. The method of claim 28 wherein support is provided via one or more voice communications.

31. The method of claim 28 wherein support is provided via one or more electronic communications.

32. The method of claim 31 wherein the design assistant is local to the user and support is provided in person.

33. The method of claim 28 wherein support comprises assisting the user in modifying an electronic product design.

34. The method of claim 28 wherein support comprises assisting the user in incorporating content into an electronic product design.

35. The method of claim 28 wherein support comprises assisting the user with placing an order for the production of a quantity of a physical product corresponding to an electronic product design.

36. The method of claim 28 wherein support comprises creating a new product design template for the user.

37. The method of claim 28 wherein support comprises creating an electronic product design for the user.

38. The method of claim 1 further comprising:
receiving information related to one or more product designs desired by the user, and
based on at least some of the received information, creating one or more electronic product designs for at least one product design desired by the user.

39. The method of claim 38 wherein the received information comprises an identification of the type of product design desired by the user.

40. The method of claim 38 wherein the received information comprises content supplied by the user for incorporation into the electronic product design.

41. The method of claim 38 further comprising making at least one created electronic product design available to the user.

42. The method of claim 41 further comprising allowing the user to modify at least one created electronic product design using the tools.

43. The method of claim 38 wherein the one or more electronic product designs are created by one or more design assistants remote from the user.

44. The method of claim 43 wherein one or more of the electronic product designs are created using one or more desktop publishing tools.

45. The method of claim 43 wherein one or more of the electronic product designs are created using at least some of the product design tools executing in the browser of the design assistant computer.

46. A computer-implemented method for creating an electronic product at a user computer comprising
receiving one or more product design software tools over a computer network, the tools being adapted to execute in the browser of the user computer, display one or more product template images representing product design templates editable at the user computer to the user of the user computer, each product template image being a partially completed electronic design, and allow the user to select a product template image,
receiving over a computer network an editable product template associated with a selected product template image,
executing at least one of the tools in the browser in response to user input to incorporate content at the user computer into the received product template to create a custom electronic product design at the user computer, and
requesting the production of a quantity of a physical product corresponding to the electronic product design.

47. The method of claim 46 further comprising executing the tools in the user's browser in response to user input to allow the user to modify at least one feature of the selected template.

48. The method of claim 46 further comprising executing the tools in the user's browser in response to user input to allow the user to modify at least one feature of at least some user content in the selected template.

49. The method of claim 46 further comprising uploading the electronic design over a computer network to a server.

50. A computer-implemented method for creating an electronic product comprising
downloading one or more product design software tools over a computer network to a user computer, the tools being adapted to execute in the browser of the user computer, display one or more product template images representing product templates editable at the user computer to the user, display a downloaded editable product template corresponding to a product template image selected by the user, the product template being a partially completed electronic product design, and allow the user to use one or more of the downloaded tools to incorporate content at the user computer into the product template to create a custom electronic product design at the user computer, and
receiving the electronic product design from the user computer.

51. The method of claim 50 wherein the tools are adapted to allow the user to modify at least one feature of the selected template.

52. The method of claim 51 wherein the tools are adapted to allow the user to modify at least one feature of at least some user content in the selected template.

53. The method of claim 50 further comprising
downloading one or more product design software tools over a computer network to a design assistant computer, the tools being adapted to execute in the browser of the design assistant computer, display one or more product template images to the design assistant, display a product template corresponding to a product template image selected by the design assistant, and incorporate content into the selected product template to create an electronic product design, and
providing user product design information to the design assistant.

54. The method of claim 53 wherein at least some of the product design information is provided via one or more electronic communications.

55. The method of claim 53 wherein at least some of the product design information is provided via one or more voice communications.

56. The method of claim 53 wherein the product design information is received directly from the user.

57. The method of claim 53 wherein the product design information is received via one or more intermediary parties.

58. The method of claim 53 wherein the product design information comprises content that the user desires be incorporated into the electronic product design by the design assistant.

59. The method of claim 53 wherein the product design information comprises one or more requested modifications one or more electronic product designs.

60. The method of claim 53 further comprising the design assistant creating one or more electronic product designs based on the provided product design information.

61. The method of claim 50 further comprising
receiving product design information from the user,
creating one or more electronic product designs in response to the product design information, and
making at least one of the created electronic product designs available to the user for use in creating an electrode product design.

62. The method of claim 61 wherein at least some of the product design information is received via one or more electronic communications.

63. The method of claim 61 wherein at least some of the product design information is received via one or more voice communications.

64. The method of claim 61 wherein at least some of the product design information is received directly from the user.

65. The method of claim 61 wherein at least some of the product design information is received via one or more intermediary parties.

66. The method of claim 61 wherein the product design information comprises content that the user desires be incorporated into at least one electronic product design.

67. The method of claim 66 wherein the content product design information comprises one or more requested modifications one or more created electronic product designs.

68. The method of claim 61 further comprising making one or more of the one or more created electronic product designs available to the user.

69. The method of claim 50 further comprising
receiving product design information from the user,
creating one or more editable product design templates in response to the product design information, and
downloading at least one of the created product design templates to the user computer for use by the user at the user computer in creating an electronic product design.

70. The method of claim 69 wherein the product design information comprises content that the user desires be incorporated into at least one product design template.