Hippo 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). Bugs Horde_Feed improvements to suport Hippo: - http://bugs.horde.org/ticket/6877 - http://bugs.horde.org/ticket/6876 - http://bugs.horde.org/ticket/6879 - http://bugs.horde.org/ticket/6880 Source Hippo is being developed in the Horde hatchery People ChuckHagenbuch is working on Hippo. MikeNaberezny may be interested in Hippo. Description - Horde_Cache will be used to cache content that isn't stored directly - 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. - Hippo will be able to provide read/write "data folders" to IMP 5 (or other folder-browsing applications). This will allow feed reading from within IMP. Other possible data folder providers are Nag and Whups. - Must support PubSubHubbub (http://code.google.com/p/pubsubhubbub/, http://adsenseforfeeds.blogspot.com/2009/07/whats-all-hubbub-about-pubsubhubbub.html\) GUID detection:

if (isset($item['guid'])) {
    $guid = $item['guid'];
} elseif (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 Changes from Klutz for comics driver "try to fetch this comic" gives a blank page, though it works - make "try to fetch this comic" links inline ajax calls UI updates default to the previous day's comics if today's haven't fetched yet have a back-fill mode for fetch? http://example.org/horde/klutz/index.php?actionID=day\&date=1217995200 - have the capability, just need to have it in the command-line script - put the various fetch, rebuild sums, cleanup tasks into API calls. - use those api calls in backend.php and rename backend.php to some more reasonable admin script - better error reporting throughout the drivers and backend.php code - feeds of specified comic sets - tags? so, political cartoons, sometimes funny, always funny.. Keyboard nav: - http://parand.com/say/index.php/2008/09/15/readerscroll-google-reader-style-image-navigation-with-j-k-keys-bookmarklet/ - http://blogs.newsgator.com/newsgator\_widget\_blog/2008/10/five-things-you.html As a source of feeds Dave Winer has some ideas on loosely-coupled publishing tools that are interesting and may match with some of the Hydra/Hippo/Hound set of apps: - http://scripting.com/stories/2011/01/05/upcomingTheMinimalBlogging.html - http://scripting.com/stories/2011/01/03/rebootingRssRevisited.html - http://scripting.com/stories/2010/10/08/ideasForAnAcademicHackatho.html - http://scripting.com/stories/2010/10/08/4MoreFreeProjectIdeasForYo.html Resources - http://www.25hoursaday.com/weblog/2010/01/04/[BrizzlySeesmicWebAndTheFutureOfRSS](BrizzlySeesmicWebAndTheFutureOfRSS).aspx (good argument for a stream (twitter-like) UI instead of an email-like UI, and also for exposing hippo content through the twitter api) - http://www.readwriteweb.com/archives/top\_rss\_syndication\_technologies\_of\_2009.php - http://activitystrea.ms/ - http://www.25hoursaday.com/weblog/2009/08/26/[TheTop5ReasonsRSSReadersWentWrong](TheTop5ReasonsRSSReadersWentWrong).aspx - http://www.readwriteweb.com/archives/shyftr\_intros\_new\_filtered\_feed\_service.php - http://www.readwriteweb.com/archives/feedly\_integrates\_with\_ubiquity.php - http://www.newsgator.com/Individuals/NewsGatorInbox/Default.aspx - http://www.newsgator.com/Individuals/NewsGatorOnline/Default.aspx - http://lifestreamblog.com/create/ - http://www.readwriteweb.com/archives/friendfeed.php - http://www.readwriteweb.com/archives/friendfeed\_beta\_interface.php - 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/ - http://www.dapper.net/ - looks similar in concept though not open source - http://www.sweetcron.com/ - code in beta now - http://code.google.com/p/sweetcron/wiki/Themes - http://www.readwriteweb.com/archives/sweetcron\_lifestream\_self\_hosted.php - http://www.readwriteweb.com/archives/mloovi\_translate\_any\_rss\_feed.php - translate feeds - http://www.readwriteweb.com/archives/pageonce\_new\_iphone\_app.php - some killer feed ideas there - http://www.25hoursaday.com/weblog/2008/06/10/[TwoCardinalSinsOfRESTAPIDesignLessonsYouCanLearnFromTheNewsGatorRESTAPI](TwoCardinalSinsOfRESTAPIDesignLessonsYouCanLearnFromTheNewsGatorRESTAPI).aspx - http://www.readwriteweb.com/archives/feedinformer\_relaunches\_its\_al.php - http://www.readwriteweb.com/archives/friendfeed\_dupe\_detection.php - http://www.readwriteweb.com/archives/godaddy\_unveils\_mainstream\_social\_web\_aggregator.php - http://www.readwriteweb.com/archives/npr\_now\_lets\_you\_roll\_your\_own\_podcasts.php - http://www.25hoursaday.com/weblog/2009/01/08/[RepresentingRichMediaAndSocialNetworkActivitiesInRSSAtomFeeds](RepresentingRichMediaAndSocialNetworkActivitiesInRSSAtomFeeds).aspx - http://www.25hoursaday.com/weblog/2009/01/17/[SomeThoughtsOnUserInterfacesForActivityStreams](SomeThoughtsOnUserInterfacesForActivityStreams).aspx - http://jasonpriem.com/feedvis-dev/ - http://www.readwriteweb.com/archives/suggestrss\_find\_some\_new\_feeds.php (integrate for recommendations) - http://www.readwriteweb.com/archives/syndicating\_content\_copygator.php - http://www.readwriteweb.com/archives/notifixious\_superfeeder\_realtime\_web.php - http://www.25hoursaday.com/weblog/2009/03/24/[SharingSocialActivityStreamsAcrossTheWebHowGnipFitsIn](SharingSocialActivityStreamsAcrossTheWebHowGnipFitsIn).aspx - http://www.sitepoint.com/blogs/2009/09/29/build-a-lifestream-with-simplepie/ - http://googlecode.blogspot.com/2010/08/google-buzz-api-adds-track-and-some.html - http://cweiske.de/tagebuch/tiny-tiny-rss-feed-detection.htm - http://www.25hoursaday.com/weblog/2009/03/22/[VideoStandardsForAggregatingActivityFeedsAndSocialAggregationServicesAtMIX09Conference](VideoStandardsForAggregatingActivityFeedsAndSocialAggregationServicesAtMIX09Conference).aspx - http://webworkerdaily.com/2009/03/31/how-to-monitor-online-conversations/ - http://fastwonderblog.com/2008/09/08/monitoring-dashboards-why-every-company-should-have-on/ - http://webworkerdaily.com/2009/03/31/skimmer-eventbox-expecting-more-from-lifestreaming-apps/ - http://www.25hoursaday.com/weblog/2009/05/04/[RepostRSSBanditCodenameCollossusWillBringStabilityBugFixesAndFacebookIntegration](RepostRSSBanditCodenameCollossusWillBringStabilityBugFixesAndFacebookIntegration).aspx - http://www.25hoursaday.com/weblog/2009/05/25/[PreviewOfFacebookCommentsInRSSBanditAndTheRibbon](PreviewOfFacebookCommentsInRSSBanditAndTheRibbon).aspx - http://www.25hoursaday.com/weblog/2009/05/05/[RSSReadersModeledAfterEmailClientsAreFundamentallyBroken](RSSReadersModeledAfterEmailClientsAreFundamentallyBroken).aspx - http://www.readwriteweb.com/archives/eventbox\_review.php - http://newstimeline.googlelabs.com/ - http://www.readwriteweb.com/archives/amplifeeder\_friendfeeds\_much\_prettier\_sister.php - http://amplifeeder.com/ - http://hasin.wordpress.com/2009/06/20/collecting-data-from-streaming-api-in-twitter/ - http://feedafever.com/ - http://blog.liip.ch/archive/2005/10/28/how-to-fetch-a-lot-of-feeds.html - http://netevil.org/blog/2005/may/guru-multiplexing - http://www.readwriteweb.com/archives/wordpress\_just\_made\_millions\_of\_blogs\_real-time\_wi.php - http://www.readwriteweb.com/archives/lazyfeed\_1st\_independent\_rss\_aggregator\_declares\_s.php - http://www.readwriteweb.com/archives/netvibes\_launches\_ultimate\_news\_and\_lifestyle\_dash.php - http://hasin.wordpress.com/2010/01/25/installing-storytlr-in-your-own-domain/ - http://blog.stuartherbert.com/php/2010/01/26/playing-with-storytlr/ - http://www.readwriteweb.com/archives/fliptop\_makes\_rss\_easy\_more\_configurable.php UI Ideas Article skimmer - http://www.nytimes.com/timesskimmer/ - http://www.readwriteweb.com/archives/nyt\_article\_skimmer\_sunday\_bro.php - http://firstlook.blogs.nytimes.com/2009/02/13/sunday-browsing/ - http://www.readwriteweb.com/readwritestart/2009/07/guzzleit-a-personalized-news-d.php Mobile - http://www.readwriteweb.com/archives/check\_out\_this\_awesome\_rss\_reader\_for\_windows\_phone\_7.php Other - http://ignorethecode.net/blog/2009/05/20/optimizing-short-titles/ - http://helvetireader.com/ - http://www.bravenewcode.com/wptouch/ - http://www.readwriteweb.com/archives/prldr\_rss\_meets\_design\_and\_everybody\_wins.php YQL - super data source - http://developer.yahoo.com/yql/ - http://www.wait-till-i.com/2008/12/12/yql-is-so-the-bomb-to-get-web-data-as-xml-or-json/ - http://ajaxian.com/archives/yql-converting-the-web-to-json-with-mock-sql Semantic data sources - http://semanticproxy.com/ - http://www.opencalais.com/ Feed sources - http://www.guardian.co.uk/help/feeds - http://www.postrank.com/twitter Converting partial feeds to full feeds - http://fivefilters.org/content-only/ Term extraction - http://fivefilters.org/term-extraction/ OPML parsing (merge into Horde_Feed) - http://freshmeat.net/projects/opml-parser-class/ Typography - http://kingdesk.com/projects/php-typography/ PDF generation http://fivefilters.org/pdf-newspaper/ Podcast fetching - http://ostatic.com/blog/automatically-snag-podcasts-from-the-internet-with-juice NYTimes data source - http://open.blogs.nytimes.com/2009/02/04/announcing-the-article-search-api/ - http://www.readwriteweb.com/archives/nyt\_times\_newswire\_api.php Video sources - http://www.hulu.com/feed Vanity feeds - http://search.twitter.com/ - http://blogsearch.google.com/ - http://smarterware.org/2877/twitalytic-alpha-preview-archiving-curating-and-threading-tweets - http://smarterware.org/4186/introducing-thinktank Allow one-step creation of de-duped searches on these and other sources Back to the Project List