WO2000079387A1 - Organizer interface system and method - Google Patents

Organizer interface system and method Download PDF

Info

Publication number
WO2000079387A1
WO2000079387A1 PCT/US2000/017119 US0017119W WO0079387A1 WO 2000079387 A1 WO2000079387 A1 WO 2000079387A1 US 0017119 W US0017119 W US 0017119W WO 0079387 A1 WO0079387 A1 WO 0079387A1
Authority
WO
WIPO (PCT)
Prior art keywords
plug
information
display
computer
ins
Prior art date
Application number
PCT/US2000/017119
Other languages
French (fr)
Inventor
Murad Kelly Yeheskel
Ramel Levin
Original Assignee
Commonsense Software, Ltd.
Sklar, Warren, A.
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 Commonsense Software, Ltd., Sklar, Warren, A. filed Critical Commonsense Software, Ltd.
Priority to AU57565/00A priority Critical patent/AU5756500A/en
Publication of WO2000079387A1 publication Critical patent/WO2000079387A1/en

Links

Classifications

    • 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/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons
    • 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
    • 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/445Program loading or initiating
    • G06F9/44552Conflict resolution, i.e. enabling coexistence of conflicting executables

Definitions

  • the present invention relates generally to user interface and method for computers and, more particularly, to a user interface and method useful with computers and computer software which use plug-in type programs and to use with such plug-in type programs.
  • plug-ins are programming components that operates within an existing program (the "father") and has no life of its own.
  • a plug-in is managed by the "father".
  • Exemplary plug-ins include those which cause a computer to obtain information regarding time and to display on a display device the time in analog format and/or in digital format.
  • Another plug-in is one which checks the status of the battery power supply of a computer and causes the battery voltage and/or percentage of battery energy remaining to be displayed.
  • the above types of plug-ins provide information typically of interest to the computer user.
  • a plug-in is sold under the trademark DateMate by Palmmate (also known as Common Sense Software Ltd.) of Hertzeliya, Israel; this plug-in provides a substantial amount of information storage and retrieval capability regarding dates, such as birthdays, appointments, things to do, etc.
  • plug-ins An exemplary use of plug-ins is to display information which is either standalone, e.g., time and date, or application specific.
  • Other stand-alone plug-ins may be a screen saver, a game, a sound player, a communications routine, etc.
  • An application specific plug-in may be, for example, a program that obtains information concerning the user's next appointment, birthday information, or some other date related information that may be stored in a database/data structure used in connection with a program such as that known as DateBook program.
  • a software developer may develop a plug-in to extract specific information for display, for playing, or for some other reason. It would be desirable to facilitate the managing and organizing of plug-ins and to facilitate operating plug-ins to obtain convenient and full use thereof. It also would be desirable to facilitate such managing , organizing and use of plug-ins in a Windows type environment or some other environment in which multiple programs can be running and/or called essentially simultaneously. Further, it would be desirable to carry out the foregoing in a relatively efficient manner to try to minimizing the amount of memory and steps required.
  • a developer of a plug-in and/or of other computer programs would have to take care to avoid conflicts with other programs operating on the computer, for example, to assure that user inputs are interpreted correctly, to assure that when one window overlays another (partly or fully) a user input is directed toward the operation of the top-most window/program, etc. It would be desirable to facilitate developing plug-ins and other computer programs to avoid the need for such careful detail to avoiding such conflicts and the like and to help to assure smooth unconflicting simultaneous or substantially simultaneous operation of multiple programs on a computer.
  • an aspect of the present invention is to manage plug-ins.
  • Another aspect relates to the presenting in one convenient place information which is stored in and obtained from several programs, databases, data structures, etc.
  • Another aspect is to provide the developer of a plug-in a convenient set of tools which facilitates concentration on presenting the information and responding to user inputs or events on the plug-in without interfering with other programs or plug-ins operating on the computer system.
  • Several examples include the ability to direct programming efforts toward the program or plug-in operation without having to be concerned with window layers or with the dragging of windows on a display desktop, etc.
  • an aspect is to provide organization and management of such considerations, e.g. , window layers and dragging of windows, substantially independently of plug-in operation, in at least some respects.
  • Another aspect is to use or run a plug-in.
  • Another aspect is to facilitate managing, organizing and/or running or operating one or more plug-ins.
  • Another aspect is to facilitate updating or upgrading a plug-in, to manage, organize and/or to run or to operate the updated or upgraded plug-in without losing data obtained, stored, etc., using a prior version of the plug-in.
  • Another aspect relates to using a plug-in to display a summary of information obtained from a file stored and accessible via a stand-alone program or an application specific program, and in response to further activation of the plug-in accessing further operation, possibly including full operation, thereof and of the appropriate father application to display additional information accessible by the plug-in.
  • An aspect relates to a user interface for computers, including a display, a number of plug-ins for obtaining information from respective data resources in the computer, and an organizer for simultaneously displaying the information on the display at respective locations.
  • Another aspect relates to a method of organizing and displaying information from a computer for use by a user, includes obtaining information from a plurality of data storage or data generating resources of a computer system, and simultaneously displaying at respective locations on a display at least some information from each of such resources.
  • Another aspect relates to a method of using plug-ins to organize and display information from respective programs operable on a computer, includes using respective plug-in to obtain information from a plurality of data storage or data generating resources of a computer system, and simultaneously displaying at respective locations on a display at least some information from each of such resources.
  • Another aspect relates to a computer operating system, including at least one application specific program, at least one stand-alone program, application specific plug-in to grab data from a database of an application specific program, and an organizer interface for retrieving information from the plug-ins for display.
  • Another aspect relates to a method of displaying information, including obtaining data from a computer or memory by a stand-alone plug-in, using an application specific plug-in, obtaining data from an application specific program, and using an organizer interface, displaying data obtained by the stand-alone plug-in and the application specific plug-in.
  • Another aspect relates to a method of providing an interface for a computer display, including finding plug-ins for applications operative on a computer, and operating the plug-ins based on preferences set therein to display information from respective applications and/or operating such applications.
  • Another aspect relates to a computer system, including an application program interface and an organizer interface system for simultaneously displaying information derived from applications operating on a computer via the application program interface.
  • FIG. 1 is a schematic illustration of a computer using the system, software and method of organizer interface system according to the present invention
  • Fig. 2 is a schematic representation of a computer program flow chart showing interrelationship of the organizer interface system and method of the invention and a computer operating system
  • Fig. 3 is a flow chart representing the initial operation of a computer operating system
  • Fig. 4 is a flow chart representing the summary of operation of the organizer interface system and method of the invention.
  • Fig. 5 is a flow chart of the initialization routine for initializing operation of plug-ins using the organizer interface system and method of the invention
  • Fig. 6 is a flow chart depicting the steps for sending commands to all plug-ins.
  • Fig. 7 is a flow chart depicting how the invention responds to events.
  • the computer system 1 may be a portable computer, such as, for example, a hand held computer, one example being that sold under the trademark PALM CONNECTED ORGANIZER sold by 3Com. Another example of a portable computer would be a conventional laptop computer.
  • the computer system 1 also may be a desk top or any other computer.
  • the computer system also may be a computer based cellular phone.
  • the computer system 1 includes a processor and associated circuitry 12, a memory unit 14, a user input 16 and a display 18. These components may be conventional ones typically used in a portable computer, desk top computer or other computer.
  • an organizer interface system 2 is shown in association with other exemplary portions of software 22 used in a computer, such as a computer system 1 of Fig. 1.
  • the software 22 includes, for example, a computer operating system 24, one or more application programs or application specific programs 26, and one or more plug-ins, two of examples which are shown at 28, 30.
  • the application specific plug-in 30 grabs specific data from the database of the program 26, such as the next date and information concerning the next date, e.g., is it a birthday, a meeting, etc.
  • the stand-alone plug-in 28 may be a clock program which grabs from the computer system 1 and/or the operating system
  • the computer system 1 includes a processor and associated circuitry 12, such as an AMD K-6 microprocessor, Pentium microprocessor, Motorola DragonBall microprocessor or virtually any other microprocessor or processor unit as may be used in a computer, and associated input/output, control circuits, communications circuits, busses, etc., as is well known in the art.
  • the computer system 1 also includes random access memory (RAM) and/or a read only memory (ROM), which may be separate from or associated with the memory unit 14 mentioned below.
  • RAM random access memory
  • ROM read only memory
  • the memory unit 14 may be, for example, a floppy disk drive, fixed disk drive, optical drive, tape drive, flash memory, or some other device in which memory media on which computer programs, signals, and the like may be stored and retrieved, as is typical in computer systems.
  • the computer system 1 includes a user input 16, such as a keyboard , mouse, joystick, pointer, pen, click buttons, etc. to allow a user to input information, commands and the like to the computer system 1.
  • the display 18 may be a liquid crystal display, cathode ray tube, plasma display or some other display on which information may be displayed under control of the computer system 1.
  • the functions and operation of the organizer interface system 2 of the invention are described below with respect to several block diagram flow charts representative of methods, steps and computer programs according to the invention.
  • the actual computer code for carrying out the functions represented by respective steps in the flow charts can be written in one or more desired computer program language by a person who has ordinary skill in the art, especially in the art of computer programming, software engineering and the like.
  • the selected computer program language may be determined according to the computer system 1 and associated apparatus with which the organizer interface system 2 is used.
  • the initialization routine 30 of the organizer interface system is shown.
  • the Palm computer system 1 is turned on; and at step 32 the computer operating system is initialized according to the pre-programming thereof by the manufacturer, e.g., 3Com.
  • the computer goes to the last application program that had been used in the Palm computer 1 prior to last being turned off or automatically shut down.
  • a "hacks" program operating on the computer it is possible that the computer would start up on a diffe rent application than was active when the computer was shut down; the description of the invention here disregards the affects of hacks programs.
  • an inquiry is made whether such last application is the desired application program, i.e., the application program the user wishes to have operating and active?
  • step 38 If affirmative, then the application program is continued at step 38. However, if that application program is not the desired one, then at step 40 the flow chart goes to the applications menu of the Palm computer 1 so the user can select the desired application program.
  • Palm computer 40 may be made by the user providing an input to the Palm computer 1, as by touching the "pen” to the touch sensitive screen of the computer display 18; such input may be via a keyboard, mouse, joystick, keys or mouse click buttons, etc., depending on the type of computer 1 and the user input device 16 used therewith.
  • Fig. 4 the start routine 41 for the organizer interface system 2 is illustrated.
  • the start routine 41 is called and begun if the user selects the organizer interface system 2 from the applications menu at step 40.
  • the start routine 41 also may be called and begun if the organizer interface system 2 was the last application running on the Palm computer 1 prior to the last shut down or turning off of the Palm computer. There may be other options and/or reasons for calling and running the organizer interface system start routine 41.
  • the organizer interface system 2 detects that it is to be run and then at step 44 the organizer interface system finds the plug-ins that have been stored in memory of the Palm computer 1. As a plug-in is found or detected, the plug-in is initialized at step 46.
  • Each application program, plug-in, etc. file has a signature composed of type and creator. For example, all text files should have a TEXT type, all applications should have an APPL type. Plug-ins should have Dplg type. The creator is unique for each set of files belonging for the same application. For example, all Word documents (TEXT type) would have a Mcsf type and the creator would also be the creator of the Word application. The protocol for the plug-ins is pre-defined for the developers of the plug-ins.
  • the organizer interface system 2 and the Palm computer 1 will find the plug-ins and will coordinate operation with the plug-ins to carry out the functions of the plug-ins as designed by the developers of the plug-ins.
  • a found plug-in is launched.
  • Launching usually means the loading of the plug-in (i.e., the plug-in program; reference to plug-in throughout typically means a program referred to as a plug-in) into memory and initiating the plug-in.
  • the plug-in will initiate itself if it is the first time it is being launched.
  • the plug-in sets its preferences.
  • the plug-in also checks the version of the plug-in, e.g. , version 1, version 1.1, version 2, etc.
  • the preferences is updated to reflect the newer version. For example, the preferences may be modified by adding a new data field to it to reflect the change. If the new version does not change functions but only improves one or more functions, e.g., improves running time, then the preferences may not be changed although the version information would reflect the improvement. Updating of plug-in versions usually does not affect data that may have been stored in the plug-in, such as date, address, time, format, or the like so that the update will not overwrite data or cause data to be lost.
  • the organizer interface system 2 When the user installs a plug-in, the organizer interface system 2 knows where to put it, e.g. , in the bottom left corner based on information already stored in the organizer interface system 2 and/or based on information in the preferences or otherwise contained in the plug-in. The organizer interface system 2 arranges everything in the display 18 so it will go in the correct place. Preferably there is one channel or pipe via which the organizer interface system 2 communicates with all of the plug-ins. Once a command or signal is sent to the plug-in, then the plug-in must decide how to use that input and plug-in must operate or function accordingly, e.g., as the developer of the plug-in may have specified in writing the plug-in according to coordinated protocols with the organizer interface system 2.
  • each plug-in must come with a defined set of fields that can be accessed and/or controlled. Some of the defined set of fields may be the following: does the plug-in support resizing, dragging, small/normal view, border around it, etc. These parameters tell the organizer interface system 2 how to display the plug-in and what functionality would be available for this plug-in. Some plug-ins may not respond to certain commands; therefore, the icon (if one exists for this action) or menu command (from the plug-in's context menu) for calling such a response would not be shown or displayed for the user. Another example of a feature of a plug-in is whether the plug-in has multiple instances; for example, a sticky notes plug-in. The plug-in could allow for display for multiple "sticky notes" (e.g. , Post-It type notes) displayed on the desk top.
  • "sticky notes" e.g. , Post-It type notes
  • step 48 an inquiry is made at step 48 to determine whether all plug-ins were found.
  • step 49 is followed back to step 44 and the next plug-in is sought, found, launched, and initialized, as mentioned above.
  • the software "knows” if there are more plug-ins by scanning all files with a 'Dplg' type, one after the other, until no files are found. This is done by a system call such as "GetNextFile".
  • a continuous loop function 50 is carried out.
  • the loop 50 operates for each plug-in to send a draw command.
  • each plug-in is respectively selected or called, and then the desired command, for example, a draw command represented at step 54, is carried out.
  • the loop 50 is repeated.
  • a block diagram flow chart representing the initialization of plug-ins step 46 is shown.
  • the organizer interface system 2 will send each plug-in an "Init" command and it is up to the plug-in to check if it is new or not, depending on the method it uses to save preferences.
  • a plug-in can try to retrieve its preferences and the system will let the plug-in know if any were found, if not - this mean the plug-in is new or more accurately - it never saved any preferences.
  • step 60 in inquiry is made whether this is the first time the plug-in is being called and launched.
  • a preferences set of information concerning the plug-in is created.
  • the plug-in then is launched at step 64, and the routine then returns to step 48 in Fig. 4.
  • an inquiry is made to detect whether the plug-in is a newer version or upgrade of a prior version of the plug-in or whether a new feature has been added, as was described above. If the answer is negative, then the plug-in is launched at step 64 and the routine returns to step 48 in Fig. 4.
  • step 66 if the answer is yes at step 66, then at step 68, if necessary, for example, due to adding of a new feature, the preferences for the plug-in are updated or modified and possibly other information in the preferences also may be revised. Then, at step 64 the plug-in is launched and the routine 46 returns to step 48 in Fig. 4.
  • Fig. 6 is a routine or group of steps 70, which is similar to the loop 50, for sending one or more commands to all plug-ins.
  • the routine 70 is entered at point 72, e.g. , after the loop 50 has been completed and/or in response to a user input, e.g., from the keyboard 16.
  • the next plug-in is sought. If it is found at step 76, then at step 78 a command is sent to the plug-in, e.g., to cause it to update information displayed on the computer display 18, to perform a computation, to retrieve information or some other command.
  • User inputs may be those described below with respect to Fig. 7, e.g. , as events or user inputs.
  • the next plug-in is sought then at step 74.
  • routine 70 exits at 79.
  • Such exit may be to a wait routine, e.g., one that waits until the next command is received from the computer 1, from a user input or event (Fig. 7), such as a user clicked input on a touch sensitive display screen, etc.
  • a routine or set of steps 80 for responding to events such as when the user presents an input, e.g., clicks on the touch sensitive display screen 18, that occur while the organizer interface system 2 is operating is illustrated.
  • step 90 is continuing to be held against the touch sensitive display screen 18 for longer than a prescribed period of time. If yes, then at step 90 an inquiry is made whether the pen is being held in the same place on the display screen 18. If yes, then at step 92 the context menu associated with the given plug-in is opened and features and/or functions thereof can be read, carried out, etc.
  • step 92 If at step 92 the pen is detected as not being held in the same place, this would indicate an intention to carry out a drag function; and the plug-in or the displayed image produced thereby is dragged to a new location at step 94.
  • the drag function is completed, a command is sent through the command channel requesting the plug-in to reposition itself according to the new location to which it was dragged, and the routine exits at 86, as above.
  • the routine exits at 86, as above.
  • the plug-in is expected to follow some pre-defined rules, e.g. , launch the "father" application program in response to a double-click.
  • rules are not obligatory, yet they are recommended to be followed to create a simple experience for the user of the organizer interface of the invention.
  • Set Rect (set rectangle, which allows the resize of the plug-in's "rectangle” or other area it occupies on the display resulting from operation on the plug-in, e.g., a drag or resize operation).
  • Can drag (whether the plug-in or the display thereof can be dragged to another location on the display screen 18; some can, e.g., a "to do” plug-in displaying the next task that should be done as stored by a "To Do” or other program, and some cannot, e.g., a clock display or screen saver).
  • Has preferences whether the plug-in has preferences. Has dual views (whether the plug-in allows for plural views to be displayed, for example, a "To Do Plug" which has a minimum view mode which displays a light bulb (only indicating if there are any items to be displayed by b eing on or off) and a normal view mode which displays the items themselves)).
  • Draw Draw (draw the image to be displayed by the plug-in, e.g., as was described above at step 54 in Fig. 4).
  • Pop up (whether a pop-up menu associated with the plug-in is to be displayed).
  • Pen down (whether a pen down function is detectable and, for example, can cause the plug-in to be dragged on the display 18).
  • Double Click (whether the plug-in is responsive to a double click, e.g., step 98 in Fig. 7).
  • Open Form (whether the plug-in provides for opening a form that can be filled in by the user) .
  • FIG. 8 An example of use and operation of the organizer interface system 2 and method of the invention is presented in Fig. 8.
  • That API 100 calls the organizer interface system 2 to operation.
  • the organizer interface system 2 sends commands, for example, using a single channel 102 to various plug-ins 104 after the detecting of the plug-ins, initializing them, etc., e.g., as was described above.
  • the plug-ins 104 have respective features 106, which are detected and relied on for use and display purposes by the organizer interface system 2, including, for example, can resize, can drag, has border, has preferences, has dual views, is idle hungry, etc.).
  • the plug-in may "do something" relative to an application program 108, such as the DateBook program mentioned above. For example, the plug-in may obtain data from the next date or several dates and display what events are coming up, such as birthday, things to do, etc., on the display 18.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Digital Computer Display Output (AREA)

