Information processing device, method for controlling the information processing device, and program

The information processing device improves usability by receiving operations to launch a second application, acquiring its status, and displaying appropriate notifications, addressing the challenge of decreased usability in multi-application environments.

JP2026092623APending Publication Date: 2026-06-05CANON KK

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
CANON KK
Filing Date
2024-11-26
Publication Date
2026-06-05

AI Technical Summary

Technical Problem

Existing technologies face challenges in improving user-friendliness when multiple application programs operate in cooperation, particularly due to the inability of one application to determine the status of another application, leading to decreased usability.

Method used

An information processing device that performs a reception step to receive an operation to start a second application, acquires information about the second application's state, and displays information based on that state, allowing appropriate notifications for download or installation when necessary.

Benefits of technology

Enhances usability by ensuring that users are informed about the status of the second application, prompting necessary actions such as download or installation, thereby improving the overall user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026092623000001_ABST
    Figure 2026092623000001_ABST
Patent Text Reader

Abstract

When multiple application programs work together, there is a need to improve usability. [Solution] A first application program causes the computer of an information processing device to execute a reception step for receiving a startup operation to start a second application program, an acquisition step for acquiring first information and second information indicating the state of the second application program, and a display step for displaying information relating to the second application program. When the reception step receives an operation to start the second application program, the display step displays information relating to the second application program in a different manner based on at least one of the first information and the second information.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to an information processing apparatus, a control method for an information processing apparatus, and a program.

Background Art

[0002] In recent years, a technology in which a plurality of application programs operate in cooperation has been known. For example, when a print instruction is given in an editing application program (hereinafter referred to as an editing application) for editing contents such as document data and image data, a form in which a print application program (hereinafter referred to as a print application) causes an image processing apparatus to execute a predetermined process (for example, print processing) is known.

[0003] In Patent Document 1, when a print instruction is given in an editing application, a support program that causes an information processing apparatus to perform operations related to downloading and installing an installer depending on the installation status of a printer driver has been proposed.

Prior Art Documents

Patent Documents

[0004]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0005] When a plurality of application programs operate in cooperation, it is required to improve user-friendliness.

Means for Solving the Problems

[0006] A first application program, wherein the computer of an information processing device performs a reception step of receiving an operation to start a second application program, an acquisition step of acquiring first information and second information indicating the state of the second application program, and a display step of displaying information relating to the second application program, wherein if an operation to start the second application program is received in the reception step, the display step displays information relating to the second application program in a different manner based on at least one of the first information and the second information. [Effects of the Invention]

[0007] When multiple application programs work together, usability can be improved. [Brief explanation of the drawing]

[0008] [Figure 1] This is a diagram showing the configuration of the printing processing system. [Figure 2] This diagram shows the hardware configuration of the terminal device. [Figure 3] This is a block diagram showing the functional configuration of terminal devices and web server devices. [Figure 4] This figure shows an example of the editing screen of an editing application. [Figure 5] This figure shows an example of the print preview screen of a printing application. [Figure 6] This is a flowchart illustrating the process of launching a print application from an editing application. [Figure 7] This figure shows an example of a dialog box display. [Figure 8] This is a sequence diagram showing the setting of the installed flag. [Figure 9] This is a block diagram showing the functional configuration of terminal devices and web server devices. [Figure 10]This is a flowchart illustrating the process of launching a print application from an editing application. [Modes for carrying out the invention]

[0009] The present invention will now be described in detail with reference to the drawings. Note that the following embodiments do not limit the scope of the present invention as defined in the claims, and not all combinations of features described in these embodiments are necessarily essential to the solution of the present invention. Furthermore, in the accompanying drawings, identical or similar configurations are given the same reference numerals, and redundant descriptions are omitted.

[0010] [Embodiment 1] <System Configuration> Figure 1 shows an example of the configuration of a printing processing system according to this embodiment. The printing processing system includes a terminal device 101, a printing device 102, and a Web server device 103. Users can print data created with a Web application (an editing application described later) provided by the Web server device 103 to the printing device 102 via a printing application 302 described later. The terminal device 101 is an information processing device such as a smartphone, PC (Personal Computer), tablet terminal, mobile phone, or PDA (Personal Digital Assistant). The printing device 102 is a printer that prints images on a recording medium such as paper by adding a recording material such as ink to the recording medium. The printing device 102 may be a multifunction device equipped with multiple functions such as copying, faxing, and printing. In this embodiment, the printing device 102 is assumed to be an inkjet printer, but it is not limited to this form, and may be an electrophotographic printer or a thermal sublimation printer, for example.

