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