Abstract

A user interface for computers, comprises a display, a number of plug-ins for obtaining information from respective data resources in the computer, and an organizer for simultaneously displaying the information on the display at respective locations. The information displayed can be moved around on the display and the area in which the information is displayed can be resized. Also, the application from which the information is derived can be operated, in an embodiment of the invention, by touching selected area(s) of a touch screen. A method of organizing and displaying information from a computer for use by a user, comprising obtaining information from a plurality of data storage or data generating resources of a computer system, and simultaneously displaying at respective locations on a display at least some information from each of such resources.

Description

Title: ORGANIZER INTERFACE SYSTEM AND METHOD
Technical Field
The present invention relates generally to user interface and method for computers and, more particularly, to a user interface and method useful with computers and computer software which use plug-in type programs and to use with such plug-in type programs.
Background Many computers use plug-in type computer programs (referred to below as "plug-ins") to carry out specific tasks or groups of tasks. A plug-in is a programming component that operates within an existing program (the "father") and has no life of its own. A plug-in is managed by the "father". Exemplary plug-ins include those which cause a computer to obtain information regarding time and to display on a display device the time in analog format and/or in digital format. Another plug-in is one which checks the status of the battery power supply of a computer and causes the battery voltage and/or percentage of battery energy remaining to be displayed. The above types of plug-ins provide information typically of interest to the computer user. Another example of a plug-in is sold under the trademark DateMate by Palmmate (also known as Common Sense Software Ltd.) of Hertzeliya, Israel; this plug-in provides a substantial amount of information storage and retrieval capability regarding dates, such as birthdays, appointments, things to do, etc.
An exemplary use of plug-ins is to display information which is either standalone, e.g., time and date, or application specific. Other stand-alone plug-ins may be a screen saver, a game, a sound player, a communications routine, etc. An application specific plug-in may be, for example, a program that obtains information concerning the user's next appointment, birthday information, or some other date related information that may be stored in a database/data structure used in connection with a program such as that known as DateBook program. In the past it was necessary to go to each of the application specific programs, e.g. , by operating each, to obtain the desired information provided thereby. It would be desirable to be able to organize, to manage and to obtain information from such plug-ins and/or application specific programs conveniently and to display the information in one place, e.g., on a single display screen (or on selected multiple display screens).
A software developer may develop a plug-in to extract specific information for display, for playing, or for some other reason. It would be desirable to facilitate the managing and organizing of plug-ins and to facilitate operating plug-ins to obtain convenient and full use thereof. It also would be desirable to facilitate such managing , organizing and use of plug-ins in a Windows type environment or some other environment in which multiple programs can be running and/or called essentially simultaneously. Further, it would be desirable to carry out the foregoing in a relatively efficient manner to try to minimizing the amount of memory and steps required. A developer of a plug-in and/or of other computer programs would have to take care to avoid conflicts with other programs operating on the computer, for example, to assure that user inputs are interpreted correctly, to assure that when one window overlays another (partly or fully) a user input is directed toward the operation of the top-most window/program, etc. It would be desirable to facilitate developing plug-ins and other computer programs to avoid the need for such careful detail to avoiding such conflicts and the like and to help to assure smooth unconflicting simultaneous or substantially simultaneous operation of multiple programs on a computer.
Summary With the foregoing in mind, then, an aspect of the present invention is to manage plug-ins.
Another aspect relates to the presenting in one convenient place information which is stored in and obtained from several programs, databases, data structures, etc.
Another aspect is to provide the developer of a plug-in a convenient set of tools which facilitates concentration on presenting the information and responding to user inputs or events on the plug-in without interfering with other programs or plug-ins operating on the computer system. Several examples include the ability to direct programming efforts toward the program or plug-in operation without having to be concerned with window layers or with the dragging of windows on a display desktop, etc. Thus, an aspect is to provide organization and management of such considerations, e.g. , window layers and dragging of windows, substantially independently of plug-in operation, in at least some respects.
Another aspect is to use or run a plug-in.
Another aspect is to facilitate managing, organizing and/or running or operating one or more plug-ins.
Another aspect is to facilitate updating or upgrading a plug-in, to manage, organize and/or to run or to operate the updated or upgraded plug-in without losing data obtained, stored, etc., using a prior version of the plug-in.
Another aspect relates to using a plug-in to display a summary of information obtained from a file stored and accessible via a stand-alone program or an application specific program, and in response to further activation of the plug-in accessing further operation, possibly including full operation, thereof and of the appropriate father application to display additional information accessible by the plug-in.
An aspect relates to a user interface for computers, including a display, a number of plug-ins for obtaining information from respective data resources in the computer, and an organizer for simultaneously displaying the information on the display at respective locations.
Another aspect relates to a method of organizing and displaying information from a computer for use by a user, includes obtaining information from a plurality of data storage or data generating resources of a computer system, and simultaneously displaying at respective locations on a display at least some information from each of such resources.
Another aspect relates to a method of using plug-ins to organize and display information from respective programs operable on a computer, includes using respective plug-in to obtain information from a plurality of data storage or data generating resources of a computer system, and simultaneously displaying at respective locations on a display at least some information from each of such resources. Another aspect relates to a computer operating system, including at least one application specific program, at least one stand-alone program, application specific plug-in to grab data from a database of an application specific program, and an organizer interface for retrieving information from the plug-ins for display. Another aspect relates to a method of displaying information, including obtaining data from a computer or memory by a stand-alone plug-in, using an application specific plug-in, obtaining data from an application specific program, and using an organizer interface, displaying data obtained by the stand-alone plug-in and the application specific plug-in. Another aspect relates to a method of providing an interface for a computer display, including finding plug-ins for applications operative on a computer, and operating the plug-ins based on preferences set therein to display information from respective applications and/or operating such applications.
Another aspect relates to a computer system, including an application program interface and an organizer interface system for simultaneously displaying information derived from applications operating on a computer via the application program interface.
To the accomplishment of the foregoing and related ends, the invention, then, comprises the features hereinafter fully described in the specification and particularly pointed out in the claims, the following description and the annexed drawings setting forth in detail certain illustrative embodiments of the invention, these being indicative, however, of but several of the various ways in which the principles of the invention may be suitably employed.
Other systems, methods, features, and advantages of the present invention will be or become apparent to one with skill in the art upon examination of the following drawings and detailed description. It is intended that all such additional systems, methods, features, and advantages be included within this description, be within the scope of the present invention, and be protected by the accompanying claims.
Although the invention is shown and described with respect to one or more embodiments, it is to be understood that equivalents and modifications will occur to others skilled in the art upon the reading and understanding of the specification. The present invention includes all such equivalents and modifications, and is limited only by the scope of the claims.
Brief Description of Drawings In the annexed drawings, Fig. 1 is a schematic illustration of a computer using the system, software and method of organizer interface system according to the present invention;
Fig. 2 is a schematic representation of a computer program flow chart showing interrelationship of the organizer interface system and method of the invention and a computer operating system; Fig. 3 is a flow chart representing the initial operation of a computer operating system;
Fig. 4 is a flow chart representing the summary of operation of the organizer interface system and method of the invention;
Fig. 5 is a flow chart of the initialization routine for initializing operation of plug-ins using the organizer interface system and method of the invention;
Fig. 6 is a flow chart depicting the steps for sending commands to all plug-ins; and
Fig. 7 is a flow chart depicting how the invention responds to events.
Description Turning, now, in detail to the drawings, wherein like reference numerals designate like parts in the several figures, and initially to Figs. 1 and 2, a computer system 1 using the organizer interface system 2 of the invention is generally shown.
The computer system 1 may be a portable computer, such as, for example, a hand held computer, one example being that sold under the trademark PALM CONNECTED ORGANIZER sold by 3Com. Another example of a portable computer would be a conventional laptop computer. The computer system 1 also may be a desk top or any other computer. The computer system also may be a computer based cellular phone.
The computer system 1 includes a processor and associated circuitry 12, a memory unit 14, a user input 16 and a display 18. These components may be conventional ones typically used in a portable computer, desk top computer or other computer. Referring to Fig. 2, an organizer interface system 2 is shown in association with other exemplary portions of software 22 used in a computer, such as a computer system 1 of Fig. 1. The software 22 includes, for example, a computer operating system 24, one or more application programs or application specific programs 26, and one or more plug-ins, two of examples which are shown at 28, 30. Briefly, the application program
26 and computer operating system 24 communicate and interact to carry out a function of the computer, e.g., to store and to retrieve date and address information about respective individuals and to coordinate such storage and retrieval with user inputs, e.g., via a keyboard 16. The application specific plug-in 30 grabs specific data from the database of the program 26, such as the next date and information concerning the next date, e.g., is it a birthday, a meeting, etc. The stand-alone plug-in 28 may be a clock program which grabs from the computer system 1 and/or the operating system
24 the current date and time and prepares to display that information if called to do so .
The above-mentioned information which is grabbed by the plug-ins 28, 30 (and possibly others) is retrieved from them by the organizer interface system 2 and is displayed for convenient viewing on the computer display 18, as will be described in greater detail below.
The computer system 1 includes a processor and associated circuitry 12, such as an AMD K-6 microprocessor, Pentium microprocessor, Motorola DragonBall microprocessor or virtually any other microprocessor or processor unit as may be used in a computer, and associated input/output, control circuits, communications circuits, busses, etc., as is well known in the art. The computer system 1 also includes random access memory (RAM) and/or a read only memory (ROM), which may be separate from or associated with the memory unit 14 mentioned below. The memory unit 14 may be, for example, a floppy disk drive, fixed disk drive, optical drive, tape drive, flash memory, or some other device in which memory media on which computer programs, signals, and the like may be stored and retrieved, as is typical in computer systems. Further, the computer system 1 includes a user input 16, such as a keyboard , mouse, joystick, pointer, pen, click buttons, etc. to allow a user to input information, commands and the like to the computer system 1. The display 18 may be a liquid crystal display, cathode ray tube, plasma display or some other display on which information may be displayed under control of the computer system 1.
In the description below the invention is described for use in conjunction with a Palm Connected Organizer hand held computer sold by 3Com as the computer system 1. However, it will be understood and appreciated that the invention may be used with other hand held computers, personal digital assistants, and/or with other computers.
The functions and operation of the organizer interface system 2 of the invention are described below with respect to several block diagram flow charts representative of methods, steps and computer programs according to the invention. The actual computer code for carrying out the functions represented by respective steps in the flow charts can be written in one or more desired computer program language by a person who has ordinary skill in the art, especially in the art of computer programming, software engineering and the like. The selected computer program language may be determined according to the computer system 1 and associated apparatus with which the organizer interface system 2 is used.
Turning to Fig. 3, the initialization routine 30 of the organizer interface system is shown. At step 31 the Palm computer system 1 is turned on; and at step 32 the computer operating system is initialized according to the pre-programming thereof by the manufacturer, e.g., 3Com. After such initialization, at step 34 the computer goes to the last application program that had been used in the Palm computer 1 prior to last being turned off or automatically shut down. In the case of a "hacks" program operating on the computer it is possible that the computer would start up on a diffe rent application than was active when the computer was shut down; the description of the invention here disregards the affects of hacks programs. At step 36 an inquiry is made whether such last application is the desired application program, i.e., the application program the user wishes to have operating and active? If affirmative, then the application program is continued at step 38. However, if that application program is not the desired one, then at step 40 the flow chart goes to the applications menu of the Palm computer 1 so the user can select the desired application program. The answer to the inquiry at step 36 and/or the selection of an application program following step
40 may be made by the user providing an input to the Palm computer 1, as by touching the "pen" to the touch sensitive screen of the computer display 18; such input may be via a keyboard, mouse, joystick, keys or mouse click buttons, etc., depending on the type of computer 1 and the user input device 16 used therewith.
In Fig. 4 the start routine 41 for the organizer interface system 2 is illustrated. The start routine 41 is called and begun if the user selects the organizer interface system 2 from the applications menu at step 40. The start routine 41 also may be called and begun if the organizer interface system 2 was the last application running on the Palm computer 1 prior to the last shut down or turning off of the Palm computer. There may be other options and/or reasons for calling and running the organizer interface system start routine 41. At step 42 the organizer interface system 2 detects that it is to be run and then at step 44 the organizer interface system finds the plug-ins that have been stored in memory of the Palm computer 1. As a plug-in is found or detected, the plug-in is initialized at step 46.
Each application program, plug-in, etc. file has a signature composed of type and creator. For example, all text files should have a TEXT type, all applications should have an APPL type. Plug-ins should have Dplg type. The creator is unique for each set of files belonging for the same application. For example, all Word documents (TEXT type) would have a Mcsf type and the creator would also be the creator of the Word application. The protocol for the plug-ins is pre-defined for the developers of the plug-ins. With the foregoing in mind and provided such protocol is followed, the organizer interface system 2 and the Palm computer 1 will find the plug-ins and will coordinate operation with the plug-ins to carry out the functions of the plug-ins as designed by the developers of the plug-ins.
At the initialization step 46, which also is illustrated in a block diagram flow chart of Fig. 5, a found plug-in is launched. Launching usually means the loading of the plug-in (i.e., the plug-in program; reference to plug-in throughout typically means a program referred to as a plug-in) into memory and initiating the plug-in. The plug-in will initiate itself if it is the first time it is being launched. During such initialization of a plug-in, the plug-in sets its preferences. The plug-in also checks the version of the plug-in, e.g. , version 1, version 1.1, version 2, etc. If the version being launched is a newer version of the plug-in, e.g., an upgrade that adds or supports a new feature not previously available, such as providing additional information for display or allowing the user to determine how many dates or other pieces of information are to be displayed, compared to the version of the plug-in when it was last launched, then at the initialization step 44, the preferences is updated to reflect the newer version. For example, the preferences may be modified by adding a new data field to it to reflect the change. If the new version does not change functions but only improves one or more functions, e.g., improves running time, then the preferences may not be changed although the version information would reflect the improvement. Updating of plug-in versions usually does not affect data that may have been stored in the plug-in, such as date, address, time, format, or the like so that the update will not overwrite data or cause data to be lost.
When the user installs a plug-in, the organizer interface system 2 knows where to put it, e.g. , in the bottom left corner based on information already stored in the organizer interface system 2 and/or based on information in the preferences or otherwise contained in the plug-in. The organizer interface system 2 arranges everything in the display 18 so it will go in the correct place. Preferably there is one channel or pipe via which the organizer interface system 2 communicates with all of the plug-ins. Once a command or signal is sent to the plug-in, then the plug-in must decide how to use that input and plug-in must operate or function accordingly, e.g., as the developer of the plug-in may have specified in writing the plug-in according to coordinated protocols with the organizer interface system 2. For example, each plug-in must come with a defined set of fields that can be accessed and/or controlled. Some of the defined set of fields may be the following: does the plug-in support resizing, dragging, small/normal view, border around it, etc. These parameters tell the organizer interface system 2 how to display the plug-in and what functionality would be available for this plug-in. Some plug-ins may not respond to certain commands; therefore, the icon (if one exists for this action) or menu command (from the plug-in's context menu) for calling such a response would not be shown or displayed for the user. Another example of a feature of a plug-in is whether the plug-in has multiple instances; for example, a sticky notes plug-in. The plug-in could allow for display for multiple "sticky notes" (e.g. , Post-It type notes) displayed on the desk top.
Returning to the start routine 41, after initializing and launching a plug-in at step 46, an inquiry is made at step 48 to determine whether all plug-ins were found.
If all plug-ins have not been found, then loop line 49 is followed back to step 44 and the next plug-in is sought, found, launched, and initialized, as mentioned above. The software "knows" if there are more plug-ins by scanning all files with a 'Dplg' type, one after the other, until no files are found. This is done by a system call such as "GetNextFile".
After all plug-ins have been found, a continuous loop function 50 is carried out. The loop 50 operates for each plug-in to send a draw command. Thus, at step 52 each plug-in is respectively selected or called, and then the desired command, for example, a draw command represented at step 54, is carried out. After all plug-ins have been respectively selected at step 52 and a draw command carried out, then the loop 50 is repeated.
Briefly referring to Fig. 5, a block diagram flow chart representing the initialization of plug-ins step 46 is shown. There is a standard way to store p reference on a Palm computer 1 but it is not a requirement. The organizer interface system 2 will send each plug-in an "Init" command and it is up to the plug-in to check if it is new or not, depending on the method it uses to save preferences. Using the standard system calls on the Palm computer 1, a plug-in can try to retrieve its preferences and the system will let the plug-in know if any were found, if not - this mean the plug-in is new or more accurately - it never saved any preferences. At step 60 in inquiry is made whether this is the first time the plug-in is being called and launched. If yes, then at step 62 a preferences set of information concerning the plug-in is created. The plug-in then is launched at step 64, and the routine then returns to step 48 in Fig. 4. However, if at step 60 it is not the first time the plug-in is being run, then at step 66 an inquiry is made to detect whether the plug-in is a newer version or upgrade of a prior version of the plug-in or whether a new feature has been added, as was described above. If the answer is negative, then the plug-in is launched at step 64 and the routine returns to step 48 in Fig. 4. However, if the answer is yes at step 66, then at step 68, if necessary, for example, due to adding of a new feature, the preferences for the plug-in are updated or modified and possibly other information in the preferences also may be revised. Then, at step 64 the plug-in is launched and the routine 46 returns to step 48 in Fig. 4.
In Fig. 6 is a routine or group of steps 70, which is similar to the loop 50, for sending one or more commands to all plug-ins. The routine 70 is entered at point 72, e.g. , after the loop 50 has been completed and/or in response to a user input, e.g., from the keyboard 16. At step 74 the next plug-in is sought. If it is found at step 76, then at step 78 a command is sent to the plug-in, e.g., to cause it to update information displayed on the computer display 18, to perform a computation, to retrieve information or some other command. User inputs may be those described below with respect to Fig. 7, e.g. , as events or user inputs. The next plug-in is sought then at step 74. If no more plug-ins are found at step 74, the routine 70 exits at 79. Such exit may be to a wait routine, e.g., one that waits until the next command is received from the computer 1, from a user input or event (Fig. 7), such as a user clicked input on a touch sensitive display screen, etc.
Referring to Fig. 7, a routine or set of steps 80 for responding to events, such as when the user presents an input, e.g., clicks on the touch sensitive display screen 18, that occur while the organizer interface system 2 is operating is illustrated. At step 82 a user clicks on the screen 18, e.g., for a Palm computer 1 the user touches the pen to a specific location on the touch sensitive screen 18. At step 84 an inquiry is made whether a plug-in was clicked. If not, then the routine 80 exits at 86 to wait for the next user "click" or some other input, shut-down, etc. If a plug-in was clicked, as detected at step 84, then at step 88 an inquiry is made whether the pen is held down, e.g. , is continuing to be held against the touch sensitive display screen 18 for longer than a prescribed period of time. If yes, then at step 90 an inquiry is made whether the pen is being held in the same place on the display screen 18. If yes, then at step 92 the context menu associated with the given plug-in is opened and features and/or functions thereof can be read, carried out, etc.
If at step 92 the pen is detected as not being held in the same place, this would indicate an intention to carry out a drag function; and the plug-in or the displayed image produced thereby is dragged to a new location at step 94. After the pen is picked up at step 94 the drag function is completed, a command is sent through the command channel requesting the plug-in to reposition itself according to the new location to which it was dragged, and the routine exits at 86, as above. Similarly, at step 92, after the context menu has been closed or the step or steps according to such context menu has (have) been carried out, the routine exits at 86, as above.
If the pen is detected as being held down at step 88, then an inquiry is made at block 95 whether the pen was touched to the display screen 18 twice, e.g., as a double click. If not, then a pen down command is sent at block 96 to cause an appropriate operation or function of the plug-in that was "clicked". The routine 80 then exits at 86, as above. However, if at inquiry step 95 a double click is detected, e.g., the pen is touched to the screen twice in relatively rapid succession, e.g., as a double click of a conventional mouse click button or the like, then at step 98 a double click command is sent to the plug-in causing an appropriate operation or function of the plug-in as may be included in the programming thereof. The routine 80 then exits at 86, as above.
The plug-in is expected to follow some pre-defined rules, e.g. , launch the "father" application program in response to a double-click. Such rules are not obligatory, yet they are recommended to be followed to create a simple experience for the user of the organizer interface of the invention.
Some of the commands that the organizer interface system 2 can carry out or cause to be carried out by respective plug-ins are listed below. These are exemplary only, and it will be appreciated that others may be exist now or be developed in the future, as by the developers of respective plug-ins. In using the organizer interface system 2, during its operation, it always sends commands using the same one channel. Exemplary commands are, as follows:
Init (initialization of the plug-in, e.g., as described above as at step 46 of Fig. 4).
Set Rect (set rectangle, which allows the resize of the plug-in's "rectangle" or other area it occupies on the display resulting from operation on the plug-in, e.g., a drag or resize operation). Get Features (detect and/or determine the following features of a plug-in :
Can resize (whether the display of the plug-in can be resized).
Can drag (whether the plug-in or the display thereof can be dragged to another location on the display screen 18; some can, e.g., a "to do" plug-in displaying the next task that should be done as stored by a "To Do" or other program, and some cannot, e.g., a clock display or screen saver).
Has Border (whether the plug-in has a border surrounding the display thereof and/or whether the border can be turned on and off).
Has preferences (whether the plug-in has preferences). Has dual views (whether the plug-in allows for plural views to be displayed, for example, a "To Do Plug" which has a minimum view mode which displays a light bulb (only indicating if there are any items to be displayed by b eing on or off) and a normal view mode which displays the items themselves)).
Draw (draw the image to be displayed by the plug-in, e.g., as was described above at step 54 in Fig. 4).
Pop up (whether a pop-up menu associated with the plug-in is to be displayed).
Pen down (whether a pen down function is detectable and, for example, can cause the plug-in to be dragged on the display 18). Double Click (whether the plug-in is responsive to a double click, e.g., step 98 in Fig. 7).
Open Form (whether the plug-in provides for opening a form that can be filled in by the user) .
An example of use and operation of the organizer interface system 2 and method of the invention is presented in Fig. 8. Running on the computer 1 is an application programming interface (API) 100. That API 100 calls the organizer interface system 2 to operation. The organizer interface system 2 sends commands, for example, using a single channel 102 to various plug-ins 104 after the detecting of the plug-ins, initializing them, etc., e.g., as was described above. The plug-ins 104 have respective features 106, which are detected and relied on for use and display purposes by the organizer interface system 2, including, for example, can resize, can drag, has border, has preferences, has dual views, is idle hungry, etc.). Based on the information gathered from the plug-in and/or from the features and preferences, the plug-in may "do something" relative to an application program 108, such as the DateBook program mentioned above. For example, the plug-in may obtain data from the next date or several dates and display what events are coming up, such as birthday, things to do, etc., on the display 18.
Although the invention is shown and described with respect to certain embodiments and features, it is evident that equivalents and modifications will occur to others skilled in the art upon the reading and understanding of the specification. Also, it will be appreciated that various features of the invention including the various embodiments and functions disclosed may be combined and/or substituted for each other. The present invention includes all such equivalents and modifications.

