Open Tech Interview

*EXCLUSIVE INTERVIEW WITH THE YABB TEAM* (Source) * Zef Hemel (creator/developer of YaBB) * Jeff Lewis (YaBB developer/project leader) * Corey Chapman (YaBB developer and CEO of Xnull) Conducted on November 07, 2001 by Tolitz Rosel (Canis Lupus)

Open Tech Support: Tell us your background. Who are you and what do you do?

Zef Hemel: I'm Zef Hemel, 18 years young and I live in Groningen, The Netherlands, Europe. Last year I got my VWO diploma (can be compared with finishing high school) and this year I started studying computer sciences at the University of Groningen.

Jeff Lewis: Well, I'm Jeff Lewis and I'm 26 years old and live in Kitchener, Ontario, Canada. I have a diploma in computer programming and systems analysis from a technical college and some cgi schooling from the University of Waterloo. I work full time as a Web Systems Analyst for the Toronto Star newspaper and most of my free time was spent with YaBB.

Corey Chapman: I'm 20 years old and live in Ballwin, Missouri. I am a student at the University of Missouri - Rolla, working on a BS, Engineering Management; Minor, Computer Science; and MS, Computer Science. My main hobby is web development, as one can tell by the ecopia of projects I do for my University and, of course, Xnull, as its CEO.

OTS: Tell us a little history of YaBB, like what made you decide to create it and what factors led to the creation of this forum script?

Zef Hemel: Back in June 2000 I needed a forum script. Back in those days there was not much to choose, especially not for a poor student like me. Of course UBB existed and vBulletin was around a while too, but both were too pricey. There were a couple of free boards too, UltraBoard 1.62 and BoardPower. But I wanted a threaded (usenet style) bulletin board but with the more fancy stuff like smilies and UBB code tags. Boards with those features did not exist by then, or at least I didn't know of them. So, I wrote my own. The very first YaBB version was merely a expanded version of Robboard (a simple threaded-style board). It looked nice, but by then I also understood why a lot of people don't like the threaded style: You have to click on every individual message to read it, which takes a lot of time. This was the reason to rewrite YaBB from ground up as it is now: linear, or non-threaded as you will. I wanted YaBB to be Open Source. I released the first version July 4th (Independence Day) 2000. It was the first Open Source Bulletin Board system available.

A lot of people from with different scripting roots have worked on YaBB and have been in the team, including Andy Tomaka (one of the major UBB hackers), Remake (UltraBoard hacker), Darya Misse (Newspro hacker) and Matt Mecham (who later started Ikonboard).

Corey Chapman: Some others joined the crew, including Jeff Lewis, who began as the "finance man" and is now the project leader. Soon after, I joined the team to help with YaBB 1 Final, and soon became the lead developer for YaBB 1 Gold and the YaBB site webmaster.

Today, YaBB is a part of the new Xnull network (http://www.xnull.com), formed by Jeff Lewis and myself. Zef has left the YaBB project as a developer to work on another BBS system, but his legacy remains today.

Jeff Lewis: YaBB has been on it's "Gold" release for sometime now as we aimed to iron out any bugs or holes that popped up but have now begun the next era for YaBB with YaBB 2.

OTS: What do you think makes YaBB better than the competition's?

ZH: I always like it when people ask that. At the YaBB support boards we get that question a lot. Of course they want to hear that YaBB is the best of all boards. When I started YaBB that's what I was telling of course: "YaBB rules, the rest sucks." I think we've passed that stage for quite a while now. I don't believe one board is better than the other. In fact, how do you define better? Each board has weak and strong point and so has YaBB. YaBB has features that others don't have and vice versa. If you like our feature set better than IkonBoard or UBB's then choose us. If you don't, then go with the other board. I created YaBB as an option which is worth considering, that doesn't mean everybody should be forced to use YaBB.

JL: When talking about YaBB, we have never been one to say "YaBB is better". Sure our users will argue this but all webmasters are different. They have different wants and needs.

YaBB tries to make sure we cover all of those wants and needs and adds them to a free solution to those who don't want to spend big bucks for something they don't need to.

CC: YaBB's strong points are that we listen directly to users and build in (or change) features as needed, to compete with BBS systems that are not free. It is also greatly aided by its open-source nature, which allows users to feel a sense of ownership because they can help with the code.

Another key feature is that it has visual appeal and the features/administration are not difficult to learn and use, as other systems can be. This helps the "stress factor" that some people have when they first download a forum script....

ZH: That being said, I think beside the feature set YaBB has three strong points: Support - besides the "official" YaBB support forums there's also a yabbfaq.com, yabb.nl (Dutch support), yabb.it (Italian support) and a lot of other support sites. The hacking (or modding) community. A very active hacker once wrote a program called BoardMod which can automatically apply mods to YaBB, he set up a site for it (http://boardmod.xnull.com) where you can download hundreds of mods contributed by a large group of people and apply them easily. And last but not least: Nobody owns YaBB. When YaBB was still young a German group of programmer used my code and modified it a lot releasing it as GYC YaBB (German YaBB Coders YaBB). Now that is one thing I think is cool. If you don't like the direction the general development of YaBB is going, edit it to your wishes and release it. That's possible with YaBB but not with most of the other boards.

OTS: How hard is it to develop a script like YaBB?

ZH: As many others have noted, coding is not the hardest part. I have about 8 years of programming experience; I learned the perl I needed in a few months. The hardest part is managing the project. Most people have no idea how hard it is to lead a group of volunteer programmers. And especially for a 17 year old boy (when I started I was 17), whose native language is not English that's pretty hard (and that's an understatement).

