The present invention relates generally to small computer devices and, more specifically, to an improved user interface shell for small computer devices that execute typical operating systems and application programs.
Among trends in the history of computing are miniaturization and personalization: from large mainframes to personal desktops, handhelds, and even wearable computer systems. The adoption of such devices by the broader and more diverse population is also growing, and today's technology includes full-powered computing devices that comfortably fit in the palm of one's hand.
Handheld computers are used in different contexts and for different purposes than traditional desktops and, therefore, they pose different constraints and challenges for designers. A few years ago, Microsoft Corporation developed its own solution for an operating system running on handheld computers, namely WindowsCE for the PocketPC and HandheldPC devices. Windows CE is a much less powerful version of the Windows desktop-operation operating system (OS) that was created for the consumer electronic devices with much less computing power than a common desktop PC. However, the limitations of WindowsCE has created demand for mobile computing devices that can more fully utilize contemporary full-power operating systems and applications.
Small computer devices (SCDs) are robust computer systems that functionally rival desktop and laptop computers and which are capable of running the standard full-size operating system but which are, as the name suggests, physically much smaller in overall size. SCDs generally comprise a very-high-resolution display (with resolutions akin to those for laptop computers, e.g., 640×480), a micro 84-key QWERTY keyboard (which is the same arrangement typical for laptop computers), and a pointer device of some kind (for example, a mouse and its equivalents such as a pointing stick, a touchpad, a trackball, etc.). In addition, SCDs may also comprise touch-screen capabilities (somewhat akin to a Pocket PC), additional specialized buttons (such as a series of button in a circumferential “race-track” arrangement around the very-high-resolution display), and specialized on-the-go pointer/selection devices (such as a super-dogbone pointer/selection device). In addition to the user interfaces, SCDs may also comprise wireless communication devices, integrated video capture devices (e.g., a camera), removable media, and a plethora of other devices in addition to the standard components of a personal computer system including, without limitation, a CPU, RAM, persistent storage device(s), and other computer components described in more detail later herein.
One example of a SCD is Microsoft's “GoPC” (schematics illustrations for which are included as
While having all of the power of a robust laptop conveniently packaged in an SCD, there are certain natural disadvantages to its small size. For example, the SCD keyboard is very small and unsuitable for normal typing tasks and, despite the very-high-resolution display, detailed point-and-click operations are considerably more challenging (e.g., the drop-down menus for standard applications programs running on an SCD may be clear but will be very, very tiny and difficult to point at with any pointer/selector device). Moreover, SCDs are generally not used in the same way as “full-size” systems (laptops and personal computer systems), but operating systems and application programs developed for full-size systems do not account for (nor provide functionality to support) operations on an SCD. Indeed, SCDs are not a replacement for desktop, laptop, or Tablet PC machines but, rather, as an extension of the computer system experience into the area of a personal and consumer domains.
Therefore, while the GoPC specifically provides more of a general platform for ultra personal computing that can be built upon (with operating systems, applications, expansion components, etc.) rather than being a specific end-product, the user experience and expectations are still different from those for full-size computer systems. Consequently, a common user interface to fit all form factors (including but not limited to full-size systems and SCDs) and contexts of use (including but not limited to at-the-desk operation and on-the-go mobile utilization) could not deliver successful user experience.
What is needed in the art is an improved user interface specifically for SCDs that enables an end-user to conveniently utilize the SCD and its operating system and applications programs in a more convenient way that is characteristic with the ways in which SCDs are typically utilized.
Various embodiments of the present invention are directed to systems and methods for to an improved user interface shell for SCDs that execute typical operating systems and application programs. Several embodiments of the present invention are directed to a shell task user interface (STUI) that resides on top of the native operating system and application programs to enable an end-user to conveniently utilize the SCD and its operating system and applications programs in a more convenient way that is characteristic with the ways in which SCDs are typically utilized.
The foregoing summary, as well as the following detailed description of preferred embodiments, is better understood when read in conjunction with the drawings, tables, and other visual representations incorporated herein, attached hereto, or included herewith. For the purpose of illustrating the invention, there is shown in these drawings exemplary constructions of the invention or illustrations of its functionality and methods; however, the invention is not limited to the specific methods and instrumentalities disclosed.
The subject matter is described with specificity to meet statutory requirements. However, the description itself is not intended to limit the scope of this patent. Rather, the inventors have contemplated that the claimed subject matter might also be embodied in other ways, to include different steps or combinations of steps similar to the ones described in this document, in conjunction with other present or future technologies. Moreover, although the term “step” may be used herein to connote different elements of methods employed, the term should not be interpreted as implying any particular order among or between various steps herein disclosed unless and except when the order of individual steps is explicitly described.
Computer Environment
Numerous embodiments of the present invention may execute on a computer.
As shown in
A number of program modules may be stored on the hard disk, magnetic disk 29, optical disk 31, ROM 24 or RAM 25, including an operating system 35, one or more application programs 36, other program modules 37 and program data 38. A user may enter commands and information into the personal computer 20 through input devices such as a keyboard 40 and pointing device 42. Other input devices (not shown) may include a microphone, joystick, game pad, satellite disk, scanner or the like. These and other input devices are often connected to the processing unit 21 through a serial port interface 46 that is coupled to the system bus, but may be connected by other interfaces, such as a parallel port, game port or universal serial bus (USB). A monitor 47 or other type of display device is also connected to the system bus 23 via an interface, such as a video adapter 48. In addition to the monitor 47, personal computers typically include other peripheral output devices (not shown), such as speakers and printers. The exemplary system of
The personal computer 20 may operate in a networked environment using logical connections to one or more remote computers, such as a remote computer 49. The remote computer 49 may be another personal computer, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to the personal computer 20, although only a memory storage device 50 has been illustrated in
When used in a LAN networking environment, the personal computer 20 is connected to the LAN 51 through a network interface or adapter 53. When used in a WAN networking environment, the personal computer 20 typically includes a modem 54 or other means for establishing communications over the wide area network 52, such as the Internet. The modem 54, which may be internal or external, is connected to the system bus 23 via the serial port interface 46. In a networked environment, program modules depicted relative to the personal computer 20, or portions thereof, may be stored in the remote memory storage device. It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers may be used.
While it is envisioned that numerous embodiments of the present invention are particularly well-suited for computerized systems, nothing in this document is intended to limit the invention to such embodiments. On the contrary, as used herein the term “computer system” is intended to encompass any and all devices capable of storing and processing information and/or capable of using the stored information to control the behavior or execution of the device itself, regardless of whether such devices are electronic, mechanical, logical, or virtual in nature.
Shell Task User Interface (STUI)
Various embodiments of the present invention are directed to systems and methods for a shell task user interface (STUI) that resides on top of the native operating system and application programs to enable an end-user to conveniently utilize an SCD (such as the GoPC, a schematic drawing of which is provided as
In general, an application running on a SCD with its native user interface can be somewhat challenging to use if you consider the size of the display, even a very-high-resolution display, which may be no more than approximately three inches by four inches (see
For example, consider executing a Microsoft PowerPoint presentation—a typical use of this particular application on an SCD.
Similarly, if the end-user, instead of selecting PowerPoint from the menu (as shown in
Other examples of functionality that various embodiments of the present invention may provide include but are not limited to the following:
In addition to the forgoing, certain embodiments may include additional functionality (some of which may have been previously alluded to herein) as follows:
The various system, methods, and techniques described herein may be implemented with hardware or software or, where appropriate, with a combination of both. Thus, the methods and apparatus of the present invention, or certain aspects or portions thereof, may take the form of program code (i.e., instructions) embodied in tangible media, such as floppy diskettes, CD-ROMs, hard drives, or any other machine-readable storage medium, wherein, when the program code is loaded into and executed by a machine, such as a computer, the machine becomes an apparatus for practicing the invention. In the case of program code execution on programmable computers, the computer will generally include a processor, a storage medium readable by the processor (including volatile and non-volatile memory and/or storage elements), at least one input device, and at least one output device. One or more programs are preferably implemented in a high level procedural or object oriented programming language to communicate with a computer system. However, the program(s) can be implemented in assembly or machine language, if desired. In any case, the language may be a compiled or interpreted language, and combined with hardware implementations.
The methods and apparatus of the present invention may also be embodied in the form of program code that is transmitted over some transmission medium, such as over electrical wiring or cabling, through fiber optics, or via any other form of transmission, wherein, when the program code is received and loaded into and executed by a machine, such as an EPROM, a gate array, a programmable logic device (PLD), a client computer, a video recorder or the like, the machine becomes an apparatus for practicing the invention. When implemented on a general-purpose processor, the program code combines with the processor to provide a unique apparatus that operates to perform the indexing functionality of the present invention.
While the present invention has been described in connection with the preferred embodiments of the various figures, it is to be understood that other similar embodiments may be used or modifications and additions may be made to the described embodiment for performing the same function of the present invention without deviating there from. For example, while exemplary embodiments of the invention are described in the context of digital devices emulating the functionality of personal computers, one skilled in the art will recognize that the present invention is not limited to such digital devices, as described in the present application may apply to any number of existing or emerging computing devices or environments, such as a gaming console, handheld computer, portable computer, etc. whether wired or wireless, and may be applied to any number of such computing devices connected via a communications network, and interacting across the network. Furthermore, it should be emphasized that a variety of computer platforms, including handheld device operating systems and other application specific hardware/software interface systems, are herein contemplated, especially as the number of wireless networked devices continues to proliferate. Therefore, the present invention should not be limited to any single embodiment, but rather construed in breadth and scope in accordance with the appended claims.
This application claims benefit of U.S. Provisional Application No. 60/567,676, entitled “SYSTEMS AND METHODS FOR AN IMPROVED USER INTERFACE SHELL FOR SMALL COMPUTER DEVICES,” filed May 3, 2004 (Atty. Docket No. MSFT-3958/308836.01), the entire contents of which are hereby incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
60567676 | May 2004 | US |