Patent Description:
With the fast advance of browser technologies and World Wide Web infrastructures, more and more content or applications are accessed via a browser. However, most Web documents are designed to carry a variety of content elements for multiple purposes. Often times, a user interested in a portion of content or an interactive application can be presented with myriads of information of no interest to the user at all. It is not unusual for a browser user to be distracted by navigation controls, user interface controls of a Web document, advertising, marketing, or promotional campaign from a Web document while trying to focus only on the interested portion of content.

Therefore, accessing content included in Web documents via traditional browsers do not provide users with smooth, focused and friendly experiences. <CIT> discloses methods and apparatuses that identify one of a plurality of modes from a web page associated with a document received at a browser. An identified mode may correspond to a user interface configuration. A portion of content may be extracted from the document for a presentation configured by the user interface configuration. A presentation of the extracted content may be displayed on a display screen while excluding a reset of the document without displaying the web page. <CIT> discloses methods for assisting in the organization of information accessed through a web browser. At least one item of information accessed through the web browser is captured and visually represented in a defined organizational area of a display. A relevance index is calculated for each item of information that is visually represented to a current web-browsing behavior. The relevance index is conveyed for each item of information to the current web-browsing behavior to a user of the web browser. <CIT> discloses a method and system for the dynamic presentation of the contents of a plurality of documents on a display. The method and system comprises receiving a plurality of documents and providing a plurality of topically rich capsule overviews corresponding to the plurality of documents. The method and system also includes dynamically delivering document content encapsulated in the plurality of capsule overviews. <CIT> discloses a computer-implemented method of providing information for a web notebook. The method can include displaying a web document in a content area of a browser window, receiving a user selection of content from the document initiated by a first user mouse click, and displaying a selection icon in the content area upon completion of the user selection.

Embodiments of the invention are illustrated by way of example and not limited by the figures of the accompanying drawings in which like references indicate similar elements.

Preferred advantageous embodiments thereof are defined by the sub-features of the dependent claims.

According to some embodiments, a graphical user interface (GUI) element is provided to manage articles or documents that can be presented in a reader mode. In one embodiment, a reading list panel is implemented as part of a content viewing application such as a browser application. Throughout this application, a browser application is utilized as an example of a content viewing application; however, other types of content viewing applications can also be applied. According to one embodiment, in response to a user input, the reading list panel is displayed as a sidebar window or an accessory window, for example, associated with or within the same instance of a browser application in which a main window is being displayed. The reading list panel is configured to list one or more article representations representing one or more articles that can be presented in a reader mode.

According to one embodiment, a user can add an article representation associated with a document currently displayed in the main window to the reading list panel by activating or clicking a predetermined button. Alternatively, a user can add an article representation associated with an article embedded within a content or presentation page such as a Web page currently displayed in the main window. That is, the reading list panel is configured to list a list of one or more article representations representing one or more articles or documents (also referred to as a reading list) that can be presented or read in a reader mode. In one embodiment, each article representation listed in the reading list includes enough information identifying the associated article without actual content of the article, such that the actual article can be subsequently retrieved and displayed in a reader mode. In this way, less memory or resource is required to maintain the reading list. In one embodiment, each article representation listed in the reading list panel includes at least one of a title of the article, an address (e.g., universal resource locator or URL) from which the actual article can be retrieved, and an abstract of the article.

Throughout this application, the terms of "article" and "article representation" are interchangeable terms dependent upon the associated context being described. When an article is described or displayed within a reading list panel, it refers to an article representation that represents the actual article. When an article is described or displayed within a main window of the content viewing application, it refers to the actual article.

According to one embodiment, from the reading list panel, a user can browse through the listed articles in a reader mode without having to switch back and forth between the reader mode and a regular or normal mode of presentation. However, if the user decides to disable or inactivate the reader mode, the articles listed in the reading list panel can be browsed through in the normal mode.

