Sunday, February 17, 2013

Forum Software Options

The Convention USA Chairman has established acceptable criteria for the establishment of a testbed for new ideas, leaving great flexibility as to the form such a forum may take. Further, the support offered for a forum suggests it is time to examine the potential forum options.

NOTE: It was originally my intent to begin building the forum on February 19th. I will postpone this until the 26th, to allow this conversation to reach a natural conclusion.

The selection of a forum software is an important choice, as changing forums tools becomes increasingly more difficult the longer we use a particular solution. Two solutions have been presented so far, phpBB and MyBB. I have been continuing to research the benefits of each. Here is my report. I welcome a report by Delegate Tape to ensure that a balanced presentation is made.

phpBB3.0

phpBB3.0 is the more established forum solution. As such, it benefits from being tested in a wider array of situations and from having a much larger base of developed customizations. This comes at a cost of vestigial code that handle obscure cases unrelated to our specific needs.

Its permissions system is much more elaborate, allowing much more flexibility, but leading to a more complicated administration control panel.

MyBB1.4

MyBB is the new kid on the block. As such, it is a slick new code that includes paradigms not yet available in phpBB. This comes at a cost of being tested in a wide range of situations.

In particular, MyBB locks entire database tables on a write, while phpBB only locks database table rows. This makes MyBB less scalable, particularly when handling larger forums with thousands of users simultaneously participating.

Two of these features stand out.

Hooks allow for a more efficient implementation of modifications, which is particularly helpful when upgrading forum versions.

In Line Moderation allows moderators to have far greater control while simply viewing the forum than phpBB allows.

phpBB3.1

phpBB3.1 has entered the final verification steps before alpha testing can begin. A developmental version is available, but I would strongly oppose loading a developmental version. A stable release should be available by the end of the year, though I have no guarantees of that.

This version will include built-in hooks, similar to MyBB.

My Thoughts:

The primary long-term tradeoff appears to be scalability vs. in-line moderation.

If our goal is to build a forum to handle a convention the size we are now, I would agree that MyBB would be the optimal solution. Since our view is a convention with hundreds to thousands of active delegates participating simultaneously, however, I feel that scalability is the most critical factor.

Initially, the primary goal of our forum will be building a community of delegates, not including the newest and fanciest forum features available.

My Recommendation:

It is my view that phpBB3.0 is the best initial solution for our needs, but that we should anticipate moving to phpBB3.1 once a stable release is made available. As such, we should be very judicious about adding custom code modifications until we have made that transition.

Your Turn:

This post is at least twice as long as I typically like to write. It contains a lot of information to digest. I thank you for taking the time to consider its content.

I also value your further insight into this critical decision in forming a forum that meets the needs of our fellow delegates.

