GB2499043A - Modification of a printer user interface - Google Patents

Modification of a printer user interface Download PDF

Info

Publication number
GB2499043A
GB2499043A GB1202001.2A GB201202001A GB2499043A GB 2499043 A GB2499043 A GB 2499043A GB 201202001 A GB201202001 A GB 201202001A GB 2499043 A GB2499043 A GB 2499043A
Authority
GB
United Kingdom
Prior art keywords
printer
processes
user interface
print
printing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
GB1202001.2A
Other versions
GB201202001D0 (en
Inventor
Patrick Stead
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
EBP GROUP Ltd
Original Assignee
EBP GROUP Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by EBP GROUP Ltd filed Critical EBP GROUP Ltd
Priority to GB1202001.2A priority Critical patent/GB2499043A/en
Publication of GB201202001D0 publication Critical patent/GB201202001D0/en
Priority to EP13711096.1A priority patent/EP2812789A1/en
Priority to PCT/GB2013/050268 priority patent/WO2013117919A1/en
Publication of GB2499043A publication Critical patent/GB2499043A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1289Remote printer device, e.g. being remote from client or server in server-client-printer device configuration, e.g. the server does not see the printer
    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03GELECTROGRAPHY; ELECTROPHOTOGRAPHY; MAGNETOGRAPHY
    • G03G15/00Apparatus for electrographic processes using a charge pattern
    • G03G15/50Machine control of apparatus for electrographic processes using a charge pattern, e.g. regulating differents parts of the machine, multimode copiers, microprocessor control
    • G03G15/5016User-machine interface; Display panels; Control console
    • G03G15/502User-machine interface; Display panels; Control console relating to the structure of the control menu, e.g. pop-up menus, help screens
    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03GELECTROGRAPHY; ELECTROPHOTOGRAPHY; MAGNETOGRAPHY
    • G03G15/00Apparatus for electrographic processes using a charge pattern
    • G03G15/55Self-diagnostics; Malfunction or lifetime display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1204Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1224Client or server resources management
    • G06F3/1225Software update, e.g. print driver, modules, plug-ins, fonts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1293Printer information exchange with computer
    • G06F3/1294Status or feedback related to information exchange
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/121Facilitating exception or error detection and recovery, e.g. fault, media or consumables depleted

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

Predetermined actions relating to a printing process initiated on a computing system for printing on a printer are detected, e.g. the opening of a dialog box, a pop-up warning concerning the use of manufacturer non-approved consumables or the suppression of ink level information provision. One or more processes started in response to the predetermined actions are stopped or modified, or new a process is started in response to the predetermined actions. Print driver warning pop-up messages regarding the use of non OEM consumables can be blocked, a dialogue box can be expanded to include advertising dialog, and ink level information may be provided were it might otherwise not be provided. A print driver may therefore be augmented/modified to block warnings concerning the use of consumables that are not authorised, to provide ink level information and advertisements.

Description

PRINTER USER INTERFACE
Field of Invention
The present invention relates to a printer user interface, and more specifically to a 5 method of customising user interaction with a printing system. In aspects, the present invention relates to computer software used on a computer system where the printing system comprises a printer associated with a printer driver on that computer system.
10 Background to the Invention
A conventional printing system used by a user of a personal computer will employ a printer (such as an inkjet printer or a laser printer) using consumables such as printer cartridges to print documents under the control of a printer driver running on the user's personal computer. An application configured to print a document will invoke 15 the printer driver, which will then provide an appropriate print job to be performed by the printer according to its capabilities. The user's interaction with the printer will be determined largely by the operating system and the printer driver, though individual applications may provide customised windows associated with printing.
20 Individual printers or groups of printers have typically had their own printer drivers -these have been relatively complex pieces of software designed specifically for particular printers. This approach has been necessary for older printers and operating systems, but has been found to be undesirable for operating system stability because of complexity and the need to run such software as privileged 25 processes.
More modern printers and operating systems provide an alternative approach. For example, current implementations of Microsoft Windows use UniDrv, a "universal" printer driver for non-PostScript printers. This is the true "printer driver" under such 30 an operating system. Printer manufacturers (original printer manufacturers - and their associated consumable manufacturers - will be described below as original equipment manufacturers, or OEMs) describe the specifications and capabilities of a specific printer in a GPD (General Printer Description) text file, known as a UniDrv mini-driver. This is typically the only additional component needed to use a printer 35 under such an operating system - this can be used by the universal printer driver to populate a generic printer properties dialogue.
1
Where an OEM would previously provide a printer driver, it will now typically.provide a GPD file together with a dynamic link library (DLL) and other software components provided as binaries in a "driver package". The DLL is used as a user interface plug-in to allow printer properties to be set in an OEM user interface - where this is 5 missing, the operating system will simply infer what settings can be changed and present a generic printer properties dialogue. Other software components provided are associated with the printing process but not necessary to it - such as, for example, processes for reporting ink or toner level in consumables, or warning of non-OEM consumables or providing a purchase path for new OEM consumables.
10
An individual printer will have its own firmware in the printer itself, and may have additional components (such as ink or toner sensors) which can provide information to be provided in messages back to the computing system. Such messages may be used by the OEM software components to provide functionality specific to that
15 manufacturer or to that printer - for example, sensor messages may be used to provide a display of cartridge ink or toner levels to prompt the user to order new consumables.
A printing system will generally be adapted to detect whether or not a consumable is
20 an OEM consumable or an alternative non-OEM consumable. The OEM software components will typically provide a notification to the user or deliver a changed functionality when an alternative non-OEM consumable is detected. Messages, typically pop-up windows, will be displayed to the user indicating that the consumable is not an OEM consumable and warning of performance or warranty issues.
25 Functionality normally present may be suppressed when using a non OEM
consumable - for example, the printer may no longer detect ink or toner levels or may no longer provide them to the user. The printing system may also provide inappropriate messages - such as an invitation to buy new OEM consumables when an ink level in the active non-OEM consumable is detected to be low.
30
It is therefore desirable to provide a way to allow a user to improve the character and the functionality of the user interface to their printing system when an alternative compatible consumable is used.
35 Summary of Invention
In a first aspect, the invention provides a method of customising user interaction with a printing system comprising a computing system and a printer, the method
2
comprising: detecting predetermined actions relating to a printing process initiated on the computing system for printing on the printer; stopping or modifying operation of one or more processes started on the computing system in response to the predetermined actions or starting new processes in response to the predetermined 5 actions, wherein the stopping, modifying or starting operation of processes results in a modification to a display of a user interface of the printing system to a user in relation to that printing process.
This approach allows functionality of the printer user interface to be enhanced 10 beyond that allowed by the printer driver, either by providing information or interaction possibilities suppressed or simply not available to the printer driver, or by preventing actions or behaviours relating to the user interface of the printing system that are unwanted by the user. The user interface of the printing system comprises all interactions between the printing system and the user, and extends beyond 15 commands for a current printing operation to display of status and advice relating to components of the printing system and use of the printing system, such as status indication and warnings. Modifying the operation of processes or the starting of new processes may allow existing processes to continue, but so that their effect in the presentation of a printing system user interface to a user is suppressed or modified.
20
Advantageously, at least some of the actions relate to creation of warning messages relating to a provenance of a printer consumable, and wherein processes are stopped or modified to prevent appearance of such warning messages. This allows unwanted "pop-up" messages relating to cartridge provenance to be blocked.
25
Preferably, at least some of the actions relate to creation of a print dialogue box, and wherein operation of processes is modified or new processes are started to supplement the print dialogue box. In one such approach, the print dialogue box is expanded and additional messages are provided in an additional window within the 30 print dialogue box. In another such approach, an auxiliary print dialogue box is created and additional messages are provided within the auxiliary print dialogue box. Advantageously, the additional messages provide one or more links to access a remote server.
35 In another arrangement, at least some of the actions relate to sending a print job to the printer, and wherein processes are started to provide a display of ink or toner levels for consumables of the printer to the user. Preferably said at least some of the
3
actions comprise a print spooler sending the print job to the printer. Advantageously, the processes comprise processes to create an additional user interface window to display ink or toner level data. The additional user interface window may then display one or more links to access a remote server for order of consumables. This 5 additional user interface window may if desired be displayed only when the ink or toner level of a consumable is below a threshold level. This approach may involve calculating ink or toner usage in the print job sent to the printer to determine an ink or toner level for each of a monitored set of consumables - in a preferred approach, the ink or toner usage is determined from an Extended Metafile Format representation of 10 the print job, and ink or toner levels for each of the monitored set of consumables calculated therefrom.
In one preferred approach, detecting predetermined actions comprises adding a global hook to a hook chain provided by an operating system of the computing 15 system. In another preferred approach, detecting predetermined actions comprises registration for notifications with an observation system provided by an operating system of the computing system.
In a further aspect, the invention provides a software program product which, when 20 executed by a processor of a computing system having a printer driver installed thereon for controlling a printing system, is adapted to perform the methods described above.
Brief Description of Drawings 25 Specific embodiments of the invention will be described below, by way of example, with reference to the accompanying drawings, of which:
Figure 1 shows the elements of a printing system associated with a user's computer system;
30
Figure 2 illustrates schematically applications and processes operating within the user's computer system in the printing system of Figure 1;
Figure 3 shows schematically a process of downloading a printer customisation 35 application according to an embodiment of the invention;
4
Figure 4 shows functional processes in the interaction of a printer customisation application according to an embodiment of the invention with a printer driver of the printing system of Figure 1;
5 Figure 5 shows schematically a process of dialogue box augmentation by the printer customisation application of Figure 4;
Figure 6 shows schematically a process of pop-up suppression by the printer customisation application of Figure 4;
10
Figures 7 A and 7B show examples of expanded and added dialogue boxes generated by the process of Figure 5;
Figure 8 shows a process of ink level determination and reorder messaging by the 15 printer customisation application of Figure 4;
Figure 9 shows a process of ink level calculation for use in embodiments of the process of ink level determination of Figure 8; and
20 Figure 10 shows a process of statistics generation and reporting by the printer customisation application of Figure 4.
Detailed Description of Specific Embodiments
The elements of a printing system suitable for use with embodiments of the invention 25 are described below with reference to Figure 1. As the skilled person will appreciate, embodiments of the invention may also be employed in differently configured printing systems, for example where computers and printers are connected together by networking components.
30 A user interacts with the printing system through a personal computer 1 (though the term "personal computer" is used here, it is used only in the sense of computing apparatus associated with a particular user, rather than implying any particular manufacturer or operating system), which comprises a processor 10 and a memory 12. The personal computer drives outputs such as display 30 and receives user 35 input from user input means such as keyboard 32 and mouse 34. The personal computer is also connected, directly from an appropriate port or indirectly through a network, to a printer 2. The processor 10 of the personal computer runs applications
5
14 stored in the memory 12 and performs processes under the control of an operating system 16 - these applications include a printer driver 14a to control the printing of image data provided by applications running on the personal computer 1. The software elements present in the personal computer are described in more detail 5 below with reference to Figure 2.
As indicated, the personal computer 1 is connected directly or indirectly to a printer 2. The printer 2 comprises a print engine 20 which prints images using ink or toner from one or more consumables 22, such as ink or toner cartridges. Where "ink" or "toner" 10 is used below, the skilled person would appreciate that this use is not exclusive and either term could be applied - embodiments of the present invention are applicable to printing systems employing any form of consumable used for marking. The printer 2 contains a printer processor 24 and a printer memory 26. The printer memory 26 contains firmware executed by the printer processor 24 to operate the printer 2 to 15 print image data received from the personal computer 2. Some printers 2 may also comprise sensors 28 used to measure relevant aspects of the status of the printer, such as the level of ink or toner in a consumable 22.
The personal computer 1 is adapted to connect to remote computing apparatus such 20 as web server 5 or licensing server 6 through the public internet 7 or any other appropriate network. Applications 14 can therefore display content served by web server 5 to the user (for example, by display 30) if these applications contain or can access the necessary browsing functionality.
25 Figure 2 indicates relevant aspects of the software organisation of the personal computer 1 of Figure 1.
The personal computer 1 runs under the control of an operating system 200, such as Windows Vista or Windows 7. The operating system 200 starts and stops processes 30 201, 202 etc. to carry out functions on the computing platform, to interact with peripherals and to provide an environment for applications programs to run. Print driver 210 is a specific software application provided to enable image data to be provided to a printer in the appropriate form, and to allow the printer 2 to be controlled or managed effectively from the personal computer 1. Typically, the 35 printer driver 210 will be provided by the printer manufacturer - however, typically the elements of a printer driver will be largely mandated by the operating system. The
6
printer driver 210 can thus be considered as two parts - an operating system mandated part 210a and a manufacturer determined part 210b.
A number of applications 221, 222, 223 are provided to run on the personal computer 5 - some or all of these applications will provide output for display on display 30 or for printing on printer 2. In a printing operation, these applications will typically respond to a print command received through the user interface of the computer (keyboard 32 or mouse 34, for example) by generating image data for rendering by the printer 2 through the printer driver 210. For a Windows system, the applications will typically 10 do this by using a set of standard APIs (for example, the Graphics Device Interface (GDI) or by using the XML Paper Specification (XPS)). The printer driver 210 provides image data for printing in a form that the printer 2 can process (for example, in a language such as PCL) and also provides appropriate printer control. The firmware running on the printer processor 24 within the printer processes the image 15 data received from the printer driver 210 to drive the print engine 20.
The printer driver 210 and other device drivers start and stop processes running under the control of the operating system 200. They also generate events, and can use the operating system to detect events which have been created by other 20 elements of the computer system. Applications 221, 222 and 223 similarly start and stop processes and create and can detect events. An operating system 200 may provide a hook to allow events to be intercepted. A hook is a mechanism by which an application or other software can intercept events, such as messages, mouse actions, and keystrokes. In a Microsoft Windows operating system, hooks are 25 implemented by having one or more hook chains to which applications can be attached (using the SetWindowsHookEx command), which allows the application to intercept specified events from the Windows user interface manager while also communicating events along the hook chain to other applications. This hook chain functionality is typically used by applications such as computer-based training 30 applications, which detect user keystrokes to determine whether tasks have been completed successfully, and anti-virus software, which will detect and suppress unauthorised processes such as those created by spyware.
A user's typical interaction with a printer will start by the running of an application 35 221, such as a word processing program or a browser. A print command will be executed within the application 221, leading to the creation of a print dialogue box. For most operating systems, these will have a standard form provided by the
7
operating system, but it is possible that individual applications will provide some customisation of their appearance. The printer driver 210 receives the print command and subsequently the image data and the information received through the print dialogue box to provide the image data generated by the application 221 in the 5 appropriate form for the printer 2, which then prints the document using print engine 20 under control of printer firmware. The printer driver 210 is typically provided by the printer manufacturer, and will typically at the time of a print event provide additional windows to a user. If the consumable 22 is detected by the printer 2 not to be one manufactured or otherwise authorised by the manufacturer itself, the printer 10 driver 210 will typically generate pop-up windows providing warnings that this is the case. During the printing operation, the printer driver 210 may provide another window indicating the ink or toner level status of each consumable 22 - this status will typically be determined by measurement within the printer 2 itself using systems proprietary to individual manufacturers. If an ink level threshold is triggered, the ink 15 or toner level status window may be modified, or another window created, to provide an online order channel for the user to the manufacturer or to a manufacturer-approved reseller.
The control of the printer driver by the printer manufacturer can lead to 20 inconvenience to the user and unfair economic advantage to the manufacturer if the user chooses to use consumables which are not provided by or otherwise authorised by the printer manufacturer. Some useful functionality - such as ink or toner level measurement - may be suppressed by the printer driver when unauthorised consumables are used. Other functionality - such as dramatic pop-up warnings 25 appearing at the time of any printing operation - has a negative effect on the user experience, and the provision of a specific manufacturer-chosen sales channel when a low ink threshold is reached provides an economic benefit to the original manufacturer.
30 Accordingly, aspects of the invention provide functionality to improve the user experience and to provide sales channel information consistent with the user's choice of consumable. This functionality is achieved by use of a software application to improve the printer user interface for the user. The installation and use of this software application is described in detail below.
35
The printer user interface application will typically be provided by download to the user from a server accessible through the public Internet. The process steps are
8
shown in Figure 3. On purchase 300 of a consumable, the user will have access to a URL, for example from the consumable packaging. Entering the URL into the user's browser allows access 310 to a download website, where the user is given the opportunity of downloading the printer user interface software to their personal 5 computer 1. Different choices of software application version may be available for different operating systems or for different printer types - preferably, a single application version or a limited set of application versions are provided, or the active operating system is detected before the download process begins so that the correct application version is selected. The user then selects the appropriate link and 10 downloads 320 the software application. The downloaded application is then received at the personal computer 1 and the user is prompted to install 330 it in the appropriate manner for that browser and operating system. On installation, the software application will then operate in the manner set out below.
15 Figure 4 shows the interaction between different software components involved in an embodiment of the invention, and in particular between print-generating applications 410, the printer driver 420 and print spooler 450, the printer user interface software application 430 and the operating system 400. The block arrows show the flow of image information from applications 410 to print driver 420 and print spooler 450 and 20 hence to printer 2. Specific parts of the operating system 400 are shown as discrete elements within it. The following description relates specifically to Windows Vista and Windows 7, but is exemplary of an approach that may be used with other operating systems.
25 The printer user interface application 430 uses, in this embodiment, two approaches to monitoring key events - both approaches involve registration with an appropriate part of the operating system. The first approach uses global hook chains - the relevant part of the operating system 400 is the user interface manager 401, specifically the Desktop Window Manager (DWM) within the Windows operating 30 system. The printer user interface application 430 registers with the DWM by using SetWindowsHookEx to place it in relevant global hook chains 460 to detect particular events taking place on the system. A global hook will detect any instance of this event - thread hooks, which are limited to one computational thread, also exist but global hooks are used in this embodiment as the printer driver augmentation 35 processes need to operate irrespective of which application has initiated printing activity. There may be multiple hook chains in operation - for example, 64-bit Windows systems have a 32-bit hook chain and a 64-bit hook chain so that
9
applications running under both levels are monitored. Printing activity by a print-generating application 410 leads to creation of events 411 and processes 412 by that application and by print-related applications such as the printer driver 420 and print spooler 450 - these events and processes are shown as a stream fed by these 5 different applications (also by the operating system, though this is not explicitly shown). These events 411, which may include starting and stopping of processes 412, are detectable by the printer driver augmentation software 430 by virtue of the global hooks 461 that have been added to the respective hook chains. The printer driver augmentation software 430 uses the detected events to add, suppress or 10 modify processes 412 to be carried out by the operating system 400 relating to the printing activity.
The second approach to monitoring events uses pre-existing monitoring systems provided in instrumentation of existing software components. In this case, print 15 spooler events are monitored by using the Windows Management Instrumentation (WMI) subsystem 402 of the operating system 400. The print spooler 450 is instrumented using WMI so print spooler events 451, such as the sending of a print job to the printer, are notifiable by the WMI subsystem 402 to other software such as the printer user interface application 430 which has registered for event notifications.
20
Separate augmentations, which may be provided singly or in combination by embodiments of printer driver augmentation software, are discussed below with reference to Figures 5 to 10 below
25 Figure 5 shows a first exemplary modification to the printing process using the first approach set out in Figure 4. The printer user interface application 430 uses (step 501) SetWindowsHookEx to monitor window creation events. Window creation events are then notified (step 502) to the printer user interface application which reviews (step 503) the window creation events to determine whether the window 30 created is a print dialogue box (this may take two levels of filtering - first to determine whether the window is a standard dialogue box, and second to determine whether this is a print dialogue box). The printer user interface application then supplements (step 504) the print dialogue box to provide information relevant to the printer user interface application provider.
35
Two alternative approaches to supplementation of the print dialogue box are shown in Figures 7a and 7b. In the Figure 7a approach, the original print dialogue box itself
10
is resized and augmented. This is done by the printer user interface application sending a resize message to inform the operating system that the dialogue box must be resized (and, preferably, optimally centred on the screen). Once the resizing has taken place, the printer user interface application creates its own window in the extra 5 space created and populates this additional window area with content (step 505) -the handle to the additional window area is provided to the printer user interface application by DWM, so the printer user interface application, and not the application responsible for creation of the print dialogue box, will populate it. Alternatively, as shown in Figure 7b the printer user interface application does not make any change 10 to the print dialogue box, but creates a parallel window and populates it with content to supplement the normal print dialogue box. In both cases, the additional window area is under the control of the printer user interface application 430.
Population of the additional window area with content will in general involve provision 15 of advertising material and other information related to the consumable vendor associated with the printer user interface application. This will generally contain links to online sales channels, promotions or other material. In order for such marketing messages to remain timely and to allow promotional material to be changed, the printer user interface application may contain or may be able to update itself with 20 information concerning the time-based validity of specific promotions or graphics. The printer user interface application will typically check regularly with the remote licensing server 6 to check on updating of promotions and for any other material which is provided directly rather than through the internet. The licensing server 6 may also confirm whether the vendor is still licensed to the printer user interface 25 application and associated services - if not, then the printer user interface application functionality may itself be disabled either in part or in full
The printer user interface application monitors (step 506) for mouse clicks in the additional window area, and initiates any further action (such as the opening of a 30 browser window to a vendor website) associated with the element selected by the click in the normal way for an application running on that personal computer. Interaction with a remote web server through a web browser which follows may be carried out in an entirely conventional way.
35 Figure 6 shows a second exemplary modification to the printing process, this time by deletion of unnecessary or inappropriate pop-up windows. Generation of these windows is typically built in to the proprietary part of the printer driver software by the
11
printer manufacturer to deter the use of consumables from which the printer manufacturer does not derive a direct economic benefit.
Different approaches are used by different manufacturers to create pop-up windows -5 the steps indicated below are combined in one exemplary process, but some are relevant to some approaches and not to others. First of all (in step 601), the printer user interface software searches the registry for applications (by name, or by any other appropriate way for searching for specific installed code) which exist only for the purpose of generating pop-up windows relating to unauthorised consumables. 10 The printer user interface software will be provided with, or will have access to,
appropriate details of such applications provided by different manufacturers. These applications can then be suppressed (step 602), for example by inhibiting the execution of processes. In later execution, for example during a printing operation, the printer user interface software then detects the creation of processes or 15 messages (step 603) associated with the creation of pop-up windows relating to unauthorised consumables - this may be by either of the mechanisms described above for monitoring of relevant operating system activity by any other appropriate mechanism provided by the operating system. These processes or messages are then suppressed (step 604) to prevent a pop-up window from being created to 20 distract the user.
Figure 8 shows a third exemplary modification to the printing process, this time by providing ink level status information otherwise suppressed by the printer driver when consumables not authorised by the manufacturer are used. Again, certain steps here 25 are optional in the sense that they are only used if available for that printer and operating system combination. The process operates when a printing operation has been initiated and a print job sent to the printer by the print spooler (step 801) - this is detected using the WMI subsystem as discussed above. In step 802, the printer user interface application determines if measured ink information is available - for 30 example, by proprietary direct measurement systems in the printer 2 or on the consumable 22, and returned as signals from the printer 2 to the personal computer 1. If measured ink information is not present or is otherwise not available for use, the printer user interface application calculates (step 803) an ink amount used from the Extended Metafile Format (EMF) representation of the print job which is obtainable 35 from the Windows spool file for that print job. This process is discussed further below with reference to Figure 9. The measured or calculated ink level information may then be displayed (step 804) to the user in a new window created for the purpose by
12
the printer user interface application, with a warning provided when one or more of the consumables has an ink level below a threshold selected to allow reordering before the consumable runs out of ink. This new window may always be provided for any printing operation, or may be provided only on selected printing events (for 5 example, when one or more of the consumables 22 is determined to be below a threshold level). The new window will preferably contain links allowing consumable reorder from the user's preferred consumables vendor - the links may be tailored by the consumable status (for example, specific links for ordering of consumables below the threshold may be provided, to be replaced by a general advertisement or a 10 special offer if no consumable is below the threshold). The processes of creation and population of the window are otherwise substantially as indicated above for the augmentation to the print dialogue box.
Figure 9 shows a process of ink level calculation from an EMF representation of a 15 print job (this is equally applicable to consumables using toner, or another marking agent - ink is chosen here by way of example). In step 901, the EMF representation is extracted from the Windows spool file (or equivalent). In step 902, an image is created in the RGB colour model from the EMF representation - this is the colour model used in EMF representations. Printers typically use a different colour model, 20 CMYK (Cyan, Magenta, Yellow and Black). In step 903, the created image is transformed from the RGB colour model to the CMYK model for the relevant printer. This task is computationally intensive, as it requires pixel-by-pixel analysis (the resolution of a printed image being much higher than that of a display screen). In step 904, the number of dots of each CMYK colour required to render the image is 25 calculated. In step 905, this number is adjusted by a calibration factor to determine the volume of ink, and hence the proportion of ink in the consumable, used in printing the image. These calibration factors are predetermined for each given printer and consumable combination, and are thus pre-programmed into the printer user interface application. In step 906, the volume of ink used in the printed image 30 decrements an ink level value stored and displayed in the ink level monitoring part of the printer user interface application.
Other ways to supplement the functions provided by the printer driver software may be provided beyond those indicated in exemplary form above. In addition, the printer 35 user interface application may provide information relating to user behaviour and requirements back to the consumables provider associated with the printer user interface application. Such information may be limited or anonymised to ensure
13
privacy legislation or standards are met. This information may be in addition to or otherwise complementary to information received through the web service which the user connects to as a result of opening a link in a window created by the printer user interface application to order a new consumable or to investigate or accept an offer.
5 This allows offers to be targeted to a particular user's requirements (for example, from a user's printing behaviour an appropriate offer may be selected by the printer user interface application from a list of offers to be made to users) and to allow user behaviour, anonymised or integrated across users to address any privacy issues, to be returned to the consumables provider to evaluate user behaviour to enable the 10 consumables provider to provide or otherwise adjust their commercial offering.
As a process, this is shown in Figure 10. The printer user interface application collects statistics (step 1001) for each printing event, such as number of pages printed, consumables used and ink or toner levels. The printer user interface 15 application also monitors (step 1002) user activity relating to the additional windows provided by the printer user interface application - such as any click through to review an offer or a sales opportunity provided by a link. This monitoring may augment any measurement that takes place of the relevant online activity at the server side. These statistics are returned (step 1003) regularly from the printer user 20 interface application to a licensing server of the consumable provider through an appropriate communication channel. These statistics are anonymised or aggregated as necessary for privacy. The marketing server may be used to analyse usage trends and the success of marketing promotions. The communications channel to the licensing server may be used (step 1004) to update content for use by the printer 25 user interface application - for example, by providing information relating to new marketing promotions for use by the printer user interface application. This communication channel can also be used to suppress some or all aspects of the printer user interface functionality - for example, if a specific consumable vendor is no longer licensed to the printer user interface application.
30
The skilled person will appreciate that the approach described here may be used to provide other augmentations and modifications to the user interface in a printing process and associated software functionality involved in the printing process. The invention as provided here is therefore not limited to the functionality indicated in the 35 embodiments set out above, but extends to other implementations falling within the scope of the claims set out below.
14

