| Patent application number | Description | Published |
| 20090187886 | DECLARTIVE COMMANDS USING WORKFLOWS - Declaratively implementing a command. A method includes declaring an input gesture in a declarative programming language. Declaring an input gesture includes declaring one or more user performed actions. A command name is declared in a declarative programming language. A workflow is declared in a declarative programming language. Declaring a workflow includes declaring schedulable activities that are to be performed without specific specifications of the low level algorithms that are used to accomplish the activities. In an alternative example, workflows may be declared by declaring a wrapper to wrap imperative programming commands. The declared input gestures are bound with the declared workflow through the declared command name. | 07-23-2009 |
| 20090204912 | GENEERAL PURPOSE INFINITE DISPLAY CANVAS - Expanding and contracting a display screen container. Data is stored in a computer readable medium. The data represents a screen container such as a graphical desktop user interface displayable to a user on a computer display of a computing device. Data is stored representing artifacts, including one or more application graphical user interface artifacts for applications that are instantiated on the computing device. Information is stored specifying locations where each of the artifacts should be graphically located in the screen container. The graphical size of screen container is determined by the locations of the artifacts. Based on user input, a portion of the screen container is displayed to the user on the computer display of the computing device. The screen container may be expanded or contracted based on opening or closing graphical user interface artifacts, adding or removing artifacts, or repositioning artifacts. | 08-13-2009 |
| 20090204941 | IMPLICIT COMPOSITION OF COMPONENT BINDINGS - Component domains used to define a binding between various components associated with the component domain. The component domain tracks the various services to be imported by each component, and tracks the various services exported by each component. At runtime, rather than at compile time, the various interrelations between the components are bound using the service import and export data. Accordingly, depending on the components available and their characteristics, the bindings may differ. This permits applications to be much more flexible. | 08-13-2009 |
| 20090204942 | ITERATIVE COMPONENT BINDING - Component domains used to define a binding between various components associated with the component domain. The component domain tracks the various services to be imported by each component, and tracks the various services exported by each component. At runtime, rather than at compile time, the various interrelations between the components are bound using the service import and export data. Accordingly, depending on the components available and their characteristics, the bindings may differ. This permits applications to be much more flexible. In one implementation, the binding is performed iteratively. For example, if after one iteration of binding service imports to service exports, some components may expand the services that they export, or the services that they desire to import. | 08-13-2009 |
| 20090216778 | ACCESSING DIFFERENT APPLICATION DATA VIA A COMMON DATA STRUCTURE - A common data type structure can be used to correlate access requests between applications that implement data in accordance with different types or type structures. In one implementation, a common data structure includes schemes for operations, sequences, records, and atoms (i.e., undefined). The system can then map any type structure to the schemes of the common data structure. In operation, a request for data by an application can involve identifying one or more proxies used by an application to map the data to the common data structure. The proxies map the data to the common data structure based on the shape of the data (to the extent it can be identified). The proxies then can return one or more data structures that comprise the identified mapping information. The application can then perform operations directly on the received data structures. | 08-27-2009 |
| 20090216791 | EFFICIENTLY CORRELATING NOMINALLY INCOMPATIBLE TYPES - A nominal type framework can be configured to efficiently correlate different nominal types together based on a minimum set of common type shapes or structures. In one implementation, a developer identifies a number of different nominal types of interest (source types), and identifies the minimum set of common type shapes to be accessed by an application program. The minimum set of common type shapes can then be used to create an intermediate type (target type) to which each of the other different source types can be mapped. For example, one or more proxies can be created that map shapes of the one or more source types to corresponding shapes of the created target type. The application program created by the developer, in turn, can access, operate on, or otherwise use the mapped data of each different source type through a single target type. | 08-27-2009 |
| Patent application number | Description | Published |
| 20090193136 | STREAMING OBJECT INSTANTIATION USING BOOKMARKS - Bookmarking of tokens in a set of streaming tokens, each representing an instantiation instruction or instantiation context. A navigator receives a set of streaming tokens, and provides the tokens to the instantiation manager. However, if the navigator receives an instruction to bookmark a particular token, the navigator buffers the set of streaming instructions at least beginning at the bookmarked token (and possible even earlier if there were prior bookmarks). The navigator replays the set of streaming tokens beginning at a bookmark in response to an instruction from an instantiation manager. The instantiation manager receives the set of streaming tokens. If the instantiation manager is not presently capable of handling the instruction of a particular token, the instantiation manager instructs the navigator to bookmark the particular token. When the instantiation manager later receives a token that permits the instantiation manager to return to the bookmark, the instantiation manager returns to the bookmark to replay the instantiation instructions beginning at the bookmark. | 07-30-2009 |
| 20100141658 | TWO-DIMENSIONAL SHADOWS SHOWING THREE-DIMENSIONAL DEPTH - Digital shadowing when rendering visual items (e.g., windows) at different virtual display levels (such as z-order levels). The rendering is based on the determination of a position and virtual display level for each of the visual items to be displayed. For those visual items that cast a shadow on lower-level in-shadow visual items, the determined position of the shadow-casting visual item is used to render the shadow on each of the in-shadow visual items differently depending on the corresponding virtual display level of the in-shadow visual items. In particular, the in-shadow visual item that has a lower virtual display level has a longer shadow cast by the shadow-casting visual item than those in-shadow visual items that have a higher virtual display level. This allows the shadows to have a more natural look. | 06-10-2010 |
| 20100146431 | OBJECT PICKER WITH WINDOW SPLITTER - An application work area that includes a splitting mechanism that permits the work area to be divided into multiple windows. Each window is capable of displaying a selected object of the available objects that are open in the application. Each window might include a corresponding distinct object selection mechanism that allows a user to select one of the open objects to display in the corresponding window. In one embodiment, this is permitted regardless of whether that open object is already displayed in another of the windows. As examples, the object selection mechanism may be a selectively viewable open object list such as, for example, a drop down list. Thus, each window that has an object selection mechanism may be used to independently control the object that is viewed in that window. | 06-10-2010 |