04 May

Interview with Ninjaboard lead developer Stian Didriksen

On, a German Joomla! blog, our friend René interviewed the chief developer of the new Ninjaboard, Stian Didrikson. Yesterday, after a Skype session with Stian, he and I decided to publish this interview here in English as well since Google Translate does not seem to do as good a job as it's supposed to ;-) As to the personal data, Stian is 20 years old and lives in Stavanger/Norway. He is currently a developer at Ninjaforge and Prothemer and he and his team distinguish themselves by the development of Ninjaboard version 1.0 that is to appear soon in a stable version. This promises to be interesting.

What do you think, when will the Ninjaboard be available as final version? We have a milestone set for this month.

Meanwhile, the Beta 3 of NB was published. But the month is almost over, so where is the expected milestone? Any unexpected problems? Yeah, the upgrade to a very powerful new feature in the Nooku Framework (called KConfig, a new API that is similar to the Options API in MooTools) was more work to upgrade to than expected. We've also reevaluated our 1.0 feature list, and looked at the remaining workload. So we have changed our plans, RC will be out instead of the stable, and RC will come about a week after Beta4 which is coming this week. So we're more or less delayed by 2 weeks.

How many people work on the Ninjaboard? It's me, Stephanie Schmidt, Richie Mortimer, Uwe Walter and Mark Simpson.

Seems to me like a strong team! How many hours of work have you already invested in the development of NB? We havent counted hours, but according to Ohloh's code metrics it's over 1 Person years. We've been working weekends, had several code sprints, and usually go to sleep at 3-4am. So we've invested a lot you could say.

Speaking of the development of NB: Who among you has which tasks to do? What is each person's role in the development? Stephanie Schmidt does almost all of the modules, plugins and integrations with other extensions as well as doing some core work. Richie Mortimer did the Kunena importer, which now serve as the base more importers to come. Uwe Walter is the previous lead developer for Ninjaboard. He did almost all the work on the 0.5 release, and have a key role in the security and stability for 1.0. He's also the reason we were able to figure out how to get Nooku FW to work with Suhosin. Mark Simpson is on the support frontlines, so if you've ever asked for help in our forums, you've likely met him. He's also our usability expert, so the enjoyable UI in Ninjaboard, and our other Nooku powered extensions are much because of him. I'm the current lead developer, so I'm the one who spends the most time working on Ninjaboard. Each one of us have their own special project that they're working on. Ninjaboard is mine :)

Will the Ninjaboard be available free of charge or will a charge be required? If the latter is the case, what will the cost be? It'll be free as in beer.

Really? Free? Is there more behind this strategy? Maybe a little "attack" on competitors:)? Or does Ninja Forge just want to consolidate its position in the extensions? The board itself will also be free, but most of the extensions that Steph create for instance, is paid. So that's our strategy, keep the base free, by monetizing on special plugins (like JomSocial integrations).

If you want to enter a description and it is longer than one line in the front end, no automatic line break will be generated. Will this error be corrected in future versions?" That's done by css, we can make it a feature, but if you don't want to wait, you can override it by css :)

And speaking of the descriptions: Will it be possible to use html code in the descriptions or even use a BB? Yes.

How will this be implemented, what options do you offer to the administrator in the final version to this? We will provide you with a similar wysiwyg editor for bbcode in the backend, as the one we have frontend. Similar because we use Markitup on the frontend, which is jQuery based. But we're using MooTools 1.2 in the backend. So we can't use the exact same editor both places. For line breaks, we'll give you an option wether to break lines, or not.

You currently have the option to select a template from the menu. Can you adapt existing template files yourself and without opening the original files by FTP access? Similar to the template in Joomla itself? Also yes. The templates will work as overrides. So you'll only have files for the layouts you do want to modify.

