Kier Darby, Product Manager and Lead Developer of Jelsoft's vBulletin, has been working around the clock to get vBulletin 3.5 ready for prime time. Nevertheless, he generously agreed to take some time to answer our questions for an interview regarding the latest version of vBulletin, future releases, other topics of interest to Forum Administrators, and a bit of a personal glimpse as well. ========================================= Can you give us a brief bio? I'm twenty-eight years old and live in Berkshire. My background is in computer graphics and software development, though the computer graphics side has been largely consigned to the past since I joined Jelsoft / vBulletin in 2001 as a developer. In late 2002 the then lead developer, John Percival decided to take a back seat in future development of vBulletin and since then I have acted as both lead developer and product manager. What activities do you do enjoy for relaxation? Relaxation? I gave up on that quite some time ago, life's too short to not be busy all the time. When I'm not working I enjoy cycling, walking, spending time with my family and friends and all the other stuff with which normal people tend to occupy themselves. What are your favorite books? Movies? Music? Games? Book-wise I'm a big fan of Iain M Banks. I've only read his sci-fi series so far, but when I have some time I think I'll dive into the rest of his work (written as Iain Banks, without the initial). I've recently devoured most of Dan Brown's novels, though I've yet to start The Da Vinci Code. I'm a huge movie fan and people are always astonished when they see my rather eclectic DVD collection. My house has become something of a draw as a cinema for my friends and family since I got a room big enough to properly mount my plasma screen and 7.1 THX system. Games-wise, I haven't played anything seriously on my PC since I came on-board with vBulletin - there's always something to be done that gets in the way of gaming. What is your educational background? After finishing four A-levels and two AS-levels I went on to read computer visualization and animation for my degree. The degree was 50% artistic and 50% programming, as the course was aimed at both those who wanted to be CG artists and also those who wanted to write graphics software. At the time I was very much in the artistic camp rather than the programming side... funny how things change given time. What would you want to do for a living if you weren't a software developer? Before I worked with vBulletin I owned a CG animation company working for a variety of clients including AMD, Microsoft and FIFA. My two co-directors in that company have recently been working with Gerry Anderson (Thunderbirds, Stingray) and Ron Thornton (Babylon 5, Starship Troopers: Roughnecks) on the new CG version of Captain Scarlet. If I weren't working on vBulletin I would have been doing the same thing. What do you drive? My developers. How has success changed you? I don't really think it has changed me at all. Of course it's nice to be leading the development of such a popular product but I'm a bit of a perfectionist and I don't think I'll ever consider that I've succeeded. There's always something to improve or to refine. There seems to be a bit of celebrity associated with being a developer. What's that like? I'd emphasize the bit of part there. It's not as if I'm recognized in the street or receive fan mail. In actual fact, I'm rather more of a 'celebrity' in the CG community due to some tutorials I wrote some years ago - I still receive around ten emails per day with comments about those. One thing I do like is that when I enter my email address online or give it over the phone I quite often get back some kind of response asking if I'm that Kier Darby working with that vBulletin - that's always nice. The vBulletin community are for the most part a very friendly bunch and all the vBulletin staff receive a fair bit of adulation from the hard-core fans though it's always important to remember that the online world is very fickle and the moment that we stop providing superior support, excellent customer relations and an innovative product the market is ever-ready to move to someone who will. Which online communities do you enjoy as a member? I really don't participate much in any forums other than that at vBulletin.com because of time constraints. I post occasionally at various home cinema and computer graphics boards, but I wouldn't consider myself an 'active member' by any means. How many forums do you actively admin? None really... My own forum is at http://forums.spacebattles.com but I delegate almost all the administrative tasks to the very dedicated moderation staff at that site. I suppose the most administration I do on a day-to-day basis happens on the official vBulletin.com Community Forums, though in the main I administer there really only as a convenience when testing new features etc. How would you describe your moderation style? I try not to interfere too much in members' discussions as communities tend to thrive better when the visitors don't feel as though they have big brother watching their every move. Boards that are seen to delete or hide any comment that doesn't toe the line often develop a very bad reputation for censorship. While there's no doubt that certain people are just out to cause trouble, I find that communicating with these people usually convinces them to either re-think the way they interact with the board or else to go away. Of course if all else fails there's always the ban button. What are the most common mistakes you see new admins making? The biggest mistake made by new administrators and long-time administrators alike is trying to create too many forums on a board. Unless a board has an extremely active membership of several thousand people there is almost no point in having the board subdivided into lots and lots of forums. All too often I see boards that give the impression of being totally dead because there are a hundred forums, each receiving only a handful of posts per day. It is far better to have everyone post to just a small number of forums so that everyone can see what everyone else is doing. This mixing of topics and people is the fundamental essence of community. Once you have a million posts and a few thousand unique posting visitors every day, then you can think about adding more forums so that topics don't get lost. Has your decision to use PHP proven to be correct? Absolutely. Nothing else comes close to PHP for rapid application development and prototyping. Of course this brings its own problems; the ability to rapidly write and deploy code is a sure fire way to introduce heinous logic errors and security holes, but when one is bashing out a new concept to see if something will work there's no language I'd rather use than PHP. With relatively new developments like the Turck/eAccelerator projects, PHP has also become almost ludicrously fast at compiling and executing code. This has really vindicated the decision I made to move much of the load in vBulletin away from MySQL and have PHP perform it instead with vBulletin 3. I'd like to say that I foresaw this phenomenon but in truth it's just a very happy coincidence. What would you say are the advantages and disadvantages of a development team compared to the solo approach? Working with a development team has many advantages in my opinion, one of most important of which is the ability to bounce ideas between a group of people all of whom understand exactly what you're talking about, and who can offer suggestions and improvements on a useful level. There's no doubt that input from customers is invaluable in this respect as well, but it's one thing to have a customer suggest a particular new feature and quite another to have a development team discuss whether or not such a feature is viable and if so, how best to implement it. I would say that the majority of development time spent on vBulletin is exactly that - development of an idea. Almost all the features you will find in vBulletin have been though numerous iterations internally until we agree on a way that is efficient and intuitive; the time actually spent committing those ideas to code is usually insignificant in comparison. Of course there are also some disadvantages to developing a product as a team. There are certain systems within vBulletin whose internal operation are only fully understood by one or two developers, which can make fixing bugs a bit of a chore. There are also occasions when a feature is developed by a member of the team that end up being turned down by the rest of the team - I think everyone on the development team has some code that has been removed from the product before release and consigned to the 'evil' folder in our CVS repository, the contents of which can be amusing at times, and spine-chillingly awful at others. Weighing up the advantages and disadvantages of development as a team, I believe that the advantages are far greater than the disadvantages and I will always come down on the side of a team based effort. vB 3.5 is a major achievement - you must be very excited and proud! And extremely busy. Is it all that you hoped it would be, and more? Thanks! vBulletin 3.5 was originally given the version number 3.1 and was destined for release far earlier than eventually turned out to be the case. As development progressed we realized that some of the things we were doing were fundamentally altering some of the core code, moving away from the 3.0 code. The addition of the new data managers and the complete replacement of most of the initialization code were enough of a step towards vBulletin 4 that it was decided to give it a name more befitting the changes, and hence it became 3.5. I can also say that 3.5 is only a part of the story. While it has a lot of new functionality that customers have requested, the primary reason for its release was to introduce people to the data managers, hooks and the plugin system. vBulletin 3.5 provides a more stable and scaleable base upon which to develop new features, and this will become the focus for a forthcoming release due in the months following 3.5 being declared stable. How is the development and integration of the other Jelsoft products going? Very well actually. vBulletin 3.5 provides the core into which our forthcoming products can integrate, so more development time can now be spent on the future products, safe in the knowledge that when we release product(x) there is a system in place for it to use. I won't discuss specifics about the new products at this time, suffice it to say that the development team is fired up about things to come. As far as vBulletin itself is going, we have taken a big step towards vBulletin 4 with 3.5 by rationalizing and cleaning up the core code. For 4.0 we have plans to do the same to the front-end business logic, that being scripts like showthread.php (displays the posts in a topic) and forumdisplay.php (displays the threads in a forum). These scripts' lineage can be traced directly back to vBulletin 2 and even vBulletin 1 in some cases, and in a lot of ways this must now be rectified. Plans are in place to radically improve these systems to bring them up to the quality of the 3.5 core systems, which will provide us with a platform onto which new features can be added far more quickly and with less potential bugs than is possible at present. Example code for vBulletin 4 already exists and I can hardly wait to get the ball rolling. There have been complaints from the vBulletin Community about the length of time it takes for new versions to be released, and about the quality and quantity of information released by Jelsoft regarding these releases. How do you respond to that, what changes have been made, and are any more changes planned? I'd point to my previous answer here. The period of the vBulletin development cycle is necessarily long at present mostly due to having to deal with certain code that badly needs updating. As I've said, we recognize this problem and plans are in place to allow us to hopefully reduce the development cycle time considerably. The new systems should for the most part eliminate pesky bugs that are predominantly caused by a new feature being incompatible with another, older feature or system. vB 3 made significant advances over the previous version in terms of usability, and vB 3.5 will apparantly continue this trend. Can this go on indefinitely, or will the software eventually "max out" on features? And what do you say to the people who complain that vBulletin (and IPB for that matter) are already "bloated". This is something I've been considering for some time now. There's certainly a question over how much more stuff can be realistically crammed into these bulletin board products before it becomes ridiculous. If one considers what is actually expected or even required in a bulletin board these days, one can usually refer to the feature set of vBulletin 2, which seems to have set the benchmark against which most of the bulletin board products that seem to appear on an almost weekly basis measure themselves. I think that the focus of those boards including vBulletin, Invision and phpBB is starting to move more towards improving the user experience of those essential features rather than piling on more and more new features. That's not to say that we won't be adding new features when we come up with them, but those features will be targeted at improving interaction between members and the board, rather than adding a massive new subsystem. This, I think is better served with additional products rather than an ever bigger bulletin board package. How do you see the internet in general changing over the next 5 to 10 years? What about online communities in particular? It's quite clear that web pages are progressing from a static repository of information to an active entity with which visitors want to interact. We are entering a time where cross-browser-compatible client-side scripting is becoming a viable development route in order to achieve web applications that feel far more interactive than has previously been the case. Only a few short years ago client-side scripting was a minefield of ludicrous browser incompatibilities and as a result we were stuck with static pages for far longer than should have been necessary. Now that most browsers don't have idiotic ways of dealing with client-side code (though some minority browsers still do, much to my dismay) I think we will see the use of client-side scripting increase massively, making web pages act far more like an application you would expect to run on your desktop. Sufficient technology exists now to enable this jump and I think it will become pervasive in a relatively short space of time. For online communities this change will take the form of more instantaneous interaction with the board, providing a friendlier and more efficient control structure. Data validation can be done before a page is submitted resulting in more concise and pertinent cues to the visiting user. Tell us something about yourself that we don't already know. I'm getting married next June. How do you feel when a major new version like 3.5 Beta is publicly released? In the hours leading up to a release a whole host of things have to happen. Usually the entire development team joins a private chat room to discuss final issues and ensure that everything is working as expected. The anticipation tends to start to build when members at the vBulletin.com forums notice that the entire development team is online and madly rushing around the board checking for anything we might have missed. When the time comes to deploy the new version to the members' area the adrenalin starts pumping as the announcement thread and its partner discussion thread are cued up in the 'move thread' dialogue ready to be moved with a single click, the new version record is cued up in the database ready to be inserted, the new version package is fetched from CVS and placed in the appropriate place on the server, the CVS is tagged. Finally when everything is in place we have a mission-control style 'go or no go for flight' where each developer signs off on the release, certifying to me that to their knowledge nothing is half-committed or remains broken in the code they have worked on. If everyone signs off there is a flurry of [enter] keypresses and mouse clicks to get all the threads moved and the data inserted and the new version is officially released. There's then a period where everyone holds their breath, watching the forums for posts from people confirming that their upgrade has gone successfully, or that dreaded post from the person reporting that x is broken or y doesn't work. Happily, most of the posts are of the former type. What do you know now that you wish you knew 10 years ago? Does the meaning of life count?