Unless you're living under a rock, you know that IPS has released IPB 3, and that it's a huge success with IPB users. In fact, it's so good that the support staff over at IPS are working overtime to convert forums running on other forum software products over to IPB. Let's hear what Matt has to say about it in our third interview with the Creator of the Invision Power Board.
IPB 3 looks to be completely rewritten from the ground up, with so
many improvements and new features I can't even begin to list them
all. How much work has gone into it?
It's incredibly hard to communicate just how much work has gone into
IP.Board 3.0 since I started working on prototypes back in February
last year. It's astonishing when you compare it to 2.3.6 in just how
different it is. The first design goal was to strip it down to a
framework that supported applications. That way we can swap out
applications or upgrade them independently of each other. This has
proved to be very successful. Modification authors enjoy the same
extensibility that we have. It also means the administrator can choose
to shut off applications or modules, like the calendar. Doing so
removes it completely from the front-end without the need for changing
settings or making skin edits. It really is a powerful system.
It has been a real team effort too. Brandon, Josh and Rikki have all
poured countless hours into the project. It is a big step up for us
not only in terms of production but also in collaboration and
communication both internally and externally. We've changed how we
communicate and organize as a team. We have also been very open with
development since the preview board went live at the end of 2008. The
feedback from customers has been vital in shaping the final product.
How is the development process going?
It's going very well. At the time of writing IP.Board 3.0 has been out
for a few months and we're putting the finishing touches on 3.0.3
which addresses most of the issues reported so far. As one would
expect, a new release with so much new code is bound to generate a lot
of initial bug reports. We've had far less than we expected which
vindicates our decision to test as thoroughly as possible before
releasing the 'final' version. Our immediate plans are to continue bug
fixing and improving based on the feedback we've been getting which
has been great. We're all pleasantly surprised at how few issues there
Do you consider the new version evolutionary or revolutionary?
A little of both, really. It's a natural evolution of the product
line. You can't get too radical with something that many are familiar
with. Most people resist change and no one wants to learn a new system
from scratch. The real revolution has been the back end code. It
really is a complete departure from the all-in-one method of our
previous versions. We've made good use of PHP 5 which has helped us
during development. For example, the new XML handling tools have been
very useful. Most of our data outside of the database is transported
via XML so a robust parser was a must.
What drives improvements of this magnitude - better ideas from the
developers, feedback from users, increasing competition, improvements
in PHP and MySQL, or what?
All of the above! We had our own design brief which was fairly small
at first. We wanted to start with a robust extensible framework and
build the rest from there. Advances in PHP have helped too. Our code
is much neater and much easier to follow now it's clearly labeled and
abstracted. We have a core suite of classes which make development a
joy. Experience helps too. We've learned from our past releases and
this really helped form the core feature set, code wise. Feedback from
our customers is vital too. From our preview board to the final
release, our customers have been with us every step of the way. We've
used our blog to discuss new features and received instant feedback.
Even now, we're making changes based on the feedback from 3.0. It's a
vital part of the development process. Good competition always helps
too. You always want to be one step ahead so you can't rest for too
long on your laurels.
What are the things in IPB 3 you're most excited about?
There are so many things. The extensibility is the most exciting
thing. The applications and modules structure mean that modification
authors have access to the exact same things that we use for the main
applications. We're all really looking forward to seeing what new
applications are made. There's an application installer in the Admin
CP and you can even tie into the main upgrade system so Admins can
upgrade all their applications at the same time.
One of the most interesting features of IP.Board is its log in and
sign on abstraction. Just by adding a few classes of custom code you
can authenticate against your existing databases without radical
recoding. Many of our customers such as Vodaphone, Skype and O'Reilly
make good use of this. IP.Board 3 is hands-down the most extensible
product in its class.
How about IPB users - what are they most excited about?
We have such a diverse community. We have people who are learning
about the new applications and hooks systems. The recent skinning
competition has shown that there is a lot of talent in the community
and others can take advantage of that by downloading skins and
modifications. I think most are excited about seeing fewer 'file edit'
How does IPB 3 address the "3 S's" that concern all forum admins -
security, spamming, and SEO?
Wouldn't it be lovely if you could just trust everyone? Sadly this
isn't so. We run a fairly busy high profile board so we get a lot of
people trying to spam us or hack us which gives us invaluable insight.
IP.Board 3.0 has specific tools to mark members as 'spammers' and
optionally ban them and/or remove all their recently made posts. We
use recaptcha to help prevent spam bots from registering and we have a
custom 'question and answer' feature that can be enabled to give
further protection. For example, you could set up a basic question
such as "What color is the sky?" and list acceptable replies like
"blue, azure, sky blue, bleu, blau", etc. We find this eliminates 99%
of all scripted registration attempts.
Security is always an ongoing concern. Naturally we take every measure
to ensure that the code base is well written and is robust. We have
employed two security specialists to audit the software to ensure that
there are no obvious flaws. The BBCode engine has been re-written from
the ground up to make it much harder to parse successful XSS attacks.
We've taken what we've learned from the last few years and applied it
directly to the new framework.
Where does one start with search engine optimization? I've always
tried to maintain that we are not getting into SEO as it is a huge
industry based on shifting ideologies on which no one truly agrees. We
simply do not have the time or expertise to get fully involved. We
have added a suite of tools and we encourage the administrator to make
the best use of them. The biggest feature is customizable friendly
URLs. This has many benefits. The main one is that it is instantly
more readable. For example, you may see a link for
"board.com/forums/ index.php?showtopic=12" and you'd have no idea what it was about
whereas "board.com/forums/topic/12-forums-updated" is quite obvious.
We have also added minor features like redirecting with a correct 301
header for older links and the ability to add meta-tags based on the
topic content. User-agent detection has been improved and you can now
group user-agents and assign them a specific skin.
As forums get larger, resource utilization becomes an issue. What
have you done with IPB 3 to make it resource efficient?
There's only so much you can do with just PHP and MySQL. We naturally
make the code and SQL as efficient as possible but scaling is more
than just making sure that SQL queries don't create temporary tables.
A fair number of our customers run very busy boards and want IP.Board
to scale with their hardware. To that end, IP.Board has integration
with caching engines such as memcache and for sphinx search. This
enables one to offload some of the more intensive operations to
dedicated software. Also, we have settings to serve caches from a
dedicated server or images from a dedicated server. Several of our
customers load balance MySQL across servers and many make use of the
MSSQL engine we have available.
What else is new at IPS?
We have several other projects just coming to fruition. The recently
announced (http://forums.invisionpower.com/topic/290573-community-content-system-1-0-0-released/ )
Community Content System (CCS) has been very well received. This is
a much sought after application for IP.Board 3 that allows you to
create and manage pages on your website. We are not labeling it as a
fully fledged CMS but it as close to a CMS for board content as you'll
ever need. Most administrators are forced into using Wordpress or
Joomla! with all the integration complications that presents just to
add a page or two to their website.
Speaking of Wordpress and Joomla!; we have recently announced an
upgrade to IP.Converge, our single sign in application, that allows
you to easily share authentication with Wordpress and Joomla. These
modules are pre-written and all you need to do is configure them. More
information on that is here: http://forums.invisionpower.com/blog/1174/entry-3224-introducing-ip-converge-modules/ .
We have also launched our "Spam Monitoring Service" (http://forums.invisionpower.com/topic/288800-introducing-spam-monitoring-service/ )
which effectively reduces the number of spam users signing up to
your board. This is an exciting project that we host and maintain as a
free service to all license holders with active support and service.
What is your take on Jelsoft's vBulletin since Internet Brands took
over? What do you make of the "leaked" internal communications, staff
changes (including Kier leaving, among several others), change in development practices (no
publicly available betas, accelerated time to release), and the
general state of customer unrest over there?
I certainly understand the need to push out a major new version to
remain competitive. It is always sad when a long standing and
respected team move on from a project. I wish Kier, Scott and co. all
the best and look forward to many more years competing with vBulletin.
The industry needs competition to push the boundaries. Necessity is
the mother of invention, as is said.
How would you compare IPB3 to vB 3.8, and to what you know about vB 4.0?
I am not too familiar with the exact feature set of vB 3.8. From what
our customers and recent vBulletin converters tell us, IP.Board 3 is a
step up from vB 3.8 but then that's expected as vB hasn't had a major
version release for many years.
How's the family? What's Debbie doing these days, and has Luke shown
any aptitude for coding yet?
We're all doing very well. It is amazing to think that when I started
on IP.Board 3.0 Luke wasn't even born and now it's like he's always
been with us. He's great fun to be around. He's always got a cheeky
smile and a laugh for us and we're very proud of him. He's walking and
talking and generally getting into trouble as often as possible. Luke
was sitting on my lap at my desk one day many months back and bashed
the keyboard. I added it in as a comment within the IP.Board 3 code.
And what about you? Keeping busy? Anything new and exciting?
Busy isn't the word. Juggling a busy full time job with a toddler is a
fine art but we manage!