US20050180640A1 - Method and apparatus for presenting a summary of selected values - Google Patents

Method and apparatus for presenting a summary of selected values Download PDF

Info

Publication number
US20050180640A1
US20050180640A1 US10/777,833 US77783304A US2005180640A1 US 20050180640 A1 US20050180640 A1 US 20050180640A1 US 77783304 A US77783304 A US 77783304A US 2005180640 A1 US2005180640 A1 US 2005180640A1
Authority
US
United States
Prior art keywords
list
elements
function
information
selection
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
US10/777,833
Other versions
US7478317B2 (en
Inventor
Gregory Andrews
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SAP SE
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to US10/777,833 priority Critical patent/US7478317B2/en
Assigned to INTERNATIONAL BUSINESS MACHINES CORPORATION reassignment INTERNATIONAL BUSINESS MACHINES CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ANDREWS, GREGORY PAUL
Publication of US20050180640A1 publication Critical patent/US20050180640A1/en
Priority to US12/352,081 priority patent/US8356242B2/en
Application granted granted Critical
Publication of US7478317B2 publication Critical patent/US7478317B2/en
Assigned to SAP AG reassignment SAP AG ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: INTERNATIONAL BUSINESS MACHINES CORPORATION
Assigned to SAP SE reassignment SAP SE CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: SAP AG
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

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
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Definitions

  • This invention generally relates to user interface methods and apparatuses. More specifically, the present invention relates to a method and apparatus for displaying a pop-up summary of selected values.
  • One of the most commonly encountered types of information is a list of elements, such as a list of numbers.
  • Computer users frequently need to know the statistical properties of the list, such as its sum, average, and standard deviation.
  • One conventional way to determine this information is to first transfer the list into a spreadsheet application, then program the spreadsheet application to calculate the desired properties.
  • One problem with this method is that the user must have access to a spreadsheet application and know how to program it.
  • Another problem with this method is that the transfer and programming steps frequently take a considerable amount of time and effort from the user.
  • pervasive devices such as cellular telephones and personal digital assistants (“PDAs”) further compounds these problems. Many of these devices have limited memory and processing power, and thus do not have a full-featured spreadsheet program. Moreover, even if the pervasive devices did have the capacity to execute a spreadsheet program, the rudimentary data entry capabilities of pervasive devices multiply the time and effort required from the user to transfer the data and program the spreadsheet.
  • the present invention provides a method, system, and article of manufacture that provides a way to quickly and easily obtain information about a list of elements.
  • One aspect of the present invention is a method of displaying customizable summary information about a list of elements.
  • One embodiment of this method comprises receiving a selection of at least one desired summary function, generating a configuration file containing the at least one desired summary function, receiving a selection of a list of numbers, copying the list of numbers into a clipboard, parsing the configuration file to extract the least one desired function, calculating the at least one desired summary function using the list of desired numbers to generate summary information, displaying the summary information in a pop-up window, and replacing the selected list of numbers with the summary information.
  • the results window in some embodiments may be a pop-window, a hover-help window, or the clipboard.
  • Another aspect of the present invention is a computer program product.
  • One embodiment of this computer program product comprises a program configured to perform a method of displaying summary information about a list of elements and a signal bearing media bearing the program. The method comprises receiving a selection of at least one desired summary function; receiving a selection of a list of elements; calculating the at least one desired summary function using the list of desired elements to generate summary information; and displaying the summary information in a results window.
  • the program is an operating system, a word processing program, a web browser, or a plug-in.
  • Yet another aspect of the present invention is a method for transferring information into an application program.
  • One embodiment of this method comprises selecting at least one desired output function, selecting of a list of elements, copying the list of elements into a first addressable memory structure, calculating the at least one desired output function using the list of desired elements to generate output information, and automatically transferring the output information into the application program.
  • FIGS. 1 a and 1 b depict one embodiment of an information technology system having a configurable summary information calculator.
  • FIG. 2 illustrates the operation of one embodiment of the information technology system in FIG. 1 .
  • FIG. 3 depicts one embodiment of a configuration file for information technology system in FIG. 1 .
  • FIG. 4 illustrates one method of configuring the information technology system in FIG. 1 .
  • FIG. 1A depicts one embodiment of an information technology system 100 comprising a plurality of web server computer systems 102 a and a plurality of pervasive computing devices 102 b (only one web server 102 a and device 102 b shown in detail for clarity) interconnected by a communications medium 106 .
  • Each computer system 102 has one or more central processing units 110 (“CPU”) connected to a main memory unit 112 , a mass storage interface 114 , a display interface 116 , a network interface 118 , and an input/output (“I/O”) interface 120 by a system bus 122 .
  • the mass storage interfaces 114 connect the system busses 122 to one or more mass storage devices, such as a direct access storage device 140 and a readable and a writable optical disk drive 142 .
  • the network interfaces 116 allow the computer systems 102 to communicate with each other and to a plurality of other computers (not shown) over the communications medium 106 .
  • the main memory 112 a in the web server computers 102 a contains an operating system 124 a , and a web server application 126 capable of servicing requests for web pages 128 . Some of the web pages 128 contain a list of elements 129 .
  • the main memory 112 b in the pervasive computing devices 102 b contains an operating system 124 b and a web browser 126 capable of requesting and rendering the web pages 128 from the web server computer 102 a .
  • the web browser 126 in this embodiment includes a summary information module 125 capable displaying summary information about the list of elements 129 .
  • FIG. 1B depicts the pervasive device 102 b embodiment in FIG. 1A in more detail.
  • the web browser 126 in this embodiment contains a selected list of elements 129 ′ and results window 130 (e.g., a ‘pop-up, ‘hover-help,’ or ‘clipboard’ window).
  • results window 130 e.g., a ‘pop-up, ‘hover-help,’ or ‘clipboard’ window.
  • the user of the pervasive device 102 b will first request the web pages 128 from the server computer 102 a having a list of elements 129 , such as a list of numbers.
  • the user highlights the list of numbers 129 ′ and indicates that they want summary information by, for example, selecting an appropriate command from a context sensitive menu or hovering a mouse pointer over the selected list 129 for a predetermined length of time.
  • the summary information module 125 copies the list of elements 129 ′ into a temporary memory structure, computes a pre-selected group of statistics about the elements
  • FIG. 2 illustrates the operation of one embodiment of the module 125 in more detail.
  • the module 125 detects a selection event.
  • This selection event may include any indication that the end user wishes or may wish to view statistics about a list of elements. Suitable selection events include, without limitation, highlighting a list of elements 129 and then hovering over the highlighted list, and highlighting a list of elements 129 and then selecting a menu element from a context sensitive ‘right-click’ menu. Some embodiments may require that these elements be contiguous, other embodiments will allow the end user to select non-contiguous elements.
  • the module 125 confirms that the highlighted text contains a list of elements 129 and that the user has turned ‘on’ the summary module 125 .
  • the module 125 copies the highlighted text into an addressable memory structure, such as the clipboard.
  • the operating system 124 b parses the selected text to extract the individual elements of the list 129 at block 206 . Part of this process includes looking for blanks, commas, tabs, carriage return commands, or other separators commonly used to separate elements in a list.
  • the module 125 will then construct an array containing the elements identified at block 206 .
  • the module 125 will then determine at block 210 whether all of the values are of the appropriate type. Typically, this test will comprise determining if all the elements in the array are numbers.
  • the module 125 passes the array of elements to a list of statistical functions, which each compute the desired statistical datum. The module 125 then displays the name of the function together with its result in a results window at block 214 .
  • Some embodiments may also replace list of elements 129 in the clipboard with a table containing the function name(s) and result(s). These embodiments may be desirable because the statistical information can then be easily “pasted” into another application, such as a word processing program.
  • FIGS. 3-4 illustrate one embodiment of a method for customizing the statistical functions computed by the present invention. More specifically, FIG. 3 illustrates one embodiment of a configuration file 300 for the module 125 shown in FIG. 2 .
  • This configuration file embodiment 300 comprises a global configuration section 302 , a function list section 310 , and a plurality of function configuration sections 320 a - 320 n .
  • the global configuration section 302 contains a timing field 304 specifying when the user wishes the module 125 to display the computed results (e.g., immediately after highlighting the selection, after hovering for a predetermined amount of time, after triggering a particular sequence of keys, or even never), and a language field 306 specifying what language the calculator should display the function names.
  • the function list section 310 contains a list 312 of what functions the module 125 should display.
  • the function configuration sections 320 (only one shown in detail for clarity) each contain a library name field 322 describing what library contains the code that will compute the function, a function name field 324 containing program name of the function in the library 322 , and at least one display user name field 326 containing a plain-text name of the function in a particular language.
  • FIG. 4 illustrates a method of initializing the module 125 .
  • the module 125 retrieves the list of functions 312 from the configuration file 300 .
  • the module 125 then retrieves the display timing criteria from the timing field 304 at block 404 .
  • the module 125 registers itself to the operating system 124 b as a window procedure, which allows it to be notified of any relevant mouse and keyboard events.
  • the module 125 then proceeds to perform the operations described in more detail with reference to FIG. 2 .
  • the computer systems 102 in this embodiment are general-purpose programmable computing devices.
  • the central processing units 110 may be any device capable of executing the program instructions stored in main memory 112 , and may be constructed from one or more microprocessors and/or integrated circuits.
  • the associated CPU 110 when one of the computer systems 102 start up, the associated CPU 110 initially executes the program instructions that make up the operating system 124 , which manages the physical and logical resources of the computer system 102 .
  • These resources include the central processing unit 110 , the main memory 112 , the mass storage interface 114 , the display interface 115 , the network interface 116 , and the system bus 122 .
  • FIG. 1 is shown to with only a single processing unit 110 and a single system bus 122 , those skilled in the art will appreciate that the present invention may be practiced using a computer system 102 that has multiple processing units 110 and/or multiple system buses 122 .
  • the interfaces 114 , 115 , 116 , and 118 may each include their own separate, fully programmed microprocessors, which may be used to off-load compute-intensive processing from the main processing units 110 .
  • the main memory 112 and the storage devices 140 , 142 may be any system capable of storing and retrieving data for the central processing units 110 . These systems may utilize virtual addressing mechanisms that allow the computer systems 102 to behave as if they only have access to a large, single storage entity instead of access to multiple, smaller storage entities such as main memory 112 and DASD device 140 . Therefore, while the operating systems 124 , the configuration manager 132 , and the application program instances 126 are shown to reside in main memory 112 , those skilled in the art will recognize that these items are not necessarily all completely contained in main memory 112 at the same time, and may even reside in the virtual memory of other computer systems coupled to the computer system 102 .
  • the display interface 115 is used to directly connect one or more display units 180 to the computer system 102 .
  • These display units 180 may be non-intelligent (i.e., dumb) terminals, such as a cathode ray tube, or may themselves be fully programmable workstations used to allow IT administrators and users to communicate with one or more of the computer systems 102 .
  • the display interface 115 is provided to support communication with one or more displays 180
  • the computer systems 102 does not necessarily require a display 180 because all needed interaction with users and other processes may occur via network interface 116 .
  • the communication medium 106 can be any device or system that allows the computer systems 102 to communicate with each other.
  • the network interfaces 116 accordingly, can be any device that facilitates such communication, regardless of whether the network connection is made using present-day analog and/or digital techniques or via some networking mechanism of the future.
  • Suitable communication mediums 106 include, but are not limited to, the Internet, intranets, cellular transmission networks, wireless networks using one of the IEEE 802.11 specifications, and the like.
  • Those skilled in the art will appreciate that many different network protocols can be used to implement the communication medium 106 .
  • the Transmission Control Protocol/Internet Protocol (“TCP/IP”) is an example of a suitable network protocol for Internet-based communication.
  • FIGS. 1-4 generally uses a client-server network architecture. These embodiments are desirable because the pervasive 102 b can utilize the services of the web server computers 102 a without either computer system 102 requiring knowledge of the working details about the other.
  • client-server network architecture examples include peer-to-peer architectures, grid architectures, and multi-tier architectures. Accordingly, the terms web server and client computer should not be construed to limited the invention to client-server network architectures.
  • One suitable web server computer 102 a is an eServer iSeries computer running the OS/400 multitasking operating system, both of which are produced by International Business Machines Corporation of Armonk, N.Y.
  • One pervasive device 102 b is a mobile telephone running an embedded Linux or Windows operating systems.
  • any computer system 102 and operating system 124 regardless of whether one or both of the server computer 102 a and pervasive devices 102 b are complicated multi-user computing apparatuses, a single workstations, lap-top computers, mobile telephones, personal digital assistants (“PDAs”), video game systems, or the like.
  • signal bearing media examples include, but are not limited to: (i) information permanently stored on non-writable storage media (e.g., read-only memory devices within a computer such as CD-ROM disks readable by a CD-ROM drive); (ii) alterable information stored on writable storage media (e.g., floppy disks within a diskette drive, a CD-R disk, a CD-RW disk, or hard-disk drive); or (iii) information conveyed to a computer by a communications medium, such as through a computer or telephone network, including wireless communications, and specifically includes information downloaded from the Internet and other networks.
  • a communications medium such as through a computer or telephone network, including wireless communications, and specifically includes information downloaded from the Internet and other networks.
  • Such signal-bearing media when carrying computer-readable instructions that direct the functions of the present invention, represent embodiments of the present invention.
  • the present invention is not limited to pervasive devices.
  • the present invention could also be implemented at a number of different logical layers within the pervasive device 102 b .
  • the functionality described with reference to FIGS. 1-4 could be embodied as part of the operating system 124 b . These embodiments may be desirable because applications running on the operating system 124 b can provide this functionality without needing to know about the existence and operation of the module 125 .
  • the functionality could also be included as a plug-in or extension for an existing application.
  • the present invention can also be used for purposes other than calculating standard statistical information about a list of elements.
  • the present invention and its customizable output could be used to transfer information from a database or log file into an application program.
  • the user would customize the API 125 to output the information in the application's desired format, and then simply “cut and paste” the formatted information into the application program.

Abstract

A method, system, and article of manufacture for quickly and easily obtaining information about a list of elements. The present invention provides a method, system, and article of manufacture that provides a way to quickly and easily obtain information about a list of elements. One aspect of the present invention is a method of displaying customizable summary information about a list of elements. One embodiment of this method comprises receiving a selection of at least one desired summary function, generating a configuration file containing the at least one desired summary function, receiving a selection of a list of numbers, copying the list of numbers into a clipboard, parsing the configuration file to extract the least one desired function, calculating the at least one desired summary function using the list of desired numbers to generate summary information, displaying the summary information in a pop-up window, and replacing the selected list of numbers with the summary information. The results window in some embodiments may be a pop-window, a hover-help window, or the clipboard.

Description

    TECHNICAL FIELD
  • This invention generally relates to user interface methods and apparatuses. More specifically, the present invention relates to a method and apparatus for displaying a pop-up summary of selected values.
  • BACKGROUND
  • The development of the EDVAC computer system of 1948 is often cited as the beginning of the computer era. Since that time, computer systems have evolved into extremely complicated devices. Although today's computers are more sophisticated than EDVAC, the most basic requirements levied upon computer systems have not changed. Now, as in the past, a computer system's job is to access, manipulate, and store information. This fact is true regardless of the type or vintage of computer system.
  • One of the most commonly encountered types of information is a list of elements, such as a list of numbers. Computer users frequently need to know the statistical properties of the list, such as its sum, average, and standard deviation. One conventional way to determine this information is to first transfer the list into a spreadsheet application, then program the spreadsheet application to calculate the desired properties. One problem with this method is that the user must have access to a spreadsheet application and know how to program it. Another problem with this method is that the transfer and programming steps frequently take a considerable amount of time and effort from the user.
  • The trend toward pervasive devices, such as cellular telephones and personal digital assistants (“PDAs”) further compounds these problems. Many of these devices have limited memory and processing power, and thus do not have a full-featured spreadsheet program. Moreover, even if the pervasive devices did have the capacity to execute a spreadsheet program, the rudimentary data entry capabilities of pervasive devices multiply the time and effort required from the user to transfer the data and program the spreadsheet.
  • Accordingly, there is a need for a way to quickly and easily obtain statistical information about a list of elements, particularly on pervasive devices.
  • SUMMARY
  • The present invention provides a method, system, and article of manufacture that provides a way to quickly and easily obtain information about a list of elements. One aspect of the present invention is a method of displaying customizable summary information about a list of elements. One embodiment of this method comprises receiving a selection of at least one desired summary function, generating a configuration file containing the at least one desired summary function, receiving a selection of a list of numbers, copying the list of numbers into a clipboard, parsing the configuration file to extract the least one desired function, calculating the at least one desired summary function using the list of desired numbers to generate summary information, displaying the summary information in a pop-up window, and replacing the selected list of numbers with the summary information. The results window in some embodiments may be a pop-window, a hover-help window, or the clipboard.
  • Another aspect of the present invention is a computer program product. One embodiment of this computer program product comprises a program configured to perform a method of displaying summary information about a list of elements and a signal bearing media bearing the program. The method comprises receiving a selection of at least one desired summary function; receiving a selection of a list of elements; calculating the at least one desired summary function using the list of desired elements to generate summary information; and displaying the summary information in a results window. In some embodiments, the program is an operating system, a word processing program, a web browser, or a plug-in.
  • Yet another aspect of the present invention is a method for transferring information into an application program. One embodiment of this method comprises selecting at least one desired output function, selecting of a list of elements, copying the list of elements into a first addressable memory structure, calculating the at least one desired output function using the list of desired elements to generate output information, and automatically transferring the output information into the application program.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIGS. 1 a and 1 b depict one embodiment of an information technology system having a configurable summary information calculator.
  • FIG. 2 illustrates the operation of one embodiment of the information technology system in FIG. 1.
  • FIG. 3 depicts one embodiment of a configuration file for information technology system in FIG. 1.
  • FIG. 4 illustrates one method of configuring the information technology system in FIG. 1.
  • DETAILED DESCRIPTION
  • FIG. 1A depicts one embodiment of an information technology system 100 comprising a plurality of web server computer systems 102 a and a plurality of pervasive computing devices 102 b (only one web server 102 a and device 102 b shown in detail for clarity) interconnected by a communications medium 106. Each computer system 102 has one or more central processing units 110 (“CPU”) connected to a main memory unit 112, a mass storage interface 114, a display interface 116, a network interface 118, and an input/output (“I/O”) interface 120 by a system bus 122. The mass storage interfaces 114 connect the system busses 122 to one or more mass storage devices, such as a direct access storage device 140 and a readable and a writable optical disk drive 142. The network interfaces 116 allow the computer systems 102 to communicate with each other and to a plurality of other computers (not shown) over the communications medium 106. The main memory 112 a in the web server computers 102 a contains an operating system 124 a, and a web server application 126 capable of servicing requests for web pages 128. Some of the web pages 128 contain a list of elements 129. The main memory 112 b in the pervasive computing devices 102 b contains an operating system 124 b and a web browser 126 capable of requesting and rendering the web pages 128 from the web server computer 102 a. The web browser 126 in this embodiment includes a summary information module 125 capable displaying summary information about the list of elements 129.
  • FIG. 1B depicts the pervasive device 102 b embodiment in FIG. 1A in more detail. The web browser 126 in this embodiment contains a selected list of elements 129′ and results window 130 (e.g., a ‘pop-up, ‘hover-help,’ or ‘clipboard’ window). In operation, the user of the pervasive device 102 b will first request the web pages 128 from the server computer 102 a having a list of elements 129, such as a list of numbers. The user then highlights the list of numbers 129′ and indicates that they want summary information by, for example, selecting an appropriate command from a context sensitive menu or hovering a mouse pointer over the selected list 129 for a predetermined length of time. In response to this indication, the summary information module 125 copies the list of elements 129′ into a temporary memory structure, computes a pre-selected group of statistics about the elements 129, and then displays the computed statistics in the results window 10.
  • FIG. 2 illustrates the operation of one embodiment of the module 125 in more detail. At block 202, the module 125 detects a selection event. This selection event may include any indication that the end user wishes or may wish to view statistics about a list of elements. Suitable selection events include, without limitation, highlighting a list of elements 129 and then hovering over the highlighted list, and highlighting a list of elements 129 and then selecting a menu element from a context sensitive ‘right-click’ menu. Some embodiments may require that these elements be contiguous, other embodiments will allow the end user to select non-contiguous elements. At block 203, the module 125 confirms that the highlighted text contains a list of elements 129 and that the user has turned ‘on’ the summary module 125. Next, at block 204, the module 125 copies the highlighted text into an addressable memory structure, such as the clipboard. The operating system 124 b then parses the selected text to extract the individual elements of the list 129 at block 206. Part of this process includes looking for blanks, commas, tabs, carriage return commands, or other separators commonly used to separate elements in a list. At block 208, the module 125 will then construct an array containing the elements identified at block 206.
  • If elements were found at block 208, the module 125 will then determine at block 210 whether all of the values are of the appropriate type. Typically, this test will comprise determining if all the elements in the array are numbers. Next, at block 212, the module 125 passes the array of elements to a list of statistical functions, which each compute the desired statistical datum. The module 125 then displays the name of the function together with its result in a results window at block 214. Some embodiments may also replace list of elements 129 in the clipboard with a table containing the function name(s) and result(s). These embodiments may be desirable because the statistical information can then be easily “pasted” into another application, such as a word processing program.
  • FIGS. 3-4 illustrate one embodiment of a method for customizing the statistical functions computed by the present invention. More specifically, FIG. 3 illustrates one embodiment of a configuration file 300 for the module 125 shown in FIG. 2. This configuration file embodiment 300 comprises a global configuration section 302, a function list section 310, and a plurality of function configuration sections 320 a-320 n. The global configuration section 302 contains a timing field 304 specifying when the user wishes the module 125 to display the computed results (e.g., immediately after highlighting the selection, after hovering for a predetermined amount of time, after triggering a particular sequence of keys, or even never), and a language field 306 specifying what language the calculator should display the function names. The function list section 310 contains a list 312 of what functions the module 125 should display. The function configuration sections 320 (only one shown in detail for clarity) each contain a library name field 322 describing what library contains the code that will compute the function, a function name field 324 containing program name of the function in the library 322, and at least one display user name field 326 containing a plain-text name of the function in a particular language.
  • FIG. 4 illustrates a method of initializing the module 125. At block 402, the module 125 retrieves the list of functions 312 from the configuration file 300. The module 125 then retrieves the display timing criteria from the timing field 304 at block 404. Next, at block 406, the module 125 registers itself to the operating system 124 b as a window procedure, which allows it to be notified of any relevant mouse and keyboard events. The module 125 then proceeds to perform the operations described in more detail with reference to FIG. 2.
  • Referring again to FIG. 1, the computer systems 102 in this embodiment are general-purpose programmable computing devices. Accordingly, the central processing units 110 may be any device capable of executing the program instructions stored in main memory 112, and may be constructed from one or more microprocessors and/or integrated circuits. In this embodiment, when one of the computer systems 102 start up, the associated CPU 110 initially executes the program instructions that make up the operating system 124, which manages the physical and logical resources of the computer system 102. These resources include the central processing unit 110, the main memory 112, the mass storage interface 114, the display interface 115, the network interface 116, and the system bus 122. Moreover, although each computer system 102 in FIG. 1 is shown to with only a single processing unit 110 and a single system bus 122, those skilled in the art will appreciate that the present invention may be practiced using a computer system 102 that has multiple processing units 110 and/or multiple system buses 122. In addition, the interfaces 114, 115, 116, and 118 may each include their own separate, fully programmed microprocessors, which may be used to off-load compute-intensive processing from the main processing units 110.
  • The main memory 112 and the storage devices 140, 142 may be any system capable of storing and retrieving data for the central processing units 110. These systems may utilize virtual addressing mechanisms that allow the computer systems 102 to behave as if they only have access to a large, single storage entity instead of access to multiple, smaller storage entities such as main memory 112 and DASD device 140. Therefore, while the operating systems 124, the configuration manager 132, and the application program instances 126 are shown to reside in main memory 112, those skilled in the art will recognize that these items are not necessarily all completely contained in main memory 112 at the same time, and may even reside in the virtual memory of other computer systems coupled to the computer system 102.
  • The display interface 115 is used to directly connect one or more display units 180 to the computer system 102. These display units 180 may be non-intelligent (i.e., dumb) terminals, such as a cathode ray tube, or may themselves be fully programmable workstations used to allow IT administrators and users to communicate with one or more of the computer systems 102. Note, however, that while the display interface 115 is provided to support communication with one or more displays 180, the computer systems 102 does not necessarily require a display 180 because all needed interaction with users and other processes may occur via network interface 116.
  • The communication medium 106 can be any device or system that allows the computer systems 102 to communicate with each other. The network interfaces 116, accordingly, can be any device that facilitates such communication, regardless of whether the network connection is made using present-day analog and/or digital techniques or via some networking mechanism of the future. Suitable communication mediums 106 include, but are not limited to, the Internet, intranets, cellular transmission networks, wireless networks using one of the IEEE 802.11 specifications, and the like. Those skilled in the art will appreciate that many different network protocols can be used to implement the communication medium 106. The Transmission Control Protocol/Internet Protocol (“TCP/IP”) is an example of a suitable network protocol for Internet-based communication.
  • The embodiment described with reference to FIGS. 1-4 generally uses a client-server network architecture. These embodiments are desirable because the pervasive 102 b can utilize the services of the web server computers 102 a without either computer system 102 requiring knowledge of the working details about the other. However, those skilled in the art will appreciate that other network architectures are within the scope of the present invention. Examples of other suitable network architectures include peer-to-peer architectures, grid architectures, and multi-tier architectures. Accordingly, the terms web server and client computer should not be construed to limited the invention to client-server network architectures.
  • One suitable web server computer 102 a is an eServer iSeries computer running the OS/400 multitasking operating system, both of which are produced by International Business Machines Corporation of Armonk, N.Y. One pervasive device 102 b is a mobile telephone running an embedded Linux or Windows operating systems. However, those skilled in the art will appreciate that the mechanisms and apparatus of the present invention apply equally to any computer system 102 and operating system 124, regardless of whether one or both of the server computer 102 a and pervasive devices 102 b are complicated multi-user computing apparatuses, a single workstations, lap-top computers, mobile telephones, personal digital assistants (“PDAs”), video game systems, or the like.
  • Although the present invention has been described in detail with reference to certain examples thereof, it may be also embodied in other specific forms without departing from the essential spirit or attributes thereof. For example, those skilled in the art will appreciate that the present invention is capable of being distributed as a program product in a variety of forms, and applies equally regardless of the particular type of signal bearing media used to actually carry out the distribution. Examples of suitable signal bearing media include, but are not limited to: (i) information permanently stored on non-writable storage media (e.g., read-only memory devices within a computer such as CD-ROM disks readable by a CD-ROM drive); (ii) alterable information stored on writable storage media (e.g., floppy disks within a diskette drive, a CD-R disk, a CD-RW disk, or hard-disk drive); or (iii) information conveyed to a computer by a communications medium, such as through a computer or telephone network, including wireless communications, and specifically includes information downloaded from the Internet and other networks. Such signal-bearing media, when carrying computer-readable instructions that direct the functions of the present invention, represent embodiments of the present invention. In addition, those skilled in the art will also appreciate that the present invention is not limited to pervasive devices.
  • The present invention could also be implemented at a number of different logical layers within the pervasive device 102 b. For example, the functionality described with reference to FIGS. 1-4 could be embodied as part of the operating system 124 b. These embodiments may be desirable because applications running on the operating system 124 b can provide this functionality without needing to know about the existence and operation of the module 125. The functionality could also be included as a plug-in or extension for an existing application.
  • The present invention can also be used for purposes other than calculating standard statistical information about a list of elements. For example, the present invention and its customizable output could be used to transfer information from a database or log file into an application program. In these embodiments, the user would customize the API 125 to output the information in the application's desired format, and then simply “cut and paste” the formatted information into the application program.
  • The accompanying figures and this description depicted and described embodiments of the present invention, and features and components thereof. Those skilled in the art will appreciate that any particular program nomenclature used in this description was merely for convenience, and thus the invention should not be limited to use solely in any specific application identified and/or implied by such nomenclature. Thus, for example, the routines executed to implement the embodiments of the invention, whether implemented as part of an operating system or a specific application, component, program, module, object, or sequence of instructions could have been referred to as a “program”, “application”, “server”, or other meaningful nomenclature. Therefore, it is desired that the embodiments described herein be considered in all respects as illustrative, not restrictive, and that reference be made to the appended claims for determining the scope of the invention.

Claims (21)

1. A method of displaying summary information about a list of elements, comprising:
receiving a selection of at least one desired summary function;
receiving a selection of a list of elements;
calculating the at least one desired summary function using the list of desired elements to generate summary information; and
displaying the summary information in a results window.
2. The method of claim 1, wherein receiving a selection of at least one desired summary function comprises:
generating a configuration file; and
parsing the configuration file to extract the least one desired function.
3. The method of claim 2, wherein the configuration file comprises at least one field chosen from the group consisting of a library name, a function name field, and an display name field.
4. The method of claim 1, further comprising receiving a selection of display method selection.
5. The method of claim 1, further comprising registering with a window procedure with an operating system.
6. The method of claim 1, further comprising copying the selected list of elements into a temporary memory structure.
7. The method of claim 6, further comprising replacing the selected list of elements with the summary information.
8. The method of claim 1, wherein the results window comprises a pop-up window.
9. The method of claim 1, wherein the results window comprises a hover help window.
10. The method of claim 1, wherein the results window comprises a clipboard.
11. A method of displaying customizable summary information about a list of elements, comprising:
receiving a selection of at least one desired summary function;
generating a configuration file containing the at least one desired summary function;
receiving a selection of a list of numbers;
copying the list of numbers into a clipboard;
parsing the configuration file to extract the least one desired function;
calculating the at least one desired summary function using the list of desired numbers to generate summary information;
displaying the summary information in a pop-up window; and
replacing the selected list of numbers with the summary information.
12. A computer program product, comprising:
(a) a program configured to perform a method of displaying summary information about a list of elements, the method comprising:
receiving a selection of at least one desired summary function;
receiving a selection of a list of elements;
calculating the at least one desired summary function using the list of desired elements to generate summary information; and
displaying the summary information in a results window; and
(b) a signal bearing media bearing the program.
13. The computer program product of claim 12, wherein the program comprises an operating system.
14. The computer program product of claim 12, wherein the program comprises a word processing program.
15. The computer program product of claim 12, wherein the program comprises a web browser.
16. The computer program product of claim 12, wherein the program comprises a plug-in.
17. The computer program product of claim 12, wherein the signal bearing media is chosen from the group consisting of information permanently stored on non-writable storage media; alterable information stored on writable storage media; and information conveyed to a computer by a communications medium.
18. The computer program product of claim 12, wherein receiving a selection of at least one desired summary function comprises:
generating a configuration file; and
parsing the configuration file to extract the least one desired function.
19. The computer program product of claim 12, wherein the signal bearing comprises a memory of a pervasive device.
20. The computer program product of claim 12, wherein the elements are non-contiguous.
21. A method for transferring information into an application program, comprising:
selecting at least one desired output function;
selecting of a list of elements;
copying the list of elements into a first addressable memory structure;
calculating the at least one desired output function using the list of desired elements to generate output information; and
automatically transferring the output information into the application program.
US10/777,833 2004-02-12 2004-02-12 Method and apparatus for presenting a summary of selected values Active 2026-03-17 US7478317B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US10/777,833 US7478317B2 (en) 2004-02-12 2004-02-12 Method and apparatus for presenting a summary of selected values
US12/352,081 US8356242B2 (en) 2004-02-12 2009-01-12 Computer program product and computer system for presenting a summary of selected values

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/777,833 US7478317B2 (en) 2004-02-12 2004-02-12 Method and apparatus for presenting a summary of selected values

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US12/352,081 Continuation US8356242B2 (en) 2004-02-12 2009-01-12 Computer program product and computer system for presenting a summary of selected values

Publications (2)

Publication Number Publication Date
US20050180640A1 true US20050180640A1 (en) 2005-08-18
US7478317B2 US7478317B2 (en) 2009-01-13

Family

ID=34838075

Family Applications (2)

Application Number Title Priority Date Filing Date
US10/777,833 Active 2026-03-17 US7478317B2 (en) 2004-02-12 2004-02-12 Method and apparatus for presenting a summary of selected values
US12/352,081 Active 2026-01-22 US8356242B2 (en) 2004-02-12 2009-01-12 Computer program product and computer system for presenting a summary of selected values

Family Applications After (1)

Application Number Title Priority Date Filing Date
US12/352,081 Active 2026-01-22 US8356242B2 (en) 2004-02-12 2009-01-12 Computer program product and computer system for presenting a summary of selected values

Country Status (1)

Country Link
US (2) US7478317B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100005414A1 (en) * 2004-02-27 2010-01-07 Hitachi,Ltd Display method and display device
US20100085314A1 (en) * 2008-10-08 2010-04-08 Research In Motion Limited Portable electronic device and method of controlling same
WO2010040211A1 (en) * 2008-10-08 2010-04-15 Research In Motion Limited Portable touch-screen display actuator

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8713423B2 (en) * 2009-03-28 2014-04-29 International Business Machines Corporation Automated dynamic differential data processing

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5604854A (en) * 1994-04-22 1997-02-18 Borland International, Inc. System and methods for reformatting multi-dimensional spreadsheet information
US20020036662A1 (en) * 2000-07-21 2002-03-28 Gauthier Matthew Charles Integrated method for creating a refreshable Web Query
US20020065846A1 (en) * 2000-11-30 2002-05-30 Atsuro Ogawa Spreadsheet Web server system and spreadsheet Web system
US20020124016A1 (en) * 2001-01-03 2002-09-05 Rank Paul J. Method and apparatus for a file format for storing spreadsheets compactly
US20040049729A1 (en) * 2002-09-10 2004-03-11 University Of Florida Computer-based statistical analysis method and system
US20040181748A1 (en) * 2003-03-10 2004-09-16 International Business Machines Corporation Thin client framework deployment of spreadsheet applications in a web browser based environment
US7010779B2 (en) * 2001-08-16 2006-03-07 Knowledge Dynamics, Inc. Parser, code generator, and data calculation and transformation engine for spreadsheet calculations
US7117218B2 (en) * 2003-06-26 2006-10-03 Microsoft Corporation System and method for expressing and calculating a relationship between measures

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1156430A2 (en) * 2000-05-17 2001-11-21 Matsushita Electric Industrial Co., Ltd. Information retrieval system

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5604854A (en) * 1994-04-22 1997-02-18 Borland International, Inc. System and methods for reformatting multi-dimensional spreadsheet information
US20020036662A1 (en) * 2000-07-21 2002-03-28 Gauthier Matthew Charles Integrated method for creating a refreshable Web Query
US20020065846A1 (en) * 2000-11-30 2002-05-30 Atsuro Ogawa Spreadsheet Web server system and spreadsheet Web system
US20020124016A1 (en) * 2001-01-03 2002-09-05 Rank Paul J. Method and apparatus for a file format for storing spreadsheets compactly
US7010779B2 (en) * 2001-08-16 2006-03-07 Knowledge Dynamics, Inc. Parser, code generator, and data calculation and transformation engine for spreadsheet calculations
US20040049729A1 (en) * 2002-09-10 2004-03-11 University Of Florida Computer-based statistical analysis method and system
US20040181748A1 (en) * 2003-03-10 2004-09-16 International Business Machines Corporation Thin client framework deployment of spreadsheet applications in a web browser based environment
US7117218B2 (en) * 2003-06-26 2006-10-03 Microsoft Corporation System and method for expressing and calculating a relationship between measures

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100005414A1 (en) * 2004-02-27 2010-01-07 Hitachi,Ltd Display method and display device
US20100085314A1 (en) * 2008-10-08 2010-04-08 Research In Motion Limited Portable electronic device and method of controlling same
WO2010040211A1 (en) * 2008-10-08 2010-04-15 Research In Motion Limited Portable touch-screen display actuator

Also Published As

Publication number Publication date
US8356242B2 (en) 2013-01-15
US7478317B2 (en) 2009-01-13
US20090119271A1 (en) 2009-05-07

Similar Documents

Publication Publication Date Title
AU2012271774B2 (en) Automated user interface object transformation and code generation
EP1412846B1 (en) Method and system for management of multiple network resources
US8635634B2 (en) Seamless multiple format metadata abstraction
AU2012271774A1 (en) Automated user interface object transformation and code generation
AU2012271775B2 (en) Techniques for adapting an interpretive run time application to multiple clients
US7673245B2 (en) Converting user interface panels
CN111061533A (en) Page multi-language display method and device, electronic equipment and computer storage medium
US8356242B2 (en) Computer program product and computer system for presenting a summary of selected values
AU2012271775A1 (en) Techniques for adapting an interpretive run time application to multiple clients
US7681175B2 (en) Methods and systems for displaying multiple unique dynamic messages on a user interface
US20110078569A1 (en) Value help user interface system and method
US10372760B2 (en) Building queries directed to objects hosted on clouds
EP3889770A1 (en) Mini program material processing method and apparatus, electronic device, and medium
US20160132552A1 (en) Odata custom query composer
US8171046B1 (en) Converting CQL query results into user-controllable objects
US9864739B1 (en) Automatic layout of graphical user interface screens from object data
US20240095254A1 (en) Client-side mass data selection system
US9158433B1 (en) Graphical user interface text selection and processing in client applications employing a screen-at-a-time based communication protocol
US20210216597A1 (en) Method and apparatus for processing mini app material, electronic device and medium
US7219088B1 (en) Method and system for analyzing character data

Legal Events

Date Code Title Description
AS Assignment

Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ANDREWS, GREGORY PAUL;REEL/FRAME:015096/0770

Effective date: 20040212

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCF Information on status: patent grant

Free format text: PATENTED CASE

FPAY Fee payment

Year of fee payment: 4

AS Assignment

Owner name: SAP AG, GERMANY

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:INTERNATIONAL BUSINESS MACHINES CORPORATION;REEL/FRAME:028540/0522

Effective date: 20120629

AS Assignment

Owner name: SAP SE, GERMANY

Free format text: CHANGE OF NAME;ASSIGNOR:SAP AG;REEL/FRAME:033625/0334

Effective date: 20140707

FPAY Fee payment

Year of fee payment: 8

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 12