If the templates will be overwritten, why do you then offer additional templates? The template "Chamelon"ù adapts to almost any Joomla template, right? By overrides, I don't mean they'll be overwritten, but that they only contain the code that make each template unique. Chameleon does adapt very well, but we plan to have some variations of it. We already do have variations that are controlled by the page class suffix that you enter in the menu manager. For changing wether to have rounded corners, dark gradient background, white box with box shadow etc. But for those that are using a template that Chameleon is unable to adapt to, we'll provide you with one or two base templates for those situations. Also, if a template provider wants to create a template that integrates with their own j! template beyond Chameleons limits, our template override system will allow them to do that in two ways. Either by regular html layout overrides, or if they want to sell them, as NB templates.

The option to create your own profile fields is also indicated. The idea of this option is really great. But will it also be possible change the order (including the already existing profile fields)? You'll be able to set the order by and drag and drop interface :)

You mentioned the possibility of integration in JomSocial. What effect does this have on the profile page of NB? Configurable. You'll be able to choose to link to the JomSocial (or Anahita, CB, etc), or to render the NB profile page, only with the information coming from elsewhere than NInjaboard.

There are modules for Joomla that you can send with the help of private messages between registered users. Will the Ninjaboard have its own function, or do you have to get an extra module for private messages? In PHPBB, for example, one can directly manage the company's profile on everything. We wont have a built-in PM system in 1.0, but we're looking into adding JomSocial and/or uddeIM support as a temporary solution.

So a separate "PM-system" is only temporarily considered because you want to work with JomSocial. But what about the NBusers who do not want to use JomSocial? Yes, it's a temporary solution until we have that built in. We plan on uddeIM integration for those who're not using JomSocial.

Will there be a notification for new PMs? In phpBB, this works as a "Pop-Up" - is something similar planned for your own system? Yes, we'll have a "Growl" like system :) And we'll also use the new notifications api found in google chrome, a new HTML 5 candidate that allows you to send desktop notifications. In other words you'll be notified of a new PM, even if you're working in another application than your browser! ;)

I personally found it really great that you have the option to view individual items under a particular link in Joomla. Will it be possible to install the User Profile in the same way in Joomla? Yes.

This is really great! How about a user list that can determine where the administration will be able to decide which profile fields are displayed in the overview list? Yes, the information displayed will be configurable.

Will it be possible to ignore a user or individual user to create a friends list? Interesting idea :) We havent thought about that before, actually.

Now to the last questions I sent you in the time of the Beta2. Have you already thought about the theme "Friends and Ignore"? :) Yes, and I must say I love the concept :) We've made it a ticket for the 1.1 milestone, so it's gonna happen ;)

Will you be able to subscribe to individual forums and topics (keyword: e-mail alerts)? Yes, and by time you'll be able to choose wether be notified on every new post, or get a daily summary.

Beside the avatar upload, will there also be the opportunity to use a gallery avatar or just give a URL? No gallery, but URL yup.

What kind of statistics can be put out by the frontend, and which additional modules may be expected (latest posts, Active users, etc.)? Stephanie is doing an awesome job here. We got latest posts underway, with most popular posts, relevant topics and more. We're open for requests on this area also, so we are interested in knowing what stats features people want :)

