WO2010102639A1 - Improved calculator for performing partial calculations - Google Patents

Improved calculator for performing partial calculations Download PDF

Info

Publication number
WO2010102639A1
WO2010102639A1 PCT/EP2009/001657 EP2009001657W WO2010102639A1 WO 2010102639 A1 WO2010102639 A1 WO 2010102639A1 EP 2009001657 W EP2009001657 W EP 2009001657W WO 2010102639 A1 WO2010102639 A1 WO 2010102639A1
Authority
WO
WIPO (PCT)
Prior art keywords
controller
result
mathematical expression
partial
expression
Prior art date
Application number
PCT/EP2009/001657
Other languages
French (fr)
Inventor
Hou Xiaohua
Kevin Xie Xiaohui
Ming Zou Yan
Fei Liu Ying
Qiao Wand Kong
Original Assignee
Nokia Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nokia Corporation filed Critical Nokia Corporation
Priority to PCT/EP2009/001657 priority Critical patent/WO2010102639A1/en
Publication of WO2010102639A1 publication Critical patent/WO2010102639A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance

Definitions

  • the present application relates to a user interface, an apparatus and a method for performing calculations, and in particular to a user interface, an apparatus and a method for performing partial calculations on a touch interface .
  • More and more electronic devices such as mobile phones, MP3 players, Personal Digital Assistants (PDAs) and computers both laptops and desktops are being equipped with calculators.
  • PDAs Personal Digital Assistants
  • Fig. 1 is an overview of a telecommunications system in which a device according to the present application is used according to an embodiment
  • Fig. 2 is a view of an apparatus according to an embodiment
  • Fig. 3 is a block diagram illustrating the general architecture of an apparatus of Fig. 2 in accordance with the present application
  • Fig. 4 is a view of an apparatus according to an embodiment
  • Figs. 5 to 9 show screen shot views of an application window of an apparatus according to an embodiment
  • Fig. 10 is a flow chart describing a method according to an embodiment of the application
  • Fig. 11 is a flow chart describing a method according to an embodiment of the application.
  • Fig. 12 is a flow chart describing a method according to an embodiment of the application.
  • FIG. 1 illustrates an example of a cellular telecommunications system in which the teachings of the present application may be applied.
  • various telecommunications services such as cellular voice calls, www or Wireless Application Protocol (WAP) browsing, cellular video calls, data calls, facsimile transmissions, music transmissions, still image transmissions, video transmissions, electronic message transmissions and electronic commerce may be performed between a mobile terminal 100 according to the teachings of the present application and other devices, such as another mobile terminal 106 or a stationary telephone 132.
  • WAP Wireless Application Protocol
  • the mobile terminals 100, 106 are connected to a mobile telecommunications network 110 through Radio Frequency (RF) links 102, 108 via base stations 104, 109.
  • RF Radio Frequency
  • the mobile telecommunications network 110 may be in compliance with any commercially available mobile telecommunications standard, such as Group Speciale Mobile (GSM) , Universal Mobile Telecommunications System
  • UMTS Digital Advanced Mobile Phone system
  • D-AMPS Digital Advanced Mobile Phone system
  • CDMA and CDMA2000 The code division multiple access standards
  • FOMA Freedom Of Mobile Access
  • TD- SCDMA Time Division-Synchronous Code Division Multiple Access
  • the mobile telecommunications network 110 is operatively connected to a wide area network 120, which may be Internet or a part thereof.
  • An Internet server 122 has a data storage 124 and is connected to the wide area network 120, as is an Internet client computer 126.
  • the server 122 may host a www/wap server capable of serving www/wap content to the mobile terminal 100.
  • a public switched telephone network (PSTN) 130 is connected to the mobile telecommunications network 110 as is commonly known by a skilled person.
  • Various telephone terminals, including the stationary telephone 132, are connected to the PSTN 130.
  • the mobile terminal 100 is also capable of communicating locally via a local link 101 to one or more local devices 103.
  • the local link can be any type of link with a limited range, such as Bluetooth, a Universal Serial Bus (USB) link, a Wireless Universal Serial Bus (WUSB) link, an IEEE 802.11 wireless local area network link, a Radio Standard link for example an RS-232 serial link, etc.
  • the local devices 103 can for example be various sensors that can communicate measurement values to the mobile terminal 100 over the local link 101.
  • the mobile terminal 200 comprises a speaker or earphone 202, a microphone 206, a main or first display 203 and a set of keys 204 which may include a keypad 204a of common ITU-T type (alpha-numerical keypad representing characters "0"-"9", “*" and "#") and certain other keys such as soft keys 204b, 204c and a joystick 205 or other type of navigational input device.
  • the display is a touch display 203.
  • other displays can also be used wherein a user is able to mark content using a cursor or other navigational input means.
  • the mobile terminal has a controller 300 which is responsible for the overall operation of the mobile terminal and may be implemented by any commercially available CPU ("Central Processing Unit"), DSP ("Digital Signal Processor") or any other electronic programmable logic device.
  • the controller 300 has associated electronic memory 302 such as Random Access Memory (RAM) , Read Only Memory (ROM) , Electrically Erasable Programmable Read-Only Memory (EEPROM) , flash memory, or any combination thereof.
  • RAM Random Access Memory
  • ROM Read Only Memory
  • EEPROM Electrically Erasable Programmable Read-Only Memory
  • flash memory or any combination thereof.
  • the memory 302 is used for various purposes by the controller 300, one of them being for storing data used by and program instructions for various software in the mobile terminal.
  • the software includes a real-time operating system 320, drivers for a man-machine interface (MMI) 334, an application handler 332 as well as various applications.
  • the applications can include a message text editor 350, a notepad application 360, as well as various other applications 370, such as applications for voice calling, video calling, sending and receiving messages such as Short Message Service (SMS) , Multimedia Message Service (MMS) or email, web browsing, an instant messaging application, a phone book application, a calendar application, a control panel application, a camera application, one or more video games, etc.
  • SMS Short Message Service
  • MMS Multimedia Message Service
  • the MMI 334 also includes one or more hardware controllers, which together with the MMI drivers cooperate with the touch display 336/203, and the keypad 338/204 as well as various other Input/Output devices such as microphone, speaker, vibrator, ringtone generator, LED indicator, etc.
  • the software also includes various modules, protocol stacks, drivers, etc., which are commonly designated as 330 and which provide communication services (such as transport, network and connectivity) for an RF interface 306, and optionally a Bluetooth interface 308 and/or an IrDA interface 310 for local connectivity.
  • the RF interface 306 comprises an internal or external antenna as well as appropriate radio circuitry for establishing and maintaining a wireless link to a base station (e.g. the link 102 and base station 104 in FIG. 1) .
  • the radio circuitry comprises a series of analogue and digital electronic components, together forming a radio receiver and transmitter. These components include, band pass filters, amplifiers, mixers, local oscillators, low pass filters, Analog to Digital and Digital to Analog (AD/DA) converters, etc.
  • the mobile terminal also has a Subscriber Identity Module (SIM) card 304 and an associated reader.
  • SIM Subscriber Identity Module
  • the SIM card 304 comprises a processor as well as local work and data memory.
  • Figure 4 shows an apparatus 400 according to the teachings herein. It should be noted that such an apparatus is not limited to a mobile phone, but can be any apparatus capable of performing calculations. In particular such an apparatus is capable of being text input and performing calculations.
  • the apparatus 400 comprises a display 403 on which an application window 410 is displayed. On the display 403 two notifications 408 are also displayed one being a signal strength indicator 408a and one being a battery level indicator 408b.
  • the application window 410 comprises a writing area 415.
  • a controller (300 in fig 3, not shown in fig 4) is configured to receive text input in the writing are 415.
  • the apparatus is configured to receive the text input through touch input on the touch display 403 and to recognize the input through Hand Writing Recognition. This is a generally used technique in the art and will not be discussed further herein.
  • the text may originate from other sources than being directly input.
  • the text is part of a message received.
  • the text is part of a file that is being viewed.
  • the controller is further configured to determine whether a selected portion of the input text represents a mathematical expression.
  • a toolbar 420 is displayed in one embodiment.
  • the toolbar 425 is floating, meaning that it does not have a fixed placement in the application window 410 but can be moved both upon user instruction and to accommodate the text being displayed in the writing area 415.
  • the controller is further configured to parse a selected portion. In one embodiment the controller is further configured to display the resulting mathematical expression from the parsed portion in an expression window 425.
  • controller is further configured to show the result of a calculation in a result window 430.
  • Figure 5 shows views of an application window 510 for an application (360 in fig 3) being executed in an apparatus according to the teachings herein.
  • an apparatus is not limited to a mobile phone, but can be any apparatus capable of performing calculations.
  • such an apparatus is capable of being text input and performing calculations.
  • Figure 5a shows an application window 510 where a text 511 is displayed.
  • the text consist of three statements followed by each a calculation.
  • the three statements and their calculations are "apple: 2.5x2", “orange: 4x2" and "banana: 6/3".
  • Such a text can represent a shopping list where a user has noted the prices for different items.
  • the statements represent the total prices for two apples and two oranges and the price per banana.
  • the text 511 is input using a stylus and resides in graphical form.
  • a controller is configured to receive input identifying and selecting a partial string 512, 513 of the text 511 and to determine whether the portion 512,513 represents a mathematical expression.
  • a user has selected the portion 2.5x2 512 by encircling it with a stylus 509 which is indicated by a circle 507 around the portion 512.
  • the controller determines possibly through the use of an HWR technique and supplemental parsing that the portion 512 is a mathematical expression.
  • the controller is configured to evaluate the mathematical expression represented by the selected portion.
  • the controller is configured to generate a clean copy 526 of the mathematical expression represented by the selected portion 512.
  • the controller is further arranged to display the clean copy 526 in an expression window 525, see fig 5c.
  • fig 5c the selected portion 512 is displayed as being marked to indicate to a user that this portion is being handled by the application.
  • various methods of marking may be used including but not limited to encircling, inverting colors, using different colors, highlighting, and boxing in etc.
  • the portion 512 is marked by being highlighted with a specific color, for example blue.
  • controller is further arranged to calculate the result of the mathematical expression and to display the result 531.
  • result 531 is displayed in a result window 530.
  • the result 531 is in this example "5".
  • the controller is further configured to display a toolbar 520 as a portion 512 has been selected and it has been determined that the portion 512 represents a mathematical expression.
  • the toolbar 520 comprises a number of symbols 521, 522 representing mathematical operations.
  • the controller is further arranged to receive input identifying or selecting an operand 521, 522 and to apply it to the mathematical expression.
  • a controller has received input identifying or selecting the operand ADD.
  • the input has been effected by a user tapping on the ⁇ +' -symbol 522 representing the operation ADD.
  • a user can press a key representing the operation ADD.
  • the clean copy 527 is updated to include the new operand ⁇ +' and this is displayed in the expression window 527.
  • the updated clean copy reads "2.5x2+".
  • the result 531 being displayed in the display area 530 is still "5".
  • a user has selected a second portion 513 4x2 by encircling it with a stylus 509 which is indicated by a circle 507 around the portion 513.
  • the previously selected portion is now marked in a different way to indicate to a user that it is no longer the currently handled portion.
  • marking is achieved by changing to a different color which in this example is orange.
  • the controller is configured to determine whether the second selected portion 513 represents a mathematical expression .
  • the second selected portion 513 is marked as being the currently handled portion. In this example his is achieved by highlighting it with the color blue.
  • the controller is further arranged to determine the equivalent clean copy of the mathematical expression of the second selected portion 513.
  • the controller is further arranged to display the updated clean copy 528 in the expression window 525.
  • a toolbar 520 is displayed again as a new portion 513 is selected and determined to represent a mathematical expression.
  • the toolbar 525 is displayed as long as the application is running.
  • the controller is configured to determine whether the mathematical expression or a selected portion is ready for receiving an operand and if so to display the toolbar 525.
  • the toolbar would thus be displayed when it is determined that a new portion representing a mathematical expression has been selected to allow a user to indicate how the mathematical expression should be handled.
  • the controller is configured to display the result of the complete mathematical expression of the clean copy 528 in the result window 530 as a result 532 as the second selected portion is determined to represent a mathematical expression.
  • the result 532 is 13.
  • the controller is configured to display the result of the currently handled portion 513.
  • the partial result for the second selected portion is 8 (not shown) .
  • the expression window 525 and the result window 530 are optional and need not be part of an Implementation of the teachings herein. Other alternatives exist of showing the expressions and the partial results. For example a clean copy is displayed nest to the corresponding selected portion in one embodiment. The result of an expression is displayed adjacent to the corresponding selected portion in one embodiment .
  • the controller is configured to display the result 529 in the writing area 511, see figure 5f. This has the benefit that the display is kept clear of space consuming additional windows and the result will be closer to the user's line of sight.
  • Displaying results and partial results in a designated position has the benefit that a user knows where to look for the result.
  • the toolbar 520 is also optional and a controller is in one embodiment configured to receive input representing a mathematical operation through the writing area 511.
  • a controller is in one embodiment configured to receive input representing a mathematical operation through the writing area 511.
  • a user selects a first portion and a second portion and indicates that these should be added together by drawing a ⁇ +'-sign in the writing area.
  • Figure 6 shows a view of an application window 610 for an application (360 in fig 3) being executed in an apparatus according to the teachings herein.
  • an apparatus is not limited to a mobile phone, but can be any apparatus capable of performing calculations. In particular such an apparatus is capable of being text input and performing calculations.
  • a text 611 is displayed in a writing area 615.
  • the text consist of three statements followed by each a calculation. As can be seen in the figure two of the statements are followed by a two-line mathematical expression.
  • Figure 6 shows a situation corresponding to the situation in figure 5f, but where a different text 611 and consequently different selected portions 612 and 613 have been handled.
  • the portion 612 representing 2.5x2 has been selected before the portion 513 representing 6/3 as is also evident from the clean copy 628 being displayed in the expression window 625.
  • a user has indicated that the two partial results for 2.5x2 and 6/3 should be multiplied together and not added as in the example of figure 5.
  • the result 632 and 629 being 10 is displayed in both a result window 630 as result 632 and in the writing are 615 as result 629.
  • the controller is configured to adapt the content of the toolbar 620 to the currently handled mathematical expression. For example if two or more portions are selected the toolbar 620 is arranged to include a ⁇ ⁇ ' symbol indicating that the partial results of the mathematical expressions being represented by the selected portions are to be added up. In one embodiment a ⁇ f[' symbol is included in the toolbar to indicate that the partial results should be multiplied.
  • a controller is configured to receive selection of a plurality of portions 712, 713 and 714.
  • the controller is configured to receive a series of selections of portions 712, 713 and 714 and to determine whether each of them represent a mathematical expression.
  • the controller is configured to receive an input comprising more than one portion at one time and in response thereto determine the individual portions therein and whether they represent a mathematical expression or not.
  • Figure 7 shows a series of views of an application window 710 for an application (360 in fig 3) being executed in an apparatus according to the teachings herein.
  • an apparatus is not limited to a mobile phone, but can be any apparatus capable of performing calculations.
  • such an apparatus is capable of being text input and performing calculations .
  • Fig 7a shows an application window 710 having a writing area 715 in which a text 711 is displayed.
  • the text 711 consists of three statements each being a calculation.
  • the controller has received a selection from a user of the whole text 711.
  • the selection has been made by a user encircling the text 711 with a stylus 707 which is indicated by a circle 709.
  • the controller determines that the text comprises three portions 712, 713 and 714 and marks these as in figure 7b.
  • Fig 7b shows a view of the application window 710 as the three portions have been marked.
  • the marking can be made in a number of alternative ways.
  • the three portions 712, 713 and 714 may have been individually selected. However, in this example they have been selected all at once.
  • the controller is further configured to determine whether a selected portion represents a plurality of mathematical expressions, each of the plurality of mathematical expressions being a partial mathematical expression.
  • the controller is configured to display a toolbar 725 that comprises symbols 721 indicating mathematical operations that can be done on the partial mathematical expressions being represented by the portions 712, 713 and 714.
  • the controller is configured to display a clean copy 726 of the resulting mathematical expression and display it in an expression window 725.
  • controller is configured to display the result 729 in the writing area 715.
  • controller is configured to display the result 731 in the result window 730.
  • controller is configured both to display the result 731 in the result window 730 and to display the result 729 in the writing area 715 as can be seen in fig 7c.
  • a user may quickly and easily select a text portion representing a calculation and receive the result quickly as well as combining the partial results of such a text in a quick and easy to use and learn manner.
  • the controller is configured to calculate a result using a possibly user-specified function.
  • Figure 8 shows a series of views of an application window 810 for an application (360 in fig 3) being executed in an apparatus according to the teachings herein.
  • an apparatus is not limited to a mobile phone, but can be any apparatus capable of performing calculations.
  • such an apparatus is capable of being text input and performing calculations.
  • a text 811 is displayed in a writing area 815.
  • the text consists of three statements each being a calculation.
  • a user has specified a function f(x) as being:
  • the function need not be user specified but can be any functions stored in the apparatus .
  • fig 8a the controller has received three selections from a user of three portions 812, 813 and 814.
  • the selection has been made by a user encircling the portions 812, 813 and 814 with a stylus 807 which is indicated by a circle 809a, b and c for each portion 812, 813 and 814.
  • the controller determines that the three portions 812, 813 and 814 represent mathematical expressions and displays a toolbar 820.
  • the toolbar 820 comprises symbols 821 indication different mathematical operations.
  • One symbol 821 represents the defined function and is marked with "f (x)".
  • controller also marks the portions as in figure 8b.
  • a user taps on the symbol 821 representing the function f(x) and the controller performs the function on the portions accordingly.
  • the complete expression 826 being a clean copy of the mathematical expressions represented by the portions 812, 813 and 814 with the function f(x) applied to them is displayed in an expression window 825.
  • the clean copy 826 is not displayed.
  • the result is displayed.
  • the result is 21.
  • the controller is configured to display the result 829 in the writing area 815.
  • controller is configured to display the result 831 in the result window 830.
  • controller is configured both to display the result 831 in the result window 830 and to display the result 829 in the writing area 815 as can be seen in fig 8b.
  • displaying the result in the writing area has a further advantage in that a user may select the result for further use.
  • the result is usually a number, but also numbers are mathematical expressions.
  • Figure 9 shows a use case in the form of a series of views of an application window 910 for an application
  • an apparatus is not limited to a mobile phone, but can be any apparatus capable of performing calculations.
  • an apparatus is capable of being text input and performing calculations.
  • a text 911 is displayed in a writing area 915.
  • the text is a message from one user to a second user. It should be noted that it is of no importance to the teachings herein if the sender is viewing the message or the recipient. Both users can find the calculations to be of use. In this description it will be assumed that the user is the sender.
  • the text 911 contains information about a trip being planned including a listing of various activities and the associated costs.
  • a user has selected a portion 912.
  • the selection can be done as explained in the previous examples.
  • the selection is marked by a circle.
  • the controller is, in this embodiment, configured to calculate and display the partial result 931 in a result window 930 indicating that the total cost for the train will be 400.
  • a controller is configured to receive multiple selections of portions.
  • a multiple selection is achieved by simultaneously pressing a key on an apparatus.
  • a single selection is achieved by first clearing the previous selection. In one embodiment a single selection is achieved by pressing a specified key, virtual or physical in conjunction with making the selection.
  • a user has selected two portions 912 and 913. In this example they are marked with differently colored circles, but other markings are possible as has been discussed herein.
  • the controller is configured to display a toolbar 920 comprising symbols 921 representing mathematical operations to be performed on the mathematical expressions being represented by the portions 912 and 913.
  • the controller needs input from the user to determine how the partial results should be combined.
  • the partial results 931 and 932 are shown in the result window 930.
  • partial results 931 and 932 are shown in the same color as the corresponding portion is marked with. This enables a user to easily ascertain which value corresponds to which portion.
  • a user has selected the * +' symbol 921 from the toolbar 920 indicating that the partial results 931 and 932 should be added.
  • a selected operand is in one embodiment indicated to a user by being marked. In this example the selected operand is marked with a circle as is shown in the figures.
  • the specified operation is performed implicitly when indicating which operand that should be performed. In one embodiment the operation is performed upon indication to do so.
  • the controller is configured to receive a selection of a text portion 914 and determine whether the selected portion 914 represents more than one mathematical expression.
  • controller is configured to display the partial sums 931 in the result window 930.
  • the controller is further configured to display a toolbar 920.
  • a user has selected the operand represented by the ⁇ +' symbol 921 and the controller has calculated the result of applying the specified operand to the partial results 931.
  • the total result 934 is displayed as being 940 indicating that the total cost of the trip is 900.
  • the controller is configured to calculate the result implicitly upon receiving an indication of a mathematical operand.
  • the teachings herein are useful for both the sender and the receiver of the message.
  • the sender can check the sums while preparing the message so that he can write them down in the message. This works especially well if the result is displayed in the writing area 915 as has been discussed previously.
  • the receiver can check the results of the calculations more easily in case the sender has not specified the sums when sending it.
  • FIG. 10 shows a flowchart of an example method according to the teachings herein.
  • a controller receives input identifying a portion (512) of a text which portion a user has selected.
  • a controller determines whether the portion represents a mathematical expression in step 1020. If the portion represents a mathematical expression the controller evaluates the expression in step 1030 and optionally generates a clean copy of the expression 1032 which is optionally displayed in step 1034.
  • the controller calculates the result of the mathematical expression represented by the selected portion and displays the result.
  • FIG. 11 shows a flowchart of an example method according to the teachings herein.
  • a controller receives input identifying a portion (512) of a text which portion a user has selected.
  • a controller determines whether the portion represents a plurality of mathematical expressions in step 1120. If the portion represents a plurality of mathematical expressions the controller evaluates each of the plurality of expressions in step 1130 and optionally generates a clean copy of each of the expressions 1132 which are optionally displayed in step 1134 possibly by repeating steps 1130, 1132 and 1134 for each expression as is indicated by the dashed line in fig 11.
  • the controller displays a toolbar comprising mathematical operands.
  • the controller receives a selection of an operand.
  • the controller calculates the combined result of plurality of mathematical expressions represented by the selected portion by applying the selected operand to the partial results and displays the combined result.
  • FIG. 12 shows a flowchart of an example method according to the teachings herein.
  • a controller receives input identifying a portion (512) of a text which portion a user has selected.
  • a controller determines whether the portion represents a mathematical expression in step 1220. If the portion represents a mathematical expression the controller evaluates the expression in step 1230 generating a partial result and optionally generates a clean copy of the expression 1232 which is optionally displayed in step 1234.
  • a controller receives second input identifying a second portion (512) of a text which second portion a user has selected.
  • a controller determines whether the second portion represents a mathematical expression in step 1225. If the portion represents a second mathematical expression the controller evaluates the expression in step 1235 generating a partial result and optionally generates a clean copy of the expression 1237 which is optionally displayed in step 1239.
  • the controller displays a toolbar comprising mathematical operands.
  • the controller receives a selection of an operand.
  • the controller calculates the combined result the first and the second mathematical expressions represented by the first and second selected portions by applying the selected operand to the partial results and displays the combined result. It should be noted that the steps of receiving a selection of a portion steps 1210 and 1215, determining whether a portion represents a mathematical expression steps 1220 and 1225 and evaluating it steps 1230 and 1235 may be repeated for further selections.
  • step of determining whether a portion represents a mathematical expression steps 1020, 1220 and 1225 are essentially the same as the step of determining whether a selected portion represents a plurality of mathematical expressions 1120.
  • the controller is configured to receive further text input and to receive input indicating a portion of the recently input text as well. This allows a user to input text, perform a calculation on the inputted text and then continue inputting more text, marking a new portion and evaluate that portion and so on.
  • controller is configured to display the result in a font similar to the font of the selected portion.
  • the placement of the result can depend on a number of factors such as used input language and the form of the mathematical expression.
  • teaching of this application may be implemented by a combination of hardware and software, but can also be implemented in hardware or software.
  • the teaching of this application can also be embodied as computer readable code on a computer readable medium. It should be noted that the teaching of this application is not limited to the use in mobile communication terminals such as mobile phones, but can be equally well applied in Personal digital
  • PDAs Personal organizers
  • computers or any other apparatus designed for sharing notes or performing calculations .
  • teaching of the present application has been described in terms of a mobile phone, it should be appreciated that the teachings of the present application may also be applied to other types of electronic devices, such as notebook, palmtop and laptop computers and the like. It should also be noted that there are many alternative ways of implementing the methods and apparatuses of the teachings of the present application.

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

An apparatus comprising means for receiving input identifying a portion, means for determining that said portion represents a partial mathematical expression, means for performing a calculation on said partial mathematical expression; and means for displaying the result.

Description

IMPROVED CALCULATOR FOR PERFORMING PARTIAL CALCULATIONS
FIELD
The present application relates to a user interface, an apparatus and a method for performing calculations, and in particular to a user interface, an apparatus and a method for performing partial calculations on a touch interface .
BACKGROUND
More and more electronic devices such as mobile phones, MP3 players, Personal Digital Assistants (PDAs) and computers both laptops and desktops are being equipped with calculators.
Traditionally these calculators have a limited interface and are difficult to use for every day calculations, especially since in contrast to the situation of using a standalone calculator a user of a mobile phone, PDA or such does not often have a note pad at hand for taking notes on the calculations made.
An apparatus that allows fast and easy calculations and note taking would thus be useful in modern day society
SUMMARY
On this background, it would be advantageously to provide a user interface, an apparatus and a method that overcomes or at least reduces the drawbacks indicated above by providing an apparatus according to the claims. Further objects, features, advantages and properties of device, method and computer readable medium according to the present application will become apparent from the detailed description.
BRIEF DESCRIPTION OF THE DRAWINGS
In the following detailed portion of the present description, the teachings of the present application will be explained in more detail with reference to the example embodiments shown in the drawings, in which:
Fig. 1 is an overview of a telecommunications system in which a device according to the present application is used according to an embodiment,
Fig. 2 is a view of an apparatus according to an embodiment,
Fig. 3 is a block diagram illustrating the general architecture of an apparatus of Fig. 2 in accordance with the present application,
Fig. 4 is a view of an apparatus according to an embodiment,
Figs. 5 to 9 show screen shot views of an application window of an apparatus according to an embodiment, Fig. 10 is a flow chart describing a method according to an embodiment of the application,
Fig. 11 is a flow chart describing a method according to an embodiment of the application, and
Fig. 12 is a flow chart describing a method according to an embodiment of the application.
DETAILED DESCRIPTION In the following detailed description, the user interface, the apparatus, the method and the software product according to the teachings for this application in the form of a cellular/mobile phone will be described by the embodiments. It should be noted that although only a mobile phone is described the teachings of this application can also be used in any electronic device such as in portable electronic devices such as laptops, PDAs, mobile communication terminals, electronic books and notepads and other electronic devices offering access to information.
FIG. 1 illustrates an example of a cellular telecommunications system in which the teachings of the present application may be applied. In the telecommunication system of FIG. 1, various telecommunications services such as cellular voice calls, www or Wireless Application Protocol (WAP) browsing, cellular video calls, data calls, facsimile transmissions, music transmissions, still image transmissions, video transmissions, electronic message transmissions and electronic commerce may be performed between a mobile terminal 100 according to the teachings of the present application and other devices, such as another mobile terminal 106 or a stationary telephone 132. It is to be noted that for different embodiments of the mobile terminal 100 and in different situations, different ones of the telecommunications services referred to above may or may not be available; the teachings of the present application are not limited to any particular set of services in this respect.
The mobile terminals 100, 106 are connected to a mobile telecommunications network 110 through Radio Frequency (RF) links 102, 108 via base stations 104, 109. The mobile telecommunications network 110 may be in compliance with any commercially available mobile telecommunications standard, such as Group Speciale Mobile (GSM) , Universal Mobile Telecommunications System
(UMTS), Digital Advanced Mobile Phone system (D-AMPS), The code division multiple access standards (CDMA and CDMA2000), Freedom Of Mobile Access (FOMA), and Time Division-Synchronous Code Division Multiple Access (TD- SCDMA) .
The mobile telecommunications network 110 is operatively connected to a wide area network 120, which may be Internet or a part thereof. An Internet server 122 has a data storage 124 and is connected to the wide area network 120, as is an Internet client computer 126. The server 122 may host a www/wap server capable of serving www/wap content to the mobile terminal 100.
A public switched telephone network (PSTN) 130 is connected to the mobile telecommunications network 110 as is commonly known by a skilled person. Various telephone terminals, including the stationary telephone 132, are connected to the PSTN 130.
The mobile terminal 100 is also capable of communicating locally via a local link 101 to one or more local devices 103. The local link can be any type of link with a limited range, such as Bluetooth, a Universal Serial Bus (USB) link, a Wireless Universal Serial Bus (WUSB) link, an IEEE 802.11 wireless local area network link, a Radio Standard link for example an RS-232 serial link, etc. The local devices 103 can for example be various sensors that can communicate measurement values to the mobile terminal 100 over the local link 101.
It should be noted that even though the teachings herein are described solely to wireless networks it is in no respect to be limited to wireless networks as such, but it to be understood to be usable in the Internet or similar networks.
An embodiment 200 of the mobile terminal 100 is illustrated in more detail in FIG. 2. The mobile terminal 200 comprises a speaker or earphone 202, a microphone 206, a main or first display 203 and a set of keys 204 which may include a keypad 204a of common ITU-T type (alpha-numerical keypad representing characters "0"-"9", "*" and "#") and certain other keys such as soft keys 204b, 204c and a joystick 205 or other type of navigational input device. In the embodiments described herein the display is a touch display 203. Although it should be noted that other displays can also be used wherein a user is able to mark content using a cursor or other navigational input means.
The internal component, software and protocol structure of the mobile terminal 200 will now be described with reference to FIG. 3. The mobile terminal has a controller 300 which is responsible for the overall operation of the mobile terminal and may be implemented by any commercially available CPU ("Central Processing Unit"), DSP ("Digital Signal Processor") or any other electronic programmable logic device. The controller 300 has associated electronic memory 302 such as Random Access Memory (RAM) , Read Only Memory (ROM) , Electrically Erasable Programmable Read-Only Memory (EEPROM) , flash memory, or any combination thereof. The memory 302 is used for various purposes by the controller 300, one of them being for storing data used by and program instructions for various software in the mobile terminal. The software includes a real-time operating system 320, drivers for a man-machine interface (MMI) 334, an application handler 332 as well as various applications. The applications can include a message text editor 350, a notepad application 360, as well as various other applications 370, such as applications for voice calling, video calling, sending and receiving messages such as Short Message Service (SMS) , Multimedia Message Service (MMS) or email, web browsing, an instant messaging application, a phone book application, a calendar application, a control panel application, a camera application, one or more video games, etc. It should be noted that two or more of the applications listed above may be executed as the same application.
The MMI 334 also includes one or more hardware controllers, which together with the MMI drivers cooperate with the touch display 336/203, and the keypad 338/204 as well as various other Input/Output devices such as microphone, speaker, vibrator, ringtone generator, LED indicator, etc.
The software also includes various modules, protocol stacks, drivers, etc., which are commonly designated as 330 and which provide communication services (such as transport, network and connectivity) for an RF interface 306, and optionally a Bluetooth interface 308 and/or an IrDA interface 310 for local connectivity. The RF interface 306 comprises an internal or external antenna as well as appropriate radio circuitry for establishing and maintaining a wireless link to a base station (e.g. the link 102 and base station 104 in FIG. 1) . As is well known to a man skilled in the art, the radio circuitry comprises a series of analogue and digital electronic components, together forming a radio receiver and transmitter. These components include, band pass filters, amplifiers, mixers, local oscillators, low pass filters, Analog to Digital and Digital to Analog (AD/DA) converters, etc.
The mobile terminal also has a Subscriber Identity Module (SIM) card 304 and an associated reader. As is commonly known, the SIM card 304 comprises a processor as well as local work and data memory.
Figure 4 shows an apparatus 400 according to the teachings herein. It should be noted that such an apparatus is not limited to a mobile phone, but can be any apparatus capable of performing calculations. In particular such an apparatus is capable of being text input and performing calculations.
The apparatus 400 comprises a display 403 on which an application window 410 is displayed. On the display 403 two notifications 408 are also displayed one being a signal strength indicator 408a and one being a battery level indicator 408b.
The application window 410 comprises a writing area 415. A controller (300 in fig 3, not shown in fig 4) is configured to receive text input in the writing are 415.
In this embodiment the apparatus is configured to receive the text input through touch input on the touch display 403 and to recognize the input through Hand Writing Recognition. This is a generally used technique in the art and will not be discussed further herein.
It should be noted that it is also possible to practice the teachings herein without using a touch display wherein a user inputs text via other input means such as a keypad and marks sections or portions with the use of a windows pointing device such as a mouse or other cursor controlling means.
It should also be noted that the text may originate from other sources than being directly input. In one embodiment the text is part of a message received. In one embodiment the text is part of a file that is being viewed.
The controller is further configured to determine whether a selected portion of the input text represents a mathematical expression.
If it is detected that a mathematical expression is selected a toolbar 420 is displayed in one embodiment. The toolbar 420 comprise symbols 422 representing mathematical operations. For example a λ+' -symbol 422 is used to represent the operation ADD and the symbol λ=' 421 is used to represent the operation of performing a calculation.
In one embodiment the controller is configured to include the operation of performing the operation implicitly in the other operands. Thus, if a user selects two numbers and taps on the Λ+' symbol 422 the controller will perform the operation of adding the two numbers directly in one embodiment and after a user has pressed the λ=' symbol 421 in another embodiment.
In one embodiment the toolbar 425 is floating, meaning that it does not have a fixed placement in the application window 410 but can be moved both upon user instruction and to accommodate the text being displayed in the writing area 415.
The controller is further configured to parse a selected portion. In one embodiment the controller is further configured to display the resulting mathematical expression from the parsed portion in an expression window 425.
In the expression window a mathematical expression is shown as the controller will calculate it.
In one embodiment the controller is further configured to show the result of a calculation in a result window 430.
Figure 5 shows views of an application window 510 for an application (360 in fig 3) being executed in an apparatus according to the teachings herein. It should be noted that such an apparatus is not limited to a mobile phone, but can be any apparatus capable of performing calculations. In particular such an apparatus is capable of being text input and performing calculations.
Figure 5a shows an application window 510 where a text 511 is displayed. In this example the text consist of three statements followed by each a calculation. The three statements and their calculations are "apple: 2.5x2", "orange: 4x2" and "banana: 6/3". Such a text can represent a shopping list where a user has noted the prices for different items. In this embodiment the statements represent the total prices for two apples and two oranges and the price per banana.
It should be noted that the text being displayed need not be in coded characters such as ASCII-coded characters or Unicode characters.
In this embodiment the text 511 is input using a stylus and resides in graphical form.
In one embodiment a controller is configured to receive input identifying and selecting a partial string 512, 513 of the text 511 and to determine whether the portion 512,513 represents a mathematical expression.
In figure 5b a user has selected the portion 2.5x2 512 by encircling it with a stylus 509 which is indicated by a circle 507 around the portion 512.
The controller determines possibly through the use of an HWR technique and supplemental parsing that the portion 512 is a mathematical expression.
The controller is configured to evaluate the mathematical expression represented by the selected portion.
The controller is configured to generate a clean copy 526 of the mathematical expression represented by the selected portion 512. In one embodiment the controller is further arranged to display the clean copy 526 in an expression window 525, see fig 5c. In fig 5c the selected portion 512 is displayed as being marked to indicate to a user that this portion is being handled by the application. It should be noted that various methods of marking may be used including but not limited to encircling, inverting colors, using different colors, highlighting, and boxing in etc. In this example the portion 512 is marked by being highlighted with a specific color, for example blue.
In the expression window 525 the clean copy 526 of the mathematical expression represented by the selected portion 512 is displayed.
In one embodiment the controller is further arranged to calculate the result of the mathematical expression and to display the result 531. In one embodiment the result 531 is displayed in a result window 530. The result 531 is in this example "5".
In one embodiment the controller is further configured to display a toolbar 520 as a portion 512 has been selected and it has been determined that the portion 512 represents a mathematical expression. The toolbar 520 comprises a number of symbols 521, 522 representing mathematical operations. The controller is further arranged to receive input identifying or selecting an operand 521, 522 and to apply it to the mathematical expression.
In figure 5d a controller has received input identifying or selecting the operand ADD. In this example the input has been effected by a user tapping on the Λ+' -symbol 522 representing the operation ADD. Alternatively a user can press a key representing the operation ADD. The clean copy 527 is updated to include the new operand λ +' and this is displayed in the expression window 527. The updated clean copy reads "2.5x2+".
The result 531 being displayed in the display area 530 is still "5".
In figure 5d a user has selected a second portion 513 4x2 by encircling it with a stylus 509 which is indicated by a circle 507 around the portion 513.
In one embodiment the previously selected portion is now marked in a different way to indicate to a user that it is no longer the currently handled portion. In this example the marking is achieved by changing to a different color which in this example is orange.
The controller is configured to determine whether the second selected portion 513 represents a mathematical expression .
In figure 5e the second selected portion 513 is marked as being the currently handled portion. In this example his is achieved by highlighting it with the color blue.
The controller is further arranged to determine the equivalent clean copy of the mathematical expression of the second selected portion 513. In one embodiment the controller is further arranged to display the updated clean copy 528 in the expression window 525. In this example a toolbar 520 is displayed again as a new portion 513 is selected and determined to represent a mathematical expression.
In one embodiment the toolbar 525 is displayed as long as the application is running.
In one embodiment the controller is configured to determine whether the mathematical expression or a selected portion is ready for receiving an operand and if so to display the toolbar 525. The toolbar would thus be displayed when it is determined that a new portion representing a mathematical expression has been selected to allow a user to indicate how the mathematical expression should be handled.
In one embodiment the controller is configured to display the result of the complete mathematical expression of the clean copy 528 in the result window 530 as a result 532 as the second selected portion is determined to represent a mathematical expression. In this example the result 532 is 13.
In one embodiment the controller is configured to display the result of the currently handled portion 513. In this example the partial result for the second selected portion is 8 (not shown) .
In one embodiment the controller is configured to calculate the result of the complete mathematical expression upon receiving an identification of a mathematical operand to do so. For example by the user tapping on the λ=' symbol. It should be noted that the expression window 525 and the result window 530 are optional and need not be part of an Implementation of the teachings herein. Other alternatives exist of showing the expressions and the partial results. For example a clean copy is displayed nest to the corresponding selected portion in one embodiment. The result of an expression is displayed adjacent to the corresponding selected portion in one embodiment .
In one embodiment the controller is configured to display the result 529 in the writing area 511, see figure 5f. This has the benefit that the display is kept clear of space consuming additional windows and the result will be closer to the user's line of sight.
Displaying results and partial results in a designated position has the benefit that a user knows where to look for the result.
As can be seen in figure 5f the two embodiments may be combined.
The toolbar 520 is also optional and a controller is in one embodiment configured to receive input representing a mathematical operation through the writing area 511. In one example a user selects a first portion and a second portion and indicates that these should be added together by drawing a λ+'-sign in the writing area.
It should be noted that although the examples given only disclose mathematical expressions written on a one-line form the t4eachigns herein are also practicable on two- or more line expressions and also on more complex mathematical expressions such as derivates, integrals, sinus functions, sums etc.
Figure 6 shows a view of an application window 610 for an application (360 in fig 3) being executed in an apparatus according to the teachings herein. It should be noted that such an apparatus is not limited to a mobile phone, but can be any apparatus capable of performing calculations. In particular such an apparatus is capable of being text input and performing calculations.
A text 611 is displayed in a writing area 615. In this example the text consist of three statements followed by each a calculation. As can be seen in the figure two of the statements are followed by a two-line mathematical expression.
Figure 6 shows a situation corresponding to the situation in figure 5f, but where a different text 611 and consequently different selected portions 612 and 613 have been handled.
The portion 612 representing 2.5x2 has been selected before the portion 513 representing 6/3 as is also evident from the clean copy 628 being displayed in the expression window 625. As can be seen a user has indicated that the two partial results for 2.5x2 and 6/3 should be multiplied together and not added as in the example of figure 5. The result 632 and 629 being 10 is displayed in both a result window 630 as result 632 and in the writing are 615 as result 629.
In one embodiment the controller is configured to adapt the content of the toolbar 620 to the currently handled mathematical expression. For example if two or more portions are selected the toolbar 620 is arranged to include a λ∑' symbol indicating that the partial results of the mathematical expressions being represented by the selected portions are to be added up. In one embodiment a λf[' symbol is included in the toolbar to indicate that the partial results should be multiplied.
Other possible symbols and corresponding mathematical operands also exist such as J to indicate that the expression should be integrated, d to indicate that the expression should be derivated and V to indicate that the controller should draw the root out of the result.
In one embodiment a controller is configured to receive selection of a plurality of portions 712, 713 and 714.
In one embodiment the controller is configured to receive a series of selections of portions 712, 713 and 714 and to determine whether each of them represent a mathematical expression.
In one embodiment the controller is configured to receive an input comprising more than one portion at one time and in response thereto determine the individual portions therein and whether they represent a mathematical expression or not.
Figure 7 shows a series of views of an application window 710 for an application (360 in fig 3) being executed in an apparatus according to the teachings herein. It should be noted that such an apparatus is not limited to a mobile phone, but can be any apparatus capable of performing calculations. In particular such an apparatus is capable of being text input and performing calculations .
Fig 7a shows an application window 710 having a writing area 715 in which a text 711 is displayed.
In this example the text 711 consists of three statements each being a calculation.
The controller has received a selection from a user of the whole text 711. The selection has been made by a user encircling the text 711 with a stylus 707 which is indicated by a circle 709.
The controller determines that the text comprises three portions 712, 713 and 714 and marks these as in figure 7b.
Fig 7b shows a view of the application window 710 as the three portions have been marked. As in the previous examples the marking can be made in a number of alternative ways.
It should be noted that the three portions 712, 713 and 714 may have been individually selected. However, in this example they have been selected all at once.
The controller is further configured to determine whether a selected portion represents a plurality of mathematical expressions, each of the plurality of mathematical expressions being a partial mathematical expression. The controller is configured to display a toolbar 725 that comprises symbols 721 indicating mathematical operations that can be done on the partial mathematical expressions being represented by the portions 712, 713 and 714.
In this example a user has indicated that the results should be summed up, but tapping on the λ∑' symbol 721.
In one embodiment the controller is configured to display a clean copy 726 of the resulting mathematical expression and display it in an expression window 725.
In figure 7c a controller has been instructed, either implicitly or directly, to calculate the result of the resulting mathematical expression based on the partial mathematical expressions.
In this example a user may have tapped on the ' =' symbol 722 indicating that the result should be calculated.
In one embodiment the controller is configured to display the result 729 in the writing area 715.
In one embodiment the controller is configured to display the result 731 in the result window 730.
In one embodiment the controller is configured both to display the result 731 in the result window 730 and to display the result 729 in the writing area 715 as can be seen in fig 7c.
Thus a user may quickly and easily select a text portion representing a calculation and receive the result quickly as well as combining the partial results of such a text in a quick and easy to use and learn manner.
In one embodiment the controller is configured to calculate a result using a possibly user-specified function.
Figure 8 shows a series of views of an application window 810 for an application (360 in fig 3) being executed in an apparatus according to the teachings herein. It should be noted that such an apparatus is not limited to a mobile phone, but can be any apparatus capable of performing calculations. In particular such an apparatus is capable of being text input and performing calculations.
A text 811 is displayed in a writing area 815. In this example the text consists of three statements each being a calculation.
In this example a user has specified a function f(x) as being:
f (x) = xl+x2*x3
It should be noted that the function need not be user specified but can be any functions stored in the apparatus .
In fig 8a the controller has received three selections from a user of three portions 812, 813 and 814. The selection has been made by a user encircling the portions 812, 813 and 814 with a stylus 807 which is indicated by a circle 809a, b and c for each portion 812, 813 and 814. The controller determines that the three portions 812, 813 and 814 represent mathematical expressions and displays a toolbar 820.
The toolbar 820 comprises symbols 821 indication different mathematical operations. One symbol 821 represents the defined function and is marked with "f (x)".
In one embodiment the controller also marks the portions as in figure 8b.
In this example it is important in which sequence the user selects the portions as they will be associated with the variables xl, x2 and x3 of the function f (x) in that order. In this example the user has selected the portions in the order xl=2.5x2 (first portion 812), x2=4x2 (second portion 813) and x3=6/3 (third portion 814) .
In this example a user taps on the symbol 821 representing the function f(x) and the controller performs the function on the portions accordingly.
In one embodiment the complete expression 826 being a clean copy of the mathematical expressions represented by the portions 812, 813 and 814 with the function f(x) applied to them is displayed in an expression window 825.
In one embodiment the clean copy 826 is not displayed.
In figure 8b the result is displayed. In this example the result is 21. In one embodiment the controller is configured to display the result 829 in the writing area 815.
In one embodiment the controller is configured to display the result 831 in the result window 830.
In one embodiment the controller is configured both to display the result 831 in the result window 830 and to display the result 829 in the writing area 815 as can be seen in fig 8b.
It should be noted that displaying the result in the writing area has a further advantage in that a user may select the result for further use. The result is usually a number, but also numbers are mathematical expressions.
Figure 9 shows a use case in the form of a series of views of an application window 910 for an application
(360 in fig 3) being executed in an apparatus according to the teachings herein. It should be noted that such an apparatus is not limited to a mobile phone, but can be any apparatus capable of performing calculations. In particular such an apparatus is capable of being text input and performing calculations.
A text 911 is displayed in a writing area 915. In this example the text is a message from one user to a second user. It should be noted that it is of no importance to the teachings herein if the sender is viewing the message or the recipient. Both users can find the calculations to be of use. In this description it will be assumed that the user is the sender. The text 911 contains information about a trip being planned including a listing of various activities and the associated costs.
In fig 9a a user has selected a portion 912. The selection can be done as explained in the previous examples. The selection is marked by a circle.
The controller is, in this embodiment, configured to calculate and display the partial result 931 in a result window 930 indicating that the total cost for the train will be 400.
This enables a user to quickly get an overview of the associated costs even though they are not completely specified.
In fig 9b a user has selected a second portion 913 and the controller has displayed the partial result 932 for the second portion 913 accordingly indicating that the total cost for the hotel will be 70.
In one embodiment a controller is configured to receive multiple selections of portions.
In one embodiment a multiple selection is achieved by simultaneously pressing a key on an apparatus.
In one embodiment a single selection is achieved by first clearing the previous selection. In one embodiment a single selection is achieved by pressing a specified key, virtual or physical in conjunction with making the selection. In fig 9c a user has selected two portions 912 and 913. In this example they are marked with differently colored circles, but other markings are possible as has been discussed herein. The controller is configured to display a toolbar 920 comprising symbols 921 representing mathematical operations to be performed on the mathematical expressions being represented by the portions 912 and 913.
As there is more than one selected portion 912 and 913 the controller needs input from the user to determine how the partial results should be combined.
In one embodiment the partial results 931 and 932 are shown in the result window 930.
In one embodiment the partial results 931 and 932 are shown in the same color as the corresponding portion is marked with. This enables a user to easily ascertain which value corresponds to which portion.
In this example a user has selected the * +' symbol 921 from the toolbar 920 indicating that the partial results 931 and 932 should be added. A selected operand is in one embodiment indicated to a user by being marked. In this example the selected operand is marked with a circle as is shown in the figures.
In one embodiment the specified operation is performed implicitly when indicating which operand that should be performed. In one embodiment the operation is performed upon indication to do so.
In figure 9d the user has indicated that the controller should perform the operation by tapping on the λ=' symbol 922 and the controller has performed the calculation as instructed and displayed the result 933 being 540 indicating that the total cost of both the hotel and the train is 540.
In one embodiment the controller is configured to receive a selection of a text portion 914 and determine whether the selected portion 914 represents more than one mathematical expression.
In fig 9e a user has selected a portion 914 containing all of the calculations which is indicated by a circle.
In one embodiment the controller is configured to display the partial sums 931 in the result window 930.
The controller is further configured to display a toolbar 920. IN figure 9e a user has selected the operand represented by the λ +' symbol 921 and the controller has calculated the result of applying the specified operand to the partial results 931. The total result 934 is displayed as being 940 indicating that the total cost of the trip is 900.
In this embodiment the controller is configured to calculate the result implicitly upon receiving an indication of a mathematical operand. In this use case the teachings herein are useful for both the sender and the receiver of the message. The sender can check the sums while preparing the message so that he can write them down in the message. This works especially well if the result is displayed in the writing area 915 as has been discussed previously. The receiver can check the results of the calculations more easily in case the sender has not specified the sums when sending it.
It should be noted that the teachings discussed above may all be implemented as method steps.
In the flowcharts described below optional steps are indicated by a box with rounded corners.
Figure 10 shows a flowchart of an example method according to the teachings herein. In a first step 1010 a controller receives input identifying a portion (512) of a text which portion a user has selected. A controller determines whether the portion represents a mathematical expression in step 1020. If the portion represents a mathematical expression the controller evaluates the expression in step 1030 and optionally generates a clean copy of the expression 1032 which is optionally displayed in step 1034. In step 1050 the controller calculates the result of the mathematical expression represented by the selected portion and displays the result.
Figure 11 shows a flowchart of an example method according to the teachings herein. In a first step 1110 a controller receives input identifying a portion (512) of a text which portion a user has selected. A controller determines whether the portion represents a plurality of mathematical expressions in step 1120. If the portion represents a plurality of mathematical expressions the controller evaluates each of the plurality of expressions in step 1130 and optionally generates a clean copy of each of the expressions 1132 which are optionally displayed in step 1134 possibly by repeating steps 1130, 1132 and 1134 for each expression as is indicated by the dashed line in fig 11. In step 1140 the controller displays a toolbar comprising mathematical operands. In step 1142 the controller receives a selection of an operand. In step 1150 the controller calculates the combined result of plurality of mathematical expressions represented by the selected portion by applying the selected operand to the partial results and displays the combined result.
Figure 12 shows a flowchart of an example method according to the teachings herein. In a first step 1210 a controller receives input identifying a portion (512) of a text which portion a user has selected. A controller determines whether the portion represents a mathematical expression in step 1220. If the portion represents a mathematical expression the controller evaluates the expression in step 1230 generating a partial result and optionally generates a clean copy of the expression 1232 which is optionally displayed in step 1234.
In a further step 1215 a controller receives second input identifying a second portion (512) of a text which second portion a user has selected. A controller determines whether the second portion represents a mathematical expression in step 1225. If the portion represents a second mathematical expression the controller evaluates the expression in step 1235 generating a partial result and optionally generates a clean copy of the expression 1237 which is optionally displayed in step 1239. In step 1240 the controller displays a toolbar comprising mathematical operands. In step 1242 the controller receives a selection of an operand. In step 1150 the controller calculates the combined result the first and the second mathematical expressions represented by the first and second selected portions by applying the selected operand to the partial results and displays the combined result. It should be noted that the steps of receiving a selection of a portion steps 1210 and 1215, determining whether a portion represents a mathematical expression steps 1220 and 1225 and evaluating it steps 1230 and 1235 may be repeated for further selections.
It should also be noted that the step of determining whether a portion represents a mathematical expression steps 1020, 1220 and 1225 are essentially the same as the step of determining whether a selected portion represents a plurality of mathematical expressions 1120.
It should be noted that even though the examples given above all show all the text as already input the controller is configured to receive further text input and to receive input indicating a portion of the recently input text as well. This allows a user to input text, perform a calculation on the inputted text and then continue inputting more text, marking a new portion and evaluate that portion and so on. In the example described with reference to figure 9 a user may calculate the result for each post of the cost list before putting in the other items. A user could thus start by inputting "Train 2*200", select the portion and obtain the result "400". As discussed above the result may be displayed in the text writing area (915) and adjacent to the selected portion. In one embodiment where the controller is' configured to display the result to the right of the portion the resulting text is "2*200=400".
In one embodiment the controller is configured to display the result in a font similar to the font of the selected portion.
The placement of the result can depend on a number of factors such as used input language and the form of the mathematical expression.
The various aspects of what is described above can be used alone or in various combinations. The teaching of this application may be implemented by a combination of hardware and software, but can also be implemented in hardware or software. The teaching of this application can also be embodied as computer readable code on a computer readable medium. It should be noted that the teaching of this application is not limited to the use in mobile communication terminals such as mobile phones, but can be equally well applied in Personal digital
Assistants (PDAs) , personal organizers, computers or any other apparatus designed for sharing notes or performing calculations .
The teaching of the present application has numerous advantages. Different embodiments or implementations may yield one or more of the following advantages. It should be noted that this is not an exhaustive list and there may be other advantages which are not described herein. For example, one advantage of the teaching of this application is that a user is able to quickly perform partial calculations and to show the results to others.
Although the teaching of the present application has been described in detail for purpose of illustration, it is understood that such detail is solely for that purpose, and variations can be made therein by those skilled in the art without departing from the scope of the teaching of this application.
For example, although the teaching of the present application has been described in terms of a mobile phone, it should be appreciated that the teachings of the present application may also be applied to other types of electronic devices, such as notebook, palmtop and laptop computers and the like. It should also be noted that there are many alternative ways of implementing the methods and apparatuses of the teachings of the present application.
Features described in the preceding description may be used in combinations other than the combinations explicitly described.
Whilst endeavouring in the foregoing specification to draw attention to those features of the invention believed to be of particular importance it should be understood that the Applicant claims protection in respect of any patentable feature or combination of features hereinbefore referred to and/or shown in the drawings whether or not particular emphasis has been placed thereon. The term "comprising" as used in the claims does not exclude other elements or steps. The term "a" or "an" as used in the claims does not exclude a plurality. A unit or other means may fulfill the functions of several units or means recited in the claims.

Claims

CLAIMS :
1. An apparatus comprising a controller, wherein said controller is configured to: receive input identifying a portion; determine that said portion represents a partial mathematical expression; perform a calculation on said mathematical partial expression; and display the result.
2. An apparatus according to claim 1, wherein said controller is further configured to: display a toolbar comprising at least one mathematical operand; receive a selection of an operand; and apply said selected operand in said calculation.
3. An apparatus according to claim 1, wherein said controller is further configured to: receive a second input identifying a second portion; determine that said second portion represents a second partial mathematical expression; and perform said calculation on a combination of said partial mathematical expression and said second partial mathematical expression.
4. An apparatus according to claim 1, wherein said controller is further configured to: determine that a selected portion represents a plurality of partial mathematical expressions; evaluate each partial mathematical expression; and perform said calculation on a combination of said partial mathematical expressions.
5. An apparatus according to claim 1, wherein said controller is further configured to display said result in a writing area.
6. An apparatus according to claim 5, wherein said controller is further configured to display said result adjacent a portion.
7. An apparatus according to claim 1, wherein said controller is further configured to generate a clean copy of said partial mathematical expression and to display the clean copy.
8. A computer readable medium comprising at least computer program code for controlling an apparatus, said computer readable medium comprising: software code for receiving input identifying a portion; software code for determining that said portion represents a partial mathematical expression; software code for performing a calculation on said partial mathematical expression; and software code for displaying the result.
9. A method comprising: receiving input identifying a portion; determining that said portion represents a partial mathematical expression; performing a calculation on said partial mathematical expression; and displaying the result.
10. A method according to claim 9 further comprising: displaying a toolbar comprising at least one mathematical operand; receiving a selection of an operand; and applying said selected operand in said calculation.
11. A method according to claim 9 further comprising: receiving a second input identifying a second portion; determining that said second portion represents a second partial mathematical, expression; and performing said calculation on a combination of said partial mathematical expression and said second partial mathematical expression.
12. A method according to claim 9 further comprising: determining that a selected portion represents a plurality of partial mathematical expressions; evaluating each partial mathematical expression; and performing said calculation on a combination of said partial mathematical expressions.
13. A method according to claim 9 further comprising displaying said result in a writing area.
14. A method according to claim 13 further comprising displaying said result adjacent a portion.
15. A method according to claim 9 further comprising generating a clean copy of said partial mathematical expression and to display the clean copy.
16. An apparatus comprising: means for receiving input identifying a portion; means for determining that said portion represents a partial mathematical expression; means for performing a calculation on said partial mathematical expression; and means for displaying the result.
PCT/EP2009/001657 2009-03-09 2009-03-09 Improved calculator for performing partial calculations WO2010102639A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/EP2009/001657 WO2010102639A1 (en) 2009-03-09 2009-03-09 Improved calculator for performing partial calculations

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2009/001657 WO2010102639A1 (en) 2009-03-09 2009-03-09 Improved calculator for performing partial calculations

Publications (1)

Publication Number Publication Date
WO2010102639A1 true WO2010102639A1 (en) 2010-09-16

Family

ID=41279370

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2009/001657 WO2010102639A1 (en) 2009-03-09 2009-03-09 Improved calculator for performing partial calculations

Country Status (1)

Country Link
WO (1) WO2010102639A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150058387A1 (en) * 2013-08-26 2015-02-26 Intuit Inc. Method and system for providing a tablet swiping calculator function
CN106250345A (en) * 2016-07-18 2016-12-21 杭州网易云音乐科技有限公司 A kind of method and apparatus that calculating is provided hereof
JP2022052903A (en) * 2020-09-24 2022-04-05 カシオ計算機株式会社 Input program, input device and input method
US20230342013A1 (en) * 2020-09-16 2023-10-26 Casio Computer Co., Ltd. Information processing method, system, information processing device, and program

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5627914A (en) * 1992-04-07 1997-05-06 Apple Computer, Inc. Method and apparatus for processing graphically input equations
GB2427739A (en) * 2005-06-24 2007-01-03 Uws Ventures Ltd Editing and calculation of handwritten equations

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5627914A (en) * 1992-04-07 1997-05-06 Apple Computer, Inc. Method and apparatus for processing graphically input equations
GB2427739A (en) * 2005-06-24 2007-01-03 Uws Ventures Ltd Editing and calculation of handwritten equations

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JOSEPH J LAVIOLA JR: "Advances in Mathematical Sketching: Moving Toward the Paradigm's Full Potential", IEEE COMPUTER GRAPHICS AND APPLICATIONS, IEEE SERVICE CENTER, NEW YORK, NY, US, vol. 27, no. 1, 1 January 2007 (2007-01-01), pages 38 - 48, XP011154589, ISSN: 0272-1716 *
ROBERT ZELEZNIK ET AL DAVID HUTCHISON ET AL: "MathPaper: Mathematical Sketching with Fluid Support for Interactive Computation", SMART GRAPHICS : 9TH INTERNATIONAL SYMPOSIUM, SG 2008, RENNES, FRANCE, AUGUST 27-29, 2008. PROCEEDINGS; [LECTURE NOTES IN COMPUTER SCIENCE], BERLIN, HEIDELBERG : SPRINGER-VERLAG BERLIN HEIDELBERG, vol. 5166, 27 August 2008 (2008-08-27), pages 20 - 32, XP019102997, ISBN: 978-3-540-85410-4 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150058387A1 (en) * 2013-08-26 2015-02-26 Intuit Inc. Method and system for providing a tablet swiping calculator function
WO2015030855A1 (en) 2013-08-26 2015-03-05 Intuit Inc. Method and system for providing a tablet swiping calculator function
US9606956B2 (en) * 2013-08-26 2017-03-28 Intuit Inc. Method and system for providing a tablet swiping calculator function
EP3039634A4 (en) * 2013-08-26 2018-01-31 Intuit Inc. Method and system for providing a tablet swiping calculator function
CN106250345A (en) * 2016-07-18 2016-12-21 杭州网易云音乐科技有限公司 A kind of method and apparatus that calculating is provided hereof
US20230342013A1 (en) * 2020-09-16 2023-10-26 Casio Computer Co., Ltd. Information processing method, system, information processing device, and program
JP2022052903A (en) * 2020-09-24 2022-04-05 カシオ計算機株式会社 Input program, input device and input method
JP7298573B2 (en) 2020-09-24 2023-06-27 カシオ計算機株式会社 Input device, input support method and program

Similar Documents

Publication Publication Date Title
RU2500016C2 (en) User interface, device and method for displaying special locations on map
US8970499B2 (en) Alternative inputs of a mobile communications device
US20100182242A1 (en) Method and apparatus for braille input on a portable electronic device
CN105308551B (en) The multiple graphs keyboard inputted for continuous gesture
US20120007809A1 (en) Touch Screen Overlay for Visually Impaired Persons
US20060282583A1 (en) Phonetic input using a keypad
EP2746916A1 (en) Menu management methods and systems
US9075835B2 (en) Learning support device, learning support method and storage medium in which learning support program is stored
CN104965834B (en) Font display methods and device
US8843537B2 (en) Electronic calculator, display method, and recording medium for displaying mathematical expression in full color
US20140208237A1 (en) Sharing functionality
US8558798B2 (en) Method and apparatus for altering key function of software input panel and recording medium thereof
WO2010102639A1 (en) Improved calculator for performing partial calculations
CN111880668A (en) Input display method and device and electronic equipment
CN104246662A (en) Method and system for inputting character on digital terminal, and digital terminal
US7636082B2 (en) Dialing methods and related devices
CN100534110C (en) Method for realizing one-hand inputting on hand writing screen of mobile phone
JP3967211B2 (en) Kana / Kana character input device
JP2003316252A (en) Typing practice system for portable telephone
US9110881B2 (en) Character input device and character input program
TWI538467B (en) Alternative inputs of a mobile communications device and the method thereof
WO2010091530A1 (en) Improved title
CN115935912A (en) Content editing method, device, electronic equipment and medium
KR101075397B1 (en) Calculation input method on terminal
KR101228079B1 (en) Algorithm and terminal for inputting characters

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09776423

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09776423

Country of ref document: EP

Kind code of ref document: A1