Cloudways is very honored to interview the founder of ProcessWire, Ryan Cramer. He is the man who is behind the success of ProcessWire. His sleepless nights have made ProcessWire one of the best CMS in the world. He has shared his life time struggle. Ryan has talked about the upcoming release of ProcessWire, his views about PHP community, PHP frameworks and the very competitive Ecommerce Industry.
Cloudways: You are the founder and lead programmer of ProcessWire, a Best CMS 2013 award winning platform. How do you feel being part of it?
Ryan: Really great! ProcessWire started as just a software, but now it’s a community of skilled and enthusiastic developers and designers. We are always learning from each other. I feel very lucky to be a part of this community.
Cloudways: Tell us about your journey, how did you start your career? How did you land into this field? What was the inspiration behind it?
Ryan: I started in the early 1990s coding applications for BBSs in C++ and Turbo Pascal (primarily for Wildcat BBSs, if anyone remembers them). Years later, I went on to college at GMU studying computer science, followed by JMU studying media arts and design.
I started my post college career as a designer at a company called Grafik, but spent my nights and weekends developing sites and coding custom CMSs. After a few years of this, I wanted to venture out on my own so that I could do both design and development full time, and that’s what I’ve been doing since, for nearly 15 years. While my business started out as 50/50 design and development, it slowly moved to nearly 100% development.
Soon after opening for business in the early 2000s, I built a CMS called Dictator CMS. Rather than custom building CMSs for clients, the focus was on implementing Dictator CMS for them. Around 2005 or so, I got interested in open source. This was after attending SXSW and hearing a very inspiring speech about open source by a [then] kid named Matt Mullenweg. I decided that I wanted Dictator to be open source, but that it needed to be rewritten to be more API centric. What followed was ProcessWire 1.0. But clients kept me busy, and the open source dream got left behind.
Fast forward to early 2010, my first daughter was born and it also felt like it was time to give ProcessWire a new beginning. But with more experience under my belt, to make a difference I thought that that an open source ProcessWire needed to go “all-in” on the plugin architecture and API, being completely built around it (as a CMF) before there was even a CMS part of it. It needed to be completely different than anything else out there.
More specifically, it needed to be like a server-side jQuery, with an API that is powerful and simple, but completely isolated from any visual interface. Any interface could just be another site or plugin/module built within the framework. That became ProcessWire 2.0, and it was initially released in October, 2010.
Since that time we’ve released 7 major versions and hundreds of minor versions. In fact, we release a new version almost every single week. Our focus now is on ProcessWire 3.0, which many users are already using even though it is in development. Its now been 10 years since ProcessWire 1.0, and more than 13 years since Dictator CMS 1.0. Time flies.
Cloudways: In an interview, you once said that you were keen on getting involved in open source since the early days. Tell us what other open source platforms you liked to use?
Ryan: I wish I could say I had significant experience with other systems. I don’t really. One of the problems with building your own systems for so long is that you become very opinionated about the way you want things to work. I didn’t go into coding PW1 and PW2 lightly– I thought things would be a whole lot easier if I could join another project.
I tried a lot of systems, pretty much all that there are (or were). But whether within the first minute, first hour, first day, or first week, I’d arrive at a “no way” moment, the point of no return. It’s that point where you realize any further time investment is going to be a waste of time, because there’s no way you are going to use that system.
Examples of “no way” moments are when you grasp “the loop” in WordPress. Or when you discover the scale at which your markup will be fragmented across so many files in Drupal… if you can find them. Or the moment you install Joomla (kidding!). Everyone is looking for something different, and I just couldn’t find it.
To be fair, I really admired Drupal because of the community behind it and how passionate they were about the system. It made me think that I must really be missing something and that I needed to look past my “no way” moments with Drupal. So I did.
I spent a significant amount of time developing in Drupal before deciding to build PW2. I got to know the system quite well, building and maintaining a large membership and online store for a client. I learned how to build Drupal modules, how the theming system works and how to generally get anything done that I needed to get done. I did this for quite some time. The trouble is that there was nothing I enjoyed about any of it, after the learning process. After the enjoyment of learning new things, there was no fun left, just pain… relative to how it could be. As a web developer, I have to work with CMSs all day, and I wanted to enjoy my work. ProcessWire had to move forward as an open source project.
What I did realize however was that ProcessWire needed to have passionate users like Drupal does. There was always that sense from Drupal users that they had obtained some kind of enlightenment and that Drupal was their secret. There was also a trustworthiness about them, as you knew they were at the top of their game and knew what they were talking about. Shifting to today, I think ProcessWire’s users have surpassed this, and I’m very proud of our community, which I consider to be the best part of ProcessWire.
Cloudways: ProcessWire is one of the oldest content management systems. In 2016, we have very popular content management systems, especially in the Ecommerce industry. How do you see the future of ProcessWire? How are developers updating the system to compete with the market?
Ryan: While ProcessWire is perhaps one of the oldest in terms of its history, it’s still a relative under-the-radar newcomer as an open source project. Since ProcessWire 2 doesn’t share code with ProcessWire 1, it’s also still a relatively young code base. So we sit in that unusual spot of being around at the advent of CMSs, yet most still see us as a relatively new project. I think it’s a good spot to be in.
The emphasis of ProcessWire’s core isn’t on specific types of sites (like e-commerce). Rather, it’s to be a framework for any kind of site or online application. So our tools are focused on what applies to the big picture, much in the same way as jQuery applies to the big picture of front-end web development. You won’t find e-commerce specific tools in ProcessWire any more than you will find them in jQuery. Though you can find jQuery-specific plugins related to e-commerce, much in the same way you will find e-commerce specific modules for ProcessWire.
ProcessWire is not “competing with the market”, so much as it is competing with itself. I don’t really pay attention to what other CMSs are doing (and haven’t since PW2 was released more than 5 years ago). Instead I focus just on how we can improve, what we can do better, what we can make faster, and how we can ensure our users always associate using ProcessWire with joy.
The way I see it, all of us developing products in the non-big-3 (DrumlaPress) CMS space are working on the same team and towards of same goal of diversifying the CMS marketplace.
Cloudways: In the early days, what challenges did you face in launching ProcessWire? Who were the people you would like to mention, with whom you worked hard day and night to make Process Wire what it is today?
Ryan: I think the challenges are probably the same as those of other open source developers. You don’t get paid to develop open source software, and it takes a lot of time to develop and support. So you have to find ways to balance that with running a business and keeping food on the table, etc. I had to drop most of the design side of my business, and cut my income in half, but that let me shift most of my focus to ProcessWire. I don’t see it as a sacrifice, open source makes me enjoy work and participate in a great community. I wouldn’t change a thing.
There are so many people that have been instrumental to ProcessWire and if I started writing names I’d surely fill up this entire page and worry I’d forget someone. Certainly the most important has been ProcessWire’s community, which you can find here. They ARE ProcessWire. I would also like to mention that one of the first people to contact me after releasing ProcessWire in 2010 was Antti Peisa. Both he and the company he works for (Avoine) have been key in ProcessWire’s evolution. Avoine is the company that brought many great things to ProcessWire, like multi-language support, field dependencies, PageTable fields and so much more.
Cloudways: What are the projects you are engaged in these days in ProcessWire? Who else is contributing a lot in these projects?
Ryan: Currently we are developing ProcessWire 3.0, which is our next major version scheduled for release in Spring of 2016. This version has contributors that we’ll be highlighting with ProcessWire 3.0’s release. Every version of ProcessWire is a real collaborative effort, but 3.0 especially so.
Cloudways: How do you see the role of content management systems in the PHP Community? Would you like to mention people who you think are doing great in the PHP community?
Ryan: PHP and content management seem to go hand-in-hand, and the fact that WordPress powers more than 25% of the web speaks for itself. Having worked with PHP since the time when it was more “Personal Home Pages” than PHP, it’s been awesome to see PHP’s evolution.
I’m so focused on the ProcessWire side of things that I don’t get to follow the bigger PHP community very much. There are so many awesome people doing great things both for and with PHP. I hope to get to know more of them in the years ahead.
Cloudways: You once said in an interview that “ProcessWire itself is a great module platform from which to build Ecommerce modules” How do you see its compatibility to meet Ecommerce needs after 2 years?
Ryan: While I don’t know of that quote or context of it, I have a feeling I was using “e-commerce” as an example, and I think it’s completely correct. But you could substitute the term e-commerce with any number of others, as we’ve really tried to make our system be a great platform for modules in general.
But since you’ve mentioned e-commerce specifically, see PadLoper for an excellent example.
Cloudways: Which frameworks of PHP do you think are great for advanced development in 2016? Similarly, there are many PHP frameworks today. Which one do you recommend to PHP developers?
Ryan: I recommend ProcessWire. 🙂 For someone looking for a framework outside of the CMS/CMF context, I usually steer them towards Laravel.
Cloudways: Apart from your professional life, what are your activities and interests? What do you like to do in your leisure time?
Ryan: With a wife and two little kids, all my non-work time goes towards them and they are my main interest. I also enjoy cooking, R/C flying, architecture, and any kind of travel that involves boats or trains.
Cloudways: Have you ever used Cloudways? Cloudways is a managed hosting services platform which provides installation as one click app of cms’ like WordPress, Drupal, Joomla, Magento. It also provides PHP Cloud hosting services. What are your views about Cloudways?
Ryan: Perhaps you can add ProcessWire to that list? 🙂 I look forward to learning more about Cloudways. While I don’t yet have experience with Cloudways, my views towards the company are very positive, as it’s been very kind of you to take interest in ProcessWire, the PHP community, and for this interview – thank you!
Start Creating Web Apps on Managed Cloud Servers Now!
Easy Web App Deployment for Agencies, Developers and E-Commerce Industry