.. contents:: Contents .. section-numbering:: ======= 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`_ .. _`Horde hatchery`: http://horde.org/source/git.php -------- People -------- `ChuckHagenbuch`_ is working on Hippo. MikeNaberezny may be interested in Hippo. .. _`ChuckHagenbuch`: https://wiki.horde.org/ChuckHagenbuch?referrer=Project%2FHippo ------------- 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.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.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.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.aspx * http://www.25hoursaday.com/weblog/2009/01/17/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.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.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.aspx * http://www.25hoursaday.com/weblog/2009/05/25/PreviewOfFacebookCommentsInRSSBanditAndTheRibbon.aspx * http://www.25hoursaday.com/weblog/2009/05/05/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`_ .. _`Project List`: https://wiki.horde.org/Project?referrer=Project%2FHippo