14 comments:

  1. This comment has been removed by the author.

    ReplyDelete
  2. I Delegate cannot comment here unless he/she signs in under some sort of account. The possiblity to comment using just Name should be allowed as some do not want any new account. Some of the Delegates would like to participate, but cannot.

    ReplyDelete
    Replies
    1. I do not have the administrative privileges here to address this. I am working on this.

      In the meantime, I can post on their behalf. Any e-mail sent to internet@ConventionUSA.org with the subject line "PLEASE POST ON THE INTERNET COMMITTEE BLOG" will be placed as a comment in an appropriate post.

      Delete
    2. Anonymous posting has been enabled.

      Delete
    3. Name/URL should be the one used so a name will be with the comment.

      Delete
    4. Just leave URL blank

      Delete
  3. How long a technology has been around matters... up to a point. Compare Yahoo and Google. Perl and PHP. PhpBB is 12 years old. MyBB is 7.

    In reading opinions on MyBB and phpBB, the two things that most people with opinions seem to agree on is that 1) MyBB is far easier to work with on the back-end and 2) MyBB's plugins are much easier to work with and develop than phpBB MODX modifications. When it comes to picking one over the other, the strong opinions usually favor MyBB.

    After polling forum software users over the past year www.forum-software.org announced MyBB as the "Best Free Forum Software" for the third year running. MyBB recieved 1819 votes. phpBB came in second with 770 votes.

    If what the users of these two products have to say is any indication, MyBB with it's more aggressive development pace, has caught up with phpBB.

    As Ben says, MyBB includes "paradigms not yet available in phpBB." But MyBB is not known for bells and whistles and seems to stay a step or two back from the leading edge, sticking with what's known to work. But the internet is very much about adaptive paradigms. Two examples of MyBB adapting to current paradigms are multi-threaded forums and the action-hook plug-in model, neither of which phpBB currently implements.

    "Multi-threading" essentially allows posters to comment on posts. Without multi-threading, it is only possible to add a post after the one proceeding. Considering the synchronous nature of Robert's Rules of Order and the asynchronous nature of forums, multi-threading will likely be useful in adapting rules of order to the on-line forum format.

    "Action-hook plug-in model" refers to how MyBB provides for the ability to alter or extend it's functionality. While this is relevant to implementing modifications that are available on-line, it is especially important to developing modifications ourselves. No matter what forum software we use, we will need to extend functionality. I am thinking specifically about Robert's Rules of Order and simplifying the process of making various kinds of motions, seconding, voting, only allowing the appropriate types of motions to be available and time limits. Other necessary changes will become apparent as we move forward.

    When developing MyBB action-hook plug-ins, we can simply edit the code we are working with, save it and run it to see if it works. Under the phpBB MODX model, after changing and saving, before we can test the code, the code must be "installed" which at the very least will require going to a separate browser window, clicking a button and waiting for the installer to insert the new code into the core program files.

    (cont.)

    ReplyDelete
  4. Also, with the action-hook model, we work with the actual files that will run the code where-as with MODX, all of our code (php, css, javascript) is written into .xls files. This will cripple our IDE (integrated development environment). By needing to put multiple kinds of code into .xls files, the IDE can not tell what kind of code it is working with. Just one example, when I program, if I use "'" where I should use '"' or I forget to put a ';' or a closing '}' or if I use '(' where I should have used '{', my IDE will let me know that something is wrong and give me a clue as to where. Without syntax checking, finding a simple mis-key can become a major chore.

    Programming is challenging on it's own and requires time. It can also be frustrating at times. Looking at this as someone who hopes to help in the programming, I cringe at anything that might complicate an already complex task and require otherwise unnecessary time. phpBB's MODX model is not developer friendly.

    Multi-threading in forums and action-hooks in adding functionality, are mature concepts. Not bells and whistles.

    Ben mentions that phpBB 3.1 when released, will include built-in hooks. I would be very hesitant in planning around an anticipated future release of any open source software, especially if we are waiting for the addition of some kind of major feature.

    Action-hooks represent specific lines in the core code that call a plug-in that wants to jump in and do something different, and some hooks (filter-hooks) can pass information for plug-ins to modify. Determining where to put hooks and whether or what data to pass will be a major endeavor and I expect it to take some time for the new hooking functionality in phpBB to become robust and mature.

    Even if we can assume that phpBB's built-in hooks will be equal to our needs, and a stable release is available by the end of the year, there is a lot of year left.

    Ben notes phpBB's larger user base. User base is especially important with open source software because development and documentation, both official and via personal websites, are typically driven by the community of people who use the software. While phpBB has been and is currently the default choice for open source forum software and has the highest market share, this does not mean that MyBB has not been well tested in the field.

    Consider w3techs.com's comparison of trends in market share amongst content management systems (of which forum software is a small subset). phpBB has a market share of 1.2%. MyBB has a market share of .3%. While phpBB is used by 4 times the sites that use MyBB, phpBB is the old standard and MyBB has to start somewhere.

    MyBB compares better amongst the top 10,000 websites, with phpBB's market share at 1.1% and MyBB with .4%. The bigger sites, presumably run by more knowledgeable, tech-savvy people, are more likely than the rest of the internet, to use MyBB.

    And the number of sites that use MyBB are increasing.
    (cont.)

    ReplyDelete
  5. Regarding a much larger base of developed customizations, phpBB does have more themes: 545 compared to MyBB's 386, but theme development (i.e. how the site looks) is one of the simpler kinds of modifications. While we will no doubt want to customize the look of the site and having a theme to start with will be very helpful, finding a suitable one amongst 386 will not be difficult.

    More important than themes is available modifications or plug-ins. With 656 plugins, MyBB beats phpBB which has 533 mods.

    With regard to permissions, I've been playing around in the admin panels of both packages, and it seems like you can do the same things in both phpBB and MyBB: customizing permissions globally and by forum, giving users and groups what ever permissions for each, assigning users to one or more groups, setting permissions for moderators and moderator groups. While I would not call MyBBs permissions system intuitive, it is more intuitive than phpBB. If you want to compare how permissions (or anything else) works in both programs, I've got both setup on my server. Just let me know and I'll set up the accounts.

    As for scalability and table locks, this is a function of the mysql table type. By default, MyBB uses MyIsam tables but switching to InnoDB, which uses row locking, can be done either on setup or down the road. Setting it up with InnoDB is very simple -- down the road is more complicated. The downside is that with InnoDB tables, only "Standard" search will be available. "Full-Text" search will not.

    Hackforums.net uses InnoDB tables. They rank as the 2959th most active site on the internet according the Alexa. They have 318,421 users and 20,966,519 posts in their forum. The average load time for their pages is 1.287 seconds, giving them a faster load speed than 58% of sites on the internet.

    Ben Writes "If our goal is to build a forum to handle a convention the size we are now, I would agree that MyBB would be the optimal solution. Since our view is a convention with hundreds to thousands of active delegates participating simultaneously, however, I feel that scalability is the most critical factor."

    I would add that with our complex needs, robust permissions functionality is almost as important, and right behind that is ease of development. From what I can determine, phpBB and MyBB are comparable with regard to the highest and second highest priorities and MyBB is way ahead of phpBB on the third.

    So looking at it as a trade-off, I would say the choice is between MyBB and it's ease of extensibility and phpBB and it's full text search.

    ReplyDelete
  6. Here goes a layman's opinion: Since I have been hacked and tracked for the past four years, I think it is important to keep the coding as simple as possible, and separate and secure from each (database) branch. We could use both suggested softwares, and I don't think it should be linked through code! Just as our government has three branches with one common goal, it is still separate! I think we need to add a branch though, the checks and balances branch; the We the People branch! So, If we have four branches with different jobs: We the people branch, with no outside influences from politicians, media, special interests, etc, votes on a single issue. The voters sends the states the results. Each state discusses on their state forum and votes. The states tell Convention USA, Convention USA words it, votes on it and tells the government what we want! Lastly, Convention USA is a little intimidating to most people, and I don't see hundreds of thousands of delegates signing up. Most people don't or won't take the time to read or give comment! On the other hand, the We the People side is where you can sign people up according to their voting district, their address, their Identification and their legitimacy! This is also the way we secure our vote, because we check our votes against the polling station votes to see if they match!! Thus empowering the people and removing the voting fraud! This was a God given ideal and I know how to sign the people up and to fund it!

    ReplyDelete
    Replies
    1. Having multiple communication streams using various technologies is a significant cause of Convention USA being intimidating to people.

      The current registration at ConventionUSA.org requires the information required to verify that the information given matches the voter registration records. Unlike this blog, the proposed forum would only be available to verified delegates.

      Delete
  7. Despite being unable to meet with Delegate Tape, I have been convinced that the plug-in model reduces the complexity of creating custom extensions by a factor that makes MyBB the better option for our immediate needs.

    If there are no objections, I will begin construction of a MyBB test forum Saturday.

    ReplyDelete
    Replies
    1. No objections being raised, discussion of which forum software to use is closed.

      I will now begin construction of this forum, and start a separate post to discuss this project.

      Delete