PHP Classes

10th anniversary announcements

Recommend this page to a friend!
  Blog PHP Classes blog   RSS 1.0 feed RSS 2.0 feed   Blog 10th anniversary anno...   Post a comment Post a comment   See comments See comments (15)   Trackbacks (2)  


Viewers: 3

Last month viewers: 1

Categories: Gamification

The PHPClasses sites completes 10 years of existence precisely today.

This article presents a reflection of the past, present and future developments of the site.

It includes the announcement of a contest to pick a new design for the site and an upcoming brother site that will be launched this year.

Loaded Article

* Users are the most important asset

* Listening to the users and the impossibility to please everybody

* Giving priority to the authors

* Privileging the best contributors

* Promoting the most innovative authors

* The Web Site Design Award contest

* Upcoming initiatives

* Other improvement suggestions

* Users are the most important asset

10 years is a lot of time. Celebrating the 10th anniversary means a lot, not just for me that founded and developed the site for all these years, but also for the authors that contribute their work, and the users that benefit from the work shared by the contributors.

Many hundreds of thousands of lines of code were written to build this site. It took a lot of time and know-how to make the site run well, handling the load caused by many tens of thousands of users that visit it every day.

All those technical details are irrelevant if we forget those are just means to achieve the ends. The main goal of the site is to provide a place where authors can share their programming components written in PHP in the form of classes of objects.

That goal can only be achieved if there are plenty of users coming to the site interested in the components shared by the authors. This is why the users of the site are the most important asset, being either contributing authors or regular users that are looking for the shared components.

* Listening to the users and the impossibility to please everybody

Over the time, this site has improved a lot thanks to the feedback from the users. Listening to the users is very important, but that is just the first step to make the site better.

Different users want different things. This is a fact that sometimes gets in the way of progress.

Consider for instance the authors that contribute to the site. The site must provide them motivation for them to contribute.

Different authors have different needs. Some authors look at the site as a means to promote their work and eventually get feedback and recognition.

Some authors hope to get bug reports and feature suggestions. Others would like be praised when they share valuable components that are well appreciated by other users. We are all humans, so these needs of the authors are only natural.

The site itself cannot make other users provide the desired feedback and recognition that authors would like to get. At most, it provides means for users communicate with the authors.

On the other hand, the site can provide interesting statistics about how many users downloaded each package, as well how users rated them, and build rankings with those figures.

This is motivating for many authors because it shows them how their components are received by the community of users of the site.

However, to do that in a way that is fair to all authors, the site must prevent fraud in package download counting and rating.

That is the reason why the site may require the users to be registered and logged to download a package. Otherwise, any author could easily inflate their package download count and ratings artificially, and so obtain unfair advantage.

Unfortunately the login requirement annoys some users that would not like to go through the bureaucracy of registering to the site. The login requirement may be disabled by the authors of each package, but most authors do not disable it.

Some unsatisfied users even bother write mad letters to protest, regardless of the fact that the reasons for this are explained in the site frequently asked questions. ...

Another aspect that annoys some of the users is the advertising that appears on the site pages. It slows page loading and distracts the users. Unfortunately, the site needs the revenue generated by the advertising to keep itself financially viable.

Fortunately, the site provide a means to disable all advertising. That is one of the benefits for the users that purchase subscriptions to premium services.

It is one way to support the site at a small cost, while getting some interesting benefits, despite not all users know it or want to spend even a small fee to benefit from premium subscription privileges.

All this to say that no matter how much you listen to all the users and try to address their complaints, it is impossible to please everybody.

* Giving priority to the authors

Sometimes you need to decide whether to please the users or the authors need. In most cases, pleasing the author needs is more important because the authors are the users that contribute the content and make the site more valuable to everybody.

The result of this criteria has been dramatic. As you may see in the site statistics page, in ten years of existence, about 4650 packages were published by near 2430 authors. ...

That is a lot of code contributed by so many authors. So, you can have an idea, the PHP project itself is one of the most popular Open Source projects, and it had about 1300 contributors.

Although the kind of contributions are not comparable, the PHPClasses site had almost twice as many contributors than the PHP project. Please do not get me wrong. I am not comparing the importance of the projects. I am just giving an idea of the volume of contributors that each project attracted.

