It's hard to imagine a more hectic time for a forum software developer than during the alpha phase of a brand new product for a brand new company. The company and the software are called XenForo. The official XenForo Community launched only a month and a half ago and it's already a very busy place indeed. The look and feel of the forum is simple, clean and organic but the atmosphere is quite reminiscent of the vBulletin.com of old, and many of the faces are familiar. You'll definitely recognize the names of Team XenForo - Kier Darby, Mike Sullivan, and Ashley Busby.
In our first XenForo interview, Mike has somehow carved out enough time to answer some questions for the Admin Zone. There are many more questions we could have asked but we didn't want to keep Mike from his work. We encourage you to visit the XenForo Community yourself and have a look around if you want to learn more - there is tons of information there and it's kind of fun to watch the software develop seemingly right in front of your eyes.
I predict great things for Mike, Kier, Ashley, and XenForo, and I'm not alone in doing so.
Can you give us a brief biography?
I grew up in eastern Pennsylvania. I didn't really get into computers until I was 12 or 13, when my parents bought a computer (running Windows 95). I have a distinct memory of breaking it the second day we had it, by installing DirectX (3.0) with non-compatible drivers, not that I knew any of that at the time. I'm not totally sure why I took to it, but shortly after that I became interesting in programming and the web. At first, I started out doing web design stuff, though I wasn't particularly good at it. I got into web development by hacking on the freeware version of UBB. In 2000, I got involved with vBulletin and PHP, and the rest is history.
I went to Penn State and majored in Computer Science. I didn't actually finish the degree though, instead deciding to work full time and, ultimately, move to the UK in 2006. Earlier this year, I moved from Reading (England, not Pennsylvania ) to Glasgow to move in with my girlfriend.
How has the move to the UK worked out for you?
It's worked out pretty well I think. I'm not the most outgoing person, and I'm generally happy having a quiet life at home, so I'd probably be ok in most places. After I got past the initial cultural differences, I was able to settle in. I've been here for about 4.5 years now, and I find it interesting to discover the little differences that I hadn't run into before.
I said when I moved here that I was going to travel around Europe, and I still haven't done that!
What are some of your favorite things?
I'm a big music fan. Really, I'm primarily a metalhead. It can range from stuff that most people know (Metallica) to more progressive stuff (Dream Theater) to technical death metal (Psycroptic). I like fast, upbeat music.
Related to that, I'm a drummer. I've been playing (for fun) since 2003 or so, but I really haven't had time to play much in the last few months. I have an acoustic kit at my parent's house in the US, but in my apartment here, I have an electronic kit. My neighbors would hate me if it were acoustic.
I haven't kept up with it too much, but I also really enjoy photography. Kier's the one who got me into that actually...
Do you mourn the passing of Jelsoft? In retrospect, would you have liked to have done anything different before or during the transition?
Jelsoft was generally a great company to work for, so I am sad to see it go. I (and I'm sure all of us) had many great times there.
Hindsight is a wonderful thing, so it's easy to say that X should've happened, but the reality was that everyone was doing the best they could at the time.
You must have had some emotional ups and downs over the past year and a half. Care to tell us about it?
It's very easy to get excited about a new project, and it's a lot of fun to see things come together better than I could've expected. Conversely, before we launched the XenForo community, it was hard to answer "is this something people want?" We thought it was, but the idea still needed to be proven. The biggest confidence booster has been the reception we've received since the forums went live. That's the sort of thing that makes us want to push XenForo even further.
Was having to start fresh with XenForo a setback or an advantage? I mean, there aren't any old issues to deal with when you start with a clean slate, but a blank page can look pretty daunting in the moments before you start filling it.
A blank page is very daunting. It's very easy to try to plan everything out so that it's perfect, but that's just not feasible. There are so many things going on, it's not possible to keep them all in your head at once. By all means, think and plan your attack, but just write some code. If down the line it's wrong, change it or do it again if you have to.
On the whole, it's been nice to be able to think about the features and approaches that make sense for today. I hope the ideas, interface, and underlying code show that.
I've spoken with both Kier and Matt Mecham in the past regarding a solo developer versus a development team in the creation of forum software. It's clear that there are advantages and disadvantages to both. Now it seems to me that the ideal situation might just be a two man team where both developers work well together and both are highly skilled, highly experienced, and have a combination of creativity and passion for their work - a clear vision of the path ahead.
- Is having 2 developers an advantage over just one, or a team of many?
Two developers are undoubtedly better than one, provided you work well together. Note that working well together doesn't mean agreeing on everything. The disagreements are what lead to better things. Having someone else be able to knock some sense into you is vital.
Having an even bigger development team obviously has its benefits, though it creates different problems. This is the kind of thing that books are written about (such as The Mythical Man-Month: http://en.wikipedia.org/wiki/The_Mythical_Man-Month). If the team works like a cohesive unit, then it will generally be successful.
- How are the coding duties divided up between you and Kier?
We each have our strengths, so we try to play to them. I am much more of a back-end code guy, while Kier is a better interface designer. We can each do front-end and back-end stuff though, so we don't have to wait on the other person.
- What about the decision-making process - how does that work?
A fight to the death! No, we just discuss most things and come to what is the most logical conclusion. There are disagreements, but usually they end up with something better than either of us would've created independently.
- Has the development process been harder or easier than you thought it would be?
Both, I guess. I'm very happy with the output, though it has needed a fair amount of tweaking along the way. It is a great feeling to be working on something new and have everything fit together perfectly... that doesn't always happen though.
What is your work schedule like? Do you tend to code in short bursts or marathon sessions?
I tend to keep hours like a "normal" job, though I'm always keeping up with what's going on. If I get in the zone, then I can go for a while, but I prefer not to do that so that I spend some time with the girlfriend.
What is your philosophy when it comes to determining the standard feature set for XenForo?
We try to implement things that will be useful for a wide range of people. It's important to think critically about any feature that we're targetting. People may be used to something working in a particular way because that's what they have experience with, but we still need make sure that's the best approach. Our focus is on having features that are good and, just as importantly, look good. Having a clean and intuitive interface is one of the primary goals of XenForo.
As an example of something bridging the concept and inteface, we cut out a lot of the information that is traditionally displayed with a post. The reader's focus should be on the content. Obviously, not everyone will agree with this, so we have options to let you display things like message count and location, but they won't be enabled by default.
What is the most exciting thing for you about XenForo?
The future. We're just at the early days now. We have a lot of ideas that we want to incorporate, and the community has given a lot of great feedback. I also can't wait to see what people do with styling and modifications, as we've tried to make XenForo very extendable (though admittedly there is a learning curve).
It seems your new software, and the new community that goes with it, have developed an extremely strong fan base in an amazingly short time. Did you expect this to be the case or is it a pleasant surprise?
It's definitely a pleasant surprise. It's been overwhelming. Maybe we're just pessimistic, but the response has been far beyond our expectations.
What would you want to do for a living if you weren't a software developer?
I decided that development was what I wanted to do from the time I was 15 or 16, so I wasn't really weighing up other options. I did have an interest in architecture as a kid, so I guess that would've been my second choice.
What are the most common mistakes you see new admins making?
Picking the right concept can be hard. It's important to try to find a niche and give the users something unique. There's no community without users, so admins need to figure out how to bring them in. Software features can help to some extent--and they can help keep existing users--but ultimately it's up to the admin to figure out how to get the community going. (This isn't an area I'm particularly good at myself.)
From a technical standpoint, features usually have a particular approach in mind. The software needs to guide the admin down the right path, or it may end up coming back to bite them later. I'm sure there will be some things in XenForo that we need to re-approach to ensure that admins don't back themselves into a corner.
What do you know now that you wish you'd known 5 years ago?
Well, I now know the hassles of emigrating to a new country, though I wouldn't change my decision. Being 3500 miles away from my family has made me significantly more independent.
From a coding perspective, I don't even think I could answer that question. My development knowledge has changed so dramatically; it's hard to equate the approaches I take now to those that I took 5 years ago. I spend a lot of time trying to keep my knowledge up to date as well. I get a lot of useful information from Hacker News (http://news.ycombinator.com/).
Tell us something about yourself that we don't already know.
Well, I was going to talk about how I enjoy death metal, but I already said that...
For whatever reason, I've always taken to regular expressions. I get questions about writing them all the time; I've even had random people get referred to me for help. The first time I met Jerry, he said "Ahh, so that's what a Regexian looks like." Kier also picked me up from the airport once, while holding a sign with my name written as a regex. Unfortunately, I had to critique it as the regex was slightly incorrect.
What does the future hold for Mike Sullivan?
XenForo and more XenForo right now. I wouldn't be part of the project if it weren't a long term investment.