07 April 2019
It's a great pleasure and privilege to feature ProcessWire's Ryan Cramer as the first interviewee for the PW Review.
PW Review: How do you determine what code or process most needs your attention?
Ryan Cramer: I don't really determine anything per se, but just go with the flow. When I sit at the computer early in the morning, there's already an intention there to do this or that, and so whatever the strongest intention is, that's where the attention naturally goes. If there is something pressing (like some bug that needs to be fixed), that of course gets the focus. Otherwise, attention goes to where it seems the most difference can be made or the most can be learned.
PW Review: What part of your overall coding work do you appreciate the most, and why?
Ryan Cramer: I appreciate all of the coding work pretty much equally. I've been really enjoying working through the issues repository lately. Some people think that would be less enjoyable to be doing this than to be coming up with something new, but I enjoy this process every bit as much as coming up with new stuff (perhaps more) because it's about solving mysteries, and I really like that.
PW Review: Which of your Commercial Modules are you most appreciative of, and why?
Ryan Cramer: It really depends on the project. Outside of that, ProCache has long been a favorite module just because web optimization is one of my favorite topics, and ProCache makes huge difference for very little work on the users part. FormBuilder is another favorite, as it's one I use on every PW installation I have and it saves me so much time compared to when I used to develop forms from scratch. It takes what used to be a pain and makes it into something fun. When it comes to larger installations, I appreciate ProFields because it really simplifies the field selection for accommodating various needs, and lets me accomplish a better result and with far fewer fields. I've been working on ProMailer a lot lately and this is quickly becoming a new favorite as well because I'm getting to use and enjoy it every week, and it seems like a lot of other people are enjoying it too. When it comes down to it, all the modules I've built over the years (whether Pro or not) have originally come from a need arising with my own work, and I like working with them all when the needs arise in a given client project.
The non-pro modules I've built that I use the most are ProcessDatabaseBackups, HannaCode and TfaTotp. The 3rd party modules I use the most are TracyDebugger and the WireMail modules (especially WireMailMailgun lately).
PW Review: Which of the existing Commercial Modules are you looking to significantly revamp or enhance in the near term?
Ryan Cramer: All are actually in active development and have development versions currently in progress. I usually release a new version once it seems like there's enough there to warrant a new version, or there's some bug that needs to be fixed.
PW Review: What ProcessWire related topic or technology challenges you the most?
Ryan Cramer: With a software like this, there's always a challenge in finding the balance between maintaining the best consistency/reliability and having the latest/greatest of something, but I find that to be a fun challenge. I also sometimes find shifting gears between writing code and writing words (like in an email) to be a challenge, so I tend to delegate days to coding and days to communicating, when there's enough ground to cover. If I don't do that, I find I have difficulty focusing or giving full attention one or the other. It means I'm sometimes slower with communications, but also much more focused and useful in those communications (or code) than if I was constantly trying to switch between the two.
PW Review: How do you keep yourself properly focused and avoid getting burned out?
Ryan Cramer: I have two kids, they are amazing and they pleasantly take up a lot of my time, so time at the computer is naturally limited by that—it would be hard to get burnt out. The ProcessWire community is also amazing and helps out a lot in this regard, because it's become a project where the community drives most of it. We are all good friends in the PW community, and these friendships make everything great. I also know many people depend on this project and trust it to be the best and most reliable—that motivates and focuses me for the long term.
Something else that I know is important is ensuring that ProcessWire does not completely take over my day job, and instead continues to be the tool I use in development of client projects. I'm a ProcessWire user like everyone else in the community (and actually, all of my work whether PW core or client work, uses PW). I look at the software through the lens of a tool I take to work, and not through the lens of some business or popularity interest. Because I develop it as a tool to use in my work—one that is pure fun— and as a tool that saves me and my clients lots of time, I feel that makes it something different very from the other CMS projects out there.
I'm much more interested in what makes ProcessWire the best tool than I am in what makes it the most popular or most attractive newbies, etc. That has been the goal since the beginning, and it remains. Popularity has never driven me in anything, and if my focus was on popularity or some business interest, rather than being the best tool in its class, I could lose interest. So I'm careful to stay focused and trust my gut. It's a different path than other projects might take, but it's also a path that means it's here for the long term. My experience so far has been that it leads to good discernment about what's actually important in the software, better focus on long term, and better ability not to be derailed. In this manner, staying true to the original goals of the project and trusting intuition over words keeps me focused and prevents me from getting burnt out. I've been developing ProcessWire since 2006 (and its predecessor since 2003) and my enthusiasm continues to grow every single day. When I've spent 16 years on this project, and it's even more interesting and engaging than when it started, I know this is a lifetime project that I will always be working on.