<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="https://feedsanywhere.com"  xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
 <title>FeedsAnywhere blogs</title>
 <link>https://feedsanywhere.com/blog</link>
 <description></description>
 <language>en</language>
<item>
 <title>Enabling Touch Gestures in Chrome</title>
 <link>https://feedsanywhere.com/blog/enabling_touch_gestures_in_chrome</link>
 <description>&lt;p&gt;FeedsAnywhere supports swipe gestures and they have been working well on mobile browsers, but don&#039;t work in Chrome on Windows or Linux due to lack of support for the Touch Events API.  Fortunately there is a simple fix.&lt;/p&gt;
&lt;p&gt;Go to chrome://flags/ and set the Touch Events API option to Enabled or Automatic and touch gestures will function just like on a mobile device.&lt;/p&gt;
&lt;p&gt;Supported gestures are:&lt;/p&gt;
&lt;p&gt;- Swipe left to expand or collapse an item&lt;br /&gt;
- Swipe right will either mark the item read or unread&lt;br /&gt;
- Long (edge-to-edge) swipe left will open the original URL&lt;br /&gt;
- Swipe diagonally from top left to bottom right to Mark Page Unread&lt;br /&gt;
- Swipe diagonally from top right to bottom left to Mark Page Read&lt;br /&gt;
- Swipe diagonally from bottom left to top right to Go to Previous Page&lt;br /&gt;
- Swipe diagonally from bottom right to top left to Go to Next Page&lt;/p&gt;
</description>
 <comments>https://feedsanywhere.com/blog/enabling_touch_gestures_in_chrome#comments</comments>
 <pubDate>Sun, 17 Mar 2019 17:34:56 +0000</pubDate>
 <dc:creator>chadm</dc:creator>
 <guid isPermaLink="false">1478 at https://feedsanywhere.com</guid>
</item>
<item>
 <title>Recent Server Problems</title>
 <link>https://feedsanywhere.com/blog/recent_server_problems</link>
 <description>&lt;p&gt;If you&#039;ve logged into FeedsAnywhere recently you&#039;ve probably notice problems ranging from no response at all to some items showing up when you aren&#039;t subscribed to the feeds.  These came during an upgrade when some changes were made to software that we missed.  Most issues have been resolved and the site has been usable for a little while, however we are still cleaning up the incorrect data and will hopefully have that done soon.&lt;/p&gt;
&lt;p&gt;We apologize to the inconvenience as we got back on our feet.&lt;/p&gt;
</description>
 <comments>https://feedsanywhere.com/blog/recent_server_problems#comments</comments>
 <pubDate>Thu, 28 Apr 2016 18:20:37 +0000</pubDate>
 <dc:creator>chadm</dc:creator>
 <guid isPermaLink="false">880 at https://feedsanywhere.com</guid>
</item>
<item>
 <title>HTTPS</title>
 <link>https://feedsanywhere.com/blog/https</link>
 <description>&lt;p&gt;In a long overdue move, FeedsAnywhere has switch to https to take advantage of SSL encryption.  Thanks to the service at &lt;a href=&quot;https://letsencrypt.org&quot;&gt;letsencrypt.org&lt;/a&gt; for enabling free certificates.&lt;/p&gt;
&lt;p&gt;There are a few details I want to make you aware of though.  Because FeedsAnywhere pulls from RSS feeds there are links to external sites and most images are delivered that way.  In many cases those images are delivered over http instead of https and are not encrypted.  The result is that your browser will only show the lock icon next to the URL on a page that doesn&#039;t also have external content over http.&lt;/p&gt;
&lt;p&gt;Over time I&#039;d expect more of the external content to get encrypted too, but until that time your traffic to and from the FeedsAnywhere server will be encrypted despite not getting the browser assurance overall.&lt;/p&gt;
</description>
 <comments>https://feedsanywhere.com/blog/https#comments</comments>
 <pubDate>Sat, 16 Apr 2016 17:17:14 +0000</pubDate>
 <dc:creator>chadm</dc:creator>
 <guid isPermaLink="false">875 at https://feedsanywhere.com</guid>
</item>
<item>
 <title>Infrequent Feeds Not Always Checked Correctly</title>
 <link>https://feedsanywhere.com/blog/infrequent_feeds_not_always_checked_correctly</link>
 <description>&lt;p&gt;To improve feed fetch time, those with invalid URLs or that haven&#039;t been updated in more than 6 months are no longer checked.  However in some cases feeds will be silent for a long time and then pick up.&lt;/p&gt;