According to one embodiment, information (e.g., title, URL, abstract, and icon) of the articles listed in the reading list panel can be stored in a persistent storage location, such that the information can be populated and displayed in the reading list panel when the browser application is launched again subsequently. As a result, a user can continue to read in a reader mode the articles that have been identified and collected in a previous session of the browser application.

According to a further embodiment, the information concerning the articles in the reading list panel can also be stored in the cloud. For example, a user can create a reading list in a first device (e.g., desktop) and the information of the reading list can then be synchronized with a cloud server. Subsequently when the user connects with the cloud server via a second device (e.g., mobile device), the information of the reading list can be synchronized between the cloud server and the second device. When the user launches a browser application from the second device, the reading list is populated in the corresponding reading list panel. As a result, from the second device, the user can "pick up" the articles of the reading list created in the first device.

<FIG> is a block diagram illustrating a system for managing a reading list of articles according to one embodiment of the invention. Referring to <FIG>, system <NUM> includes computing device <NUM> communicatively coupled to other devices such as server <NUM>, computing device <NUM>, and content/service provider <NUM> over network <NUM>. Network <NUM> can be a local area network (LAN), a wide area network (WAN), or a combination of both. Devices <NUM> and <NUM> may be any kind of computing devices, such as, for example, a desktop (e.g., iMac™), a laptop (e.g., MacBook™), a tablet (e.g., iPad™), a mobile phone (e.g., iPhone™), a media device (e.g., iPod™), etc. In one embodiment, device <NUM> includes, but is not limited to, a browser application <NUM> executed in a memory by a processor of device <NUM> to retrieve a content page such as a Web page from a remote Web site or from a remote or local file system, and to present the content page in GUI <NUM> such as a display device.

In one embodiment, browser application <NUM> includes content presentation module <NUM> and content retrieval or processing module <NUM>. Content retrieval module <NUM> is configured to retrieve a presentation page such as a Web page from a content provider such as Web site <NUM> and content presentation module <NUM> is configured to present or display the presentation page on display device <NUM>. Throughout this application, a Web page is utilized as an example of a presentation page and a Web server is utilized as an example of a content provider. Other types of content and servers may also be applied. In one embodiment, when content retrieval module <NUM> receive a Web page, it parses the Web page to build a rendering tree or data structure <NUM>, where content presentation module <NUM> is configured to render the Web page based on rendering tree <NUM> and to display the Web page on the display device. In one embodiment, for each Web page represented by rendering tree <NUM>, reader mode module <NUM> is configured to determine, based on rendering tree <NUM>, whether the Web page is capable of being displayed or presented in a reader mode.

Rendering tree <NUM> includes one or more nodes, each representing an object representing an element of the Web page. Some of the nodes may represent articles that are capable of being displayed in the reader mode. In one embodiment, for each of the nodes representing an article, reader mode module <NUM> is configured to access the article and to detect whether the article is capable of being displayed in the reader mode. Accordingly, the rendering tree <NUM> may be updated to include an indicator indicating whether a particular article is capable of being displayed in the reader mode. A reader mode refers to a displaying mode in which an article of a Web page is displayed in a manner without other unrelated information, such as, the background color or image, or advertisements that come with the Web page. Further detailed information concerning operations of a reader mode can be found in co-pending <CIT>.

In one embodiment, a reading list panel is implemented as part of browser application <NUM>. In response to a user input, the reading list panel is displayed by browser application <NUM> as a sidebar window or an accessory window, for example, associated with or within the same instance of browser application <NUM> in which a main window is being displayed. For example, a user can activate or click on a graphical representation such as icon from a bookmark bar of a browser application to launch or activate the reading list panel. The reading list panel is configured to list one or more articles that can be presented in a reader mode.