[0011] Terminal device 101 communicates with printer device 102 via the network established by access point 100. Terminal device 101 stores programs such as the print application 302. Therefore, print data created using the print application 302 is transmitted from terminal device 101 to printer device 102 via the network. Furthermore, access point 100 functions, for example, as a wireless LAN router, and terminal device 101 connects to the internet via this wireless LAN router. Therefore, terminal device 101 can communicate with web server device 103 for controlling web applications via the internet. Note that terminal device 101 and printer device 102 may each be connected to access point 100 via wired LAN. Also, terminal device 101 and printer device 102 may be connected to each other via wired LAN.

[0012] Figure 2 shows the hardware configuration of the terminal device 101 in this embodiment. The terminal device 101 includes a CPU 201, an operation unit 202, a network interface 203, a memory 204, a display unit 205, a storage device 206, an input interface 207, and an output interface 208, each connected via a system bus.

[0013] The CPU 201 performs overall control of the terminal device 101.

[0014] The operation unit 202 is an operation unit for the user to give instructions to the terminal device 101, and may have, for example, buttons or a touch panel. Although Figure 2 shows an example where the operation unit 202 is integrated into the terminal device 101, an external keyboard may be connected to the input interface 207 and the device may be operated from the external keyboard.

[0015] The network interface 203 is an interface for connecting to a network. The terminal device 101 is configured to be able to connect to the network via the network interface 203 and to be able to connect to the internet via the network.

[0016] The memory 204 is a random access memory (RAM) or a read only memory (ROM) as the working area of the CPU 201. The RAM is used as a temporary storage area for various received data or stores various setting data, and the ROM stores firmware and basic programs of the system.

[0017] The display unit 205 is a unit that displays various information and consists of a liquid crystal panel or the like. In FIG. 1, an example in which the display unit 205 is incorporated in the terminal device 101 is shown, but an external display may be connected to the output interface 208 and displayed on the external display. Note that a touch panel display including the display unit 205 and the operation unit 203 may be provided.

[0018] The storage device 206 is, for example, a flash memory or the like, and stores applications such as the above-described printing application 302, various control programs such as an operating system (hereinafter referred to as OS), and various information used by these programs.

[0019] The input interface 207 is an interface for receiving data input and operation instructions from the user. The input interface 207 is constituted by, for example, a physical keyboard, buttons, a touch panel, or the like. Note that the output interface 208 and the input interface 207 described later may be integrated so that the output of the screen and the reception of operations from the user (reception) are performed using common hardware.

[0020] The output interface 208 is an interface that controls the display of data and the status of the terminal device 101 on an external display or the like. For example, the output interface 208 outputs control information and display target information for displaying information on the external display. The external display is composed of LEDs (light-emitting diodes) or LCDs (liquid crystal displays), etc., and notifies the user of data and the status of the terminal device 101. Alternatively, a soft keyboard including keys such as numerical input keys, mode setting keys, OK keys, cancel keys, and power keys may be displayed on the external display, and user input may be accepted via that soft keyboard.

[0021] Figure 3 shows an example of the functional configuration of the terminal device 101 and the web server device 103. The terminal device 101 is equipped with an OS 300. The OS 300 is, for example, Windows®, macOS®, Linux®, iOS®, or Android®. The OS 300 includes a web browser 301, a printing application 302, and a printer driver 303.

[0022] The design creation application 304, which is an editing application in this embodiment, takes the form of a web application that runs on a web browser 301. The user creates design data on the screen of the design creation application 304. The design creation application 304 includes a UI control unit 305 that controls user operations in the web browser, and a poster editing unit 306 that performs editing processing of images (poster images, etc.).

[0023] If you want to permanently save data from a design application 304 running on a web browser 301, you save the data to the web browser 301's local storage. The web browser 301's local storage is included in the storage device 206, but for security reasons, it is only accessible between the same browser and the same domain. Therefore, it is not possible to access the web browser 301's local storage from another application (e.g., a printing application 302). Conversely, it is also not possible to retrieve data from another application (e.g., a printing application 302) from a web application. This is because, for security reasons, it is not possible for a web application to directly access storage device 206 other than client-side storage. Here, client-side storage refers to local storage, session storage, cookies, and IndexedDB.