Claims (16)

1. A method of customising user interaction with a printing system comprising a computing system and a printer, the method comprising:
5 detecting predetermined actions relating to a printing process initiated on the computing system for printing on the printer;
stopping or modifying operation of one or more processes started on the computing system in response to the predetermined actions or starting new processes in response to the predetermined actions, wherein the stopping, modifying 10 operation of, or starting of processes results in a modification to a display of a user interface of the printing system to a user in relation to that printing process.
2. A method as claimed in claim 1, wherein at least some of the actions relate to creation of warning messages relating to a provenance of a printer consumable, and
15 wherein processes are stopped or their operation modified to prevent appearance of such warning messages.
3. A method as claimed in claim 1 or claim 2, wherein at least some of the actions relate to creation of a print dialogue box, and wherein processes are modified
20 or new processes are started to supplement the print dialogue box.
4. A method as claimed in claim 3, wherein the print dialogue box is expanded and additional messages are provided in an additional window within the print dialogue box.
25
5. A method as claimed in claim 3, wherein an auxiliary print dialogue box is created and additional messages are provided within the auxiliary print dialogue box.
6. A method as claimed in claim 4 or claim 5, wherein the additional messages 30 provide one or more links to access a remote server.
7. A method as claimed in any preceding claim, wherein at least some of the actions relate to sending a print job to the printer, and wherein processes are started to provide a display of ink levels for consumables of the printer to the user.
35
8. A method as claimed in claim 7, wherein said at least some of the actions comprise a print spooler sending the print job to the printer.
15
9. A method as claimed in claim 7 or claim 8, wherein the processes comprise processes to create an additional user interface window to display ink level data.
5
10. A method as claimed in claim 9, wherein the additional user interface window displays one or more links to access a remote server for order of consumables.
11. A method as claimed in claim 9 or claim 10, wherein the additional user interface window is displayed only when the ink level of a consumable is below a
10 threshold value.
12. A method as claimed in any of claims 7 to 11, further comprising calculating ink usage in the print job sent to the printer to determine an ink level for each of a monitored set of consumables.
15
13. A method as claimed in claim 12, wherein the ink usage is determined from an Extended Metafile Format representation of the print job, and ink levels for each of the monitored set of consumables calculated therefrom.
20
14. A method as claimed in any preceding claim, wherein detecting predetermined actions comprises adding a global hook to a hook chain provided by an operating system of the computing system.
15. A method as claimed in any preceding claim, wherein detecting
25 predetermined actions comprises registration for notifications with an observation system provided by an operating system of the computing system.
16. A software program product which when executed by a processor of a computing system having a printer driver installed thereon for controlling a printing
30 system is adapted to perform the method of any of claims 1 to 15.
16
GB1202001.2A 2012-02-06 2012-02-06 Modification of a printer user interface Withdrawn GB2499043A (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
GB1202001.2A GB2499043A (en) 2012-02-06 2012-02-06 Modification of a printer user interface
EP13711096.1A EP2812789A1 (en) 2012-02-06 2013-02-06 Printer user interface modification
PCT/GB2013/050268 WO2013117919A1 (en) 2012-02-06 2013-02-06 Printer user interface modification

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB1202001.2A GB2499043A (en) 2012-02-06 2012-02-06 Modification of a printer user interface

Publications (2)

Publication Number Publication Date
GB201202001D0 GB201202001D0 (en) 2012-03-21
GB2499043A true GB2499043A (en) 2013-08-07

Family

ID=45896672

Family Applications (1)

Application Number Title Priority Date Filing Date
GB1202001.2A Withdrawn GB2499043A (en) 2012-02-06 2012-02-06 Modification of a printer user interface

Country Status (3)

Country Link
EP (1) EP2812789A1 (en)
GB (1) GB2499043A (en)
WO (1) WO2013117919A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022164439A1 (en) * 2021-01-29 2022-08-04 Hewlett-Packard Development Company, L.P. Monitoring of fluid supply

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1994011804A1 (en) * 1992-11-09 1994-05-26 Microsoft Corporation Printer status user interface and methods relating thereto
JPH111052A (en) * 1997-06-11 1999-01-06 Brother Ind Ltd Print paper counting device and alarm device for ink refilling time
GB2370895A (en) * 2000-11-01 2002-07-10 Hewlett Packard Co Providing print job status information
GB2415278A (en) * 2004-06-16 2005-12-21 Software 2000 Ltd Suppressing unnecessary warning messages in a printing system
US20100067039A1 (en) * 2008-09-17 2010-03-18 Global Graphics Software Limited System and method for providing advertising to printers

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6947155B2 (en) * 2000-12-08 2005-09-20 Hewlett-Packard Development Company, L.P. Reorder assistance notification interaction and method
US20020140966A1 (en) * 2001-04-02 2002-10-03 Meade William K. Systems and methods for managing software updates for printing systems
US7221473B2 (en) * 2001-08-03 2007-05-22 Hewlett-Packard Development Company, L.P. Printing system for updating printing characteristics with a printing consumable
US7043166B2 (en) * 2003-07-08 2006-05-09 Hewlett-Packard Development Company, L.P. Methods and systems for providing firmware to a printing device
US20050046891A1 (en) * 2003-09-03 2005-03-03 Vladimir Pavlov Systems and methods for controlling a manufacturing system
US20090024950A1 (en) * 2007-07-17 2009-01-22 Xerox Corporation Printer Driver Interface and Methods

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1994011804A1 (en) * 1992-11-09 1994-05-26 Microsoft Corporation Printer status user interface and methods relating thereto
JPH111052A (en) * 1997-06-11 1999-01-06 Brother Ind Ltd Print paper counting device and alarm device for ink refilling time
GB2370895A (en) * 2000-11-01 2002-07-10 Hewlett Packard Co Providing print job status information
GB2415278A (en) * 2004-06-16 2005-12-21 Software 2000 Ltd Suppressing unnecessary warning messages in a printing system
US20100067039A1 (en) * 2008-09-17 2010-03-18 Global Graphics Software Limited System and method for providing advertising to printers

Also Published As

Publication number Publication date
WO2013117919A1 (en) 2013-08-15
EP2812789A1 (en) 2014-12-17
GB201202001D0 (en) 2012-03-21

Similar Documents

Publication Publication Date Title
US9030706B2 (en) Method of adding value to print data, a value-adding device, and a recording medium
US8259315B2 (en) Information processing apparatus, print setting method, and storage medium for changing default setting information
US20110058199A1 (en) Printer driver, information processing apparatus, and program product storing printer driver therein
JP5451352B2 (en) Print server, print setting screen providing method and program
JP4991401B2 (en) Information processing apparatus, information processing method, and program
US20030103081A1 (en) Printing control apparatus, system and method
US20180046415A1 (en) Information processing apparatus, information processing method, and storage medium
US12099759B2 (en) Information processing apparatus, method of controlling information processing apparatus, and storage medium
US9880792B2 (en) Management system, information processing device, and management method
US9052855B2 (en) System, control method therefor, control method for information processing apparatus, and non-transitory computer-readable medium in which client and server customize a printer driver in cooperation with each other
US9361050B2 (en) Management system and management method
US20080250430A1 (en) Method and corresponding apparatus for creation of print drivers in a network
JP7547911B2 (en) Information processing device and information processing method
US8699045B2 (en) Information processing apparatus, information processing method, and storage medium
GB2499043A (en) Modification of a printer user interface
US7493054B2 (en) Image formation device simulation apparatus
US20230146770A1 (en) Storage medium, information processing apparatus, control method, and system
CN108292197B (en) Determination of previous installation of a print agent cartridge within a printer fleet
US7667864B2 (en) Printer host, recording medium having recorded therein printing-apparatus-state-information display program, and state information display method for printing apparatus in printer host
US10735605B1 (en) Information processing apparatus and information processing method
US6954279B2 (en) Automated output of user guide
CN109542372B (en) Icon display control method, icon display control device and electronic equipment
US8413174B2 (en) Driver controlling device, and computer-readable recording medium storing driver controlling program
US9716802B2 (en) Content model for a printer interface
US12086486B2 (en) Storage medium, information processing apparatus, and control method for providing status notification about a printing apparatus

Legal Events

Date Code Title Description
WAP Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1)