A hand-held computer device with integral web page transcoding. A processor, forming a part of the handheld computer has a display coupled to the processor forming a part of the handheld computer, with the display having limited resolution of M×N pixels. A browser program running on the processor facilitates retrieving and viewing of a web page having size greater than M×N on the display. This is accomplished in a browser having an associated browser plug-in that transcodes the web page to a format adapted to the display. The transcoding is carried out by, among other things, generating a menu of frames from the web page to permit a user to select a desired frame for display by selecting frame titles as menu selections and compressing an image to a size suitable for display on the M×N resolution display.
|
9. A portable electronic device comprising:
a processor operable to transcode first data to generate second data, wherein said first data comprises a web page, and wherein said processor is further operable to transcode said first data by executing code stored on said portable electronic device; and
a display device operable to display said second data.
1. A method of processing data using a portable electronic device, said method comprising:
accessing first data comprising a web page;
transcoding, using a processor of said portable electronic device to execute code stored on said portable electronic device, said first data to generate second data; and
displaying, using a display device of said portable electronic device, said second data.
17. A method of processing data using a portable electronic device, said method comprising:
accessing first data comprising a web page;
transcoding, using an application stored on said portable electronic device, said first data to generate second data, wherein said transcoding further comprises modifying said web page in accordance with an attribute of said portable electronic device; and
displaying, using a display device of said portable electronic device, said second data.
2. The method of
3. The method of
4. The method of
5. The method of
6. The method of
7. The method of
8. The method of
10. The portable electronic device of
11. The portable electronic device of
12. The portable electronic device of
13. The portable electronic device of
14. The portable electronic device of
15. The portable electronic device of
16. The portable electronic device of
|
A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
The present invention relates to the field of browsers for viewing Internet content using a palmtop computer or other handheld device.
As the components required to build a computer system have reduced in size, new categories of computer systems have emerged. One of the new categories of computer systems is the “palmtop” computer system. A palmtop computer system is a computer that is small enough to be held in the hand of a user and can be “palm-sized.” Such computer systems are implemented as Personal Digital Assistants (PDAs) and are finding their way into other hand-held devices such as cellular telephones.
While these palm sized computers (“palmtop” computers) have dramatically reduced size when compared to a desktop or notebook computer, the user would like to be able to perform many of the same types of functions performed using physically larger and more powerful computers. More recent implementations of such devices often have the ability of browsing the Internet using a wireless (or wired) connection. Unfortunately, the physical size of the device and it's associated display can seriously inhibit the user's browsing experience.
Most web pages are designed to display information in a format suitable for desktop and notebook computers with display resolutions of, for example, 600×800 pixels. When such pages are displayed on a much smaller display (e.g., a 160×160 pixel display), it is very difficult to effectively view the pages.
This issue has heretofore been addressed in two ways. The first is to use horizontal and vertical scrolling of a window over the original web page as illustrated in
The second mechanism used to address the problem is by using a proxy server to convert the web page to a format that can be viewed more comfortably by the hand-held device using a process called “transcoding” to translate the web page code to a more suitable format for the hand-held device. Unfortunately, using a proxy server has several disadvantages. The proxy server must generally be hosted and managed. If the proxy server is hosted by a carrier, then the browser will not be able to access intranet web pages behind a corporate firewall. Secure web pages would no longer be secure, since the proxy server must decrypt the web page prior to transcoding. If the proxy server is hosted within an enterprise, is must be internally managed within the enterprise (e.g., by the corporate Information Technology department). Also, the use of a proxy server can slow access to web pages under many circumstances.
Accordingly, what is needed is a mechanism for viewing web pages using a handheld device that does not require a proxy server and minimizes need for both horizontal and vertical scrolling.
A hand-held computer device consistent with certain embodiments of the present invention incorporates integral web page transcoding. A processor, forming a part of the handheld computer has a display coupled to the processor forming a part of the handheld computer, with the display having limited resolution of M×N pixels. A browser program running on the processor facilitates retrieving and viewing of a web page having size greater than M×N on the display. This is accomplished in a browser having an associated browser plug-in that transcodes the web page to a format adapted to the display. The transcoding is carried out by generating a menu of frames from the web page to permit a user to select a desired frame for display by selecting frame titles as menu selections; compressing an image to a size suitable for display on the M×N resolution display, wherein the image has size and pixel depth, by reducing the image's size and reducing the image's pixel depth; and converting multiple columns into a single column for display on the M×N resolution display by removing redundant table definition tags. This provides advantages of eliminating the need for a proxy server to produce web pages more suitable for display on the limited resolution display of the hand-held device.
A hand-held computer device consistent with certain embodiments of the present invention has a processor, forming a part of the handheld computer. A display is coupled to the processor forming a part of the handheld computer, the display having resolution of M×N pixels. A browser program runs on the processor to facilitate retrieving and viewing of a web page on the display, the web page having a size greater than M×N. The browser has an associated program code for transcoding the web page to a format adapted to the display.
A method of transcoding a web page within a hand-held computer device with display having resolution of M×N, consistent with certain embodiments of the present invention, includes determining if the web page contains multiple frames, and if so generating a menu of frames from the web page to permit a user to select a desired frame for display; determining if the web page contains any images, and if so compressing the images to a size suitable for display on the M×N resolution display; and determining if the web page contains multiple columns, and if so converting the multiple columns into a single column for display on the M×N resolution display.
A method of transcoding a web page within a hand-held computer device with display having resolution of M×N, consistent with certain embodiments of the present invention, includes determining if the web page contains multiple frames; and
if the web page contains multiple frames, generating a menu of frames from the web page to permit a user to select a desired frame for display.
A method of transcoding a web page within a hand-held computer device with display having resolution of M×N, consistent with certain embodiments of the present invention, includes determining if the web page contains an image; and if the web page contains an image, compressing the image to a size suitable for display on the M×N resolution display.
A method of transcoding a web page within a hand-held computer device with display having resolution of M×N, consistent with certain embodiments of the present invention, includes determining if the web page contains multiple columns; and if the web page contains multiple columns, converting the multiple columns into a single column for display on the M×N resolution display.
Any of the above methods can be implemented as instructions stored on an electronic storage medium so that the method is carried out when the instructions are executed on a programmed processor forming a part of a hand-held computer.
The above summaries are intended to illustrate exemplary embodiments of the invention, which will be best understood in conjunction with the detailed description to follow, and are not intended to limit the scope of the appended claims.
In the following detailed description of the present invention, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it will be recognized by one skilled in the art that the present invention may be practiced without these specific details or with equivalents thereof. In other instances, well known methods, procedures, components, and circuits have not been described in detail as not to unnecessarily obscure aspects of the present invention.
Notation and Nomenclature
Some portions of the detailed descriptions which follow are presented in terms of procedures, steps, logic blocks, processing, and other symbolic representations of operations on data bits that can be performed on computer memory. These descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. A procedure, computer executed step, logic block, process, etc., is here, and generally, conceived to be a self-consistent sequence of steps or instructions leading to a desired result. The steps are those requiring physical manipulations of physical quantities.
Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated in a computer system. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.
It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the following discussions, it is appreciated that throughout the present invention, discussions utilizing terms such as “processing” or “generating” or “converting” or “compressing” or “determining” or “removing” or “displaying” or “recognizing” or the like, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.
Hand-Held Browser Transcoding in Accordance with the Present Invention
While this invention is susceptible of embodiment in many different forms, there is shown in the drawings and will herein be described in detail specific embodiments, with the understanding that the present disclosure is to be considered as an example of the principles of the invention and not intended to limit the invention to the specific embodiments shown and described. In the description below, like reference numerals are used to describe the same, similar or corresponding parts in the several views of the drawings.
Also included in computer system 100 of
Signal communication device 108, also coupled to bus 110 in the illustrated embodiment, can be a serial port for communicating with a host computer through a cradle. Device 108 can also include an infrared communication port. Browser software or firmware can be stored in ROM 103 and/or RAM 102 and/or data storage device 104 along with so called “plug-ins”.
Referring now to
The process starts at 204, after which a web page is specified by the user at 210, for example, by entering the page's URL (Universal Resource Locator) or by selecting a link from another web page, document or email. The hand-held device's browser then retrieves the associated page via the connection to the Internet and passes the page to the transcoder plug-in associated with the Browser at 222 (or equivalently, passes a pointer to a memory location or a file name of a file storing the page to the plug in). The transcoder plug-in then transcodes to web page to produce a more readily viewable page at 228 and the transcoded page is then displayed on the hand-held device's display at 234.
The transcoding process of certain embodiments of the invention is described in greater detail hereinafter starting at
The transcoding process proceeds at 334 if there are not multiple frames at 310 or if the user selects a frame at 322. At 334, table definitions are addressed. Multiple table definition statements within the web page are often used to create multiple columns in a web page. However, multiple columns can be troublesome to view on the small M×N pixel display of a hand-held computer device. So, the approach taken in this embodiment is to convert multiple columns into a single column format that can simply be scrolled through vertically, thus eliminating need for horizontal scrolling for the purpose of accessing multiple columns. This is accomplished in this embodiment by identifying table definition statements and deleting all table definitions except the first one. This effectively converts an arrangement of horizontally stacked columns into a single column with the original second column following the first vertically (and so on).
Table definitions in HTML (Hypertext Markup Language) and similar languages are created using table definition tages <TD> and </TD>. Removing multiple <TD> and </TD> table cell tags in HTML source code requires very little processing power to search and remove redundant table cell tags within a single table row pairing <TR> </TR>. The example of Listing 1 below illustrates the process.
Listing 1
<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.0 Transitional//EN”>
<HTML>
<BODY>
<TABLE border=0 cellSpacing=0 width=“100%”>
Returning to
Other arrangements for reducing the image size for display on a small display are known and can be used in conjunction with the present invention. The most common image formats used in web pages are GIF and JPG. These image formats support easy reduction using the relatively small computing horsepower available in the handheld. Many handheld applications such as those described above are already available which reduce images. For example, the image processing can be carried out using algorithms used in the commercially available IA ALBUM™ product available from IA Style, Inc. or MGI PHOTOSUITE™ available from MGI Software Corp. or DreamHouse POCKETPHOTO™ available from Dreamhouse Software, Inc. When the last image is processed, the plug-in returns the transcoded web page (or a pointer thereto) for display.
As described, Images embedded in web pages should be scaled down for viewing on the handheld. When using a proxy-assisted browser, image reduction of both size and pixel depth is typically performed on the proxy server prior to delivery to the handheld. But in the current proxyless environment, the handheld device implements the image reduction process. In the embodiment described herein, a plugin architecture is used in the handheld device's browser so that image manipulation applications can be registered and leveraged. The plugin is a standalone application that receives a file pointer as input and returns a file pointer back to the browser.
When a web page contains an image, the browser saves that image to a file and passes the file pointer to the plugin. The plugin reduces the image, saves the result into a new file, and passes a new file pointer back to the browser. The browser references the new file pointer when displaying the image.
The following example illustrates the process. A web page containing an image of a zebra is referenced with an HTML <img src= . . . > tag.
Listing 2
<html><head><title>Yahoo! Picture Gallery</title></head>
<body bgcolor=“#ffffff”>
<img src=“http://gallery.yimg.com/c/256wm/10922944.jpg”
Those skilled in the art will appreciate that the order of the operations described above can be modified and the processing of images and tables can be carried out in any order or simultaneously within the scope of this embodiment of the invention. Also, although the examples shown are illustrated using HTML coding, this should not be considered limiting since similar equivalent processes can be devised to handle other languages including, but not limited to XML and Java, without departing from the present invention. Moreover, although the present invention is described as a plug-in for browser software, other implementations are possible including incorporation within the browser software.
Those skilled in the art will recognize that the present invention has been described in terms of exemplary embodiments based upon use of a programmed processor. However, the invention should not be so limited, since the present invention could be implemented using hardware component equivalents such as special purpose hardware and/or dedicated processors which are equivalents to the invention as described and claimed. Similarly, general purpose computers, microprocessor based computers, micro-controllers, optical computers, analog computers, dedicated processors and/or dedicated hard wired logic may be used to construct alternative equivalent embodiments of the present invention.
The present invention is preferably implemented using a programmed processor such as processor 101 executing programming instructions that are broadly described above in flow chart form and can be stored on any suitable electronic storage medium. However, those skilled in the art will appreciate that the processes described above can be implemented in any number of variations and in many suitable programming languages without departing from the present invention. For example, the order of certain operations carried out can often be varied, and additional operations can be added without departing from the invention. Error trapping can be added and/or enhanced and variations can be made in user interface and information presentation without departing from the present invention. Such variations are contemplated and considered equivalent.
While the invention has been described in conjunction with specific embodiments, it is evident that many alternatives, modifications, permutations and variations will become apparent to those skilled in the art in light of the foregoing description. Accordingly, it is intended that the present invention embrace all such alternatives, modifications and variations as fall within the scope of the appended claims.
Patent | Priority | Assignee | Title |
10176154, | Sep 12 2013 | WIXPRESS LTD | System and method for automated conversion of interactive sites and applications to support mobile and other display environments |
11528314, | Mar 26 2020 | Honeywell International Inc.; Honeywell International Inc | WebAssembly module with multiple decoders |
8990404, | Nov 16 2009 | Apple Inc. | Directing data in a web browser from a portable electronic device |
9158745, | Oct 21 1999 | AUTOMATED MEDIA PROCESSING SOLUTIONS, INC ; EQUIL IP HOLDINGS LLC | Optimization of media content using generated intermediate media content |
9621361, | Aug 22 2006 | CenturyLink Intellectual Property LLC | Pin-hole firewall for communicating data packets on a packet network |
9851864, | Mar 19 2002 | Meta Platforms, Inc | Constraining display in display navigation |
Patent | Priority | Assignee | Title |
5060170, | Aug 09 1989 | International Business Machines Corp. | Space allocation and positioning method for screen display regions in a variable windowing system |
5281146, | Apr 08 1993 | Educational device and method | |
5923323, | Jun 26 1996 | Xerox Corporation | Method and apparatus for organizing and displaying long lists of data items on a work space of a computer controlled display system |
6104334, | Dec 31 1997 | RESEARCH INVESTMENT NETWORK, INC | Portable internet-enabled controller and information browser for consumer devices |
6151622, | Feb 02 1998 | International Business Machines Corp.; IBM Corporation | Method and system for portably enabling view synchronization over the world-wide web using frame hierarchies |
6266684, | Aug 06 1997 | Adobe Systems Incorporated | Creating and saving multi-frame web pages |
6300947, | Jul 06 1998 | Wistron Corporation | Display screen and window size related web page adaptation system |
6411302, | Jan 06 1999 | CHIRAZ, ROBERT CARMINE | Method and apparatus for addressing multiple frame buffers |
6430624, | Oct 21 1999 | AIR2WEB, INC ; WEISS, PECK & GREER VENTURE ASSOCIATES V, L C C , INC | Intelligent harvesting and navigation system and method |
6522347, | Jan 18 2000 | Seiko Epson Corporation | Display apparatus, portable information processing apparatus, information recording medium, and electronic apparatus |
6559825, | Oct 31 1996 | Kopin Corporation | Display system for wireless pager |
6564217, | Dec 12 1996 | Sony International (Europe) GmbH | Data communication system that transmits the selected contents and menu onto the network for delivery to the client computer |
6727875, | Oct 13 1999 | Hitachi, Ltd. | High-definition liquid crystal display including sub scan circuit which separately controls plural pixels connected to the same main scan wiring line and the same sub scan wiring line |
6827273, | Nov 24 1993 | Metrologic Instruments, Inc. | Mobile bar code driven information access terminal for remotely accessing package delivery instructions from an internet information server |
6961898, | Mar 28 2001 | System and method for calculation using vertical parentheses | |
7082576, | Jan 04 2001 | Microsoft Technology Licensing, LLC | System and process for dynamically displaying prioritized data objects |
7188318, | Jun 11 2002 | KYNDRYL, INC | Web accessibility assistant |
7283141, | Dec 19 2000 | ACCESSIFY, LLC | Method and system for enhanced detail-in-context viewing |
7362311, | Apr 07 2003 | Microsoft Technology Licensing, LLC | Single column layout for content pages |
7509575, | Mar 30 2005 | Nokia Corporation | Optimization of content |
7738766, | Apr 18 2005 | Microsoft Technology Licensing, LLC | Sanctioned transcoding of digital-media content |
20020023112, | |||
20020046886, | |||
20020059244, | |||
20020143811, | |||
20020191031, | |||
20030173405, | |||
20040049737, | |||
20040070627, | |||
20040133848, | |||
20050236483, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Jan 10 2002 | SORIANO, FERMIN | Palm, Inc | CORRECTIVE ASSIGNMENT TO CORRECT THE STATE OF INCORPORATION OF ASSIGNEE PALM, INC TO DELAWARE PREVIOUSLY RECORDED ON REEL 012503 FRAME 0163 ASSIGNOR S HEREBY CONFIRMS THE CORRECTION OF STATE OF INCORPORATION FROM CALIFORNIA TO DELAWARE | 031829 | /0742 | |
Jan 10 2002 | SORIANO, FERMIN | Palm, Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 012503 | /0163 | |
Jan 10 2002 | ARNOLD, GREG | Palm, Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 012503 | /0163 | |
Jan 10 2002 | ARNOLD, GREG | Palm, Inc | CORRECTIVE ASSIGNMENT TO CORRECT THE STATE OF INCORPORATION OF ASSIGNEE PALM, INC TO DELAWARE PREVIOUSLY RECORDED ON REEL 012503 FRAME 0163 ASSIGNOR S HEREBY CONFIRMS THE CORRECTION OF STATE OF INCORPORATION FROM CALIFORNIA TO DELAWARE | 031829 | /0742 | |
Jan 14 2002 | Palm, Inc. | (assignment on the face of the patent) | / | |||
Oct 24 2007 | Palm, Inc | JP MORGAN CHASE BANK, N A , AS ADMINISTRATIVE AGENT | SECURITY AGREEMENT | 020106 | /0314 | |
Jul 01 2010 | JPMORGAN CHASE BANK, N A , AS ADMINISTRATIVE AGENT | Palm, Inc | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 024630 | /0474 | |
Oct 27 2010 | Palm, Inc | HEWLETT-PACKARD DEVELOPMENT COMPANY, L P | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 025204 | /0809 | |
Apr 30 2013 | HEWLETT-PACKARD DEVELOPMENT COMPANY, L P | Palm, Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 030341 | /0459 | |
Dec 18 2013 | Palm, Inc | HEWLETT-PACKARD DEVELOPMENT COMPANY, L P | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 031837 | /0239 | |
Dec 18 2013 | HEWLETT-PACKARD DEVELOPMENT COMPANY, L P | Palm, Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 031837 | /0544 | |
Jan 23 2014 | Palm, Inc | Qualcomm Incorporated | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 032177 | /0210 | |
Jan 23 2014 | HEWLETT-PACKARD DEVELOPMENT COMPANY, L P | Qualcomm Incorporated | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 032177 | /0210 | |
Jan 23 2014 | Hewlett-Packard Company | Qualcomm Incorporated | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 032177 | /0210 |
Date | Maintenance Fee Events |
Dec 21 2010 | ASPN: Payor Number Assigned. |
Apr 24 2014 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Apr 13 2018 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Apr 12 2022 | M1553: Payment of Maintenance Fee, 12th Year, Large Entity. |
Date | Maintenance Schedule |
Nov 30 2013 | 4 years fee payment window open |
May 30 2014 | 6 months grace period start (w surcharge) |
Nov 30 2014 | patent expiry (for year 4) |
Nov 30 2016 | 2 years to revive unintentionally abandoned end. (for year 4) |
Nov 30 2017 | 8 years fee payment window open |
May 30 2018 | 6 months grace period start (w surcharge) |
Nov 30 2018 | patent expiry (for year 8) |
Nov 30 2020 | 2 years to revive unintentionally abandoned end. (for year 8) |
Nov 30 2021 | 12 years fee payment window open |
May 30 2022 | 6 months grace period start (w surcharge) |
Nov 30 2022 | patent expiry (for year 12) |
Nov 30 2024 | 2 years to revive unintentionally abandoned end. (for year 12) |