JL: The programming part of the equation is the easy part. The planning, implementing and even finding solutions to some odd problems is the hard part. Even working in a team based all over the world can produce some tough circumstances. It's also hard to keep the people happy with so many other good choices out there. Adding one feature may impress 100 people but turn off another 100.

CC: I learned most of my perl while working on YaBB. As the other developers on the YaBB team can attest to, writing the perl code is like riding a bicycle! You never forget once you learn. And, of course, the basic idea of displaying text on a screen is not hard either....

The hardest part is writing the base code in such a way that it's efficient and fast, but also easy for others to "hack". It is difficult to choose and implement features to appease everyone that wishes to use YaBB.

As much as the opinions can hurt at times, we are quite grateful for the community that surrounds YaBB. Those of us that work with numerous ways of YaBB support learn from them, helping us create a better product.

OTS: What do you think about the other forum scripts that are available out there? Do you sometimes wish you had a feature on your forum that is visible on theirs?

ZF: I love a lot of the other boards available. Every board has it strong points. It's amazing how well thought out some (even free) boards are. To mention a few: IkonBoard 3 has beautiful code, it's perl as Larry Wall meant it. phpBB is very fast and the new phpBB2 skin looks very cool. UBB has been a trendsetter for ages, without them a lot of boards would not have existed. vBulletin has a feature set which is incredibly big - it's a very nice board for the larger communities. WWWThreads gives the user the option if they want to discuss in linear or threaded style which is a very nice option to have.

Sometimes I see a feature at another board that I wanted to have of course. And sometimes I will implement it, but that's how it works, everyone borrows everyone's features, there's nothing wrong with that.

JL: Well there are so many out there to begin with. A few stand out though. For Perl, our good friend Matt has Ikonboard and the latest release is looking pretty good. In PHP, our friend James at phpBB and vBulletin are both great systems. As far as features visible on other forums, I rarely have a chance to take an in depth look at the other systems out there anymore.

CC: I will not lie and say we do not ache for features of other systems; we do. But YaBB is also working towards keeping features to a minimum, so that it isn't bloated. A focus of YaBB 2 will be combining ideas such as: the professionalism of iB, the speed of phpBB, and the calendar and search features of vBulletin. But really, we don't model much at all from other forum scripts because the word "clone" comes in to play, which is all too easy to do with as many scripts available as there are.

OTS: What do you think of YaBB's script-hacking community. Do they significantly help you improve your script?

ZH: As I mentioned earlier YaBB's script-hacking community is one of the things that makes YaBB special. It's a very big community. There's a mod (that's what we call a code hack) for nearly everything imaginable. When new YaBB versions come out we've always included a lot of hacks from the hacking community, we have the advantage of being allowed to do that because all of YaBB is Open Source.

JL: Definitely, since we have a program called boardmod that makes applying mods to YaBB easier than editing the code itself, you can release a small feature improvement with a very small turnaround time where as if you released it in another distribution you'd have to wait for other features or fixes to accumulate to make the hassle worth our while. Our user community is fantastic and come up with new mods all the time.