Claims

ClaimsWe claim:
1. A method of displaying and managing plug-in related displays on a computer display, comprising finding the plug-ins, and displaying the respective display thereof and managing the "life cycle" of the plug-in.
2. A method of organizing plug-ins in a computer, comprising detecting the plug-ins and allowing plural plug-ins to be operated while others simultaneously are in operational mode.
3. A storage medium containing a computer program for finding and organizing plug-ins and allowing plural plug-ins to be operated.
4. A computer program comprising a routine for finding plug-ins in a computer and a routine for revising the response, operation and/or display of such plug-ins.
5. A computer comprising a processor, a display, a user input device, and storage medium containing a computer program for finding and organizing plug-ins and allowing plural plug-ins to be operated.
6. A user interface for computers, comprising a display, a number of plug-ins for obtaining information from respective data resources in the computer, and an organizer for simultaneously displaying the information on the display at respective locations.
7. The interface of claim 6, wherein at least two of the respective locations at least partly overlap.
8. The interface of claim 6, said display comprising a touch sensitive display.
9. The interface of claim 6, wherein such information is stand-alone information.
10. The interface of claim 9, wherein such information is at least one of date, time, and calendar.
11. The interface of claim 6, wherein such information is application specific information.
12. The interface of claim 11, wherein such information is stored in a database structure and wherein the plug-in accesses the database structure to obtain the information for display on the display.
13. The interface of claim 12, wherein the information is at least one of address information, appointments/calendar information, and notes.
14. The interface of claim 6, wherein such information is generated by the computer.
15. The interface of claim 6, including means to move displayed information from one location to another location relative to the display.
16. The interface of claim 6, including means to resize the arrangement of information displayed.
17. A method of organizing and displaying information from a computer for use by a user, comprising obtaining information from a plurality of data storage or data generating resources of a computer system, and simultaneously displaying at respective locations on a display at least some information from each of such resources.
18. The method of claim 17, said displaying comprising displaying at least two different pieces of information at least partly overlapping locations.
19. The method of claim 17, further comprising operating the computer by selecting information displayed at respective locations.
20. The method of claim 19, said selecting comprising using a touch screen and touching the screen.
21. The method of claim 17, said obtaining comprising obtaining information from a database.
22. The method of claim 21 , said obtaining comprising obtaining at least one of appointments, special dates, notes, and addresses.
23. The method of claim 17, said obtaining comprising obtaining information from an information generator or monitor.
24. The method of claim 23, said information generator or monitor comprising at least one of a clock, battery power monitor, and calendar.
25. The method of claim 17, further comprising moving at least some of the displayed information relative to location on the display.
26. The method of claim 17, further comprising displaying the information in blocked areas on the display.
27. The method of claim 26, further comprising resizing a respective blocked area.
28. The method of claim 26, further comprising selecting whether or not the blocked area has a visible border about the same.
29. The method of claim 17, further comprising displaying information obtained from an application specific program or stand-alone program and operating at least one of those programs by tapping a touch screen where the information is displayed.
30. A method of using plug-ins to organize and display information from respective programs operable on a computer, comprising using respective plug-in to obtain information from a plurality of data storage or data generating resources of a computer system, and simultaneously displaying at respective locations on a display at least some information from each of such resources.
31. The method of claim 30, further comprising adding a further activation of respective programs by operating a respective plug-in.
32. A computer operating system, comprising at least one application specific program, at least one stand-alone program, application specific plug-in to grab data from a database of an application specific program, and an organizer interface for retrieving information from the plug-ins for display.
33. The system of claim 32, further comprising a display for displaying information from the organizer interface.
34. The system of claim 33, said display comprising a touch screen for displaying information at respective areas thereof and in response to selective touching at respective areas providing input signals for operating a computer.
35. A method of displaying information, comprising obtaining data from a computer or memory by a stand-alone plug-in, using an application specific plug-in, obtaining data from an application specific program, using an organizer interface, displaying data obtained by the stand-alone plug-in and the application specific plug-in.
36. The method of claim 35, said obtaining data from an application specific program comprising obtaining data from a database.
37. A method of providing an interface for a computer display, comprising finding plug-ins for applications operative on a computer, operating the plug-ins based on preferences set therein to display information from respective applications and/or operating such applications.
38. The method of claim 37, further comprising displaying the current version of a respective plug-in.
39. The method of claim 37, further comprising setting the preferences.
40. The method of claim 39, said setting the preferences comprising setting at least one of arrangement of data for display and amount of data di splayed at a given time.
41. The method of claim 39, further cmoprising resizing the field of the image displayed by a plug-in.
42. A computer system, comprising an application program interface and an organizer interface system for simultaneously displaying information derived from applications operating on a computer via the application program interface.
43. The system of claim 42, said computer system including a touch screen display on which such information is displayed under control by the organizer interface system.
44. The system of claim 43, wherein the touch screen display is operative in response to touch operation to permit dragging of displayed information or launching of at least part of an application program.
45. A method of manipulating display of data in a hand-held computer having a touch screen, comprising touching the screen to select at least a portion of data displayed and a plug-in causing display of such data, and by such touching at least one of changing the manner in which the data is displayed, moving the data for display at a different location on the display, causing operation of the plug-in and launching a "father" program associated with the plug-in.
PCT/US2000/017119 1999-06-23 2000-06-22 Organizer interface system and method WO2000079387A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU57565/00A AU5756500A (en) 1999-06-23 2000-06-22 Organizer interface system and method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14058899P 1999-06-23 1999-06-23
US60/140,588 1999-06-23