* Privileging the best contributors

Of course quantity is not quality. Among all those packages, there are many for similar purposes. That does not help users finding the best packages for a certain purpose.

Once in a while, I get complaints from authors that suggest that the site should refuse packages of "low quality". Such suggestions have always been refused. This is a democratic site. Everybody should have an equal chance to expose their work.

Also "quality" is a subjective concept. The criteria used to evaluate quality vary from person to person. What is quality for some, may not be for others.

Instead of making the site moderator to decide what are quality contributions before approving them, the site leaves up to the users to decide how each package scores in terms of quality.

In 2003, the site introduced the package rating system. It lets users rate packages on several relevant aspects, such as: utility, consistency, examples, documentation, etc.. ...

The rating system is reasonably immune to fraud. This means that it is pointless for authors with illicit intentions to create fake accounts to over-inflate their package ratings.

The site lists the top rated classes in main top 10 charts pages, as well in pages for each category, so the users can evaluate how a package appreciated is by other users.

More recently, the site started presentings links in each package page to pages that list the top rated classes about certain keywords that are automatically associated by the site to each page.

All these means were added to help the users finding which are the most recommended packages for each purpose. Letting the users rate each package was the way that made possible to privilege the best contributions, without excluding any author from sharing his work in the site.

* Promoting the most innovative authors

Allowing any author to publish packages for purposes similar to others that already exist on the site, raised another problem. Sometimes the users need solutions for problems that nobody has published components for.

The solution for this problem came in 2004 when the PHP Programming Innovation Award was launched. This award distinguishes all innovative components that are published on each month. Then the users vote on the most innovative component. The most voted components win prizes from sponsors.

Everybody wins. The authors get prizes and recognition, the sponsors get exposure to their products, and the site gets more audience and reputation.

The results of this initiative have been tremendous. In average, more than 10 innovative components are nominated every month. This leads to the fact that sometimes the PHPClasses site features components for purposes that you will not find anywhere else.

It is very rewarding to see the time and effort that it took to put up this initiative and maintain it every month, year after year.

* The Web Site Design Award contest

The success of the Innovation Award was so great that I decided to repeat the approach to solve a different problem.

PHP is a very popular Web programming language. Part of its success is because it allowed many people to develop sites using PHP, even if they do not have a background in programming.

One kind of professionals that PHP attracted is the Web designer professionals. These are professionals that are more sensitive to aesthetics and usability issues.

Many of them may not be proficient in programming, but they certainly have a better sense of how a site should look like to the users to be pleasant to see and use.

Once in a while I get messages from site users that are professional Web designers. They complain that the site looks old, or ugly, or for some reason does not seem to be very usable.

I would like to clarify that I do not mind the criticism at all. I really appreciate the time and patience that people take to write and explain that they are not satisfied with some aspect of the site, especially if they already come with a solution proposal. That really helps. Good criticism is constructive criticism.

Some of those Web designers that complain about the aesthetics or usability issues, even offered themselves to redesign the site for free. That is awesome. It really shows how much those Web designers care about the site.

However, getting so many offers raised a couple of problems. First, from all the offers, which one should be picked? Second, how can I guarantee the that the offer that is picked will please the majority of the users?

This is a serious problem. User rejection to a redesign may end up being a waste of time and effort.

As you may be aware, early this year, Facebook proposed a site redesign. Despite Facebook could hire the best designers in the world, their redesign proposal seems to have been highly rejected by the users. ...

The solution for the PHPClasses site was planned many years ago, but only now it is its turn to become reality.

It consists of promoting a contest that allows any user to propose a new design theme. Then there will be a period during which all users may vote on the proposals. The most voted proposal will be picked and used from then on.

The winning author will earn prizes provided by sponsors, as well get life-time subscriptions to the PHPClasses premium services, like with the innovation award.

Additionally, the design award the winner will also receive an elePHPant plush toy (PHP mascott) and a money prize.

The exact amount of the money prize is not yet decided because I am still negotiating with some sponsors to increase its value, but it should not be less than USD $3,000.00 . That is a fair amount that would be the same as paying a Web designer create a new design theme.

