Information processing device, program, and method providing a Kanban board type computing user interface
Patent Information
- Application Number
- JP2025059534
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-03-31
- Publication Date
- 2026-10-14
AI Technical Summary
【0027】 本発明においては、タスク管理に加えて、従来は表計算で行っていた予算の計算や、見積りや、価格の比較シミュレーションといった計算を、計算式を一つも入力することなく、カードを動かすことで行うことを可能とするユーザーインターフェースを実現する。
Smart Images

Figure 2026166545000001_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present invention relates to user interface technology for task management and spreadsheets. BACKGROUND ART
[0002] A new user interface is disclosed that integrates task management via card movement, product selection, and price simulation and budget management such as spreadsheets in a Kanban-style board.
[0003] In this specification, the preparation for a wedding in the form common in the United States of "deciding on a venue such as a park or city hall and arranging catering dishes" is taken as an example, and tasks such as things to do before the wedding, development of a budget plan, management of expenditures, and selection of dishes and invited guests are used as examples.
[0004] In the management of such complex tasks, a "Kanban board" as shown in Figure 1 and checklists created with spreadsheet software are often used. While a Kanban board is intuitive for task management, it cannot perform calculations, so tools such as spreadsheets need to be used in combination.
[0005] Figure 1 is an example of a Kanban board that models wedding task management. The board 10 includes row 20, row 30, and row 40, and each of the rows contains to-do tasks, in-progress tasks, and completed tasks. Normally, rows (swimlanes) are oriented vertically, but here they are described in the horizontal direction to match the later-described Banban board and the present invention.
[0006] The user moves the cards down to lower rows according to the progress of the work. For example, the user moves the card 33 from the row 20 to the row 30. Then, the Kanban board moves the card 24 and the card 25 to the left to fill the space where the card 33 was located.
[0007] Figure 2 is an example of spreadsheet software, which performs budget simulation by changing the unit price of dishes and the number of invited guests. It may also be presented as a quotation by a catering company or a wedding planner.
[0008] The user inputs a calculation formula like the one in Figure 2(a) and obtains the result shown in Figure 2(b). For example, in catering, if the cost per dish is $110 and there are 50 guests, then formula 50 gives an amount of $60, which is $5500. Other costs such as labor and tableware rental fees are also included, and a fictitious tax amount is added.
[0009] From a user interface perspective, there are challenges such as the difficulty and error-prone nature of formula creation, and the inability to notice calculation errors. For example, only the calculation result (b) is displayed on the sheet, while the basis for the calculation (a) is not visible.
[0010] As a conventional technique for integrating Kanban boards for task management with calculations, Patent Document 1 discloses a technique for aggregating point values contained in cards and displaying them on a scoreboard. Since it is a task management technique, the points represent the "importance" of the task, and the aggregation represents "how many points were achieved yesterday, how many points were achieved last month." Regarding the integration of spreadsheets with other techniques, Patent Document 2 discloses a technique for embedding spreadsheets in HTML.
[0011] Non-patent document 1 describes a technique for displaying the sum of the numbers contained in a card in a row.
[0012] Figure 3 shows an example of the applicants' "Banban Board (R)" as published in Non-Patent Document 2. It is similar to a Kanban board, but is used for comparing and selecting multiple options when purchasing an item. It has a function to display the sum of the numbers contained in the cards, but does not include a general-purpose spreadsheet function like that of the present invention. As this is the basic technology of the present invention, a simple example is shown here, and the embodiment will be extended to include a spreadsheet function (novelty).
[0013] Users can create cards representing various products and services they find on different online shops, and then make selections by moving these cards around.
[0014] In Figure 3(a), row 110 contains three catering menu options: menu A at $80 (card 112), menu B at $120 (card 113), and menu C at $150 (card 114).
[0015] When a user drags a page they found in their browser to the BangBang board, the BangBang board generates a card containing a title, price, and an image of the dish, as shown in card 114.
[0016] Row 120 in Figure 3(a) is where the menu selection and the price per guest are calculated. Initially, it includes cards for drinks and dessert, and the added amount 121 shows a total of $30. In this way, the calculation is performed automatically when cards containing prices are placed in order.
[0017] Here, the user chooses one of three dish options. For example, the user moves dish A card 112 from row 110 to row 120, as shown in Figure 3(b). Then the dish's price of 121 becomes $110. Alternatively, the user could copy card 112 and then move it, leaving all three dishes in row 110. When the user moves card 112 from row 110 to row 120, the BangBang board moves cards 113 and 114 to the left to fill the space where card 112 was. [Prior art documents] [Patent Documents]
[0018] [Patent Document 1] US10496962B1 [Patent Document 2] US7350141B2 [Patent Document 3] Japanese Patent Application No. 2024-202826 [Patent Document 4] US20100095240A1 [Non-patent literature]
[0019] [Non-Patent Document 1] Inogic, ISV, "Data-Driven Decision Making with Aggregated Numerical Values in Kanban Boards", [online], September 29, 2023, CRM Software Blog, [retrieved March 26, 2025], Internet <URL:https: / / www.crmsoftwareblog.com / 2023 / 09 / data-driven-decision-making-with-aggregated-numerical-values-in-kanban-boards / > Non-Patent Document 2 Peace and Passion, "Request Land and Banban Board", [online], February 6, 2021, Peace and Passion, Request Land(R), [retrieved March 26, 2025], Internet <URL:https: / / request.land> Summary of the Invention Problem to be Solved by the Invention
[0020] In daily life and work, there are many opportunities to select items to purchase, manage tasks to be done, and calculate expenses using spreadsheets. For example, in the context of marriage, in addition to the wedding ceremony, there are successive opportunities to process tasks, select items, and calculate expenses for activities such as moving to a new home, purchasing furniture and home appliances, and planning flights and hotels for a honeymoon.
[0021] The first problem solved by the present invention is to realize a user interface that integrates four such operations: selecting items to purchase, managing tasks, simulating purchase prices, and managing budgets, and that enables these operations to be performed with high visibility, fewer steps, and greater accuracy.
[0022] The second problem to be solved by the present invention is to realize a user interface that enables budget calculation, estimation, and price comparison simulation as shown in Figure 2 without requiring the user to input even a single calculation formula such as "=sum(D2:D4)".
[0023] Figure 4 shows an example of performing the same cooking budget calculation as in Figure 2 by combining an arithmetic expression based on relative cell designation, which is a feature of spreadsheet calculation, with a kanban board.
[0024] The card 232 uses an expression 235 that includes vertical relative card designation to multiply $150 of the upper card 212 by 50 of the card 222, and calculates the amount of $5500. Similarly, if the labor cost and tableware amount are also multiplied by relative card designation, it is possible to sum them up and calculate $9130 as the total 241.
[0025] However, when the user moves any card included in row 210 or row 220 to another row, the card on the right moves to fill the gap left by the moved card due to the characteristics of the kanban board. The relative designation shifts, and the calculation no longer matches. This acts as a hindrance, and a simple combination of a kanban board and spreadsheet calculation cannot be established. [Means for Solving the Problems]
[0026] Information processing device implementing a Kanban board type calculation user interface including one or more rows containing one or more cards and row identifiers that can be added or moved by an input device, the processing device comprising: a processor; memory; a board processing unit that is executed by the processor and holds a board having the function of forming dependent calculation formulas from the reference relationships between the cards that display numerical values and the rows defined by the row identifiers, and evaluating the formulas for each row while dynamically reconstructing the formulas and updating the numerical values in response to the movement of cards, without requiring user input of the formulas; a card processing unit that is executed by the processor and holds in the memory a numerical card that displays a title and a numerical value, or a reference card that holds the row identifier of the referenced row and displays the numerical value of the referenced row; a circular reference detection data structure that is held in the memory and verifies that the reference card is not a circular reference; and a data structure that is executed by the processor and holds in the memory a row identifier, one or more cards and a list of zero or more operators, the numerical value of the row displayed in the row, and the numerical value of one or more cards and the previous A row processing unit holds one or more rows containing an expression data structure that holds an expression consisting of zero or more operators, rearranges other cards in the list in accordance with the addition or movement of the cards, retrieves the numerical values displayed by the one or more cards contained in the row each time, evaluates them using the expression data structure as addition if an operator exists between the cards, or as addition if no operator exists, and displays the numerical value of the row resulting from the calculation, wherein the row processing unit, in response to the addition or movement of the cards, when evaluating the expression of the changed row, retrieves one card in order from the list, or the operator if an operator exists, retrieves the reference card, confirms that the reference card is not a circular reference using the circular reference detection data structure, recursively evaluates the expression in the row referenced by the row identifier held by the reference card, stores the resulting numerical value in the reference card and displays it, and when a numerical value card is retrieved, retrieves the numerical value of the card from the card processing unit, and stores the numerical value obtained or the retrieved operator in either of the above cases in the expression data structure.This problem is solved by an information processing device configured to retrieve all cards and operators included in the list, perform addition if there is no operator between numbers, evaluate the numbers stored in the expression data structure and the operators as an expression, display the result as the number in the row, and if the evaluation is a recursive call, return the result to the calling row processing unit. [Effects of the Invention]
[0027] In addition to task management, this invention provides a user interface that enables calculations such as budget calculations, estimates, and price comparison simulations, which were conventionally performed using spreadsheets, to be performed by moving cards without having to input a single formula.
[0028] For example, when a user calculates the sum of subtotals in a spreadsheet, they must know how to enter a formula in a specific cell in a row and then reference it using relative references. Furthermore, combining spreadsheet cell specification using spatial coordinates with a Kanban board presents a problem: the position of the specified cells shifts as cards are moved, causing calculations to fail.
[0029] In this invention, since each row has a numerical value, implicit row operation rules, and a row identifier, subtotal calculations are performed simply by placing a numerical card. Even if the user rearranges cards or rows, the row dynamically retrieves cards and operators from its "list of holdings" in sequence, reconstructs the formula, and updates the numerical value. Furthermore, cards that refer to that row and calculate the total can also refer to the numerical value using the row identifier without depending on spatial cell coordinates. These are technical effects not found in conventional user interfaces.
[0030] Furthermore, the present invention provides a specific user interface architecture that directly links the movement of cards on the display screen with the addition and deletion of elements to circular reference detection data structures and expression data structures by the processor. As a result, task progress management and complex calculation processing, which were previously separated, are integrated into a single operation, eliminating the effort and calculation errors that occur when using separate software, and dramatically improving the functionality of the user interface itself in the information processing device.
[0031] Furthermore, by managing and evaluating the reference relationships between cards and rows as a circular reference detection data structure and dependency graph, it is possible to skip rows that do not require re-evaluation of calculation formulas, dramatically reducing the computational load on the processor and the number of memory accesses, thereby improving the computer's own functionality and increasing the system's response speed. [Brief explanation of the drawing]
[0032] [Figure 1] Background technology: "Wedding task management" using a Kanban board. [Figure 2] Background technology: "Budgeting for wedding catering" using spreadsheets. [Figure 3] Background technology: Automatic calculation of row sums in BangBang board [Figure 4] Problem: Aggregation and estimation using relative references don't work well. [Figure 5] Reference card: Automatically calculates the amount using the price per dish and the number of participants. [Figure 6] Reference card: Changing the dish will change the total cost. [Figure 7] Components [Figure 8] Row expression evaluation process of row processing unit [Figure 9] Selection operation: The state before changing the dish [Figure 10] Selection operation: Changing the dish will change the price per dish and the total amount. [Figure 11] Summary Card: Create an estimate without entering any formulas. [Figure 12] Integration of task management and budget management [Modes for carrying out the invention] [Examples]
[0033] This invention is a novel user interface that integrates task management through card movement, product selection, and spreadsheet-like price simulation and budget management.
[0034] The difference from conventional technology is that, on a Kanban-type board, the card columns contained in a row are treated as an expression, the result of the calculation becomes the row's value, and values from other rows are incorporated into the expression by reference cards. Furthermore, by automatically selecting operators based on the properties of the numbers (amount and quantity), the input of expressions is eliminated, and calculations are performed by arranging and moving cards.
[0035] Figure 12 shows an example of how task management, product selection, price simulation, and budget management are integrated. With this as the goal, we first show an example using Figures 5 and 6 of the basic embodiment of the present invention, Banbankark, in which the unit price of the dishes per participant is determined using a "reference card," the participants are selected, and the total cost of the dishes is calculated. Then, using Figures 7 and 8, we will explain the components and processing methods.
[0036] Figure 5 shows an expanded version of the Bang Bang Board from Figure 3, illustrating how the total amount is automatically calculated using reference cards based on the price of each dish and the participants.
[0037] In Figure 5, row 110 contains cards for three dishes that are potential purchases. Like card 114, each card displays a title and a numerical value and contains a card identifier 118 internally. Images are helpful but not required. Rows also contain a row identifier 119. Identifiers can be, for example, key values in a database, long strings, or index numbers.
[0038] Row 120 is for selecting dishes and calculating their prices, and it assumes that cards for drinks and desserts are placed there. The number 121 in the row is calculated by treating the values of the cards included in the row as an expression, and in this case it is $30, which is the sum of the drink ($20) and the dessert ($10).
[0039] Row 130 is a list of participants, and in this example, 50 people are expected to be invited. The number 131 in the row is calculated as the number of cards (count). To help the user decide who to invite, they may add rows not shown and swap the candidate cards with those in row 130.
[0040] This process of "evaluating the arrangement of cards as an expression" is called row expression evaluation. The operations between cards used in row expression evaluation (row operations) include implicit addition, but other possibilities include multiplication, averaging, counting the number of cards in a row, and user-defined functions, all of which are stored as row attributes.
[0041] If there are no numerical values in any of the cards within a row, the row processing unit 504 (described later) automatically selects the card count, which has the effect of eliminating the need for the user to specify row calculations.
[0042] Row 140 contains card 142 with a dish price of $30, multiplication operator 145, and card 143 with 50 participants, and the row value 141 is $1500.
[0043] The operators between cards are used to specify operations that are different from the row operations that are applied uniformly to all cards. These include built-in functions such as multiplication, division, subtraction, parentheses, and logarithms, as well as user-defined functions. For example, if the row operation for row 140 is addition, and you add a $20 card and a $10 card, the expression becomes [Number 1], and the amount 141 after evaluating the row expression becomes $1530.
[0044] [Number 1] $30 × 50 + $20 + $10
[0045] Possible implementations of the operator include treating it as an attribute associated with a card, treating it as a type of card, or treating it as separate data between cards.
[0046] Card 142, which represents the price per dish, is a reference card that refers to row 120. It holds R120, which points to row 120, as row identifier 146, and displays the number $30, which is the result of evaluating the expression in row 120, namely the number 121. Similarly, card 143, which represents the number of participants, is a reference card that refers to row 130 by R130, namely identifier 147, and displays the number 50, which is the result of evaluating the expression in row 130, namely the number 131.
[0047] Here, as shown in Figure 6, when card 112 for dish A, which was in row 110, is moved to row 120, the expression in row 120 is evaluated, and the value 121 in the row for the unit price of the dish becomes $110. Furthermore, the value of reference card 142 also becomes $110, and the amount 141 is updated to $5500.
[0048] In addition to row references, there are also card references and board references. This specification will explain the mechanism of row references in detail. The other types of references work in a similar manner.
[0049] Possible methods for users to create reference cards include: a system where the user drags a row title or number to another row to create a reference card that references that row; a system where the user creates reference cards using buttons, switches, voice or text input devices; or a system that uses predefined rules or AI.
[0050] Next, the components and processing methods of the present invention will be explained using Figures 7 and 8.
[0051] When a user creates or manipulates a card, row, or board using the input device 501, the card processing unit 503, row processing unit 504, and board processing unit 505 perform the creation and manipulation processes, respectively, and display the results on the display device 502. In a typical programming language, each processing unit would be implemented as a card object, row object, and board object, and would be executed using a processor and memory.
[0052] Furthermore, the data storage unit 506 is a database or file, and each processing unit saves data to the data storage unit 506 each time it is created or operated by the user. To avoid complicating the following explanation, such display and saving will be assumed to be performed implicitly.
[0053] The card processing unit 503 (card object) represents a single card, as shown in card 114. It holds a card identifier 118, displays the title and numerical value, and performs the corresponding processing. When the card is a reference card 142, it also holds the identifier 146 of the referenced card and displays the numerical value of that referenced card.
[0054] The row processing unit 504 (row object) represents a single row as shown in row 110 and performs processing on it. It contains a row identifier 119 and holds and displays a title and a list of cards (card objects). The list of cards may also include operators. The sequence of these cards is treated as an expression and evaluated, and the resulting numerical value 141 is displayed. Because operators have precedence, an expression data structure 508 that temporarily stores numerical values and operators is used for evaluation.
[0055] The board processing unit 505 (board object) represents a single board as shown in board 100 and performs processing on it. It includes a board identifier 109 and holds and displays a list of rows (row objects). Based on the reference relationships between the cards that display numerical values and the rows defined by the row identifiers, it forms dependent calculation formulas and evaluates the formulas for each row while dynamically reconstructing the formulas and updating the numerical values in response to card movement, without requiring user input of the formulas.
[0056] Next, we will describe the method for evaluating expressions in rows including reference cards, which is a feature of the present invention. Please note that this differs significantly from conventional spreadsheets in the following respects and requires a unique method.
[0057] This invention: A row forms a single arithmetic expression containing multiple cards, and displays a numerical value as a result of evaluating the arithmetic expression. Spreadsheet: A row is a collection of cells; it does not form a formula as a row and does not display numerical values. Each individual cell contains a formula.
[0058] This invention: A row reference card refers to the row itself. Spreadsheets: Cells cannot refer to rows themselves. However, they can refer to cells contained within a row, such as 2:2.
[0059] This invention: When a user moves one card, the other cards automatically move to fill that position. Spreadsheets: Cells do not move unless the user moves them.
[0060] This invention: The card displays a title and a number. Spreadsheet: Cells can display either text or numbers.
[0061] When the user performs some operation, or when the board is loaded from the data storage unit 506 or the communication unit 509, the board processing unit 505 causes the row processing unit 504 to evaluate and display the expression for each row contained on the board.
[0062] The row processing unit 504 then executes the row expression evaluation process, which consists of the following steps shown in Figure 8.
[0063] In step 601, one card or operator is taken from the list of cards to be held, one by one.
[0064] In step 602, it is determined whether all cards have been processed, and if so, the process proceeds to step 609.
[0065] In step 603, if the retrieved card is a row reference card, the circular reference detection data structure 507 is used to confirm that no circular reference (an infinite loop of reference relationships that would prevent the expression evaluation process from stopping) has occurred.
[0066] Specifically, if the row identifier being evaluated in the current row expression evaluation process exists in the circular reference detection data structure 507, an error is generated. Otherwise, the row identifier being evaluated is temporarily recorded in the circular reference detection data structure 507 and deleted in the termination step 610. The same applies to card references and board references.
[0067] In step 604, it is determined whether the card is a reference card to a row. If so, the same process as the expression evaluation process for that row is recursively applied to the row referenced by the row identifier, and the resulting number is displayed on the reference card. For example, if there is a reference card 142 while row 140 is being evaluated, the expression evaluation process for the row is performed on row 120 referenced by row identifier 146, and the result 121, $30, is displayed on card 142.
[0068] Step 605 is the processing of reference cards to the board, and step 606 is the recursive processing of reference cards to cards. The content is the same as in step 604.
[0069] In step 607, if the card is a numerical card, the numerical value is retrieved from the card processing unit. If it is an arithmetic expression such as $30*4, the result of evaluating the expression is taken as a numerical value. If the arithmetic expression in the card contains references, the same processing as in step 604 is performed.
[0070] Here, assuming the cards are obtained in the order $40, +, $50, and higher-priority operators such as * and 3 may appear later, the operations cannot be performed in the order the cards and operators were drawn. Therefore, in step 608, the evaluated numbers or operators obtained above are stored in row-specific expression data structure 508.
[0071] The row expression evaluation process returns to step 601 and processes the next card.
[0072] Once all cards have been processed, in step 609, the expression stored in the expression data structure 508 is evaluated and the result is displayed in the row. An example of this is the dish price of 121, the number of participants of 131, and the total amount of 141. In step 610, if a process that has been recursively called from step 604 is being performed, the numerical value is returned to the calling row processing unit and the process terminates.
[0073] For evaluating expressions, common algorithms such as Reverse Polish Notation, recursive descent parsers, and abstract syntax trees can be used. In step 608, data corresponding to the algorithm is stored in the expression data structure 508.
[0074] The board processing unit 505 repeats the expression evaluation process for each row each time the user inputs or manipulates elements on the board. Optimizations to reduce computational complexity include marking rows that have already been evaluated and not re-evaluating them unless they change, and updating only the rows or board affected by changes in cards.
[0075] Specifically, an effective method involves representing the reference relationships between cards, rows, and boards as a Directed Acyclic Graph (DAG), applying a topological sort to arrange them in the order of influence propagation, and then evaluating the values of cards, rows, and boards. In all cases, it is necessary to evaluate the reference cards before evaluating the rows, and the evaluation process shown in Figure 8 is applied.
[0076] When using an acyclic dependency graph (DAG), it can also be used as a data structure 507 for detecting circular references. [Examples]
[0077] While the user may specify the operators between cards, if the user places a card with an amount and a card with a number, as in line 140, addition and subtraction of price and quantity are impossible, and division is infrequent. Therefore, it is preferable for the line processing unit 504 to automatically place the multiplication operator 145. This has the effect of eliminating the need for the user to specify the operators. [Examples]
[0078] Next, we will show an example of "Shopping Selection," where you choose items to purchase from several potential goods or services, and a price simulation.
[0079] In Figure 6, card 112 for dish A is selected from the three dish cards in row 110 and moved to row 120, which contains the dish price. However, if row 120 is far away, moving cards on the screen becomes difficult. Furthermore, if you want to simulate the price change by switching to dish B, you have to move card 112 back to row 110 and then insert card 113, which is cumbersome. Additionally, the number of cards in the original row decreases, making it difficult to see that there were originally three dish options.
[0080] To address these challenges, we introduce a "selection operation," defined as an operation in row calculations where the value of the leftmost (top) card is used as the row value. Rows in which the selection operation is set are called selected rows.
[0081] Figures 9 and 10 show examples of selection operations. A selection operation is set as shown in row 110, 117, to make it a selected row. Next, a reference card 123 to row 110 is placed in row 120, which contains the unit price of the dishes. At this point, the unit price of the dishes 121 is $110.
[0082] As shown in Figure 10, if we move card 113 for dish B to the far left, the value 111 in the row becomes $120, the same as for dish B. At the same time, reference card 123 also becomes dish B, and the dish price 121, reference card 142, and amount 141 all change.
[0083] The selection operation improved the convenience of shopping selection and price simulation, allowing users to choose one item from multiple purchase options. Additionally, it enabled swapping cards within a row with a single card move, and ensured that all cards in the original row were preserved.
[0084] In spreadsheets, if you want to refer to "the leftmost cell in a given row," simply writing `=A1` will not work if a column is added to the left; it will no longer be the leftmost cell. This can only be achieved by combining functions or using macros; there is no simple method that everyone can use. [Examples]
[0085] Next, Figure 11 shows an example of creating an estimate that does not require formula input.
[0086] Figure 2 shows that five formulas were needed to create a food cost estimate, including taxes, based on the unit costs of food, tableware rental, and labor, as well as the number of participants, using a spreadsheet. The goal is to achieve this without entering a single formula.
[0087] Figure 11, like Figure 2, has rows for dishes (310), labor costs (320), and tableware (330), with the respective amounts displayed. Since each row contains both an amount card and a quantity card, a multiplication operator has been automatically inserted.
[0088] Here, to calculate the subtotal of those amounts, we introduce a "summary card," which is defined as a reference card that performs the summation calculation for the specified row.
[0089] Cards 342 and 343 in row 340 are the same summary card, holding the sum of $8300 from the row amounts for food (310), labor (320), and tableware (330). Adding 10% tax to the subtotal of $8300 results in the row value 341, which is $9130.
[0090] The range of rows to be summarized by the summary card can be specified by any means, but an indicator unit like switch 315 is visual and easy to use even for users who are unfamiliar with notation like that used for specifying ranges in spreadsheets.
[0091] Other effective methods include a format that considers rows containing unit price multiplied by quantity as a range, a format that colors rows within a specified range, a format that uses AI for selection, a format similar to range specification in spreadsheets, and a format that utilizes multiple summary cards by using multiple sets of specification methods.
[0092] The above demonstrates an example of performing estimation calculations without entering formulas, using row operations and summary cards. [Examples]
[0093] Figure 12 illustrates an example where task management and budget management are integrated, using a wedding as an example.
[0094] This is an extension of the "Wedding Task Management" in Figure 1, and board 10 includes rows 20, 30, and 40, such as the aforementioned "Things to Do," and cards representing tasks.
[0095] The added row 50 contains all the cards as they were in row 20, the "Things to Do" row, before the tasks were actually performed. For example, the budget for cooking is estimated at $8,000, while the initial budget was $13,250.
[0096] The “Decide on the Dish” card 33 in row 30, which contains the task currently in progress, is a reference card to row 340 in Figure 11, or a reference card to the number 301 on the board. Currently, a simulation is underway to select a dish, and the dish currently selected would cost $9130.
[0097] The value 301 is the value on the board and is used to reference the board. Possible methods of specification include adding a switch-like indicator to the row that will be the value on the board, specifying the row using the board's attributes, using the value of the top or bottom row as the value on the board, or using the same value as the summary card as the value on the board.
[0098] The amount on the card included in row 40, where the execution has finished, is either a provisional amount or an amount that has already been spent.
[0099] Row 60 contains a reference card 63 to the initial budget and a summary card 65 that totals the amounts in rows 20, 30, and 40 at the present time, and these are linked by a subtraction operator 64.
[0100] The row operation in row 60 gives us the number 62, which means the remaining budget is -$900. Unfortunately, we are short on budget, so it would be best to either reduce the number of participants (reduce the number of cards in row 130) or choose a cheaper dish (select dish A in row 110).
[0101] By proceeding with tasks while staying within the budget, the number of unprocessed task cards in row 20 decreases, and the number of completed task cards in row 40 increases, thus finalizing the budget. This demonstrates the effectiveness of integrating task management and budget management.
[0102] Furthermore, while traditional budget management using spreadsheets required entering multiple formulas, this example achieved budget management without entering a single formula; it only required specifying the subtraction operator 64.
[0103] Alternatively, you can set a budget amount as an attribute for the board, and then display the board's total value and the difference. This is convenient because it displays the total and remaining amount without adding row 60.
[0104] If the tasks included in Figure 12 are used as reference cards to a board for calculating the budget for each task, it becomes possible to create an overall wedding budget plan and manage its execution without entering a single formula. [Examples]
[0105] Now, if only one user makes such a plan, it's conceivable that disagreements will arise between the couple even before marriage, leading to a worrying situation. If multiple users can use it simultaneously over a network, they can consult with each other while making plans.
[0106] Therefore, if the communication unit 509 in Figure 7 transmits the operations of each user to each other, one user's operations will move cards on other users' boards, and other users' operations will move cards on one's own board. In this case, to prevent inconsistencies when multiple people move the same card simultaneously, a server (not shown) can relay the data, store it in a database, and perform transaction processing, allowing multiple users such as a couple, a family, and a wedding planner to use the system. For example, one could add a card that says, "Wishing you both lasting happiness."
[0107] In summary, we have revealed a new user interface that integrates task management through card movement, product selection, and spreadsheet-like price simulation and budget management by treating the card columns within a row as an expression, using the calculation result as the row's value, and incorporating values from other rows into the expression via reference cards. [Industrial applicability]
[0108] The present invention can be used in a wide range of industrial fields, including the information and communication industry, as an information processing device, software, and system for task management, project management, quotation creation, budget management, and electronic commerce. [Explanation of Symbols]
[0109] 10, 100, 200, 300 boards 109 Board Identifier 20, 30, 40, 110 etc. rows 114 etc. Card 118 etc. Card Identifier 119 etc. Line identifier Numbers in rows such as 141 Reference card 142 etc. Operators such as 145 146 Identifier of the referenced object 315 Instruction section 342 Tally Cards 501 Input device. A general input method that converts user input into electrical signals, including keyboards, touch panels, pointing devices, microphones, etc. 502 Display device 503 Card Processing Unit 504 Line Processing Unit 505 Board Processing Unit 506 Data Storage Unit 507 Circular Reference Detection Data Structure 508-type data structure 509 Communications Department
Claims
1. In a Kanban board-type user interface that displays a board containing one or more cards that are movable by an indicator device and have rows with row identifiers, on a computer screen, A card processing unit that holds a card that displays a title and a numerical value, or a reference card that holds the row identifier and displays the numerical value of the referenced row, A circular reference detection data structure for confirming that the aforementioned reference card is not a circular reference, When evaluating the aforementioned cards and operators contained in a row as an expression, If the card is a reference card for the row, the numerical result of recursively evaluating the expression in the row referenced by the row identifier is displayed on the reference card. The numerical value or operator obtained from the aforementioned card or reference card is stored in the expression data structure. The numerical values and operators included in the aforementioned expression data structure are evaluated as expressions, and the results are displayed as numerical values in the rows. In the case of a recursive call, the obtained numerical value is returned to the calling line processing unit. A Kanban board type computing user interface characterized by having a row processing unit.
2. The value on the aforementioned card is either an amount or a value other than an amount. If a card with an amount and a card with a value other than an amount are adjacent, the operation between the two cards shall be multiplication. Otherwise, the operation between the card values is evaluated as an expression of addition. The Kanban board type calculation user interface according to feature 1.
3. The Kanban board type calculation user interface according to claim 1 or 2, characterized in that, in the evaluation of the above formula, the numerical value of the card located furthest to the left or top is used as the result.
4. The Kanban board type calculation user interface according to claims 1 to 3, characterized in that it has a subtotal card, as one type of reference card, that displays the sum of the numerical values of one or more rows specified by the row selection means.
5. A Kanban board-type user interface method for displaying a board containing one or more cards that are movable by an indicator device and have rows with row identifiers, which are displayed on a computer screen, The row processing unit, as a step of evaluating the card and operator contained in the row as an expression, The steps include: taking one of the following from the row: a card that displays the title and a numerical value, a reference card that holds the row identifier and displays the numerical value of the referenced row, or an operator; A step of confirming that the retrieved reference card is not a circular reference using a circular reference detection data structure, If the card is a reference card for the row, the steps include: recursively evaluating the expression in the row referenced by the row identifier, and displaying the resulting numerical value on the reference card; The steps include: extracting the numerical value of the card from the card processing unit, The steps include storing the obtained numerical value or operator in an expression data structure, After removing the cards, the process involves the steps of: evaluating the numerical values and operators included in the aforementioned expression data structure as expressions and displaying the results as numerical values in rows; In the case of a recursive call, the steps include: returning the obtained numerical value to the calling line processing unit; A method for a Kanban board type computing user interface, characterized by comprising the following:
6. The value on the aforementioned card is either an amount or a value other than an amount. If a card with an amount and a card with a value other than an amount are adjacent, the operation between the two cards shall be multiplication. Otherwise, the operation between the card values is evaluated as an expression of addition. The method for a Kanban board type calculation user interface according to feature 5.
7. The method for a Kanban board type calculation user interface according to claims 5 to 6, characterized in that, in the evaluation of the above formula, the numerical value of the card located furthest to the left or at the top is used as the result.
8. The method for a Kanban board type calculation user interface according to claims 5 to 7, characterized in that it has a subtotal card that displays the sum of the numerical values of one or more rows specified by the row selection means, as one type of reference card.
9. A non-temporary computer-readable recording medium that stores a program for realizing a Kanban board type calculation user interface as described in claims 1 to 8.
Citation Information
Patent Citations
Comparator and product selection method
JP2026089619A
Dynamic digital calendar day kanban board
US10496962B1
Card Metaphor For Activities In A Computing Device
US20100095240A1
User interface for integrated spreadsheets and word processing tables
US7350141B2