United States Patent7219309
Kaasila , ; et al.May 15, 2007

Title

Innovations for the display of web pages

Abstract

Web pages are displayed with a simultaneous overview and magnified view. An indicator can show the portion of the overview in the magnified view. Both views can be shown, one above the other, across the full width of the same screen. A user can select between such a split view and another view, including an overview-only view, a magnified-only view, and a view in which selected text is laid out to fit the width of the magnified view. Navigational input can directly move the layout in the magnified view or the cursor, and can scroll both the overview and magnified view. The magnified view can display text with antialiased fonts designed for its resolution. The magnified view can be made to function like a magnifying glass. The width of text in multicolumn layouts can be limited to fit the width of a view window, such as the magnified-view.


Inventors:Kaasila; Sampo J. (Plaistow, NH), Porter; Edward W.  (Exeter, NH)
Assignee:Bitstream Inc. (Cambridge, MA)
Appl. No.:10/389,445
Filed:March 14, 2003
PCT Pub Date:May 15, 2007

Current U.S. Class:715/800 715/801 715/517 715/760 
Current International Class:G06F 3/00 (20060101)
Field of Search:345/801,781,784,785,786,800,760,792,856,660,662,611,614 715/501.1,513,800,801

U.S. Patent Documents
20010011308August 2001Clark et al.
20010048764December 2001Betrisey et al.
20020021308February 2002White et al.
20020151283October 2002Pallakoff
20030016248January 2003Ubillos
20050041046February 2005Baer et al.
20050132286June 2005Rohrabaugh et al.
4428065January 1984Duvall et al.
4723209February 1988Hernandez et al.
4751507June 1988Hama et al.
5334996August 1994Tanigaki et al.
5341153August 1994Benzschawel et al.
5341466August 1994Perlin et al.
5533174July 1996Flowers, Jr. et al.
5615384March 1997Allard et al.
5638523June 1997Mullet et al.
5714971February 1998Shalit et al.
5727159March 1998Kikinis
5781714July 1998Collins et al.
5821913October 1998Mamiya
5867156February 1999Beard et al.
5911145June 1999Arora et al.
5952994September 1999Ong et al.
5956738September 1999Shirakawa
6044385March 2000Gross et al.
6073168June 2000Mighdoll et al.
6076109June 2000Kikinis
6105042August 2000Aganovic et al.
6128661October 2000Flanagin et al.
6133913October 2000White et al.
6161114December 2000King et al.
6167441December 2000Himmel
6185589February 2001Votipka
6185625February 2001Tso et al.
6188385February 2001Hill et al.
6189020February 2001Shimizu
6219025April 2001Hill et al.
6225973May 2001Hill et al.
6236390May 2001Hitchcock
6236433May 2001Acharya et al.
6239783May 2001Hill et al.
6271840August 2001Finseth et al.
6278448August 2001Brown et al.
6321158November 2001DeLorme et al.
6326970December 2001Mott et al.
6330577December 2001Kim
6339426January 2002Lui et al.
6341310January 2002Leshem et al.
6342890January 2002Shetter
6342896January 2002Shetter et al.
6356882March 2002Carroll et al.
6363395March 2002Tanaka et al.
6393145May 2002Betrisey et al.
6437793August 2002Kaasila
6456305September 2002Qureshi et al.
6486862November 2002Jacobsen et al.
6556217April 2003Makipaa et al.
6674436January 2004Dresevic et al.
6708309March 2004Blumberg
6731315May 2004Ma et al.
6750875June 2004Keely, Jr. et al.
6826727November 2004Mohr et al.
6853980February 2005Ying et al.
6971063November 2005Rappaport et al.
Foreign Patent Documents
PCT/US02/14216Nov., 2002WO
PCT/US02/14217Nov., 2002WO
PCT/US02/14282Nov., 2002WO
PCT/US02/14380Sep., 2002WO
PCT/US03/28342Jul., 2004WO
WO 00/42564Jul., 2000WO
WO 00/57364Sep., 2000WO
WO 00/60479Oct., 2000WO
WO 00/67196Nov., 2000WO
WO 00/67247Nov., 2000WO
WO 02/088908Nov., 2002WO
WO 02/088978Nov., 2002WO
WO 02/089105Nov., 2002WO
WO 02/101567Dec., 2002WO
WO 2004/051429Jun., 2004WO
WO 2004/051430Dec., 2004WO
WO 2004/051430Jun., 2004WO
Other References
Edward Porter, "Screen Shot of Three Microsoft Internet Explorer Windows Showing Same Portion of Web Page with Different Layouts", created Sep. 16, 2005 on Mr. Porter's computer by opening three separate IE windows showing same web sites and manually varying window width and font size. The applicants believe this capability in IE to alter web pages layout by either altering font size or window width predates the earliest priority date in this application. cited by other .
Edward Porter, "Screen Shot of Microsoft Word Displaying Portion of Text at Two Different Displayed Font Sizes", created on Sep. 16, 2005 on Mr. Porter's computer by using the split box to open two panes in an MS Word view, scrolling the bottom pane so it showed same text as top pane, and increasing the magnification in the bottom pane while in normal view so the text in the bottom pane would re-flow across line boundaries. The applicants believe the capability in MS Word to alter layout on one pane in a split view by altering magnification predates the earliest priority date in this application. cited by other .
PCT Search Report on corresponding PCT Case, Jul. 9, 2004, Bitstream, Inc. cited by other .
"Opera Small Screen Rendering" from web page www.opera.com/products/smartphone/smallscreen/news.com/, downloaded on Nov. 26, 2002. cited by other .
"Welecome to Handspring.com" from web page www.handspring.com/index.jhtml, downloaded on Nov. 26, 2002. cited by other .
"Handspring: Software" from web page www.handspring.com/software/blazer.sub.--details.jhtml?. . . , downloaded on Nov. 26, 2002. cited by other .
"A walk on the wide side" p. 56, EWEEK, Apr. 2, 2001. cited by other .
U.S. Appl. No. 10/700,331, filed Nov. 3, 2003, Sampo J. Kaasila et al. cited by other .
U.S. Appl. No. 10/700,376, filed Nov. 3, 2006, Sampo J. Kaasila et al. cited by other .
U.S. Appl. No. 10/700,378, filed Nov. 3, 2003, Sampo J. Kaasila et al. cited by other .
U.S. Appl. No. 10/727,359, filed Dec. 3, 2003, Sampo J. Kaasila. cited by other .
U.S. Appl. No. 10/138,923, filed May 2, 2002, Sampo J. Kaasila et al. cited by other .
Beat Stamm, The raster tragedy at low resolution, Excerpts from the presentation at the training session on Oct. 29, 1997, updated in Mar. 1998, from http://www.microsoft.com/typograph/tools/trtalr.htm%20fname=?&fsize, 30 pages. cited by other .
Smith et al., Scalable Multimedia Delivery for Pervasive Computing, ACM 1999, pp. 131-140, ACM Multimedia '99, Oct. 1999, Orlando FL, USA. cited by other .
Kevin C. Almeroth et al., Scalable Delivery of Web Pages Using Cyclic Best-Efforts Multicast, pp. 1214-1221, IEEE 1998 (see PCT/US02/14380 search report). cited by other .
Guillaume Pierre et al.; Dynamically Selecting Optimal Distribution Strategies for Web Documents, IEEE Transactions On Computers, vol. 51, No. 6, pp. 637-651, Jun. 2002 (see PCT/US02/14380 search report). cited by other .
Edward Porter, Two screen shots of Internet Explorer Window Showing different views of same PDF file, created Sep. 11, 2006 on Mr. Porter's computer by downloading a PDF file from the Web and viewing it first in page width view and then in full page view, 2 pages. cited by other .
"Opera Small Screen Rendering" from web page www.opera.com/products/smartphone/smallscreen/news.com/, 4 printed pages downloaded on Nov. 26, 2002. cited by other .
"Welcome to Handspring.com," 1 printed page from web page www. handspring.com/index.jhtml, downloaded on Nov. 26, 2002. cited by other .
"Handspring: Software," 3 printed pages from web page www.handspring.com/software/blazer.sub.--details.jhtml? . . . downloaded on Nov. 26, 2002. cited by other .
"A walk on the wide side" p. 56, EWEEK, p. 56, Apr. 2, 2001, o1 page. cited by other .
"Jimmy's Windows CE Software Home Page," 7 pages from a web page originally downloaded on or before Jul. 4, 2001 (please note in particiuclarty the portion thereof entitled What's NEW in JS Landscape 2.0 which appears to refer to the product shown in the above EWEEK article). cited by other .
"OmniSky Wireless Service (version 2.0)" 7 page of text and images downloaded and copied from central column of http://www.geek.com/hwswrev/palmpilot/omnisky/index.htm to Microsoft Word on Aug. 7, 2006, stating it was posted by Amy R. Zunk on Feb. 15, 2001, 7 pages. cited by other .
"WAP", downloaded from Wikipedia, the free encyclopedia, on Sep. 8, 2006, 5 pages. cited by other .
"Microbrowser", downloaded from Wikipedia, the free encyclopedia, on Sep. 8, 2006, 3 pages. cited by other .
"Microsoft Reader", downloaded from Wikipedia, the free encyclopedia, on Sep. 8, 2006, 1 page. cited by other .
Displaced Filtering for Patterned Displays, by Claude Betrisey et al, Society for Information Display, 2000, 4 pages. cited by other .
Wireless Enterprise Applications for Mobile Information Management, Palm, Inc., Santa Clara, CA, 2000, 27 pages plus cover sheet. cited by other .
Selling Windows CE to the real world, by Lisa M. Bowman, on Jun. 7, 1999, ZD Net News, originally downloaded from http://www.zdnet.com/zdnn/stories/news/0,4586,2270867.00.html on Mar. 15, 2001, 3 pages. cited by other .
PDA-To-Desktop Remote-Control Technology Debuts, by Steve Gold, on May 11, 2001, Newsbytes, originally downloaded from http://www.nbnn.com/news/01/165603.html on May 12, 2001, 2 pages. cited by other .
The eBook Revolution, downloaded from Http://www.zimac.de/reader.htm, on Sep. 8 2006, the copyright notice at bottom of page goes to http://www.zimac.de/legal.htm, which lists Marc Zimmermann as copyright holder. Page states it was last updated on Mar. 6, 2005, 6 pages. cited by other .
Microsoft Reader FAQ 1.1 (unofficial), by Richard Crocker-Planet eBook editor, copyright 2005 by Binary Thing Pty. Ltd. Downloaded from http://www.planetbook.com/mainpage.asp?webpageid=103 on Sep. 8, 2006, 7 pages. cited by other.~
Primary Examiner: Vu; Kieu D.
Attorney, Agent or Firm:Porter; Edward W.

Parent Case Text



RELATED APPLICATIONS

This is a continuation-in-part application of application Ser. No. 10/138,923, filed by Sampo J. Kaasili et al. on May 2, 2002, and entitled "Methods, Systems, And Programming For Computer Display Of Images, Text, And/Or Digital Content", which in turn claims priority from the following provisional applications: 60/288,287 filed by Sampo J. Kaasila et al. on May 2, 2001; 60/296,275 filed by Sampo J. Kaasila et al. on Jun. 5, 2001; 60/296,237 filed by Sampo J. Kaasila et al. on Jun. 5, 2001; 60/296,274 filed by Sampo J. Kaasila et al. on Jun. 5, 2001; 60/296,284 filed by Sampo J. Kaasila et al. on Jun. 5, 2001; 60/296,231 filed by Sampo J. Kaasila et al. on Jun. 5, 2001; 60/296,224 filed by Sampo J. Kaasila et al. on Jun. 5, 2001; 60/296,426 filed by Sampo J. Kaasila et al. on Jun. 5, 2001; 60/296,273 filed by Sampo J. Kaasila et al. on Jun. 5, 2001; 60/296,283 filed by Sampo J. Kaasila et al. on Jun. 5, 2001; 60/296,281 filed by Sampo J. Kaasila et al. on Jun. 5, 2001; 60/296,327 filed by Sampo J. Kaasila et al. on Jun. 5, 2001; 60/322,922 filed by Sampo J. Kaasila et al. on Sep. 17, 2001;

This application also claims priority from the four PCT applications filed on May 2, 2002 which also claim priority from the thirteen U.S. Provisional applications listed above and which have the following PCT serial numbers: PCT/US02/14282; PC/US02/14217; PC/US02/14216; and PC/US02/14380.

This application also claims priority from the following two provisional applications that were filed after the above mentioned U.S. patent application Ser. No. 10/138,923: 60/430,872 filed by Sampo J. Kaasila et al. on Dec. 3, 2002; 60/445,727 filed by Sampo J. Kaasila et al. on Feb. 7, 2003, with BIT02-1PRO, and which is entitled "Innovations For The Display Of Web Pages"

Applicants claim priority to and hereby incorporate by reference as if fully set forth herein the respective disclosures of all of these prior applications.

Claims


We claim:
1. A method of viewing media on a computing device, said method comprising: receiving digital content representing a web-page to be displayed; laying out the web-page; responding to a first view selecting input from a user by producing a first view of said web-page, which is a split view, by simultaneously: displaying in an overview window a portion of the web page layout at a first scale factor; displaying in a magnified-view window a sub-part of the portion of the layout shown in the overview window, with the display in the magnified-view window being at a second scale factor that causes elements of the layout to appear larger in the magnified-view window than in the overview window; displaying in the overview window a magnified-view indicator that indicates the sub-part of the portion of the layout shown in the overview window that is currently displayed in the magnified-view window; and responding to a navigation input from a user, when said split view is displayed, by moving the sub-part of the layout shown in the magnified-view window and by correspondingly moving the magnified-view indicator relative to the layout shown in the overview window, so the sub-part of the layout shown in the magnified-view window continues to corresponds to the sub-part of the layout indicated by the magnified-view indicator after such movement; and responding to a second view selecting input from a user by producing a second view which does not have the split view's combination of said overview and magnified-view windows; wherein: said digital content includes text to be displayed as part of said web page; said responding to the second view selecting input includes performing a second layout of a selected portion of said web page's text, including re-flowing said selected portion of text across the lines of a new text column at one or more font sizes that are larger relative to the width of the lines of said new column than the font sizes of the selected text were relative to the width of the selected text's layout in the layout used in the split view; and said second view includes a re-flowed-text window in which the full width of said new text column is displayed on said screen. said second view is a second type of split view that simultaneously includes the display of: said re-flowed-text window; and a second overview window that displays a portion of said web page layout at a scale factor that causes elements of the layout to appear smaller than in the magnified view and that causes text to appear in smaller fonts than in said re-flowed-text window; and said second overview window includes an indication of the portion of text currently displayed in the re-flowed-text window.

2. A method as in claim 1 wherein said first and second views are shown on the display screen of a personal digital assistant.

3. A method as in claim 1 wherein said first and second views are shown on the display screen of a cellphone.

4. A method of viewing media on a computing device, said method comprising: receiving digital content representing a web-page to be displayed; laying out the web-page; producing a split view of said web-page by simultaneously: displaying in an overview window a portion of the web page layout at a first scale factor; displaying in a magnified-view window a sub-part of the portion of the layout shown in the overview window, with the display in the magnified-view window being at a second scale factor that causes elements of the layout to appear larger in the magnified-view window than in the overview window; displaying in the overview window a magnified-view indicator that indicates the sub-part of the portion of the layout shown in the overview window that is currently displayed in the magnified-view window; and responding to a navigation input from a user by moving the sub-part of the layout shown in the magnified-view window and by correspondingly moving the magnified-view indicator relative to the layout shown in the overview window, so the sub-part of the layout shown in the magnified-view window continues to corresponds to the sub-part of the layout indicated by the magnified-view indicator after such movement; wherein: said responding to a navigation input includes responding to a navigation input that would move a portion of the magnified-view indicator past the portion of the web page layout shown in the overview window before the navigational input was generated, onto a previously un-shown portion of the web-page layout by: scrolling the web page layout relative to the overview window, so said previously un-shown portion is scrolled into said overview window; moving said portion of the magnified-view indicator onto said previously un-shown portion of the web-page layout; and correspondingly scrolling the sub-part of the layout displayed in the magnified-view window so said sub-part shown in the magnified-view window corresponds to the sub-part of the web-page layout indicated by the magnified-view indicator after such movement; and wherein said split, view is displayed on a screen that is part of browser computer capable of browsing digital content; the browser computer includes browser programming that responds to user input requesting a given web page by requesting that web page from a proxy server over a computer network; said proxy server communicates same user request over a computer network to one or more servers that store or dynamically generate said requested web page; said proxy or more servers sends said requested web page to said proxy server; the proxy server receives the downloaded web page as said receiving of digits content; the proxy server performs said laying out of the web page; the proxy server downloads the web page layout to said browser computer; the browser programming running on the browser computer then produces said split view by making said displays of the downloaded web page layout in said overview and magnified-view windows and by responding to said navigation input with said scrolling.

5. A method as in claim 4 wherein said split view is shown on the display screen of a personal digital assistant.

6. A method as in claim 4 wherein said split view is shown on the display screen of a cellphone.

7. A method in claim of viewing media on a computing device, said method comprising: receiving digital content representing a web-page to be displayed; laying out the web-page; producing a split view of said web-page by simultaneously; displaying in an overview a portion of the web page layout at a first scale factor; displaying in a magnified-view window a sub-part of the portion of the layout shown in the overview window, with the display in the magnified-view window being at a second scale factor that causes elements of the layout to appear larger in th magnified-view window than in the overview window; displaying in the overview window a magnified-view indicator that indicates the sub-part of the portion at the layout shown in the overview window that is currently displayed in the magnified-view window; and responding to navigation inputs from a user by correspondingly moving a cursor within and relative to the magnified-view window and the portion of the web page layout shown in said magnified-view window; wherein said responding to navigation inputs includes responding to a given navigation input that pushes the cursor against the boundary of the magnified view by: moving the cursor past the sub-part of the web page layout shown in the magnified-view window before the given navigational input was generated, onto a part of the web-page layout previously un-shown in the magnified-view window; scrolling the web page layout relative to the magnified-view window, so that said previously un-shown part onto which the cursor is moved is scrolled into, and displayed in, said magnified-view window; and correspondingly scrolling the magnified-view indicator in the overview window so the sub-part of the web-page layout indicated by the magnified-view indicator continues to corresponds to the sub-part of the web-page layout shown in the magnified-view window; and wherein: said split view is displayed on a screen that is part of a browser computer capable of browsing digital content; the browser computer includes browser programming that responds to user input requesting a given web page by requesting that web page from a proxy server over a computer network; said proxy server communicates said user request over a computer network to one or more servers that store or dynamically generate said requested web page; said one or more servers sends said requested web page to said proxy server; the proxy server receives the downloaded web page as said receiving of digital content; the proxy server performs said laying out of the web page; the proxy server downloads the web page layout to said browser computer; the browser programming running on the browser computer then produces said split view by making said displays of the downloaded web page layout in said overview and magnified-view windows.

8. A method as in claim 7 wherein said cursor is shown at the same location relative to the web page layout in both the magnified-view window and in the overview window as it is moved in response to said navigational inputs.

9. A method as in claim 7 wherein said browsing computer is a personal digital assistant.

10. A method as in claim 7 wherein said browsing computer is a cellphone.

11. A method of viewing media on a computing device, said method comprising: receiving digital content representing a web-page to be displayed, including text to be displayed as part of said web page; laying out the web-page; producing a split view of said web-page by simultaneously: displaying in an overview window a portion of the web page layout at a first scale factor; displaying in a magnified-view window a sub-part of the portion of the layout shown in the overview window, with the display in the magnified-view window being at a second scale factor that causes elements of the layout to appear larger in the magnified-view window than in the overview window; displaying in the overview window a magnified-view indicator that indicates the sub-part of the portion of the layout shown in the overview window that is currently displayed in the magnified-view window; and responding to a navigation input from a user by moving the sub-part of the layout shown in the magnified-view window and by correspondingly moving the magnified-view indicator relative to the layout shown in the overview window, so the sub-part of the layout shown in the magnified-view window continues to corresponds to the sub-part of the layout indicated by the magnified-view indicator after such movement; wherein each of a plurality of text characters in said web page layout is represented in the magnified view window by a font bitmap in which the character's shape and pixel alignment has been selected to increase the degree of alignment of edges of the character's shape with pixel boundaries of said font bitmap, given the font bitmap's pixel resolution in the magnified-view window.

12. A method as in claim 11 wherein: said web page layout defines a layout of said font bitmaps used in said magnified-view window; and the display of the web page layout shown in the overview window includes a scaled-down, lower pixel resolution representation of the font bitmaps included in said layout, which lower resolution representations do not have character shapes and pixel alignments selected to increase the degree of alignment of edges of character shapes with pixel boundaries of the lower resolution font bitmap representations displayed in said overview window.

13. A method as in claim 11 wherein the font bitmaps used to represent characters in the magnified-view window are antialiased font bitmaps in which the anti-aliasing is performed for the resolution at which the font bitmaps are displayed in said magnified-view window.

14. A method as in claim 13 wherein text displayed in the magnified-view window is composed from characters of the Latin alphabet and is displayed in a font in which a majority of the lower case characters are displayed with an advance width of
4 pixels or less.

15. A method as in claim 13 wherein: the overview window and magnified-view window are displayed on a screen having pixels comprised of a given arrangement of separately-addressable, differently-colored subpixels; the anti-aliased font bitmaps used to represent characters in the magnified-view window are subpixel-optimized bitmaps that assign a luminosity value to each given subpixel of a screen pixel having said given arrangement of differently-colored subpixels as a function of: a coverage value representing the percent of the given subpixel that is covered by a character shape being represented by the font bitmap; in the case of at least some subpixels of said font bitmaps, a color balancing distribution of a percent of the given subpixel's coverage value from said given coverage value to coverage values of nearby subpixels, including subpixels of different color, made to a prevent color imbalance that would result from the difference between the given subpixel's coverage value and the coverage values of a given set of one or more nearby subpixels of different colors; and in the case of at least some subpixels of said font bitmaps, one or more of said color balancing distributions to the given subpixel's coverage value from the coverage values from one or more nearby subpixels; wherein said color balancing distributions are substantially limited to distribution of portions of a subpixel's coverage value that causes color imbalance within the whole pixel of which it is part.

16. A method as in claim 11 wherein said digital content includes both images and text strings; said laying out of the web page includes laying out said images and text at a virtual pixel resolution using virtual layout pixel sizes for said images and text, so as to assign a horizontal and vertical virtual position in said layout to each of said images and each portion of a string of text displayed on a given line; and the second scale factor has a non-unity value that causes the portion of the web page layout displayed in the magnified-view window to be displayed with a pixel resolution that is scaled down by said second scale factor relative to the corresponding portion in the layout performed at said virtual pixel resolution; images and text in said magnified-view window are shown at pixel coordinates that corresponding to the positions of said images and text in the virtual web page layout, as scaled down by said second scale factor; the images and text are drawn in said magnified-view window at scaled-down pixel sizes that correspond to the pixel sizes used for said images and text in the virtual layout, as scaled down by said second scale factor; the image of a string of text in said magnified-view window is composed from a succession of font bitmaps that have a pixel size scaled down by said second scale factor relative to the size allocated to characters of said string in said virtual layout; and the shape and pixel alignment of the character represented by a font bitmap used to display one of said characters in the magnified-view window have been selected to increase the degree of alignment of edges of the character's shape with the bitmap's pixel boundaries at the resolution at which the font bitmap is displayed in said magnified-view window.

17. A method as in claim 11 wherein: said split view is displayed on a screen that is part of a browser computer capable of browsing digital content; the browser computer includes browser programming that responds to user input requesting a given web page by requesting that web page from a proxy server over a computer network; said proxy server communicates said user request over a computer network to one or more servers that store or dynamically generate said requested web page; said one or more servers sends said requested web page to said proxy server; the proxy server receives the downloaded web page as said receiving of digital content; the proxy server performs said laying out of the web page; the proxy server downloads the web page layout to said browser; the browser programming running on the browser computer then perform said displays of the web page layout in said overview window and said magnified-view window.

18. A method as in claim 17 wherein said browser computer is a cellphone.

19. A method as in claim 17 wherein said browser computer is a handheld or wearable computer.

20. A method as in claim 11 wherein said split view is shown on the display screen of a personal digital assistant.

21. A method as in claim 11 wherein said split view is shown on the display screen of a cellphone.

22. A method of viewing media on a computing device, said method comprising: receiving digital content representing a web-page to be displayed; laying out the web-page; producing a view of said web-page by simultaneously: displaying in an overview window a portion of said web page layout at a first scale factor; and displaying a magnified-view window over a sub-portion of the layout shown in the overview window, so that said magnified-view window effectively covers said sub-portion of the layout in the overview window, wherein the magnified-view window displays, at a second scale factor that causes elements of the layout, to appear larger than in the overview window, a magnified sub-part of said covered sub-portion of the layout over which the magnified-view window is shown in the overview window, said magnified sub-part of the layout being less than all of the sub-portion of the layout that is covered by the magnified-view window, due to fact that the magnified sub-part is displayed at said second, larger scale factor; responding to navigation inputs from user by: moving the magnified-view window relative to said overview window; correspondingly moving the magnified sub-part of the layout shown in the magnified-view window, so the portion of the web-page layout shown in the magnified-view window continues to corresponds to a sub-part of the covered sub-portion of the layout shown in the overview window after such movement; and displaying one or more magnified sub-part markers that indicate the location of the sub-part of the layout displayed on the magnified view window relative to the sub-portion of the layout shown in the overview window that is covered by the magnified view window; wherein one or more of said magnified sub-part markers extend along a sub-part of the width and/or height of one or more edges of the magnified-view window with an extent and location that that is substantially the same as, respectively, the horizontal and/or vertical extent and location of the sub-part of the layout shown in the magnified-view window relative to the layout shown in the overview.

23. A method as in claim 22 wherein one or more of said magnified sub-part markers move relative to said magnified-view window in response to at least certain of said navigation commands.

24. A method as in claim 22 wherein: the magnified-view window has substantially the same width as the overview window; and said responding to navigational inputs by the user includes: responding to vertical navigational inputs by: vertically moving the magnified-view window relative to the overview window; vertically moving the location of the magnified sub-part of the layout shown in the magnified-view window relative to the layout; and vertically moving one or more of said magnified sub-part markers to correspond to the change in vertical location of the magnified sub-part of the layout relative to the layout shown in the overview window; and responding to horizontal navigational inputs, without substantially moving the magnified-view window relative to the overview window, by: horizontally moving the location of the magnified sub-part of the layout shown in the magnified-view window relative in the layout; and horizontally moving one or more of said magnified sub-part markers to correspond to the change in horizontal location of the magnified sub-part of the layout relative to the layout shown in the overview window.

25. A method of viewing media on a computing device, said method comprising: receiving digital content representing a web-page to be displayed; laying out the web-page; producing a view of said web-page by simultaneously: displaying in an overview window a portion of said web page layout at a first scale factor; and displaying a magnified-view window over a sub-portion of the layout shown in the overview window, so that said magnified-view window effectively covers said subportion of the layout in the overview window, wherein the magnified-view window displays, at a second scale factor that causes elements of the layout to appear larger than in the overview window, a magnified sub-part of the said covered subportion of the layout over which the magnified-view window is shown in the overview window; responding to navigation inputs from user by: moving the magnified-view window relative to said overview window; and correspondingly moving the magnified sub-part of the layout shown in the magnified-view window, so the portion of the web-page layout shown in the magnified-view window continues to corresponds to a sub-part of the covered sub-portion of the layout shown in the overview window after such movement; wherein: said digital content includes text; said laying out lays out said text into said web page layout; each of a plurality of characters of said text is displayed in the magnified-view window by a font bitmap in which the character's shape and pixel alignment has been selected to increase the degree of alignment of edges of the character's shape with pixel boundaries of said font bitmap at the resolution at which it is displayed in the magnified-view window.

26. A method as in claim 25 wherein said overview window shows a scaled-down representation of the same web page layout shown in the magnified-view window, using the same fonts bitmaps as are shown in the magnified-view window, but scaled down to a smaller pixel resolution than that for which the character shapes and pixel alignments have been selected.

27. A method as in claim 25 wherein the font bitmaps used to represent characters in the magnified-view window are antialiased font bitmaps in which the anti-aliasing is performed for the resolution at which the font bitmaps are displayed in said magnified-view window.

28. A method as in claim 27 wherein text displayed in the magnified-view window is composed from characters of the Latin alphabet and is displayed in a font in which a majority of the lower case characters are displayed with an advance width of
4 pixels or less.

29. A method as in claim 27: the screen on which the overview window and magnified-view window are displayed has pixels comprised of a given arrangement of separately-addressable, differently-colored subpixels; the anti-aliased font bitmaps used to represent characters in said magnified view are subpixel-optimized bitmaps that assign a luminosity value to each given subpixel of a screen pixel having said given arrangement of differently-colored subpixels as a function of: a coverage value representing the percent of the given subpixel that is covered by a character shape being represented by the font bitmap; in the case of at least some subpixels of said font bitmaps, a color balancing distribution of a percent of the given subpixel's coverage value from said coverage value to coverage values of nearby subpixels, including subpixels of different color, made to a prevent color imbalance that would result from the difference between the given subpixel's coverage value and the coverage values of a given set of one or more nearby subpixels of different colors; and in the case of at least some subpixels of said font bitmaps, one or more of said color balancing distributions to the given subpixel's coverage value from the coverage values from one or more nearby subpixels; wherein said color balancing distributions are substantially limited to distribution of portions of a subpixel's coverage value that causes color imbalance within the whole pixel of which it is part.

30. A method of viewing media on a computing device, said method comprising: receiving digital content representing a web-page to be displayed; laying out the web-page; producing a view of said web-page by simultaneously: displaying in an overview window a portion of said web page layout at a first scale factor; and displaying a magnified-view window over a sub-portion of the layout shown in the overview window, so that said magnified-view window effectively covers said subportion of the layout in the overview window, wherein the magnified-view window displays, at a second scale factor that causes elements of the layout to appear larger than in the overview window, a magnified sub-part of the said covered sub-portion of the layout over which the magnified-view window is shown in the overview window; responding to navigation inputs from user by: moving the magnified-view window relative to said overview window; and correspondingly moving the magnified sub-part of the layout shown in the magnified-view window, so the portion of the web-page layout shown in the magnified-view window continues to corresponds to a sub-part of the covered sub-portion of the layout shown in the overview window after such movement; wherein said digital content includes both one or more images and one or more text strings; said laying out of the web page includes laying out said images and text at a virtual pixel resolution using layout pixel sizes for said images and text, so as to assign a horizontal and vertical virtual position in said layout to each of said images and each portion of a string of text displayed on a given line; and the portion of the web page layout displayed in the magnified-view window is displayed with a pixel resolution that is scaled down by a said second scale factor relative to the corresponding portion in the layout performed at said virtual pixel resolution; images and text in said magnified-view window are shown at pixel coordinates that corresponding to the positions of said images and text in the virtual web page layout, as scaled down by said second scale factor; the images and text are drawn in said magnified-view window at scaled-down pixel sizes that correspond to the pixel sizes used for said images and text in the virtual layout, as scaled down by said second scale factor; the image of a string of text in said magnified-view window is composed from a succession of font bitmaps that have a pixel size scaled down by said second scale factor relative to the size allocated to the characters of said string in said virtual layout and in which the shape and pixel alignment of the character shape represented by each such font bitmap has been selected to increase the degree of alignment of edges of the character's shape with pixel boundaries of the bitmap.

31. A method as in claim 30 wherein: said overview and magnified-view window are displayed on a screen that is part of a browser computer capable of browsing digital content; the browser computer includes browser programming that responds to user input requesting a given web page by requesting that web page from a proxy server over a computer network; said proxy server communicates said user request over a computer network to one or more servers that store or dynamically generate said requested web page; said one or more servers sends said requested web page to said proxy server; the proxy server receives the downloaded web page as said receiving of digital content; the proxy server performs said laying out of the web page; the proxy server downloads the web page layout to said browser; the browser programming running on the browser computer then perform said displays of the web page layout in said overview and magnified-view windows.

32. A method as in claim 31 wherein said browser computer is a cellphone.

33. A method as in claim 31 wherein said browser computer is a handheld or wearable computer.

34. A computing device comprising: one or more memory devices for storing information, including programming information; one or more processors for processing information in response to said programing information; one or more input devices for receiving inputs from a user that can be supplied to one or more of said processors; a display screen on which information can be shown to a user under control of said one or more processors; wherein said programing information includes programing for causing said computing device, under control of said one or more processors, to perform the following functions: receiving digital content representing a web-page to be displayed; laying out the web-page; responding to a first view selecting input from a user by producing a first view of said web-page, which is a split view, by simultaneously: displaying in an overview window a portion of the web page layout at a first scale factor; displaying in a magnified-view window a sub-part of the portion of the layout shown in the overview window, with the display in the magnified-view window being at a second scale factor that causes elements of the layout to appear larger in the magnified-view window than in the overview window; displaying in the overview window a magnified-view indicator that indicates the sub-part of the portion of the layout shown in the overview window that is currently displayed in the magnified-view window; and responding to a navigation input from a user, when said split view is displayed, by moving the sub-part of the layout shown in the magnified-view window and by correspondingly moving the magnified-view indicator relative to the layout shown in the overview window, so the sub-part of the layout shown in the magnified-view window continues to corresponds to the sub-part of the layout indicated by the magnified-view indicator after such movement; and responding to a second view selecting input from a user by producing a second view which does not have the split view's combination of said overview and magnified-view windows; wherein: said digital content includes text to be displayed as part of said web page; said responding to the second view selecting input includes performing a second layout of a selected portion of said web page's text, including re-flowing said selected portion of text across the lines of a new text column at one or more font sizes that are larger relative to the width of the lines of said new column than the font sizes of the selected text were relative to the width of the selected text's layout in the layout used in the split view; and said second view includes a re-flowed-text window in which the full width of said new text column is displayed on said screen, said second view is a second type of split view that simultaneously includes the display of: said re-flowed-text window; and a second overview window that displays a portion of said web page layout at a scale factor that causes elements of the layout to appear smaller than in the magnified view and that causes text to appear in smaller fonts than in said re-flowed-text window; and said second overview window includes an indication of the portion of text currently displayed in the re-flowed-text window.

35. A computing device as in claim 34 wherein said first and second views are shown on the display screen of a personal digital assistant.

36. A computing device as in claim 34 wherein said first and second views are shown on the display screen of a cellphone.

37. A computing device comprising: one or more memory devices for storing information, including programming information; one or more processors for processing information in response to said programming information; one or more input devices for receiving inputs from a user that can be supplied to one or more of said processors; a display screen on which information can be shown to a user under control of said one or more processors; wherein said programming information includes programming for causing said computing device, under control of said one or more processors, to perform the following functions: receiving digital content representing a web-page to be displayed; laying out the web-page; producing a split view of said web-page by simultaneously: displaying in an overview window a portion of the web page layout at a first scale factor; displaying in a magnified-view window a sub-part of the portion of the layout shown in the overview window, with the display in the magnified-view window being at a second scale factor that causes elements of the layout to appear larger in the magnified-view window than in the overview window; displaying in the overview window a magnified-view indicator that indicates the sub-part of the portion of the layout shown in the overview window that is currently displayed in the magnified-view window; and responding to a navigation input from a user by moving the sub-part of the layout shown in the magnified-view window and by correspondingly moving the magnified-view indicator relative to the layout shown in the overview window, so the sub-part of the layout shown in the magnified-view window continues to corresponds to the sub-part of the layout indicated by the magnified-view indicator after such movement; wherein: said responding to a navigation input includes responding to a navigation input that would move a portion of the magnified-view indicator past the portion of the web page layout shown in the overview window before the navigational input was generated, onto a previously un-shown portion of the web-page layout by: scrolling the web page layout relative to the overview window, so said previously un-shown portion is scrolled into said overview window; moving said portion of the magnified-view indicator onto said previously un-shown portion of the web-page layout; and correspondingly scrolling the sub-part of the layout displayed in the magnified-view window so said sub-part shown in the magnified-view window corresponds to the sub-part of the web-page layout indicated by the magnified-view indicator after such movement; and wherein: said split view is displayed on a screen that is part of a browser computer capable of browsing digital content; the browser computer includes browser programming that responds to user input requesting a given web page by requesting that web page from a proxy server over a computer network; said proxy server communicates said user request over a computer network to one or more servers that store or dynamically generate said requested web page; said one or more servers sends said requested web page to said proxy server; the proxy server receives the downloaded web page as said receiving of digital content; the proxy server performs said laying out of the web page; the proxy server downloads the web page layout to said browser computer; the browser programming running on the browser computer then produces said split view by making said displays of the downloaded web page layout in said overview and magnified-view windows and by responding to said navigation input with said scrolling.

38. A computing device as in claim 37 wherein said split view is shown on the display screen of a personal digital assistant.

39. A computing device as in claim 37 wherein said split view is shown on the display screen of a cellphone.

40. A computing device comprising: one or more memory devices for storing information, including programming information; one or more processors for processing information in response to said programming information; one or more input devices for receiving inputs from a user that can be supplied to one or more of said processors; a display screen on which information can be shown to a user under control of said one or more processors; wherein said programming information includes programming for causing said computing device, under control of said one or more processors, to perform the following functions: receiving digital content representing a web-page to be displayed; laying out the web-page; producing a split view of said web-page by simultaneously: displaying in an overview window a portion of the web page layout at a first scale factor; displaying in a magnified-view window a sub-part of the portion of the layout shown in the overview window, with the display in the magnified-view window being at a second scale factor that causes elements of the layout to appear larger in the magnified-view window than in the overview window; displaying in the overview window a magnified-view indicator that indicates the sub-part of the portion of the layout shown in the overview window that is currently displayed in the magnified-view window; and responding to navigation inputs from a user by correspondingly moving a cursor within and relative to the magnified-view window and the portion of the web page layout shown in said magnified-view window; wherein said responding to navigation inputs includes responding to a given navigation input that pushes the cursor against the boundary of the magnified view by: moving the cursor past the sub-part of the web page layout shown in the magnified-view window before the given navigational input was generated, onto a part of the web-page layout previously un-shown in the magnified-view window; scrolling the web page layout relative to the magnified-view window, so that said previously un-shown part onto which the cursor is moved is scrolled into, and displayed in, said magnified-view window; and correspondingly scrolling the magnified-view indicator in the overview window so the sub-part of the web-page layout indicated by the magnified-view indicator continues to corresponds to the sub-part of the web-page layout shown in the magnified-view window; and wherein: said split view is displayed on a screen that is part of a browser computer capable of browsing digital content; the browser computer includes browser programming that responds to user input requesting a given web page by requesting that web page from a proxy server over a computer network; said proxy server communicates said user request over a computer network to one or more servers that store or dynamically generate said requested web page; said one or more servers sends said requested web page to said proxy server; the proxy server receives the downloaded web page as said receiving of digital content; the proxy server performs said laying out of the web page; the proxy server downloads the web page layout to said browser computer; the browser programming running on the browser computer then produces said split view by making said displays of the downloaded web page layout in said overview and magnified-view windows.

41. A computing device as in claim 40 wherein said browsing computer is a personal digital assistant.

42. A computing device as in claim 40 wherein said browsing computer is a cellphone.

43. A computing device as in claim 40 wherein said cursor is shown at the same location relative to the web page layout in both the magnified-view window and in the overview window as it is moved in response to said navigational inputs.

44. A computing device comprising: one or more memory devices for storing information, including programming information; one or more processors for processing information in response to said programming information; one or more input devices for receiving inputs from a user that can be supplied to one or more of said processors; a display screen on which information can be shown to a user under control of said one or more processors; wherein said programming information includes programming for causing said computing device, under control of said one or more processors, to perform the following functions: receiving digital content representing a web-page to be displayed, including text to be displayed as part of said web page; laying out the web-page; producing a split view of said web-page by simultaneously: displaying in an overview window a portion of the web page layout at a first scale factor; displaying in a magnified-view window a sub-part of the portion of the layout shown in the overview window, with the display in the magnified-view window being at a second scale factor that causes elements of the layout to appear larger in the magnified-view window than in the overview window; displaying in the overview window a magnified-view indicator that indicates the sub-part of the portion of the layout shown in the overview window that is currently displayed in the magnified-view window; and responding to a navigation input from a user by moving the sub-part of the layout shown in the magnified-view window and by correspondingly moving the magnified-view indicator relative to the layout shown in the overview window, so the sub-part of the layout shown in the magnified-view window continues to corresponds to the sub-part of the layout indicated by the magnified-view indicator after such movement; wherein each of a plurality of text characters in said web page layout is represented in the magnified-view window by a font bitmap in which the character's shape and pixel alignment has been selected to increase the degree of alignment of edges of the character's shape with pixel boundaries of said font bitmap, given the font bitmap's pixel resolution in the magnified-view window.

45. A computing device as in claim 44 wherein: said web page layout defines a layout of said font bitmaps used in said magnified-view window; and the display of the web page layout shown in the overview window includes a scaled-down, lower pixel resolution representation of the font bitmaps included in said layout, which lower resolution representations do not have character shapes and pixel alignments selected to increase the degree of alignment of edges of character shapes with pixel boundaries of the lower resolution font bitmap representations displayed in said overview window.

46. A computing device as in claim 44 wherein the font bitmaps used to represent characters in the magnified-view window are anti-aliased font bitmaps in which the anti-aliasing is performed for the resolution at which the font bitmaps are displayed in said magnified-view window.

47. A computing device as in claim 46 wherein text displayed in the magnified-view window is composed from characters of the Latin alphabet and is displayed in a font in which a majority of the lower case characters are displayed with an advance width of 4 pixels or less.

48. A computing device as in claim 46 wherein: the overview window and magnified-view window are displayed on a screen having pixels comprised of a given arrangement of separately-addressable, differently-colored subpixels; the anti-aliased font bitmaps used to represent characters in the magnified-view window are subpixel-optimized bitmaps that assign a luminosity value to each given subpixel of a screen pixel having said given arrangement of differently-colored subpixels as a function of: a coverage value representing the percent of the given subpixel that is covered by a character shape being represented by the font bitmap; in the case of at least some subpixels of said font bitmaps, a color balancing distribution of a percent of the given subpixel's coverage value from said given coverage value to coverage values of nearby subpixels, including subpixels of different color, made to a prevent color imbalance that would result from the difference between the given subpixel's coverage value and the coverage values of a given set of one or more nearby subpixels of different colors; and in the case of at least some subpixels of said font bitmaps, one or more of said color balancing distributions to the given subpixel's coverage value from the coverage values from one or more nearby subpixels; wherein said color balancing distributions are substantially limited to distribution of portions of a subpixel's coverage value that causes color imbalance within the whole pixel of which it is part.

49. A computing device as in claim 44 wherein said digital content includes both images and text strings; said laying out of the web page includes laying out said images and text at a virtual pixel resolution using virtual layout pixel sizes for said images and text, so as to assign a horizontal and vertical virtual position in said layout to each of said images and each portion of a string of text displayed on a given line; and the second scale factor has a non-unity value that causes the portion of the web page layout displayed in the magnified-view window to be displayed with a pixel resolution that is scaled down by said second scale factor relative to the corresponding portion in the layout performed at said virtual pixel resolution; images and text in said magnified-view window are shown at pixel coordinates that corresponding to the positions of said images and text in the virtual web page layout, as scaled down by said second scale factor; the images and text are drawn in said magnified-view window at scaled-down pixel sizes that correspond to the pixel sizes used for said images and text in the virtual layout, as scaled down by said second scale factor; the image of a string of text in said magnified-view window is composed from a succession of font bitmaps that have a pixel size scaled down by said second scale factor relative to the size allocated to characters of said string in said virtual layout; and the shape and pixel alignment of the character represented by a font bitmap used to display one of said characters in the magnified-view window have been selected to increase the degree of alignment of edges of the character's shape with the bitmap's pixel boundaries at the resolution at which the font bitmap is displayed in said magnified-view window.

50. A computing device as in claim 44 wherein: said split view is displayed on a screen that is part of a browser computer capable of browsing digital content; the browser computer includes browser programming that responds to user input requesting a given web page by requesting that web page from a proxy server over a computer network; said proxy server communicates said user request over a computer network to one or more servers that store or dynamically generate said requested web page; said one or more servers sends said requested web page to said proxy server; the proxy server receives the downloaded web page as said receiving of digital content; the proxy server performs said laying out of the web page; the proxy server downloads the web page layout to said browser; the browser programming running on the browser computer then perform said displays of the web page layout in said overview window and said magnified-view window.

51. A computing device as in claim 50 wherein said browser computer is a cellphone.

52. A computing device as in claim 50 wherein said browser computer is a handheld or wearable computer.

53. A computing device as in claim 44 wherein said split view is shown on the display screen of a personal digital assistant.

54. A computing device as in claim 44 wherein said split view is shown on the display screen of a cellphone.

55. A computing device comprising: one or more memory devices for storing information, including programming information; one or more processors for processing information in response to said programming information; one or more input devices for receiving inputs from a user that can be supplied to one or more of said processors; a display screen on which information can be shown to a user under control of said one or more processors; wherein said programming information includes programming for causing said computing device, under control of said one or more processors, to perform the following functions: receiving digital content representing a web-page to be displayed; laying out the web-page; producing a view of said web-page by simultaneously: displaying in an overview window a portion of said web page layout at a first scale factor; and displaying a magnified-view window over a sub-portion of the layout shown in the overview window, so that said magnified-view window effectively covers said sub-portion of the layout in the overview window, wherein the magnified-view window displays, at a second scale factor that causes elements of the layout to appear larger than in the overview window, a magnified sub-part of said covered sub-portion of the layout over which the magnified-view window is shown in the overview window, said magnified sub-part of the layout being less than all of the sub-portion of the layout that is covered by the magnified-view window, due to fact that the magnified sub-part is displayed at said second, larger scale factor; responding to navigation inputs from user by: moving the magnified-view window relative to said overview window; correspondingly moving the magnified sub-part of the layout shown in the magnified-view window, so the portion of the web-page layout shown in the magnified-view window continues to corresponds to a sub-part of the covered sub-portion of the layout shown in the overview window after such movement; and displaying one or more magnified sub-part markers that indicate the location of the sub-part of the layout displayed on the magnified view window relative to the sub-portion of the layout shown in the overview window that is covered by the magnified-view window; wherein one or more of said magnified sub-part markers extend along a sub-part of the width and/or height of one or more edges of the magnified-view window with an extent and location that that is substantially the same as, respectively, the horizontal and/or vertical extent and location of the sub-part of the layout shown in the magnified-view window relative to the layout shown in the overview.

56. A computing device as in claim 55 wherein: the magnified-view window has substantially the same width as the overview window; and said responding to navigational inputs by the user includes: responding to vertical navigational inputs by: vertically moving the magnified-view window relative to the overview window; vertically moving the location of the magnified sub-part of the layout shown in the magnified-view window relative to the layout; and vertically moving one or more of said magnified sub-part markers to correspond to the change in vertical location of the magnified sub-part of the layout relative to the layout shown in the overview window ; and responding to horizontal navigational inputs, without substantially moving the magnified-view window relative to the overview window, by: horizontally moving the location of the magnified sub-part of the layout shown in the magnified-view window relative in the layout; and horizontally moving one or more of said magnified sub-part markers to correspond to the change in horizontal location of the magnified sub-part of the layout relative to the layout shown in the overview window.

57. A method as in claim 55 wherein one or more of said magnified sub-part markers move relative to said magnified-view window in response to at least certain of said navigation commands.

58. A computing device comprising: one or more memory devices for storing information, including programming information; one or more processors for processing information in response to said programming information; one or more input devices for receiving inputs from a user that can be supplied to one or more of said processors; a display screen on which information can be shown to a user under control of said one or more processors; wherein said programming information includes programming for causing said computing device, under control of said one or more processors, to perform the following functions: receiving digital content representing a web-page to be displayed; laying out the web-page; producing a view of said web-page by simultaneously: displaying in an overview window a portion of said web page layout at a first scale factor; and displaying a magnified-view window over a sub-portion of the layout shown in the overview window, so that said magnified-view window effectively covers said sub-portion of the layout in the overview window, wherein the magnified-view window displays, at a second scale factor that causes elements of the layout to appear larger than in the overview window, a magnified sub-part of the said covered sub-portion of the layout over which the magnified-view window is shown in the overview window; responding to navigation inputs from user by: moving the magnified-view window relative to said overview window; and correspondingly moving the magnified sub-part of the layout shown in the magnified-view window, so the portion of the web-page layout shown in the magnified-view window continues to corresponds to a sub-part of the covered sub-portion of the layout shown in the overview window after such movement; wherein: said digital content includes text; said laying out lays out said text into said web page layout; each of a plurality of characters of said text is displayed in the magnified-view window by a font bitmap in which the character's shape and pixel alignment has been selected to increase the degree of alignment of edges of the character's shape with pixel boundaries of said font bitmap at the resolution at which it is displayed in the magnified-view window.

59. A computing device as in claim 58 wherein said overview window shows a scaled-down representation of the same web page layout shown in the magnified-view window, using the same fonts bitmaps as are shown in the magnified-view window, but scaled down to a smaller pixel resolution than that for which the character shapes and pixel alignments have been selected.

60. A computing device as in claim 58 wherein the font bitmaps used to represent characters in the magnified-view window are anti-aliased font bitmaps in which the anti-aliasing is performed for the resolution at which the font bitmaps are displayed in said magnified-view window.

61. A computing device as in claim 60 wherein text displayed in the magnified-view window is composed from characters of the Latin alphabet and is displayed in a font in which a majority of the lower case characters are displayed with an advance width of 4 pixels or less.

62. A computing device as in claim 60: the screen on which the overview window and magnified-view window are displayed has pixels comprised of a given arrangement of separately-addressable, differently-colored subpixels; the anti-aliased font bitmaps used to represent characters in said magnified view are subpixel-optimized bitmaps that assign a luminosity value to each given subpixel of a screen pixel having said given arrangement of differently-colored subpixels as a function of: a coverage value representing the percent of the given subpixel that is covered by a character shape being represented by the font bitmap; in the case of at least some subpixels of said font bitmaps, a color balancing distribution of a percent of the given subpixel's coverage value from said coverage value to coverage values of nearby subpixels, including subpixels of different color, made to a prevent color imbalance that would result from the difference between the given subpixel's coverage value and the coverage values of a given set of one or more nearby subpixels of different colors; and in the case of at least some subpixels of said font bitmaps, one or more of said color balancing distributions to the given subpixel's coverage value from the coverage values from one or more nearby subpixels; wherein said color balancing distributions are substantially limited to distribution of portions of a subpixel's coverage value that causes color imbalance within the whole pixel of which it is part.

63. A method of viewing media on a computing device, said method comprising: receiving digital content representing a web-page to be displayed; laying out the web-page; producing a view of said web-page by simultaneously: displaying in an overview window a portion of said web page layout at a first scale factor; and displaying a magnified-view window over a sub-portion of the layout shown in the overview window, so that said magnified-view window effectively covers said sub-portion of the layout in the overview window, wherein the magnified-view window displays, at a second scale factor that causes elements of the layout to appear larger than in the overview window, a magnified sub-part of the said covered sub-portion of the layout over which the magnified-view window is shown in the overview window; responding to navigation inputs from user by: moving the magnified-view window relative to said overview window; and correspondingly moving the magnified sub-part of the layout shown in the magnified-view window, so the portion of the web-page layout shown in the magnified-view window continues to corresponds to a sub-part of the covered sub-portion of the layout shown in the overview window after such movement; wherein said digital content includes both one or more images and one or more text strings; said laying out of the web page includes laying out said images and text at a virtual pixel resolution using layout pixel sizes for said images and text, so as to assign a horizontal and vertical virtual position in said layout to each of said images and each portion of a string of text displayed on a given line; and the portion of the web page layout displayed in the magnified-view window is displayed with a pixel resolution that is scaled down by a said second scale factor relative to the corresponding portion in the layout performed at said virtual pixel resolution; images and text in said magnified-view window are shown at pixel coordinates that corresponding to the positions of said images and text in the virtual web page layout, as scaled down by said second scale factor; the images and text are drawn in said magnified-view window at scaled-down pixel sizes that correspond to the pixel sizes used for said images and text in the virtual layout, as scaled down by said second scale factor; the image of a string of text in said magnified-view window is composed from a succession of font bitmaps that have a pixel size scaled down by said second scale factor relative to the size allocated to the characters of said string in said virtual layout and in which the shape and pixel alignment of the character shape represented by each such font bitmap has been selected to increase the degree of alignment of edges of the character's shape with pixel boundaries of the bitmap.

64. A computing device as in claim 63 wherein: said overview and magnified-view window are displayed on a screen that is part of a browser computer capable of browsing digital content; the browser computer includes browser programming that responds to user input requesting a given web page by requesting that web page from a proxy server over a computer network; said proxy server communicates said user request over a computer network to one or more servers that store or dynamically generate said requested web page; said one or more servers sends said requested web page to said proxy server; the proxy server receives the downloaded web page as said receiving of digital content; the proxy server performs said laying out of the web page; the proxy server downloads the web page layout to said browser; the browser programming running on the browser computer then perform said displays of the web page layout in said overview and magnified-view windows.

65. A computing device as in claim 64 wherein said browser computer is a cellphone.

66. A computing device as in claim 64 wherein said browser computer is a handheld or wearable computer.

Description

FIELD OF THE INVENTION

The present invention relates to methods, systems, and programming for displaying web pages, and particular to such methods of displaying web pages that are useful in display upon small screens, screens with low resolution, or screen that are sufficiently distant from a viewer that they occupy a relatively small portion of a user's visual field.

BACKGROUND OF THE INVENTION

This patent application has many aspects that relate to improving the use of computing devices with small or low resolution screens, such as handheld computers, cellphone computers, or computers with wrist or head mounted displays for browsing the World Wide Web or similar media, although some of its aspects could be used on larger screen computers.

At the time this application is being filed there are multiple handheld computers, such as so-called "personal digital assistants," that have approximately 240 by 320 pixel screens that measure approximately four inches diagonally. These include the Compaq ipaq Pocket PC, the Casio Cassiopeia, and the Hewlett-Packard Jornado. Unfortunately such a resolution would be too low to display most current Web pages in the manner they are designed to be viewed. Currently most Web pages can be viewed fairly well with a 640.times.480 resolution screen (although a few web sites cannot even be easily viewed at this resolution). It would be desirable to be able to view most web pages with such hand held devices in a manner that approximates the ease with which web pages can be viewed on larger screens.

Also at the time this application is being filed there are multiple cellphone that are designed to, amoung, other things allow users to browse web pages. Microsoft Corporation for example is supporting a SmartPhone software standard for cellphones that includes a screen size of 176.times.220 pixels, and includes web browsing software. Unfortunately, the browser software provided as part of this package does not allow users to browse most web pages on such a small screen with anything approaching the ease with which one can browse such web pages on a larger computer.

Other phone manufactures are offering cellphones with other screen sizes. For example, Nokia is currently selling a cellphones with a 176.times.208 pixel screen size. But currently there is no software for browsing web pages on the screens of these computers that comes close to making the browing of many web pages as easy as the browsing of such pages on screens of the size commonly found on desktop and laptop computers.

The manufacturers of liquid crystal displays are now capable of making small screens having substantially higher resolutions than those that are currently on the market. Makers of organic LED displays claim they can achieve even higher resolutions. This means that a four inch diagonal screen of the size currently in the handheld computers listed above could have a resolution of 480 by 640 or higher. Although such screens would provide an acceptable resolution for many web sites, even a higher effective resolution would be desirable to view many web pages.

In addition, in order for such screens to be seen at a relatively high resolution, they would have to be held close to a user's eyes. Although this might be satisfactory for many applications, users might often find it tiring or inconvenient to constantly hold a handheld computer close to their eyes.

Such advances in display resolution would also mean that a 320 by 240 pixel screens could be made with a diagonal length of two inches or less. Such a display would be smaller than the size of the display commonly contained in many present-day multi-media cellphones, and could also fit onto a wristwatch. Such displays would make many forms of applications currently used on hand held computers available on cellphones, wristwatches or other similarly small format computers. Unfortunately they would have the problem of both having a relatively low resolution that would tend to make it difficult for them to view most web pages, and of being so physically small that for a user to be able to see their resolution they would have to be held very close to the user's eyes. Again, holding such a device close to a user's eyes might be satisfactory at certain times, but over long periods of time, or in certain situations it might be inconvenient.

Currently there are several companies that provide head mounted displays that enable a person to see an image of a computer screen, either as a result of light reflected into the user's eyes through a device that appears somewhat like a pair of glasses, or from a mirror placed above, below, or off to the side of the user's eyes. To make it easy for a user to interact with their surroundings while using such a head mounted display, it is often desirable to have such projected computer screens take up a relatively small portion of the user's optic field. Thus, users of such displays might face many of the same problems as would users of small handheld screens.

Some aspects of the invention relate to methods for optimizing the browsing of a Web page on a computer with relatively limited computational power, memory, or bandwidth to the Internet. For example, currently a standard Web browser of the type used in most desktop and laptop computers requires many megabytes of memory and a relatively large amount of computational power. They also require a connection to the Internet having at least the speed of a high-speed modem to work at a desirable speed with a type of Web content contained in many of the World Wide Web's more frequently used Web pages. Unfortunately, many handheld computers either do not have the storage or computational capacity to be able to effectively view many such web pages. Also most commonly available wireless systems have a bandwidth that is substantially below that which would be desirable for viewing many Web pages. As a result of these factors, one of the focus of some of the innovations contained in this application relate to methods for enabling computers with limited storage, commutation, or bandwidth to better browse the World Wide Web or similar media.

SUMMARY OF THE INVENTION

The present invention relates to methods for viewing media on a computing device, which is commonly, but not necessarily, a small computer device such as a cellphone, a personal digital assistant, a wristwatch computer.

The invention includes multiple aspects, a first set of which all relate to a method of displaying media that includes the use of a split view.

These split view methods include receiving digital content representing a web-page to be displayed; laying out the web-page; and producing a split view of the web-page. The split view is produced by simultaneously displaying in an overview window a portion of the web page layout at a first scale factor; and displaying in a magnified-view window a sub-part of the portion of the layout shown in the overview window, with the display in the magnified-view window being at a second scale that causes elements of the layout to appear larger in the magnified-view window than in the overview window. The split view also includes the display in the overview window of a magnified-view indicator that indicates the sub-part of the portion of the layout shown in the overview window that is currently displayed in the magnified-view window.

Some of the invention's split view methods allow a user to navigate the boundaries of the portion the layout that is shown in the magnified view. In such magnified-view navigation a navigation input from a user is responded to by moving the sub-part of the layout shown in the magnified-view window and by correspondingly moving the magnified-view indicator relative to the layout shown in the overview window, so the sub-part of the layout shown in the magnified-view window continues to corresponds to the sub-part of the layout indicated by the magnified-view indicator after such movement.

In some of the magnified-view navigation methods the overview and magnified-view windows are simultaneously displayed on different portions of a single rectangular display screen having a given width and height; and the overview and magnified windows each are substantially as wide as the screen, but each occupies a different portion of the screen's height.

In some embodiments of this aspect of the invention the height of the magnified-view window occupies less than half the combined height of the magnified view and overview windows.

In some embodiments of this aspect of the invention the screen has a portrait orientation relative to the orientation at which the web page layout is displayed in the magnified view and overview windows. In some such embodiments the overview window and magnified-view window each have a greater width than height, causing each of them to have a landscape orientation, despite the fact that the screen on which they are both displayed has a portrait orientation.

Some of the split view methods are multi-view methods. These methods include responding to a first view selecting input from a user by producing a first view of the web-page, described above, and by responding to a second view selecting input from a user by producing a second view that does not have the split view's combination of the overview and magnified-view windows. When the split view is displayed, the method responds to a navigation input from a user as described above.

In some embodiments of this aspect of the invention the first and second responses will be the pressing of different hardware or software buttons or keys, in other embodiments it may be the pressing of the same button when the method's user interface is in a different state.

In some such multiview methods the second view is an overview-only view. In this view a portion of the web page layout is displayed at a scale factor that causes elements of the layout to appear smaller than in the magnified view. This overview-only view is substantially equal in total display size to the combined size of the overview window and the magnified-view window in the split view.

In many embodiments the scale factor of the overview-only view and the overview window of the split view are the same.

In some multiview methods the second view is a magnified-only view. In this view a portion of the web page layout is displayed at a scale factor that causes elements of the layout to appear larger than in the overview window. This magnified-only view is substantially equal in total display size to the combined size of the overview window and the magnified-view window in the split view.

In many such embodiments the scale factor of the magnified-only view and the magnified-view window of the split view are the same.

In some multiview methods the second view is a re-flowed-text window. The responding to the second view selecting input includes performing a second layout of a selected portion of the web page's text, such as the column of text in which the cursor or magnified-view indicator is located before the second view selection input is received, or that is nearest to the cursor or magnified view indicator at that time. The second layout includes re-flowing the selected portion of text across the lines of a new text column at one or more font sizes that are larger relative to the width of the lines of the new column than the font sizes of the selected text were relative to the width of the selected text's layout in the split view. The full width of this new text column is displayed on the screen in the re-flowed-text window.

In some such embodiments the re-flowed-text window of the second view is substantially as large as the combination of the magnified view and overview windows of the split view.

In some embodiments that use such a re-flowed text window the second view is a second type of split view that simultaneously includes the display of a re-flowed-text window and a second overview window. This second overview window displays a portion of the web page layout at a scale factor that causes elements of the layout to appear smaller than in the magnified view and that causes text to appear in smaller fonts than in the re-flowed-text window.

In such re-flowed text split views it is preferred that the second overview window includes an indication of the portion of text currently displayed in the re-flowed-text window. Such a displayed-text indicator can, for example, include showing the text in the overview window that is in the re-flowed text window in reverse video, or with a box encircling it.

In embodiments having a re-flowed-text window it is preferred that the method include responding to a navigation input from a user by moving the portion of text shown in the re-flowed-text window. In such embodiment that have a displayed-text indicator in a simultaneously displayed overview window, it is also preferred that the displayed-text indicator move relative to the layout shown in the overview window in response to such navigational input, so the sub-part of the text shown in the re-flowed-text window continues to corresponds to the sub-part of the text indicated by the display-text indicator after such movement.

It should be appreciated that the invention's use of a re-flowed text window, of the type just described, in the display of media is not limited to multiview methods that also include a split screen mode in which an overview and a magnified window, of the type described above, can be shown.

For example according to some aspects of the invention a method of displaying media could be provided that receives digital content representing a web-page to be displayed; and then performs a first and a second layout of the web-page. The second layout re-flows a selected portion of text across the lines of a new text column at one or more font sizes that are larger relative to the width of the lines of the new column than the font sizes of the selected text were relative to the width of the selected text in the first layout. This method then produces a split view of the web-page. This split view include the display of a portion of the web page layout at a first scale factor in an overview window. It also includes the simultaneous display of the re-flowed selected text in a re-flowed-text window. The full width of the new text column is displayed in the re-flowed-text window on the screen at a second scale factor that causes the portion of text shown in the re-flowed-text window to be displayed in larger fonts than in the overview window.

According to some aspects of the invention an overview/magnified-view split view is provided where the responding to a navigation input includes responding to a navigation input that would move a given portion (i.e., all or a part) of the magnified-view indicator past the portion of the web page layout shown in the overview window before the navigational input was generated, onto a previously un-shown portion of the web-page layout. The method responds to such an input by scrolling the web page layout relative to the overview window, so the previously un-shown portion is scrolled into the overview window. It moves the given portion of the magnified-view indicator onto the previously un-shown portion of the web-page layout. It also correspondingly scrolls the sub-part of the layout displayed in the magnified-view window so the sub-part shown in the magnified-view window corresponds to the sub-part of the web-page layout indicated by the magnified-view indicator after such movement.

According to some aspects of the invention an overview/magnified-view split view is provided where the responding to navigation inputs includes responding differently to a first and a second type of navigational inputs. The method responds to the first type of navigational input by directly moving the magnified-view indicator and the portion of the web page layout shown in the magnified-view window. It responds to the second type of navigational input by directly moving a cursor relative to the portion of the web page layout shown in the magnified view.

Commonly when viewing web pages a user will be interested in selecting links and entering information in controls and fields on the web page. To do this the user will often want to be able to navigate a cursor relative to the magnified view. However when scanning or reading a web site, the user will often be most interested in moving the magnified view itself. This aspect of the invention allows a user to have both of these two types of navigation relative to the magnified view.

In some embodiments of this dual-navigation aspect of the invention, the responding to the second type of navigation input includes responding to such an input that would move the cursor past the sub-part of the web page layout shown in the magnified-view window before that second type of navigational input was generated, onto a part of the web-page layout previously un-shown in the magnified-view window. Such embodiments respond to such an input by (1) moving the cursor past the sub-part of the web page layout shown in the magnified-view window onto the part of the web-page layout previously un-shown in the magnified-view window; (2) scrolling the web page layout relative to the magnified-view window, so the previously un-shown part onto which the cursor is moved is scrolled into, and displayed in, the magnified-view window; and (3) correspondingly scrolling the magnified-view indicator in the overview window so the sub-part of the web-page layout indicated by the magnified-view indicator continues to corresponds to the sub-part of the web-page layout shown in the magnified-view window. This enables a user to scroll the portion of the web page layout shown in the magnified view by moving the cursor against the boundaries of that view.

In many embodiments of this dual-navigation aspect of the invention the cursor is shown at the same location relative to the web page layout in both the magnified-view window and the overview window.

According to another aspect of the invention an overview/magnified-view split view is provided that is similar to the aspect of the invention described in the paragraph before last, except that it does not necessarily include responding to a type of navigational input different from the one for directly moving the cursor. According to this aspect of the invention the responding to navigation inputs includes responding to a given navigation input that would move the cursor past the sub-part of the web page layout shown in the magnified-view window before the given navigational input was generated, onto a part of the web-page layout previously un-shown in the magnified-view window by: (1) moving the cursor past the sub-part of the web page layout previously shown in the magnified-view window, onto the part of the web-page layout previously un-shown in the magnified-view window; (2) scrolling the web page layout relative to the magnified-view window, so that the previously un-shown part onto which the cursor is moved is scrolled into, and displayed in, the magnified-view window; and (3) correspondingly scrolling the magnified-view indicator in the overview window so the sub-part of the web-page layout indicated by the magnified-view indicator continues to corresponds to the sub-part of the web-page layout shown in the magnified-view window.

Peferably this scrolling includes both horizontal and vertical scrolling, and preferably the cursor is shown at the same location relative to the web page layout in both the magnified-view window and in the overview window as it is moved in response to the navigational inputs.

According to one aspect of the invention an overview/magnified-view split view is provided where the magnified-view window moves relative to the overview window, appearing to function something like a magnifying glass. According to this magnifying-glass aspect of the invention, a navigational input from a user is responded to by moving the magnified-view window relative to the overview window, and correspondingly moving the magnified sub-part of the layout shown in the magnified-view window. As a result the portion of the web-page layout shown in the magnified-view window continues to corresponds to a sub-part of the covered sub-portion of the layout show in the overview window after such movement.

Some embodiments of this magnifying-glass aspect of the invention further include displaying one or more magnified sub-part markers that indicate the location of the sub-part of the layout displayed on the magnified view window relative to the layout shown in the overview window. In some such embodiments one or more of the magnified sub-part markers extend along a sub-part of the width and/or height of one or more edges of the magnified-view window and indicate, respectively, the horizontal and/or vertical extent and location of the sub-part of the layout shown in the magnified-view window relative to the layout shown in the overview.

In some embodiments of the magnifying-glass aspect of the invention the magnified-view has both smaller width and height than the overview window so that it can be moved horizontally and vertically in response to navigational inputs.

In some embodiments of this aspect of the invention, however, the magnified-view window has substantially the same width as the overview window. Such embodiments respond to most horizontal and vertical navigational inputs differently. They often respond to vertical navigational inputs by: (1) vertically moving the magnified-view window relative to the overview window; (2) vertically moving the location of the magnified sub-part of the layout shown in the magnified-view window relative to the layout; and (3) vertically moving one or more of the magnified sub-part markers, if necessary to correspond to the change in vertical location of the magnified sub-part of the layout relative to the layout shown in the overview window. Such embodiments often respond to horizontal navigational inputs without substantially moving the magnified-view window relative to the overview window by: (1) horizontally moving the location of the magnified sub-part of the layout shown in the magnified-view window relative in the layout; and (2) horizontally moving one or more of the magnified sub-part markers to correspond to the change in horizontal location of the magnified sub-part of the layout relative to the layout shown in the overview window, if necessary to correspond to the change in horizontal location of the magnified sub-part of the layout relative to the layout shown in the overview window.

In this description, the horizontal direction refers to the direction is which text is laid out in lines on the display. The advantage of having the magnified-view be as wide as the screen is that it allows a wider portion of a layout to appear in the magnified window where text is most readable, and thus it increases the ability of a user to read the whole width of a text column without having to move the magnified view.

Other embodiments that have a magnifying-glass substantially as wide as the screen could respond to horizontal navigational inputs by horizontally moving the overview display of the layout relative to the horizontally stationary magnified view.

Another aspect of the invention relates to a method of displaying a web pages that limits the width at which web page text columns are displayed.

The method of this aspect of the invention accesses a multicolumn web page's content, including a plurality of strings of displayable text, and specifications of a plurality of columns. Each column specification includes a specification of: the strings in the column; the column's layout width; and the column's horizontal layout displacement. These specification can be explicit, or they can be implied. In some cases they define column width relative to the screen area on which the column is to be display, and sometimes they specify it in terms of whole pixels.

Once the web page content has been accessed, the method lays out the web page into a multi-column format using a layout scale factor. This layout includes determining a layout position for each of the columns, where the horizontal layout positions of each column is determined as a function of the column's horizontal displacement specification.

The method enables a user to select a given sub-part of the multicolumn layout from among a plurality of different horizontally displaced sub-parts of the layout; and it displays the user selected portion of the layout on a given screen window having a given horizontal resolution at a given display scale factor. The multicolumn layout includes a set of laterally arranged columns having a total multicolumn layout width from the leftmost edge of the leftmost column of the set to the rightmost edge of the rightmost column of the set. The laying out includes limiting the width at which the text in one or more of the laterally arranged columns is laid out to a width less than or equal to a maximum desired column width. This limiting changes the width of a column when the width corresponding to the column's specified layout width, as scaled by the layout scale factor, is greater than the maximum desired column width.

The maximum desired column width is a width in the layout that will be equal to or less than the width of the given screen window when displayed in that window at the given scale factor. In many embodiments the maximum desired column width corresponds to a pixel width that will fit within a display window at a resolution that allows accurate and/or easy reading of the column's text.

In some embodiments of this column-width-limiting aspect of the invention the accessed web page's content includes one or more images and the specification of an individual column includes a specification of which text and/or one or more images are in the column. The laying out of the web page includes laying out, in each column, the position of the text and/or one or more images that are in the column. The limiting of the width at which the text in one or more of the laterally arranged columns is laid out includes limiting the width of any image that is laid out in such a column to a width less than or equal to the maximum desired column width, by scaling down the size of such an image, if the width corresponding to the image, as scaled by the layout scale factor, is greater than the maximum desired column width.

In many column-width-limiting embodiments where one of the laterally arranged columns has a layout width corresponding to the column's specified width that is less than the maximum desired column width; the text in that column will often be laid out at the layout width corresponding to the column's specified width.

In many column-width-limiting embodiments when the width at which a first of the laterally arranged column's text is laid is decreased by the width limiting, a second of the laterally arranged columns that is laid out to the right of the first column is laid out with a rightward horizontal displacement that is decreased relative to the second column's horizontal displacement specification, as scaled by the layout scale factor, as a function of the decrease in the layout width of the text of the first column.

In many column-width-limiting embodiments the layout scale factor and/or the display scale factor cause the display of the user selected portion of the layout on the given screen window at the given display scale factor to display elements of the web page, including characters of the text, at a scaled-down pixel resolution, independently of the operation of the limiting of the layout width of text columns. In such embodiments, column widths are limited if their specified column width would otherwise make their laid-out width too wide to fit within the given screen window even with such a scaled-down pixel resolution.

Some of the column-width-limiting embodiments produce a split view of the web-page, similar to that described above, that simultaneously display both an overview window and a magnified view window, and the magnified-view window is the window in which the user selected portion of the layout is displayed. In these embodiments the maximum desired column width has been selected to ensure that a portion of the layout having a width equal to or less than its width will fit within the magnified-view window.

In many of the embodiments of the invention described above that have a magnified-view window, the text of the web page displayed in the magnified-view window is displayed with font bitmaps that have the shape and pixel alignment of their character outlines selected to improve readability at the resolution at which they are displayed in that window. We shall refer to such font bitmaps as being optimized for display at the resolution at which they are displayed.

In many of such embodiments, the resolution-optimized font bitmaps used are smaller than are normally used for web browsings, such as 10 pixels per em or less, or even 8 pixels per em or less. This is because in many such embodiments the magnified view, is magnified relative to the overview, but actually displays a web page at a scale significantly smaller than it is normally displayed at on desktop and notebook computers.

In some such resolution-optimized-font-bitmap embodiments the web page layout defines a layout of the font bitmaps used in the magnified-view window; and the display of the web page layout shown in the overview window includes a scaled-down, lower-pixel-resolution representation of the font bitmaps included in that layout. The lower resolution representations shown in the overview do not have character shapes and pixel alignments selected to increase readability at the lower resolution used in the overview window.

In some such resolution-optimized-font-bitmap embodiments, the font bitmaps used to represent characters in the magnified-view window are anti-aliased font bitmaps in which the anti-aliasing is performed for the resolution at which the font bitmaps are displayed in the magnified-view window.

In some such resolution-optimized-font-bitmap embodiments, the text displayed in the magnified-view window is composed from characters of the Latin alphabet and is displayed in a font in which a majority of the lower case characters are displayed with an advance width of 4 pixels or less.

In some such resolution-optimized-font-bitmap embodiments the overview window and magnified-view window are displayed on a screen having pixels comprised of a given arrangement of separately-addressable, differently-colored subpixels. The anti-aliased font bitmaps used to represent characters in the magnified-view window are subpixel-optimized bitmaps that assign a luminosity value to each given subpixel of a screen pixel having the given arrangement of differently-colored subpixels. This color assignment is a function of: (1) a coverage value representing the percent of the given subpixel that is covered by a character shape being represented by the font bitmap; (2) in the case of at least some subpixels of the font bitmaps, a color balancing distribution of a percent of the given subpixel's coverage value from the given coverage value to coverage values of nearby subpixels, including subpixels of different color, made to a prevent color imbalance that would result from the difference between the given subpixel's coverage value and the coverage values of a given set of one or more nearby subpixels of different colors; and (3) in the case of at least some subpixels of the font bitmaps, one or more of the color balancing distributions to the given subpixel's coverage value from the coverage values from one or more nearby subpixels. The color balancing distributions are substantially limited to distribution of portions of a subpixel's coverage value that causes color imbalance within the whole pixel of which it is part.

In some embodiments of various aspects of the invention the digital content includes both images and text strings, and the laying out of the web page includes laying out the images and text at a virtual pixel resolution using virtual layout pixel sizes for the images and text, so as to assign a horizontal and vertical virtual position in the layout to each of the images and each portion of a string of text displayed on a given line.

In such virtual-layout embodiments a layout scale factor has a non-unity value that causes the portion of the web page layout displayed in the magnified-view window to be displayed with a pixel resolution that is scaled down by the layout scale factor relative to the corresponding portion in the layout performed at the virtual pixel resolution.

In many such virtual layout embodiments, the images and text in the magnified-view window are shown at pixel coordinates that correspond to the positions of the images and text in the virtual web page layout, as scaled down by the layout scale factor. The images and text are drawn in the magnified-view window at scaled-down pixel sizes that correspond to the pixel sizes used for the images and text in the virtual layout, as scaled down by the layout scale factor.

In many such virtual layout embodiments the image of a string of text in the magnified-view window is composed from a succession of font bitmaps that have a pixel size scaled down by the layout scale factor relative to the size allocated to characters of the string in the virtual layout. The shape and pixel alignment of the character represented by a font bitmap used to display one of the characters in the magnified-view window have been selected to increase the degree of alignment of edges of the character's shape with the bitmap's pixel boundaries at the resolution at which the font bitmap is displayed in the magnified-view window.

In many of the embodiments of the aspect of the invention relating to the limitation of the width at which web page columns are displayed are also used with resolution-optimized font bitmaps of the type described above.

In some embodiments of the various aspects of the invention described above, the web page content is displayed on the screen of a client browser computer that relies on a remote proxy server to perform part of the browsing process, including the layout of the web page. In many embodiments the client computer will be a cellphone, PDA, or other small computer which can benefit from having the layout process performed by a larger computer.

In such client-proxy embodiments the client includes programming capable of enabling a user to browse digital content. The clien