Ryan Thompson from PyroCMS: "It's all about principles"

Another interesting interview! Some of you may have heard about PyroCMS - one of the best Laravel-based systems on the market. So I decided to talk to its creator Ryan Thompson and ask about the history of Pyro, the future plans and the vision behind the project. And here's a long but interesting interview with insights from the man himself. Have fun reading!
Let’s dive into PyroCMS first. It’s one of the most popular Laravel CMS on the market, and it has quite an interesting history: switching from CodeIgniter to Laravel. Could you tell more about it? What was the thought behind the switch, and why you didn’t create a new CMS instead of keeping the name? PyroCMS has been around since 2009! Phil Sturgeon originally wrote it with CodeIgniter as a personal project and open sourced it. I think it's mantra "The CMS Built for Everyone" took it forward from there quickly. It was based on a popular framework for developers, had a nice feature set, and a simple control panel for end users. Years ago Phil saw the tea leaves so-to-speak and called the rapid decline of CodeIgniter as well as the rise of Laravel. He tends to get flack for shouting about stuff like this but he's very often right. So he set in place the plan to slowly migrate away from CodeIgniter and towards Laravel (version 4 if I recall). The migration which started with the v2.3 branch was a hellish nightmare. It was like sewing a beautiful human body torso to a horses ass with one leg. Just a mess. Before too long the branch died. At the time I was, dare I say, the most prominent addon developer and was making pretty good money. I used the system differently than most because of how I was introduced to it. I was introduced to PyroCMS through interest in the Streams API which was originally brought to the table by Adam Fairholm and in it's infancy. I liked the idea of abstracting the building process things into fields, field types, streams, and field assignments. Streams is kind of like Legos. Instead of building your own bricks, picking your material, shape, size.. You have a set of proven and time tested components to build with. Anyways, I had my golden eggs (the addons I sold) but the goose was dying slowly. I started brainstorming what I was going to do! I was recently married and starting a family so I was on the lookout for cash and opportunity! I went to Laracon in 2014 and afterward I met up with the third core team member Jerel Unruh. I expressed my concerns and mentioned I was considering creating my own CMS based entirely on the concept of Streams and built from the ground up on Laravel. It turned out that both of us agreed on saving PyroCMS. We cared far too much about the community, the history, and maintaining the project's vision going forward to trash it. PyroCMS had been invested on by tens of thousands of people and the community loved it's CMS. Besides, there was value in the company and it's community. There was value in keeping it alive and bringing it to new heights. It just needed a restart. After talking it over with Phil (Adam had branched off to pursue IMVDB.com by then) it was decided I would lead the company and community forward and they would check-out safely knowing the project was in good hands to pursue their interests. So the company changed hands and I started writing PyroCMS v3 from scratch. A couple years later - the community is quickly growing and healthy again and the project has already been used in projects larger and more sophisticated than any v2 project. The stuff people have made already with v3 already is just nuts. It's been a 100% effective restart while retaining much of our following, our history, project interest, and much of our vision (though it has evolved a bit). We are to this day, more than ever, "The CMS Built for Everyone". The community is more important to me than ever and I am thrilled where we're at right now. We're just getting started (again)!
What are the impressions from the community about new PyroCMS 3? Are you satisfied with the results? Like I mentioned above, PyroCMS v3 has already seen larger, more intense, and more expensive projects than I ever saw on v2. People were making things with it long before there was even documentation. Considering how new it is I think that speaks wonders of it's capabilities and ease of entrance for newbies. After the first alpha dropped about a year ago some of the die hard CodeIgniter guys, many I knew, kind of woke up to what was happening and split to pursue other CI projects. I saw that coming but it still hurt a little bit. I had seen CI developers come up through the development of v3 and relearn things, better things, and come out on top as a far better developer. I wish that for everyone but it of course wasn't realistic. When everyone started using Alpha1 though (in blind faith mind you, no docs yet) they just went crazy for it. It's a purebred Laravel CMS, what's not to love? Since v3 was released there are a number of agencies who've adopted it exclusively. They don't need anything else for apps, sites, etc. I've watched less matured developers hone skills through PyroCMS and then there are the rest of the 1200 monthly downloads I don't know about but only see statistics for. I feel really good about it's impact on new and existing pyromaniacs and am very much looking forward to the future as other pieces of the puzzle are completed like the store, finishing docs, video tutorials, and more tools for the community to find work, hone their skills, and be overall happier developers.
Could you give any examples of websites/projects built on Pyro? Any particular one you’re proud of? Part of how I funded myself in building v3 was using it in early form on big projects and getting paid for developing the system for their use. At this time in my career most of what I saw was large complicated stuff. Not your typical CMS work - more along the lines of what would typically be framework work. One of my goals during the early stages though was to build for everyone and keep the system super versatile. I had to vastly improve development for developers like me who build complex web applications, web developers who pound out websites with their teams, and everyone in between. One of the first projects I used PyroCMS for was back on Alpha2 if I recall. It was an analytics dashboard for an automotive marketing company that aggregated information from Facebook, Twitter, Google+, and email and website conversions for the largest BMW dealerships on the west coast. Not only was it not your typical CMS project it was required to integrate seamlessly with an existing Laravel 4 application. So it had addons that used different databases / streams that were tied to original non-stream tables and it had to carry authentication through from the original app. Aside from its primary goal which was to aggregate 1000s of points of data from all over the place! It was a pretty bad ass project and it taught me a lot. Personally my favorite project I played a very small part in. My good friend Ryan McDaniels built en entire sales ecosystem for a large multinational franchise operation and their 600+ franchise locations. The project was a powerhouse CMS project AND a custom application on all kinds of levels and for over 600 businesses across the states. He did it with a single installation of PyroCMS. After launch it created over 200 qualified leads for franchises in the first hour! The feedback from it helped shape some of Pyro's core intricacies from Beta2 to its final release and I am super grateful to have been a part of it! Dude rocked it. Pyro rocked it. It was very cool and so far my favorite.
Is there any business model behind Pyro? Or is it more like a tool for yourself and the community to build projects more effectively, therefore saving time and earning more money this way? First and foremost PyroCMS operates on a set of principles. They were easier to establish in the codebase but led to an outstanding product. The business principles I am still working on publishing. But its general purpose begins with assisting everyone in the community in building more awesome things for the web and being more effective and happier in their work. But there is most certainly a business side of things that I will be rolling out soon starting with an addon store. My focus is on cultivating abundance for the community and the company both and again helping people be more effective and happy professionally. I want people to learn and grow too. PyroCMS will be by their side the whole time helping them do that.
Official website lists 4 people on the team - are they all still active, or is it “your child” at the moment? The old CodeIgniter site has not been altered since the changes started taking place a couple years ago. It's basically an archive. I am currently the only developer and owner of the company. Though I do lean on a few integral community members on a regular basis. Feedback from community is also huge and I take it seriously. So while 99.999% of the commits are from me - there are a good number of brains behind some of the decisions (especially more recently).
What do you do besides running Pyro? Your LinkedIn profile says you’re a President/CEO of two companies - are they for web-development? LOL.. I should update that. At one time I was running two other companies but I've kept things a little closer to my chest recently. These days I am a strategic partner for a company called Terrostar where I bring my experience and expertise to their business and development process. We use PyroCMS there day and in and day out. They even designed the control panel back in Beta3 which has been a huge hit. The partnership there is super synergistic and I really love it.
Laravel community is growing stronger and stronger - what do you think about this phenomenon? What is the “secret” of this framework? I am a firm believer in changeless principles. Be it your character or your code. Principles rule the outcome. I feel like Laravel and Laracasts brought these principles from other more sophisticated languages to PHP for the masses. Right away Laravel cultivated this coolness to being an artisan. And the framework was super easy to get into. It was consistent and flexible and had an amazing Foundation (Laravel pun?). So now all these people are learning about SOLID and DRY principles and using a framework that makes it easy and it was hip to boot. Add Laracasts to the mix and forget about it. Again an attractive presence that cultivated know-how and standards based skill. It complimented Laravel perfectly sure but it is the same as Laravel in principle by and large. PyroCMS has a similar standpoint. Its foundation is obsessively rooted in principles and the business model will follow suite too.
Finally, any general advice for developers still trying to choose the main platform to work on? PHP vs Python? Laravel vs Symfony? PyroCMS vs OctoberCMS? How do you actually choose between all those names and keywords? You know, I have to start with principles again. Not just is this code DRY or whatever but is this project rooted in principles? Cause if it's not it will wander as will you later on. How does the project do things? Is it consistent? What kind of core values can you pull out of this project? Get to know the culture of the people involved in the project. And really this goes for anywhere in your career - get involved. I remember with Pyro the community was so welcoming and really lured me out of the shadows. I grew so fast after getting involved in the project. I was a loner before then with little future to be honest. The community changed me. Coincidently this is my hopes for the PyroCMS community. Get involved. Then I suppose it's important to determine what you need to do. Does the project or language support what you want to do? I am only proficient in PHP so I can not speak much for other languages. But the thing is, I have no interest in it. I don't need it. I feel like I can do anything I will run into not only with PHP but with Pyro. I'm 100% self taught and have prospered in the industry with PHP and I am certainly not the only one. I feel like that would be a very alluring thing to someone trying to get started. So I guess if you ask me... PHP all the way! Cause then you get to use PyroCMS + Laravel :-P
I thank Ryan for interesting conversation and for the deep insights - I guess not all of the readers will even reach the end of this long article! If you want to follow Ryan online elsewhere, here are the links: Anything you have to add about PyroCMS or Ryan's philosophy? Use the comments section!

No comments or questions yet...

Like our articles?

Become a Premium Member for $129/year or $29/month
What else you will get:
  • 68 courses (1188 lessons, total 43 h 18 min)
  • 90 long-form tutorials (one new every week)
  • access to project repositories
  • access to private Discord

Recent New Courses