Abstract:
An arrangement on a mobile computing device wherein actual motion of the device can be employed to control, among other things, the panning, zooming, paging and scrolling of a graphic user interface. The user would need only use only one hand to hold the device and simultaneously undertake the aforementioned functions, e.g., by moving or gesturing with the device to perform pan, zoom, page and/or scroll functions on an image or document currently displayed on the device. Thus, the screen wouldn&#39;t necessarily need to be a touch screen, and the user wouldn&#39;t necessarily need to ever touch the screen.

Description:
BACKGROUND 
       [0001]    The field of the invention is mobile computing devices, particularly those with small screens that permit pan and zoom functions. 
         [0002]    Mobile computing devices with smaller screens, and which normally include a telephony function, have proliferated in recent years to permit users to essentially carry a miniature computer in their pocket, allowing for such varied functions as internet access and smaller-scale word processing in the palm of one&#39;s hand. The screens in such devices often permit touch activation with a stylus or a user&#39;s fingers for added versatility and functionality. 
         [0003]    Different incarnations of the “iPhone®” manufactured by Apple, Inc. of Cupertino, Calif., include a touchscreen capability wherein, among other things, a user&#39;s fingers can directly control pan and zoom functions of the screen display. For instance, touching the screen with a finger and then dragging the finger over the screen can afford a panning function, while applying two fingers to the screen and dragging them closer to or further apart from one another can afford zoom-out and zoom-in functions, respectively. 
         [0004]    Finger-activated functions still emerge as two-handed functions, in that one hand is needed to hold the device while the other is used for the aforementioned finger activation and manipulation. A touchscreen is also required and with the constant finger activation and manipulation it can easily become smudged or marred from any moist and grease imparted by the user&#39;s fingers. 
         [0005]    Accordingly, the inventors have recognized a need for overcoming the functional and practical disadvantages, mentioned above, associated with touchscreens as well as other disadvantages. 
       BRIEF SUMMARY 
       [0006]    In accordance with at least one presently preferred embodiment of the present invention, there is broadly contemplated herein an arrangement on a mobile computing device wherein actual motion of the device can be employed to control, among other things, the panning, zooming, paging and scrolling of a graphic user interface. The user would need only use only one hand to hold the device and simultaneously undertake the aforementioned functions, e.g., by moving or gesturing with the device to perform pan, zoom, page and/or scroll functions on an image or document currently displayed on the device. Thus, the screen wouldn&#39;t necessarily need to be a touch screen, and the user wouldn&#39;t necessarily need to ever touch the screen. 
         [0007]    In summary, one aspect of the invention provides an apparatus comprising: a mobile computing device; the mobile computing device comprising a main memory and system processor; the mobile computing device being displaceable by hand; aid mobile computing device further comprising a display for displaying an image; said mobile computing device further comprising a motion detection module; aid motion detection module acting to: detect displacement of the mobile computing device; detect a direction of displacement of the mobile computing device; and alter an appearance of an image on the display responsive to detection of displacement and a direction of displacement of the mobile computing device. 
         [0008]    Another aspect of the invention provides a method comprising: providing a mobile computing device comprising a main memory and system processor; displaying an image on the mobile computing device; displacing the mobile computing device by hand; detecting displacement of the mobile computing device; detecting a direction of displacement of the mobile computing device; and altering an appearance of the image responsive to the detecting of displacement and the detecting of a direction of displacement. 
         [0009]    Furthermore, an additional aspect of the invention provides a computer program product comprising: a computer readable storage medium having computer readable program code embodied therewith, the computer readable program code comprising: computer readable program code configured to display an image on the mobile computing device; computer readable program code configured to detect displacement of the mobile computing device; computer readable program code configured to detect a direction of displacement of said mobile computing device; and computer readable program code configured to alter an appearance of the image responsive to said detecting of displacement and said detecting of a direction of displacement. 
         [0010]    A further aspect of the invention provides a computer program product comprising: a computer readable storage medium having computer readable program code embodied therewith, the computer readable program code comprising: computer readable program code configured to detect a direction of displacement of a mobile computing device; computer readable program code configured to alter an appearance of an image displayed on said mobile computing device responsive to said detecting a direction of displacement of a mobile computing device; wherein to alter an appearance of an image displayed on said mobile computing device comprises one or more of implementing a zoom function, implementing a panning function, and implementing a paging function. 
         [0011]    For a better understanding of the present invention, together with other and further features and advantages thereof, reference is made to the following description, taken in conjunction with the accompanying drawings, and the scope of the invention will be pointed out in the appended claims. 
     
    
     
       BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS 
         [0012]      FIG. 1  schematically illustrates components of a mobile computing device. 
           [0013]      FIG. 1   a  schematically illustrates certain components of a mobile computing device. 
           [0014]      FIG. 2  schematically illustrates a mobile computing device and directions of motion. 
           [0015]      FIG. 3  schematically illustrates a motion detection module. 
       
    
    
     DETAILED DESCRIPTION 
       [0016]    It will be readily understood that the components of the embodiments of the present invention, as generally described and illustrated in the Figures herein, may be arranged and designed in a wide variety of different configurations. Thus, the following more detailed description of the embodiments of the apparatus, system, and method of the present invention, as represented in the Figures, is not intended to limit the scope of the invention, as claimed, but is merely representative of selected embodiments of the invention. 
         [0017]    Reference throughout this specification to “one embodiment” or “an embodiment” (or the like) means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, appearances of the phrases “in one embodiment” or “in an embodiment” in various places throughout this specification are not necessarily all referring to the same embodiment. 
         [0018]    Furthermore, the described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are provided, such as examples of programming, software modules, user selections, network transactions, database queries, database structures, hardware modules, hardware circuits, hardware chips, etc., to provide a thorough understanding of embodiments of the invention. One skilled in the relevant art will recognize, however, that the various embodiments of the invention can be practiced without one or more of the specific details, or with other methods, components, materials, etc. In other instances, well-known structures, materials, or operations are not shown or described in detail to avoid obscuring aspects of the embodiments of the invention. 
         [0019]    The illustrated embodiments of the invention will be best understood by reference to the drawings, wherein like parts are designated by like numerals or other labels throughout. The following description is intended only by way of example, and simply illustrates certain selected embodiments of devices, systems, and processes that are consistent with the invention as claimed herein. 
         [0020]    Referring now to  FIG. 1 , there is depicted a block diagram of an illustrative embodiment of a mobile computing device  202 . The illustrative embodiment depicted in  FIG. 1  may be mobile computing device such as a smart phone or other computing device. As is apparent from the description, however, the present invention is applicable any appropriately configured computing device, as described herein. 
         [0021]    As shown in  FIG. 1 , mobile computing device  202  includes at least one system processor  42 , which is coupled to a Read-Only Memory (ROM)  40  and a system memory  46  by a processor bus  44 . System processor  42 , which may comprise one of the AMD™ line of processors produced by AMD Corporation or a processor produced by Intel Corporation or ARM Ltd., is a general-purpose processor that executes boot code  41  stored within ROM  40  at power-on and thereafter processes data under the control of operating system and application software stored in system memory  46 . System processor  42  is coupled via processor bus  44  and host bridge  48  to Peripheral Component Interconnect (PCI) local bus  50 . 
         [0022]    PCI local bus  50  supports the attachment of a number of devices, including adapters and bridges. Among these devices is network adapter  66 , which interfaces electronic device  100  to LAN  10 , and graphics adapter  68 , which interfaces electronic device  100  to display  69 . Communication on PCI local bus  50  is governed by local PCI controller  52 , which is in turn coupled to non-volatile random access memory (NVRAM)  56  via memory bus  54 . Local PCI controller  52  can be coupled to additional buses and devices via a second host bridge  60 . 
         [0023]    Mobile computing device  202  further includes Industry Standard Architecture (ISA) bus  62 , which is coupled to PCI local bus  50  by ISA bridge  64 . Coupled to ISA bus  62  is an input/output (I/O) controller  70 , which controls communication between electronic device  100  and attached peripheral devices such as a keypad, touch pad, and a disk drive. In addition, I/O controller  70  supports external communication by electronic device  100  via serial and parallel ports. The USB Bus and USB Controller (not shown) are part of the Local PCI controller ( 52 ). 
         [0024]      FIG. 1   a  is a simplified drawing schematically illustrating certain components of a mobile computing device  202  in accordance with a presently preferred embodiment of the present invention. Indicated at  204  is a motion-detection module which interfaces with an operating system  206  (which could include or be part of a main memory) and system processor  208  of device  202 . The makeup and functioning of a motion-detection module in accordance with at least one embodiment of the present invention will be better understood from further discussion below. 
         [0025]      FIG. 2  again schematically illustrates mobile computing device  202 , this time showing a display screen  210  and an image or document displayed  212  thereon. The image or document  212 , for its part, can be displayed by way of a graphical user interface (GUI) of essentially any suitable type. Preferably, the module  204  ( FIG. 1   a ) is configured to track and monitor movements of the mobile computing device  202  in space such as, e.g., movements to the left, right, “up” and “down” (indicated by arrows  216 / 218 / 220 / 222 , respectively) as well as movements “towards” and “away from” the user (indicated by symbols  224 / 226 , respectively). More precisely, “up”/“down”/“left”/“right”  216 / 218 / 220 / 222  are preferably coplanar with the lie of the screen  210 . Further, “up”  216  preferably may be defined as a direction parallel to and oriented along an upward direction of image/document  212  (wherein “upward” corresponds sensibly to a perceptually upper portion of the screen  210  in accordance with the image/document  212  shown thereon), “down”  218  preferably may be defined as a direction parallel to and oriented along a downward direction of image/document  212  screen (wherein “downward” corresponds sensibly to a perceptually lower portion of the screen  210  in accordance with the image/document  212  shown thereon), with the “left” and “right” ( 220 / 222 ) directions appropriately running in perpendicular to “up”/“down”  216 / 218 . “Towards”  224 , for its part, preferably is defined in perpendicular to the lie of the screen  210  and along that general direction in which image/document  212  is displayed towards a user, with “away from”  226  being defined in that direction which is directly opposite with respect to “towards” ( 224 ). 
         [0026]    Preferably, movements in directions  216 - 226  sufficient for detection by module  204  ( FIG. 1 ) can preferably be brought about by the user imparting a quick, sharp displacement of the device  202  in or towards the direction in question, but other types of movements can also prompt detection by module  204  ( FIG. 1 ). 
         [0027]      FIG. 3  schematically illustrates motion-detection module  204  in more detail. Preferably, module  204  may include an accelerometer  228  capable of detecting displacement, velocity and changes in orientation of mobile computing device  202  ( FIG. 2 ). Typically, an accelerometer  228  associated with a mobile computing device (such as a mobile phone) includes a set of application program interfaces (API&#39;s), and these are indicated at  230 . Preferably, at least one API ( 230 ) may be configured for processing data related to the aforementioned displacement, velocity and orientation changes. This may be done by calling code in the form of a listener object  232  which, responsive to a spatial location or orientation change, will specifically determine quantitatively what changes took place and in which direction(s). 
         [0028]    Thence through interaction with system processor  208  ( FIG. 1   a ), pre-determined protocols can preferably govern the action next to take place. For instance, sharp displacement “up” or “down” ( 224 / 226  in  FIG. 2 ) can prompt paging backward or forward, respectively, through a document at  212  ( FIG. 2 ). Sharp displacements in any direction ( 216 / 218 / 220 / 222 ) coplanar with respect to screen  210  ( FIG. 2 ) can preferably prompt a corresponding panning motion through an image or document  212  ( FIG. 2 ), while a sharp displacement “towards” or “away from” ( 224 / 226 ) in  FIG. 2 ) can cause, respectively, a zooming into or out of an image/document  212  ( FIG. 2 ). It should be noted that the above pre-determined protocols are merely non-limiting and exemplary of presently preferred embodiments of the invention. One or more modifications to these pre-determined protocols can be make, such as implementing the opposite of the pre-determined protocols mentioned above. 
         [0029]    It should be understood that as API&#39;s ( 228 ) can typically be included with an accelerometer, the manufacturer or even an end user can be in a position to tailor API&#39;s to perform a desired function such as those discussed hereinabove. Thus, essentially any suitable mobile computing device (e.g., mobile phone) can be taken and undergo software-only modifications to permit functions of the type described hereinabove. 
         [0030]    In brief recapitulation, it will be appreciated from the foregoing that, in accordance with at least one presently preferred embodiment of the present invention, a motion-detection module may be employed, inclusive of an accelerometer, to caption certain motions of a mobile computing device. Using the output of the motion-detection module and heuristics based on empirical analyses, certain motions can be respectively mapped to predefined GUI functions such as panning, zooming and paging. 
         [0031]    Accelerometers, of a general type of which may be employed in accordance with at least one embodiment of the present invention, are discussed in U.S. Published Patent Application US20080174570, “Touch Screen Device, Method and Graphical User Interface for Determining Commands by Applying Heuristics”. 
         [0032]    As will be appreciated by one skilled in the art, aspects of the present invention may be embodied as a system, method or computer program product. Accordingly, aspects of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, aspects of the present invention may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon. 
         [0033]    Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. 
         [0034]    A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electromagnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. 
         [0035]    Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing. 
         [0036]    Computer program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code may execute entirely on the user&#39;s computer (device), partly on the user&#39;s computer, as a stand-alone software package, partly on the user&#39;s computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user&#39;s computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider). 
         [0037]    Aspects of the present invention are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. 
         [0038]    These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks. 
         [0039]    The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. 
         [0040]    If not otherwise stated herein, it is to be assumed that all patents, patent applications, patent publications and other publications (including web-based publications) mentioned and cited herein are hereby fully incorporated by reference herein as if set forth in their entirety herein. 
         [0041]    Although illustrative embodiments of the present invention have been described herein with reference to the accompanying drawings, it is to be understood that the invention is not limited to those precise embodiments, and that various other changes and modifications may be affected therein by one skilled in the art without departing from the scope or spirit of the invention.