6.0.0-git
2024-04-25

Diff for Project/Hippo between 80 and 81

[[toc]]

+ 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 [http://horde.org/source/git.php 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:

<code type="php">
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'];
}
</code>

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 ((Projects|Project((Project|Project List))