09-24-2007, 11:40 AM
Matt Mecham Reloaded!
It's hard to believe, but it's been over 2 years since we did our first Interview with Matt Mecham
, Chief Software Architect for Invision Power Services and Creator of the Invision Power Board. Let's check in with Matt and find out what he's been up to - rumor has it he's been a busy fellow.
How are things going with Invision Power Services? Has the new building worked out well? Been hiring some new staff?
We're very happy with where we are right now. We've worked very hard and re-invested heavily into our infrastructure to provide a solid base to build new products from. We recently expanded our data center space to handle additional customer hosting demand. We're always moving forward and growing our business. It's very easy to capture a slice of the market and then allow yourself to stagnate while your competitors continue to make advances and grab ground from you.
Please bring us up to date on the Invision Power Board - where is it now and where is it going next?
Our US headquarters has worked out very well in terms of employee management. It's very useful to have key staff under one roof we're finding it a much more productive environment. It also has advantages in terms of how we present ourselves. We've entertained several big name clients who have been interested our services.
IP.Board is currently on a minor branch from the initial 2.3.0 release. Brandon has been managing IP.Board for a few months which has allowed me to move onto rebuilding IP.Dynamic into IP.Nexus along with Josh. Brandon has done an amazing job and his attention to detail has been a great contribution to IP.Board. He's done some fancy footwork with regards to unicode handling and basically making all the things I threw in work properly.
Any major changes to the coding end of things? How are you liking PHP5?
We're working on an informal outline of IP.Board 3.0 which will see the product continue to evolve but in a slightly different direction. Our current customers won't be disappointed by what we have in-store. It's a very exciting project still very much in its infancy.
Until then, it's more of the same: bug fixes (I call them surprise features) and feature tweaks.
I've dabbled, but I've not really spent a huge amount of time coding specifically for PHP5. Coming from a perl background I really appreciate the changes and it makes structuring OOP code much cleaner and easier.
The "big three" feature requests from enthusiast forum owners are blogs, galleries, and social networking features. IPB seems to be leading the competition in this area with all three available as tightly integrated components of the Invision Community Suite.
When you're actively working on a project you have to write in the most supported version, which is PHP4 currently so we can't take full advantage of all the new features. This means that you don't get a real chance to experiment as much as you'd like to.
In terms of coding, IP.Nexus is a chance for a real 'fresh start' and the code reflects that. It's much better organized and has much better code re-use. Almost everything is a class and these classes are shared across the entire application.
APIs are a big part of our future plans. IP.Converge was an experiment in XML-RPC; making it workable and secure. I think we achieved that. We've taken that experience and built on it for IP.Nexus allowing remote connections for IP.Board integration and more. In that respect, we've come a long way since the base code for IP.Board.
Do you consider these to be finished products or works in progress?
There are three other areas forum owners are very concerned about - security, spamming, and SEO (search engine optimization).
We realized a long time ago that there was a demand for an integrated blog and gallery. It was something that was a bit of a no-brainer. Remco has done a wonderful job with the blog and it's a very popular addition. The gallery has been around for a while and it's something that I like to make use of myself. They both give a little more depth and character to the community.
I don't really consider any of our products to be a definitive version. Naturally, when we release them we feel that we have taken them as far as we can for that point release or timeframe but we know there is more to squeeze from them. I don't think that anyone considers anything on the web to be 'finished'. It's more of an organic process.
What other features are you looking at for future versions of the Community Suite?
The community suite is something that will come under a little revision when we get to IP.Board 3.0 in terms of how they are integrated and presented. Currently they're treated like component limbs from the main product and we want to have them a little closer than that. The individual products will themselves will continue to be developed inline with our customers' feedback.
The social networking feature was a big thing for IP.Board 2.2.0. We are really pleased with how it turned out and how popular it is. I think as forum software develops, it will become more user-centric than content-centric. By that I mean that rather than user profiles being an afterthought, they will be the base of the community and the content an extension of that. In other words, the user will be just as important as her words. What we have now is just a first step.
Obviously, the competition is moving into this area as well. Worried?
Competition is always a good thing. I'm pleased that other companies have seen the value of social networking and expanding the community beyond simple forums and topics. Of course, it's very tempting to blindly grab at the social networking / Web 2.0 bandwagon as it passes through and we're very careful not to do that.
How much of your development efforts are aimed at maintaining security for the users of your software products?
IP.Nexus appears to be a huge step forward into the world of business and enterprise level software. From the demo, it looks like you could run all of Microsoft from that control panel.
Security is paramount. Everything we do has security in mind. When I designed the IP.Converge XML-RPC spec I wanted a two-stage security system. The first was an API key that must be passed in every transaction and a fall-back server IP address check. I wrote an initial handshake system to automate this process so it could be re-used in our other applications and it has proved to be successful. We also take advantage of the HttpOnly cookies for IE and I designed a little 'hack' for Firefox to make it more difficult to steal cookies. I think you have to have a tiered approach to security. You need to think about what would happen if your fortress was compromised. We work very closely with established 'white' hacking groups so ensure we get advanced notification of anything they find. Finally, we have an independent security freelancer who gives all our software an audit before it's released. These approaches have seen a huge improvement in security for IP.Board.
Are there any anti-spam functions built into the Community Suite, or being considered for future versions?
Isn't spam annoying? My email spam is so bizarre. It's just a collection of random words or often a collection of random letters which makes no sense. Thankfully, it's not such a huge problem for forums. We have a solid CAPTCHA system in place for the registration form which is totally customizable. There are instances where companies pay humans to sign up and spam. It's quite hard to write a piece of code to stop this so we suggest that administrators make use of the member group permissions to set up a basic member group which is promoted to a more relaxed group after X amount of posts. This way you can ban or suspend these spammers right away before they make themselves too much of a nuisance. We have made enquiries with some vendors of spam control software about incorporating them into IP.Board either directly or via an API but nothing has been confirmed at the time of writing.
What's your take on forum SEO, and is it a concern while developing these products?
SEO is an interesting industry. In my experience the major search engines spider a default IP.Board very well without any help. I think too much focus is put on having 'friendly' links and such when it's not always required. If your templates are well coded and you have good content, it'll be spidered perfectly well regardless of the URL. We like to give the search engines a healthy push by ensuring they don't receive a session ID in the URL and we have the "Lo-Fi" version which these search engines favour.
I do find it ironic that a lot of effort is put into pretending that you're reading a static HTML page when the web is almost entirely dynamic now -- and I'm sure Google realize this.
IP.Nexus is definitely a step forward for us. Not only in terms of market capture but also in terms of organization and methodology.
What can we expect from Invision in the future?
Does this mean you're moving away from your hobbyist/enthusiast level clientele?
We're definitely not looking to move away from our current line of work. We identified a gap in the market for IP.Nexus a little while ago and have moved into that area with the community suite. IP.Nexus will firmly put us there. We have the staff and infrastructure to deal with the extra demand and this has been our goal for many years now.
Enterprise level applications demand extreme levels of security and scalability. What are the special challanges involved, and how much do you enjoy working on them compared with previous projects?
I've really enjoyed working on IP.Nexus because I've proved to myself that I can do more than re-write forum systems over and over again. It's also a chance to take everything I've learned in the past decade and put it to use. Working with Josh is a pleasurable experience, also. He's a very capable programmer with a good eye for the more niche areas of web development. This has been our first true collaborative work and it's a joy to work on. Once we got past overwriting each other's SVN commits.
In terms of challenges; some of the biggest brands in the world use IP.Board so we've already had a taste for running in an enterprise environment. Security is, as always, at the top of the list and we've taken what we've learned from IP.Board and incorporated it into IP.Nexus. In terms of scalability, I think IP.Board is more challenging in that you have to cater for many users on a very small resource footprint. Having said that, the CMS components within IP.Nexus was put to the test on a huge website with thousands of hourly views and we designed a static cache system that worked very well.
The biggest hurdle we faced was the interface. We had several mock-ups but nothing really worked until we got Rikki on board. We wanted the interface to reflect the fact that the main product is a framework of separate applications. We had used tabs successfully in the IP.Board 2.1 ACP to good effect but this system didn't fit in well with IP.Nexus. Rikki came back with the idea of having a "Launch" menu that keeps each application inside its own tab and it was developed from there. It's a cutting edge interface and contains some very advanced client-side code work which has been "fun" debugging across all the major browsers. It has all the tricks-de-jour including ajax, JSON and drag 'n' drop. We're very happy with the end result and we feel that it makes a "richer" experience.
Businesses often require deployment and customization of their software solutions, managed services, VPN's and private extranet setups, and training of personnel? Will these services be available from IPS?
IP.Nexus is the first of many business services. We already have hosting to offer fully managed services and the other items you mention have been discussed. We're still in the very early days but we've got a lot to research before we make any hard decisions on the final list of services we'll offer. We've already debated running seminars and training sessions at our US headquarters.
IP.Nexus, obviously. This is our "big thing" on the horizon. Other than that, more of the same - just improved! Once we have IP.Nexus in the beta process, we'll finalize our IP.Board 3.0 plans and begin work on that.
I saw your recent announcement that you and Debbie are expecting! Congratulatons to both of you! What are your thoughts on parenthood? Are you ready for it? Do you have any names picked out?
Thank you! I could ramble on forever about this subject, so I'll try and keep it brief.
Are you taking good care of Debbie? Have the cravings started yet?
We're both very, very happy and we can't wait. Our due date is March 10th, 8 days after my birthday and it can't come soon enough. I don't think you ever truly appreciate what a beautiful thing it is until you've experienced it for yourself.
We've been through a bit of worry during the earlier stages, but thankfully it seems to have settled down a little now. Rather than risk boring your readers, I can link you to our blogs which have chronicled the experience to date for interested parties: http://dtbe.wordpress.com and http://mummy2be.wordpress.com/ no prizes for guessing which one is Debbie's blog.
We do have a few ideas for names, but we're going to keep them a secret. Rumours that we've chosen "Rasmus" if it's a boy are unfounded! We really don't mind if it's a boy or a girl and we have decided to keep that a surprise too. We have the option of finding out the sex, but we don't want to know. So we'll be buying lots of white and yellow baby clothes!
Of course I am! I am on first name terms with the vacuum cleaner and the washing machine. Seriously though, I'm making sure I take care of her. She's not had any real cravings yet. She often feels nauseous and very tired in the evenings along with all the usual pregnancy aches and pains. It's a pretty rough deal by all accounts. She's a strong independent woman and doesn't let it get her down and she hates being told to rest.
Tell us some more stuff about yourself that we don't already know.
I'm really not that interesting. I still read a lot. Recent favourites include Margaret Atwood's "Oryx and Crake" and Cormac McCarthy's "The Road" which I loved. Music is a big part of my life. I spend most of the day with headphones on. Favourite bands include Radiohead, Sigur Ros, M83, Mogwai and Athlete. I'm still a keen fitness fanatic and spend around eight hours a week working out. You only get one shot at life and you owe it to yourself to give your body the best chance it has at going the distance. That's the end of the sermon. Thank you for listening.
So... what else is new?
Our refrigerator. It's silver. We're very pleased with it.