Publications (1)

Publication Number Publication Date
WO2000079387A1 true WO2000079387A1 (en) 2000-12-28

Family

ID=22491928

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2000/017119 WO2000079387A1 (en) 1999-06-23 2000-06-22 Organizer interface system and method

Country Status (2)

Country Link
AU (1) AU5756500A (en)
WO (1) WO2000079387A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003073830A2 (en) * 2002-03-07 2003-09-12 Koninklijke Philips Electronics N.V. Method for allowing plug-in architecture for digital echocardiography lab image processing applications
CN103927180A (en) * 2014-04-21 2014-07-16 广州市久邦数码科技有限公司 Implementation method for functional plug-ins based on Android system and system of functional plug-ins based on Android system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0417883A2 (en) * 1989-06-19 1991-03-20 International Business Machines Corporation Data processing system with enhanced ease of use
US5852439A (en) * 1996-02-29 1998-12-22 Jba Holdings Plc Object browser and manipulation system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0417883A2 (en) * 1989-06-19 1991-03-20 International Business Machines Corporation Data processing system with enhanced ease of use
US5852439A (en) * 1996-02-29 1998-12-22 Jba Holdings Plc Object browser and manipulation system

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ELIENS A ET AL: "Jamming (on) the Web", COMPUTER NETWORKS AND ISDN SYSTEMS,NL,NORTH HOLLAND PUBLISHING. AMSTERDAM, vol. 29, no. 8-13, 1 September 1997 (1997-09-01), pages 897 - 903, XP004095289, ISSN: 0169-7552 *
GELERNTER B: "HELP DESIGN CHALLENGES IN NETWORK COMPUTING", ANNUAL INTERNATIONAL CONFERENCE OF COMPUTER DOCUMENTATION,US,NEW YORK, NY: ACM, 23 September 1998 (1998-09-23), pages 184 - 193, XP000869303, ISBN: 1-58113-004-X *
TAYLOR A ET AL: "ENHANCING NETSCAPE WITH PLUG-INS", BYTE,US,MCGRAW-HILL INC. ST PETERBOROUGH, vol. 22, no. 3, 1 March 1997 (1997-03-01), pages 63 - 64, XP000687207, ISSN: 0360-5280 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003073830A2 (en) * 2002-03-07 2003-09-12 Koninklijke Philips Electronics N.V. Method for allowing plug-in architecture for digital echocardiography lab image processing applications
WO2003073830A3 (en) * 2002-03-07 2004-05-21 Koninkl Philips Electronics Nv Method for allowing plug-in architecture for digital echocardiography lab image processing applications
CN103927180A (en) * 2014-04-21 2014-07-16 广州市久邦数码科技有限公司 Implementation method for functional plug-ins based on Android system and system of functional plug-ins based on Android system
CN103927180B (en) * 2014-04-21 2017-02-15 广州市久邦数码科技有限公司 Implementation method for functional plug-ins based on Android system and system of functional plug-ins based on Android system