[0024] The design data created with the design creation application 304 can be posted on a website, on a social networking service (SNS), or printed by connecting a printer to the terminal device 101. On the screen of the printing application 302, the user prints the design data created with the design creation application 304.

[0025] The print application 302 is an application for printing based on print settings set by the user, and includes a UI control unit 307 for controlling user operations and a print setting processing unit 308 for setting print settings. For example, the print application 302 is a native application consisting of a program that can be executed directly on the OS and is associated with the design creation application 304. The print application 302 is also an application for printing content data created by the design creation application 304 to the printing device. If the terminal device 101 is a PC, the printer driver 303 performs the process of generating print data for printing on the printing device 102. The printer driver 303 is distributed by the printer vendor and can be used by the user after installation. In addition, the printer driver 303 may be bundled with the OS.

[0026] The web server device 103 consists of a content management unit 310, a rendering processing unit 311, a user management unit 312, and a user authentication unit 313. The content management unit 310 manages content such as image data created and edited by the design production application 304. It also manages template data and downloadable content. The rendering processing unit 311 performs rendering processing on the content managed by the content management unit 310. The user management unit 312 manages user information to identify users. It can also manage information associated with users. The user authentication unit 313 verifies the content of authentication requests and authenticates users.

[0027] <Design creation application> Next, we will explain an example of the design creation process using the design creation application 304.

[0028] Figure 4 shows an example of the editing screen for design data creation displayed on the display unit 205 by running a program corresponding to the design creation application 304 on a web browser. The editing screen 400 consists of a new creation button 401, a design editing area 402, design data 403, a template list display button 404, a selection item display area 405, a template 406, and a print button 407.

[0029] When the "Create New" button 401 is pressed (operated), the design creation application 304 displays new design data without any objects placed in the design data 403 on the design editing area 402.

[0030] The design production application 304 displays the design data 403 in the design editing area 402.

[0031] When the template list display button 404 is pressed, the design production application 304 displays a list of templates in the selection item display area 405. The template list displays one or more templates 406 provided by the design production application 304. Regarding the provision of templates 406, the example described here is that the design production application 304 provides the templates, but the design production application 304 may also obtain them from outside the application via a server. Alternatively, template data created by another user may be shared.

[0032] If any template 406 is selected, the selected template 406 will be displayed as design data 403 in the design editing area 402, and editing operations can be performed thereafter.

[0033] When the print button 407 is operated (pressed), the design production application 304 executes the startup process of the print application 302 via the OS 300. The startup process is a process that sends a startup command via the OS 300 using a custom URL scheme described later, for example, in the format of a URL such as "printapp: / / ".

[0034] <Printing Application> Next, we will explain an example of the flow of print command operations by the print application 302.

[0035] Figure 5 shows an example of the print preview screen of the print application 302. The print application 302 is displayed on the display unit 205 when the CPU 201 of the terminal device 101, which has received a startup command from the design production application 304 via the OS 300, executes a program corresponding to the print application 302 stored, for example, in memory 204 or storage device 206. The print preview screen 500 consists of a display area 501, print data 502, printer selection buttons 503, and a print button 504.

[0036] The print application 302 displays a thumbnail of the print data 502 created by the rendering processing unit 311 from the design data 403 associated with the user authenticated by the user management unit 312 in the display area 501.

[0037] When the printer selection button 503 is pressed, the printing application 302 displays a list of connected printers. The user can select the desired printer from the list. When the print button 504 is pressed while a thumbnail of the print data 502 is displayed in the display area 501, the printing application 302 executes a print command to print the data to the printer selected by the printer selection button 503.

[0038] Incidentally, the initiating application, design production application 304, may launch the target application, printing application 302, using a method called a URL scheme. A URL scheme is information used to access a specific resource; for example, ("http: / / ") is known as the URL scheme for accessing a web page. For instance, using the URL scheme ("http: / / ") displays a web browser. URL schemes can be defined by the application itself and are called custom URL schemes. By using a custom URL scheme, the design production application 304 can launch the printing application 302. Furthermore, by assigning values ​​to the custom URL scheme, it is possible to pass data between applications.

