Abstract:
An enhanced nullCamel-backnull or nullCompanionnull Digital Organizer (CDO) is described that is designed to interface to a cellular telephone. The CDO is preferably implemented as an add-on component which can be easily attached and detached from a phone by a user and, once in place, can dramatically enhance the phone's functionality by converting the phone into a nullsmartnull phone. Exemplary features of the CDO include an ability for the user to initiate a voice call on the phone from the CDO. Preferably, the user may initiate the voice call from any of multiple modules of the user's data, and not merely from a phone-book module. The CDO is also capable of stand-alone use as a personal organizer device, apart from the phone. The CDO preferably includes a docking unit that removably mates to particular model(s) of phones, and a main unit that removably docks to the docking unit. The docking unit preferably includes substantially all phone-model-specific geometries and features to thereby allow the main unit to be configured for stand-alone use as an organizer with few compromises made to accommodate specific model(s) of phones. Furthermore, the same main unit is suitable for use with multiple docking units that are respectively adapted for different models of phones. Note that some phones have an nullautomatic hang-upnull feature in which the phone unilaterally hangs up a phone call that was initiated by an external device (e.g., a modem or the CDO) upon detaching of the device by the user. For such phones, the docking unit remains attached to the phone during a call initiated by the user via the CDO, even if the user should detach the main unit for stand-alone use as an organizer. The still-attached docking unit contains sufficient circuitry and physical features to prevent automatic hang-up. The main unit includes many features such as a choice of both left- and right-handed modes and the capability for handling electronic mail, remote browsing, remote synchronization, caller identification, and the like.
Abstract:
A dashboard interface includes a plurality of software buttons provided on a panel. Each software button represents one of a plurality of applications. Upon a user selecting a first software button, a first application represented by the first software button is started. Upon a user selecting and dragging a visual representation of a second application to the panel, a new software button representing the second application is added to the panel. Upon a user selecting a different software button size in a configuration menu, the size of each software button in the plurality of software buttons is changed. The plurality of applications are listed in a configuration menu. The order in which the plurality of software buttons is displayed on the panel reflects the order of the listing of the plurality of applications. Upon a user changing the order of the listing of the plurality of applications, the order in which the plurality of software buttons is displayed on the panel is changed.
Abstract:
A system and methods for synchronizing datasets are provided that are especially suitable and efficient for a user who has three or more datasets that need to be occasionally synchronized, with no one dataset or synchronization system being guaranteed to participate in every synchronization. Synchronization status information, such as correspondences between data records of particular multiple datasets, is stored with more than one of the datasets. When two datasets that contain synchronization status information synchronize with each other, they not only synchronize user data and exchange status information involving each other, but they also synchronize and exchange status information involving nullthird-partynull datasets that may not be participating in the synchronization. In this way, synchronization status information collected in an earlier synchronization is made available in a later synchronization, even if the earlier and later synchronizations are not conducted by a same synchronization system or do not both include a common, permanently-designated nullhubnull dataset. Further, when datasets being synchronized are found to contain mutually-duplicative data records, the data records are intelligently mapped to each other as being corresponding so as to avoid or minimize causing of changes to be made, in the data records, that would make synchronization status information stored in another dataset to become obsolete.
Abstract:
An electronic Personal Information Manager (PIM) including a peer-to-peer group scheduling/calendar system is described. The group scheduling/calendar system provides methods for peer-to-peer group scheduling among users, including those users who only have simple e-mail support (i.e., do not have access to the group scheduling/calendar system itself). If a user is able to receive and respond to e-mail, he or she is able to participate in group scheduling in an automated fashion. Under user control, the system generates a scheduling invitation incorporating different formats. Each format includes, in order of increasing content richness, a simple text embedded scheduling invitation, an HTML (Hypertext Markup Language) form embedded scheduling invitation, and a proprietary binary "MIME" (Multipurpose Internet Mail Extensions) scheduling invitation. Each format is designed to transfer the highest degree of information content which a particular target client type can handle. A recipient of the scheduling message employs the messaging format best suited for his or her environment. Regardless of which format the recipient employs, the group scheduling system processes the reply message automatically, with the appropriate information automatically included in the user's group scheduling calendar. The system supports different levels of participation of various individuals throughout various stages of group scheduling, despite the fact that some of the individuals who need to participate might use other proprietary software and reside in other time zones.
Abstract:
A user interface has a mini-program window display means, a launch selection area display means and an activating means. The mini-program window display means displays a plurality of mini-program windows within a first panel interface. Each mini-program window has a first background pattern. Each mini-program window represents a virtual computing screen. Mini-windows shown in the mini-program windows each represent an application window displayed in the represented virtual computing screen. The launch selection area display means displays a plurality of application launch selection areas within a second panel interface. The activating means activates an application process associated with a first application launch selection area in a first virtual computing screen represented by a first mini-program window in response to a user indicating a selection of the first application launch selection area from the application launch selection areas and the selection of the first mini-program window from the plurality of mini-program windows.
Abstract:
A user interface has a main module and a plurality of panel modules. The main module presents the user interface on the display screen to a user. The plurality of panel modules are in communication with the main module. Each panel module presents a panel interface on the display screen to the user. Each panel module is individually configurable and each panel module is configurable as part of the user interface presented by the main module. In the preferred embodiment, the displayed user interface and individual panel interfaces may be varied in size in two dimensions. The user interface can be displayed with a vertical or horizontal orientation. Also, a calendar and resource gauge with unique features are included among the panel interfaces.
Abstract:
A synchronization system providing multi-client synchronization is described. By storing the data that is actually being synchronized (i.e., storing the actual physical body of a memo, for instance) inside an extra database, “Grand Unification Database” (GUD), (or by specially-designated client data set) under control of a central or core synchronization engine, rather than transferring such data on a point-to-point basis, the system of the present invention provides a repository of information that is available at all times and does not require that any other synchronization client (e.g., PIM client or hand-held device) be connected. The GUD provides a super-set of the other client data sets. Therefore, if the user now includes an additional client, such as a server computer storing user information, the synchronization system has all the information necessary for synchronizing the new client, regardless of whether any of the other clients are currently available. The system can, therefore, correctly propagate information to any appropriate client without having to “go back” to (i.e., connect to) the original client from which that data originated.
Abstract:
A portable computing device or "information appliance" having terse user input (e.g., limit set of keys) is provided with an improved user interface. A six-key embodiment is described that provides a "super-key" light entry and editing input system for ultra-portable devices, thus making it well suited for use with credit card-sized devices. In a preferred six-button embodiment, a credit card-sized device is modified to include an additional input button, an EDIT key. In user operation, pressing the EDIT key brings up a context sensitive pop-up menu, thus invoking the super-key feature. Customized user input controls, such as a Text Input Control (e.g., letter and number strips), are provided at appropriate times, for facilitating input. Underlying the super-key input is a heuristic sub-system that remembers and anticipates user input. In this fashion, the system can present in-context options for each application running on the target device, and present appropriate options during different phases of the execution of a variety of tasks. By remembering what the user has previously inputted and by using context-sensitive menus and adaptive "quick" lists, the system can anticipate what the user needs to do at any given time and can guide the user through a step-by-step process to complete each task, thus facilitating the tasks that users most often perform. By including adaptive techniques or built-in intelligence that allows the device to be faster and easier to use with each user session, the target device may anticipate the tasks users need to perform in specific situations and thus make those tasks increasingly easier.
Abstract:
A portable computing device is described with a file system designed for providing improved data transfer methodology. The file system is implemented as a "Delta Block" File System (DBFS) comprising a file system designed specifically for the purpose of minimal delta calculation and minimum data transfer, particularly for portable storage devices which use solid state storage. The design of the DBFS minimizes the work required to compute changes to files and, hence, allows improved data transfer. Any new, removed, or modified blocks are transferred as changes. A simple checksum, CRC (cyclic redundancy checking), or similar comparison can be used to test a block for changes. Because block modifications are isolated to the proximity of the data change, only these blocks will be involved in a transfer. Furthermore, because the delta calculation is at the block level, it can be performed without knowledge of the data itself, thereby allowing any type of data to be compared and transferred. By supporting minimal transfer of data, the file system solves the problem of disproportionate data storage and communication speed situations, such as those encountered with portable computing devices.