|
References  |
|
|
| *references marked with an asterisk below are user-added references |
|
U.S. References |
|
|
| Add a new US reference: |
| | Reference | Relevancy | Comments | Reference | Relevancy | Comments | 2004/0117735 Breen
Jun,2004 |      Your vote accepted [0 after 0 votes] | | 2004/0075673 Vale et al.
Apr,2004 |      Your vote accepted [0 after 0 votes] | | 6721747 Lipkin
Apr,2004 |      Your vote accepted [0 after 0 votes] | | 6697734 Suomela
Feb,2004 |      Your vote accepted [0 after 0 votes] | | 6684087 Yu et al.
Jan,2004 |      Your vote accepted [0 after 0 votes] | | 2003/0214506 Koselj et al.
Nov,2003 |      Your vote accepted [0 after 0 votes] | | 2003/0071832 Branson
Apr,2003 |      Your vote accepted [0 after 0 votes] | | 2002/0149609 Suzuki et al.
Oct,2002 |      Your vote accepted [0 after 0 votes] | | 6473609 Schwartz et al.
Oct,2002 |      Your vote accepted [0 after 0 votes] | | 2002/0113784 Feilmeier et al.
Aug,2002 |      Your vote accepted [0 after 0 votes] | | 6414698 Lovell et al.
Jul,2002 |      Your vote accepted [0 after 0 votes] | | 2002/0049788 Lipkin et al.
Apr,2002 |      Your vote accepted [0 after 0 votes] | | 2002/0024506 Flack et al.
Feb,2002 |      Your vote accepted [0 after 0 votes] | | 6199082 Ferrel et al.
Mar,2001 |      Your vote accepted [0 after 0 votes] | | 6178272 Segman
Jan,2001 |      Your vote accepted [0 after 0 votes] | | 6161140 Moriya
Dec,2000 |      Your vote accepted [0 after 0 votes] | | 6091387 Ueno et al.
Jul,2000 |      Your vote accepted [0 after 0 votes] | | 6029182 Nehab et al.
Feb,2000 |      Your vote accepted [0 after 0 votes] | | 6023714 Hill et al.
Feb,2000 |      Your vote accepted [0 after 0 votes] | | 6011537 Slotznick
Jan,2000 |      Your vote accepted [0 after 0 votes] | | 5986654 Alexander et al.
Nov,1999 |      Your vote accepted [0 after 0 votes] | | 5952994 Ong et al.
Sep,1999 |      Your vote accepted [0 after 0 votes] | | 5937041 Cardillo et al.
Aug,1999 |      Your vote accepted [0 after 0 votes] | | 5933830 Williams
Aug,1999 |      Your vote accepted [0 after 0 votes] | | 5910805 Hickey et al.
Jun,1999 |      Your vote accepted [0 after 0 votes] | | 5897644 Nielsen
Apr,1999 |      Your vote accepted [0 after 0 votes] | | 5812131 Bertram
Sep,1998 |      Your vote accepted [0 after 0 votes] | | December 1889
Sep,1998 |      Your vote accepted [0 after 0 votes] | | |
|
|
|
|
U.S. References |
|
|
Foreign References |
|
|
|
|
|
|
Foreign References |
|
|
Other References |
|
|
|
|
|
|
Other References |
|
|
|
|
|
References  |
|
|
Claims  |
|
|
We claim:
1. A computer-implemented method for scaling a page of data according to an optimal width for a single segment display on a mobile device, the method comprising: receiving a page of
data on the mobile device that requires scaling for usability, wherein the page of data includes a webpage; separating the page of data into blocks of data after receiving the page of data on the mobile device, such that each block of data corresponds
to a display data element of the page of data, wherein the display data element includes at least one member of a group comprising: a display text block and a display table block; determining whether the display data element is associated with an
optimal width, wherein the optimal width is a width, below which, the display data element is not usable on the single segment display, wherein the optimal width is a preset optimal width that is associated with the display data element, wherein optimal
widths are determined for each of the blocks of data prior to scaling according to its optimal width; scaling the display data element to minimize horizontal scrolling when the display data element is not associated with an optimal width; when the
display data element is associated with an optimal width: determining whether the optimal width is greater than the width of the single segment display; scaling the display data element to the optimal width when the optimal width is greater than the
width of the single segment display; and scaling the display data element to at least the width of the single segment display when the optimal width is not greater than the width of the single segment display.
2. The computer-implemented method of claim 1, wherein the optimal width of the block of data corresponds to a specified width of the block of data, wherein the specified width is set for the block of data prior to determining the optimal
width.
3. The computer-implemented method of claim 1, wherein the optimal width corresponds to a default width of the block of data, wherein the default width represents a minimal width for the block of data that corresponds to the display data
element of the block of data.
4. The computer-implemented method of claim 1, wherein the block of data is scaled according to a width associated with a single segment screen of the mobile device when the width associated with the single segment screen is wider than the
optimal width.
5. The computer-implemented method of claim 1, wherein the optimal width for the block of data is determined according to a width associated with another block of data contained within the block of data.
6. The computer-implemented method of claim 1, wherein a separate scaling factor is applied to a display data element that is not associated with an optimal width and a display element that is associated with an optimal width.
7. A mobile device, comprising: a processor; a single segment display; a memory into which a plurality of computer-executable instructions are loaded, the computer-executable instructions performing a method comprising: receiving a page of
data on the mobile device that requires scaling on the single segment display of mobile device, wherein the page of data includes a webpage; separating the page of data into blocks of data for scaling the blocks of data to fit the display after
receiving the page of data on the mobile device, wherein each block of data corresponds to a display data element, wherein the display data element includes at least one member of a group comprising: a display text block and a display table block;
determining whether the display data element is associated with an optimal width, wherein the optimal width is a width, below which, the display data element is not usable on the single segment display of the mobile device, wherein the optimal width is a
preset optimal width that is associated with the display data element, wherein optimal widths are determined for each of the blocks of data prior to scaling according to its optimal width; scaling the display data element to minimize horizontal
scrolling when the display data element is not associated with an optimal width; when the display data element is associated with an optimal width: determining whether the optimal width is greater than the width of the single segment display; scaling
the display data element to the optimal width when the optimal width is greater than the width of the single segment display; and scaling the display data element to at least the width of the single segment display when the optimal width is not greater
than the width of the single segment display.
8. The mobile device of claim 7, the computer-executable instructions further comprising determining whether all optimal widths have been determined for the blocks of data prior to scaling a first block of data according to its optimal width.
9. The mobile device of claim 7, wherein the optimal width of a first block of data corresponds to a default width of the first block of data, wherein the default width represents a minimal width for the first block of data corresponding to the
data of the first block of data.
10. The mobile device of claim 7, wherein the optimal width of a first block of data corresponds to a specified width of the first block of data, wherein the specified width is set for the first block of data prior to determining the optimal
width.
11. A computer-readable storage medium encoded with computer-executable instructions for performing a method comprising: receiving a page of data on the mobile device that requires scaling, wherein the page of data includes a webpage;
separating the page of data into blocks of data to scale the blocks of data for display on a single segment screen of a mobile device after receiving the page of data on the mobile device, wherein each block of data corresponds to a display data element,
wherein the display data element includes at least one member of a group comprising: a display text block and a display table block; determining whether the display data element of a block of data requires scaling for usability on the mobile device;
when the display data element requires scaling, determining whether the display data element is associated with an optimal width, wherein the optimal width is a width, below which, the display data element is not usable on the mobile device, wherein the
optimal width is a preset optimal width that is associated with the display data element, wherein optimal widths are determined for each of the blocks of data prior to scaling according to its optimal width; scaling the block of data to minimize
horizontal scrolling when the display data element is not associated with an optimal width; when the display data element is associated with an optimal width: determining whether the optimal width is greater than the width of the single segment display; scaling the block of data to at least the size of the screen when the optimal width is less than the width of the single segment display; and scaling the block of data to the optimal width when and the optimal width is greater than the width of the
single segment display.
12. The computer-readable storage medium of claim 11, wherein the associated optimal width of the block of data corresponds to a specified width of the block of data, wherein the specified width is set for the block of data prior to determining
its associated optimal width.
13. The computer-readable storage medium of claim 11, wherein the associated optimal width of the block of data corresponds to a default width of the block of data, wherein the default width represents a minimal width for the block of data that
corresponds to the data within the block of data.
14. The computer-readable storage medium of claim 11, further comprising scaling the block of data according to a width associated with the single segment screen of the mobile device.
15. The computer-readable storage medium of claim 14, wherein a separate scaling factor is applied in scaling each block of data.
16. The computer-readable storage medium of claim 11, wherein scaling one of the blocks of data is avoided when the optimal width associated with the blocks of data corresponds to a specified width. |
|
|
|
|
Claims  |
|
|
Description  |
|
|
FIELD OF THE INVENTION
The present invention relates generally to mobile computing, and more particularly to scaling data according to an optimal width for display on a mobile device.
BACKGROUND OF THE INVENTION
Small, mobile computing devices such as personal desktop assistants, including hand-held and pocket-sized computers, tablet personal computers and the like, are becoming important and popular user tools. In general, they have become small enough
to be extremely convenient, while consuming less battery power, and at the same time have become capable of running more powerful applications. Although the computing circuitry of such devices continues to shrink in size, the area available for
displaying data to a user shrinks as well. The usability of such data may be problematic due to the relatively small size of the display.
For example, data is often displayed in the form of a "web page" that includes text, tables, images, blocks of text, and other varieties of display information. The display information included on a web page is optimized to be displayed on a
screen having a specified minimum size. When the size of the screen available is smaller than the specified minimum size, such as on a mobile device, the mobile device may be unable to show the display information in a usable format.
SUMMARY OF THE INVENTION
The present invention is directed to a system and method for scaling blocks of data to an optimal width when scaling the blocks to fit a screen on a mobile device.
When adapting content designed for larger (desktop PC-sized) screen resolutions to mobile devices with small screens, an objective of the scaling may be to minimize horizontal scrolling. Horizontal scrolling refers to a requirement on a user to
"scroll" the viewing window of the data in a horizontal direction in order to completely view the data provided. Horizontal scrolling is contrasted with "vertical scrolling." Vertical scrolling refers to a requirement on a user to "scroll" the viewing
window of the data in a vertical direction. Vertical scrolling is generally accepted as a preferred method of scrolling over horizontal scrolling.
When horizontal scrolling is minimized, the data is scaled to fit the width of a screen for a mobile device. However, the height associated with the data that results in vertical scrolling may reach a level where usability of the data is
compromised. For example, a block of content in a tabular form (or similar) may result in very thin and long columns in order to ensure that the table fits to the width of the screen. The thin, long columns may result in a page layout that is unusable
and often less preferred to not scaling the data at all. The present invention limits the amount of scaling that is applied to a column in a table, large "chunks" of text such that usability and readability are enhanced or maintained rather than
reduced.
According to one aspect of the present invention, the optimal width provides a minimum width to which the blocks of data may be scaled. Particular types of blocks, depending on the data they contain, may result in a reduction of the usability of
the data when the blocks are fully scaled to fit the screen on the mobile device. In contrast, scaling the blocks to an optimal width preserves the integrity of the data by scaling to a block width that maintains the usability of the data when the data
is displayed on the mobile device. Horizontal scrolling may be required to view the entire block of data since it may be wider than the screen on the mobile device. Usability of the data is increased however, since the block of data is scaled to a
width that is more readily viewable by a user.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 illustrates an exemplary computing device that may be used in one exemplary embodiment of the present invention.
FIG. 2 illustrates an exemplary mobile device that may be used in one exemplary embodiment of the present invention.
FIG. 3 is a logical flow diagram of an exemplary optimal scaling process according to the present invention.
FIG. 4 is a logical flow diagram of an exemplary block type determination process according to the present invention.
FIG. 5 is a logical flow diagram of an exemplary optimal width determination process according to the present invention.
DESCRIPTION OF THE PREFERRED EMBODIMENT
Briefly stated, the present invention is directed at scaling data provided to a mobile device to fit a screen associated with the mobile device according to an optimal width for the data. These and other aspects of the invention will become
apparent to those skilled in the art after reading the following detailed description.
Illustrative Operating Environment
With reference to FIG. 1, one exemplary system for implementing the invention includes a computing device that may be configured to operate as a mobile device, such as computing device 100. In a very basic configuration, computing device 100
typically includes at least one processing unit 102 and system memory 104. Depending on the exact configuration and type of computing device, system memory 104 may be volatile (such as RAM), non-volatile (such as ROM, flash memory, etc.) or some
combination of the two. System memory 104 typically includes an operating system 105, one or more program modules 106, and may include program data 107. This basic configuration is illustrated in FIG. 1 by those components within dashed line 108.
Computing device 100 may have additional features or functionality. For example, computing device 100 may also include additional data storage devices (removable and/or non-removable) such as, for example, magnetic disks, optical disks, or tape. Such additional storage is illustrated in FIG. 1 by removable storage 109 and non-removable storage 110. Computer storage media may include volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage
of information, such as computer readable instructions, data structures, program modules, or other data. System memory 104, removable storage 109 and non-removable storage 110 are all examples of computer storage media. Computer storage media includes,
but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other
medium which can be used to store the desired information and which can be accessed by computing device 100. Any such computer storage media may be part of device 100. Computing device 100 may also have input device(s) 112 such as keyboard, mouse, pen,
voice input device, touch input device, etc. Output device(s) 114 such as a display, speakers, printer, etc. may also be included. These devices are well known in the art and need not be discussed at length here.
Computing device 100 may also contain communication connections 116 that allow the device to communicate with other computing devices 118, such as over a network. Communication connections 116 are one example of communication media.
Communication media may typically be embodied by computer readable instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave or other transport mechanism, and includes any information delivery media. The term "modulated data signal" means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a
wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. The term computer readable media as used herein includes both storage media and communication media.
With reference to FIG. 2, one exemplary system for implementing the invention includes a computing device configured as a mobile device, such as mobile device 200. The mobile device 200 has a processor 260, a memory 262, a display 228, and a
keypad 232. The memory 262 generally includes both volatile memory (e.g., RAM) and non-volatile memory (e.g., ROM, Flash Memory, or the like). The mobile device 200 includes an operating system 264, such as the Windows CE operating system from
Microsoft Corporation or other operating system, which is resident in the memory 262 and executes on the processor 260. The keypad 232 may be a push button numeric dialing pad (such as on a typical telephone), a multi-key keyboard (such as a
conventional keyboard). The display 228 may be a liquid crystal display, or any other type of display commonly used in mobile devices. The display 228 may be touch-sensitive, and would then also act as an input device. The peripheral device port 230
may be of the type to accept additional memory cards, game cards, modem cards, or other peripheral devices.
One or more application programs 266 are loaded into memory 262 and run on the operating system 264. Examples of application programs include phone dialer programs, installation wizard programs, email programs, scheduling programs, PIM (personal
information management) programs, word processing programs, spreadsheet programs, Internet browser programs, data scaling programs, and so forth. The mobile computing device 200 also includes non-volatile storage 268 within the memory 262. The
non-volatile storage 268 may be used to store persistent information which should not be lost if the mobile computing device 200 is powered down. The applications 266 may use and store information in the storage 268, such as e-mail or other messages
used by an e-mail application, contact information used by a PIM, appointment information used by a scheduling program, documents used by a word processing program, device driver programs, and the like.
The mobile computing device 200 has a power supply 270, which may be implemented as one or more batteries. The power supply 270 might further include an external power source, such as an AC adapter or a powered docking cradle, that supplements
or recharges the batteries.
The mobile computing device 200 is also shown with two types of external notification mechanisms: an LED 240 and an audio interface 274. These devices may be directly coupled to the power supply 270 so that when activated, they remain on for a
duration dictated by the notification mechanism even though the processor 260 and other components might shut down to conserve battery power. The LED 240 may be programmed to remain on indefinitely until the user takes action to indicate the powered-on
status of the device. The audio interface 274 is used to provide audible signals to and receive audible signals from the user. For example, the audio interface 274 may be coupled to a speaker for providing audible output and to a microphone for
receiving audible input, such as to facilitate a telephone conversation.
The mobile computing device 200 also includes a radio interface layer 272 that performs the function of transmitting and receiving radio frequency communications. The radio interface layer 272 facilitates wireless connectivity between the mobile
computing device 200 and the outside world, via a communications carrier or service provider. Transmissions to and from the radio interface layer 272 are conducted under control of the operating system 264. In other words, communications received by
the radio interface layer 272 may be disseminated to application programs 266 via the operating system 264, and vice versa.
Illustrative Process for Scaling According to an Optimal Width
FIG. 3 is a logical flow diagram of an exemplary op | | |