[0039] For example, the print application 302 receives a startup command from the design production application 304 using a custom URL scheme via the OS 300. When the installer for the print application 302 is executed, the installer program registers the custom URL scheme by saving, for example, "printapp: / / " to the storage device 206 of the OS 300. Alternatively, the custom URL scheme can be registered when the print application 302 is first launched. When the custom URL scheme is executed with the custom URL scheme registered in the storage device 206, the OS 300 launches the application associated with the custom URL scheme. User authentication is performed when the print application 302 is launched. Authentication can be performed by adding authentication information to the custom URL scheme when the print application 302 is launched, or a login screen can be displayed on the print application 302 when it is first launched, and authentication can be performed by user input.

[0040] Here, if the web application, design production application 304, attempts to launch the print application 302 using a custom URL scheme, the design production application 304 cannot launch the print application 302 if it is not installed on the information processing device. However, the design production application 304 may not be able to recognize the status of the print application 302. For example, the design production application 304 may not be able to recognize whether the print application 302 has been downloaded or installed. This is because, as mentioned above, the memory area where the native application (print application) is stored is a memory area that the web application (design production application 304) cannot access for security reasons. Therefore, the design production application 304 may not be able to perform processing corresponding to the status of the print application 302, which could lead to a decrease in usability. For example, the design production application 304 may not be able to properly notify the user that the print application 302 is not installed on the information processing device, which could lead to a decrease in usability.

[0041] In this embodiment, information regarding the native application, the print application 302, is stored in an appropriate memory area accessible by the web application, the design production application 304. The initiating application, the design production application 304, then retrieves information about the target application, the print application 302, and determines the status of the print application 302. Based on the determined status of the print application 302, the design production application 304 performs appropriate processing. For example, if it is determined that the print application 302 has not been downloaded, the user is notified with information prompting them to download the print application 302. Also, if it is determined that the print application 302 is not installed, the user is notified with information prompting them to install the print application 302.

[0042] This allows the design production application 304 to perform processing corresponding to the status of the printing application 302, thereby improving usability.

[0043] Figure 6 is a flowchart showing the process of launching the print application 302 from the design production application 304 via the OS 300.

[0044] The processing of this flowchart begins when the print button 407 on the editing screen 400 of the design production application 304 is pressed.

[0045] In step S601, the design production application 304 performs a determination process to determine whether or not the user is authenticated. If it is determined to be TRUE (user authenticated) in step S601, the process proceeds to step S602. If it is determined to be FALSE (user not authenticated) in step S601, the process proceeds to step S610.

[0046] In step S610, the design production application 304 displays a login screen (not shown).

[0047] In step S611, the design production application 304 determines whether the authentication process was successful on the login screen. If the result in step S611 is TRUE, that is, if authentication is determined to be successful, the design production application 304 returns to step S602 of the flowchart. If the result in step S611 is FALSE, that is, if the login screen is closed without performing the login process or if authentication is determined to have failed, the design production application 304 terminates the processing of this flowchart and displays the editing screen 400. When displaying the editing screen 400, the design production application 304 may display an area (dialog box) on the editing screen 400 that contains information indicating that authentication is incomplete. Also, the configuration does not have to be such that the login screen is displayed after the print button 407 is pressed. For example, if a login button is provided on the editing screen 400, the design production application 304 may display the login screen on the editing screen 400 and perform user authentication based on the acceptance of an operation on the login button. Step S601 may be executed after step S603.

[0048] In step S602, the design production application 304 obtains the value of the download button press flag (downloaded flag) via the storage device 206 of the terminal device 101. The download button press flag is initially set to "false". The storage (memory, saving) of the value of the download button press flag will be described later in Figure 7(a) of step S609.

[0049] In step S603, the design production application 304 performs a determination process to determine whether the value obtained in step S602 indicates that the item has been downloaded. If it is determined to be TRUE (the value indicates that the item has been downloaded) in step S603, the process proceeds to step S604; if it is determined to be FALSE (the value indicates that the item has not been downloaded), the process proceeds to step S609.