It is always good to know that there are developers who respond to the demands of users. But have you already contemplated important statistics such as "total posts and topics", "users online", "total number of users", "visitors" and so on? Moreover, many other forums even have the possibility to show you which users are currently inside a post or topic or staying within a forum. We're definetly looking into those possiblities, and continueusly listening to our users on what information they want to have available like that. We're also looking at what other popular forums are doing on this area. phpBB3 is a great example, as they've got years of experience on this area, so we're going to follow some of their conventions (like seeing who's reading the same topic as you). These features will likely be provided in a module, but we're going to provide module positions inline in NB, so you can achieve the same results as if it were hardcoded like in other boards if you want to.

Right now, the settings for the board are still quite restricted but sufficient. Can we expect more options in addition to the existing? Yes. Recently we removed all the settings that were placeholders, leaving only those that are/should be working. So we'll add them back as we work on them, and add many more entirely new ones.

What exactly are the options that you want to re-integrate into the menu? Which will not come back? What new options may we expect? RSS feeds, flood protection, spam control, terms page (link to a content article that'll be used as the terms and conditions part of the registration form), user registration options, avatar settings and module positions (a chameleon feature we had a prototype of earlier that rendered Ninjaboard in actual module positions). You can expect more options for controlling the layout, style and behavior (behavior is things like wether or not to use ajax, threaded or flat topics) and that we'll work a lot on making the user interface stay friendly, and be intuitive.

What opportunities will admins have to backup the forum content? We'll give you an "export to CSV" feature later, as it's built right into Nooku Framework already actually, we just have to give you the toolbar button for it, and write up what data to export in the csv :)

Will there be a separate registration form or will the complete registration process be implemented on joomla? Is it possible to automatically assign a group directly when registering new users, for example, the group "New User"? We want to integrate as tight as possible with joomla. So NB is just using the same user table as joomla are. No need for syncing. You can map joomla groups to ninjaboard groups by clickin the "Map" button on the usergroups toolbar. It allows you to map any j! group to any NB group. You'll be able to have a registration form in Ninjaboard, so you can add an board avatar, a signature, right from the start. But that'll be optional, and for convenience not to mention still integrating completely with Joomla.

I read somewhere that data can also be imported from other providers in the Forum Ninja Board. In Kunena, I imagine, this function is quite simple to implement. But what about a giant such as PHPBB? Will the function to be implemented here be just as simple? Especially in relation to the complexity of the stand-alone application? We're adding phpBB3, Agora and SMF. Wether they'll make it into the first stable release isn't known yet. If not, they'll be added shortly thereafter though.

Why is it that the integration of legacy data to the NL will probably not be published before the release of the first stable version? Could it happen that this "tool" fails, because the implementation is too complicated? It's only depending on the time really. The second we're certain, and have enough of production sites using Ninjaboard without problems, we'll call 1.0 for stable. But wether or not the additional converters are added by then, is independent. It's not that the tool fails, it's that the forum itself is the priority right now. What good would it be if we had converters for every known board known to mankind, but at the same time the board itself were no where close to stable yet? You can also flip it, and ask what point is there in having a super stable forum, if no one can migrate to it? So we need to find a balance :)

I still have some questions which do not relate directly to the NB. I hope that's okay for you. Sure, no problem at all :)

How is it to be working for Ninja Forge and manage such a large project? Do you often work under time pressure? There's a lot of pressure. Many people are waiting for the stable release, and wants to use it. So it's very hard work, if I didn't have such passion for web development and design in general, I don't think I would be able to survive it. Good thing that the other Ninjas share that passion, so the fun we have together ease the pressure :)

How does the development team get along with each other? It's very fluent and agile. We communicate over skype group chats, that are grouped by their context. For instance we have a "Koowa Discussion" for Nooku Framework topics, where you can get help if you are learning that FW. We have a work chat, and a tea house (for offtopic chatter). Daniel is the one who decides who do what, but he give us a lot of freedom. Basically we pick the project we want to do, and are paid to do that as long as we provide support for the project. You're not allowed to do a "hit'n'run" kind of component. And most of all we have our Kaizen matra. No matter what we're doing each month, it's important that we do it better each time. Be it our coding skills, support response times, or bug solving skills. Always improve :)

This sounds good for the future :) The NB is indeed a rather extensive and large project. What is the next target? A "Ninja community"? :) What projects can we expect in the near future? You know I can't tell you that yet ;)

Stian, thank you for the nice interview! I hope we'll see us on the JandBeyond in Germany in a few weeks. ;) Is there anything else you'd like to tell our readers? I'll be sure to say hi on jandbeyond. And as a conclusion, the development on Ninjaboard is constantly picking up speed. Expect some pretty cool features to surface in the close future. Thanks for the interview!

Stian Didriksen on Twitter: @stipsan Yagendoo Team on Twitter: @yagendoo

Posted by YannickS on in Scene
Rate this blog entry:


  • No comments made yet. Be the first to submit a comment

Guest  Thursday, 24 August 2017


Looking for a developer?

We´re on your side if you run in problems or we create you whole new websites and onlineshops!

Yagendoo Media Team

Get a quote!

» Portfolio «