Interview with Chris D - XenForo Developer

By The Sandman, Jul 20, 2016 | |
Rating:
5/5,
  1. The Sandman
    We did our first Interview with Chris Deeming back in November 2013. Now almost 3 years later, he's still a fixture on XF.com but a lot has happened since then - he's up to 18,450+ posts, 18,300+ likes, 90+ resources, and... oh yeah, he became a XenForo Developer in November 2014. :einstein:

    Of course, it's no secret that the XenForo Team is hard at work readying XF 2.0 for prime time, so we're especially thankful to Chris for taking time out of his busy schedule to answer some questions for us. :tup:

    When doing an interview we try to find out about the admin related things a person is doing, but we also try to get a glimpse at the essence of the person as well. We don't always succeed, but in this case I think we hit a home run! :D

    Thanks Chris!

    ---------------------------------------------------------------------------------------------------------------------

    In your last interview you mentioned your wife and daughter - can you tell us a little bit more about your family? Pictures?


    My wife (Laura) and I bought our first home back in 2015. Prior to that me, her and our daughter (Lily) were living in rented accommodation, so it really was a relief to finally be able to invest in a property rather than effectively just lining someone else's pockets every month. It was certainly difficult getting ourselves into a position where we could comfortably afford it but thankfully we got to a point where we could afford something brand newly built and something a tad bigger than we need. A bit of leeway to expand our family in the future as our relatives keep reminding us :)

    When we last spoke, Lily was only just over a year old. She's now 4... going on 14 sometimes! She certainly likes to try and show us who the boss is. A lot of 4 year olds are soon to be starting school for the first time, but due to the way things work over here and when her birthday falls, she will actually not be starting school until she's nearly 5. She loves going to preschool, at the moment, but she only goes for two days a week.

    Laura is a part time beauty therapist at a popular health spa. As ever her and Lily are my rock and very understanding of my tendency to work long hours! Also, because I now work from home permanently, they're actually very considerate of my work schedule and careful not to distract me... too much ;)

    As of this year, Laura and I have been together for 10 years and we've been married for 5!

    Here's a photo of me and Lily being silly:
    ai.imgur.com_qDb6tck.jpg

    And another of me and Laura on our anniversary this year:
    ai.imgur.com_3MUWQLL.jpg


    Laura and Lily are awesome - you did tell us that in your first interview but now we can see why. How do you balance your work time with your personal time and what do you do for relaxation with the family?

    There's nothing we enjoy more than going out for a meal together as a family. Lily is so very well behaved when we go out. As long as she has a phone to watch videos on or some colouring pages and some crayons (and some nice food!) she's happy. Aside from that we'll generally do what Lily wants to do. Be that going swimming, or playing in the park, or going to a soft play place. She's generally the boss. She sometimes even lets us go shopping, as long as we buy her something... :)


    So obviously the biggest change since we last spoke is your joining of the XenForo Development Team back in November 2014. How did that come about?

    Yeah, this totally came out of the blue, but it was absolutely a very pleasant surprise.

    I woke up one morning to find a Conversation started with me by Ashley at XF.com. He wanted to have a quick voice chat with me on Skype. He said it's "just an idea" that they wanted to ask me about and it "all starts with a question". In the message he did say he wasn't meaning to be mysterious but certainly my mind was racing.

    I had wondered if I had broken any rules in some posts I'd made, or if someone had complained about me for some reason - none of these things were particularly logical things to worry about, of course! I don't make a habit of going around and upsetting people. Anyway, to cut a long story short, the question was "would you consider coming to work with us" and needless to say my answer was yes.

    I can't really begin to express how humbled I was, and how grateful I was to be given the opportunity to work with such a talented team of people on a product I already thought extremely highly of.

    It was a surprisingly easy decision considering it was a potentially big one. Bear in mind not 3 years prior I didn't even know the software, I never had any formal development experience or training. It was pretty much all new to me. My career prior to joining XF was primarily focused on server and network support, and rarely anything to do with web technologies. So, really, it was quite a departure for me to change path and commit to doing something which was essentially just a hobby as my full time permanent job.

    But, I certainly have no regrets.


    After joining the Team, how long did it take you to get up to "full speed" as a developer? Did you find anything in particular surprising about the nuts and bolts of XF development?

    I don't think it was a considerable amount of time. It was announced to everyone that I had joined the team and the release of XFMG just over a week after I actually started working for XF. Straight away the focus was on getting XFMG 1.0 ready for release and working out how to migrate existing licenses to the XF system. Then we did some XF upgrades the following week; so it was about two weeks before I actually started looking at XF 2.0 code. As is somewhat typical for me, and as you can probably imagine, I was excited to see the 2.0 code so I probably started looking at it in my own time one evening. I think the first thing I did was start to piece together some of the process of managing Notices in the Admin CP - this was a somewhat apt choice seeing as my first major XF add-on was somewhat similar to the default Notices system and it was partly the nuts and bolts of that which taught me some important concepts of XF development, so, several years on, it had a similar purpose for XF 2.0.

    In terms of being surprised, no, not really. I guess I tried not have many preconceptions about how it was going to pan out.


    Is working as a XenForo Developer what you expected it to be?

    Absolutely, and then some. I've thoroughly enjoyed every minute of it. I have a great deal of autonomy in terms of the bits I want to work on, while also being mentored by the best. I feel extremely blessed. I no longer dread the prospect of work on a Monday morning. And, of course, being able to work from home is of course a bonus.


    You mentioned the transition to working exclusively from home - is that all good (like shaving less often) or does that have it's own challenges?

    Some might say I didn't shave often enough as it was ;) But yeah, generally it's all good. As well as the fairly obvious benefits, such as not having to battle traffic in the morning, it does allow time to be a bit more flexible; if I start work later than usual one morning, it just means I can catch up later. I suppose that's true for most jobs, but for me the catching up happens on my laptop, in the evening, with my feet up :)

    It does have its own challenges, at times.It does require Laura and Lily to be understanding that, although I'm home, I'm working and I shouldn't really be disturbed. And, for the most part, because they're awesome, it works really well.

    This Oatmeal comic is not necessarily accurate, but amusing and relevant nontheless: http://theoatmeal.com/comics/working_home


    How closely do you work with Mike and Kier on the planning and coding, and how is the work divided up? How (and how often) do you communicate with them?

    Myself, Mike and Kier have our own private channel in our Slack team which we're logged into pretty much 24/7 where we plan and discuss various things. We therefore communicate with each other on a daily basis, pretty much all day. The way we work is pretty much equivalent to how it would be if we were physically in an office together; the only difference is we communicate primarily via instant message rather than speaking verbally.

    Our work is predominantly focused on XF2 and our to do list for this is stored in Trello. We assign cards in Trello to ourselves after we've decided what to work on next and often use Trello itself to discuss and plan aspects of that piece of work. It's a small team so it actually works really well for us.


    Would you consider 3 full time developers the "sweet spot" for XenForo development or is there a possibility of more in the future?

    I feel like it's working quite well. It sometimes feels like we need more people, I suppose, because of the sheer amount of work involved in essentially rewriting an existing product. That said, as we move away from 2.0.0 to focus on third and second point releases for 2.X maybe it will be enough. Certainly not my decision, though, so whether there will be more people in the future, that remains to be seen.


    Can you show us a picture of the space you do most of your work from?

    Well, it's not ever so fancy, but it works:

    upload_2016-7-20_17-2-58.png


    Excuse the mess (though some might say it's messier now!) this was taken over a year ago moments after I had finished the assembling the new desk, hence the power tools!


    You spend quite a lot of time posting/interacting on XF.com. You're very good at it and it seems to come quite naturally to you. I assume that's part of your job but is it something you enjoy as well?

    Thank you. I suppose it's not fundamentally a part of the job, though I guess dealing with bug reports is an important aspect. You have to bear in mind though, aside from bugs, that the type of interaction on the forum is not too far removed from what I was already doing before I became staff. So I'd say it's more-so something I enjoy doing than it being something I have to do.


    How has the XenForo Media Gallery fared as an official XenForo add-on, and what else is in store for it?

    XFMG has been really well received. It already had quite an established customer base prior to it becoming an official add-on and it remains to be popular. In terms of what's next, the best answer I can give so far is simple: XFMG 2.0. Of course our current priority is XF 2.0 so exactly what is next will be decided closer to the time. I suppose it's fair to say that XFMG and XFRM are somewhat shaping parts of XF 2.0. For example we know that the next versions of MG and RM will support custom fields (as they do already) so the custom fields system we've developed for XF 2.0 has kept that in consideration in terms of building a system that is easier to re-use in add-ons. Aside from that, we have no specific plans, yet, but of course we have a reasonable amount stuff to consider based on the current array of Suggestions.


    What was your initial reaction the first time you saw XF 2.0 up and running?

    Well, the first time I actually saw XF 2.0 running it was somewhat underwhelming, but you have to bear in mind this was nearly 2 years ago! But this was merely aesthetics and the fact that a large portion of the features were missing.

    My initial reaction when I saw the code base, however, and got a feel for the direction it was going and the new concepts and how it would improve our lives as developers was one of excitement. The journey to XF 2.0 is of course daunting for add-on developers but, really, there's a lot to be excited about.


    How much of your time is currently spent on XenForo 2.0?

    Effectively, all of it. We do of course have responsibilities outside of XF 2.0, such as maintaining XF 1.5.X, answering tickets and being present on the forums. But by comparison to XF 2.0 the amount spent on some of these things is negligible. And, aside from the initial development of XF 1.5, it always has been.


    It's been said that XF 2.0 is meant to have "feature parity" with the current 1.5.X line - is that an absolute or might we end up seeing some additions and/or subtractions to the featureset with 2.0?

    I think there's been a slight misconception that stems from the following sentence: "Our first and foremost goal is to reach rough feature parity". This doesn't mean to say that's all we're doing; this was just the current target at the time. There are certainly some additions that we've already added, and likely more to be added by the time we're finished. There's one or two casualties, too, but by no means are they significant. I suppose as a specific example, we've removed the "Test Permissions" feature because people often misunderstood how it was supposed to work, and it was later superseded by the "Analyze Permissions" feature which is basically much clearer, and easier to use. We'll certainly be adding more than we're taking away. A few examples which you're probably already aware of are a navigation manager and a payment framework for purchasable items.


    Out of the box, what will the big differences be between XF 1.5.X and XF 2.0?

    It's certainly going to look different because we do want to give XF a fresh look after all this time. The XF 1.X style has served us well for 6 years or so now and really this is an extremely long time in terms of web development so it's time for something new. But, at the same time, it should look familiar with some new bells and whistles to boot. The thing is, generally the style is something that is the last thing to finalise, so it makes it difficult to show you what we've been working on until that's finished.


    Realistically, how much work will be involved in porting XF 1.5.X add-ons to XF 2.0? Of course it will depend on the size/complexity of the add-on, the coder and the way it was coded - but in general do you think the add-on conversions will proceed apace or are you expecting major issues/delays?

    A lot of the development concepts in XF 2.0, at their basic level, are very similar to XF 1.X. For example, there are still Controllers and these actually work in a very similar way. Although now part of the "Entity" system, the functionality of the DataWriter system still exists. A lot of the systems which are content agnostic such as alerts and likes still use the content type system. So, I think people will certainly be able to make clear comparisons to their experience in XF 1.X and be able to apply that to XF 2.X.

    Once you understand these similarities and familiarise yourself with some of the new concepts, developers are probably going to enjoy the process of porting their code, but even so, there's probably a few ways to approach this. The approach we have taken is to effectively re-write everything and ensure it exploits as many of our new concepts and ideologies in the new code base as possible. This does take time, but I would expect people to be able to find some shortcuts to expedite the process. We are hoping to produce more documentation than we did for XF 1.X and covering the general process of porting old code will probably be useful.


    Add-ons aside, will either the admin or end-user experience be significantly different between XF 1.5.X and XF 2.0?

    I think what we're aiming for is a familiar experience, so there won't really be a big learning curve, but with some enhancements so people really feel like we have made an improvement. We have implemented some suggestions related to existing features, too, so this should improve the overall experience. I wouldn't say we're aiming to change it significantly, however.


    How soon do you think we'll see the first XF 2.0 "Have You Seen...?" videos and/or the beta running on XF.com?

    Certainly prior to the Beta running at XF.com we will likely be installing an Alpha version up somewhere as a demo site that people can log in and try out to test and gather feedback. This alongside any usual pre-release stuff we release will likely be the first time people get to see XF 2.0.


    There doesn't seem to be any published "road map" for the XF featureset (which is probably for good reason). Are you guys following an "internal" roadmap or is it more fluid than that? Are there a lot of new features already planned for XF 2.1 and beyond?

    As I said earlier we do have a clear to do list which we are following, and this is primarily everything we need to get XF 2.0 out the door; and I can assure you it is a lot smaller than it was and getting smaller all the time :) But we do also have a couple of other lists which is basically stuff we have under consideration. Some of this may make it into 2.0, some of it may make it into 2.1. Certainly we have to get the balance right because any additional features we add into 2.0 will clearly mean it will take longer to develop it, test it and release it.


    Any chance we'll be seeing more official extensions to XF like the Media Gallery or Resource Manager? Or is the current thinking that this would be better left to 3rd party developers?

    We kind of have tunnel vision for XF 2.0 and the 2.0 version of the existing add-ons at the moment. Certainly one of the ideas of the new code base is to improve developer productivity, and I do think we have achieved that. This means that it's more viable than ever for us to work on additional XF based projects, and sure enough that means it's more viable than ever for 3rd parties to do the same.


    Clearly there won't be any mention of a release timeline given here, but are there any other "secret" tidbits you can let us in on? Not even a screenshot of the AdminCP Home Page, just to tide us over? :)

    We don't have anything at this time. You have to bear in mind my comments earlier, about the styling being one of the last aspects to be completed. It's certainly taking shape and beginning to look respectable, but it's not really at a point yet where we would be happy to show it off. We'll definitely aim to show something, at XF.com, in the future.


    Any truth to the rumor that you're planning to emigrate to America and work with Brogan to get England annexed to the US as the 51st state?

    Yes, this plan is already underway. It's called Operation █████. I have to be careful what I say, I think the ███ are monitoring and tampering with our communications. But, sure, once we release XF 2.0 on ██/██/██ we will certainly get Operation █████ completed. Brogan for President! :cautious:

    Share This Article

Recent User Reviews

  1. BassMan
    "Interesting reading"
    5/5, 5 out of 5, reviewed Aug 17, 2016
    Very interesting reading with many information. It's good for XenForo to have Chris D, I guess.

    I also like the IKEA desk, just see I have exactly the same one :)
    iorG19 likes this.
  2. DeltaHF
    "Very interesting - go XenForo!"
    5/5, 5 out of 5, reviewed Jul 26, 2016
    Thanks to Chris for sharing his thoughts in this interview; it was a great read.
    The Sandman likes this.
  3. adwade
    "Revealing look, behind the curtain!"
    5/5, 5 out of 5, reviewed Jul 25, 2016
    This is the first interview I've read with a developer and was pleasantly surprised. I guess what surprised me the most is how often & informative his posts on Xenforo are for helping new users out, versus how busy he is with coding for XF2.

    Nice to see and read about a bit of his personal life. The comic strip he referenced was a hoot!
    The Sandman likes this.