CC: This is one of the great parts about YaBB. At Xnull, we have started a community called "Boardmod" (http://boardmod.xnull.com), in which YaBB users can contribute code modifications and templates. Others can then download these changes and apply them to their YaBB installation using our program, without ever looking at code. It's basically a "pick and choose", like going to a mall with a few hundred dollars and told to pick out some clothes for several occasions.

OTS: Will you be sticking with the current programming architecture of your forum script, or are you planning any further enhancements and/or improvements for the current version of YaBB? If so, how about giving us a hint?

JL: As mentioned before, we've kind of fallen behind by not releasing anything new lately; however, it's on its way.

We're currently developing our next main stream release of YaBB which is ingeniously named "YaBB 2". This is a complete rewrite of the current version of YaBB. Other than both the versions share the same name they will have nothing in common.

We're developing YaBB 2 with the emphasis on speed, modularity and usability with quite a few very unique ideas up our sleeve.

CC: YaBB released Y1Gold in May, creating a landmark in BBS's. It was at the time arguably the best system available. Since then, things have slowed and we've fallen a bit behind with "competitors". We will work on service/enhancement packs for Gold.

But we are simultaneously working on YaBB 2, which is a completely new architecture, using Object-Oriented Perl. We can't give away too many details but it will prove to be fast, small in lines of code, and easy to add to with its modular design. It will also prove to have some quite unique features and structures, as compared to other systems available today. In the end, it will allow webmasters to completely change the look, feel and features of their forum on the fly, with no programming knowledge required!

OTS: What part of YaBB would you have re-done or improved if you had the chance to do it all over again?

JL: Well if we were keeping the current code base, then definitely the file system/structure. I'm not very happy with it. I would have also completed my port to mySQL a long time ago and maybe even a port to PHP. But we're progressing

CC: Well, this is basically what we are doing with YaBB 2. The current file structure is really not great at all. It begins to get confusing when you want to optimize the code or add features. This boils down to how the code structure was originally written, which we only slightly changed in the Gold release of YaBB 1.

OTS: Zef, since you have moved on to creating a new forum script, KeyBulletin, what do you think makes it different from YaBB? What features make it as good or even better than YaBB?

ZH: KeyBulletin is written in PHP and utilizes mySQL (and later other database servers too). It has been written very modular which allows to easily switch a lot of features off (and on of course ). Also all html is generated from templates, so there's no html hardcoded into the scripts, which makes it easy to customize. I tried to code it as clean as PHP allows it.

Also KeyBulletin is a commercial solution so not free. What makes it better than YaBB? Hmm, again that "who's better" question eh? Well, all of the things I mentioned above are what makes KeyBulletin different (rather than better), YaBB does not currently supply you that. But again, it comes down to personal preferences.

OTS: When do you think KeyBulletin will be available? (We know you don't like giving out release dates, but how about an estimate anyway, hehe)

ZH: In my YaBB time I've had very bad experiences with giving out release dates. I'm rarely happy with things I code, there's always a way to do it better or quicker. There are always features I want to include. "Ok, one more... hmm, alright this is the last one, hmm now that's an idea I'll implement that too". If I keep on programming like that it will take a couple of years. So it depends on a couple of factors. Firstly, school is more important than KeyBulletin (right now) so if I'm busy with school kB won't progress much.

Secondly, I have so many ideas I want to implement but not enough time to do so, so at some point I will have to say STOP it's done, and when that will be, I don't know. And last but not least, since KeyBulletin will be commercial I think there should be another person who helps me out with fixing bugs, giving support and helping me code KeyBulletin, so that even if I don't have time KeyBulletin makes progress and people who depend on my support are not neglected. But unfortunately these people are hard to get these days.

OTS: What do you guys do in your spare time, if you have any?

ZH: It depends on the way you look at it. Is "after school" spare time, or after "YaBB/KeyBulletin" spare time But beside these two I play the guitar and play some badminton.

JL: Spare time is definitely at a premium these days for myself. On top of being busy for work and doing custom-programming work, little is left. I do however find time to spend with my 5-year-old son as well as get out and play hockey.

CC: Being in college, running a business, and developing YaBB as a large part of the business, I really don't have a life I do like the occasional backpacking trip, rollerblading venture, or playing pranks on my college buddies though. Mostly, I spend time coding away! Looking forward to spring break already

OTS: If you were asked to describe YaBB in one sentence, what would it be?

ZH: An Open Source Bulletin Board, which is very worth considering.

JL: Open source, great technical support and an awesome mod community.

CC: A modest, open-source community software, with an awesome support and mod community, and not *just* another bulletin board

-------------------------------------------------

Many thanks to Jeff Lewis and Corey Chapman of YaBB and Xnull Network, and Zef Hemel of KeyBulletin for this interview.

Visit the YaBB site for more information on their great forum script.