+++ /dev/null
-Hippo will be a new Horde 4, PHP 5 application that aggregates content. It will initially be written to aggregate feeds, both internal from Jonah natively, and external (through Horde_Feed). Hippo will work with Horde_Content types and have Input and Output classes. Input classes will allow reading a content type, such as Horde_Feed feeds, Jonah internal feeds, comics, etc. Output classes will allow outputting a "remixed" feed from one or more inputs (such as combining an RSS feed with a few comics into a daily feed).
-
- * There will be no direct storage of inputs or outputs, but Horde_Cache will be used.
- * Some content types such as comics might include code to fetch and store themselves locally; we might decide that Horde_Feed external feeds should be fetched into a local content table also
- * This application should be able to provide the backend for Planet Horde (http://planet.horde.org/)
- * Fields to aggregate for feeds: title, url, uid, summary, content if any, content-type for content, date
- * During Hippo runs, Horde_Log will be used for logging
- * There will be the ability to run filters on Hippo_Input plugins. For instance, if a certain feed has the same junk in every entry, a filter could be attached to the Hippo_Input for that feed that would strip it out. Generic (regex-type) filters should be configurable via the UI; it should be possible to configure any kind of filter in a config file or separate input plugin class.
- * This application should eventually be able to replace Klutz
- * Additional possible content types include podcasts, content from other Horde applications (iCalendar data from Kronolith), "friend information (http://hasin.wordpress.com/2008/05/31/building-friendfeed-using-php-part-1/, http://hasin.wordpress.com/2008/06/03/building-services-like-friendfeed-using-php-part2/), etc.
- * http://www.dapper.net/
-
-GUID detection:
- if (isset($item['guid'])) {
- $guid = $item['guid'];
- } else if (isset($item['id'])) {
- $guid = $item['id'];
- $item['guid'] = $item['id'];
- } else {
- $guid = $item['link'];
- $item['guid'] = $item['link'];
- }
-
-
-Stats to keep:
-stats for when a feed was last updated
-when you last read something from it
-when you last flagged something from it
-
-Great keyboard nav idea:
-http://parand.com/say/index.php/2008/09/15/readerscroll-google-reader-style-image-navigation-with-j-k-keys-bookmarklet/
-
-More keyboard nav/UI touches:
-http://blogs.newsgator.com/newsgator_widget_blog/2008/10/five-things-you.html
-
-Nice (but dojo-based) UI:
-http://ajaxian.com/archives/dojo-sensei
-
-A simpler and jQuery based UI:
-http://jx.myofiz.com/
-http://jx.myofiz.com/feedreader.html
-
-Add a Ubiquity verb:
-CmdUtils.CreateCommand({
- name: "subscribe",
- description: "Subscribe to a feed for the current page in Google Reader",
- help: "Subscribe to a feed for the current page in Google Reader (does same thing as their bookmarklet)",
- execute: function(tags) {
- var document = context.focusedWindow.document;
- var b=document.body;
- var GR________bookmarklet_domain='http://www.google.com';
- if (b&&!document.xmlVersion) {
- void(z=document.createElement('script'));
- void(z.src='http://www.google.com/reader/ui/subscribe-bookmarklet.js');
- void(b.appendChild(z));
- } else {
- location = 'http://www.google.com/reader/view/feed/' + encodeURIComponent(location.href);
- }
- }
-})
-
-
-Resources:
-http://www.protocolostomy.com/2008/11/21/help-me-pick-a-new-feed-reader/
-http://www.readwriteweb.com/archives/opera_96_launches_now_includes_magazine_style_rss.php
-http://www.readwriteweb.com/archives/will_gmail_get_google_reader-like_trends.php
-http://www.readwriteweb.com/archives/google_reader_now_lets_you_sha.php
-http://www.readwriteweb.com/archives/feedly_launches_a_river_of_news.php
-http://www.readwriteweb.com/archives/bloglines_is_still_alive_and_advertising.php
-http://www.readwriteweb.com/archives/mainstream_web_watch_why_alltop_rocks.php
-http://www.readwriteweb.com/archives/mainstreaming_rss_regator_public_beta.php
-http://www.readwriteweb.com/archives/mozilla_snowl_02_review.php