SimplePie 1.5 is now available!

SimplePie Documentation.  Learn how to use this thing.  It's way better than going to school.

You are here: Documentation » SimplePie 2 » Goals for SimplePie 2

Differences

This shows you the differences between two versions of the page.

sp2:goals [2012/04/01 17:30]
simsimiuy
sp2:goals [2013/08/11 05:03] (current)
rmccue old revision restored
Line 1: Line 1:
 ====== Goals for SimplePie 2 ====== ====== Goals for SimplePie 2 ======
-Over the past four years or so, SimplePie has grown from a completely unknown set of functions sitting on top of MagpieRSS to one of the world's most popular feed parsers with thousands and thousands of users all over the world. Also in that time, SimplePie has started to outgrow its [[http://www.quality-insurance-4-less.com/| insurance quotes]] architecture. People use SimplePie for all sorts of tasks [[http://www.andrewflusche.com/services/spotsylvania-dui-lawyer/| Spotsylvania DUI lawyer]] that we never really anticipated, so we believe we've now reached a point where it's time for a reset.[[http://www.celebswear.com| Leather Jacket]]+Over the past four years or so, SimplePie has grown from a completely unknown set of functions sitting on top of MagpieRSS to one of the world's most popular feed parsers with thousands and thousands of users all over the world. Also in that time, SimplePie has started to outgrow its architecture. People use SimplePie for all sorts of tasks that we never really anticipated, so we believe we've now reached a point where it's time for a reset.
  
