Laptop, handheld, and other portable computers or computing devices have increased in popularity as the devices have become smaller in size and less expensive. Additionally, improved operating speed and processing power of portable computers has increased their popularity. Many portable computers are capable of storing multiple application programs, such as address books, games, calculators, and the like. The application programs can be permanently installed in the portable computer during manufacture (e.g., on read-only memory (ROM)). Alternatively, the application programs may be installed by the user after purchasing the portable computer by downloading the application programs to the portable computer from a desktop computer.
Many of these small computers have limited physical resources, such as limited memory and limited processing capabilities. Thus, a typical portable computer may only be capable of executing a small number of application programs simultaneously. In some systems, this problem is addressed by preventing simultaneous execution of multiple applications—by automatically closing any running applications before a new application is launched. While this is a workable solution, it imposes significant delays as a user switches between multiple applications. This type of delay can be frustrating to the user, especially if the applications require a significant amount of time to launch.
In other systems, multiple applications are allowed to execute concurrently. For example, a word processing application, a calendar application, and an address book application might be able to run simultaneously on a portable computer. However, the portable computer may not have sufficient resources remaining to launch an additional application program, such as a calculator. In this situation, one of the three running applications is terminated to reclaim system resources before launching the calculator application.
Typically, a small computer displays only one application at a time, rather than displaying multiple windows such as might be displayed on desktop computers. When a user of a small computer switches from one application to another, only the new application is displayed. Although other applications may continue running on the computer, they are not generally displayed until selected as the active application. Because of this, any non-visible application can be terminated without the notice of the user. When the user attempts to switch back to the terminated application, the terminated application is simply restarted at its previous state.
When an application must be terminated to reclaim resources, existing portable devices make an arbitrary decision as to which application will be terminated. In many cases, the terminated application will be the least recently used application or the longest running application. Additional applications will continue to be terminated until enough system resources are available to initiate the newly selected application. Although this is usually successful, it does have disadvantages. One problem is that the application to be terminated might be in a modal state; i.e., waiting for user input. Attempting to close an application in a modal state may fail if the application refuses to terminate until the requested user input is received. A loss of data may result if the application in a modal state is forced to close before receiving the requested user input.
Another method of reclaiming system resources is to request that the user of a device select from listed applications to terminate. However, this can be confusing to the user, especially a user not familiar with computer systems. The user is not necessarily familiar with the characteristics of the applications and may not understand how different applications interact with one another. Users of portable devices often expect fast operation, for example when retrieving a meeting location from a calendar or a telephone number from an address book. These users may become frustrated if confronted with a question regarding terminating an application when they want to quickly retrieve data from the portable device.
The invention described below addresses these disadvantages and problems by allowing portable computers such as laptop computers, handheld computers, and palmtop computers to terminate one or more applications using a more “intelligent” selection system. In most cases, this greatly improves the operation and efficiency of the computer as perceived by the user, thereby increasing user satisfaction without requiring the addition of system resources such as memory.