Here follows the list of prizes and sponsors that signed up. More sponsors may join later: ...

Microsoft will be giving away a copy of Expression Web and Expression Blend to the winner or a runner up, which are software tools to design Web pages and graphics. ...

Packt publisher will be giving away 5 books of choice to the winner and runner up contestants. ...

Manning publisher will be giving a book of choice to the winner or a runner up contestant. ...

O'Reilly publisher will be giving a book of choice to the winner or a runner up contestant.

The design theme should be proposed using a Web user interface. This user interface was already available since last year to all users that wanted to test it. If you want to start working on your own theme design proposal, you just need to go to the design proposal page:

There you are prompted to create a new design theme proposal with an unique name. Then you can change the default template of the header and footer of all pages, as well replace the main CSS definitions. You can also upload image files that will replace the common site icons.

I understand that some designers would like to change more aspects of the site design. However, lets handle a small number of aspects at a time. In the future, most aspects may be edited.

Notice that the system is not yet completely finished. This means that you can preview your design themes with several types of pages, but your theme cannot be published. So others cannot see it yet.

I also intend to finish implementing more robust security filters in the HTML and CSS definitions, as well provide a WYSIWYG user interface for editing HTML templates. Hopefully all will be made available soon.

In a few weeks I will post more details in an article totally dedicated to the Web Site Design Award contest, when the design publishing and voting subsystems are finished.

For now you may want to check the award page to learn all the details:

Meanwhile, if you have questions, criticisms, suggestions about the site design, please post them in the respective forum: ...

* Upcoming initiatives

Other than the Web Site Design Award, there are a couple of initiatives that I intend to finally implement this year.

One is to launch a new site of interest for Web developers in general. I will be back to you on this in a few months when it is ready to be launched.

Another initiative is to start sharing advertising revenue with the best site contributors. I have been planning this for couple of years now, but this year it will be finally implemented. Stay tuned to this blog.

* Other improvement suggestions

As I mentioned, this site always evolved with suggestions from the users.
It is hard to address all suggestions immediately, especially those that take more time, but soon or later the good suggestions will be implemented.

If you care about the site and you have more ideas to make it better for you and other users, feel free to post a comment here.

You need to be a registered user or login to post a comment

1,615,696 PHP developers registered to the PHP Classes site.
Be One of Us!

Login Immediately with your account on:


10. Where - Thomas (2009-09-29 09:37)
Where... - 3 replies
Read the whole comment and replies

9. Authors are not that important to phpclasses - sinasalek (2009-07-30 04:12)
It could have had much more packages if it was possibl...... - 1 reply
Read the whole comment and replies

8. 10th anniversary - Carlos Aguado (2009-06-28 17:36)
Thanks!... - 0 replies
Read the whole comment and replies

7. All d best - Abhijeet G Kinjawadekar (2009-06-26 03:50)
Its a decade... - 0 replies
Read the whole comment and replies

6. Way to go! - Peng Yan (2009-06-25 13:48)
It is a decade now, congratulations!... - 0 replies
Read the whole comment and replies

5. Happy Birthday! - Bruno Belotti (2009-06-25 13:48)
Happy Birthday!... - 0 replies
Read the whole comment and replies

4. Congrats - Mário Ramos (2009-06-25 13:48)
Congrats... - 0 replies
Read the whole comment and replies

3. Congratulations - Michael Feldman (2009-06-25 13:48)
Congratulations on the 10th anniversary... - 0 replies
Read the whole comment and replies

2. Happy Birthday - xudong shao (2009-06-25 13:47)
Happy Birthday, and congratulations... - 0 replies
Read the whole comment and replies

1. web design award - Muhammad Arfeen (2009-06-25 07:24)
nice... - 1 reply
Read the whole comment and replies


2. 10th anniversary announcements (2009-06-25 06:20)
There you are prompted to create a new design theme proposal with an unique name...

1. kojote's status (2009-06-25 01:04)
Congratulations PHP Classes for 10 Years of being awesome...

  Blog PHP Classes blog   RSS 1.0 feed RSS 2.0 feed   Blog 10th anniversary anno...   Post a comment Post a comment   See comments See comments (15)   Trackbacks (2)