Information processing method and program
The information processing method addresses the challenge of user intervention in device control applications by allowing developers to arrange blocks based on user involvement levels, resulting in user-friendly and efficient applications.
Patent Information
- Application Number
- JP2023502223
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2021-02-24
- Filing Date
- 2022-02-01
- Publication Date
- 2025-04-28
- Estimated Expiration
- 2042-02-01
AI Technical Summary
Existing development tools for creating applications that control multiple devices do not effectively present the degree of user intervention, making it difficult for developers to create applications that are easy to use and comfortable for users.
An information processing method that outputs a first operation screen with time frames, allowing users to place blocks representing device operations and user intervention levels, calculating the sum of intervention levels for each time frame, and outputting an application with this information to facilitate user-friendly control of multiple devices.
Enables the creation of applications that are easy to use and comfortable for users by allowing developers to arrange blocks based on suitable time frames considering user involvement, thereby improving the usability and efficiency of device control applications.
Smart Images

Figure 0007669468000001 
Figure 0007669468000002 
Figure 0007669468000003
Abstract
Description
[Technical field]
[0001] The present disclosure relates to techniques for creating applications that control multiple devices. [Background technology]
[0002] There is an increasing demand for home services that link multiple devices. For example, Patent Document 1 describes a washing machine that can communicate with a home terminal, along with a refrigerator, a microwave oven, an air conditioner, a cooking heater, etc., via a home LAN. In addition, development tools such as Scratch (registered trademark), Node-RED (registered trademark), and Windows Movie Maker (registered trademark) have been proposed to make it easy to create applications that control devices.
[0003] Specifically, with such a development tool, an application creator can easily create an application that controls multiple devices by arranging multiple blocks on an operation screen in chronological order, each block abstracting multiple operations of each device.
[0004] In recent years, there has been an increasing demand for user-interactive applications that involve not only the cooperation of multiple devices but also human actions. To develop such applications, it is important to consider not only the device actions but also the user's tasks and movements.
[0005] However, while the above-mentioned development tools make it easy to give instructions on device operations, they do not indicate the degree of user involvement in device operations (hereinafter referred to as the degree of user involvement). This makes it difficult for application developers to place blocks in an order appropriate to the degree of user involvement and create applications that are easy to use and comfortable for users. [Prior art documents] [Patent documents]
[0006] [Patent Document 1] JP 2003-284889 A Summary of the Invention
[0007] The present disclosure has been made to solve the above-mentioned problems, and aims to provide an information processing method and program that enables a user to create an application that controls multiple devices and is easy and comfortable to use.
[0008] An information processing method according to one embodiment of the present disclosure includes a computer of a system for creating an application for controlling multiple devices, which outputs a first operation screen having multiple time frames, accepts an operation to arrange multiple blocks along the multiple time frames to generate the application, each of the multiple blocks having an operation of at least one of the multiple devices and a degree of involvement indicating the degree of user involvement in the operation of the at least one device, calculates a sum of the degrees of involvement of one or more blocks arranged in each time frame, and outputs an application including information relating to the sum of the degrees of involvement and the multiple blocks arranged in the multiple time frames. [Brief description of the drawings]
[0009] [Figure 1] 1 is a block diagram showing an example of an overall configuration of an application providing system. [Diagram 2] FIG. 13 is a diagram illustrating an example of a definition of a degree of involvement. [Diagram 3] FIG. 11 is a diagram showing another example of the definition of the degree of involvement. [Figure 4] FIG. 2 is a block diagram showing an example of a functional configuration of the development terminal. [Figure 5A] FIG. 13 is a diagram showing an example of a recipe creation screen. [Figure 5B] FIG. 13 is a diagram showing another example of the recipe creation screen. [Figure 6] FIG. 13 is a diagram showing an example of a recipe creation screen on which suggested information is displayed. [Figure 7] FIG. 13 is a diagram showing an example of a recipe creation screen on which suggested content is reflected. [Figure 8] 13 is a flowchart illustrating an example of a recipe creation process. [Figure 9] FIG. 2 is a diagram showing an example of a recipe created by a creator. [Figure 10] FIG. 11 is a diagram illustrating an example of a movement determination table. [Figure 11] FIG. 13 is a diagram showing an example of a recipe in which the proposed content is reflected. [Figure 12] FIG. 11 is a diagram illustrating an example of a first rule table. [Figure 13] FIG. 13 is a diagram showing an example of a recipe in which other suggested content is reflected. [Figure 14] FIG. 11 is a diagram illustrating an example of a second rule table. [Figure 15] FIG. 13 is a diagram showing an example of a recipe in which further other suggested contents are reflected. [Figure 16] FIG. 13 is a diagram showing an example of a recipe creation screen on which suggested information of a modified example is displayed. [Figure 17] FIG. 2 is a block diagram showing an example of a functional configuration of a user terminal. [Figure 18] FIG. 13 illustrates an example of a recipe execution screen. [Figure 19] FIG. 13 is a diagram showing an example of a recipe execution screen on which suggested information is displayed. [Figure 20] 13 is a flowchart illustrating an example of a recipe execution process. [Figure 21] FIG. 13 is a diagram illustrating an example of a third rule table. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0010] (Background to this disclosure) As described above, there is an increasing demand for in-home services that link multiple devices, such as those described in Patent Document 1. However, device control programs are developed by developers who are familiar with devices, and cannot be easily customized or updated by people who are not familiar with devices. In order to enable even people who are not familiar with devices to easily create applications that control multiple devices, a development tool has been proposed that allows applications to be easily created that control multiple devices by arranging multiple blocks in a chronological order, as described above.
[0011] In recent years, there has been an increasing demand for user-interactive applications that involve not only device integration but also human actions, such as operating a rice cooker, microwave oven, or induction heating (IH) cooking heater in response to user actions recognized using a cutting board, display, microphone, etc. To develop such applications, it is important to consider not only device actions but also the tasks and movements of the user.
[0012] For example, when a user bakes bread in a microwave oven, after putting the dough into the microwave oven, the user is not involved in the operation of the microwave oven until the bread is baked. If the user can make the jam to put on the bread, the user can bake the bread and make the jam in parallel, and can secure time to do other household chores. In addition, the user can learn how to make jam, which leads to an improvement in QOL (Quality Of Life).
[0013] However, while the above-mentioned development tools make it easy to give instructions on device operations, they do not indicate the degree of user involvement in the device operations (hereinafter, "user involvement degree"). This makes it difficult for application developers to place blocks in an order appropriate to the degree of user involvement and create applications that are easy to use and comfortable for users.
[0014] Therefore, the present inventors have conducted extensive research into techniques for creating applications that control multiple devices in a manner that takes into account the degree of user intervention and is easy and comfortable for users to use, and have arrived at the aspects of the present disclosure described below.
[0015] An information processing method according to one embodiment of the present disclosure includes a computer of a system for creating an application for controlling multiple devices, which outputs a first operation screen having multiple time frames, accepts an operation to arrange multiple blocks along the multiple time frames to generate the application, each of the multiple blocks having an operation of at least one of the multiple devices and a degree of involvement indicating the degree of user involvement in the operation of the at least one device, calculates a sum of the degrees of involvement of one or more blocks arranged in each time frame, and outputs an application including information relating to the sum of the degrees of involvement and the multiple blocks arranged in the multiple time frames.
[0016] According to this configuration, an application including information regarding the total involvement degree of one or more blocks arranged in each of the multiple time frames of the first operation screen and the multiple blocks arranged in the multiple time frames is output. Therefore, the creator can arrange the multiple blocks along appropriate time frames while taking into consideration the degree of user involvement in each time frame. This allows the creator to create an application that controls multiple devices and is easy and comfortable for the user to use.
[0017] In the above information processing method, the computer may further determine a first time frame, which is one or more consecutive time frames in which the degree of user involvement is lower than a reference level of involvement, based on the sum of the amounts of each time frame, and further output suggestion information indicating that a different arrangement of one or more blocks is proposed for the first time frame.
[0018] According to this configuration, the creator can easily place one or more other blocks in a first time slot in which the degree of user involvement is lower than the reference involvement level, in accordance with the content of the proposal indicated by the proposal information, thereby enabling the creator to create an efficient application with few time slots in which the user is not involved.
[0019] In the above information processing method, the one or more other blocks may be included in the multiple blocks arranged by the operation.
[0020] According to this configuration, the creator can easily move one or more other blocks that are placed in a time slot different from the first time slot to the first time slot in accordance with the content of the proposal indicated by the proposal information, thereby enabling the creator to reduce the time required to execute the application he or she creates.
[0021] In the above information processing method, the other one or more blocks may be one or more blocks constituting a created application stored in the system.
[0022] According to this configuration, the creator can easily place one or more blocks constituting the created application stored in the system in the first time slot in accordance with the contents of the proposal indicated by the proposal information, thereby enabling the creator to create an efficient application that allows the user to execute other applications in a time slot in which the user is less involved.
[0023] In the above information processing method, the one or more other blocks may be one or more blocks indicating the presentation of advertising information.
[0024] According to this configuration, the creator can easily place one or more blocks representing the presentation of advertising information in the first time slot according to the content of the proposal indicated by the proposal information, thereby enabling the creator to create an efficient application that can present advertising information in a time slot in which the user is less involved.
[0025] In the above information processing method, the other one or more blocks are included in at least two of a first block group consisting of a plurality of blocks arranged by the operation, a second block group consisting of one or more blocks constituting a created application stored in the system, and a third block group consisting of one or more blocks indicating the presentation of advertising information, and the proposal information may include information indicating the effect obtained by placing the other one or more blocks.
[0026] According to this configuration, the creator can understand the effect obtained by placing one or more blocks included in at least two of the first block group, the second block group, and the third block group in the first time slot from the proposal information. Therefore, the creator can refer to the effect and effectively place another one or more blocks in the first time slot where the degree of user involvement is low.
[0027] In the above information processing method, the computer may further accept, for each of the multiple blocks arranged by the operation, the setting of a timer condition that automatically continues operation of the at least one device represented by each block for a predetermined period of time, and may further reduce the degree of involvement of the block for which the timer condition is set by a predetermined degree.
[0028] In this configuration, in the block in which the timer condition is set, the operation of at least one device represented by each block is automatically continued for a predetermined time. Therefore, it is possible to reduce the degree of user involvement in the operation of at least one device represented by the block in which the timer condition is set. Accordingly, in this configuration, the involvement degree of the block in which the timer condition is set can be appropriately changed to a level lower than that in the case in which the timer condition is not set.
[0029] In the above information processing method, each block further has a duration which is the time for which the operation of the at least one device represented by each block continues, and in outputting the proposed information, in order to move one or more of the multiple blocks arranged by the operation to the first time frame, one or more of the multiple blocks arranged by the operation having the intermediacy and the duration which satisfy the second intermediacy condition and the time condition corresponding to the first intermediacy condition satisfied by the sum of the first time frame may be determined as the other one or more blocks in a table which defines the relationship between a first intermediacy condition which the sum of the first time frame must satisfy, a second intermediacy condition which the intermediacy of the one or more blocks must satisfy, and a time condition based on the length of the first time frame which the duration of the one or more blocks must satisfy.
[0030] According to this configuration, the creator can move, in accordance with the content of the proposal indicated by the proposal information, one or more blocks from among the multiple blocks that make up the application being created that are appropriate for the sum of the first time slot and the length of the first time slot, as determined using the table, to the first time slot.
[0031] In the above information processing method, in outputting the proposed information, in order to place an existing application stored in the system in the first time slot, in a first table that defines the relationship between the intermediary degree condition that the sum of the first time slot must satisfy, the time condition that the length of the first time slot must satisfy, and the existing applications, the existing application that corresponds to the intermediary degree condition that the sum of the first time slot must satisfy and the time condition that the length of the first time slot must satisfy may be determined as the created application.
[0032] According to this configuration, the creator can add to the first time slot one or more blocks that constitute an existing application that is suitable for the sum of the first time slot and the length of the first time slot, as determined using the first table, in accordance with the content of the proposal indicated by the proposal information.
[0033] In the above information processing method, in outputting the proposed information, in order to place each of one or more advertisement blocks indicating the presentation of advertising information in the first time slot, in a second table that defines the relationship between the one or more advertisement blocks and the interstitial degree condition that the sum of the first time slot must satisfy, the time condition that the length of the first time slot must satisfy, the one or more advertisement blocks that correspond to the interstitial degree condition that the sum of the first time slot must satisfy and the time condition that the length of the first time slot must satisfy may be determined as the other one or more blocks.
[0034] According to this configuration, the creator can add one or more advertising blocks to the first time slot, which indicate the presentation of advertising information appropriate to the sum of the first time slot and the length of the first time slot, as determined using the second table in accordance with the content of the proposal indicated by the proposal information.
[0035] In the above information processing method, the computer may further output a second operation screen having a plurality of time frames, further arrange a plurality of blocks constituting a single application to be executed in a time frame of the second operation screen corresponding to the time frame in which the blocks are arranged in the single application, further calculate a sum of the degree of involvement of one or more blocks arranged in each time frame of the second operation screen, and further output an application including information regarding the sum of the degree of involvement of one or more blocks arranged in each time frame of the second operation screen and the plurality of blocks arranged in the plurality of time frames of the second operation screen.
[0036] According to this configuration, an application including information regarding the total involvement degree of one or more blocks constituting an application to be executed, which are arranged in each of the multiple time slots of the second operation screen, and the multiple blocks arranged in the multiple time slots is output. Therefore, a user executing the application can easily grasp the degree of involvement of the user in each time slot during execution of the application from the information regarding the total involvement degree of each time slot included in the output application.
[0037] In the above information processing method, the computer may further accept an operation to execute the one application, and further output second proposal information proposing to perform a specified task based on the sum of a time frame corresponding to the present on the second operation screen while the one application is being executed.
[0038] According to this configuration, after a user performs an operation to execute an application, the user can perform a predetermined task while the application is being executed, according to the content of the proposal indicated by the second proposal information, thereby enabling the user to use time effectively.
[0039] In the above information processing method, the degree of involvement of each block may be determined based on the degree to which the operation of the at least one device indicated by each block requires the user's vision, hearing or smell, the degree to which the operation of the at least one device indicated by each block requires manual action by the user, or the frequency at which the operation of the at least one device indicated by each block requires the user's vision, hearing or smell or manual action by the user.
[0040] In this configuration, the degree of involvement of each block is determined based on the degree to which the operation of at least one device represented by each block requires the user's vision, hearing, or smell, the degree to which the operation requires manual work by the user, or the frequency at which the operation requires the user's vision, hearing, or smell, or manual work by the user. Therefore, the creator can appropriately grasp the degree of user involvement in each time slot from information on the sum of the involvement degrees of each time slot included in the output application.
[0041] A program according to another aspect of the present disclosure is a program that causes a computer of a system for creating an application for controlling multiple devices to function, and causes the computer to function as an output control unit that outputs a first operation screen having multiple time frames, a reception unit that accepts an operation to arrange multiple blocks along the multiple time frames to generate the application, each of the multiple blocks having an operation of at least one of the multiple devices and an intervention degree indicating the degree of user involvement in the operation of the at least one device, a calculation unit that calculates the sum of the intervention degrees of one or more blocks arranged in each time frame, and a presentation unit that outputs an application including information regarding the sum of the intervention degrees and the multiple blocks arranged in the multiple time frames.
[0042] According to this configuration, the same effects as those of the above-described information processing method can be obtained.
[0043] The present disclosure can also be realized as a system operated by such a program. It goes without saying that such a computer program can be distributed on a non-transitory computer-readable recording medium such as a CD-ROM or via a communication network such as the Internet.
[0044] Note that the embodiments described below each show a specific example of the present disclosure. The numerical values, shapes, components, steps, and order of steps shown in the following embodiments are merely examples and are not intended to limit the present disclosure. Furthermore, among the components in the following embodiments, components that are not described in an independent claim showing the highest concept are described as optional components. Furthermore, in all of the embodiments, the respective contents can be combined.
[0045] (Embodiment 1) Hereinafter, an embodiment of the present disclosure will be described with reference to the drawings. Fig. 1 is a diagram showing an example of the overall configuration of an application providing system 100. The application providing system 100 is a system that provides an application for controlling a plurality of devices 20 created on a development terminal 50 to a user terminal 30 via a communication network 90.
[0046] Hereinafter, an example will be described in which an application for cooking is created by controlling one or more cooking devices, such as a rice cooker and a microwave oven, in the application providing system 100. Hereinafter, the application will be referred to as a recipe program. However, applications that can be created by the application providing system 100 are not limited to recipe programs, and may be, for example, applications for controlling multiple household electrical appliances, such as a washing machine and a refrigerator, to perform housework.
[0047] 1, the application providing system 100 includes a plurality of devices 20, a block database 41, a recipe database 42, a log database 43, a development terminal 50, a plurality of user terminals 30, and an application providing server 10. For example, these components included in the application providing system 100 are connected via a communication network 90 such as the Internet.
[0048] The device 20 is an electrical appliance used by a user, such as a rice cooker, an induction cooking heater, a multi-cooker, a scaler, a microwave oven, and an oven range. The device 20 transmits log information indicating its own operating state to the application providing server 10 via the communication network 90. The log information includes the current date and time, identification information of the device 20, the content of the operation of the device 20, the start time of the operation, and information indicating whether or not an abnormality has occurred during the operation.
[0049] The block database 41 is configured with a storage device such as a hard disk drive (HDD) and a solid state drive (SSD), etc. The block database 41 stores a plurality of blocks created by the developer of the device 20.
[0050] A block includes a control program for controlling the operation of at least one device 20, and is an abstract representation of the control program. Blocks are modularized as screen components that can be used on the development terminal 50 and the user terminal 30. Blocks are created by developers of devices 20 who are familiar with the devices 20. Parameters related to the operation of at least one device 20 represented by the block can be set in the blocks.
[0051] For example, the block of an oven range includes a block that abstractly shows the baking operation of an oven range and a block that abstractly shows the steaming operation of an oven range, etc. Block database 41 also stores blocks that abstractly show operations performed by linking multiple devices, such as a block that abstractly shows the operation of creating a comfortable space by linking three devices, an air conditioner, an air purifier, and a speaker.
[0052] Hereinafter, a block that abstractly represents the operation of "X" of at least one device 20 will be described as block "X" of at least one device 20. For example, a block that abstractly represents the baking operation of an oven range will be described as a "baking" block of an oven range. Also, a block that abstractly represents the operation of creating a comfortable space by linking three devices, an air conditioner, an air purifier, and a speaker, will be described as a "creating a comfortable space" block of an air conditioner, an air purifier, and a speaker.
[0053] The parameters that can be set in the oven range's "bake" block include the set temperature in the oven range, the time it takes for the oven range to reach the set temperature, and the duration for which the oven range will continue to perform the bake operation.
[0054] Each block has a degree of involvement indicating the degree of human involvement in the operation of at least one device 20 indicated by each block. The degree of involvement is determined, for example, based on the degree to which the operation of at least one device 20 indicated by each block requires the user's vision, hearing, or smell. The degree of involvement may be determined based on the degree to which the operation of at least one device 20 indicated by each block requires manual work by the user. Alternatively, the degree of involvement may be determined based on the frequency at which the operation of at least one device 20 indicated by each block requires the user's vision, hearing, or smell, or manual work by the user.
[0055] Fig. 2 is a diagram showing an example of the definition of the degree of involvement. For example, as shown in Fig. 2, the degree of involvement of a block indicating an operation that does not require any user involvement, such as each operation of a multi-cooker, an operation of linking three devices, an air conditioner, an air purifier, and a speaker, to create a comfortable space, is defined as 0.
[0056] When an IH cooking heater is used to simmer food, it is necessary for the user to periodically monitor the state of the simmered food using their eyes, ears, or smell. Thus, the degree of involvement of a block that indicates an operation that periodically requires the user's eyes, ears, or smell is defined as 1.
[0057] When using an induction cooker to heat food, it is likely that the user will need to periodically stir the food. Thus, the degree of involvement of a block that indicates an operation that periodically requires manual work by the user is defined as 2.
[0058] When an IH cooking heater is used to stir-fry, it is necessary for the user to constantly check, using their eyes, ears, or smell, whether the ingredients have been stir-fried to the desired degree. Thus, the degree of involvement of a block that constantly requires the user's eyes, ears, or smell is defined as 3.
[0059] When the scaler is used to perform a weighing operation, the user must place the object to be weighed on the scaler and confirm the weighing result. Thus, the level of intervention of blocks that always require manual work by the user is defined as 3.
[0060] In the example of Fig. 2, the degree of involvement is defined in four stages from 0 to 3, but the method of defining the degree of involvement is not limited to the example of Fig. 2. Fig. 3 is a diagram showing another example of the definition of the degree of involvement. For example, Fig. 3 shows an example in which the degree of involvement of a block indicating that the content of the work to be performed by the user, such as cutting ingredients, washing, plating, and seasoning, is displayed on the display, is defined as 100%.
[0061] Fig. 3 also shows an example in which the inclusion rate of a block indicating the action of frying or mixing with an IH cooking heater is defined as 95%. Fig. 3 also shows an example in which the inclusion rate of a block indicating automatic cooking without user intervention with a multi-cooker is defined as 0%.
[0062] Returning to Fig. 1, the recipe database 42 is configured with storage devices such as an HDD and an SSD. In the recipe database 42, recipe programs created in the development terminal 50 are stored.
[0063] The log database 43 is configured with a storage device such as an HDD, an SSD, etc. In the log database 43, log information transmitted from the device 20 is stored.
[0064] The development terminal 50 is configured with a computer such as a notebook computer, a smartphone, a tablet terminal, etc., equipped with a processor, memory, etc. The development terminal 50 acquires a plurality of blocks stored in the block database 41 via the communication network 90, and creates a recipe program that uses a plurality of devices 20 using the acquired plurality of blocks.
[0065] The user terminal 30 is configured with a computer such as a notebook computer, a smartphone, or a tablet terminal equipped with a processor, memory, etc. The user terminal 30 requests the application providing server 10 via the communication network 90 to provide a recipe program created by the development terminal 50 and stored in the recipe database 42. The user terminal 30 obtains the recipe program sent by the application providing server 10 in response to the request via the communication network 90, and executes the obtained recipe program.
[0066] The application providing server 10 is configured with a computer such as a server and a cloud server equipped with a processor, memory, etc. The application providing server 10 acquires a recipe program created in a development terminal 50 via a communication network 90, and stores the acquired recipe program in a recipe database 42.
[0067] The application providing server 10 acquires a program of the created recipe stored in the recipe database 42 in response to a recipe request acquired from the user terminal 30 via the communication network 90, and transmits the acquired program of the created recipe to the user terminal 30. Furthermore, the application providing server 10 acquires log information from the device 20 via the communication network 90, and stores the acquired log information in the log database 43.
[0068] Next, the development terminal 50 will be described in detail. Fig. 4 is a block diagram showing an example of the functional configuration of the development terminal 50. As shown in Fig. 4, the development terminal 50 includes a processor 51, a memory 52, a display 53, an operation unit 54, and a communication unit 55. The processor 51 is composed of, for example, a CPU (Central Processing Unit).
[0069] The processor 51 includes a display control unit 511 (output control unit), a reception unit 512, a calculation unit 513, a presentation unit 514, a proposal unit 515, and a registration unit 516. The display control unit 511 to the registration unit 516 are realized, for example, by the processor 51 executing a recipe creation program (program).
[0070] The memory 52 is composed of a non-volatile memory such as a Read Only Memory (ROM) and a volatile memory such as a Random Access Memory (RAM), and stores various information used by the processor 51 for control.
[0071] The display 53 is configured with a liquid crystal display, an organic EL display, or the like, and displays various information instructed by the processor 51.
[0072] The operation unit 54 is configured with a touch panel or the like, and is used by the user for various operations on the development terminal 50. The communication unit 55 is configured with a communication circuit compatible with any communication method such as Ethernet (registered trademark), and communicates with external devices via the communication network 90 (FIG. 1).
[0073] Next, the display control unit 511 to the registration unit 516 will be described in detail.
[0074] The display control unit 511 displays on the display 53 a recipe creation screen W1, which is an operation screen for generating a recipe program.
[0075] Fig. 5A is a diagram showing an example of a recipe creation screen W1. Specifically, when a creator performs a predetermined operation using the operation unit 54, the display control unit 511 displays the recipe creation screen W1 (first operation screen) as shown in Fig. 5A. The recipe creation screen W1 is provided with a block list area D2, a parameter setting area D1, a selected block area D4, and a target device area D3.
[0076] The block list area D2 is an area in which one or more list boxes for selecting a block corresponding to each device 20 are displayed.
[0077] The parameter setting area D1 is an area where a parameter setting screen for setting parameters of blocks arranged in a selection block area D4, which will be described later, is displayed.
[0078] The selected block area D4 is an area in which a block selected using a list box displayed in the block list area D2 is placed. In the selected block area D4, a plurality of time frames are displayed indicating the timing for performing the operation of the device 20 indicated by the block.
[0079] 5A shows an example in which seven 10-minute time slots are displayed. In the following explanation, the 10-minute time slot from when (X-10) minutes have elapsed since the start of the controlled operation of the first block to when X minutes have elapsed since the start of the controlled operation of the first block will be referred to as time slot "X."
[0080] For example, FIG. 5A shows an example in which the multi-cooker block "FB7" is arranged along the time frame "70". In this case, the operation indicated by the multi-cooker block "FB7" starts 60 minutes after the execution of the recipe program starts. The length of the time frame is not limited to 10 minutes and can be set appropriately.
[0081] The target device area D3 is an area where the devices 20 corresponding to the blocks arranged in the selected block area D4 are displayed. Fig. 5A shows an example where a "multi-cooker" is displayed, which is a device 20 corresponding to the block "FB7" arranged in the time frame "70".
[0082] When displaying the recipe creation screen W1, the display control unit 511 controls the communication unit 55 to acquire a plurality of blocks stored in the block database 41 via the communication network 90. The display control unit 511 classifies the acquired plurality of blocks according to the devices 20 corresponding to each block. The display control unit 511 displays one or more list boxes for selecting a block corresponding to each device 20 in the block list area D2.
[0083] FIG. 5A shows an example in which list boxes for selecting blocks corresponding to a display, an oven range, a multi-cooker, a rice cooker, and a washing machine are displayed in block list area D2.
[0084] Furthermore, the display control unit 511 may display, in the block list area D2, one or more list boxes for selecting blocks corresponding to operations performed by linking a plurality of devices 20. Fig. 5B is a diagram showing another example of the recipe creation screen W1. Fig. 5B shows an example in which list boxes for selecting blocks corresponding to operations related to an indoor space performed by linking a plurality of devices 20 are displayed in the block list area D2.
[0085] The reception unit 512 receives various operations on the recipe creation screen W1 by the creator.
[0086] Specifically, the receiving unit 512 receives an operation to select a block for forming a recipe. In more detail, it is assumed that the creator performs an operation to select one block using a list box included in the block list area D2. In this case, the receiving unit 512 receives an operation to select the one block as a block for forming a recipe.
[0087] The receiving unit 512 receives an operation to arrange blocks selected by the creator using a list box included in the block list area D2 along any of the time frames provided in the selected block area D4.
[0088] Specifically, it is assumed that the creator drags a block selected in a list box included in the block list area D2 onto a column displaying a time frame corresponding to the timing of the operation of the device 20 indicated by the block, and drops the block. In this case, the accepting unit 512 accepts an operation to arrange the block along the time frame.
[0089] The receiving unit 512 displays an image showing the block arranged by the received operation on the line showing the time frame in which the block was arranged. At this time, the receiving unit 512 adjusts the width of the image showing the block so that it is the same width as the time frame in which the block was arranged.
[0090] After displaying an image showing a block, if the device 20 corresponding to the block is not displayed in the target device area D3 at the beginning of the line in which the image is displayed, the reception unit 512 displays the device 20 corresponding to the block in the target device area D3 at the beginning of the line.
[0091] 5A shows an example in which an operation to arrange a display block "FB1" along a time frame "10" is received by the receiving unit 512. As a result, the receiving unit 512 displays an image showing the display block "FB1" in the column in which the time frame "10" is displayed, and adjusts the width of the image to the same width as the time frame "10". In addition, the receiving unit 512 displays "Display", which is the device 20 corresponding to the block "FB1", in the target device area D3 at the beginning of the row in which the image is displayed.
[0092] Furthermore, the accepting unit 512 displays in the parameter setting area D1 a setting screen for parameters that can be set for the blocks arranged in the selected block area D4. The accepting unit 512 also accepts an operation to select another block that has already been arranged in the selected block area D4. In this case, the accepting unit 512 also displays in the parameter setting area D1 a setting screen for parameters that can be set for the other block selected by the operation.
[0093] The reception unit 512 receives an operation by the creator to set parameters of each block on a setting screen of the parameters of each block displayed in the parameter setting area D1. The parameters of each block include a duration that is the time for which the operation of the device 20 indicated by each block continues. Hereinafter, the duration that is the time for which the operation of the device 20 indicated by each block continues will be abbreviated to the duration of each block. Upon receiving the operation, the reception unit 512 acquires the parameters of each block set by the operation.
[0094] The parameters of each block may be set in advance by a developer of the device 20. In this case, the reception unit 512 displays the parameters of each block that have been set in advance as initial values in a parameter setting field of each block on the parameter setting screen.
[0095] Furthermore, the receiving unit 512 adjusts the width of the image showing the block displayed in the selected block area D4 according to the duration of the block included in the acquired parameters of the block. In this case, the receiving unit 512 grasps one or more time frames in which the adjusted image is placed as the time frames in which the block shown by the image is placed.
[0096] For example, Fig. 5A shows an example in which the creator performs an operation to place the microwave oven block "FB3" along the time frame "20", and then performs an operation to set the duration of the block to 30 minutes, and these operations are received by the reception unit 512. In this case, the reception unit 512 displays an image showing the microwave oven block "FB3" on the column in which the time frame "20" is displayed, and adjusts the width of the image to a width corresponding to 30 minutes, which is the duration of the microwave oven block "FB3". The reception unit 512 then determines that the three time frames "20" to "40" in which the adjusted images are placed are the time frames in which the microwave oven block "FB3" is placed.
[0097] Assume that the reception unit 512 receives an operation to arrange a block corresponding to an operation performed by linking a plurality of devices 20 along any of the time frames provided in the selection block area D4. In this case, the reception unit 512 displays an image showing the block in the column in which the time frame in which the block is arranged is displayed. At this time, the reception unit 512 adjusts the width of the image showing the block to be the same as the time frame in which the block is arranged, and adjusts the height of the image to the product of the height of one row in the selection block area D4 and the number of devices 20 corresponding to the block.
[0098] 5B shows an example in which an operation is performed to arrange a block "FB8" of an air conditioner, an air purifier, and a speaker along the time frame "30", and then an operation is performed to set the duration of the block to 20 minutes, and these operations are accepted by the accepting unit 512. In this case, the accepting unit 512 displays an image showing the block "FB8" of an air conditioner, an air purifier, and a speaker on the column in which the time frame "30" is displayed.
[0099] The reception unit 512 adjusts the width of the image to a width corresponding to 20 minutes, which is the duration of the block "FB8", and adjusts the height of the image to the product of the height of one line in the selected block area D4 and the number of devices 20 corresponding to the block "FB8", "3", (the height of three lines). The reception unit 512 then determines the two time frames "30" to "40" in which the adjusted images are placed as the time frames in which the block "FB8" is placed. The reception unit 512 also displays an "air conditioner", an "air purifier", and a "speaker", which are three devices 20 corresponding to the block "FB8", in the target device area D3 at the beginning of the three lines in which the images are displayed.
[0100] The reception unit 512 may change the degree of intervention defined in a block in which a timer condition is set indicating that the operation of the controlled object is to be automatically continued for a predetermined period of time on the parameter setting screen displayed in the parameter setting area D1 to a degree of intervention that is reduced by a predetermined degree.
[0101] For example, suppose that a timer condition is set to automatically continue the operation of FB7 for 10 minutes on the parameter setting screen for the multi-cooker block "FB7" that is placed in the time frame "70" shown in Fig. 5A and has an involvement level defined as 3. In this case, the reception unit 512 may change the involvement level defined for the multi-cooker block "FB7" from 3 to 2, which is a reduction of 1.
[0102] The calculation unit 513 calculates the sum of the inclusion rates of one or more blocks arranged in each time frame on the recipe creation screen W1. The presentation unit 514 displays (outputs) each time frame and information on the sum of the inclusion rates calculated by the calculation unit 513 for each time frame in association with each other on the recipe creation screen W1.
[0103] For example, Figure 5A shows an example in which a display block "FB2" with an inclusion degree of 0 and a duration of 10 minutes is placed in time frame "20," and an oven range block "FB3" with an inclusion degree of 0 and a duration of 30 minutes is placed in the time frame from "20" to "40."
[0104] In this case, calculation unit 513 calculates the sum of the inclusion degree of 0 for the display block "FB2" located in time frame "20" and the inclusion degree of 0 for the oven range block "FB3" located in time frame "20" as the total inclusion degree for time frame "20".
[0105] The presentation unit 514 displays the background color of the column corresponding to the time frame "20" in the selected block region D4 in a predetermined color indicating 0, which is the sum of the degrees of presence for the time frame "20". In this way, the presentation unit 514 displays the time frame "20" in association with information relating to 0, which is the sum of the degrees of presence for the time frame "20". That is, in this case, the information relating to the sum of the degrees of presence is a color corresponding to the sum of the degrees of presence.
[0106] Similarly, for time frames "30" and "40" in which only one oven range block "FB3" with an intervenience degree of 0 is located, calculation unit 513 calculates the intervenience degree of the oven range block "FB3" (0) as the sum of the intervenience degrees for time frames "30" and "40." Presentation unit 514 displays the background colors of the columns corresponding to time frames "30" and "40" in a predetermined color corresponding to the sum of the intervenience degrees for the time frames "30" and "40."
[0107] FIG. 5A further shows an example in which the calculation unit 513 calculates the sum of the inclusion degrees of one or more blocks placed in each of the time frames "10," "50," "60," and "70" to be 3, and the presentation unit 514 displays the background of the columns corresponding to these time frames in white to indicate the sum of the inclusion degrees for those time frames, which is 3.
[0108] The method of displaying the information on the sum of the involvment degrees for each time frame by the presentation unit 514 is not limited to this. For example, the presentation unit 514 may display a character string indicating the sum of the involvment degrees for each time frame calculated by the calculation unit 513, such as "involvment degree 0", above or below each time frame outside the selection block area D4, or may display it as a balloon message. That is, in this case, the information on the sum of the involvment degrees is a character string corresponding to the sum of the involvment degrees.
[0109] The suggestion unit 515 determines a first time frame based on the sum of the involvement levels for each time frame. The first time frame is one or more consecutive time frames in which the degree of user involvement is lower than a reference involvement level. The suggestion unit 515 displays (outputs) suggestion information proposing the placement of one or more additional blocks for the determined first time frame.
[0110] Specifically, the proposing unit 515 determines, as the first time frame, one or more consecutive time frames in which the sum of the presence degrees is lower than a predetermined threshold.
[0111] For example, it is assumed that the predetermined threshold is set to 2. Also, as in the example of Fig. 5A, it is assumed that the sum of the presence degrees for the time frames "20", "30", and "40" is calculated to be 0, and the sum of the presence degrees for the time frames "10", "50", "60", and "70" is calculated to be 3. In this case, the proposing unit 515 determines, as the first time frames, the three consecutive time frames "20" to "40" whose sum of the presence degrees is lower than the predetermined threshold value of 2.
[0112] Fig. 6 is a diagram showing an example of the recipe creation screen W1 on which suggested information M1 is displayed. Then, as shown in Fig. 6, the suggestion unit 515 displays suggested information M1, which suggests arranging one or more other blocks, as a balloon message in association with the three consecutive time frames "20" to "40" determined as the first time frames. Note that the method of displaying suggested information M1 by the suggestion unit 515 is not limited to this. For example, the suggestion unit 515 may display suggested information M1 as a modal window.
[0113] Specifically, as shown in Fig. 6, the proposed information M1 includes first detailed information M11, second detailed information M12, and third detailed information M13. The first detailed information M11 is information for identifying the first time frame. The second detailed information M12 is information indicating that one or more other blocks can be placed in the first time frame. The third detailed information M13 is information indicating the effect of setting the one or more other blocks in the first time frame. Methods for generating the first detailed information M11, the second detailed information M12, and the third detailed information M13 will be described later.
[0114] In addition, the proposal information M1 includes a first button B11 for performing an operation to accept to follow the content of the proposal indicated by the proposal information M1, and a second button B12 for performing an operation to not accept to follow the content of the proposal.
[0115] When the creator presses the first button B11 using the operation unit 54, the suggestion unit 515 places one or more other blocks within the first time frame as indicated by the second detailed information M12, and hides the suggested information M1.
[0116] Fig. 7 is a diagram showing an example of the recipe creation screen W1 reflecting the proposed contents. For example, assume that the first button B11 is pressed on the recipe creation screen W1 shown in Fig. 6. In this case, as shown in Fig. 7, the suggestion unit 515 arranges two display blocks "FB4" and "FB5" and one cutting board block "FB6" in the time frames "30" and "40" as shown in the second detailed information M12 (Fig. 6) included in the proposed information M1.
[0117] In this case, by moving the two display blocks "FB4" and "FB5" and one block "FB6", no blocks will be placed in the two time frames "50" and "60".
[0118] In this way, by reflecting the proposal content indicated by the proposal information M1, when there are one or more time frames in which no blocks are placed, the proposal unit 515 places the blocks that are placed in the time frames after the one or more time frames into the time frame that is one or more time frames earlier.
[0119] In this example, the suggestion unit 515 places the multi-cooker block "FB7" that was placed in the time frame "70" after the two time frames "50" and "60" in the time frame "50" that is two time frames earlier. This reduces the time required to perform all the actions indicated by the seven blocks that make up the program of the recipe created by the creator by 20 minutes.
[0120] Furthermore, the calculation unit 513 recalculates the sum of the involvement degrees for each time period after the proposed content is reflected, and the presentation unit 514 displays each time frame in association with the sum of the involvement degrees for each time frame recalculated by the calculation unit 513. In this example, the sum of the involvement degrees for the time frames "20", "30", and "40" is recalculated to be 3, and the background color of the time frames "20", "30", and "40" is displayed in white, indicating the sum of the involvement degrees for the time frames, which is 3.
[0121] On the other hand, when the creator presses the second button B12 using the operation unit 54, the suggestion unit 515 hides the suggested information M1.
[0122] The registration unit 516 registers in the recipe database 42 a program for the recipe created on the recipe creation screen W1.
[0123] Specifically, it is assumed that the creator presses a completion button (not shown) provided on the recipe creation screen W1. In this case, the registration unit 516 accepts the operation as a request for registering the recipe created on the recipe creation screen W1 in the recipe database 42 by the creator.
[0124] When the registration unit 516 accepts the operation, it generates a program that starts the operation of the device 20 indicated by each of the multiple blocks arranged in the selection block area D4 at the timing indicated by the time frame in which each block is arranged, using the parameters of each block, and continues the operation for the duration included in the parameters.
[0125] The registration unit 516 then causes the communication unit 55 to transmit the generated program as a recipe program created by the creator, together with information requesting registration of the recipe, to the application providing server 10. In response to this, the application providing server 10 acquires information requesting registration of the recipe from the development terminal 50 via the communication network 90, and stores the acquired recipe program together with the information in the recipe database 42.
[0126] Next, a description will be given of the flow of recipe creation processing in the development terminal 50. Fig. 8 is a flowchart showing an example of recipe creation processing.
[0127] When a creator performs a predetermined operation using the operation unit 54, in step S101, the display control unit 511 displays the recipe creation screen W1 on the display 53. This starts the recipe creation process shown in FIG.
[0128] Next, in step S102, the reception unit 512 receives an operation by the creator to select blocks that constitute the recipe on the recipe creation screen W1.
[0129] In step S103, the receiving unit 512 receives an operation by the creator to arrange the block selected in step S102 along any one of a plurality of time frames.
[0130] In step S104, the reception unit 512 displays a setting screen for the parameters of the block arranged in step S103 in the parameter setting area D1. The reception unit 512 acquires the parameters of the block, including the duration of the block, that are set on the setting screen.
[0131] In step S105, the calculation unit 513 calculates the sum of the presence degrees for each time period. In step S104, the reception unit 512 determines that the block is placed in two time slots because the duration included in the block parameters is 20 minutes. In this case, in step S105, the calculation unit 513 calculates the sum of the presence degrees of each of the two time slots and one or more blocks placed in each of the two time slots.
[0132] In step S106, the presentation unit 514 displays each time frame in which the blocks are arranged in step S103 in association with information on the total presence degree for each time frame calculated in step S105.
[0133] If the creator does not press a check button (not shown) provided on the recipe creation screen W1 in step S107 (NO in step S107), the processes from step S102 onwards are repeated, whereby the blocks constituting the recipe are arranged one by one along any one of a plurality of time frames.
[0134] On the other hand, in step S107, it is assumed that the creator presses a check button (not shown) provided on the recipe creation screen W1. In this case (YES in step S107), in step S108, the suggestion unit 515 determines a first time frame in which the degree of user involvement is lower than the reference involvement degree, based on the sum of the involvement degrees for each time frame.
[0135] If the suggestion unit 515 is able to determine the first time slot in step S108 (YES in step S108), in step S109, it displays suggestion information M1 that suggests placing one or more additional blocks in relation to the first time slot, in association with the first time slot.
[0136] In the next step S110, it is assumed that the creator presses the first button B11 included in the proposed information M1 displayed in step S109. In this case (YES in step S110), in step S111, the suggestion unit 515 reflects the proposed content indicated by the proposed information M1.
[0137] Specifically, in step S111, the proposing unit 515 places another one or more blocks in the first time frame determined in step S108, as indicated by the second detailed information M12 included in the proposed information M1, and hides the proposed information M1. In addition, the calculating unit 513 recalculates the sum of the presence degrees for each time period, and the presenting unit 514 displays each time frame in association with information relating to the sum of the presence degrees for each time frame recalculated by the calculating unit 513.
[0138] If the first time frame is not determined in step S108 (NO in step S108), the process proceeds to step S112. Also, if the creator presses the second button B12 included in the proposal information M1 displayed in step S109 in step S110 (NO in step S110), the process proceeds to step S112.
[0139] In step S112, the process branches depending on whether or not the creator has pressed a completion button (not shown) provided on the recipe creation screen W1. Specifically, when the creator has pressed the completion button (not shown) provided on the recipe creation screen W1 (YES in step S112), step S113 is performed. In step S113, the registration unit 516 registers the recipe program created on the recipe creation screen W1 in the recipe database 42. On the other hand, while the creator has not pressed the completion button (not shown) provided on the recipe creation screen W1 (NO in step S112), the processes from step S102 onwards are performed.
[0140] Next, a method for creating the proposed information M1 by the proposing unit 515 will be described. Fig. 9 is a diagram showing an example of a recipe R1 created by a creator. Below, a case will be described in which the proposing unit 515 creates the proposed information M1 when the creator creates the recipe R1 shown in Fig. 9 using the recipe creation screen W1 and then presses a check button (not shown) provided on the recipe creation screen W1.
[0141] Recipe R1 shown in Figure 9 is composed of 11 blocks. Of the 11 blocks, the three display blocks "Preparation," "Mixing," and "Serving," the oven range block "Bake," and the two scaler cutting board blocks "Measurement" and "Cutting" each have a degree of involvement of 3. The other first blocks each have a degree of involvement of 0.
[0142] Therefore, the presentation unit 514 displays a character string "Intervention degree 3" in association with each of the time frames "10" to "20," "60" to "80," and "110," indicating that the sum of the involvement degrees calculated by the calculation unit 513 for each of these time frames is 3. The presentation unit 514 also displays a character string "Intervention degree 0" in association with each of the other time frames "30" to "50," and "90" to "100," indicating that the sum of the involvement degrees for each of these time frames is 0.
[0143] The display block "Bake" located in time slot "20" is set as a combined block to be used at the start of the operation indicated by the block in question on the parameter setting screen for the oven range block "Bake."
[0144] Similarly, the display blocks "Weigh," "Cut," and "Boil" located in the time slots "60," "70," and "90" are set as combined blocks in the parameter setting screens for the cutting board blocks "Weigh" and "Cut" and the multi-cooker block "Boil," respectively.
[0145] Furthermore, on the parameter setting screen for the block "plating" on the display, this block is the last block in the recipe, and is set as the final block that cannot be placed in parallel with other blocks.
[0146] In this case, the proposing unit 515 determines the first time slot and one or more other blocks that can be placed in the first time slot, using a movement determination table RT0 stored in advance in the memory 52 (FIG. 4). Hereinafter, the one or more blocks that can be placed in the first time slot will be referred to as one or more candidate blocks.
[0147] FIG. 10 is a diagram showing an example of the movement determination table RT0. The memory 52 (FIG. 4) stores the movement determination table RT0 shown in FIG. 10 in advance. As shown in FIG. 10, the movement determination table RT0 is a table that defines the relationship between a first presence condition, a second presence condition, and a time condition. The first presence condition is a condition that must be satisfied by the total presence for the first time frame in order to move one or more blocks in a recipe to the first time frame. The second presence condition is a condition that must be satisfied by the presence of one or more blocks in the recipe. The time condition is a condition based on the length of the first time frame that must be satisfied by the duration of the one or more blocks.
[0148] 10, a first presence condition indicating that the total presence degree for a first time frame is 0, a second presence condition indicating that one or more blocks in the recipe have a presence degree of 3, and a time condition indicating that the duration of the one or more blocks is 5 minutes or more and the first time frame or less are associated with each other. This indicates that one or more blocks with a presence degree of 3 and a duration of 5 minutes or more and the first time frame or less can be placed in the first time frame indicating that the total presence degree is 0, among the multiple blocks in the recipe.
[0149] 10, the second presence condition and the time condition are not associated with the first presence condition indicating that the sum of the presence degrees for the first time frame is equal to or greater than 2. This indicates that, because the threshold value for determining the first time frame is set to 1, one or more consecutive time frames with a sum of the presence degrees equal to or greater than 2 are not determined as the first time frame.
[0150] In other words, the suggestion unit 515 determines, as the first time frame, one or more consecutive time frames in which the sum of the intermediation degrees is 1 or less and which satisfies the first intermediation degree condition in which the second intermediation degree condition and the time condition are associated in the movement determination table RT0.
[0151] 10 is determined so that the sum of the intervenience degrees indicated by the first intervenience degree condition and the intervenience degree indicated by the second intervenience degree condition corresponding to the first intervenience degree condition is not more than 3. Therefore, the suggestion unit 515 can suggest one or more blocks in a recipe that can be operated within the first time frame while satisfying the condition that the sum of the intervenience degrees in the first time frame does not exceed 3. This allows the worker to rearrange the proposed one or more blocks into the first time frame, thereby creating a recipe in which the sum of the intervenience degrees for each time frame is limited to 3 or less and the required time is shortened, allowing the user to work efficiently.
[0152] In this example, the suggestion unit 515 determines, as the first time frames, each of the time frames "30" to "50" and "90" to "100" among the eleven time frames "10" to "110" in recipe R1 shown in FIG. 9, in which the sum of the involvement degrees is 0, which is smaller than the threshold value.
[0153] The suggestion unit 515 generates information capable of identifying the first time frame as the first detailed information M11 included in the proposed information M1. In this example, the suggestion unit 515 generates, for example, a character string saying "There are time frames with low involvement (30-50, 90-100). The following blocks can be added." as the first detailed information M11.
[0154] If the first time slot can be determined, the suggestion unit 515 determines one or more candidate blocks that can be placed in the first time slot based on the movement determination table RT0 of FIG. 10, the length of the first time slot, and one or more devices 20 corresponding to the one or more blocks placed in the first time slot.
[0155] In this example, the suggestion unit 515 refers to the movement judgment table RT0 and determines that one or more blocks among the multiple blocks in recipe R1, which have an intervening degree of 1 to 3 and a duration of 5 minutes or more and less than the length of the first time frame "30", can be placed in the first time frame "30", whose total intervening degree is 0.
[0156] Next, the suggestion unit 515 refers to one or more blocks whose duration is equal to or less than the length of the first time slot "30" (10 minutes) among one or more blocks whose involvement degree is any one of 1 to 3 and whose duration is 5 minutes or more, which are arranged in the time slots after the first time slot "30". In this example, the one or more blocks referred to are the blocks "Mix" and "Plate" on the display and the two blocks "Weigh" and "Cut" on the cutting board with scaler.
[0157] Next, the suggestion unit 515 refers to one or more blocks corresponding to a device 20 other than the device 20 "microwave oven" corresponding to the block "bake" of the microwave oven located in the first time slot "30" among the one or more blocks referred to. In this example, the one or more blocks referred to are the blocks "mix" and "serve" of the display and the two blocks "measure" and "cut" of the cutting board with scaler.
[0158] Then, the suggestion unit 515 determines, for example, one or more blocks arranged in a time frame closest to the first time frame "30" from among the one or more referenced blocks, as one or more candidate blocks. In this example, the suggestion unit 515 determines the cutting board block "Weighing" arranged in the time frame "60" closest to the first time frame "30" as a candidate block that can be arranged in the first time frame "30".
[0159] However, the method by which the proposing unit 515 determines one or more candidate blocks from the one or more referenced blocks is not limited to this. For example, the proposing unit 515 may determine, as one or more candidate blocks, one or more blocks that have a duration closest to the length of the first time frame "30" from among the one or more referenced blocks.
[0160] As described above, in the parameter setting screen for the cutting board block "weighing", the display block "weighing" is set as a combined block to be used at the start of the weighing operation of the cutting board indicated by the block. Therefore, the suggestion unit 515 determines the two blocks, the cutting board block "weighing" and the display block "weighing", as candidate blocks that can be placed in the first time slot "30".
[0161] The suggestion unit 515 excludes blocks already determined as candidate blocks from the multiple blocks in recipe R1, and similarly determines two blocks, the cutting board block "Cut" and the display block "Cut", as one or more candidate blocks that can be placed in the first time slot "40". In addition, the suggestion unit 515 determines the display block "Mix" as one or more candidate blocks that can be placed in the first time slot "50".
[0162] In addition, the block "Arrangement" of the display arranged in the time frame "110" is set as a final block that cannot be arranged in parallel with other blocks. Therefore, the proposing unit 515 does not determine the block "Arrangement" of the display as one or more candidate blocks that can be arranged in the first time frame "100".
[0163] The suggestion unit 515 generates information indicating that the one or more determined candidate blocks in the recipe R1 are movable as the second detailed information M12 included in the proposal information M1. In this example, the suggestion unit 515 generates, for example, a character string "The blocks in the recipe (measure, cut, mix) can be moved" as the second detailed information M12.
[0164] In addition, the proposal unit 515 generates information indicating the effect obtained when the one or more determined candidate blocks are placed in the first time slot, as indicated in the generated second detailed information M12, as third detailed information M13 included in the proposal information M1.
[0165] 11 is a diagram showing an example of a recipe R11 in which the proposed contents are reflected. In this example, when the proposing unit 515 moves five candidate blocks to the first time frame "30" to "50" as shown in the generated second detailed information M12, no blocks are placed in the three time frames "60" to "80".
[0166] For this reason, as shown in FIG. 11, the suggestion unit 515 moves one or more blocks that are placed in the three time slots "90" to "110" following the three time slots "60" to "80" in which no blocks are placed, to the previous time slot by the length of the three time slots "60" to "80".
[0167] Specifically, the suggestion unit 515 moves one or more blocks arranged in the three time slots "90" to "110" to the three time slots "60" to "80" 30 minutes earlier. After the movement, the calculation unit 513 recalculates the sum of the involvement degrees for each time slot, and the presentation unit 514 displays information on the recalculated sum of the involvement degrees for each time slot. In this case, an effect is obtained that the time required to execute the recipe R1 is shortened by 30 minutes compared to the recipe R1 created by the creator.
[0168] The suggestion unit 515 generates information indicating the effect as the third detailed information M13 included in the proposal information M1. In this example, the suggestion unit 515 generates, for example, a character string "This will save 30 minutes of time" as the third detailed information M13.
[0169] In this way, according to the first embodiment, the creator can visually check the sum of the involvement levels for each time frame. Therefore, the creator can arrange multiple blocks along appropriate time frames while taking into consideration the degree of user involvement in each time frame. This allows the creator to create an application that controls multiple devices 20, which is easy and comfortable for the user to use.
[0170] Furthermore, the creator can easily move one or more blocks that are placed in a time slot different from the first time slot to the first time slot according to the content of the proposal indicated by the proposal information M1, thereby enabling the creator to reduce the time required to execute the application he or she creates.
[0171] (Embodiment 2) In the first embodiment, an example has been described in which the suggestion unit 515 displays suggestion information M1 indicating that one or more blocks in a recipe R1 created by a creator are proposed as one or more candidate blocks. In the second embodiment, the suggestion unit 515 displays suggestion information M1 indicating that one or more blocks constituting a program of a created recipe stored in the recipe database 42 are proposed as one or more candidate blocks.
[0172] Hereinafter, a method for creating the proposed information M1 by the proposing unit 515 in the embodiment 2 will be described. Hereinafter, a case will be described in which the creator creates the recipe R1 shown in Fig. 9 similar to that of the embodiment 1 using the recipe creation screen W1, and then the proposing unit 515 creates the proposed information M1 when a check button (not shown) provided on the recipe creation screen W1 is pressed.
[0173] In the second embodiment, the proposing unit 515 determines the first time frame and one or more candidate blocks using a first rule table RT1 (first table) stored in advance in the memory 52 (FIG. 4).
[0174] Fig. 12 is a diagram showing an example of the first rule table RT1. The first rule table RT1 shown in Fig. 12 is stored in advance in the memory 52 (Fig. 4). As shown in Fig. 12, the first rule table RT1 is a table that defines the relationship between an intervenience condition, a time condition, and a program of an existing recipe stored in the recipe database 42. The intervenience condition is a condition that should be satisfied by the sum of the interveniences for the first time frame in order to place a program of an existing recipe that has been created and is stored in the recipe database 42 in the first time frame. The time condition is a condition that should be satisfied by the length of the first time frame.
[0175] 12, a relation is made between a relation condition indicating that the sum of the relation degrees for the first time frame is 0, a time condition indicating that the length of the first time frame is 10 minutes or less during which a recipe program can be executed, and a recipe program for making rolled egg. This indicates that one or more blocks constituting the recipe program for making rolled egg can be placed in the first time frame having a sum of the relation degrees of 0 and a length of 10 minutes or more.
[0176] 12, no time condition is associated with an existing recipe program for an involuteness condition indicating that the sum of the involuteness is equal to or greater than 2. This indicates that one or more consecutive time frames with a sum of the involutenesses equal to or greater than 2 are not determined as the first time frame because the threshold value for determining the first time frame is set to 1.
[0177] That is, in the second embodiment, the proposing unit 515 determines one or more consecutive time frames, which satisfy the involvement degree condition in which the time condition and the existing recipe program are associated in the first rule table RT1 and have a total involvement degree of 1 or less, as a first time frame with a reference low involvement degree of the user. Note that in the second embodiment, the proposing unit 515 handles first time frames, which are multiple consecutive time frames with a total involvement degree of 1 or less, as one first time frame.
[0178] In this example, the suggestion unit 515 determines, as the first first time frames, three consecutive time frames "30" to "50" whose total involvement degree is 0 among the eleven time frames "10" to "110" in recipe R1 shown in Fig. 9. In addition, the suggestion unit 515 determines, as the second first time frames, two consecutive time frames "90" to "100" whose total involvement degree is 0.
[0179] The proposing unit 515 generates information capable of identifying the determined first time slot as the first detailed information M11 included in the proposed information M1, similarly to the first embodiment. In this example, the proposing unit 515 generates, for example, a character string saying "There are time slots with low involvement (30-50, 90-100). The following blocks can be added" as the first detailed information M11.
[0180] When the first time slot is determined, the suggestion unit 515 determines one or more candidate blocks that can be placed in the first time slot based on the first rule table RT1 and one or more devices 20 used by the one or more blocks placed in the first time slot.
[0181] Specifically, first, the suggestion unit 515 determines in the first rule table RT1 that an existing recipe program that corresponds to the inclusion degree condition satisfied by the sum of the inclusion degrees for the first time frame and the time condition satisfied by the length of the first time frame can be placed in the first time frame.
[0182] In this example, the suggestion unit 515 grasps that in the first rule table RT1, the programs for the recipe for making butter and the recipe for making tamagoyaki, which correspond to the intervention degree condition indicating that the sum of the intervention degrees is 0, which is satisfied by the first first time slot "30" to "50", and the time condition indicating that the programs for the recipe have a time of 30 minutes or less and 10 minutes or less in which the programs can be executed, can be placed in the first first time slot "30" to "50".
[0183] In addition, the suggestion unit 515 grasps that in the first rule table RT1, a recipe program for making tamagoyaki (rolled egg), which corresponds to the interstitial degree condition indicating that the sum of the interstitial degrees is 0 and the time condition indicating that the recipe program has a time of 10 minutes or less, which are satisfied by the second first time slot "90" to "100", can be placed in the second first time slot "90" to "100".
[0184] For this reason, the suggestion unit 515 controls the communication unit 55 to request the application providing server 10 to transmit the programs of the recipe for making butter and the recipe for making rolled eggs, and acquires the programs.
[0185] Next, the suggestion unit 515 determines whether or not a block using a device 20 included in the one or more devices 20 used in the first time frame exists in the program of the acquired existing recipe.
[0186] In this example, the recipe for making butter includes the display blocks "Weigh" and "Stir Fry", the cutting board with scaler block "Weigh" and the multi-cooker block "Stir Fry". The recipe for making rolled omelet includes the display block "Fry" and the IH cooking heater block "Fry". In addition, on the parameter setting screen for the IH cooking heater block "Fry", the display block "Fry" is set as a combined block.
[0187] Therefore, in this example, the suggestion unit 515 determines that the programs of the recipe for making butter and the recipe for making rolled omelet do not include a block that uses an oven range to be used from "30" to "50" in the first first time frame. On the other hand, the suggestion unit 515 determines that the program of the recipe for making rolled omelet includes a block that uses a display to be used from "90" to "100" in the second first time frame.
[0188] It is assumed that the suggestion unit 515 determines that the acquired existing recipe program does not include a block that uses a device 20 included in the one or more devices 20 used in the first time frame. In this case, the suggestion unit 515 determines one or more blocks that constitute the existing recipe program as one or more candidate blocks that can be placed in the first time frame.
[0189] On the other hand, it is assumed that the proposing unit 515 determines that a block using a device 20 included in one or more devices 20 used in the first time frame exists in the program of the acquired existing recipe. In this case, the proposing unit 515 determines that one or more candidate blocks that can be placed in the first time frame do not exist.
[0190] In this example, the suggestion unit 515 determines one or more blocks constituting the programs of a recipe for making butter and a recipe for making tamagoyaki, which do not have any blocks that use an oven range to be used in the first first time slot from "30" to "50", as one or more candidate blocks that can be placed in the first first time slot.
[0191] On the other hand, since the program for the recipe for making tamagoyaki includes a block that uses the display to be used in the second first time slot from "90" to "100," suggestion unit 515 does not determine one or more candidate blocks that can be placed in the second first time slot.
[0192] When the suggestion unit 515 determines one or more candidate blocks constituting an existing recipe program that can be placed in the first time frame, the suggestion unit 515 generates information indicating that a block of the existing recipe program that fits within the first time frame can be inserted as second detailed information M12 included in the proposal information M1. In this example, the suggestion unit 515 generates, for example, a character string saying "A block of an existing recipe A recipe that can be made in 30 minutes can be inserted" as the second detailed information M12.
[0193] Furthermore, the suggestion unit 515 generates information indicating an effect obtained when a program block of an existing recipe that fits within the first time frame is inserted as indicated by the generated second detailed information M12, as third detailed information M13 included in the proposed information M1. In this example, the suggestion unit 515 generates, for example, a character string "You can also make butter or omelet" as the third detailed information M13.
[0194] In this example, when determining one or more candidate blocks from a plurality of existing recipe programs, for example when the first button B11 is pressed, the suggestion unit 515 displays an operation screen for selecting one of the plurality of existing recipe programs. Then, the suggestion unit 515 places one or more blocks constituting the existing recipe program selected on the operation screen within the first time frame.
[0195] For example, in this example, assume that a recipe program for making butter is selected on the above operation screen. In the recipe program for making butter, the display and cutting board block "measuring" are placed in the first 10-minute time frame, and the display block "fry" and the multi-cooker block "fry" with a duration of 20 minutes are placed in the next 10-minute time frame.
[0196] Fig. 13 is a diagram showing an example of a recipe R12 in which other suggested contents are reflected. In this case, as shown in Fig. 13, the suggestion unit 515 arranges the above-mentioned four blocks constituting the program of the recipe for making butter in the first first time frame "30 to 50" along the time frame of the selected block area D4 corresponding to the time frame arranged in the program of the recipe. After that, the calculation unit 513 recalculates the sum of the involvement degrees for each time frame, and the presentation unit 514 displays information on the recalculated sum of the involvement degrees for each time frame.
[0197] Furthermore, when the suggestion unit 515 determines one or more blocks that constitute multiple existing recipe programs as one or more candidate blocks, the multiple existing recipe programs may be limited to one existing recipe program in a predetermined manner.
[0198] The predetermined method includes, for example, a method of storing recipe programs in the recipe database 42 in association with priorities and limiting the programs to the existing recipe programs associated with the highest priorities. The predetermined method also includes a method of randomly limiting to one existing recipe. Furthermore, the predetermined method includes a method of storing the usage history of recipe programs in the recipe database 42 and limiting to the most frequently used recipe program.
[0199] Thus, according to embodiment 2, the creator can create an efficient recipe program that allows the user to execute other recipe programs during time frames when the degree of user involvement is lower than a reference level of involvement.
[0200] (Embodiment 3) In the third embodiment, an example will be described in which the proposing unit 515 displays proposal information M1 indicating that one or more blocks showing an abstract representation of the presentation of advertisement information are proposed as one or more candidate blocks.
[0201] Hereinafter, a method for creating the proposed information M1 by the proposing unit 515 in the embodiment 3 will be described. Hereinafter, a case will be described in which the creator creates the recipe R1 shown in Fig. 9 similar to that of the embodiment 1 using the recipe creation screen W1, and then the proposing unit 515 creates the proposed information M1 when a check button (not shown) provided on the recipe creation screen W1 is pressed.
[0202] In the third embodiment, the proposing unit 515 determines the first time frame and one or more candidate blocks using a second rule table RT2 (second table) stored in advance in the memory 52 (FIG. 4).
[0203] Fig. 14 is a diagram showing an example of the second rule table RT2. The second rule table RT2 shown in Fig. 14 is stored in advance in the memory 52 (Fig. 4). As shown in Fig. 14, the second rule table RT2 is a table that defines the relationship between an interposition degree condition, a time condition, and one or more blocks that abstractly show the presentation of advertising information. The interposition degree condition is a condition that must be satisfied by the sum of the interposition degrees for the first time slot in order to place each of the one or more blocks that abstractly show the presentation of advertising information in the first time slot. The time condition is a condition that must be satisfied by the length of the first time slot. Hereinafter, a block that abstractly shows the presentation of advertising information will be referred to as an advertisement block.
[0204] For example, in the second rule table RT2 shown in Fig. 14, an intermediateness condition indicating that the sum of intermediateness for the first time slot is 0, a time condition indicating that the length of the first time slot is a time during which advertising information can be presented for 10 minutes or less, and an advertisement block "audio advertisement b" showing an abstraction of the audio output of advertisement b and an advertisement block "display advertisement a" showing an abstraction of the display of advertisement a are associated with each other. This indicates that the advertisement block "audio advertisement b" or the advertisement block "display advertisement a" can be placed in the first time slot, which has a sum of intermediateness of 0 and a length of 10 minutes or more. Note that the advertisement block "audio advertisement x" indicates the speaker block "advertisement x", and the advertisement block "display advertisement x" indicates the display block "advertisement x".
[0205] 14, a time condition is not associated with an ad block for an intervention degree condition indicating that the sum of intervention degrees is 3. This indicates that, because the threshold value for determining the first time slot is set to 2, one or more consecutive time slots with a sum of intervention degrees of 3 or more are not determined as a first time slot in which the degree of user involvement is lower than the reference intervention degree.
[0206] That is, in the third embodiment, the proposing unit 515 determines, as the first time frame, one or more consecutive time frames that satisfy the interposition degree condition in which the time condition and the advertisement block are associated in the second rule table RT2 and have a total interposition degree of 2 or less. Note that in the third embodiment, similarly to the second embodiment, the proposing unit 515 handles first time frames, which are multiple consecutive time frames whose total interposition degree is 1 or less, as one first time frame.
[0207] In this example, similarly to the second embodiment, the proposing unit 515 determines, as the first first time frames, three consecutive time frames "30" to "50" whose total involvement degree is 0 among the eleven time frames "10" to "110" in recipe R1 shown in Fig. 9. In addition, the proposing unit 515 determines, as the second first time frames, two consecutive time frames "90" to "100" whose total involvement degree is 0.
[0208] The proposing unit 515 generates information capable of identifying the determined first time slot as the first detailed information M11 included in the proposed information M1, similarly to the second embodiment. In this example, the proposing unit 515 generates, for example, a character string saying "Time slots with low involvement (30-50, 90-100) exist. The following blocks can be added" as the first detailed information M11.
[0209] When the first time slot can be determined, the suggestion unit 515 determines, in the second rule table RT2, one or more advertisement blocks that correspond to the interposition degree condition satisfied by the sum of the interposition degrees for the first time slot and the time condition satisfied by the length of the first time slot, as one or more candidate blocks that can be placed in the first time slot.
[0210] For example, in this example, the suggestion unit 515 refers to the second rule table RT2 and determines five advertisement blocks "audio advertisement a", "audio advertisement b", "display advertisement a", "audio advertisement c", and "display advertisement b", which correspond to the intervention degree condition indicating that the sum of the intervention degrees is 0, which is satisfied by the first first time slot "30" to "50", and the time condition indicating that the time for presenting advertisement information is 1 minute or less, 10 minutes or less, and 30 minutes or less, as one or more candidate blocks that can be placed in the first first time slot "30" to "50".
[0211] Similarly, the suggestion unit 515 refers to the second rule table RT2 and determines three advertisement blocks "audio advertisement a", "audio advertisement b", and "display advertisement a" corresponding to the intervention degree condition indicating that the sum of the intervention degrees is 0, which is satisfied by the second first time slot "90" to "100", and the time condition indicating that the time for presenting advertising information is 1 minute or less and 10 minutes or less, as one or more candidate blocks that can be placed in the second first time slot "90" to "100".
[0212] When the suggestion unit 515 determines one or more candidate blocks that abstractly represent the presentation of advertisement information and that can be placed in the first time slot, the suggestion unit 515 generates information indicating that an advertisement block can be inserted in the first time slot as the second detailed information M12 included in the proposal information M1. In this example, the suggestion unit 515 generates, for example, a character string "block of advertisement presentation" as the second detailed information M12.
[0213] Furthermore, the suggestion unit 515 generates information indicating an effect obtained when an ad block is inserted into the first time slot as indicated by the generated second detailed information M12, as third detailed information M13 included in the proposed information M1. In this example, the suggestion unit 515 generates, for example, a character string saying "Advertisements can be displayed or guided by voice" as the third detailed information M13.
[0214] In addition, as in this example, when multiple ad blocks are determined as one or candidate blocks that can be placed in the first time slot, when the creator presses the first button B11, the suggestion unit 515 places one ad block selected from the multiple ad blocks in a predetermined manner within the first time slot.
[0215] The predetermined method includes, for example, a method of defining a priority in advance when creating an ad block and selecting an ad block with the highest priority defined among a plurality of ad blocks. The predetermined method also includes a method of randomly selecting one ad block. Further, the predetermined method includes a method of selecting the most frequently used ad block based on the log information stored in the log database 43 (FIG. 1).
[0216] However, without being limited to this, the suggestion unit 515 may determine, from among the multiple ad blocks determined as candidate blocks, an ad block that uses a device 20 different from one or more devices 20 used by one or more blocks placed in the first time slot as a candidate block.
[0217] Alternatively, even if a block of the display is arranged in the first time slot, the suggestion unit 515 may determine an advertisement block in which an advertisement is displayed on the display as a candidate block. In this case, the suggestion unit 515 may display, on the display, both the content to be displayed on the display in the block of the display arranged in the first time slot and the advertisement to be displayed on the display in the candidate block.
[0218] Also, assume that one or more consecutive time slots that do not use one or more devices 20 used in one or more advertisement blocks determined as candidate blocks exist within a first time slot consisting of multiple consecutive time slots determined by the proposing unit 515. In this case, the proposing unit 515 may re-determine, as the first time slot, one or more consecutive time slots that do not use a device 20 used in an advertisement block present in the first time slot, among the one or more advertisement blocks determined as candidate blocks.
[0219] For example, in this example, it is assumed that the proposing unit 515 determines three advertisement blocks, "audio advertisement a", "audio advertisement b", and "display advertisement a", as candidate blocks that can be placed in the second first time slot "90" to "100". In this case, the display block "simmer" that uses the display is placed in the time slot "90" included in the second first time slot "90" to "100", and no block that uses the device 20 used by the above three advertisement blocks is placed in the time slot "100".
[0220] In this case, the proposing unit 515 may re-determine the time slot "100" as the second first time slot. Then, the proposing unit 515 may determine, in the second rule table RT2, the three advertisement blocks "audio advertisement a", "audio advertisement b", and "display advertisement a" associated with the intermediateness condition and the time condition satisfied by the re-determined second first time slot "100", as one or more candidate blocks that can be placed in the re-determined second first time slot "100".
[0221] Fig. 15 is a diagram showing an example of a recipe R13 in which further proposal contents are reflected. For example, when the first button B11 (Fig. 6) is pressed, the advertisement block "display advertisement b" is selected as a candidate block that can be placed in the first first time slot "30" to "50", and the advertisement block "display advertisement a" is selected as a candidate block that can be placed in the re-determined second first time slot "100".
[0222] In this case, as shown in FIG. 15, the suggestion unit 515 places the display block "advertisement b" in the first first time slot "30" to "50", and places the display block "advertisement a" in the re-determined second first time slot "100".
[0223] In addition, FIG. 15 shows an example in which the inclusion degree of the display blocks “Ad b” and “Ad a” is “1”, and after reflecting the proposed content, the calculation unit 513 recalculates the sum of the inclusion degrees for each time slot, and the presentation unit 514 displays information regarding the recalculated sum of the inclusion degrees for each time slot.
[0224] In this way, according to the third embodiment, the creator can create an efficient recipe program that can display advertising information in a time frame in which the user is less likely to be involved.
[0225] The present disclosure can employ the following modifications.
[0226] (1) Fig. 16 is a diagram showing an example of a recipe creation screen W1 on which suggested information M2 of a modified example is displayed. As shown in Fig. 16, the suggesting unit 515 may display suggested information M2 on the recipe creation screen W1, the suggested information M2 including first detailed information M21 generated by any one of the methods of the first to third embodiments, and second detailed information M22a and third detailed information M23a generated by the method described in the first embodiment, second detailed information M22b and third detailed information M23b generated by the method described in the second embodiment, and third detailed information M22c and third detailed information M23c generated by the method described in the third embodiment, for one or more first time frames indicated by the first detailed information M21.
[0227] In accordance with this, as shown in FIG. 16, the proposed information M2 may include a first reflect button B21a, a second reflect button B21b, a third reflect button B21c, and the second button B12 (FIG. 6) described in the first embodiment.
[0228] The first reflection button B21a is a button for the suggestion unit 515 to reflect, in the first time frame, one or more candidate blocks included in one or more first blocks (first block group) constituting the recipe created by the creator, which are determined by the method described in the embodiment 1. In other words, when the first reflection button B21a is pressed by the worker, the suggestion unit 515 moves one or more candidate blocks to the first time frame, as described using Figs. 7 and 11.
[0229] The second reflection button B21b is a button for reflecting, in the first time frame, one or more candidate blocks included in one or more blocks (second block group) constituting the program of the existing recipe that has been created and that have been determined by the proposing unit 515 using the method described in the second embodiment. When the second reflection button B21b is pressed by the operator, the proposing unit 515 places one or more candidate blocks in the first time frame, as described using FIG.
[0230] As described in the second embodiment, it is assumed that the suggestion unit 515 determines one or more candidate blocks that can be arranged within the first time frame from a plurality of existing recipes. In this case, when the second reflection button B21b is pressed, the suggestion unit 515 displays an operation screen for selecting one of the plurality of existing recipes. The suggestion unit 515 arranges one or more blocks constituting the existing recipe selected on the operation screen within the first time frame. In addition, as shown in FIG. 16, the suggestion unit 515 may include information M24 informing the operator that the above-mentioned operation screen will be displayed when the second reflection button B21b is pressed, in the proposal information M2.
[0231] The third reflection button B21c is a button for reflecting, in the first time slot, one or more candidate blocks included in one or more blocks (third block group) that abstractly represent the presentation of advertising information, determined by the proposing unit 515 using the method described in the embodiment 3. That is, when the operator presses the third reflection button B21c, the proposing unit 515 may move one or more candidate blocks to the first time slot, as described with reference to FIG.
[0232] Furthermore, in this modified example, the proposal unit 515 may choose not to include in the proposed information M2 the second detailed information and the third detailed information M23a generated by the method described in embodiment 1, the second detailed information M22b and the third detailed information M23b generated by the method described in embodiment 2, and the third detailed information M22c and the third detailed information M23c generated by the method described in embodiment 3.
[0233] Accordingly, among the first reflect button B21a, the second reflect button B21b, and the third reflect button B21c, the buttons for reflecting one or more candidate blocks determined by the method described in any one of the embodiments to the first time slot may not be included in the proposal information M2.
[0234] As a result, the proposing unit 515 may propose that one or more candidate blocks determined by the methods described in two of the first to third embodiments can be placed in the first time slot.
[0235] (2) On the user terminal 30, while a recipe program stored in the recipe database 42 is being executed, the degree of user involvement in the current time frame may be displayed and the user may be suggested to perform other tasks depending on the degree of involvement.
[0236] An example of implementing this modified example will be described below. Fig. 17 is a block diagram showing an example of the functional configuration of the user terminal 30. As shown in Fig. 17, the user terminal 30 is equipped with a memory 32, a display 33, an operation unit 34, and a communication unit 35 similar to the memory 52, the display 53, the operation unit 54, and the communication unit 55 (Fig. 4) equipped in the development terminal 50, a processor 31, and an audio output unit 36.
[0237] The processor 31 is configured with, for example, a CPU (Central Processing Unit). The processor 31 includes a display control unit 311, a receiving unit 312, a calculation unit 313, a presentation unit 314, an execution unit 315, and a proposal unit 316. The display control unit 311 to the proposal unit 316 are realized, for example, by the processor 31 executing a recipe execution program.
[0238] The audio output unit 36 is configured with a speaker or an earphone jack, and outputs various sounds or audio signals instructed by the processor 31.
[0239] The display control unit 311 to the suggestion unit 316 will be described in detail below with reference to Fig. 18. Fig. 18 is a diagram showing an example of a recipe execution screen W2. Specifically, when a user performs a predetermined operation using the operation unit 34, the display control unit 311 displays the recipe execution screen W2 (second operation screen) as shown in Fig. 18. The recipe execution screen W2 is provided with a list box D5, a block display area D7, a device display area D6, an execute button B21, and an end button B22.
[0240] The list box D5 is a list box for selecting the program name of one recipe to be executed from a list of program names of recipes stored in the recipe database .
[0241] The block display area D7 is an area in which multiple blocks constituting a program indicated by the program name of the recipe selected using the list box D5 are arranged. Similar to the selected block area D4 (FIG. 5A) of the recipe creation screen W1, the block display area D7 displays multiple time frames indicating the timing for performing the operation of the device 20 indicated by the block.
[0242] The device display area D6 is an area in which devices 20 corresponding to each block arranged in the block display area D7 are displayed, similar to the target device area D3 (FIG. 5A) of the recipe creation screen W1.
[0243] The execute button B21 is a button for executing the program of the recipe selected using the list box D5. The end button B22 is a button for ending the execution of the program of the recipe selected using the list box D5.
[0244] When displaying the recipe execution screen W2, the display control unit 311 controls the communication unit 55 to acquire a list of program names of recipes stored in the recipe database 42 via the communication network 90. The display control unit 511 displays a list box D5 on the recipe execution screen W2 for selecting a program name of one recipe to be executed from the acquired list of program names.
[0245] The reception unit 312 receives various operations on the recipe execution screen W2 by the user.
[0246] Specifically, the receiving unit 312 receives an operation to select a program of a recipe to be executed. More specifically, it is assumed that the user performs an operation to select a program name of a recipe to be executed using the list box D5. In this case, the receiving unit 312 receives an operation to select a program indicated by the program name of the recipe as the program of the recipe to be executed.
[0247] When the receiving unit 312 receives an operation to select a program of a recipe to be executed, it controls the communication unit 35 to request the application providing server 10 to transmit the program of the recipe selected by the operation via the communication network 90.
[0248] In response to this, the application providing server 10 obtains the program of the one recipe requested by the user terminal 30 from the recipe database 42 via the communication network 90, and returns it to the user terminal 30. In this way, the receiving unit 312 obtains the program of the one recipe to be executed selected by the user. Fig. 18 shows an example in which the receiving unit 312 receives an operation to select a program of a recipe for making bread and jam as the program of the one recipe to be executed.
[0249] The receiving unit 312 arranges a plurality of blocks constituting the acquired program of the recipe in a time frame on the recipe execution screen W2 corresponding to the time frame in which the blocks are arranged in the program of the recipe.
[0250] Specifically, the receiving unit 312 generates an image showing each block constituting the acquired program of the recipe, the image having a width according to the duration of each block. The receiving unit 312 displays the image in association with one or more time frames corresponding to the one or more time frames in which each block is arranged in the program of the recipe, among the multiple time frames displayed in the block display area D7.
[0251] In addition, if the device 20 corresponding to the block is not displayed in the device display area D6 at the beginning of the line in which the block is placed, the reception unit 312 displays the device 20 corresponding to the block in the target device area D3 at the beginning of the line in which the block is placed.
[0252] For example, Fig. 18 shows an example in which the reception unit 312 places a block "FB3" of an oven range, which has a duration of 30 minutes and is executed at the timing of ...
[0253] The calculation unit 313, like the calculation unit 513 (FIG. 4) of the development terminal 50, calculates the sum of the inclusion degrees of one or more blocks arranged in each time frame on the recipe execution screen W2. The presentation unit 314, like the presentation unit 514 (FIG. 4) of the development terminal 50, displays (outputs) each time frame and information on the sum of the inclusion degrees calculated for each time frame by the calculation unit 313 in association with each other on the recipe execution screen W2.
[0254] 18 shows an example in which the calculation unit 313 calculates the sum of the degrees of involvement of one or more blocks arranged in the time frame "20" to "40" in a program for a recipe for making bread and jam to be 0, and the presentation unit 314 displays the background color of the column corresponding to the time frame "20" to "40" in a predetermined color indicating 0, thereby correlating and displaying the time frame "20" to "40" with information on the sum of the degrees of involvement for the time frame "20" to "40". That is, in this case, the information on the sum of the degrees of involvement is a color corresponding to the sum of the degrees of involvement.
[0255] The method of displaying the information on the sum of the levels of involvement for each time frame by the presentation unit 314 is not limited to this. For example, the presentation unit 314 may display a character string indicating the sum of the levels of involvement for each time frame calculated by the calculation unit 313, such as "level of involvement 0", above or below each time frame, or may display it as a balloon message. That is, in this case, the information on the sum of the levels of involvement is a character string corresponding to the sum of the levels of involvement.
[0256] The execution unit 315 receives an operation to execute or terminate a program of a recipe acquired by the reception unit 312, and executes or terminates the program of the recipe. Specifically, when an operation to press the Execute button B21 on the recipe execution screen W2 is performed, the execution unit 315 receives the operation and executes the program of the recipe acquired by the reception unit 312. On the other hand, when an operation to press the End button B22 on the recipe execution screen W2 is performed, the execution unit 315 receives the operation and terminates the execution of the program of the recipe acquired by the reception unit 312.
[0257] During execution of a program of a recipe acquired by the receiving unit 312, the suggestion unit 316 displays (outputs) suggestion information (second suggestion information) proposing to perform a specified task based on the sum of the intervention degrees for the time frame corresponding to the present on the recipe execution screen W2, in association with the time frame corresponding to the present.
[0258] Specifically, after execution of the program of the one recipe is started, the suggestion unit 316 controls the communication unit 35 to periodically refer to log information of the device 20 used in the program of the one recipe, which is stored in the log database 43, at a predetermined period shorter than the time frame, via the communication network 90. In this way, the suggestion unit 316 knows which time frame in the program of the one recipe the device 20 corresponding to the block placed therein is currently being executed, and thereby knows which time frame corresponds to the present on the recipe execution screen W2.
[0259] Note that the method by which the suggestion unit 316 identifies the time frame corresponding to the present is not limited to this. For example, after execution of the program of the one recipe is started, the suggestion unit 316 may communicate with the device 20 used by one or more second blocks included in the program of the one recipe, to identify in which time frame in the program of the one recipe the device 20 corresponding to the block arranged therein is currently being executed.
[0260] Fig. 19 is a diagram showing an example of the recipe execution screen W2 on which suggested information M3 is displayed. As shown in Fig. 19, the suggestion unit 316 displays an image D8 for indicating the current time frame to the user. In Fig. 19, the image D8 indicates that the time frame corresponding to the present is time frame "30". Then, as shown in Fig. 19, the suggestion unit 316 displays suggested information M3, which suggests performing a predetermined task based on the sum of the involvement degrees for the grasped time frame, in association with the grasped time frame.
[0261] 19, the proposed information M3 includes first detailed information M31 indicating the presence degree information associated with the current time frame, and second detailed information M32 indicating the work to be proposed to the user in the current time frame. A method for generating the first detailed information M31 and the second detailed information M32 included in the proposed information M3 by the proposing unit 316 will be described later.
[0262] Next, a description will be given of the flow of recipe execution processing in the user terminal 30. Fig. 20 is a flowchart showing an example of recipe execution processing.
[0263] When the creator performs a predetermined operation using the operation unit 34, in step S201, the display control unit 311 displays the recipe execution screen W2 on the display 33. This starts the recipe execution process shown in FIG.
[0264] Next, in step S202, the receiving unit 312 receives an operation to select a program of one recipe to be executed, and acquires the program of the one recipe.
[0265] Next, in step S203, the reception unit 312 arranges the multiple blocks that constitute the program of the recipe acquired in step S202 in a time frame of the recipe execution screen W2 that corresponds to the time frame in which the blocks are arranged in the program of the recipe.
[0266] In step S204, the calculation unit 313 calculates the sum of the involvement degrees of one or more blocks arranged in each time frame in step S203 on the recipe execution screen W2.
[0267] In step S205, the presentation unit 314 displays, on the recipe execution screen W2, each time frame and information on the total amount of involvement calculated for each time frame in step S204 in association with each other.
[0268] When the user presses the execute button B21 in step S206 (YES in step S206), in step S207, the execution unit 315 starts executing the program of one recipe acquired in step S202.
[0269] On the other hand, suppose that the user does not press the execute button B21 in step S206 (NO in step S206) and presses the end button B22 in step S212. In this case (YES in step S212), the execution unit 315 ends the execution of the program of one recipe acquired in step S202, and ends the recipe execution process.
[0270] It is assumed that the user does not press the execute button B21 in step S206 (NO in step S206), and also does not press the end button B22 in step S212. In this case (NO in step S212), the processes in and after step S206 are repeated.
[0271] In step S208, the execution unit 315 executes one or more blocks arranged in each time slot, starting from the one or more blocks arranged in the first time slot in the program of the recipe acquired in step S202.
[0272] In step S209, the suggestion unit 316 determines whether the time frame corresponding to the present time is a time frame in which the degree of user involvement is lower than a reference degree of involvement based on the sum of the degrees of involvement for the time frame corresponding to the present time on the recipe execution screen W2. The method of determination in step S209 will be described later in detail.
[0273] If the suggestion unit 316 determines in step S209 that the time frame corresponding to the present is a time frame in which the degree of user involvement is lower than the reference involvement degree (YES in step S209), then in step S210, suggestion information M3 proposing to perform a predetermined task is displayed in association with the time frame corresponding to the present. A method for determining the predetermined task in step S210 will be described later in detail.
[0274] In step S211, if the execution unit 315 has not executed some of the blocks included in the program of the recipe acquired in step S202 (NO in step S211), the processing from step S208 onwards is performed. On the other hand, when the execution unit 315 has finished executing all the blocks included in the program of the recipe acquired in step S202 (YES in step S211), the execution unit 315 ends the recipe execution processing.
[0275] Next, we will explain how the suggestion unit 316 determines in step S209 whether the time frame corresponding to the present is a time frame in which the degree of user involvement is lower than the reference involvement level, and how it creates the suggested information M3 in step S210.
[0276] In the following description, a case will be described as an example in which, during execution of the program of the recipe R1 shown in FIG. 9, the suggestion unit 316 makes a determination in step S209 and creates the suggested information M3 in step S210.
[0277] Specifically, the suggestion unit 316 uses the third rule table RT3 pre-stored in the memory 52 (Figure 4) to determine whether the current time frame is a time frame in which the degree of user involvement is lower than a reference level of involvement and to determine the specified operation.
[0278] Fig. 21 is a diagram showing an example of the third rule table RT3. The memory 52 (Fig. 4) prestores the third rule table RT3 shown in Fig. 21. The third rule table RT3 is a table used for proposing to the user to perform a predetermined task in a time frame corresponding to the present. Specifically, as shown in Fig. 21, the third rule table RT3 defines the relationship between an intervention degree condition that should be satisfied by the sum of the intervention degrees for the time frame corresponding to the present, a time condition that should be satisfied by the length of a target time frame, which is one or a plurality of consecutive time frames from the time frame corresponding to the present until a time frame in which the sum of the intervention degrees is different from the time frame corresponding to the present, and tasks that can be proposed to the user in the time frame corresponding to the present.
[0279] Hereinafter, tasks that can be suggested to the user in the time frame corresponding to the present will be referred to as candidate tasks, and one or more consecutive time frames from the time frame corresponding to the present until a time frame whose sum of the involvement degrees is different from the time frame corresponding to the present will be referred to as target time frames.
[0280] For example, in the third rule table RT3 shown in Fig. 21, an intervention degree condition indicating that the sum of intervention degrees for the first time frame is 0, a time condition indicating that the length of the target time frame is 30 minutes or less in which a task can be performed, and shopping are associated with each other. This indicates that if the sum of intervention degrees for the time frame corresponding to the present is 0 and the length of the target time frame is 30 minutes or more, shopping can be suggested to the user.
[0281] 21, no time condition and candidate tasks are associated with an intervention degree condition indicating that the sum of the intervention degrees is 3. This indicates that the threshold for determining a time frame corresponding to the present as a time frame in which the degree of user involvement is lower than the reference intervention degree is set to 2. In other words, this indicates that when the sum of the intervention degrees for a time frame corresponding to the present is 3 or more, the proposing unit 316 does not determine that the time frame corresponding to the present is a time frame in which the degree of user involvement is lower than the reference intervention degree.
[0282] In other words, when the sum of the involvement degrees for a time frame corresponding to the present satisfies the involvement degree condition in which the time condition and the candidate task are associated in the third rule table RT3, the suggestion unit 316 determines the time frame corresponding to the present as a time frame in which the degree of user involvement is low according to a reference involvement degree. In this case, the suggestion unit 316 determines, as a time frame for displaying the proposed information M3, a target time frame, which is one or a plurality of consecutive time frames from the time frame corresponding to the present to a time frame in which the sum of the involvement degrees is different from the time frame corresponding to the present.
[0283] For example, assume that the time frame corresponding to the present is time frame "30" in recipe R1 shown in Fig. 9, where the sum of the degrees of involvement is 0. In this case, in the third rule table RT3 shown in Fig. 21, the time frame "30" corresponding to the present satisfies the involvement degree condition in which the time condition and the candidate task are associated with each other and which indicates that the sum of the degrees of involvement is 0. For this reason, the suggestion unit 316 determines that the time frame "30" corresponding to the present is a time frame in which the degree of user involvement is lower than the reference degree of involvement.
[0284] In this case, the suggestion unit 316 determines the target time frames, which are the consecutive time frames "30" to "50" from the time frame "30" corresponding to the present until the sum of the intervention degrees becomes the time frame "60" different from the time frame corresponding to the present, as the time frames for displaying the suggested information M3.
[0285] 9, the suggestion unit 316 also determines that the time frame "90" corresponding to the present is a time frame in which the degree of user involvement is lower than the reference degree of involvement. Then, the suggestion unit 316 determines, as the time frame for displaying the suggested information M3, the target time frames, which are the consecutive time frames "90" to "100" from the time frame "90" corresponding to the present until the time frame "110" in which the sum of the degrees of involvement is different from the time frame corresponding to the present.
[0286] When the suggestion unit 316 determines the target time frame, it determines, in the third rule table RT3, candidate tasks that correspond to the intervention degree condition satisfied by the sum of the intervention degrees for the time frame corresponding to the present and the time condition satisfied by the length of the target time frame, as tasks that can be suggested to the user in the time frame corresponding to the present.
[0287] For example, in this example, the time frame "30" corresponding to the present satisfies the intervention degree condition indicating that the sum of the intervention degrees in the third rule table RT3 is 0, and the length of the target time frame "30" to "50" satisfies the time condition indicating that the task can be performed in 30 minutes or less in the third rule table RT3. Therefore, the suggestion unit 316 determines that the candidate task "shopping" associated with the intervention degree condition and the time condition in the third rule table RT3 is an task that can be suggested to the user in the time frame "30" corresponding to the present.
[0288] When the suggestion unit 316 determines an activity that can be suggested to the user in the time frame corresponding to the present, it generates suggestion information M3 that includes first detailed information M31 indicating the total degree of involvement for the time frame corresponding to the present, and second detailed information M32 indicating the activity that has been determined as an activity that can be suggested to the user.
[0289] In this example, the suggestion unit 316 generates, for example, a character string "This is a time frame with an intervention level of '0'. You can perform the following tasks" as the first detailed information M31. The suggestion unit 316 also generates, as the second detailed information M32, a character string "shopping" indicating shopping determined as a task that can be suggested to the user in the time frame "30" corresponding to the present.
[0290] In addition, in the third rule table RT3, an operation that is premised on completion of the operation by the device 20, such as, for example, hanging out laundry washed by a washing machine, may be defined as a candidate operation. In this case, when the suggestion unit 316 determines an operation that is premised on completion of the operation by the device 20 as an operation to be proposed to the user in a time frame corresponding to the present, the suggestion unit 316 refers to the log information stored in the log database 43 and determines whether the premised operation by the device 20 has been completed. When the suggestion unit 316 determines that the premised operation by the device 20 has been completed, it generates second detailed information M32 indicating the determined operation.
[0291] According to this configuration, the user can easily grasp the degree of the user's involvement in each time frame while the program of the selected recipe is being executed. Also, according to this configuration, the user can perform another task according to the contents of the suggestion indicated by the suggestion information M3 while the program of the selected recipe is being executed. This allows the user to use their time effectively.
[0292] In this configuration, the processor 31 may be simplified so as not to include the proposing unit 316. [Industrial Applicability]
[0293] According to the present disclosure, an application can be created taking into consideration the degree of user intervention, which is useful for creating an application that controls multiple devices in a manner that is convenient for the user.
Claims
1. A computer in a system for creating applications to control multiple devices outputting a first operation screen having a plurality of time frames; receiving an operation of arranging a plurality of blocks along the plurality of time frames to generate the application, each of the plurality of blocks having an operation of at least one device among the plurality of devices and an involvement degree indicating a degree of involvement of a user in the operation of the at least one device; Calculating the sum of the inclusion degrees of one or more blocks arranged in each time frame; outputting an application including information regarding the total amount of involvement and the plurality of blocks arranged in the plurality of time slots; Information processing methods.
2. The computer includes: Further, a first time frame is determined based on the sum of the time frames, the first time frame being one or a plurality of consecutive time frames in which the degree of user involvement is lower than a reference involvement degree; and outputting proposal information indicating that another arrangement of one or more blocks is proposed for the first time slot. The information processing method according to claim 1 .
3. the one or more additional blocks are included in the multiple blocks arranged by the operation; The information processing method according to claim 2 .
4. The one or more other blocks are one or more blocks constituting a created application stored in the system. The information processing method according to claim 2 .
5. The one or more other blocks are one or more blocks indicating the presentation of advertising information. The information processing method according to claim 2 .
6. the one or more additional blocks are included in at least two of a first block group consisting of a plurality of blocks arranged by the operation, a second block group consisting of one or more blocks constituting an application that has been created and stored in the system, and a third block group consisting of one or more blocks indicating the presentation of advertising information; the proposal information includes information indicating an effect obtained by arranging the one or more other blocks, The information processing method according to claim 2 .
7. The computer includes: Furthermore, for each of the plurality of blocks arranged by the operation, a setting of a timer condition for automatically continuing the operation of the at least one device represented by each block for a predetermined period of time is accepted; Further, the degree of involvement of the block in which the timer condition is set is reduced by a predetermined degree. The information processing method according to any one of claims 1 to 6.
8. Each block further has a duration, which is a time for which the operation of the at least one device represented by the block continues; In the output of the proposal information, in order to move one or more blocks among the plurality of blocks arranged by the operation to the first time frame, determining, in a table that defines the relationship between a first intermediacy condition that the sum of the first time frame should satisfy, a second intermediacy condition that the intermediacy of the one or more blocks should satisfy, and a time condition based on the length of the first time frame that the duration of the one or more blocks should satisfy, as the another one or more blocks, one or more blocks among the plurality of blocks arranged by the operation, the intermediacy and the duration satisfying the second intermediacy condition and the time condition corresponding to the first intermediacy condition satisfied by the sum of the first time frame; The information processing method according to claim 3.
9. In the output of the proposal information, In order to place an existing application stored in the system into the first time slot, in a first table that defines a relationship between the existing application and an intermediateness condition that the sum of the first time slots should satisfy, a time condition that the length of the first time slots should satisfy, the existing application is determined as the created application to be an existing application that corresponds to the intermediateness condition that the sum of the first time slots should satisfy and the time condition that the length of the first time slots should satisfy; The information processing method according to claim 4.
10. In the output of the proposal information, In order to place each of one or more advertisement blocks indicating the presentation of advertisement information in the first time slot, in a second table that defines a relationship between the one or more advertisement blocks and an intermediateness condition that the sum of the first time slots should satisfy, a time condition that the length of the first time slots should satisfy, the one or more advertisement blocks that correspond to the intermediateness condition that the sum of the first time slots should satisfy and the time condition that the length of the first time slots should satisfy are determined as the one or more other blocks; The information processing method according to claim 5.
11. The computer includes: Furthermore, a second operation screen having a plurality of time frames is output; further, arranging a plurality of blocks constituting one application to be executed in a time frame of the second operation screen corresponding to a time frame in which the blocks are arranged in the one application; Furthermore, a sum of the presence degrees of one or more blocks arranged in each time frame of the second operation screen is calculated, and outputting an application including information regarding a total of the involvement degrees of one or more blocks arranged in each time frame of the second operation screen and the plurality of blocks arranged in the plurality of time frames of the second operation screen. The information processing method according to claim 1 .
12. The computer includes: Furthermore, the device receives an operation to execute the one application, and outputting second suggestion information proposing to perform a predetermined operation based on the total sum of a time frame corresponding to a current time on the second operation screen during the execution of the one application. The information processing method according to claim 11.
13. The degree of involvement of each block is as follows: the degree to which the operation of the at least one device represented by each of the blocks requires the user's sense of sight, hearing, or smell; a degree to which the operation of the at least one device represented by each of the blocks requires manual intervention by a user; Or, the frequency with which the operation of the at least one device represented by each block requires the user's visual, auditory or olfactory senses or manual action by the user; It is determined based on The information processing method according to any one of claims 1 to 12.
14. A program for causing a computer of a system for creating an application for controlling multiple devices to function, The computer, an output control unit that outputs a first operation screen having a plurality of time frames; a reception unit that receives an operation to arrange a plurality of blocks along the plurality of time frames in order to generate the application, and each of the plurality of blocks has an operation of at least one device among the plurality of devices and an involvement degree indicating a degree of involvement of a user in the operation of the at least one device; A calculation unit that calculates a sum of the presence degrees of one or more blocks arranged in each time frame; a presentation unit that outputs an application including information regarding the total amount of intervention and the plurality of blocks arranged in the plurality of time slots; A program that functions as a
Citation Information
Patent Citations
Washing machine
JP2003284889A
Cooking method extractor
JP2009054042A
Cooking assistance device
JP2014211802A
JPP6704082B