1. Field of the Invention
This invention relates to magnification of touchscreen displays. More specifically, it relates to software and methods to improve navigation of a touchscreen graphic user interface (GUI) while under magnification.
2. Brief Description of the Related Art
As technology has advanced, graphic displays have vastly improved in clarity and resolution. Not many years ago, 15 inch monitors displayed GUIs at VGA resolutions (640×480 pixels). However, portable, touchscreen displays like those sold under the KINDLE FIRE HDX brand provide resolutions on an 8.9 inch screen of 2560×1600 pixels or 339 pixels per inch density. The ability to present fonts, images and icons clearly at high resolutions has provided opportunities for interface and software designers to put more content on a single screen. However, as users move to touchscreen devices the screens themselves have become even smaller.
In conjunction with higher screen resolutions in smaller displays, another concurrent phenomenon is the method of navigation itself From the 1980s to 2010 the most common tools for navigating a GUI were keyboard and mouse peripherals. In the most popular operating systems, icons were placed on a static desktop canvas defined by the resolution and size of the physical display monitor. By addition of one or more monitors, the desktop canvas could be expanded to provide more surface area. Nevertheless, this canvas was static and limited the surface area upon which icons and other control objects could be placed. While the desktop canvas could theoretically be made to “scroll” this was not an intuitive feature for users using a keyboard or mouse to navigate about the interface. However, this was to change.
While some touchscreen displays were available in a desktop orientation and others (like Microsoft Corporation's early SURFACE brand technology) operated in a tabletop orientation, these were not portable and did not support optimum ergonomics. When Apple, Inc. introduced the IPAD touchscreen tablets on Apr. 3, 2010, users could position the device in a comfortable orientation to navigate by touch. On the software level, touchscreen navigation is operable by user “gestures.” Initially, these gestures only focused on the Cartesian coordinates of a single touch point on the display and perhaps a single or double-tap on the screen to fire an event on the device. However, as the technology advanced, devices were able to detect “multi-touch” meaning that one, two or three fingers simultaneously touching the screen could signify different operations or states.
From a navigation standpoint, portable touchscreen devices presented challenges but new opportunities. The challenges were a smaller display and smaller desktop in which to show icons and controls. The new opportunities lay in the intuitive nature of sliding a desktop canvas around. Touchscreen devices lend themselves to a new navigation paradigm. For example, an optical microscope will typically only focus on a small area of a slide. As the viewer wants to see other areas of the slide they push the slide with their finger while the viewport of the microscope remains static.
By analogy, the display area of a portable device is like the viewport of the microscope...it only can see a small area of the entire desktop canvas. By registering gestures on the touchscreen, the desktop canvas “slides” under the display viewport in an intuitive manner. There are two types of approaches to this movement: (1) scrolling; and (2) paging.
In a scrolling approach the desktop canvas is like a large slide under a microscope and touchscreen gestures like “swipes” scroll the canvas in the direction it is pulled by the swipe gesture. This action is similar to moving a sheet of paper around a desk with a finger.
The swipe gesture may react differently depending on the speed, distance and contact on the finger on the touchscreen. For example, contacting the screen with a single finger and maintaining the finger in contact with the screen while moving the finger to the left scrolls the canvas the same distance to the left as the finger moved. Another gesture is a “flick” in which the finger moves rapidly to the left in which case the canvas continues to scroll to the left even when the finger is lifted off the screen from the flick gesture. The scrolling may have an “inertia” effect wherein the canvas initially scrolls at the speed of the flick gesture but then slows down to a stop as if the canvas is subject to some friction or other resistive force.
Screen magnification software is well-known for traditional displays coupled to desktop and laptop computers. The magnification software may be built into the operating system of the computer or may be third party applications such as those sold under the MAGIC brand by Freedom Scientific, Inc. Screen magnification software on a traditional computer display typically magnifies a portion of the screen at a user-designated magnification level (e.g., 8×). When this happens, the entire canvas of the desktop cannot be displayed because at magnification only a portion of the canvas is shown. This is frequently referred to as the “viewport.” Using mouse or keyboard commands, the user would pan around the canvas (whether the background desktop, over an application in the foreground or the like). For traditional operating systems on personal computers, the boundaries of the canvas were the edges of the physical display monitor (or monitors for multi-monitor configurations). As the viewport panned to the edge of the canvas the user simply came to a hard boundary and there was nothing left to scroll to.
However, as noted above, touch-screen device operating systems frequently provide a canvas of far greater area that what can be displayed at one time. Therefore, under no magnification, the swipe gesture moves different parts of the canvas into the field of view. This becomes a problem when the touch-screen device is using screen magnification. For example, if the user is at 4× magnification, the user can only view a section of what is viewable at 1×. A user may invoke an “explore” mode by holding down a plurality of fingers onto the screen (e.g., three fingers) which moves the magnified view about the boundaries of the display at 1× but does not scroll the canvas beyond the 1× display boundaries. When the user explores up to the 1× display boundary they are required to switch into a “pan” mode to move otherwise hidden canvas into the display area. Pan mode may require change the number of fingers held down on the touchscreen (e.g., one finger) or that the user switch between dedicated touch modes (i.e operating system gestures and magnification program gestures). The user would then resume the explore mode again to view sections of the newly available canvas areas at 4×.
A drawback of the current state of the art is requiring the low-vision user to switch between explore and pan modes when coming up to a viewport boundary. What is needed in the art is a method and/or software product to detect a viewport boundary that contains additional canvas in the same direction and automatically pan the user to new canvas area without leaving the explore mode.
However, in view of the art considered as a whole at the time the present invention was made, it was not obvious to those of ordinary skill in the field of this invention how the shortcomings of the prior art could be overcome.
The present invention is a method of navigating a touchscreen computing device under software magnification. The touchscreen computing device has a screen that is smaller than a scrollable canvas which can be panned using a touch gesture (typically with a single finger). A single viewing instance is what can be seen of the canvas at one time. A user will swipe their finger up, down, left and right to move the canvas in concert with their own finger's movement. This is much like moving a piece of paper on a desk.
A first canvas view shows a portion of this canvas wherein additional canvas exists but to view it one must scroll in another direction. However, once magnification is applied by a screen magnifier application, the end user now only sees a section of the first canvas view (which is, in turn, only a section of the entire canvas). The area viewable under magnification is called the magnification viewport. While it is known to pan around the viewport, a problem arises when the end user comes to a boundary of the first canvas view. Under the current state of the art, the user has to stop and change from one predefined, directional touchscreen gesture to another to keep moving across the boundary into a second canvas view. This second canvas view is presented by movement of the underlying canvas into view. Without changing gestures, the end user under magnification simply hits this boundary and goes nowhere unless they know to change gestures (e.g., switching from a three-finger “explore” gesture to a single-finger “pan” gesture).
The present invention advances the state of the art by automatically detecting the boundary and actuating the scrolling of the underlying canvas so that the end user can intuitively continue to explore under magnification without changing gestures.
In an embodiment of the invention, this “auto scroll” feature is configurable by the end user and can be toggled on and off. In another embodiment of the invention, exploring gestures may be invoked with inertia wherein a “flick” gesture causes the scrolling to continue even after the user lifts their finger from the touchscreen. The inertia effect typically displays velocity erosion over time. An embodiment of the invention with inertia detects whether the boundary to the next canvas view is within the magnified viewport. If it is, then a flick will carry the user onto the second canvas view by scrolling the underlying canvas. Alternatively, if the flick was invoked before the boundary is in the magnified viewport then the inertia movement would only move the viewport to the boundary edge. It would take a second “flick” to move across the boundary.
For a fuller understanding of the invention, reference should be made to the following detailed description, taken in connection with the accompanying drawings, in which:
In
In
A conceptual view of canvas 40 is presented in
In
In
However, this simplicity changes when the screen is in a magnified view as shown in
However, under the current invention, boundary 305 is detected and the intuitive result for the user is to keep “exploring” to the right. That means the present invention intercepts this gesture and the position of the magnified viewport. Realizing the user is attempting to explore beyond the magnified viewport, the present invention emulates a single-figure swipe to move the view of
An embodiment of the invention is presented as process flowchart in
The present invention may be embodied on various computing platforms that perform actions responsive to software-based instructions and most particularly on touchscreen portable devices. The following provides an antecedent basis for the information technology that may be utilized to enable the invention.
The computer readable medium described in the claims below 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.
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, electro-magnetic, 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.
Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wire-line, optical fiber cable, radio frequency, etc., or any suitable combination of the foregoing. 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, C#, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages.
Aspects of the present invention are described below 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.
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.
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.
Active window: the focused window in the current window manager or explorer.
Canvas: a virtual container in a graphic user interface that holds drawing elements, visual controls and other objects. The canvas area may be equal to or greater than the boundaries of the display device showing the graphic user interface.
Explore: a mode of navigation to move within and possibly beyond a magnified viewport.
Gestures: are predefined motions used to interact with touchscreens. Gestures may include, but are not limited to:
Inertia: a visual effect whereby a gesture's speed and direction is correlated into a movement of the canvas with momentum that continues for a predetermined time until it slows to a stop, even after the user has lifted their finger from the touchscreen. This effect is commonly invoked after a “flick” gesture.
Multi-touch: a touchscreen's ability to recognize the presence of two or more points of contact with the surface.
Pan: the sliding of text, images or video across a monitor or display analogous to moving a camera in a panoramic shot.
Scroll: the sliding of text, images or video across a monitor or display, vertically or horizontally.
Touchscreen: an electronic visual display that the user can control through simple or multi-touch gestures by touching the screen with one or more fingers.
Viewport: display of a section of a display or canvas, often under magnification.
The advantages set forth above, and those made apparent from the foregoing description, are efficiently attained. Since certain changes may be made in the above construction without departing from the scope of the invention, it is intended that all matters contained in the foregoing description or shown in the accompanying drawings shall be interpreted as illustrative and not in a limiting sense.
This application is a continuation of U.S. Nonprovisional Patent Application No. 14,091,753 filed Nov. 27, 2013, entitled “Gesture-Based Screen-Magnified Touchscreen Navigation.”
Number | Date | Country | |
---|---|---|---|
Parent | 14091753 | Nov 2013 | US |
Child | 14483614 | US |