[0050] In step S609, the design production application 304 displays an area (dialog box) containing information indicating the procedure for downloading the print application, as shown in Figure 7(a), and terminates the processing of this flowchart. The dialog box 700 consists of a message display area 701, a download button 702, and a close button 703. The message display area 701 displays information (message) prompting the user to download the print application. When the download button 702 is pressed, the design production application 304 starts downloading the installer for the print application 302 located in the content management unit 310 of the Web server device 103. At that time, the value of the download button press flag in the local storage of the Web browser stored in the storage device 206 is set to "true". The download button press flag is stored in the local storage of the Web browser 301 in the storage device 206 and is therefore linked to the user information logged into the terminal device 101. The download button press flag may also be set to "true" when a download link is displayed, or when a download QR code (registered trademark) is displayed on the design production application 304 and the download is performed using QR code reading software. Furthermore, while it is possible to save the download button press flag to the Web server device 103, which is the storage location for the installed flag described later, the download button press flag is saved to the local storage of the Web browser 301, not to the Web server device 103. If both the download button press flag and the installed flag are saved to the Web server device 103, and the user has downloaded and installed the print application 302 on a first terminal device, and the same user has logged into the design production application 304 on a second terminal device where the print application 302 has not been downloaded or installed, the design production application 304 may mistakenly determine that the second terminal device is a terminal device on which the print application 302 has already been downloaded and installed.This is because the web server device 103 manages information on whether the print application 302 has been downloaded and installed by linking it to user information, and does not store it in association with the terminal device. As a result, when the same user uses multiple terminal devices (for example, when using different terminal devices at work and at home), it may not be possible to notify the user of the appropriate information. Therefore, by saving the download button press flag to the local storage of the web browser and making it a download button press flag associated with the terminal device, for example, the second terminal device mentioned above will be determined to be FALSE in step S603, and the appropriate information will be notified to the user. The design production application 304 closes the dialog 700 when the close button 703 is pressed.

[0051] Let's return to the flowchart explanation. In step S604, the design production application 304 obtains the value of the installed flag associated with user information from the user management unit 312 of the web server device 103. Since the installed flag is stored in the server device 103, it is associated with the user information logged in by the design production application 304. The installed flag is initially set to "false". The storage of the installed flag value will be described later in Figure 8. Incidentally, it is conceivable that the determination of whether or not an application is installed, such as the installed flag, could be associated with the terminal device 101 and managed individually for each terminal device. If it is stored associated with the terminal device, it would be stored in the storage device 206, but as mentioned above, for security reasons of the web application, the web application (design production application 304) cannot directly access the storage device 206, which is memory other than the client-side storage of the web browser. Therefore, as an alternative, it is stored in the web server device 103, which can be accessed by both the web application and the native application.

[0052] Returning to the flowchart explanation, in step S605, the design production application 304 performs a check on the value obtained in step S604. If it is determined to be TRUE (a value indicating that it is installed) in step S605, proceed to step S606; if it is determined to be FALSE (a value not indicating that it is installed), proceed to step S608.

[0053] In step S608, the design production application 304 displays a dialog box showing the installation procedure for the print application, as shown in Figure 7(b), and terminates the processing of this flowchart. The dialog box 700 consists of a message display area 701, a close button 703, and a print application launch button 704. The message display area 701 displays information (messages) prompting the user to install the application. When the print application launch button 704 is pressed, the design production application 304 starts the processing described later, from step S606 onwards.

[0054] In step S606, the design production application 304 requests the web server device 103 to create a print job. Specifically, the design production application 304 instructs the rendering processing unit 311 of the web server device 103 to render the design data 403 on the editing screen 400.

[0055] In step S607, the design production application 304 executes a startup process that launches the print application 302 via the OS 300 using a URL scheme, without displaying the dialog shown in Figure 7, and terminates the process of this flowchart.

[0056] Figure 8 is a sequence diagram showing the setting of the installed flag, including the user authentication process.

[0057] Figure 8(a) shows the sequence for setting the installed flag when performing user authentication in the design production application 304.

[0058] This sequence of operations is initiated in the design creation application 304, for example, when the print button 407 is pressed before user authentication has been completed.

[0059] In step S801, the design production application 304 requests a login screen from the web server device 103.

[0060] In step S802, the web server device 103 displays a login screen to the design production application 304.

