:: ENGLISH ::  PORTUGUêS ::


Beer, wine or water? What do you drink?
 

Beer

45.5%

Wine

18.2%

Water

9.1%

I don't drink

27.3%

Partners:

Server time

03:15
01-August-2010

Location: Home Page > Interviews > Manuel Lemos

Interview with Manuel Lemos

André Ferreira:

To start off, I would like to thank you on behalf of "MastersHelp" and myself for this possibility. I would like to start by asking you what's the "PHP Classes" Web site all about and how did you came up with the idea for it?

Manuel Lemos:

I've been developing Web sites in "PHP" since 1997. In each project I noticed common needs across different projects that could be satisfied with the same code libraries that I had been accumulating. When I started, "PHP 2 Beta", it had just been released, and it only allowed using functions and global variables. It wasn't a good way to organize code libraries because, some times, there were problems with function variables and global variables with the same name, but from different modules. Later, when "PHP 3" was released with Object Oriented Programming support, I could finally organise better the code in object classes. I started to accumulate a lot of object classes and generic classes that I thought could be useful in other people projects besides my own. Frequently I would recommend, in "PHP" discussion forums, my classes to other people, because of the general utility of the classes. For that, I would request to the interested party to contact me in private so that the discussion forum was not disturbed. While I was receiving more and more requests, this form of distribution was giving me more and more work.

One day, there was one Australian programmer that was so pleased with a form processing class I made, that he decided to thank me in public recommending quite a lot the class to others. To tell you the truth, I don't share my open source code to other people to get recognition, but to get the biggest number of people to test it out and find possible bugs, the faster the better, or even to get good suggestions to improve the code. But, that public thank you that the Australian programmer gave me, made me get flooded with requests. At that time it became clear that I couldn't keep giving the code by e-mail. On the other hand, that form of distribution of the code, allowed me to note who was using my classes and who would be interested in getting updates with bug fixes or new capabilities.

So I decided to find a Web site that would host "PHP" code components. I found a couple of interesting ones, like the "PX - PHP Code Exchange" by David Sklar. But, that Web site didn't have a way, even if optional, of registering who as using each component and would be interested in receiving warns about new versions. I got in touch with David Sklar and I proposed adding a user's registration resource and e-mail notification of new releases. He didn't care much about the idea, not even when I offered to develop the code myself.

I decided to develop a Web site from zero and with some significant changes regarding "PX", for example, the possibility to register users for download, e-mail notifications of new components or updates of existing ones, multiple files packages organization, etc. In one week, I had the Web site base ready to launch. I warned all the users that I had kept track and they started enrolling in the Web site. From there on I started to point the Web site out to people I found interested in discussion forums. The Web site worked was a self-service. With other users beginning to get interested by the site, I opened the Web site so that they to could public their own components and the development of the website started to grow, exponentially until today.

André Ferreira:

That form of viewing things, I am referring to the code sharing that is in fact your intellectual property, seams quite related to GPL and the open source movement. Is the code publicised under that licence? Do you relate to the movement?

Manuel Lemos:

No, in fact I think there's a big miss understanding about the subject.

I develop professional software. It's very hard to make a living developing software and granting it freely to the public, even with the GPL restrictions. There's always some one that copies the code and takes advantage of it with out never no one knowing about it, or even not stealing the code but stealing the execution techniques and writing new code with that knowledge. The GPL licence can only be of any use when the code robbery is obvious and the responsible entity is large enough to have its image damaged by a public revelation of that fact. The ones that want to make a living developing code by themselves, must always without any possibility of avoiding it, distribute the code under a proprietary licence or must charge a value so height that any eventual code robbery will became a minor problem. The reason I distribute this components on "Php Classes" is that this are base components and therefore, I don't want to take financial advantage. I will have more advantage distributing the components in this open form, because that brings more users that might help alerting to possible bugs or suggesting new capabilities. There is always the possibility that some users might fix some bugs or add new capabilities, but this is rare, since those types of contributions require a bigger technical capability by part of the programmer and it normally only happens with extremely popular projects.

André Ferreira:

In that case, the code you have is freely distributed without being under any kind of limitation? May I ask why?

Manuel Lemos:

On the beginning, I didn't have a clue about the need of having to tell the public what licence I was using. This happens with the vast majority of programmers when they start opening code, because there aren't any legal worries. But when some users asked me if they could use my code in close applications or even commercial, I then realised I needed to adopt a licence sufficiently known that would identify itself to my ends. Normally I launch my projects in open code under the BSD licence because basically it expresses what I am interested on, that is I grant the use of the original version or changed versions in closed, open, free or commercial projects but the copyright must be maintained.