Also Published As

Publication number Publication date
AU5756500A (en) 2001-01-09

Similar Documents

Publication Publication Date Title
AU2011239221B2 (en) Managing workspaces in a user interface
US5917480A (en) Method and system for interacting with the content of a slide presentation
US5140677A (en) Computer user interface with window title bar mini-icons
US7418670B2 (en) Hierarchical in-place menus
US8140971B2 (en) Dynamic and intelligent hover assistance
US5546521A (en) Dynamic presentation of contextual help and status information
JP3086399B2 (en) Lazy drag of graphical user interface (GUI) objects
US6493006B1 (en) Graphical user interface having contextual menus
US5345550A (en) User-modifiable popup menus for object oriented behavior
US7447989B2 (en) Method and system for setting document-linked timed reminders
EP2444894A1 (en) Managing workspaces in a user interface
US5384911A (en) Method of transferring programs from action oriented GUI paradigm to object oriented GUI paradigm
US5867678A (en) Method and system for searching and retrieving specific types of objects contained within a compound document
US10445060B2 (en) System and method for controlling presentations using a multimodal interface
US20100205559A1 (en) Quick-launch desktop application
EP0662655A2 (en) Method and system for customizing a data processing system graphical user interface
EP0660220A1 (en) Drag and drop operations in a graphical user interface
US20010003835A1 (en) Computer system with environmental detection
JPH0844527A (en) Method and apparatus for automatic organization of user interface object
JPH08314704A (en) Generation system of control program
US7590949B2 (en) Information processing system and information processing method that searches for peripheral information
US7548902B2 (en) Context of use differentiation in a pocket computer
US7877406B2 (en) System and method for name grabbing via optical character reading
US6046739A (en) System and method for organizing objects managed within a desktop
JP4288017B2 (en) Method and system for changing a text file for computer configuration

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: COMMUNICATION PURSUANT TO RULE 69 EPC (EPO FORM 2524 OF 060303)

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP