Matt Mecham, the creator of Invision Power Board has kindly allocated some time to answer some questions from his busy schedule for us in this interview. With IPB 3.1 around the corner and vigorously being developed we look forward in knowing what Matt and the team brings for the future.
How and why did IPS come about?
Charles and I met on a previous project, Ikonboard, in 2001. We found that we had a good rapport and worked well together. An opportunity arose to start our own project which we took. We launched "Invision Power Services" in 2002 with our only product "IBForums" (later renamed Invision Power Board) and resold hosting. Since then we've released several major revisions, added several other applications to our portfolio and have our own data center and servers. It's quite amazing looking back at how far we've come.
IPS has a vast product line, and continues to expand it's line. Surely, it requires a lot of development time to keep up and maintain all of these products, something which IPS does very well. How do you do it?
It's very simple. We have a really good, solid and experienced development team. I've been writing production code for close to ten years. Brandon, Josh, Rikki and the other guys have similar experience. There's a lot of gifted PHP coders out there but not everyone can translate those skills into production code. It's a fine line between satisfying the "text book" geek in you and the realities of developing code that has to be deployable on many different systems (Windows, Linux, etc); that has to be efficient (shared servers, small memory footprint); that has to be stable and marketable. You do have to make a few concessions with text-book quality code to get the job done. That's the best skill a developer can have. I've seen many gifted programmers struggle to produce a finished product because they too much focus on writing beautiful impressive code.
How much of IPB have you actually coded as "lead developer"?
I want to firstly stress that IP.Board is very much a collaborative team effort. Each of the developers brings their own ideas and skills to the table. The recent notifications system, for example, was entirely Brandon's concept and implementation. He came up with the idea which was then refined via input from the rest of the development team and he then wrote the code. There are dozens of other examples of this in IP.Board 3.
The day-to-day job of a lead developer is to really ensure that these new features and additions are added in a respectful way to our internal guidelines. I may also write up a feature idea or loose spec for another developer, or write the bulk of a feature and ask for it to be finished off.
With the IP.Board 3 rewrite, I read a lot of PHP books to brush up on patterns and different systems and came up with a few concepts which I whittled down into real code which formed the basis of the IP.Board framework. It's evolved a little from those early concepts as the needs for the product has developed. In terms of code, I wrote the bulk of the IP.Board framework and helped to refactor a lot of other code.
As for my own code additions, I pretty much took the lead with adding new features in 3.1. I added the share links, soft delete, twitter integration, updated status integration, profile customation, improved Sphinx search integration etc. I really enjoy writing new features and finding cunning solutions to tricky problems. I get a genuine buzz from it which is why I look forward to every day at IPS.
How do you make decisions about new applications to add to your package?
In most cases, an idea is brought up by a member of our team and we discuss its merits. We weigh up the invasiveness of the code changes, the time needed to develop it and the usefulness of the feature itself. If most of us feel that it's worth adding, then we go ahead and start writing the code for it. Not all of our ideas have made it into the code, we have to put some on a back-burner due to time constraints. This means that we always have a very fertile 'feature pool' to draw from when we're writing up a spec for a point release.
Is there anything new coming up that you can share with us? vBulletin is developing 2 new 'secret' modifications, anything for IPB planned which you can give us a hint of?
We do have a few things on the horizon, one of which is a new product which we'll announce soon. We're very excited about it and we're positive it will be very well received. Other than that, once 3.1 is released as final, we'll be looking at maturing some of the existing feature set to give some areas a little love, such as the calendar.
IP.Board 3 is a great framework which we are building on. Items such as the calendar can be improved upon without disturbing any other code which makes development much more efficient. That is the benefit of having a good solid foundation.
Is the attitude over at Invision Power Services a competitive attitude towards vBulletin and Internet Brands, or rather neighbourly?
Of course we're incredibly competitive with other community software vendors but it is in a positive way, I think. We want to make our product the best it can be and that's our main focus.
We’ve noticed that you and Ex vBulletin Lead Dev, Kier Darby, have developed quite the rapport over twitter, is this relationship since he quit vBulletin, or have you guys known each other for ages?
We first spoke some time after he left vBulletin. It was just a short while before vBulletin 4 was unveiled if I remember correctly. He's a genuinely nice guy and we have a lot of common interests and have come from similar backgrounds and followed similar paths so it's interesting to compare notes, so to speak. We also have boys around the same age which is also a rich source of conversation. I wish we'd spoken sooner actually.
Has Kier helped you with ideas for IPB and vice versa, do you bounce new ideas off each other?
From my point of view, we don't really talk "shop" to be honest. We mostly talk about common interests and our children.
What do you think of free forum software such as PHPBB, MyBB and SMF?
I'm not that familiar with those products. I think there will always be a market for free forum software and these products do a great job at filling that niche. We do get a lot of customers converting up from these products once their community grows and they need the additional functionality IP.Board offers.
If you had to choose one of the above softwares for your forum, would you, or would you code your own?
I'm a bit of a control freak, so I would probably write my own. That's pretty much how I started out at Ikonboard. None of the current scripts really satisfied so I set about writing my own. I had a fairly extensive background in writing modifications for other products available at the time. I remember writing a 'Control Center' and 'Private Message' modification back in 1999 for a now defunct product called "BoardPower".
What do you think of sites like ipbfree.com or invisionfree.com?
Again, I'm not overly familiar with how they operate. We do get a lot of conversions from customers using those free services. Our forum hosting plans are a popular choice when upgrading from invisionfree.com as they are inexpensive starting from just $9.99 and the customer doesn't have to worry about finding a host, etc. It's a great solution for someone who isn't very technical.
Do you have a forum you run for fun yourself?
Goodness, no. I have a blog which I update infrequently. I currently use Wordpress but I would love to find the time to convert across to Blog and IP.Content. Both are very capable products now and can easily replace a traditional blog set-up.
And one from smackLAN - How does it make you feel when your co-workers call you "Uncle Matty"?
Hah! Slightly old! There are the cool, hip and friendly uncles that are down with the kids and there are the curmudgeonly old souls who resist opinion. I think I'm the former but probably turning into the latter. Actually using the phrase "down with the kids" almost certainly qualifies me for the latter.