| Patent application number | Description | Published |
| 20090271782 | MECHANISM FOR DETERMINING APPLICABILITY OF SOFTWARE PACKAGES FOR INSTALLATION - Mechanism for determining applicability of a software package for installation is described herein. In one embodiment, a process is provided to retrieve authentication information of a component from an installation descriptor file, where the descriptor file describes installation information of the software package. The software package may include one or more components and each component having zero or more sub-components. For at least one sub-component of at least one existing component that has already been installed, an image of the sub-component is authenticated using an authentication key extracted from the authentication information to determine whether the component can be installed based on the existing component. Other methods and apparatuses are also described. | 10-29-2009 |
| 20100177056 | Keyboard with Multi-Symbol Icons - A plurality of icons are displayed on a touch-sensitive display. A respective icon in at least a subset of the plurality of icons corresponds to two or more symbols. A first symbol in the two or more symbols belongs to a first subset of symbols and a second symbol in the two or more symbols belongs to a second subset of symbols. The first symbol has a probability of occurrence that is greater than a first pre-determined value and the second symbol has a probability of occurrence that is less than the first pre-determined value. A contact by a user with the touch-sensitive display that corresponds to a selection of the respective icon is detected. The contact includes a respective gesture. A respective symbol in the two or more symbols for the respective icon to which the contact further corresponds is determined. | 07-15-2010 |
| 20100188357 | Adaptive Keyboard - A plurality of icons are displayed on a touch-sensitive display. Two or more subsets of the plurality of icons are arranged in corresponding rows on the touch-sensitive display. A space greater than a pre-determined value is included between adjacent rows. A contact by a user with the touch-sensitive display that corresponds to a respective icon is detected. A symbol corresponding to the respective icon is displayed in the space between a respective row corresponding to the respective icon and a neighboring row while the contact is maintained. | 07-29-2010 |
| 20100188358 | User Interface Including Word Recommendations - A plurality of icons on a touch-sensitive display are displayed. A respective icon in the plurality of icons corresponds to at least one symbol. One or more recommended words are displayed. The one or more recommended words are in accordance with a user history. The one or more recommended words are displayed prior to detecting any contacts by a user corresponding to symbol selection by the user in a current application session. A contact by the user with the touch-sensitive display is detected. The contact includes a gesture. A respective recommended word corresponding to the gesture is selected. | 07-29-2010 |
| 20100192086 | Keyboard with Multi-Symbol Icons - A plurality of icons are displayed on a touch-sensitive display. A respective icon in at least a subset of the plurality of icons corresponds to two or more symbols. A contact by a user with the touch-sensitive display that corresponds to a selection of the respective icon, wherein the contact includes a respective gesture, is detected. A respective symbol in the two or more symbols for the respective icon to which the contact further corresponds is determined. The respective symbol is a first symbol in the two or more symbols if the respective gesture includes a continuous contact and the respective symbol is a second symbol in the two or more symbols if the respective gesture includes a discontinuous contact. | 07-29-2010 |
| 20110179483 | METHODS FOR HANDLING A FILE ASSOCIATED WITH A PROGRAM IN A RESTRICTED PROGRAM ENVIRONMENT - Techniques for handling a file associated with a program are described herein. According to an aspect of the invention, in response to a request for accessing a file received through a first program, the file is stored in a first sandboxed storage area, where the file is to be accessed by a second program. An atomic move operation is then performed on the file that atomically moves the file from the first sandboxed storage area to a second sandboxed storage area, where the first sandboxed storage area is not accessible to the first program and second program. The second program is launched to access the file stored in the second sandboxed storage area, where the second sandboxed storage area is a part of a sandbox associated with the second program. | 07-21-2011 |
| 20110252422 | Opportunistic Multitasking - Services for a personal electronic device are provided through which a form of background processing or multitasking is supported. The disclosed services permit user applications to take advantage of background processing without significant negative consequences to a user's experience of the foreground process or the personal electronic device's power resources. To effect the disclosed multitasking, one or more operational restrictions may be enforced. A consequence of such restrictions, a process may not be able to do in the background state, what it may be able to do if it were in the foreground state. In one embodiment, while a background task may be permitted to complete a first task, it may not be permitted start a new task—being suspended after completion of the first task. Implementation of the disclosed services may be substantially transparent to the executing user applications. | 10-13-2011 |
| 20110252429 | Opportunistic Multitasking - Services for a personal electronic device are provided through which a form of background processing or multitasking is supported. The disclosed services permit user applications to take advantage of background processing without significant negative consequences to a user's experience of the foreground process or the personal electronic device's power resources. To effect the disclosed multitasking, one or more of a number of operational restrictions may be enforced. By way of example, thread priority levels may be overlapped between the foreground and background states. In addition, system resource availability may be restricted based on whether a process is receiving user input. In some instances, an application may be suspended rather than being placed into the background state. Implementation of the disclosed services may be substantially transparent to the executing user applications and, in some cases, may be performed without the user application's explicit cooperation. | 10-13-2011 |