When I was employed at a video rental company, I faced the task of creating an application for reporting. The way to deliver it was in the form of a Datawarehouse. Once I started designing and setting up the tables, I discovered that metadata tended to be come a problem. Well, actually not the metadata itself, but how to store, track and document it. Thus I decided to put all this information into an own database, which could be maintained with PHP. So I developed this system, which allowed to enter table data, comments, mappings and so on. I also allowed to display this data, change it and preview table contents. Doing so I immediately encountered the next problem: All the screens I created more or less looked the same! Well, there I cut it and decided to take a step back: Either find a system which can support me in easily creating these screens or develop one myself. Back then in 2001 there had not been that many systems around which suited my requirements (edit table data, show table data), so the decision was made: I developed one myself. Thus, the very basis of this project had been laid and from now on creation of these metda data information was much more easier.
Shortly after this I changed jobs and joined a small Web Development company. My task there would be web development, esp focused on Oracle (by then I still did quite some Oracle, change to MySQL a lot since then). Unfortunately, the business in the Netherlands at that point was not at its peak, so I ended up sitting around quite some time. This time I used to remodel and rebuild the system I started back at my former company. There had been a lot to learn there and the new approache was a major step forward. And with this, the first real version of the pPHPlib was we know it now was born. This lib then built the basis for a major implementation on stock trading which we did for one of our customers and proved its worth there. During this deployment the lib was constantly evolved and a lot of new modules had been added.
With the release of PHP5 I then decided to the next big change: Focusing on the PHP5 release only, due to its massive improvements in OO. This broke backward compability of the lib. Version 2 was born and version one was deprecated. v1 is still available in the CVS but will no longer be supported. Not even bugfix. What once has been a small library of small losely connected modules evolved into an Application Framework, which classes tightly connected to each other. A lot was added, also on the CGI side of PHP. And the event based system, which drives the library now, was more and more rolled out. Before this point, there actually only had been the database triggers, now also the buttons are handled with events.
Thus, version 2 is what we have nowadays. It is stable and I also consider it feature complete. This means, I do not intend to add major functionallity to it anymore, but of course want to make what is already there even better as it is now. In other words: I do not seek breadth, but width. But then again: There aways might be this tiny bit that slips in...