Computer program for control device and control device
The computer program for the control device addresses the challenge of inappropriate recommendation screen display by conditionally showing the screen based on device state and timing, improving user engagement and reducing annoyance through targeted recommendations.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- BROTHER KOGYO KK
- Filing Date
- 2024-11-15
- Publication Date
- 2026-05-27
AI Technical Summary
Existing systems lack the ability to display a recommendation screen for recommending subscription to a printing-related service in an appropriate situation, failing to consider the state of the control device and timing of the recommendation.
A computer program for a control device that displays a recommendation screen when specific conditions related to the device's state and timing are met, or upon receiving a display instruction from a communication device, ensuring appropriate presentation of the recommendation.
Enables the control device to display the recommended screen at optimal times, enhancing user engagement and reducing unnecessary notifications by considering device usage patterns and communication status.
Smart Images

Figure 2026087118000001_ABST
Abstract
Description
Technical Field
[0001] This specification relates to a technique for displaying a recommendation screen for recommending subscription to a printing-related service.
Background Art
[0002] The server of Patent Document 1 calculates a first cost when a printer does not receive service provision and a second cost when the printer receives service provision. When the second cost is lower than the first cost, the server causes a notification screen to be displayed on the terminal. By viewing the notification screen, the user can compare the first cost and the second cost.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] This specification provides a technique capable of displaying a recommendation screen for recommending subscription to a printing-related service in an appropriate situation.
Means for Solving the Problems
[0005] This specification discloses a computer program for a control device. The computer program may cause the computer of the control device to function as follows: a first display control unit that displays the recommendation screen on the display unit of the control device when a first predetermined condition relating to the state of the control device is met and a second predetermined condition relating to the timing of displaying a recommendation screen for recommending subscription to a printing service is met, wherein the recommendation screen is not displayed when the first predetermined condition is met and the second predetermined condition is not met; and a second display control unit that displays the recommendation screen on the display unit when the first predetermined condition is not met and a display instruction for the recommendation screen is received from a communication device.
[0006] According to the above configuration, the control device displays the recommended screen when a first predetermined condition related to the state of the control device is met, and a second predetermined condition related to the timing of displaying the recommended screen is met. Furthermore, the control device displays the recommended screen when the first predetermined condition is not met and a display instruction for the recommended screen is received from the communication device. In this way, the control device can display the recommended screen in appropriate circumstances.
[0007] A computer-readable storage medium for storing the above-mentioned computer program, the control device itself implemented by the above-mentioned computer program, and the method executed by the control device are also novel and useful. A communication system comprising the above-mentioned control device and other devices (e.g., communication devices) is also novel and useful. [Brief explanation of the drawing]
[0008] [Figure 1] This shows the configuration of the communication system. [Figure 2] An example of each table is shown. [Figure 3] The sequence diagram for Case A of the first embodiment is shown. [Figure 4] The sequence diagram following Figure 3 is shown. [Figure 5]The sequence diagram for Case B is shown. [Figure 6] The sequence diagram following Figure 5 is shown. [Figure 7] A sequence diagram of the third embodiment is shown. [Figure 8] A sequence diagram of the fourth embodiment is shown. [Modes for carrying out the invention]
[0009] (Outline of communication system 2; Figure 1) As shown in Figure 1, the communication system 2 comprises a printer 10, a mobile terminal 50, a PC 100, and a server 200. The printer 10, the mobile terminal 50, and the PC 100 are connected to a LAN (Local Area Network) 4 and can communicate with each other via the LAN 4. The LAN 4 is connected to the Internet 6. The server 200 is connected to the Internet 6. Each device 10, 50, and 100 can communicate with the server 200 via the Internet 6.
[0010] (Printer 10 configuration) Printer 10 is a peripheral device capable of performing printing functions (i.e., a peripheral device such as a mobile terminal 50 or PC 100). Printer 10 may also be a multi-function device capable of performing scanning, faxing, etc., in addition to printing functions. Printer 10 has the serial number "SN1". The serial number is an identification number assigned to the printer at the time of manufacture.
[0011] The printer 10 comprises an operation unit 12, a display unit 14, a print execution unit 16, a communication interface 18, and a control unit 30. Hereinafter, the interface will be referred to as "I / F". The operation unit 12 is a user interface that allows the user to input various information to the printer 10. The operation unit 12 includes, for example, a touch panel, hardware keys, or both for displaying software keys (i.e., operation objects). Hardware keys are, for example, buttons, switches, etc. The display unit 14 is a display or panel for displaying various information. The panel may or may not be a touch panel. The panel may also be, for example, a liquid crystal panel, an organic EL panel, etc. The print execution unit 16 comprises an inkjet, electrophotographic, or thermal printing engine. An inkjet printing engine comprises a print head that ejects ink droplets. An electrophotographic printing engine comprises a photoreceptor and an exposure device that emits light to expose the photoreceptor, etc. A thermal printing engine is equipped with a print head that generates heat using a heater. Communication I / F18 is connected to LAN4. Communication I / F18 may be an interface for wireless communication or an interface for wired communication.
[0012] The control unit 30 comprises a CPU 32 and a memory 34. The memory 34 comprises a main memory and an auxiliary memory. For example, the main memory includes RAM and cache memory. For example, the auxiliary memory may be ROM, flash memory, Solid State Drive (SSD), Hard Disk Drive (HDD), or a combination thereof. The program 36 is stored in the auxiliary memory of the memory 34. The CPU 32 performs various processes according to the program loaded from the auxiliary memory to the main memory.
[0013] (Configuration of mobile terminal 50) The mobile terminal 50 is a portable terminal device such as a mobile phone (e.g., a smartphone), a tablet device, or a laptop PC. The mobile terminal 50 comprises an operation unit 52, a display unit 54, a communication interface 58, and a control unit 60.
[0014] The operation unit 52 is a user interface that allows the user to input various information into the mobile terminal 50. The display unit 54 is a display or panel for displaying various information. The details of the operation unit 52 and the display unit 54 are the same as those of the operation unit 12 and the display unit 14 of the printer 10. The communication interface 58 is connected to the LAN 4. The communication interface 58 may be an interface for performing wireless communication or an interface for performing wired communication.
[0015] The control unit 60 includes a CPU 62 and a memory 64. The details of the memory 64 are the same as those of the memory 34 of the printer 10. The auxiliary storage device of the memory 64 stores the OS program 66 and the application program 68. Hereafter, the OS program 66 and the application program 68 will be referred to as "OS66" and "App 68," respectively.
[0016] OS66 controls the basic operation of the mobile terminal 50. Application 68 is a program that enables printing on the printer 10. Application 68 is installed on the mobile terminal 50 from a server (not shown) on the Internet 6 provided by the vendor of the OS program 66 or the vendor of the printer 10. Application 68 is assigned an application ID "A1" to identify it.
[0017] The CPU 62 realizes various processes according to the program loaded from the auxiliary storage device to the main storage device. Hereinafter, there may be descriptions that the OS 66 or the application 68 mainly performs various processes that the CPU 62 realizes according to the program. Also, the application 68 accesses each hardware such as the display unit 54, the communication I / F 58, and the memory 64 via the OS 66 to execute various processes. Hereinafter, the description of the application 68 executing processes via the OS 66 will be appropriately omitted.
[0018] (Configuration of PC 100) The PC 100 is a stationary terminal device such as a desktop PC. In a modification, the PC 100 may be a portable terminal device such as a tablet terminal or a laptop PC. The PC 100 includes an operation unit 112, a display unit 114, a communication I / F 118, and a control unit 130.
[0019] The operation unit 112 is a user interface that enables the user to input various information to the PC 100. The display unit 114 is a display or panel for displaying various information. Details of the operation unit 112 and the display unit 114 are the same as those of the operation unit 12 and the display unit 14 of the printer 10. The communication I / F 118 is connected to the LAN 4. The communication I / F 118 may be an interface for executing wireless communication or an interface for executing wired communication.
[0020] The control unit 130 includes a CPU 132 and a memory 134. Details of the memory 134 are the same as those of the memory 34 of the printer 10. The auxiliary storage device of the memory 134 stores an OS program 136 and an application program 138. Hereinafter, the OS program 136 and the application programOS136 controls the basic operation of PC100. The details of application 138 are the same as those of application 68 on mobile terminal 50. Application 138 is assigned the application ID "A2" to identify it.
[0022] The CPU 132 performs various processes according to the program loaded from the auxiliary storage device into the main memory. In the following, the various processes that the CPU 132 performs according to the program may be described as being performed proactively by the OS 136 or the application 138. In addition, the application 138 accesses various hardware such as the display unit 114, communication interface 118, and memory 134 via the OS 136 to execute various processes. In the following, the execution of processes by the application 138 via the OS 136 will be omitted as appropriate.
[0023] (Server 200 configuration) Server 200 is installed on the Internet 6 by the vendor of printer 10 (hereinafter simply referred to as "vendor"). Server 200 may be a physical server, a virtual server on the cloud, a virtual machine, etc. Server 200 may be a single server, or a collection of multiple servers. Server 200 may be a server on an intranet, or a cloud server on the Internet 6. In a modified example, server 200 may be installed on the Internet 6 by a different business operator than the vendor. In another modified example, the vendor may not prepare the hardware for server 200 themselves, but instead use an environment provided by an external cloud computing service. In this case, the vendor may prepare the program (i.e., software) for server 200 and implement it in the above environment to realize server 200. In this embodiment, as an example, a configuration in which server 200 is a physical server will be described.
[0024] Server 200 provides a subscription service for printer 10 (hereinafter referred to as the "flat-rate service"). Under the flat-rate service, if the number of printed pages within a specified period (e.g., one month) is less than or equal to the maximum number of printed pages (e.g., 100 pages), only the basic fee is charged. If the number of printed pages within a unit period exceeds the maximum number of printed pages, the sum of the basic fee and an excess charge corresponding to the number of printed pages exceeding the maximum is charged. In other words, the flat-rate service is a service that allows printing up to the maximum number of printed pages within a specified period for the basic fee. The flat-rate service includes an automatic delivery service. The automatic delivery service is a service that automatically delivers a new cartridge when the remaining amount of colorants (e.g., ink, toner, etc.) in the cartridge installed in the printer falls below a specified amount. The cost of the cartridge is included in the basic fee of the flat-rate service. That is, even if a new cartridge is shipped, the cost of that cartridge is not added to the billed amount.
[0025] Server 200 comprises a communication interface 218 and a control unit 230. The communication interface 218 is connected to the Internet 6. The control unit 230 comprises a CPU 232 and memory 234. The CPU 232 performs various processes according to a program 236 stored in memory 234. Memory 234 comprises volatile memory and non-volatile memory. The details of memory 234 are the same as those of memory 34 in printer 10. Various processes are realized when program 236 stored in non-volatile memory is loaded into volatile memory and executed by the CPU 232. Memory 234 further stores a user table 240, a plan table 242, and a usage time table 244.
[0026] (Contents of tables 240, 242, and 244; Figure 2) Referring to Figure 2, the contents of tables 240, 242, and 244 are explained. In user table 240, account information, application ID, serial number, and token are stored in association. Account information is the information a user uses to log in to server 200 and includes a user ID (e.g., "U1") and a password (e.g., "PW1"). Application IDs (e.g., "A1", "A2") are IDs that identify the application (e.g., application 68, application 138) installed on the terminal used by the printer user (e.g., mobile terminal 50, PC 100). Serial number (e.g., "SN1") is a number that identifies the printer used by the user.
[0027] Plan Table 242 stores the base fee, maximum print limit, and excess charges associated with each of the three plans. The three plans are the Light Plan, the Middle Plan, and the Heavy Plan. Each plan has a maximum print limit for one printer per unit period. The Light Plan is for users who use the printer relatively little, i.e., light users. The Heavy Plan is for users who use the printer relatively a lot, i.e., heavy users. The Middle Plan is for users who use the printer neither too much nor too little, i.e., users between light and heavy users, i.e., middle users.
[0028] In this example of a subscription service, users are billed a usage fee for each monthly period. The basic fee is the monthly fee. Of the plans, the Light plan has the lowest basic fee of 100 yen. The Middle plan has the next lowest basic fee of 190 yen. The Heavy plan has the highest basic fee of 280 yen. The maximum number of prints is the maximum number of printable media that can be printed per month within the basic fee. The Light plan has the lowest maximum number of prints of 100 pages. The Middle plan has the next lowest maximum number of prints of 200 pages. The Heavy plan has the highest maximum number of prints of 300 pages. The excess charge is the fee per print required when the maximum number of prints is exceeded. The Light plan has the highest excess charge of 1.1 yen. The Middle plan has the next highest excess charge of 1.05 yen. The Heavy plan has the lowest excess charge of 1 yen. The printer vendor pre-stores each price in plan table 242.
[0029] In the usage time table 244, the application ID, printer serial number, and cumulative usage time are associated and stored for each user ID. In the example in Figure 2, only one table corresponding to one user ID "U1" is displayed. The application 68 on the mobile terminal 50 and the application 138 on the PC 100 each send their application ID and startup time to the server 200 periodically, such as daily or weekly. The printer 10 sends its serial number "SN1" and normal state time to the server 200 periodically, such as daily or weekly. As a result, the server 200 can calculate and store the cumulative usage time for the mobile terminal 50, PC 100, and printer 10. Specifically, for the mobile terminal 50 and PC 100, the cumulative startup time is stored as the cumulative usage time. For the printer 10, the cumulative normal state time is stored as the cumulative usage time.
[0030] Here, the startup time of the app 68 on the mobile terminal 50 is the time when the app 68 is running in the foreground. That is, this startup time does not include the time when the app 68 is running in the background. The state in which the app 68 is running in the foreground is when the screen implemented by the app 68 is displayed on the display unit 54, and the user can operate or is operating that screen. The state in which the app 68 is running in the foreground can also be rephrased as the app 68 being active. The state in which the app 68 is running in the background is when a screen implemented by another app or the home screen is displayed on the display unit 54, and the user cannot operate the screen implemented by the app 68. The state in which the app 68 is running in the background can also be rephrased as the app 68 being inactive.
[0031] The startup time of PC100 is the time that PC100's application 138 is running in the foreground. In other words, this startup time does not include the time that application 138 is running in the background. The state in which application 138 is running in the foreground is when application 138 is displayed as active on the display unit 114 and the UI (User Interface) of application 138 has focus. In other words, the state in which application 138 is running in the foreground is when the user can operate or is operating the screen implemented by application 138. The state in which application 138 is running in the background is when application 138 is inactive and the UI of application 138 does not have focus. In other words, the state in which application 138 is running in the background is when a screen implemented by another application or the home screen is displayed on the display unit 114 and the user cannot operate the screen implemented by application 138.
[0032] The normal state time of printer 10 is the time during which printer 10 is in its normal state. While printer 10 is running, that is, while the power is ON, printer 10 mainly operates in either the normal state or the power-saving state, which consumes less power than the normal state. In the normal state, various information is displayed on the display unit 14 of printer 10. On the other hand, in the power-saving state, nothing is displayed on the display unit 14. Printer 10 switches to the power-saving state if, while operating in the normal state, the control unit 12 is not operated and a certain period of time has elapsed without receiving a print command from an external source. Also, while operating in the power-saving state, printer 10 switches to the normal state if the control unit 12 is operated or if a print command is received from an external source.
[0033] (First embodiment; Figures 3-6) Referring to Figures 3 to 6, the processes performed by each device 10, 50, 100, and 200 will be explained. First, referring to Figures 3 and 4, Case A will be explained in which each device 10, 50, and 100 can communicate with the server 200. Next, referring to Figures 5 and 6, Case B will be explained in which each device 10, 50, and 100 cannot communicate with the server 200. In the following explanation, for ease of understanding, the operations realized by the CPUs of each device, such as CPUs 32, 62, 132, and 232, will not be described primarily from the perspective of the CPU, but rather from the perspective of each device, such as printer 10, mobile terminal 50, PC 100, and server 200. Also, in the following, communication between each device is performed via a communication interface. In the following explanation, when describing communication, the phrase "via a communication interface" will be omitted.
[0034] (Case A) Before the process shown in Figure 3 begins, the user of printer 10 accesses server 200 and stores user ID "U1" and password "PW1" in user table 240. The user has not yet subscribed to a flat-rate service for printer 10. The following describes the process for recommending that the user subscribe to the flat-rate service.
[0035] The mobile terminal 50 launches application 68 in response to user input and uses application 68 to access the web server in the printer 10. Of the processes from T12 onward described later, the processes executed by the mobile terminal 50 are performed according to application 68. In response to receiving an operation from the user to register information about the printer 10 with the server 200, the mobile terminal 50 sends a registration instruction to the printer 10 in T10. The registration instruction includes application ID "A1".
[0036] When printer 10 receives a registration instruction from mobile terminal 50 at T10, it sends a registration request to server 200 at T12. The registration request includes the received application ID "A1" and the printer 10's serial number "SN1".
[0037] When server 200 receives a registration request from printer 10 at T12, it generates a PIN code "PN1" at T14 and stores the application ID "A1", serial number "SN1", and PIN code "PN1" in memory 234. Next, at T16, server 200 sends the PIN code "PN1" and a login URL (abbreviation for Uniform Resource Locator) to printer 10. The login URL is information indicating the location of the authentication screen data described later within server 200.
[0038] When printer 10 receives the PIN code "PN1" and URL from server 200 at T16, it sends them to mobile terminal 50 at T18.
[0039] When the mobile terminal 50 receives the PIN code "PN1" and a URL from the printer 10 at T18, it displays the PIN code "PN1" and the URL at T20. This allows the user of the mobile terminal 50 to know the PIN code "PN1" to enter into the mobile terminal 50. When the mobile terminal 50 receives an operation from the user to select a URL at T30, it sends an authentication request including the URL to the server 200 at T32.
[0040] When server 200 receives an authentication request from mobile terminal 50 at T32, at T34, it sends authentication screen data, identified by the URL included in the authentication request, to mobile terminal 50. The authentication screen data represents an authentication screen for entering a PIN code.
[0041] When the mobile terminal 50 receives authentication screen data from the server 200 at T34, it displays the authentication screen represented by the authentication screen data at T36. Next, at T40, the mobile terminal 50 accepts input from the user of the PIN code "PN1" displayed at T20, the user ID "U1", and the password "PW1". Then, at T42, the mobile terminal 50 transmits these to the server 200.
[0042] When server 200 receives the PIN code, user ID, and password from the mobile terminal 50 at T42, it performs authentication of this information at T44. Specifically, server 200 first determines whether it has already stored the received PIN code "PN1". In this case, server 200 has already stored the PIN code "PN1" at T14. Server 200 also determines whether it has already stored the combination of the received user ID "U1" and password "PW1". In this case, user ID "U1" and password "PW1" are stored in association in user table 240. Therefore, server 200 determines that it has stored the PIN code "PN1", as well as user ID "U1" and password "PW1". That is, server 200 determines that authentication was successful and generates token "tk1" at T46. Then, at T48, the server 200 stores various information in the user table 240. Specifically, the server 200 stores the application ID "A1", serial number "SN1", and token "tk1" in the user table 240, associated with the user ID "U1" and password "PW1". Next, at T50, the server 200 sends the token "tk1" to the printer 10.
[0043] When printer 10 receives the token "tk1" from server 200 at T50, it stores the token "tk1" in memory 34 at T52. Next, printer 10 uses the token "tk1" at T54 to establish an XMPP connection with server 200. The XMPP connection is a so-called always-on connection and remains established until the printer 10's power is cut off. Even without receiving a request from printer 10, server 200 can use the XMPP connection to send a request to printer 10 across the firewall of LAN4 to which printer 10 belongs. Note that the mechanism for sending a request from server 200 to printer 10 may be other than an XMPP connection. For example, an HTTPS (Hypertext Transfer Protocol Secure) connection may be established between printer 10 and server 200. This completes the process of registering printer 10 with server 200.
[0044] Next, when the user operates the PC 100 instead of the mobile terminal 50, the same processing as in T10 to T44 is executed on the PC 100, printer 10, and server 200. As a result, the server 200 stores various information in the user table 240 in T60. Specifically, the server 200 stores the application ID "A2" in the user table 240, associated with the user ID "U1" and password "PW1".
[0045] Subsequently, as shown in T100 in Figure 4, when the mobile terminal 50 determines that a predetermined timing has arrived, it sends a notification signal to the server 200 at T102. The predetermined timing is, for example, one week after the previous notification signal was sent. The notification signal includes the application ID "A1" of the application 68 and the cumulative startup time of the application 68 over the past week. In the example of T102, the startup time is 30 minutes.
[0046] When server 200 receives a notification signal from mobile terminal 50 at T102, it sends a response to mobile terminal 50 at T104. When mobile terminal 50 receives the response from server 200 at T104, it determines that it can communicate with server 200. In this case, mobile terminal 50 does not display the recommended screen on its own, but waits until it receives an instruction from server 200 to display the recommended screen.
[0047] Next, at T106, the server 200 updates the usage time table 244 using the information in the notification signal. Specifically, the server 200 adds the startup time in the notification signal to the startup time associated with application ID "A1". The server 200 updates the usage time table 244 in the manner described above each time it receives a notification signal from the mobile terminal 50.
[0048] When PC100 determines at T110 that a predetermined timing has arrived, it sends a notification signal to server200 at T112. The predetermined timing is, for example, one week after the previous notification signal was sent. The notification signal includes the application ID "A2" of application 138 and the cumulative startup time of application 138 over the past week. In the example of T112, the startup time is 12 minutes.
[0049] When server 200 receives a notification signal from PC 100 at T112, it sends a response to PC 100 at T114. When PC 100 receives the response from server 200 at T114, it determines that it can communicate with server 200. In this case, PC 100 does not display the recommendation screen on its own, but waits until it receives an instruction from server 200 to display the recommendation screen.
[0050] Next, at T116, server 200 updates the usage time table 244 using the information in the notification signal. The processing at T116 is the same as that at T106.
[0051] When printer 10 determines at T120 that a predetermined timing has arrived, it sends a notification signal to server 200 at T122. The predetermined timing is, for example, one week after the previous notification signal was sent. The notification signal includes the serial number of printer 10, "SN1", and the normal state time of printer 10. In the example of T122, the normal state time is 45 minutes.
[0052] When server 200 receives a notification signal from printer 10 at T122, it sends a response to printer 10 at T124. When printer 10 receives the response from server 200 at T124, it determines that it can communicate with server 200. In this case, printer 10 does not display the recommended screen on its own, but waits until it receives a command from server 200 to display the recommended screen.
[0053] Next, at T126, server 200 updates the usage time table 244 using the information in the notification signal. The processing at T126 is the same as that at T106.
[0054] Subsequently, as shown in T130, the server 200 determines that a predetermined timing has arrived. This predetermined timing is, for example, one month after the previous predetermined timing. In T132, the server 200 uses the usage time table 244 to identify the device with the longest usage time. In this case, the server 200 identifies the printer 10 as the device with the longest usage time. In this case, in T134, the server 200 sends a display instruction to the printer 10 that includes recommended screen data representing the recommended screen.
[0055] When printer 10 receives a display command from server 200 at T134, it displays recommended screen SC1, represented by recommended screen data, on display unit 14 at T136. Recommended screen SC1 includes a message recommending that the user subscribe to a flat-rate service. This allows the user to know that they should subscribe to a flat-rate service.
[0056] (Effects of Case A) In T132, the server 200 uses the usage time table 244 to identify the printer 10 as the device with the longest usage time. Then, in T134, the server 200 sends a display instruction including recommended screen data to the printer 10. That is, although the mobile terminal 50 and PC 100 can communicate with the server 200, they do not receive the recommended screen display instruction from the server 200. In other words, the mobile terminal 50 and PC 100 do not display the recommended screen. On the other hand, the printer 10 can communicate with the server 200 (T114) and receives the recommended screen display instruction from the server 200 (T136), so it displays the recommended screen SC1. In this way, the server 200 displays the recommended screen on the printer 10, which has the longest usage time among the mobile terminal 50, PC 100, and printer 10—in other words, on the device that the user uses most frequently. This allows for the appropriate presentation of recommended screens to the user.
[0057] The display format of the recommendation screen SC1 on the printer 10 is not particularly limited. For example, when the printer 10 is operating in a normal state, the recommendation screen SC1 may be displayed as a pop-up on the home screen. Also, when the printer 10 is operating in a power-saving state, the printer 10 may switch to a normal state and the recommendation screen SC1 may be displayed as a pop-up on the home screen. The printer 10 may continue to display the recommendation screen SC1 until it receives an operation from the user to close the recommendation screen SC1. In another example, the printer 10 may display a notification tab before displaying the recommendation screen SC1 itself, and then display the recommendation screen SC1 when the notification tab is selected by the user.
[0058] Here, we will explain an example of the display format when the mobile terminal 50 displays the recommended screen SC1 instead of the printer 10. As an example, if the application 68 is running in the foreground, the mobile terminal 50 will display the recommended screen SC1 in a pop-up format. If the application 68 is not running, or if the application 68 is running in the background, the mobile terminal 50 may display a banner in the form of a push notification, and when the banner is selected by the user, the recommended screen SC1 will be displayed. The display format when the PC 100 displays the recommended screen SC1 is the same as the display format of the mobile terminal 50.
[0059] (Case B; Figures 5 and 6) Next, we will explain Case B with reference to Figures 5 and 6. Case B is a case in which each device 10, 50, and 100 is unable to communicate with Server 200.
[0060] (Case B-1; Figure 5) In response to user input, the mobile terminal 50 installs application 68 and launches application 68 for the first time at T150. In response to user input to launch application 68, the mobile terminal 50 sends a trial signal to server 200 at T152. If a predetermined time, for example 10 seconds, elapses without receiving a response from server 200, the mobile terminal 50 determines that communication with server 200 is impossible. For example, if server 200 is down, the mobile terminal 50 cannot receive a response from server 200. In this case, at T154, the mobile terminal 50 displays recommendation screen SC2 on display unit 54. Recommendation screen SC2 includes a message recommending subscribing to a flat-rate service.
[0061] (Case B-2) When the mobile terminal 50 determines in T160 that a predetermined timing has arrived, which is one month since the last display of the recommendation screen SC2, it sends a trial signal to the server 200 in T162. If the mobile terminal 50 does not receive a response from the server 200 and a predetermined time, for example 10 seconds, has elapsed, it determines that communication with the server 200 is impossible. In this case, the mobile terminal 50 displays the recommendation screen SC2 on the display unit 54 in T164. The display format of the recommendation screen SC2 is not particularly limited. For example, if the application 68 is running in the foreground, the mobile terminal 50 displays the recommendation screen SC2 in a pop-up format. If the application 68 is not running, or if the application 68 is running in the background, the mobile terminal 50 may display a banner in a push notification format, and when the banner is selected by the user, it may display the recommendation screen SC2.
[0062] (Case B-3) As shown in T170, each time the mobile terminal 50 receives an operation from the user to launch the application 68, it sends a trial signal to the server 200 in T172. If the mobile terminal 50 does not receive a response from the server 200 and a predetermined time, for example 10 seconds, has elapsed, it determines that communication with the server 200 is impossible. In this case, the mobile terminal 50 determines in T180 whether or not one week has passed since the last display of the recommendation screen. If one week has passed since the last display of the recommendation screen (YES in T180), the mobile terminal 50 calculates the cost in T182.
[0063] Specifically, the mobile terminal 50 first calculates a first cost, which is the cost if the flat-rate service is not provided. The first cost is calculated as follows: The application 68 has in advance stored the price of the printer 10's cartridges and the job history of printing jobs performed on the printer 10 using the application 68. The mobile terminal 50 first calculates an estimate of the amount of ink used by the printer 10 (e.g., 10%) from the job history based on the number of pages printed during a predetermined period (e.g., the most recent month). Then, the mobile terminal 50 calculates the first cost by multiplying the price of the cartridges by the identified amount of ink consumed.
[0064] Next, the mobile terminal 50 calculates a second cost, which is the cost of receiving a flat-rate service. The second cost is calculated as follows: The mobile terminal 50 identifies the number of printed pages in a predetermined period (for example, the most recent month) from the job history. The application 68 also has information similar to the plan table 242 stored by the server 200 stored in advance. Based on the identified number of printed pages, the mobile terminal 50 calculates the costs for the Light Plan, Middle Plan, and Heavy Plan, and determines the cheapest cost as the second cost.
[0065] In this case, the second cost is cheaper than the first cost. That is, assuming that printing is performed at the same pace on printer 10, subscribing to a flat-rate service will reduce printing costs. In this case, the mobile terminal 50 displays the recommended screen SC2 on the display unit 54 at T184. The display format here is the same as the display format described in case B-2. The recommended screen SC2 displayed at T184 may include the first cost, the second cost, and a message indicating that the second cost is lower than the first cost. In this case, by looking at the recommended screen SC2, the user can compare the first cost and the second cost and learn that subscribing to a flat-rate service will reduce printing costs.
[0066] Here, we will explain the case where the second cost is higher than the first cost. In this case, the mobile terminal 50 does not perform the T184 process. This is because the first cost, when the user does not receive the flat-rate service, is cheaper, so there is no incentive to encourage the user to subscribe to the flat-rate service. As a result, the user is not provided with unnecessary notifications, thus reducing the likelihood of the user finding the notifications annoying.
[0067] In cases B-1 to B-3, we described the case where the mobile terminal 50 is unable to communicate with the server 200. However, if the PC 100 is unable to communicate with the server 200, the PC 100 will perform the same processing as in cases B-1 to B-3.
[0068] (Case B-4; Figure 6) Next, with reference to Figure 6, we will explain the case in which the printer 10 is unable to communicate with the server 200. In case B-4, the printer 10 is operating under normal conditions. When the printer 10 determines at T200 that a predetermined time has elapsed since the last display of the recommendation screen, it sends a trial signal to the server 200 at T202. The predetermined time here is, for example, one month. If the printer 10 does not receive a response from the server 200 and a predetermined time, for example, 10 seconds, has elapsed, it determines that it is unable to communicate with the server 200. In this case, the printer 10 displays the recommendation screen SC3 in a pop-up format on the display unit 14 at T204. The recommendation screen SC3 includes a message recommending that the user subscribe to a flat-rate service. The printer 10 may also display a notification tab before displaying the recommendation screen SC3 itself, and then display the recommendation screen SC3 when the notification tab is selected by the user.
[0069] (Case B-5) In the initial state of Case B-5, printer 10 is operating in normal mode. At T210, when printer 10 determines that a predetermined time has elapsed since the last display of the recommended screen, it sends a trial signal to server 200 at T212. The predetermined time here is one week. The predetermined time in this case is shorter than the predetermined time in Case B-4. That is, as shown in Case B-4, if a relatively long time has elapsed since the last display of the recommended screen, printer 10 displays the recommended screen SC3 without calculating the cost. On the other hand, as in this case, if a relatively short time has elapsed since the last display of the recommended screen, printer 10 calculates the cost and displays the recommended screen SC3, as explained below.
[0070] If the printer 10 does not receive a response from the server 200 and a predetermined time, for example 10 seconds, has elapsed, it determines that communication with the server 200 is impossible. In this case, the printer 10 calculates the cost in T212.
[0071] Specifically, printer 10 first calculates a first cost, which is the cost if the flat-rate service is not provided. The first cost is calculated as follows: Printer 10 stores in advance the price of its cartridges, the amount of ink consumed by printer 10 during the in-house period (e.g., the most recent month) (e.g., 10%), and the number of pages printed by printer 10 during the in-house period (e.g., the most recent month). Printer 10 first calculates the first cost by multiplying the price of the cartridge by the amount of ink consumed.
[0072] Next, the printer 10 calculates a second cost, which is the cost of receiving the flat-rate service. The second cost is calculated as follows. The printer 10 also has information stored in advance that is similar to the plan table 242 stored by the server 200. Based on the number of pages printed over a predetermined period (e.g., one month), the printer 10 calculates the costs for the Light Plan, Middle Plan, and Heavy Plan, and determines the lowest cost as the second cost.
[0073] In this case, the second cost is cheaper than the first cost. That is, assuming that printing is performed at the same pace on printer 10, subscribing to a flat-rate service will reduce printing costs. In this case, printer 10 displays the recommended screen SC3 on the display unit 14 at T216. The display format here is the same as the display format described in case B-4. The recommended screen SC3 displayed at T216 may include the first cost, the second cost, and a message indicating that the second cost is cheaper than the first cost. In this case, by looking at the recommended screen SC3, the user can compare the first cost and the second cost and learn that subscribing to a flat-rate service will reduce printing costs.
[0074] (Effect of Case B) The mobile terminal 50 displays the recommended screen SC2 on the display unit 54 in the following cases: when communication with the server 200 is impossible (T152, T162, T172 in Figure 5), when the application 68 is launched for the first time (T150), when a predetermined amount of time has elapsed since the last display of the recommended screen SC2 (T160, T180), and when the first cost when using the flat-rate service is less than the second cost when not using the flat-rate service (T182). The same applies to the PC 100. Therefore, the mobile terminal 50 and the PC 100 can display the recommended screen SC2 at an appropriate time when communication with the server 200 is impossible.
[0075] Furthermore, the printer 10 displays the recommended screen SC3 on the display unit 14 in the following cases: when the printer 10 is unable to communicate with the server 200 (T202, T212 in Figure 6), when the printer 10 is operating in a normal state (T200, T210), when a predetermined amount of time has elapsed since the last display of the recommended screen SC3 (T200, T210), and when the first cost when using the flat-rate service is less than the second cost when not using the flat-rate service (T214). Therefore, the printer 10 can display the recommended screen SC3 at an appropriate time when it is unable to communicate with the server 200.
[0076] (Correspondence) Printer 10 is an example of a "control device". The correspondence in this case is as follows: The inability of communication between Server 200 and Printer 10 is an example of a "first predetermined condition". Printer 10 is operating in a normal state and a predetermined amount of time has elapsed since the last display of the recommended screen (Case B-4 in Figure 6) is an example of a "second predetermined condition". Printer 10 is operating in a normal state and a predetermined amount of time has elapsed since the last display of the recommended screen, and the first cost when using the flat-rate service is less than the second cost when not using the flat-rate service (Case B-5 in Figure 6) is also an example of a "second predetermined condition". Recommended screen SC3 is an example of a "recommended screen". Server 200 is an example of a "communication device". T204 and T216 in Figure 6 are examples of processes executed by the "first display control unit". T136 in Figure 4 is an example of a process executed by the "second display control unit". T202 and T212 in Figure 6 are examples of processes executed by the "determination unit". T122 in Figure 4 is an example of the processing performed by the "second transmission unit".
[0077] The mobile terminal 50 is an example of a "control device". The correspondence in this case is as follows. The application 68 is an example of a "computer program". The fact that the server 200 and the mobile terminal 50 are unable to communicate is an example of a "first predetermined condition". The fact that the application 68 is launched for the first time (Case B-1 in Figure 5), that a predetermined amount of time has elapsed since the previous display of the recommendation screen SC2 (Case B-2), and that the first cost when using the flat-rate service is less than the second cost when not using the flat-rate service (Case B-3) are examples of "second predetermined conditions". The server 200 is an example of a "communication device". T152, T162, and T172 in Figure 5 are examples of "predetermined signals". In T134 in Figure 4, if the mobile terminal 50 displays the recommendation screen SC1 in response to a display instruction being sent from the server 200 to the mobile terminal 50, this display is an example of a process executed by the "first display control unit". T154, T164, and T184 in Figure 5 are examples of the "second display control unit". T152, T162, and T172 in Figure 5 are examples of the "determination unit". T102 in Figure 4 is an example of the "first transmission unit".
[0078] PC100 is an example of a "control device". The correspondence in this case is as follows. Application 138 is an example of a "computer program". The inability of communication between Server 200 and PC100 is an example of the "first predetermined condition". The initial startup of Application 138, the elapsed time since the last display of the recommendation screen, and the first cost when using the flat-rate service being less than the second cost when not using the flat-rate service are all examples of the "second predetermined condition". Server 200 is an example of a "communication device".
[0079] (Second example) Next, a second embodiment will be described. In this embodiment, memories 34, 64, and 134 each store communication setting values. The communication setting value indicates whether or not to allow communication with the server 200. The communication setting value indicates either "ON" or "OFF". A communication setting value of "ON" indicates that communication with the server 200 is allowed, and a communication setting value of "OFF" indicates that communication with the server 200 is not allowed.
[0080] When the communication settings of each device 10, 50, and 100 are set to "ON", each device 10, 50, and 100 can communicate with the server 200, as shown in Figures 3 and 4. The operation of the server 200 is the same as in the first embodiment. Therefore, when each device 10, 50, and 100 receives a display instruction from the server 200 (for example, T134 in Figure 4), it displays the recommended screen SC1.
[0081] On the other hand, the cases where the communication settings of each device 10, 50, and 100 are "OFF" will be explained with reference to Figures 5 and 6. When the communication setting of the mobile terminal 50 is "OFF", the processes T152, T162, and T172 in Figure 5 are omitted. That is, the mobile terminal 50 displays the recommended screen SC2 at T154, T164, and T184 without attempting to communicate with the server 200. When the communication setting of the PC 100 is "OFF", the PC 100 performs the same process as the mobile terminal 50.
[0082] If the communication setting of printer 10 is "OFF", the processes T202 and T212 in Figure 6 are omitted. That is, printer 10 displays the recommended screen SC3 in T204 and T216 without attempting to communicate with server 200.
[0083] (Correspondence) The communication setting value is an example of the "first setting value". The communication setting value "ON" and the communication setting value "OFF" are examples of the "first value" and "second value", respectively. The communication setting value being "OFF" is an example of the "first predetermined condition".
[0084] (Third embodiment; Figure 7) Next, a third embodiment will be described with reference to Figure 7. In each device 10, 50, 100, and 200, the same processing as T100 to T126 in Figure 4 is performed.
[0085] When the mobile terminal 50 determines at T250 that a predetermined timing has arrived, which is one month since the last display of the recommendation screen, it determines at T252 whether or not the application 68 is running in the foreground. If the application 68 is running in the foreground (YES at T252), the mobile terminal 50 displays the recommendation screen SC2 at T254.
[0086] On the other hand, if app 68 is running in the background, or if app 68 is not running (NO in T252), the mobile terminal 50 sends a query to server 200 in T260.
[0087] When server 200 receives a query from mobile terminal 50 in T260, it uses the usage time table 244 in T262 to identify the device with the longest usage time. In this case, server 200 identifies printer 10 as the device with the longest usage time. In this case, server 200 sends a response indicating printer 10 to mobile terminal 50 in T264.
[0088] In T264, the mobile terminal 50 receives a response from the server 200. In this case, since the response indicates printer 10, the mobile terminal 50 determines that it does not need to display the recommended screen and does not display the recommended screen.
[0089] When PC100 determines at T270 that a predetermined time has arrived—that one month has passed since the last display of the recommendation screen—it determines at T272 whether or not application 138 is running in the foreground. If application 138 is running in the foreground (YES at T272), PC100 displays recommendation screen SC4 at T274. Recommendation screen SC4 includes a message recommending that the user subscribe to a flat-rate service.
[0090] On the other hand, if app 138 is running in the background, or if app 138 is not running (NO in T272), PC100 sends a query to server 200 in T280.
[0091] When server 200 receives a query from PC 100 in T280, it uses the usage time table 244 in T282 to identify the device with the longest usage time. In this case, server 200 identifies printer 10 as the device with the longest usage time. In this case, server 200 sends a response to PC 100 in T284 indicating printer 10.
[0092] PC100 receives a response from server 200 in T284. In this case, PC100 determines that it does not need to display the recommended screen because the response indicates printer 10, and therefore does not display the recommended screen.
[0093] When printer 10 determines in T290 that a predetermined timing has arrived, which is one month since the last display of the recommendation screen, it determines in T292 whether printer 10 is operating in a normal state. If printer 10 is operating in a normal state (YES in T292), printer 10 displays the recommendation screen SC3 in T294.
[0094] On the other hand, if printer 10 is operating in a power-saving state (NO in T292), printer 10 sends a query to server 200 in T300.
[0095] When server 200 receives an inquiry from printer 10 at T300, it uses the usage time table 244 at T302 to identify the device with the longest usage time. In this case, server 200 identifies printer 10 as the device with the longest usage time. In this case, server 200 sends a display instruction to printer 10 at T304 that includes recommended screen data representing the recommended screen.
[0096] When printer 10 receives a display command from server 200 in T306, printer 10 displays the recommended screen SC3, represented by the recommended screen data, on the display unit 14 in T306.
[0097] (Effects of the third embodiment) Mobile terminal 50 displays the recommended screen SC2 at T254 if app 68 is running in the foreground (YES at T252) and one month has passed since the last display of the recommended screen (T250). PC 100 displays the recommended screen SC4 at T274 if app 138 is running in the foreground (YES at T272) and one month has passed since the last display of the recommended screen (T270). Printer 10 displays the recommended screen SC3 at T294 if printer 10 is operating in a normal state (YES at T292) and one month has passed since the last display of the recommended screen (T290). When apps 68 and 138 are running in the foreground, there is a high probability that the user will be paying attention to the screen displayed according to apps 68 and 138. Also, when printer 10 is operating in a normal state, there is a high probability that the user is near printer 10. In other words, according to this embodiment, each device 10, 50, and 100 can display the recommendation screen at a time when the user is most likely to view the recommendation screen. This makes it possible to appropriately present the recommendation screen to the user.
[0098] (Correspondence) If printer 10 is an example of a "control device," then printer 10 operating in a normal state is an example of a "first predetermined condition." A predetermined time has elapsed since the last display of the recommended screen is an example of a "second predetermined condition." If mobile terminal 50 or PC 100 is an example of a "control device," then app 68 or app 138 running in the foreground is an example of a "first predetermined condition." A predetermined time has elapsed since the last display of the recommended screen is an example of a "second predetermined condition."
[0099] (Fourth embodiment; Figure 8) Next, with reference to Figure 8, the fourth embodiment will be described. In this embodiment, each device 10, 50, and 100 has a parent-child relationship. In this embodiment, the "parent" is the device that sends display instructions to the child. The "child" is the device that sends operation status to the parent. The memory of the printer 10, the mobile terminal 50, and the PC 100 each stores parent-child setting values. The parent-child setting values indicate either the parent or the child.
[0100] The mobile terminal 50 automatically remembers the parent-child setting value "parent" when it installs the application 68. The PC 100 automatically remembers the parent-child setting value "child" when it installs the application 138. The printer 10 automatically remembers the parent-child setting value "child" when it installs the program 36. Note that the parent-child setting value can be changed by user operation on each device 10, 50, and 100.
[0101] Since the mobile terminal 50 is set as the "parent" in the parent-child configuration, T350 sends a broadcast search signal to LAN4. As a result, the search signal is sent to all devices on LAN4, namely PC100 and printer10.
[0102] When PC100 receives a search signal from the mobile terminal 50 at T350, it transmits a response signal to the mobile terminal 50 at T352.
[0103] When printer 10 receives a search signal from the mobile terminal 50 at T350, it sends a response signal to the mobile terminal 50 at T354.
[0104] The mobile terminal 50 receives a response signal from the PC 100 at T352, and receives a response signal from the printer 10 via the access point at T354.
[0105] Next, the mobile terminal 50 sends an operation status inquiry signal to the PC 100 at T360. When the PC 100 receives the operation status inquiry signal from the mobile terminal 50 at T360, it determines whether or not application 138 is running in the foreground. In this case, application 138 is not running in the foreground. Therefore, the PC 100 sends a response indicating no operation to the mobile terminal 50 at T362.
[0106] Next, the mobile terminal 50 sends an operation status inquiry signal to the printer 10 at T370. When the printer 10 receives the operation status inquiry signal from the mobile terminal 50 at T370, it determines the operating status of the printer 10. In this case, the printer 10 is operating in its normal state and is printing. Therefore, the printer 10 sends a response indicating that it is printing to the mobile terminal 50 at T372.
[0107] When the mobile terminal 50 receives a response from the PC 100 at T362 and a response from the printer 10 at T372, it checks the operating status of the mobile terminal 50 itself. In this case, the mobile terminal 50's application 68 is not running in the foreground. Here, the mobile terminal 50 decides that the recommended screen should be displayed for both the mobile terminal 50 and the PC 100 if they are running in the foreground, and that the recommended screen should not be displayed if they are not running in the foreground. The mobile terminal 50 also decides that the recommended screen should be displayed for the printer 10 if it is operating in normal mode, and that the recommended screen should not be displayed if it is operating in power-saving mode. The mobile terminal 50 then displays the recommended screen on each device that it has determined should display the recommended screen. In this case, the mobile terminal 50 decides that the recommended screen should be displayed only for the printer 10, and sends a display instruction to the printer 10 at T380 that includes recommended screen data representing the recommended screen.
[0108] When printer 10 receives a display command from the mobile terminal 50 in T380, it displays the recommended screen SC3, represented by the recommended screen data, on the display unit 14 in T382.
[0109] (Effects of the fourth embodiment) The mobile terminal 50, acting as the "parent," uses the responses received by T362 and T372 to identify the printer 10 as the device most likely to be currently being operated by the user. Then, the mobile terminal 50 sends a display command to the printer 10 at T380. In this way, the mobile terminal 50 displays the recommended screen on the printer 10, which is the device most likely to display the recommended screen to the user among the mobile terminal 50, the PC 100, and the printer 10. This enables the appropriate presentation of the recommended screen to the user.
[0110] Furthermore, if the mobile terminal 50 determines that the recommended screen should be displayed for two or more devices, it will display the recommended screen on each of those two or more devices. For example, if applications 68 and 138 on the mobile terminal 50 and PC 100 are running in the foreground, and printer 10 is printing, the mobile terminal 50 will display the recommended screen on all three devices 10, 50, and 100. In a modified example, if the mobile terminal 50 determines that the recommended screen should be displayed for two or more devices, and those two or more devices include a parent device, it may display the recommended screen only on the parent device. If the mobile terminal 50 determines that the recommended screen should be displayed for two or more devices, and those two or more devices do not include a parent device, it may display the recommended screen on only one randomly selected device among those two or more devices.
[0111] (Correspondence) The parent-child setting value is an example of the "second setting value". "Parent" is an example of the "first role". "Child" is an example of the second role. Printer 10 is an example of a "communication device". The parent-child relationship value being "parent" is an example of the "first predetermined condition". If Printer 10 is an example of a "control device", then Printer 10 being in a normal state is an example of the "second predetermined condition". If Mobile terminal 50 is an example of a "control device", then App 68 being launched in the foreground is an example of the "second predetermined condition". If PC 100 is an example of a "control device", then App 138 being launched in the foreground is an example of the "second predetermined condition".
[0112] Although specific examples of the present invention have been described in detail above, these are merely illustrative and do not limit the scope of the claims. The technology described in the claims includes various modifications and changes to the specific examples illustrated above. Modifications of the above embodiments are listed below.
[0113] (Modification 1) T100 to T126 in Figure 4 may be omitted. The server 200 can know how long the application 68 on the mobile terminal 50 is running in the foreground by periodically receiving signals from the mobile terminal 50 while the application 68 on the mobile terminal 50 is running in the foreground. The server 200 can know how long the application 138 on the PC 100 is running in the foreground by periodically receiving signals from the PC 100 while the application 138 on the PC 100 is running in the foreground. In addition, the server 200 can know how long the printer 10 is operating in the normal state by receiving a signal from the printer 10 indicating the state transition when the printer 10 transitions between the normal state and the power-saving state. As a result, the server 200 can store the usage time table 244. In this modification, the "first transmitting unit" and the "second transmitting unit" can be omitted.
[0114] (Modification 2) It is not necessary for all of cases B-1 to B-3 in Figure 5 to be realized. That is, the mobile terminal 50 may realize only case B-1, only case B-2, only case B-3, or any two of cases B-1 to B-3. Generally speaking, the second predetermined condition is satisfied in at least one of the following cases: "when the computer program is started for the first time", "when a predetermined amount of time has elapsed since the recommended screen was displayed on the display unit", and "when the first cost of using the service is less than the second cost of not using the service".
[0115] (Modification 3) It is not necessary to implement only one of cases B-4 and B-5 in Figure 6. That is, the printer 10 may implement only case B-4 or only case B-5.
[0116] (Modification 4) In the above embodiment, the processing of each step in Figures 3 to 8 is implemented by software (for example, program 36 for printer 10, OS 66 and application 68 for mobile terminal 50, OS 136 and application 138 for PC 100, and program 236 for server 200), but at least one of these processes may be implemented by hardware such as a logic circuit.
[0117] Furthermore, the technical elements described herein or in the drawings demonstrate technical usefulness individually or in various combinations, and are not limited to the combinations described in the claims at the time of filing. In addition, the technologies illustrated herein or in the drawings can achieve multiple objectives simultaneously, and achieving even one of these objectives constitutes technical usefulness in itself.
[0118] Even if, in the claims of this patent application, each claim depends on only some of the claims, it is not limited to the claim being dependent only on those specific claims. To the extent that it is not technically contradictory, each claim may be dependent on other claims that were not dependent at the time of application. That is, the technologies of each claim can be combined in various ways as follows: (Item 1) A computer program for a control device, The computer of the aforementioned control device comprises the following parts, namely: A first display control unit that displays the recommendation screen on the display unit of the control device when a first predetermined condition relating to the state of the control device is met and a second predetermined condition relating to the timing of displaying a recommendation screen for recommending subscription to a printing service is met, The first display control unit, which, when the first predetermined condition is met and the second predetermined condition is not met, does not display the recommendation screen, A second display control unit that displays the recommended screen on the display unit when the first predetermined condition is not met and a display instruction for the recommended screen is received from the communication device, A computer program that functions as such. (Item 2) If the control device is unable to communicate with the server which is the communication device, the first predetermined condition is met. The computer program described in item 1, which does not satisfy the first predetermined condition when the control device is able to communicate with the server. (Item 3) The aforementioned computer program further uses the computer, The computer program described in item 2, which causes the control device to function as a determination unit that determines that communication with the server is impossible if it transmits a predetermined signal to the server and does not receive a response from the server. (Item 4) The control device stores a first setting value indicating whether or not to allow communication with the communication device. The first setting value is either a first value indicating that communication with the communication device is permitted, or a second value indicating that communication with the communication device is not permitted. When the first setting value is the second value, the first predetermined condition is met. The computer program described in item 2, wherein the first predetermined condition is not met when the first setting value is the first value. (Item 5) The control device is a user terminal, The aforementioned computer program further uses the computer, The first transmitting unit functions to transmit to the communication device first time information relating to the startup time, which is the time the computer program is running in the foreground, at intervals of a predetermined period of time. The startup time is a computer program according to any one of items 1 to 4, which is used by the communication device to determine whether or not to transmit the display instruction to the control device. (Item 6) The aforementioned control device is a printer, Each time a predetermined period has elapsed, the control device is configured to function as a second transmitting unit that transmits second time information relating to the normal state time, which is the time the control device is in a normal state and not in a power-saving state, to the communication device. The normal state time is a computer program according to any one of items 1 to 4, which is used by the communication device to determine whether or not to transmit the display instruction to the control device. (Item 7) When the aforementioned computer program is first started, When a predetermined time has elapsed since the recommended screen was displayed on the display unit, The first cost of using the service is less than the second cost of not using the service, The computer program described in item 1, wherein the second predetermined condition is satisfied in at least one of the following cases. (Item 8) The control device is a user terminal, The computer program is an application program installed on the user terminal. The computer program described in item 7, wherein the first cost and the second cost are calculated based on the amount of printing performed by the printer using the application program. (Item 9) The control device is a user terminal, The computer program is an application program installed on the user terminal. When the aforementioned application program is running in the foreground, the first predetermined condition is met. The computer program described in item 1, wherein the first predetermined condition is not met when the application program is not running in the foreground. (Item 10) The aforementioned control device is a printer, When the printer is in a normal state and not in a power-saving state, the first predetermined condition is met. The computer program described in item 1, wherein the first predetermined condition is not met when the printer is in the power-saving state. (Item 11) The control device stores a second setting value indicating whether the control device assumes the first role or the second role. The second setting value is either a third value indicating that it performs the first role, or a fourth value indicating that it performs the second role. When the second setting value is the third value, the first predetermined condition is met. The computer program described in item 1, wherein the first predetermined condition is not met when the second setting value is the fourth value. (Item 12) The control device is a user terminal, The computer program is an application program installed on the user terminal. When the aforementioned application program is running in the foreground, the second predetermined condition is met. The computer program described in item 11, wherein the second predetermined condition is not met when the application program is not running in the foreground. (Item 13) The aforementioned control device is a printer, When the printer is in a normal state and not in a power-saving state, the second predetermined condition is met. The computer program described in item 11, wherein the second predetermined condition is not met when the printer is in the power-saving state. (Item 14) A control device, A first display control unit that displays the recommendation screen on the display unit of the control device when a first predetermined condition relating to the state of the control device and a second predetermined condition relating to the timing of displaying a recommendation screen for recommending subscription to a printing service are met, The first display control unit, which, when the first predetermined condition is met and the second predetermined condition is not met, does not display the recommendation screen, A second display control unit that displays the recommended screen on the display unit when the first predetermined condition is not met and a display instruction for the recommended screen is received from the communication device, A control device equipped with the following features. [Explanation of Symbols]
[0119] 2: Communication system, 6: Internet, 10: Printer, 12: Operation unit, 14: Display unit, 16: Print execution unit, 18: Communication I / F, 30: Control unit, 32: CPU, 34: Memory, 36: Program, 50: Mobile terminal, 52: Operation unit, 54: Display unit, 58: Communication I / F, 60: Control unit, 62: CPU, 64: Memory, 66: OS program, 68: Application, 100: PC, 112: Operation unit, 114: Display unit, 118: Communication I / F, 130: Control unit, 132: CPU, 134: Memory, 136: Program, 138: Application, 200: Server, 218: Communication I / F, 230: Control unit, 232: CPU, 234: Memory, 236: Program, 240: User table, 242: Plan table, 244: Usage time table
Claims
1. A computer program for a control device, The computer of the aforementioned control device comprises the following parts, namely: A first display control unit that displays the recommendation screen on the display unit of the control unit when a first predetermined condition relating to the state of the control unit is met and a second predetermined condition relating to the timing of displaying a recommendation screen for recommending subscription to a printing service is met, The first display control unit, which, when the first predetermined condition is met and the second predetermined condition is not met, does not display the recommendation screen, A second display control unit that displays the recommended screen on the display unit when the first predetermined condition is not met and a display instruction for the recommended screen is received from the communication device, A computer program that functions as such.
2. If the control device is unable to communicate with the server which is the communication device, the first predetermined condition is met. The computer program according to claim 1, wherein the first predetermined condition is not met when the control device is able to communicate with the server.
3. The aforementioned computer program further uses the computer, The computer program according to claim 2, wherein the control device functions as a determination unit that determines that communication with the server is impossible if it transmits a predetermined signal to the server and does not receive a response from the server.
4. The control device stores a first setting value indicating whether or not to allow communication with the communication device. The first setting value is either a first value indicating that communication with the communication device is permitted, or a second value indicating that communication with the communication device is not permitted. When the first setting value is the second value, the first predetermined condition is met. The computer program according to claim 2, wherein the first predetermined condition is not satisfied when the first setting value is the first value.
5. The control device is a user terminal, The aforementioned computer program further uses the computer, The first transmitting unit functions to transmit to the communication device first time information relating to the startup time, which is the time the computer program is running in the foreground, at intervals of a predetermined period of time. The computer program according to claim 1, wherein the startup time is used by the communication device to determine whether or not to transmit the display instruction to the control device.
6. The aforementioned control device is a printer, Each time a predetermined period of time has elapsed, the control device is configured to function as a second transmitting unit that transmits second time information relating to the normal state time, which is the time during which the control device is in a normal state and not in a power-saving state, to the communication device. The computer program according to claim 1, wherein the normal state time is used by the communication device to determine whether or not to transmit the display instruction to the control device.
7. When the aforementioned computer program is first started, When a predetermined time has elapsed since the recommended screen was displayed on the display unit, The first cost of using the service is less than the second cost of not using the service, The computer program according to claim 1, wherein the second predetermined condition is satisfied in at least one of the following cases.
8. The control device is a user terminal, The computer program is an application program installed on the user terminal. The computer program according to claim 7, wherein the first cost and the second cost are calculated based on the amount of printing performed by the printer using the application program.
9. The control device is a user terminal, The computer program is an application program installed on the user terminal. When the aforementioned application program is running in the foreground, the first predetermined condition is met. The computer program according to claim 1, wherein the first predetermined condition is not satisfied if the application program is not running in the foreground.
10. The aforementioned control device is a printer, When the printer is in a normal state and not in a power-saving state, the first predetermined condition is met. The computer program according to claim 1, wherein the first predetermined condition is not met when the printer is in the power-saving state.
11. The control device stores a second setting value indicating whether the control device assumes the first role or the second role. The second setting value is either a third value indicating that it performs the first role, or a fourth value indicating that it performs the second role. When the second setting value is the third value, the first predetermined condition is met. The computer program according to claim 1, wherein the first predetermined condition is not satisfied when the second setting value is the fourth value.
12. The control device is a user terminal, The computer program is an application program installed on the user terminal. When the aforementioned application program is running in the foreground, the second predetermined condition is met. The computer program according to claim 11, wherein the second predetermined condition is not met if the application program is not running in the foreground.
13. The aforementioned control device is a printer, When the printer is in a normal state and not in a power-saving state, the second predetermined condition is met. The computer program according to claim 11, wherein the second predetermined condition is not met when the printer is in the power-saving state.
14. A control device, A first display control unit that displays the recommendation screen on the display unit of the control device when a first predetermined condition relating to the state of the control device and a second predetermined condition relating to the timing of displaying a recommendation screen for recommending subscription to a printing service are met, The first display control unit, which, when the first predetermined condition is met and the second predetermined condition is not met, does not display the recommendation screen, A second display control unit that displays the recommended screen on the display unit when the first predetermined condition is not met and a display instruction for the recommended screen is received from the communication device, A control device equipped with the following features.