&lt;p&gt;FeedsAnywhere tries to get around this problem by checking any feed that is viewed individually, but a bug existed that wouldn&#039;t add new items more than 30 days old.  That is now fixed.  Once a new item is found the feed is added back into the regular rotation and its 6 month clock starts over again.&lt;/p&gt;
</description>
 <comments>https://feedsanywhere.com/blog/infrequent_feeds_not_always_checked_correctly#comments</comments>
 <pubDate>Sun, 08 Mar 2015 20:44:00 +0000</pubDate>
 <dc:creator>chadm</dc:creator>
 <guid isPermaLink="false">709 at https://feedsanywhere.com</guid>
</item>
<item>
 <title>Server Storage Upgrade</title>
 <link>https://feedsanywhere.com/blog/server_storage_upgrade</link>
 <description>&lt;p&gt;A little over a week ago we upgraded from AWS&#039;s standard EBS storage to the new General Purpose SSD backed volumes and the speedup has been tremendous.  A set of queries that was taking ~28 minutes is down to a little more than ~2.5 minutes, which shifts the feed fetch bottleneck to be mostly the download times.&lt;/p&gt;
&lt;p&gt;In addition to speeding up the background tasks like fetching feeds, scoring, and grouping, you should also see an improvement in completing requests made in your browser.  FeedsAnywhere already makes judicious use of prefetching your next page, as well as keeping previous pages in cache in case you need to go back, but activities such as viewing similar items or waiting for unread counts to update now have a shorter delay.&lt;/p&gt;
</description>
 <comments>https://feedsanywhere.com/blog/server_storage_upgrade#comments</comments>
 <pubDate>Fri, 11 Jul 2014 22:06:37 +0000</pubDate>
 <dc:creator>chadm</dc:creator>
 <guid isPermaLink="false">676 at https://feedsanywhere.com</guid>
</item>
<item>
 <title>New Updates to Close Out May</title>
 <link>https://feedsanywhere.com/blog/new_updates_to_close_out_may</link>
 <description>&lt;p&gt;There have been some background changes to the site that shouldn&#039;t be user noticeable, but you&#039;ll also start seeing a few visible changes as well today.  The most apparent will be the Refresh icon and new Settings icon when viewing feeds.  I never included a Refresh icon in the past because the browser&#039;s could always be used, but now that I&#039;ve been using FeedsAnywhere as a Chrome WebApp on Android the normal browser buttons aren&#039;t available.  Having the button fills that gap while still allowing the benefits of being a WebApp.&lt;/p&gt;
&lt;p&gt;The other major change will benefit those of you who use the Similar Items feature.  Now when you select Return to Previous Page that browser will automatically scroll to make the item you initially selected in focus, just like when you expand it in the first place.  I know it saves me a lot of scrolling to get back where I was, particularly on a small screen.&lt;/p&gt;
&lt;p&gt;And finally there were a few noteworthy bug fixes.  https feeds can now be fetched and parsed, although FeedsAnywhere doesn&#039;t support password protected feeds.  A thumbnail link now works correctly after an item has been marked read.  And feed renaming is working again on the Select a Feed page.&lt;/p&gt;
&lt;p&gt;I hope you enjoy the new changes.&lt;/p&gt;
</description>
 <comments>https://feedsanywhere.com/blog/new_updates_to_close_out_may#comments</comments>
 <pubDate>Fri, 30 May 2014 02:08:04 +0000</pubDate>
 <dc:creator>chadm</dc:creator>
 <guid isPermaLink="false">668 at https://feedsanywhere.com</guid>
</item>
<item>
 <title>Chrome on Android Changes and Improved Feed Fetching</title>
 <link>https://feedsanywhere.com/blog/chrome_on_android_changes_and_improved_feed_fetching</link>
 <description>&lt;p&gt;A few new updates were posted today. First up were a couple of changes targeted at some Chrome on Android behaviors that have been annoying me. Chrome tries to do an automatic font resizing after new pages are slid in and since it overwrites what the user has already set it results in an annoying mismatch between elements. The resizing is now blocked so everything will behave as it does in other browsers.&lt;/p&gt;
&lt;p&gt;Another annoying Chrome behavior is highlighting a link on touch start instead of just when that link is selected. Because of this I have decided to disable highlighting of the title when expanding or collapsing an item.&lt;/p&gt;
&lt;p&gt;In addition to the client side changes, we also made some adjustments to what feeds are fetched to better prioritize the feeds of users who are logging in. Now when you log in all of your feeds will be automatically updated in the background if they are more than 30 minutes out of date. Viewing any page on FeedsAnywhere will trigger this update.&lt;/p&gt;
</description>
 <comments>https://feedsanywhere.com/blog/chrome_on_android_changes_and_improved_feed_fetching#comments</comments>
 <pubDate>Sat, 07 Dec 2013 13:21:11 +0000</pubDate>
 <dc:creator>chadm</dc:creator>
 <guid isPermaLink="false">639 at https://feedsanywhere.com</guid>
</item>
<item>
 <title>New Gestures and Category Creation</title>
 <link>https://feedsanywhere.com/blog/new_gestures_and_category_creation</link>
 <description>&lt;p&gt;I added a few new touch gestures today.  Each of works on the entire page rather than an individual item like swiping left and right.  The goal with these changes is to allow users to take the actions at any point on the page instead of having to scroll to the bottom first.&lt;/p&gt;
&lt;p&gt;- swipe diagonally from top left to bottom right: Mark Page Unread&lt;br /&gt;
- swipe diagonally from top right to bottom left: Mark Page Read&lt;br /&gt;
- swipe diagonally from bottom left to top right: Go to Previous Page&lt;br /&gt;
- swipe diagonally from bottom right to top left: Go to Next Page&lt;/p&gt;
&lt;p&gt;In addition to those adds a bug that prevented creating new categories has been fixed.&lt;/p&gt;
</description>
 <comments>https://feedsanywhere.com/blog/new_gestures_and_category_creation#comments</comments>
 <pubDate>Thu, 21 Nov 2013 20:32:56 +0000</pubDate>
 <dc:creator>chadm</dc:creator>
 <guid isPermaLink="false">637 at https://feedsanywhere.com</guid>
</item>
<item>
 <title>How to Integrate Your Website with Ubuntu Unity WebApps</title>
 <link>https://feedsanywhere.com/blog/how_to_integrate_your_website_with_ubuntu_unity_webapps</link>
 <description>&lt;p&gt;When I decided to add Ubuntu WebApp support to FeedsAnywhere I found a surprising lack of available reference material online. The API links that were included on most sites went to either dead links or links that were about building an installable component to manage the app.  However, I was looking for something simple that could be done completely using Javascript within the website itself.  After much searching I finally found an old reference &lt;a href=&quot;http://developer.ubuntu.com/api/ubuntu-12.10/javascript/unity-webapps/unity-web-api-reference.html&quot;&gt;here&lt;/a&gt;. Even though it is for the 12.10 release it works in 13.04 too. I haven&#039;t tested with 13.10 yet.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Setup&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The first step is creating a function that sets up the Unity object and basics like address and icon. I added some error detection to the process to avoid failures when a non-compatible browser is used and the full code is included below. The Unity.init function below is what adds the icon to Dash and the Launcher and tells the system what homepage to navigate to when clicked.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;// ==UserScript==&lt;br /&gt;
// @name           feedsanywhere-unity-integration&lt;br /&gt;
// @include        &lt;a href=&quot;http://*.feedsanywhere.com/*&quot; title=&quot;http://*.feedsanywhere.com/*&quot;&gt;http://*.feedsanywhere.com/*&lt;/a&gt;&lt;br /&gt;
// @include        &lt;a href=&quot;http://feedsanywhere.com/*&quot; title=&quot;http://feedsanywhere.com/*&quot;&gt;http://feedsanywhere.com/*&lt;/a&gt;&lt;br /&gt;
// @require        utils.js&lt;br /&gt;
// ==/UserScript==&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;unityActive=1;&lt;br /&gt;
try {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;window.Unity = external.getUnityObject(1);&lt;br /&gt;
} catch (e) {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;unityActive=0;&lt;br /&gt;
}&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;if (unityActive == 1) {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;Unity.init({name: &quot;FeedsAnywhere&quot;,&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;domain: &quot;feedsanywhere.com&quot;,&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;homepage: &quot;http://feedsanywhere.com/&quot;,&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;iconUrl: &quot;http://feedsanywhere.com/images/home_icon.png&quot;,&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;onInit: unityWebApp&lt;br /&gt;
&amp;nbsp;&amp;nbsp;});&lt;br /&gt;
}&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Initialization&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Near the end of the setup you&#039;ll notice a line with onInit referencing the unityWebApp object. unityWebApp is a function you will define that will run code right away. FeedsAnywhere uses this function to add entries to the Launcher and HUD. Other code, like updating unread counts, can be run at later times within the rest of your code.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Launcher Actions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Since the Unity.init function defined what to do when selecting the icon in the Launcher, an action is adding another target to the right-click menu. The code below is for the Show Interesting action in FeedsAnywhere. Simply change Show Interesting to whatever you want as the text and adjust the location.href to the destined address.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;Unity.Launcher.addAction(&quot;Show Interesting&quot;, function() { document.location.href=&quot;/feed/interesting&quot;; });&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Launcher Unread Counts&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Unread counts can be added to the Launcher icon as well. A good example of this behavior is the system update program showing how many new packages are available. In the example below, num_unread is a variable containing the number you want to display. Please note that using a string will not work. It must be a number. That is why the variable is enclosed with Number() to make sure a string isn&#039;t inadvertently passed.&lt;/p&gt;
&lt;p&gt;The second line in the code removes the bubble with the count completely. This necessary because setting the count to 0 will display a 0, however with FeedsAnywhere I chose to remove the count when there are no unread items or when there is a 1000+ unread count.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;Unity.Launcher.setCount(Number(num_unread));&lt;br /&gt;
Unity.Launcher.clearCount();&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;HUD&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;HUD actions are very similar to Launcher actions and should also be defined in the function call by onInit.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;Unity.addAction(&quot;/Show Interesting&quot;, function() { document.location.href=&quot;/feed/interesting&quot;; });&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Indicator&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;With FeedsAnywhere I chose to avoid using the indicator menus because unread counts in a news reader can get very large and because updates to the count are only happening when you are actively using FeedsAnywhere and not in the background. That said, I did experiment them and for completeness, here is the implementation code.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;Unity.MessagingIndicator.showIndicator(&quot;Interesting&quot;, {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;count: 0,&lt;br /&gt;
&amp;nbsp;&amp;nbsp;callback: function() { document.location.href=&quot;/feed/interesting&quot;; }&lt;br /&gt;
});&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Indicators should be set up in onInit, however count may often need to be updated elsewhere in the code if it is to be kept accurate without requiring a page load.&lt;/p&gt;
</description>
 <comments>https://feedsanywhere.com/blog/how_to_integrate_your_website_with_ubuntu_unity_webapps#comments</comments>
 <pubDate>Fri, 18 Oct 2013 20:09:09 +0000</pubDate>
 <dc:creator>chadm</dc:creator>
 <guid isPermaLink="false">613 at https://feedsanywhere.com</guid>
</item>
<item>
 <title>Ubuntu Unity WebApp Integration</title>
 <link>https://feedsanywhere.com/blog/ubuntu_unity_webapp_integration</link>
 <description>&lt;p&gt;A couple releases ago Ubuntu added a feature to Unity called WebApps.  Most supported WebApps I&#039;ve come across are available from the repositories, but it is possible to enable support from a website.  FeedsAnywhere now integrates with this capability and here&#039;s how it works.&lt;/p&gt;
&lt;p&gt;Visiting FeedsAnywhere while using either the Firefox or Chromium browser will trigger a notification and ask you whether you want to &quot;install FeedsAnywhere ... for extra features, and quicker access?&quot; If you aren&#039;t interested you can choose the &quot;Don&#039;t Ask Again&quot; option, but if you select Yes the FeedsAnywhere icon will be added to the launcher.  For it to work properly the browser should also be designated as your default.&lt;/p&gt;
&lt;p&gt;Like any other program, FeedsAnywhere can be locked to the launcher by right clicking and selecting the appropriate option. In addition to the standard options, you will also notice shortcuts to the Interesting, All, Saved, and Popular views.  When a feed or view is selected that has at least one, but less than 1000 unread items, the unread count will appear in the icon.  However, if you have unread counts disabled they will not appear.&lt;/p&gt;
&lt;p&gt;Other benefits of FeedsAnywhere&#039;s WebApp integration are inclusion in Dash and task switching. This means FeedsAnywhere will show up in app searches and will have an entry when using Alt+Tab.&lt;/p&gt;
&lt;p&gt;Any finally, there is HUD integration. The same four views (Interesting, All, Saved, and Popular) that are included as right click options for the launcher icon can also be found when searching HUD.  For those unfamiliar with it, HUD is a Heads Up Display that is activated by pressing the Alt key and allows you to search through menus using the keyboard instead of manually going through them with a mouse.&lt;/p&gt;
&lt;p&gt;If you try using FeedsAnywhere as a WebApp, but decide you don&#039;t like it, there is a way to remove it from the allowed domains by using dconf-editor. This entry can be found under com -&amp;gt; canonical -&amp;gt; unity -&amp;gt; webapps and you only need to cut feedsanywhere.com from the list.  The next step is opening the ~/.local/share/applications folder and deleting the FeedsAnywherefeedsanywherecom.desktop file.&lt;/p&gt;
</description>
 <comments>https://feedsanywhere.com/blog/ubuntu_unity_webapp_integration#comments</comments>
 <pubDate>Thu, 10 Oct 2013 02:14:37 +0000</pubDate>
 <dc:creator>chadm</dc:creator>
 <guid isPermaLink="false">611 at https://feedsanywhere.com</guid>
</item>
</channel>
</rss>