-SimplePie 2 is currently in the planning stages, and is both a fork and a ground-up re-write of SimplePie. The intention is to enhance the performance by trimming the fat, to build something more extensible, to [[http://www.culinarydepotinc.com/c-752-ice-machines.aspx| ice machine]]make it easier to contribute, and to optimize for the kinds of tasks that we see people wanting to do frequently. The purpose of this document is to put together a list of goals for SimplePie 2 that will improve the overall project as a whole, and unshackle some [[http://twitter.com/#!/drsusanlim| Dr Susan Lim]] of the early design decisions which now seem to be holding us back.[[http://www.phuketproperty.com/| Phuket property]]+SimplePie 2 is currently in the planning stages, and is both a fork and a ground-up re-write of SimplePie. The intention is to enhance the performance by trimming the fat, to build something more extensible, to make it easier to contribute, and to optimize for the kinds of tasks that we see people wanting to do frequently. The purpose of this document is to put together a list of goals for SimplePie 2 that will improve the overall project as a whole, and unshackle some of the early design decisions which now seem to be holding us back.
  
-That being said, I took some time to write down some thoughts about what should go into SimplePie 2, and I would really like to get [[http://www.mfadegree.net/|MFA Degree]] your thoughts as well. Are there [[http://www.smartstun.com/|stun gun]] things that SP2 should do that SP1 doesn't? Would you like to use SimplePie in ways that are currently more difficult than they should be? Are you somebody who has a different design philosophy and you think we should pay better attention to certain [[http://www.knight47.com/new/index.php?title=Carousel_Day_School|Carousel Day School]] things? This is your chance to weigh in [[http://www.ppiclaimshandlers.com/|ppi claims]] with your thoughts, opinions, comments, and other feedback.+That being said, I took some time to write down some thoughts about what should go into SimplePie 2, and I would really like to get your thoughts as well. Are there things that SP2 should do that SP1 doesn't? Would you like to use SimplePie in ways that are currently more difficult than they should be? Are you somebody who has a different design philosophy and you think we should pay better attention to certain things? This is your chance to weigh in with your thoughts, opinions, comments, and other feedback.
  
 We encourage **everyone** in the SimplePie community to weigh in with their opinions on the next version of SimplePie so that we can make this software by the people, for the people. Feel free to edit, change, and improve what's there. Feel free to argue with what I've written. Please mark your contributions with "~~ wiki-username" so that we know who to ask if we need clarification on any of the ideas. Just because it's on the list doesn't guarantee it'll get done, but we want to collaboratively share ideas and pick out the best ones. We encourage **everyone** in the SimplePie community to weigh in with their opinions on the next version of SimplePie so that we can make this software by the people, for the people. Feel free to edit, change, and improve what's there. Feel free to argue with what I've written. Please mark your contributions with "~~ wiki-username" so that we know who to ask if we need clarification on any of the ideas. Just because it's on the list doesn't guarantee it'll get done, but we want to collaboratively share ideas and pick out the best ones.
  
 ===== The Vision ===== ===== The Vision =====
-The vision of SimplePie 2 is to provide a solid, reliable **platform** for building feed-related tools. This will include not only a robust standard package, but will include the tools and documentation necessary for building industrial-strength functionality on top of the SimplePie platform making it easier for  +The vision of SimplePie 2 is to provide a solid, reliable **platform** for building feed-related tools. This will include not only a robust standard package, but will include the tools and documentation necessary for building industrial-strength functionality on top of the SimplePie platform making it easier for developers to create either standalone web pages or fully-integrated web applications. This will help create a healthy ecosystem for managing syndication in PHP with open-source tools. 
-[[http://www.great-quotes.com/|quotes]] developers to create either standalone web pages or fully-integrated web applications. This will help create a healthy ecosystem for managing syndication in PHP with open-source tools. +
-[[http://weightlossctr.com|how to lose weight fast]] +
 ===== Important Areas of Focus ===== ===== Important Areas of Focus =====
-There have been some issues that we've seen over and over again that we want to focus on improving in SP2. These are things that we know that we want to put a lot of focus into for the next version. **If we want a better SimplePie, we need to do it together. The more [[http://www.monoloop.com|realtime behavioral targeting]] community effort we get, [[http://www.diamondlinks.net/| link building]] the better this will be.**+There have been some issues that we've seen over and over again that we want to focus on improving in SP2. These are things that we know that we want to put a lot of focus into for the next version. **If we want a better SimplePie, we need to do it together. The more community effort we get, the better this will be.**
   * Continue to provide a simple method for newcomers to simply embed feeds into their websites. However, under the hood, the "ComplexPie" core should be focused on high-performance, individual components that SimplePie pulls together.   * Continue to provide a simple method for newcomers to simply embed feeds into their websites. However, under the hood, the "ComplexPie" core should be focused on high-performance, individual components that SimplePie pulls together.
-  * Paying much closer [[http://brooks-range.com/cirro-jacket.html| primaloft jacket]] attention to releasing memory when we're done with objects, how that relates to circular references, and if there are better ways of doing the things that we use circular references for (e.g. $feed->get_item(0)->get_feed()->get_item(0)->get_feed()->get_item(0)).+  * Paying much closer attention to releasing memory when we're done with objects, how that relates to circular references, and if there are better ways of doing the things that we use circular references for (e.g. $feed->get_item(0)->get_feed()->get_item(0)->get_feed()->get_item(0)).
   * Focus on improved embed-ability. This means providing loosely-coupled components that developers can integrate separately into their apps (e.g. the parser).   * Focus on improved embed-ability. This means providing loosely-coupled components that developers can integrate separately into their apps (e.g. the parser).
   * Developing applications and PopURLs clones requires (a) a need for identifying duplicate content (this is a bit tricky, however), and (b) processing feeds behind the scenes via cron job so that end-users don't feel the hit of a fresh download.   * Developing applications and PopURLs clones requires (a) a need for identifying duplicate content (this is a bit tricky, however), and (b) processing feeds behind the scenes via cron job so that end-users don't feel the hit of a fresh download.
-  * Providing a solid, well-documented base that [[http://wikinstructions.com/| Online Instructions]] allows for extending SimplePie with custom modules. There should be standards and documentation about how to allow custom modules to hook into SimplePie. ALL modules will work this way.+  * Providing a solid, well-documented base that allows for extending SimplePie with custom modules. There should be standards and documentation about how to allow custom modules to hook into SimplePie. ALL modules will work this way.
  
 ===== Functionality ===== ===== Functionality =====
 ==== Base Functionality (i.e. the core package will have this) ==== ==== Base Functionality (i.e. the core package will have this) ====
-  * **Modular design:** We want to take a Firefox-like approach to this. The most important, most used functionality will be part of the core package, and everything else can be added a là carte (like Firefox extensions). This allows for a clearer separation of components, as well as the ability to write [[http://www.kineticfountains.com/water-walls.asp|Water Walls]] plugins and other custom modules. Because of this design, ALL functionality is comprised of separate modules, but a small group of modules will make up the "standard package." ~~ skyzyx+  * **Modular design:** We want to take a Firefox-like approach to this. The most important, most used functionality will be part of the core package, and everything else can be added a là carte (like Firefox extensions). This allows for a clearer separation of components, as well as the ability to write plugins and other custom modules. Because of this design, ALL functionality is comprised of separate modules, but a small group of modules will make up the "standard package." ~~ skyzyx
     * The "standard package" is a minimal collection of fundamental modules that a person would get if they clicked the download link. ~~ skyzyx     * The "standard package" is a minimal collection of fundamental modules that a person would get if they clicked the download link. ~~ skyzyx
   * **Core Module:** This will include important, re-usable stuff that is shared among the core package modules. It will also manage dependencies for new modules. ~~ skyzyx   * **Core Module:** This will include important, re-usable stuff that is shared among the core package modules. It will also manage dependencies for new modules. ~~ skyzyx
Line 40: Line 39:
     * I, as part of having everything as a module, would prefer that Atom and RSS were different modules (maybe to the extreme of Atom 0.3, Atom 1.0, RSS 0.90, RSS 1, and RSS 2 all being different modules). Then we can have the fun of having it all coming together in one API. Also, I'd rather almost anything returned an object with several methods, dependant on the loaded modules, giving methods like ::get_xhtml(), ::get_html(), and ::get_text(). ~~ gsnedders     * I, as part of having everything as a module, would prefer that Atom and RSS were different modules (maybe to the extreme of Atom 0.3, Atom 1.0, RSS 0.90, RSS 1, and RSS 2 all being different modules). Then we can have the fun of having it all coming together in one API. Also, I'd rather almost anything returned an object with several methods, dependant on the loaded modules, giving methods like ::get_xhtml(), ::get_html(), and ::get_text(). ~~ gsnedders
     * That's an interesting way to solve a problem such as whether titles should be text or HTML, but I fear the added complexity another layer of subclasses would provide. I'm wondering if there's value in using something like ''__toString()'' to provide a default value along with subclasses.     * That's an interesting way to solve a problem such as whether titles should be text or HTML, but I fear the added complexity another layer of subclasses would provide. I'm wondering if there's value in using something like ''__toString()'' to provide a default value along with subclasses.
-[[http://google.com google it]] 
-you should check out some search engines like: 
-[[http://google.com|google]] 
-[[http://bing.com|bing]] 
-[[http://yahoo.com|yahoo]] 
-[[http://facebook.com|fb]] 
  
 ==== Extended Functionality (i.e. non-standard, optional modules) ==== ==== Extended Functionality (i.e. non-standard, optional modules) ====
Line 125: Line 118:
   * PHP 5.1.x (which includes [[http://php.net/iconv|iconv]])   * PHP 5.1.x (which includes [[http://php.net/iconv|iconv]])
     * PHP 5.2, please! What I was planning on doing would be very hard without PHP 5.2, and PHP 5.2 is //already// wide-spread enough (heck, PHP 5.3 may be possible as a realistic requirement when SP2 ships). ~~ gsnedders     * PHP 5.2, please! What I was planning on doing would be very hard without PHP 5.2, and PHP 5.2 is //already// wide-spread enough (heck, PHP 5.3 may be possible as a realistic requirement when SP2 ships). ~~ gsnedders
-    * [[http://twitter.com/Kaleil|kaleil isaza tuzman]] 
   * [[http://php.net/pcre|PCRE]] (regular expression support)   * [[http://php.net/pcre|PCRE]] (regular expression support)
     * I'd rather require PCRE with Unicode support compiled in (which it has had by default for several years now). ~~ gsnedders     * I'd rather require PCRE with Unicode support compiled in (which it has had by default for several years now). ~~ gsnedders

sp2/goals.1333301419.txt.gz · Last modified: 2012/04/01 17:30 by simsimiuy