{"id":372,"date":"2006-05-24T16:49:58","date_gmt":"2006-05-24T20:49:58","guid":{"rendered":""},"modified":"2006-05-25T16:10:04","modified_gmt":"2006-05-25T20:10:04","slug":"next_step_with_web_feed_readers_from_pas","status":"publish","type":"post","link":"https:\/\/fgiasson.com\/blog\/index.php\/2006\/05\/24\/next_step_with_web_feed_readers_from_pas\/","title":{"rendered":"Next step with Web Feed Readers: from Passive readers to Active users!"},"content":{"rendered":"<p>You can download <a href=\"http:\/\/www.download.com\/RSS-Readers\/3150-9227_4-0.html?tag=dir\">129 different web feed readers at download.com<\/a>. Primary, they will all do the same thing: aggregating RSS and Atom feeds content. After they will differ in the way they will manage and present the information. That&#8217;s it.<\/p>\n<p><strong>In that case, what is the next step with Web Feed Readers&#8230; if any?<\/strong><\/p>\n<p>If I check the big picture, I can find out one recurrent user state: they sat in front of their web feed reader passively reading their uninterrupted incoming flow of feed content.<\/p>\n<p><center><strong>From passive readers to active users!<\/strong><\/center><\/p>\n<p>I am playing with this idea since I answered to a comment from Hussein on one <a href=\"https:\/\/fgiasson.com\/blog\/index.php?title=new_applications_of_the_secure_web_feed&amp;more=1&amp;c=1&amp;tb=1&amp;pb=1\">of my old blog post talking about the security of the Gmail Atom feeds<\/a>. There is what I wrote:<\/p>\n<blockquote><p>Google is supposed to have <a href=\"http:\/\/forevergeek.com\/geek_resources\/gmail_rss_feed.php\">tested a RSS feed service for Gmail in their GoogleLabs in 2004<\/a>. I can not confirm if the service is always available because I do not have any Gmail accounts and I can not sing-in for one. This service put new incoming messages of a Gmail account into a RSS feed. Then if you subscribe to that feed you will see your new Gmail messages directly into your web feed reader. What an excellent idea! However, I was surprised to found that they used SSL to create a secure channel between the feed and the feed reader.<\/p><\/blockquote>\n<p>Then I thought about all the things that we can aggregate in these days: blog content, incoming emails, UPS package delivery status, calendar events, etc, etc, etc. Then I realized: <strong>people have all that content in their face, but what can they do with it?<\/strong> Some web feed readers and other services now implement a &#8220;blog this item&#8221; feature. It lets the user instantly blog about that specific item. <strong>Great, users can act accordingly to aggregated content via their feed reader. Why not extending this behavior to everything else?<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p><strong>The email example<\/strong><\/p>\n<p>In a hypothetical world, I am receiving my incoming email in my web feed reader via a RSS feed service provided by my mail provider.<\/p>\n<p>What is cool is that I will receive my news, my emails, my UPS delivery status, my calendar events, etc, at the same place.<\/p>\n<p>So, I just received an email from Sophie. Instead of opening my email client to answer her (what would be really, really unproductive), my web feed reader detect that the incoming web feed item is an email and let me answer directly from its interface. <\/p>\n<p>Wow, one single application to do all these things.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>How it would works?<\/strong><\/p>\n<p>Technologies are already available to be able to do that. I will not <a href=\"https:\/\/fgiasson.com\/blog\/index.php?title=rss_1_0_rss_2_0_make_it_simple_not_simpl&amp;more=1&amp;c=1&amp;tb=1&amp;pb=1\">re-open the RSS 1.0 vs. RSS 2.0 debate<\/a> here but this example is just another one in favor of using RSS 1.0 instead of RSS 2.0.<\/p>\n<div class=\"error\">\n<center><br \/>\nThe discussion about RSS 1.0 and RSS 2.0 continue here :<\/p>\n<p><a href=\"https:\/\/fgiasson.com\/blog\/index.php?title=why_using_rdf_instead_of_xml&amp;more=1&amp;c=1&amp;tb=1&amp;pb=1\">Why using RDF instead of XML?<\/a> [25 May 2006]<\/p>\n<p><\/center>\n<\/div>\n<blockquote><p>Fred, you are telling us that RSS 1.0 is much powerful than RSS 2.0? Yes, all the power of RSS 1.0 resides in the fact that it supports modules. This capability is given by RDF and his ability to import external RDF schemas to extend his vocabulary. What is a module? A module gives the possibility to the content publisher to extend his file format&#8217;s vocabulary by importing external RDF schemas.<\/p>\n<p>&#8211; <a href=\"https:\/\/fgiasson.com\/blog\/index.php?title=rss_1_0_rss_2_0_make_it_simple_not_simpl&amp;more=1&amp;c=1&amp;tb=1&amp;pb=1\">RSS 1.0, RSS 2.0: make it simple not simpler<\/a>\n<\/p><\/blockquote>\n<p>What web feed readers need is to know what particular feed item is (a sort of type). <strong>What we need is something to tell to the feed reader that this feed item is in fact an email, and not a normal feed item, and that there are its characteristics.<\/strong><\/p>\n<p>This is what RSS 1.0 modules are all about. This is a way to extend the information about an item in a web feed. <\/p>\n<p>That way, I could tell to feed readers that this particular web feed item is not a normal one, it is an email, and there are its characteristics (sender email, receiver email, subject, body, attached files, etc, etc).<\/p>\n<p>What is wonderful is that if the web feed reader cannot understand the content provided by the module, then he just doesn&#8217;t have to care about it and display the item as if it was a normal feed item. This is what is great with modules: you can act according to or just ignore them, it doesn&#8217;t change anything.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>The email example with RSS 1.0 modules<\/strong><\/p>\n<p>Now, how it would works? Simple, we could create a RSS 1.0 module that would describe what is an email (a module is an ontology that describe classes (sender, receiver, etc.) and their properties (subject, from, to, etc.)<\/p>\n<p>I will use the <a href=\"https:\/\/fgiasson.com\/blog\/media\/mailont.rdf\">mailont ontology<\/a> used in <a href=\"http:\/\/www.mindswap.org\/~roark\/mailSMORE.shtml\">MailSMORE<\/a> for my example.<\/p>\n<p>Considering this module, a RSS 1.0 feed of a Gmail email feed would look like something like:<\/p>\n<blockquote><p>&lt;rdf:RDF<br \/>\n  xmlns:rdf=&#8221;http:\/\/www.w3.org\/1999\/02\/22-rdf-syntax-ns#&#8221;<br \/>\n  xmlns:dc=&#8221;http:\/\/purl.org\/dc\/elements\/1.1\/&#8221;<br \/>\n  xmlns:email=&#8221;http:\/\/www.wam.umd.edu\/~roark\/mailont.rdf#&#8221;<br \/>\n  xmlns=&#8221;http:\/\/purl.org\/rss\/1.0\/&#8221;<br \/>\n&gt; <\/p>\n<p>  &lt;channel rdf:about=&#8221;http:\/\/gmail.com\/?_fl=rss1.0&#8243;&gt;<br \/>\n    &lt;title&gt;GMail feed&lt;\/title&gt;<br \/>\n    &lt;link&gt;http:\/\/gmail.com&lt;\/link&gt;<br \/>\n    &lt;description&gt;GMail secure feed&lt;\/description&gt;<br \/>\n    &lt;items&gt;<br \/>\n      &lt;rdf:Seq&gt;<br \/>\n        &lt;rdf:li resource=&#8221;hhttp:\/\/gmail.com\/getemail?r123&#8243; \/&gt;<br \/>\n      &lt;\/rdf:Seq&gt;<br \/>\n    &lt;\/items&gt;<br \/>\n  &lt;\/channel&gt;<\/p>\n<p>  &lt;item rdf:about=&#8221;http:\/\/gmail.com\/getemail?r123&#8243;&gt;<br \/>\n    &lt;title&gt;Hello Bob! Tonight&#8217;s dinner!&lt;\/title&gt;<br \/>\n    &lt;link&gt;http:\/\/gmail.com\/getemail?r123&lt;\/link&gt;<\/p>\n<p>&lt;!&#8211; only used to describe the content provider, in that case it is GMail &#8211;&gt;<br \/>\n    &lt;dc: publisher&gt;Google&lt;\/dc: publisher&gt;<br \/>\n    &lt;dc:creator&gt;GMail system&lt;\/dc:creator&gt;<br \/>\n    &lt;dc:rights&gt;Copyright &#169; 2006 Google&lt;\/dc:rights&gt;<\/p>\n<p>    &lt;email:Message rdf:ID=&#8221;Current Message&#8221;&gt;<br \/>\n        &lt;email: DateTime&gt;10:05:03 25\/10\/2006&lt;\/email: DateTime&gt;<br \/>\n        &lt;email:Subject&gt;Hello Fred! Tonight&#8217;s dinner!&lt;\/email:Subject&gt;<br \/>\n        &lt;email:To&gt;fred@gmail.com&lt;\/email:To&gt;<br \/>\n        &lt;email:From&gt;sophie@gmail.com&lt;\/email:From&gt;<br \/>\n        &lt;email:Cc&gt;&lt;\/email:Cc&gt;<br \/>\n        &lt;email:MessageId&gt;&lt;\/email:MessageId&gt;<br \/>\n        &lt;email:InReplyTo&gt;&lt;\/email:InReplyTo&gt;<br \/>\n        &lt;email:ArchiveUrl&gt;&lt;\/email:ArchiveUrl&gt;<br \/>\n        &lt;email:References&gt;&lt;\/email:References&gt;<br \/>\n        &lt;email:Body&gt;Hello Fred! it was to let you know that it&#8217;s working for me for tonight&#8217;s dinner. Take care! Sincerely yours, Sophie xxx&lt;\/email:Body&gt;<br \/>\n    &lt;\/email:Message&gt;<\/p>\n<p>  &lt;\/item&gt; <\/p>\n<p>&lt;\/rdf:RDF&gt;<\/p><\/blockquote>\n<p>Now a Web Feed Reader could act upon this meta-information if he is able to understand it.<\/p>\n<p>Giving this information, I could create a web feed reader that understand the &#8220;email&#8221; RSS 1.0 module (ontology) and act vis-\u00e0-vis its content. <strong>So my web feed reader would not only display static information to its users, but it would also let them act (reply to the email) accordingly to that information!<\/strong><\/p>\n<p><center><br \/>\n<img decoding=\"async\" src=\"https:\/\/fgiasson.com\/blog\/media\/feed-email.jpg\" border=\"0\" alt=\"\" \/><br \/>\n<\/center><\/p>\n<p>This simple schemas only shows how a RSS reader would act accordingly to the module he understand and not.<\/p>\n<p><font face=\"Arial, Helvetica, sans-serif\" size=\"-2\">Technorati:   <a href=\"http:\/\/technorati.com\/tag\/Web\" rel=\"tag\" target=\"_blank\">Web<\/a> | <a href=\"http:\/\/technorati.com\/tag\/feed\" rel=\"tag\" target=\"_blank\">feed<\/a> | <a href=\"http:\/\/technorati.com\/tag\/rss\" rel=\"tag\" target=\"_blank\">rss<\/a> | <a href=\"http:\/\/technorati.com\/tag\/rss1.0\" rel=\"tag\" target=\"_blank\">rss1.0<\/a> | <a href=\"http:\/\/technorati.com\/tag\/rss2.0\" rel=\"tag\" target=\"_blank\">rss2.0<\/a> | <a href=\"http:\/\/technorati.com\/tag\/semantic\" rel=\"tag\" target=\"_blank\">semantic<\/a> | <a href=\"http:\/\/technorati.com\/tag\/web\" rel=\"tag\" target=\"_blank\">web<\/a> | <a href=\"http:\/\/technorati.com\/tag\/readers\" rel=\"tag\" target=\"_blank\">readers<\/a> | <a href=\"http:\/\/technorati.com\/tag\/atom\" rel=\"tag\" target=\"_blank\">atom<\/a> | <\/font><\/p>\n","protected":false},"excerpt":{"rendered":"<p>You can download 129 different web feed readers at download.com. Primary, they will all do the same thing: aggregating RSS and Atom feeds content. After they will differ in the way they will manage and present the information. That&#8217;s it. In that case, what is the next step with Web Feed Readers&#8230; if any? If [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[57,84,64],"tags":[],"class_list":["post-372","post","type-post","status-publish","format-standard","hentry","category-blogging","category-semantic-web","category-web"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/fgiasson.com\/blog\/index.php\/wp-json\/wp\/v2\/posts\/372","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fgiasson.com\/blog\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fgiasson.com\/blog\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fgiasson.com\/blog\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/fgiasson.com\/blog\/index.php\/wp-json\/wp\/v2\/comments?post=372"}],"version-history":[{"count":0,"href":"https:\/\/fgiasson.com\/blog\/index.php\/wp-json\/wp\/v2\/posts\/372\/revisions"}],"wp:attachment":[{"href":"https:\/\/fgiasson.com\/blog\/index.php\/wp-json\/wp\/v2\/media?parent=372"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fgiasson.com\/blog\/index.php\/wp-json\/wp\/v2\/categories?post=372"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fgiasson.com\/blog\/index.php\/wp-json\/wp\/v2\/tags?post=372"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}