ExpressionEngine 2 Week: Interview with Rick Ellis
Over the past week, we’ve heard a lot about ExpressionEngine 2.0, CodeIgniter and how important the community has been in all of the success of EllisLab and its products. For the final day of ExpressionEngine 2 Week, we bring you an interview with EllisLab founder and CEO Rick Ellis. I asked Rick some big picture questions about the products and the company.
EllisLab has had several major milestones in its 7 years as a company. First, of course, was the release of pMachine in 2002. In 2004 ExpressionEngine was released. CodeIgniter followed in 2006. And now, we have the upcoming switch to EE 2.0, which is built on top of your CodeIgniter PHP framework. Throughout these milestones, what has been your broad vision for EllisLab (and pMachine) and its products?
I can’t claim anything resembling a broad vision early on, beyond being inspired by first generation blogging tools (GreyMatter and Blogger) to develop my own publishing application. I had no idea at the time whether blogging itself would gain popularity or remain niche, but I did believe that we were at the threshold of a personal publishing revolution. To the extent that I had a vision it was to stake my claim in that space before it got too crowded.
After I released pMachine, things got so busy that I had little time to contemplate much beyond the next release. ExpressionEngine grew literally out of my frustration with the architectural decisions I had made for pMachine prior to having much experience in this realm. I was applying way too much duct tape to the code in order to satisfy user requests, so it seemed more prudent to build a better foundation in order to keep my users happy and keep us relevant.
CodeIgniter was a way for me to take a break from ExpressionEngine code. Initially it was little more than a diversion, although I soon came to see it as a viable application that would benefit the programming community and help us leverage the benefits of open source. Ruby on Rails was all the buzz, so I surveyed PHP frameworks and found the state of affairs quite poor. Since ExpressionEngine contained all the elements of a framework, I decided to abstract out the libraries and put them into an MVC structure. Later, I realized that maintaining two sets of similar libraries made no sense, and it would sure benefit both the CI and EE communities to build a bridge between them, so we decided to move EE onto CI.
Whether any of that qualifies as “broad vision” I don’t know.
One of the many reasons people like developing websites with ExpressionEngine is because it’s a real CMS, not a blogging tool that tries to act like a CMS. This is further emphasized in EE 2.0, with the removal of the word “weblog” from the Control Panel and EE tags. Where does EE go from here? Can you share some of your short and long term plans for EE 2.0 and beyond?
In terms of our short-term plans, over the next year our focus is on refining 2.0 and adding capability that we were unable to for the initial release, with particular emphasis on performance, stability, and scalability. The 2.0 release is primarily a platform change, similar metaphorically to Apple’s move from OS9 to OSX. The incremental releases over the upcoming year will take the platform to the next level. I can’t project too much farther out than that right now.
EE isn’t just used for personal or small business sites. Some large companies and organizations use it to power their websites. Are there any plans for an enterprise level ExpressionEngine product? Has any thought been given to a premium support service for enterprise clients?
Yes. And yes. We’ve given a lot of thought to the development of an enterprise version, a topic driven by the increasingly large and highly trafficked sites our users are creating. What has prevented us from moving more quickly on that front has been our need to first finish the platform changes we’re in the midst of. It’s a hot topic for us, though, so I’d like to see something concrete emerge in 2010. As far as enterprise support, we are currently developing a number of new support options and scenarios. Some of those will be announced when 2.0 is released.
Let’s focus for a moment on CodeIgniter. A vibrant community of developers has grown around it. Now that EE 2.0 is built on CI, how does that impact CodeIgniter’s development? What are EllisLab’s plans for it?
It should impact CodeIgniter’s development very positively. CodeIgniter, as an open source product, has always taken a backseat to ExpressionEngine development. Having ExpressionEngine run on CodeIgniter will drive its development concurrently with EE. It’s a win-win for both communities. ExpressionEngine users will benefit from a huge pool of smart developers, and CodeIgniter will benefit from having a commercial CMS and a strong development commitment from EllisLab.
While the company is named after you, there is a dedicated team that helps code and support ExpressionEngine. A lot of these team members came right from the community. How important has it been to the success of ExpressionEngine, CodeIgniter and EllisLab to grow the company with people right from the community?
Critically important. The great advantage is that it allows us to build relationships long before we might even consider someone for a position. Conversely, community members are able to build expertise with our applications, inculcate themselves into our culture (perhaps the most critical component), and create relationships with other users before applying those skills with us. It makes for seamless integration. I can’t imagine doing it any other way
Finally, where do you see EllisLab in 1, 5 and 10 years from now?
The big shift for us is that we are no longer a startup. We’re an established company (albeit a small one) with a solid customer base. It makes sense, therefore, to find areas of unmet need within our community and develop new applications and services to meet them, as well as being a conduit that brings people together to help meet each other’s needs.
Over the past year we’ve restructured some of our internal systems in order to scale our development and overall operation better, and ultimately, to be able to run multiple development teams. Long term our goal is to be a multi-product company with several successful applications and services, so much of our work this year was with that goal in mind.