To sum it up, I am interesting on getting the maximum number of base component users testing my code. I don't object to anyone that manages to sell my code. If I had any objection I would not have it distributed as an open source. For that reason, I don't always grant my code in an open source. The projects that have commercial value and from which depends on my subsistence, I will obviously not open them. That would be like "giving the gold to the bandits".

André Ferreira:

In a simple way, how would you describe what a "PHP" class is? How does one use it?

Manuel Lemos:

A class is a library that has functions built in that execute operations, eventually manipulating variables that keep relational information. For example, one of my more popular classes is for form generation and validation. The objects in that classes can keep information that defines the fields of that form and have functions to present the form in a Web page, process the forms when the user submits, determine if the values of the fields obey to the pre establish rules of validation, etc.

To use a "PHP" class, one must include the definition file in the script page where one intends in using the form. Then create a class object with the "new" command. From then on, values are given to the class variables to con-figurate details and call different functions of the class that execute the operations that one intends to use.

André Ferreira:

About 55% of your Web site users are from Europe. What are the marketing strategies that you use in your Web site promotion? Do you seek special audiences?

Manuel Lemos:

In the beginning I didn't have a commercial interest to get financial gain from the Web site. I was only interested in advertise it to get a bigger number of people testing my components. What I did to advertise the Web site was what I did before even starting it. Participate in discussion forums and help people that could solve their problems with my components.

Later, with the Web site getting more visible, I got a invitation from a owner of a "PHP" and "MySQL" contents Web site to do a banner exchange. At that time I started to gain conscience of the potential that this exchange between Web sites had in terms of getting more users. And since it was a free way of getting more audience, it was something that fit perfectly in my budget.

Another form of advertisement that happens automatically with Web sites with a lot of contents, are the research Web sites that index them, like "Google". So it's important to have the site optimised to maximise Google, Yahoo Search and MSN Search, and other visits. "Google" is by far the most important because it's the one that brings more users.

The subscription on the directories Web sites that organize Web sites by theme is also very important. By listing the Web site in those directories, helps to have a bigger probability of getting a better position on search results, especially "Google". The most important global directories I believe to be "DMOZ" and "Yahoo". Well, about Web sites optimization to maximise the number of visits there would be much more to say, it's almost a science apart from the Internet itself. If it's important for contents Web site, then one can imagine the importance to e-commerce Web sites and others that have financial objectives. Nowadays, there's even a profession called SEO (Search Engine Optimizer) for people that do just that.

André Ferreira:

Is the work you do in "PHP Classes" profitable? How?

Manuel Lemos:

Meanwhile it's paid publicity on the Web site pages that pay for the work done. I always looked for a way to compensate for the effort I put in the Web site. Publicity is a way, but it's not something that generates regular income. There are much better months then others. Any way, the most important thing, is that I learned that direct publicity sales it's almost undoable. I mean, if I dedicated my time to hunt potential publicity clients, I might even get some, but I won't have time to do anything else. On the other hand, I am not a sales person. I mean I don't have the technical talk that a sales professional has. That makes a lot of difference when it's time to close the deal.

The alternative I found to this "personal limitation" that took me a long time to discover while the Web site was just a hobby, would be to hire a teem of sales or hire a company that did just that. The first alternative would require investment that might not generate return due to several factors, and that constituted a risk that I was not interested in. The Second alternative is the more realistic one since I don't have to invest. The problem is that most advertising companies only work with sites that reach a significant level of audience. So I needed to wait until the end of 2002 to be accepted by my first agencies. Nowadays the Web site works with 3 companies that work like advertisement companies. It's a good policy not to place all eggs on the same bag. The first is "TribalFusion" that sells advertising to its customers and places ads that show on my Web site. They pay for the value and quantity of the pages with the ads. "Google" with its "AdSense" is another company that works like an advertisement company. They place text ads related to the content of the pages where those ads appear. There's a third company that pays a steady income by month for the text links placed on the home page of the Web site. There are also advertisers that are contacted directly by me, but those don't generate a regular income since they only pay for time to time campaigns.

The income that I get from the advertisement is nowadays sufficient for me to dedicate full time. But it's not regular and it doesn’t offer any guaranties to keep being one income source that secures the Web sites future. That limits my ability to generate investment in new resources that might lead to new expenses or staff hiring. For that reason, I intent to launch at a not determined time yet, a package of paid services by monthly subscription at a low cost. That services packages aren't totally defined but will include study services from suggestions scented by Web site users. They are services that make bigger the Web sites possibilities, but as they require resources that in some way make expenses bigger, it only is able to offer then to users that accept to pay a monthly subscription. The rest of the resources of the Web site that are free today will keep being free. I am counting on this evolution in the Web site professionalization so that I can add more free services in a sustainable way.

André Ferreira:

What languages, applications and databases do you use in "PHP Classes"?

Manuel Lemos:

The Web site is all written in "PHP". Everything uses "PHP", the scripts pages, the newsletters scripts, to all the other operations that run outside the Web server. The database is "MySQL", but it could be another ("PostgreSQL", "Oracle", "Microsoft SQL Server", etc..) without having to change a single code line since the Web site was written using a abstraction package I wrote regarding database access that I call "Metabase" and that grants total independency.

André Ferreira:

How much time do you dedicate to the Web site development?

Manuel Lemos:

Practically all the free time I have. It takes at least one hour a day to moderate and approve new submitted classes. I work at home. Family is a priority. So free time is what I have left. Some days they don't exist, others I only go to sleep when I finish the tasks I proposed myself to do. It varies.

André Ferreira:

Do you have special care regarding Accessibility and usability? Which ones?

Manuel Lemos:

Well yes, but that's problematic. I try not to mess a lot with things disposition. The current disposition reflects lots of improvements that were made according to accessibility problems transmitted to me by the users. For example, once again I got complains from people with visual difficulties that the colours on the Web site aren’t easy to read due to lack of contrast. The improvements were made and people got satisfied. The problem is that from time to time I get proposals for design changes only for esthetical reasons. Many of the esthetical questions are subjective ones. What might be pleasing to some might not be to others. So I rather not mess a lot because it doesn't guarantee that any arbitrary change in the Web site design will please the bigger part of the users. Worst than that is, if I let something get changed, some people might not be able to find something they are used to find in the same place for years. Any way, I have some basic cares with usability, like giving some keys alternatives to activate form fields, so that the user can avoid to change between keyboard and mouse frequently and some other more subtle details.

André Ferreira:

How many collaborators do you have at this time?

Manuel Lemos:

To tell the truth, most collaborators are authors that submit their own classes on the Web site. The rest I do basically myself. There were two people that some times helped me in unique details. There is a user in Australia that placed himself to my disposition to improve the English I use in the book critics or in some messages for ads of new capabilities. There's a user in France that made the "elePHPant" logo that we use in the Web site. He also made the logo for the "PHP Programming Innovation Award" launch last month on the Web site to give recognition to the authors that contribute with classes more innovated or that give additional value to the projects they are using.

André Ferreira:

What can we find in your Web site that we can’t find in any other? What guaranties do you give to your users in terms of quality?

Manuel Lemos:

What I give to the Web site users that might not be given in other Web sites is a consequence of something I give to the authors, that sometimes they have difficulty in finding, that's the possibility of publishing their components. Being that, they might be the simple’s ones or the most complex, so that with that they can reach an audience of many thousand of users longing to know about new components in PHP programming. From there users can get immediate e-mail warning about many updates, that may happen in the classes, without having to do any extra work Those that don't want to get immediate warnings can get only a weekly newsletter that contains summaries of all that was updated. There are eventually other things of unique interest in this Web site, but I think these are the most important ones.

André Ferreira:

According to the statistics that you have available on the Web site, 22% of your users use "Mozilla". Do you believe that the usage of this browser or any other that uses the GPL licence might overcome the Internet Explorer usage?

Manuel Lemos:

No. "IE" domination has to do directly with "Microsoft Windows" domination on the desktop. While that domination continues, nothing will change. I know that Microsoft won't be giving more versions of "IE" for download. But, the matter is that the browser will come free with new versions of Windows and while people are using windows, nothing will change.

André Ferreira:

What do you whish for "PHP Classes" future?

Manuel Lemos:

Well, for now I intend to keep working to implement the packages of paid services I told you about. That is my biggest ambition at the time. I think that doing more than that would be given a step bigger that the leg and that has never been my way.

André Ferreira:

What piece of advice would you give to someone that is just starting to work in PHP? What is the best way to go until reaching classes?

Manuel Lemos:

RTFM! ;-)

Interviewer: André Ferreira
Translated by André Ferreira

See the Comments: 0 | Comment the Interview
 

On-line: 3 Guests - 0 Members

[About]  [Rules]  [Privacy]  [Contact

© 2004-2005 André Ferreira