[0061] In step S803, the design production application 304 sends an authentication request to the web server device 103, including the ID and password entered by the user on the login screen.

[0062] In step S804, the web server device 103 verifies the ID and password received from the design production application 304 and performs login verification to determine whether the user is legitimate. If the verification is successful in step S804 and it is the first login, the process proceeds to step S805, where the installed flag associated with the user is set to its initial value of "false". The determination of whether it is the first login is made if the installed flag associated with the user is not set in the user management unit 312 of the web server device 103.

[0063] In step S806, if verification was successful in step S804, a login session is started and access rights are granted to the successfully logged-in user. If verification fails, an error message is returned.

[0064] Figure 8(b) shows a sequence in which the design production application 304 launches the printing application 302 via the OS 300 and updates the value of the installed flag.

[0065] This sequence of operations begins when the print button 407 is pressed in the design creation application 304. This sequence of operations assumes that the print application 302 is installed on the terminal device 101, and that the design creation application 304 provides authentication information and launches the print application 302 via the OS 300 using a URL scheme.

[0066] In step S810, the design production application 304 performs the processes from steps S601 to S611 in Figure 6 to determine whether or not to issue an instruction to start the print application 304. If the print application 302 is installed, the design production application 304 performs the processes in steps S606 and S607 and proceeds to step S811.

[0067] In step S811, with authentication information added to the URL scheme parameters, the design production application 304 issues a command to launch the print application 302 via the OS 300.

[0068] In step S812, the printing application makes an authentication request to the web server device 103 based on the authentication information received in step S811.

[0069] In step S813, the web server device 103 performs login authentication (verification) to determine whether the user is legitimate. If authentication is successful in step S813, the web server device 103 proceeds to step S814 and updates the installed flag associated with the user to "true". Alternatively, in step S812, the printing application may assign, for example, the UUID (Universally Unique Identifier) ​​of the terminal device 101 to the web server device 103. Then, in step S814, the web server device 103 may store the UUID of the terminal device 101 associated with the user on the web server device 103.

[0070] In step S815, if authentication was successful in step S813, the web server device 103 starts a login session and grants access rights to the user who successfully logged in. If authentication fails in step S815, the web server device 103 returns an error message.

[0071] Subsequently, if the print button 504 on the print preview screen 500 is pressed, the print application 302 sends the print data to the printing device 102.

[0072] As described above, in this embodiment, information regarding the native application, the printing application 302, is stored in an appropriate memory area accessible by the web application, the design production application 304. The initiating application, the design production application 304, then retrieves information about the target application, the printing application 302, and determines the status of the printing application 302. Based on the determined status of the printing application 302, the design production application 304 then performs appropriate processing. For example, if it is determined that the printing application 302 has not been downloaded, the user is notified with information prompting them to download the printing application 302. Also, if it is determined that the printing application 302 is not installed, the user is notified with information prompting them to install the printing application 302.

[0073] This allows the design production application 304 to perform processing corresponding to the status of the printing application 302, thereby improving usability.

[0074] [Embodiment 2] In Embodiment 1, the design production application 304 was a web application, and the printing application 302 was a native application. On the other hand, there are also cases where one native application launches another native application.

[0075] Therefore, Embodiment 2 describes a configuration in which both the design production application 304 and the printing application 302 are native applications.

[0076] Since Embodiment 2 is a modification of Embodiment 1, only the differences will be described. Furthermore, parts corresponding to those in Embodiment 1 will be denoted by the same reference numerals.

[0077] The diagram showing an example of the configuration of the printing processing system in Figure 1 and the diagram showing the hardware configuration of the terminal device 101 in Figure 2 are the same as in Embodiment 1, so their explanation will be omitted. Figure 9 is a block diagram showing the functional configuration of the terminal device and the Web server device. Since Figure 9 is a modified block diagram of Figure 3, only the differences from Figure 9 will be explained.

[0078] In Figure 3, the design production application 304 took the form of a web application running on a web browser 301, but in this embodiment, it takes the form of a native application, and the design production application 304 is provided on the OS 300. Furthermore, by providing a rendering processing unit 311 in the design production application 304 and omitting user authentication processing, it is possible to create a configuration that does not require a web server device 103.

