Much online content is made available through web sites or web syndication feeds. RSS (“Really Simple Syndication”) and Atom are popular web feed formats used to publish frequently updated works in a standardized format. A typical content feed document includes full or summarized text, plus metadata such as publishing dates, authorship, etc. Internet users can subscribe to desired contents through these feeds. Additionally, internet users often use online bookmarking services to keep a reference to their favorite contents on the web.
In the following detailed description, reference is made to the accompanying drawings which form a part hereof, and in which is shown by way of illustration specific examples. It is to be understood that other implementations may be utilized and structural or logical changes may be made without departing from the scope of the present invention. The following detailed description, therefore, is not to be taken in a limiting sense, and the scope of the present invention is defined by the appended claims. It is to be understood that features of the various embodiments described herein may be combined with each other, unless specifically noted otherwise.
RSS (“Really Simple Syndication”) and Atom are popular web feed formats used to publish frequently updated works in a standardized format. Online bookmarking services such as Google Bookmarks and Delicious allow users to save favorite websites. However, these feeds and bookmarks are normally accessed either through a browser or a content feed application such as an RSS/Atom reader or aggregator. This can result in limitations for users who desire to print this content. Further, the user typically has to first view the content on a browser or suitable feed client application in order to print such RSS feed or web content.
The present disclosure provides systems and methods wherein requests are received from a user for a plurality of content feeds, and content associated with the content feeds is periodically retrieved converted to a print format. The contents associated with the content feeds in the print format are stored in a memory for printing. Indications corresponding to the content feeds are displayed on the user interface of a web connected printer so that a user can select the indications to print the contents associated with the content feeds in the print format.
An internet application, commonly referred to as an application or simply an “app,” is designed to allow a user to perform a singular or multiple related specific tasks, often leveraging Internet connectivity. Such apps are designed for a variety of web-connected devices, including mobile devices, desktop computers, notebooks, printers, and the like. As used herein, applications that connect users to content associated with respective content feeds are referred to as content connection apps or applications. As used herein, a content feed refers to a web feed from a content provider. These feeds typically contain frequently updated content. While delivery formats and protocols may vary, web feeds are typically delivered as XML (eXtensible Markup Language).
Apps are often individually programmed (e.g., using Java, .NET, Python, etc.) to satisfy API (application Programming Interface) requirements of a service provider or a service provider platform. For example, a service provider may provide a set of services such as authentication, security, display control, etc. via one or more APIs. Thus, in developing applications for compatibility with the service provider platform, computer programmers write code that adheres to the rules and specifications of the various applicable APIs. While certain parts of programming code may be leveraged from one application to another, each application supported by a service provider platform typically has unique standalone programming code for running the application.
In the examples illustrated, the modules and components may be integrated into a single physical computing device or they may be physically distributed among multiple computing devices connected, for example, over a network. In some implementations, the system 10 is a cloud service. Cloud computing generally refers to the delivery of computing and storage capacity as a service to end users. The modules and components may be implemented using Javascript or other suitable scripting language capable of executing on a web browser or application runtime environment (e.g., Adobe Flash, AIR, etc.) of any device, or alternatively as a standalone program (e.g., Java, .NET, Python, etc.).
In the example illustrated in
Contents associated with the content feeds 16 are periodically retrieved by an app that is implemented by a processor 20. The processor is a component of a cloud connected computer system in some examples. The app executed by the processor 20 aggregates the contents associated with the web feeds 16 and converts the retrieved contents to a print format. The contents associated with the content feeds in the print format are stored in a memory 22. A network connected printer 30 has a user interface 32, upon which indications 34 corresponding to the content feeds 16, such as article headers are displayed. The user 12 can then select a desired indication 34 and in response to the user's selection, the contents associated with the selected feed 16 in the print format are sent from the memory 22 to the printer 30 for printing. Thus, the user interface 32 can provide the user 12 a consolidated, grouped list of content available for printing.
In some implementations, the system functions as a Meta-app that can host multiple feed-based apps. The user's 12 requests for content feeds, or subscriptions, can be organized into categories, and each category of subscriptions appears as an app 34 for the user 12 on the user interface 32 of the printer 30. Content associated with the content feeds is periodically fetched, and article headers are displayed as the indicators for viewing on the user interface 32 in some instances. Thus, when the user 12 opens the app on the printer 30, a grouped list of the articles available for printing is displayed. The user 12 can access and manage subscriptions directly on the web portal 18 in some embodiments.
For example, when feed content is fetched, the associated metadata can be examined and new content identified. Indications 36 can then be provided on the user interface 32 advising the user 12 that new content is available for printing. In the implementation illustrated in
The app periodically fetches the subscribed content in block 54, and in block 56 the content is converted to the print format and cached for printing. Indications of new contents 36 are displayed on the printer user interface 32 in block 58. In block 60, the user 12 selects the indications 34 to print the desired content in the print format. In some embodiments, this includes viewing information about the content provided in the feed metadata such as article titles, previews, etc.
In alternative implementations, the user 12 can bookmark a web site using an online bookmarking service. Credentials for the bookmarking site where the bookmarks are stored can be provided by the user 12 on the portal 18, which then obtains the list of bookmarks (titles) and displays indications 34 of the bookmarked content on the printer user interface 32.
In some implementations, the app that converts the feed contents to a print format is generic application generation engine that leverages hierarchical patterns in content browsing to dynamically instantiate print applications from the content feeds. In particular, it has been observed that many content providers have content repositories having a folder-like organization. For example, Disney content might be organized around favorite characters while Sudoku content might be organized around difficulty. In these and other cases, the content provider expects the user to navigate a hierarchical structure to reach consumable content (e.g., printable content, content for display, interaction, etc.). Embodiments described herein exploit this hierarchical structure using a semantic language (e.g., XML or other suitable format) description to declare the content tree. The semantic language description is incorporated into a pre-defined declarative data structure engine or semantic language processor that accepts a content feed link (e.g., in the form of a URL or Uniform Resource Locator) as an input argument. Given an indication of the content feed 16, the engine dynamically instantiates a print job specific to the content feed 16 based on metadata for the content feed.
A dynamic application generator 120 instantiates a unique executable application for each content feed 16 based on its respective feed link. In the illustrated system, the unique executable application is a print job. For example, the feed link may contain or point to metadata and/or content configuration source information in semantic format (e.g., XML or other suitable format) for the hierarchical content in the content feed 16. It should be noted that content feed indications may be recursive. In other words, a feed link may reference one or more nested feed links.
Once a content connection application for a content feed has been instantiated, the dynamic application generator 234 provides the root node of the content tree to the user interface 238 of the printer 240 or other computing device. User selection of the root node initiates execution of the application. User selection of a root node for an application via the user interface 238 allows the user to interact with the hierarchical content tree associated with the respective content feed. Each intermediate node of the content tree reflects a category of content and each leaf node represents consumable content and/or an action such as printing, previewing, etc.
While nodes of a content tree may be presented as selectable indications as shown in
In various implementations, the communications module 214 receives an indication of a user traversing a content tree for an application to reach a leaf node. In response, a consumption module 212 obtains the content for the leaf node (e.g., by accessing a URL for the leaf node content) and renders the content into a print-ready format. Once the content is rendered, it is cached for printing and the communications module 214 provides the rendered content over a network to a printer associated with the user.
Although specific embodiments have been illustrated and described herein, it will be appreciated by those of ordinary skill in the art that a variety of alternate and/or equivalent implementations may be substituted for the specific embodiments shown and described without departing from the scope of the present invention. This application is intended to cover any adaptations or variations of the specific embodiments discussed herein. Therefore, it is intended that this invention be limited only by the claims and the equivalents thereof.
Number | Name | Date | Kind |
---|---|---|---|
6975419 | Staas et al. | Dec 2005 | B2 |
7065497 | Brewster et al. | Jun 2006 | B1 |
7225401 | Purvis | May 2007 | B2 |
7249319 | Payne et al. | Jul 2007 | B1 |
7290285 | McCurdy et al. | Oct 2007 | B2 |
7302423 | De Bellis | Nov 2007 | B2 |
7386791 | Jacobson | Jun 2008 | B2 |
7565350 | Fetterly et al. | Jul 2009 | B2 |
7617446 | Dutta | Nov 2009 | B2 |
7711747 | Renders et al. | May 2010 | B2 |
7720835 | Ward et al. | May 2010 | B2 |
7769751 | Wu et al. | Aug 2010 | B1 |
7861165 | Stevenson | Dec 2010 | B2 |
7996000 | Dubinko et al. | Aug 2011 | B1 |
8020090 | Chen et al. | Sep 2011 | B2 |
8046681 | Vydiswaran et al. | Oct 2011 | B2 |
8479092 | Pandey | Jul 2013 | B1 |
8593666 | Xiao | Nov 2013 | B2 |
8645369 | Poblete et al. | Feb 2014 | B2 |
8683379 | LuVogt et al. | Mar 2014 | B2 |
8713438 | Broniek et al. | Apr 2014 | B1 |
8745091 | McHenry et al. | Jun 2014 | B2 |
20020078045 | Dutta | Jun 2002 | A1 |
20020123988 | Dean et al. | Sep 2002 | A1 |
20030142801 | Pecht | Jul 2003 | A1 |
20030210424 | Sandfort et al. | Nov 2003 | A1 |
20040185882 | Gecht et al. | Sep 2004 | A1 |
20040249934 | Anderson et al. | Dec 2004 | A1 |
20040252332 | McCoog et al. | Dec 2004 | A1 |
20050120311 | Thrall | Jun 2005 | A1 |
20050138065 | Ciriza | Jun 2005 | A1 |
20050154718 | Payne et al. | Jul 2005 | A1 |
20060033950 | Nakamura | Feb 2006 | A1 |
20060048053 | Sembower et al. | Mar 2006 | A1 |
20060123114 | Aoki et al. | Jun 2006 | A1 |
20060125820 | Turcan et al. | Jun 2006 | A1 |
20060143286 | Aoki et al. | Jun 2006 | A1 |
20060167862 | Reisman | Jul 2006 | A1 |
20060173985 | Moore | Aug 2006 | A1 |
20060277482 | Hoffman et al. | Dec 2006 | A1 |
20070027932 | Thibeault | Feb 2007 | A1 |
20070047844 | Watanabe et al. | Mar 2007 | A1 |
20070130509 | Gombert et al. | Jun 2007 | A1 |
20070174298 | Tanimoto | Jul 2007 | A1 |
20070220411 | Hauser | Sep 2007 | A1 |
20070247664 | Yamamoto | Oct 2007 | A1 |
20080005250 | Oksum | Jan 2008 | A1 |
20080005651 | Grefenstette et al. | Jan 2008 | A1 |
20080030775 | Adachi et al. | Feb 2008 | A1 |
20080046459 | Hinohara | Feb 2008 | A1 |
20080068650 | Negoro | Mar 2008 | A1 |
20080089709 | Higashi | Apr 2008 | A1 |
20080097828 | Silverbrook et al. | Apr 2008 | A1 |
20080147514 | Shuster et al. | Jun 2008 | A1 |
20080307308 | Sullivan et al. | Dec 2008 | A1 |
20090002770 | Cavill et al. | Jan 2009 | A1 |
20090013071 | Matoba et al. | Jan 2009 | A1 |
20090030889 | Chatow et al. | Jan 2009 | A1 |
20090119260 | Chopra et al. | May 2009 | A1 |
20090171751 | Zhou et al. | Jul 2009 | A1 |
20090310168 | Kunioka et al. | Dec 2009 | A1 |
20090316198 | Takeuchi et al. | Dec 2009 | A1 |
20100069116 | Silverbrook et al. | Mar 2010 | A1 |
20100145955 | McDonald et al. | Jun 2010 | A1 |
20100281351 | Mohammed | Nov 2010 | A1 |
20100328725 | Gaucas et al. | Dec 2010 | A1 |
20110040823 | Liu et al. | Feb 2011 | A1 |
20110078558 | Bao et al. | Mar 2011 | A1 |
20110213894 | Silberstein et al. | Sep 2011 | A1 |
20110235088 | Luo | Sep 2011 | A1 |
20120062935 | Kamath et al. | Mar 2012 | A1 |
20120212772 | Hwang et al. | Aug 2012 | A1 |
20120262754 | Hwang | Oct 2012 | A1 |
20130010333 | Anand et al. | Jan 2013 | A1 |
20130103461 | Bhatia | Apr 2013 | A1 |
20130185364 | Bhatia | Jul 2013 | A1 |
20130222843 | Ganesan et al. | Aug 2013 | A1 |
20140057238 | Okamoto et al. | Feb 2014 | A1 |
20140122486 | Simard et al. | May 2014 | A1 |
20140214632 | Garera et al. | Jul 2014 | A1 |
Number | Date | Country |
---|---|---|
101329687 | Dec 2008 | CN |
102073728 | May 2011 | CN |
102253937 | Nov 2011 | CN |
WO-2013048428 | Apr 2013 | WO |
Entry |
---|
Merrill, Read any RSS feed on our Lexmark All-in-one-Printer, Techcrunch, Jul. 6, 2010, 2 pages. |
“Printable Web Pages on the Fly!” (Web Page) retrieved on Oct. 30, 2013 at http://www.printer-friendly.com/2008011945/java/web2printer.html. |
SPCURTIS81, “App Idea—Select Your Own RSS Feed for Scheduled Printing,” HP Support Forums, Jul. 26, 2012, <http://h30434.www3.hp.com/t5/ePrint-Print-Apps-Mobile-Printing-and-ePrintCenter/App-Idea-Select-Your-Own-RSS-Feed-For-Scheduled-Printing/td-p/1700391>. |
Wikipedia, “Delicious (website),” Jun. 4, 2012, <http://web.archive.org/web/20120604165352/https://en.wikipedia.org/wiki/Delicious—(website)>. |
Wikipedia, “Google bookmarks,” Mar. 7, 2012, <http://web.archive.org/web/20120307041604/http://en.wikipedia.org/wiki/Google—Bookmarks>. |
Luo, P. et al., “Web Article Extraction for Web Printing: a DOM+Visual based Approach,” Hewlett-Packard Company, 9th ACM Symposium on Document Engineering, Aug. 2009, p. 1-5. |
Chen, Y. et al., “Improve on Frequent Access Path Algorithm in Web Page Personalized Recommendation Model,” (Research Paper), 2011 International Conference on Information Science and Technology (ICIST), Mar. 2011, 4 pages, found at http://ieeexplore.ieee.org/stamp/starnp.jsp?arnumber=5765216. |
International Search Report & Written Opinion received in PCT Application No. PCT/CN2012/000569, Feb. 7, 2013, 6 pages. |
Tsukada, M. et al., “Automatic Web-Page Classification by Using Machine Learning Methods,” Web Intelligence: Research and Development, Springer Berlin Heidelberg, 2001, pp. 303-313, available at http://www.ar.sanken.osaka-u.ac.jp/papers/2006-12/wi01—tsukada.pdf. |
Wikipedia, “Machine learning,” Oct. 24, 2014, <http://en.wikipedia.org/wiki/Machine—learning>. |
Yu, B. et al., “Video Summarization Based on User Log Enhanced Link Analysis,” (Research Paper), 11th ACM International Conference on Multimedia, 2003, 2 pages, found at http://d1.acm.org/citation.cfm?id=957013.957095&coll=DL&dl=GUIDE&CFID=89676494&CFTOKEN=29375123. |
Number | Date | Country | |
---|---|---|---|
20140036303 A1 | Feb 2014 | US |