According to one embodiment, a user can add a document currently displayed in the main window to the reading list panel by activating or clicking a predetermined button. Alternatively, a user can add an article embedded within a content page such as a Web page currently displayed in the main window. For example, a user can select a link such as a hypertext link linking with an article embedded within the content page via a keyboard short cut or a combination of one or more keys and/or actions (e.g., shift-click). An article can be added in an animated fashion. That is, the reading list panel contains a list of one or more articles or documents that can be presented or read in a reader mode. Similarly, an article can also be removed from the reading list panel.

In one embodiment, each article representation listed in the reading list includes enough information identifying the article instead of actual content of the article, such that the actual article can be subsequently retrieved and displayed in a reader mode. In one embodiment, each article representation listed in the reading list panel includes at least one of a title of the article, an address (e.g., universal resource locator or URL) from which the actual article can be retrieved, and an abstract of the article. When an article is being added to the reading list, at least a portion of the article is scanned by reader mode module <NUM> to extract an abstract of the article. In addition, certain metadata such as a title of the article and a URL is also extracted. This information is displayed in the reading list. Further, a graphical representation such as an icon associated with the article can also be extracted and displayed in the reading panel. The image of the graphical representation may also be enhanced from the original one provided by the content provider.

According to one embodiment, from the reading list panel, a user can browse through the listed article in a reader mode without having to switch back and forth between the reader mode and the normal mode of presentation. For example, in response to a selection of an article from the reading list panel, content of the article is retrieved from a content provider based on an address associated with the article, which is retrieved from the corresponding entry of the reading list panel. The retrieved article is then displayed in a reader mode within a main window of the browser application. However, if the user decides to disable or inactivate the reader mode, the articles listed in the reading list panel can be browsed through in the normal mode.

According to one embodiment, information (e.g., title, URL, abstract, and icon) of the articles listed in the reading list panel can be maintained in a system memory of a data processing system in which the corresponding browser application is running. Alternatively, the information of the articles listed in the reading list panel can also be stored in a persistent storage location such as storage device <NUM> as part of reading list <NUM>, such that the information can be populated and displayed in the reading list panel when browser application <NUM> is launched again subsequently. As a result, a user can continue to read in a reader mode the articles that have been identified and collected in a previous session of the browser application.

According to a further embodiment, the information concerning the articles in the reading list panel can also be stored in the cloud. That is, the information can be transmitted to and stored (e.g., synchronized) by content synchronization module <NUM> in cloud server <NUM> such as iCloud™ available from Apple® Inc. of Cupertino, California. For example, a user can create a reading list in a first device (e.g., desktop such as device <NUM>) and the information of the reading list is then synchronized with a cloud server such as server <NUM>. Subsequently when the user connects with the cloud server via a second device (e.g., mobile device such as device <NUM>), the information of the reading list can be synchronized between the cloud server and the second device. When the user launches a browser application from the second device, the reading list is populated in the corresponding reading list panel. As a result, from the second device, the user can "pick up" the articles of the reading list created in the first device.

Furthermore, dependent upon the display capability of the second device, an article capable of being displayed by the first device (e.g., desktop) may or may not be capable of being displayed properly by the second device (e.g., mobile device). According to one embodiment, when a browser application picks up an article of a reading list, the browser application of the second device may search, identify, locate, and/or render a proper version of the article that is suitable for being displayed by the second device.

<FIG> are screenshots illustrating an example of graphical user interfaces of a content viewing application according to some embodiments of the invention. Note the GUI <NUM> may be described for the purpose of illustration only; other formats or configurations of GUIs can also be implemented. GUI <NUM> may be rendered and presented by content viewing application <NUM> of <FIG>. For example, a content viewing application may be a Safari™ browser application available from Apple Inc. , or alternatively, it can be an Internet Explorer™ browser application or a FireFox™ browser application. A browser application can be executed within a variety of operating systems, such as Mac OS™ available from Apple Inc. , Windows™ operating system available from Microsoft® Corporation of Redmond, Washington, a LINUX, or a UNIX operating system.