[0079] If you want to permanently save the data of the design production application 304, in Figure 3 of Embodiment 1, the design production application 304 saved the data to the local storage of the web browser 301. However, in this embodiment, since the design production application 304 can directly write to and access data from the storage device 206, the data of the design production application 304 is saved to a storage area of ​​the storage device 206 other than the local storage.

[0080] When launching the print application 302 from the design production application 304, it is possible to use a URL scheme, as in Embodiment 1. However, it is also possible to initiate the launch by executing an exe file from the design production application 304. When launching by executing an exe file, the launch process is executed via the OS 300. Furthermore, the user authentication process when launching the print application 302 can be omitted in this embodiment.

[0081] Figure 10 is a flowchart showing the process of launching the print application 302 from the design production application 304 via the OS 300 in this embodiment. Since Figure 10 is a modified flowchart of Figure 6, only the differences from Figure 6 will be explained.

[0082] The processing of this flowchart begins when the print button 407 on the editing screen 400 of the design production application 304 is pressed.

[0083] In this embodiment, since the installed flag is not associated with the user and stored in the Web server device 103, the user authentication process can be omitted. Therefore, steps S601, S610, and S611, which were shown in Figure 6, are omitted.

[0084] In step S1001, the design production application 304 obtains the value of the download button press flag from the storage device 206 of the terminal device 101. The storage of the download button press flag value will be described later in step S1008.

[0085] The judgment process in step S1002 is the same as in step S603, so its explanation is omitted. In step S1002, if the design production application 304 determines that it is TRUE (a value indicating that it has been downloaded), it proceeds to step S1003; if it determines that it is FALSE (a value not indicating that it has been downloaded), it proceeds to step S1008. In step S1008, the design production application 304 sets the value of the download button press flag to "true" in the storage device 206 when the download button 702 in Figure 7(a) is pressed.

[0086] In step S1003, the design production application 304 retrieves the value of the installed flag from the storage device 206. The value of the installed flag is stored by setting the storage device 206 to "true" when the print application 302 is first launched.

[0087] The determination process in step S1004 is the same as in step S605, so its explanation is omitted.

[0088] In step S1004, if the design production application 304 is determined to be TRUE (a value indicating that it is installed), the process proceeds to step S1005; otherwise, it proceeds to step S1007. Step S1007 is the same as step S608, so its explanation is omitted.

[0089] The process in step S1005 is the same as that in step S606, so its explanation will be omitted. However, in this embodiment, the rendering processing unit 311 is provided in the design production application 304, and it is also possible to perform rendering in the design production application 304 without going through the web server device 103. In addition, the design production application 304 saves the print data after rendering in the storage device 206, and when printing is performed by the printing application 302, the printing application 302 may retrieve the print data from the storage device 206.

[0090] In step S1006, the design production application 304 does not display the dialog shown in Figure 7, but instead launches the print application 302 via OS 300 using a custom URL scheme, and terminates the processing of this flowchart.

[0091] As described above, according to this embodiment, when a native application is launched in a coordinated manner, the launching application can notify the user of information corresponding to the status of the launched application, thereby improving usability.

[0092] (Other embodiments) The embodiments described above can also be realized by performing the following process: supplying software (programs) that realize the functions of the embodiments described above to a system or device via a network or various storage media, and having the computer (CPU, MPU, etc.) of that system or device read and execute the program. The program may be executed on a single computer or executed in conjunction with multiple computers. Furthermore, it is not necessary to realize all of the above processes in software; some or all of the processes may be realized in hardware such as ASICs. Also, the CPU is not limited to one CPU that performs all the processing; multiple CPUs may perform the processing in coordination as appropriate.

[0093] Furthermore, the functionality of the aforementioned embodiment is not only realized by the execution of program code read by the computer. It also includes cases where the operating system running on the computer performs some or all of the actual processing based on the instructions of that program code, and the functionality of the aforementioned embodiment is realized through that processing.

[0094] This embodiment includes the following programs, methods, and configurations.

[0095] (Program 1) A first application program, In the computer of the information processing device, A reception step that accepts an operation to launch a second application program, An acquisition step to acquire first information and second information indicating the state of the second application program, A display step that displays information about the second application program, Make it run, If the reception step receives an operation to start the second application program, the display step displays information about the second application program differently based on at least one of the first and second pieces of information. A program characterized by the following features.

