Thank you for the continuing support for our new "Community Update" format. You can read our September edition here. Happy reading for the 10/2021 edition!
📩 Interview with @askvortsov (Flarum Core Developer)
As we want to increase our interaction between the community and the development team behind Flarum we are going to feature interviews with Core developers from time to time. We are very happy being able to kick off this new series with @askvortsov! A big thank you for going first.
👥 The interview
Can you shortly introduce yourself and your role in the Flarum universe?
Hi! My name is Sasha, and I've been a Flarum core developer since May 2020.
How did it come about that you ended up in software development?
Back in high school, I was really interested in neuroscience, and got involved in a nonprofit working to help youth around the world explore the field. We needed a website, but none of us knew web development, and I ended up volunteering to make one. As our organization grew, I was able to use the website to automate away a lot of tedious work, such as membership registration, staff permissions, and journal article submission/review. With time, I realized how much I enjoyed solving problems with software, and decided to make that my career.
Why did you decide to join Flarum as a project to dedicate your spare time to?
In early 2020, that same nonprofit decided to set up a forum. I considered a lot of options, but most either didn't look great, cost too much, or required tons of resources to run. Eventually, I was choosing between Flarum and Discourse. Discourse had more features, but was much slower than Flarum, and I strongly preferred Flarum's design. Flarum just felt like it had a lot more potential.
When I realized that I would need to implement some custom features either way, I decided to try Flarum development out. I was struck how by friendly the community and team were, and enjoyed working on a project with such reach. 200 PRs later, here I am!
What about working open source attracts you?
There's quite a lot:
- I get to work with a lot of great, very interesting people, both in the Flarum team and in the general ecosystem.
- It's an opportunity to become a much better engineer and team member. I've learned much more about software engineering through projects than through any class in college.
- It's really fun! Even in something as seemingly simple as a forum software, there are many challenging engineering problems to solve.
- It's humbling to know that my code is running on thousands of servers, and is being used by millions of end users.
Besides your involvement in Flarum, what other projects do you care about?
Last summer, I used the OCaml programming language and Hardcaml library to reimplement a CPU design from a class I took last semester. I really enjoyed it, and would like to work more in OCaml.
Outside of programming, I enjoy wheel-thrown pottery, cooking, and spending time with friends. I'm also involved in a few clubs in college.
What's your biggest contribution to the Flarum Core?
I like to think it hasn't happened yet 😁. Out of the work I've done so far, the biggest challenge so far has been leading the beta 14 frontend rewrite from Mithril 0.2 -> Mithrl 2.0, and helping finish the design and implementation of the PHP extender API.
You are also developing extensions for Flarum, what's your motivation?
Usually, it's either something I need myself, a proof of concept for something I'm working on with core, or a feature that I think would increase Flarum use, and I'm personally interested in working on.
Looking to the future, what will be your focus areas for the coming releases of Flarum?
I believe that Flarum's biggest advantage is its framework-first approach. My priorities focus on making the Flarum development experience as great as it can be. This includes:
- Stronger, more abstract, and safer APIs within Flarum itself, so that developers can express more and better concepts with less code.
- Additional core features that expand extensibility.
- Better support for testing, static analysis, typechecking, and other tools that give developers confidence that their code is correct.
- Infrastructure and code management automation through flarum-cli to make the tedious parts of extension development and maintenance easier.
What would you work on in Flarum if you'd be given free reign to do so?
What I just said 😁. One of the great things about Flarum is that it's driven by the team and community. If someone is passionate about something, and is willing to put in the time and effort to make it happen, it's likely to happen.
If you would be asked how to get started in Flarum development, what would be your answer?
Honestly, just find something that you care about / want to see in Flarum, and start working on it. We have a friendly, supportive community that will help you figure out how to get there, as well as extensive documentation and tons of extensions as examples. We're always excited to see new contributors and ideas: without that, Flarum would not be possible.
Of all the people in the Flarum ecosystem, who would you love to meet in real life and why?
I would love to see a meetup of the Flarum team someday. Working with these people has had a big impact on me both as a developer and a person, and it would be great to meet them in person someday.
📰 Other News
Blomstra - a professional hosting service for Flarum - has launched its service publicly. You can read more about the announcement in the according community thread.
With this new option available to the Flarum community there are now a lot of different options to get started with Flarum. Spoiler: In the next community update we will be looking into those different options into more detail!
🕸️ Extension Highlights
🏁 Final words
We hope you have liked this edition of “Community Updates”. Looking forward to your comments and ideas for future updates. The next edition will focus on different hosting options available for Flarum. Read you in December!