Also note that throughout this application, a browser application and a Web page are used as example of a content viewing application and presentation page to be viewed; however, other applications such as a file system browser (e.g., Finder™ available from Apple Inc. or Windows Explorer™ available from Microsoft) or presentation applications such as a slide presentation application (e.g., PowerPoint™ from Microsoft or Keynote™ from Apple), as well as other presentations such as document files may also be applied herein. In addition, throughout this application, any button or a control of the GUI of a browser application can be activated by clicking the button or control using a pointing device, via one or more keystrokes from a keyboard, a voice interactive command, and/or via a signal received via an application programming interface (API).

Referring to <FIG>, when a browser application is launched and accesses an address (e.g., URL) of a content provider such as a Web site, a Web page is downloaded from the Web site, rendered by the browser application, and presented in main window <NUM> of browser GUI <NUM>. Web page displayed in main window <NUM> may or may not be reader mode capable. As described above, a reader mode module (e.g., reader module <NUM>) is configured to examine the Web page to determine whether the Web page is capable of being presented in a reader mode, for example, using certain techniques described in the above incorporated-by-reference patent application.

In one embodiment, when the browser application detects that document presented in main window can be presented in a reader mode, a graphical representation such as an icon or a button is displayed to indicate that the Web page currently presented in main window <NUM> is capable of being presented in a reader mode. In this example, when the Web page of main window <NUM> is detected to be reader mode capable, button <NUM> is displayed within a predetermined proximity of address field that stores an address (e.g., URL) from which the currently displayed Web page was retrieved. When button <NUM> is activated, the Web page is displayed in a reader mode within main window <NUM>, as shown in <FIG> in which other unrelated or less related information such as certain advertisement, icons, links, buttons, search field, and/or images of the Web page have been removed to only show the actual content associated with the Web page.

In addition, according to one embodiment, reading list panel (also simply referred to as a reading list) <NUM> can be displayed as a sidebar window or an accessory window associated with main window <NUM>. Reading list panel <NUM> can be activated and displayed via button <NUM>, which may be implemented at a variety of position within GUI <NUM> such as bookmark bar <NUM> in this example. Reading list panel <NUM> can also be removed by activating button <NUM> again. Reading list panel <NUM> can be used to store a list of articles (also referred to as a reading list) that can be presented in a reader mode.

According to one embodiment, the Web page currently presented in main window <NUM> can be added to reading list panel <NUM>, for example, by activating button <NUM>, as shown in <FIG>. Referring to <FIG>, in this example, the Web page currently displayed in main window <NUM> is added to reading list panel <NUM> as article <NUM>. In addition, in response to a user input via button <NUM>, the browser application is configured to examine the Web page currently displayed in main window <NUM> to extract certain metadata of the Web page. In one embodiment, the browser application extracts at least the title of the Web page and an address such as a URL of the Web page. In addition, the browser application generates an Abstract of the Web page based on at least a portion of the content of the Web page. The metadata and the Abstract are then associated with the corresponding article and presented in reading list panel <NUM>. In this example, article <NUM> is presented with the associated title, URL, and Abstract. The browser application may further determine or extract a graphical representation such as an icon associated with the Web page. An underlying Web rendering engine associated with the browser application may further enhance the image of the graphical representation, for example, by applying a sharpening filter, etc. The browser application may further craw through a domain of the corresponding Web site to identify or locate another graphical representation with a better resolution to be displayed in reading list panel <NUM>. Note that reading list panel <NUM> does not have to be activated or displayed when adding an article. An article currently displayed in main window <NUM> can also be added via button <NUM> near the address bar when reading list panel is not displayed at the point in time. When button <NUM> is activated, as shown in <FIG>, a dialog box <NUM> is displayed prompting the user whether the user wishes to add the currently displayed article to the reading list panel.

In addition, an article embedded within the currently displayed Web page can also be added to reading list panel <NUM>. A Web page may contain one or more links such as hypertext links linking with one or more articles that are located at other locations such as remote servers, which can be retrieved by associated links (e.g., URLs). According to one embodiment, a user can add the linked article to reading list panel without having to access the link by performing a predetermined action such as shift-clicking the link. In response to such an action, the browser application is configured to add the underlying article to reading list panel <NUM>. In one embodiment, the browser application is configured to access the link to examine the article, for example, to extract the title, icon, and an abstract of the article as described above, without requiring the user to actually access the link. Alternatively, a user can actually access the link and then add the article to reading list panel by activating button <NUM>.

When a linked article is added to reading list panel without having the user actually open the link, according to one embodiment, the article is added to reading list panel <NUM> via an animated fashion, for example, by flying or being thrown into reading list panel <NUM>. Note that reading list panel <NUM> does not have to be activated or displayed when adding an article. An article can be added to the reading list panel <NUM> by flying or being thrown towards icon <NUM> instead when reading list panel <NUM> is not displayed at the point in time.

Referring to <FIG>, from reading list panel <NUM>, a user can browse through the articles listed therein. When a user selects any one of the articles from reading list panel <NUM>, the corresponding article is retrieved from the associated URL and displayed in a reader mode in main window <NUM>. In this example, it is assumed that the user selects article <NUM> from reading list panel <NUM>, and the corresponding article is retrieved from its source based on the associated URL and presented in a reader mode within main window <NUM>. When the user selects a second article from reading list panel <NUM>, the second article is retrieved and displayed in the reader mode within main window <NUM>. Thus, the reader mode remains active among the articles being browsed and displayed without switching back and forth between a reader mode and a normal mode, unless the user specifically disables the reader mode, for example, by clicking button <NUM>, in which case, the articles are to be displayed in a normal mode as shown in <FIG>.

In one embodiment, within reading list panel <NUM>, any one of the articles can be removed from reading list panel <NUM>, for example, via a predetermined keystroke such as a delete functional key. All of the articles can also be removed from reading list panel <NUM> by activating "clear all" button <NUM>. The articles that have not been read or displayed can be listed in an "unread" page by activating tab or page selector <NUM> or alternatively, all articles can be listed by activating an "all" tab <NUM>. In the "unread" page, when an article has been accessed and displayed, the corresponding article may be removed or grayed out from the "unread" page.

According to one embodiment, information (e.g., title, URL, abstract, and icon) of the articles listed in reading list panel <NUM> can be stored in a persistent storage location, such that the information can be populated and displayed in reading list panel <NUM> when the browser application is launched again subsequently. As a result, a user can continue to read in a reader mode the articles that have been identified and collected in a previous session of the browser application.

According to a further embodiment, the information concerning the articles in reading list panel <NUM> can also be stored in the cloud. For example, a user can create a reading list in a first device (e.g., desktop) and the information of the reading list is then synchronized with a cloud server. Subsequently when the user connects with the cloud server via a second device (e.g., mobile device), the information of the reading list can be synchronized between the cloud server and the second device. When the user launches a browser application from the second device, the reading list is populated in the corresponding reading list panel. As a result, from the second device, the user can "pick up" the articles of the reading list created in the first device.

Furthermore, dependent upon the display capability of the second device, an article capable of being displayed by the first device (e.g., desktop) may not be capable of being displayed properly by the second device (e.g., mobile device). According to one embodiment, when a browser application picks up an article of a reading list, the browser application of the second device may search, identify, locate, and/or render a proper version of the article that is suitable for being displayed by the second device.

<FIG> is a flow diagram illustrating a method for processing articles in a reader mode according to one embodiment of the invention. Method <NUM> may be performed by browser application <NUM> of <FIG>. The method may be performed by processing logic which may include software, hardware, or a combination of both. The method may be stored as executable instructions in a machine-readable storage medium and executed in a memory by a processor or processing device. Referring to <FIG>, at block <NUM>, a presentation page is displayed in a main window of a content viewing application, where the presentation page is retrieved from a content provider. For example, the presentation page may be a Web page or a document page. The content viewing application may be a browser application such as Web browser or a file browser. Content provider may be a remote Web server or a file system. At block <NUM>, in response to a first input (e.g., button <NUM> of <FIG>), a reading list panel is displayed as a sidebar window. The reading list panel includes zero or more articles that can be presented in a reader mode. At block <NUM>, in response to a second input selecting an article from the presentation page displayed in the main window, the selected article is added and displayed in the reading list panel. At block <NUM>, in response to a third input selecting one of the articles from listed in the reading list panel, content of the selected article is retrieved and displayed in the main window of the browser application.

<FIG> is a flow diagram illustrating a method for processing articles in a reader mode according to another embodiment of the invention. Method <NUM> may be performed by browser application <NUM> of <FIG>. The method may be performed by processing logic which may include software, hardware, or a combination of both. The method may be stored as executable instructions in a machine-readable storage medium and executed in a memory by a processor or processing device. Referring to <FIG>, at block <NUM>, a presentation page is displayed in a main window of a content viewing application, where the presentation page is retrieved from a content provider. At block <NUM>, one or more articles are detected from the presentation page that are capable of being presented in a reader mode of the content viewing application.

In response to a first input (e.g., via button <NUM> of <FIG>), at block <NUM>, a reading list panel is displayed as a sidebar window while the presentation page is displayed in the main window of the content viewing application. In response to a second input (e.g., shift-click) selecting an article from the presentation page displayed in the main window, at block <NUM>, metadata and abstract of the article are extracted from the selected article. At block <NUM>, the selected article is added to the reading list panel including displaying at least some of the metadata and the abstract of the selected article. At block <NUM>, in response to a third input selecting one of the articles listed in the reading list panel, the selected article is displayed in a reader mode within the main window of the content viewing application.

<FIG> is a flow diagram illustrating a method for processing articles in a reader mode according to another embodiment of the invention. Referring to <FIG>, at block <NUM>, a list of one or more article representations or identifiers are added to reading list panel of a content viewing application running within a first device (e.g., desktop). Each article representation identifies an article that is capable of being presented in a reader mode of the content viewing application. At block <NUM>, the list of article representations is transmitted or synchronized to a server such as a cloud server. Each article representation includes at least one of a title, an abstract, an address, and an icon, without the actual content of the article. Subsequently, at block <NUM>, the list of article representations is synchronized to a second device from the server and displayed in a reading list panel of a content viewing application running within the second device (e.g., mobile device). At block <NUM>, in response to an input selecting one of the article representations displayed in the reading list panel of the convent viewing application of the second device, content of the article identified by the selected article representation is retrieved from a content provider based on an associated address of the selected article representation and displayed in a main window of the content viewing application. Optionally, the presented content is rendered into a proper form suitable for being displayed by the second device based on the display capability of the second device.

<FIG> is a block diagram of a data processing system, which may be used with one embodiment of the invention. For example, the system <NUM> may be used as part of any of devices or systems <NUM> and <NUM>-<NUM> as shown in <FIG>. Note that while <FIG> illustrates various components of a computer system, it is not intended to represent any particular architecture or manner of interconnecting the components; as such details are not germane to the present invention. It will also be appreciated that network computers, handheld computers, cell phones and other data processing systems which have fewer components or perhaps more components may also be used with the present invention. The computer system of <FIG> may, for example, be an Apple Macintosh computer or MacBook, an IBM compatible PC, or a computer server.

As shown in <FIG>, the computer system <NUM>, which is a form of a data processing system, includes a bus or interconnect <NUM> which is coupled to one or more microprocessors <NUM> and a ROM <NUM>, a volatile RAM <NUM>, and a non-volatile memory <NUM>. The microprocessor <NUM> is coupled to cache memory <NUM>. The bus <NUM> interconnects these various components together and also interconnects these components <NUM>, <NUM>, <NUM>, and <NUM> to a display controller and display device <NUM>, as well as to input/output (I/O) devices <NUM>, which may be mice, keyboards, modems, network interfaces, printers, and other devices which are well-known in the art.

Typically, the input/output devices <NUM> are coupled to the system through input/output controllers <NUM>. The volatile RAM <NUM> is typically implemented as dynamic RAM (DRAM) which requires power continuously in order to refresh or maintain the data in the memory. The non-volatile memory <NUM> is typically a magnetic hard drive, a magnetic optical drive, an optical drive, or a DVD RAM or other type of memory system which maintains data even after power is removed from the system. Typically, the non-volatile memory will also be a random access memory, although this is not required.

While <FIG> shows that the non-volatile memory is a local device coupled directly to the rest of the components in the data processing system, the present invention may utilize a non-volatile memory which is remote from the system; such as, a network storage device which is coupled to the data processing system through a network interface such as a modem or Ethernet interface. The bus <NUM> may include one or more buses connected to each other through various bridges, controllers, and/or adapters, as is well-known in the art. In one embodiment, the I/O controller <NUM> includes a USB (Universal Serial Bus) adapter for controlling USB peripherals. Alternatively, I/O controller <NUM> may include an IEEE-<NUM> adapter, also known as FireWire adapter, for controlling FireWire devices.

Embodiments of the invention also relate to an apparatus for performing the operations herein. Such a computer program is stored in a non-transitory computer readable medium. A machine-readable medium includes any mechanism for storing information in a form readable by a machine (e.g., a computer). For example, a machine-readable (e.g., computer-readable) medium includes a machine (e.g., a computer) readable storage medium (e.g., read only memory ("ROM"), random access memory ("RAM"), magnetic disk storage media, optical storage media, flash memory devices).

The processes or methods depicted in the preceding figures may be performed by processing logic that comprises hardware (e.g. circuitry, dedicated logic, etc.), software (e.g., embodied on a non-transitory computer readable medium), or a combination of both. Although the processes or methods are described above in terms of some sequential operations, it should be appreciated that some of the operations described may be performed in a different order. Moreover, some operations may be performed in parallel rather than sequentially.

Embodiments of the present invention are not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of embodiments of the invention as described herein.

Claim 1:
A method, comprising:
at a computer device (<NUM>) with a display (<NUM>) and one or more input devices (<NUM>);
downloading a webpage (<NUM>) that includes an article, comprising content, wherein the webpage (<NUM>) is capable of being displayed in a normal mode of presentation and a reader mode of presentation, wherein the capability of the webpage (<NUM>) being displayed in the reader mode of presentation is determined based on a rendering tree (<NUM>);
wherein, in the normal mode of presentation of the webpage (<NUM>), the content is displayed with an advertisement, icon, link, button, search field, or image, that is distinct from the content, and
in the reader mode of presentation, the content is displayed without displaying the advertisement, icon, link, button, search field, or image;
after downloading the webpage (<NUM>), displaying, on the display (<NUM>), the webpage (<NUM>) in the normal mode of presentation;
while the webpage (<NUM>) is displayed on the display (<NUM>) in the normal mode of presentation, receiving, via the one or more input devices (<NUM>), a first input that corresponds to a request to add an article (<NUM>) representation of the webpage (<NUM>) to a reading list (<NUM>), wherein the article (<NUM>) representation corresponds to the article (<NUM>) included in the webpage (<NUM>);
in response to receiving the first input, adding the webpage (<NUM>) to the reading list (<NUM>) as an article (<NUM>) representation of the webpage (<NUM>) while displaying the reading list (<NUM>), receiving a second input that corresponds to a selection of the article (<NUM>) representation of the webpage (<NUM>) from the reading list (<NUM>); and
in response to receiving the second input, displaying the article (<NUM>) on the display (<NUM>) in the reader mode of presentation.