[0096] (Program 2) The first piece of information is information indicating whether the second application program has been downloaded to the information processing device. The program described in Program 1, characterized by the above.

[0097] (Program 3) The first information is stored in a memory area that is accessible to the first application program but inaccessible to the second application program. The program described in Program 2, characterized by the following:

[0098] (Program 4) The second piece of information is information indicating whether the second application program is installed on the information processing device. A program according to any one of Program 1 to 3, characterized by the above.

[0099] (Program 5) If the first information indicates that the second application program has not been downloaded to the information processing device, the display step displays an area prompting the download of the second application program. A program according to any one of Program 1 to 4, characterized by the above.

[0100] (Program 6) If an operation is performed on the area displayed by the first application program that prompts the download of the second application program, the first information is stored as information indicating that the second application program has been downloaded to the information processing device. The program described in program 5, characterized by the following:

[0101] (Program 7) If the first information indicates that the second application program has been downloaded to the information processing device, and the second information indicates that the second application program has not been installed on the information processing device, the display step displays an area prompting the installation of the second application program. A program according to any one of Program 1 to 6, characterized in that it is a program.

[0102] (Program 8) If the first information indicates that the second application program has been downloaded to the information processing device, and the second information indicates that the second application program is installed on the information processing device, the display step does not display information about the second application program, but instead executes a process in which the first application program starts the second application program. A program according to any one of Program 1 to 7, characterized by the above.

[0103] (Method 1) A method for controlling a first application program, A reception step that accepts an operation to launch a second application program, An acquisition step to acquire first information and second information indicating the state of the second application program, A display step that displays information about the second application program, It has, If the reception step receives an operation to start the second application program, the display step displays information about the second application program differently based on at least one of the first and second pieces of information. A control method characterized by the following:

[0104] (Composition 1) An information processing device having a first application program, A receiving means for accepting an operation to launch a second application program, An acquisition means for acquiring first information and second information indicating the state of the second application program, A display means for displaying information about the second application program, Make it run, When the receiving means receives an operation to launch the second application program, the display means displays information about the second application program differently based on at least one of the first and second pieces of information. An information processing device characterized by the following:

Claims

1. A first application program, In the computer of the information processing device, A reception step that accepts an operation to launch a second application program, An acquisition step to acquire first information and second information indicating the state of the second application program, A display step of displaying information about the second application program, Make it run, If the reception step receives an operation to start the second application program, the display step displays information about the second application program differently based on at least one of the first and second pieces of information. A program characterized by the following features.

2. The first piece of information is information indicating whether the second application program has been downloaded to the information processing device. The program according to feature 1.

3. The first information is stored in a memory area that is accessible to the first application program but inaccessible to the second application program. The program according to feature 2.

4. The second piece of information is information indicating whether the second application program is installed on the information processing device. The program according to feature 1.

5. If the first information indicates that the second application program has not been downloaded to the information processing device, the display step displays an area prompting the user to download the second application program. The program according to feature 1.

6. When an operation is performed on the area displayed by the first application program that prompts the download of the second application program, the first information is stored as information indicating that the second application program has been downloaded to the information processing device. L according to feature 5.

7. If the first information indicates that the second application program has been downloaded to the information processing device, and the second information indicates that the second application program has not been installed on the information processing device, the display step displays an area prompting the installation of the second application program. The program according to feature 1.

8. If the first information indicates that the second application program has been downloaded to the information processing device, and the second information indicates that the second application program is installed on the information processing device, the display step does not display the information regarding the second application program, and the first application program executes a process to start the second application program. The program according to feature 1.

9. A method for controlling a first application program, A reception step that accepts an operation to launch a second application program, An acquisition step to acquire first information and second information indicating the state of the second application program, A display step of displaying information about the second application program, It has, If the reception step receives an operation to start the second application program, the display step displays information about the second application program differently based on at least one of the first and second pieces of information. A control method characterized by the following:

10. An information processing device having a first application program, A receiving means for accepting an operation to launch a second application program, An acquisition means for acquiring first information and second information indicating the state of the second application program, A display means for displaying information related to the second application program, Make it run, When the receiving means receives an operation to launch the second application program, the display means displays information about the second application program differently based on at least one of the first and second pieces of information. An information processing device characterized by the following: