Connecting the dots: An inside look into the story behind my years at MyBB

Posted by Ryan Gordon on December 5, 2010 under Life, MyBB, Programming | 18 Comments to Read

For those of you who don’t know, I’ve been on the MyBB Team for 5 years and in this time I’ve lead development for over 2 years.

Recently I resigned from the MyBB Team to pursue separate endeavors.


As a few have noticed, Ryan Gordon, the lead developer of MyBB has parted ways with us. A message from Ryan is below.

All of us here at the MyBB Group wish Ryan well in his future endeavours, and I personally am extremely grateful for the role that Ryan has been able to step up and fulfil over the past few years whilst I’ve not been able to dedicate much personal time toward the project. Ryan’s dedication and passion for everything he did, as well as bringing us some of the greatest MyBB releases to date, will be missed.

What does this mean for MyBB?

The most important thing to keep in mind is whilst this is a big change for us, you can still look forward to exceptional releases of your favourite forum software. Work is underway planning out MyBB 2.0, and from our top-secret prototypes, it’s already looking great.

We’ll have more to announce shortly, but again thank you for your continued support.

A message from Ryan to all…

Dear community,

It is with time that with every profession, interest and passion fade and something new comes along to take over it’s place. It is with this in mind, among other things, that I have decided to enlist my resignation from the MyBB Team.

Over the past 5 years I’ve had the unique experience of journying with this team and working on this product that has taught me so much. Together we have built hundreds of thousands of communities and I know that this will continue for a long time into the future.

I wish the MyBB team and the community best of luck in the future, as I open up this new chapter in my life.

Ryan Gordon”


Preface: Firstly I want to note that I will not be revealing any information that isn’t already public. Secondly, what I have to say here is merely a summary of the “main” events. There are countless smaller details that I could spend hours and hours writing on, but distract from the point. Finally, I want to say that MyBB is and always will be a great piece of software and it will continue to get better. The effort put behind the scenes for MyBB was and always has been amazing. To do all of this, to pour time, sweat, blood, and energy into this project for not one cent from thousands of people across the globe unofficially and officially, has always been an amazing concept to be. In fact some might say that those of us who do this for free are part crazy and they are probably right.

The first part of this story begins 5 years 2 months ago when I first joined the MyBB community. Over the next 7 months I went on to create a couple very prominent plugins and also add some content to the wiki, when it first opened. 7 months later I was asked to join the team as Wiki Maintainers along with Justin S. Now I didn’t particularly care for maintaining the wiki forever, but I was new to this game and I wanted to participate in the development of MyBB, so if this was my way in then there was no way I would turn this down.

The next 6 months consisted of aiding MyBB 1.2 Testing and bug fixing in which during this time I was offered development access. On the 7th month, I was promoted to the Project Manager of the new MyBB Merge System. At this point I had submersed myself in learning PHP (at the time) to it’s maximum capabilities and 4 months later the first version of the MyBB Merge System was opened up for beta testing. Following this the next year and a half I started helping out by fixing MyBB 1.2′s bugs and preparing their releases as well as continuing work on the MyBB Merge System and MyBB 1.4. This was probably the most intensive period of my time at MyBB not only because of the large amount of work but because Chris Boulton’s time was now much more limited due to his full time job. At some point during that time I was promoted to Lead Developer of MyBB as a whole and a few months later, Chris officially announced stepping down from day-to-day manager and Dennis took over these day-to-day operations.

From here I lead development on MyBB 1.6 and the planning phase for MyBB 2.0 begun, for the next year and a half. Over the next year my interest in MyBB’s development began to lessen over time as the necessity for time to be dedicated to school and other activities increased. I talked about this several times over various conversations between management staff members and thus began the activity of a recruiting campaign to bring on the next wave of developers and staff members to fully take over all the necessary operations of MyBB and it’s development that I would be leaving behind. This eventually lead to, over a few months, Dennis stepping down as product manager with Tim B. stepping up. A couple months later we had successfully brought on several new staff members to help. Now I had the MyBB staff and more specifically, the development team, in a stable position. The last thing that needed to happen was my resignation, but that wouldn’t happen for a little while longer.

A couple days ago I was having a discussion with Chris Boulton on MyBB 2.0 and this is when I truly realized the different paths we were both now on. The decision to resign was simple at this point and that’s where I am today. I have come out with a new chapter in my life opening and I am excited to put my talents to use on new projects and to see where this different path takes me.

Thanks to everyone who has read this – I wanted to make sure that the right story was out there and to clarify that the terms for resignation weren’t because of, or left on, any bad notes.

College Life

Posted by Ryan Gordon on October 17, 2010 under Life, MyBB, Programming, School, Sports | Be the First to Comment

It’s been 7 months since I’ve last updated this blog and so much in my life has happened since then. Currently I am writing this blog post at my laptop computer as my roommate slurps some soup and outside rain steadily pours. Even with the somewhat gloomy weather, the environment feels ecstatic as the university event center prepares to host some major political figures in a few hours time.

College Life

I am now attending San Jose State University, aiming for a Computer Engineering degree in 5 years and a masters in another semester. Moving out and away has been one of the best things that I ever could have done for my life. It’s really allowed me to become my own person and give me the freedom I’ve ever so needed. Course work and all of the side activities such as clubs and sports has been keeping me very busy but I still enjoy my schedule and the socializing that I get to have in my free time.


I participated on the Evergreen Valley High School Robotics team for the previous two years and I am now mentoring the new EVHS Robotics team, helping them stand on their feet again as a completely new team. I hope they will be able to have the same amazing experiences and build the same life-long relationships that I was able to once forge with teammates during my years on the robotics team. These new group of kids are very motivated and I wish them the best of luck over the next few years as they learn how to take over the world.


It’s been hard keeping up with development with everything going on, especially while I worked regular hours during my internship at ActiveVideo Networks, over the summer. Even with this impediment, the team was still able to successfully release the MyBB 1.6 series, which I would argue to be the most successful release in all of MyBB history. A lot of staffing restructuring, community changes, and development shifts have happened behind the scenes over the past several months. It’s been a surprising roller coaster ride to see how much the MyBB Group and the community that sounds us has fundamentally changed. We are continuing to roll out new ideas and changes to continue to ensure that MyBB is heading in the right direction. This has been a slow process, but as we all know, good happens when we consider patience as a virtue.

MyBB 2.0 is also still baking slowly in development. The new MyBB 2.0 theme has been coming together very nicely and we continue to refine it and reconsider our design as we realize when and how we can make it better. The MyBB 2.0 framework itself is coming together as a result of almost a year of research and conceptualizing and prototyping. We have taken a look at dozens of frameworks and designs and our result will be – hopefully – a straight-forward yet intuitive framework system.


Apart from what I have listed above there’s much more that’s been going on, some of which I am not able to talk about. Almost all of my previous friends have moved out and away to fulfill their own paths on this road of life. It’s sad to see them move away but I certainly wish them all the best. To friends those that are still around, I find to be slowly moving on their own paths as well. Personally, I have now a clear vision of my future and I am certainly looking forward to the future and to how I will be able to exercise my strengths for the better.

Senior Life

Posted by Ryan Gordon on November 27, 2009 under Forums, General, Life, MyBB, NCAAbbs, Online, Programming, School | Be the First to Comment

Holy hell.

What a past 6 months it has been. Who would have ever known senior life was going to be this crazy? It seems just yesterday I was seemingly making my way through the passing crowds in between classes junior year and yet here we are again, senior year, except it has been a roller coaster ride from the start.

Between classes, homework, studying, college apps, personal statements, SATs, robotics club, MyBB, NCAAbbs and client’s websites, this blog was pushed to the back burner. Tonight I find myself, for what seems like the first time in a lifetime, with time to simply reflect on the past 6 months.

Ending Junior year, I started my summer job at ActiveVideo Networks again as the SQA Intern which was definately a really good experience. I also managed to visit Washington D.C., for my first time ever, twice. The first time being with my robotics team, attending the Global Conference on Educational Robotics (GCER) and the second time with my family for a short vacation and then a wedding down in North Carolina (a very beautiful state, btw!).

As always, I continued my development work with MyBB and IT functions for NCAAbbs. In fact, we made some significant changes, including opening up our development servers and source code to the public. As always we kept up with security and maintenance releases, and I even have some tidbits to share further down in this post. But back to the story first:

Senior year opened with a bumpy start. The AP Computer Science class I was going to take was canceled because they couldn’t find a replacement teacher (the old one had to take a leave of absence for the year). It practically ruined my chance for attending one of the UC’s (University of California), as I wouldn’t have an AP class under my belt, and in turn neither the extra GPA points nor the AP test. That dampened my mood quite a bit. Second off, my counselors (whom are hard enough to work with in the first place) changed my schedule 3 times consecutively, making me run around at lunches and breaks to find a teacher whom I could TA for and wasn’t already taken. I ended up as the Drama department’s TA, ironically enough, which was the last place I was expecting my academic life to turn towards. Surprisingly it has ended up being, thus far, a very intriguing experience; there are definately very interesting things to learn from a drama class.

Just as I was settling into my senior classes and classmates, SATs, college apps, and robotics club hit me like a 2 ton Honda Pilot. The next 4 months consisted of 19 hour days, frantic studying, club co-managing, eye-tearing 4 hour test taking and answer bubbling. Fortunately, I was able to get through most of it early. As for my friends, well, they are all freaking out right about now, realizing all the work they need to finish quickly. Fortunately I am able to help them out with answering their application submission questions, editing their personal statements, etc. I still have one last single SAT 2 test in December, but once that is done I am never touching an SAT test again in my entire life.

More significantly, in between all this, my robotics team participated at a competition called CalGames where we placed 1st in the end. Doubled with one of our team member’s birthdays it ended on an awesome note. (We are the teal shirts below)

Team hard at work...

(A closeup of our team during a competition game. Go! Go! Go!)

EVHS, Leland, Bellarmine

(I’m unfortunately hidden behind another team member)

The robot in action:

Now that you’ve seen all that, let me momentarily show off some of my work. As I became the lead programmer of the robotics team, I was given the opportunity to learn a completely new coding language, one which is called LabView. It’s an industry standard program that is primarily used in the programming of robotics or being able to control mechanical or electrical parts.

There is too much code to show and explain all, so I won’t even try. However, let me give you a general overview. This is the Robot code which is the highest level of the robot and the central interface to all of the robots functions and executions. Following the flow of the code hierarchy, will be lower level functions. Each “Block” you see in the code is basically a “function” in programmer layman terms. The difference between this language and most others is this is by default a highly multi-threaded language.

Robot Main


So as you can see, the robot may only do a few things, but a lot of work goes into making it do those few things extremely well.

All in all I have had a terrific time on the robotics team, but in these dwindling economic teams we have had trouble sustaining the club. This year we are faced again with the challenge of keeping our club open and running. Our robotics club is by nature very expensive in comparison to many of the other clubs, but in contrast it provides an extremely rich experience that prepares the students much more for the real world experience in their various relating industries than any book or test can do. Our expenses for the club are around $19,000 annually ( – page 6). Most of the costs are for materials or registration fees to compete in competitions. If you can provide assistance or know of a company or someone else who can, please feel free to leave a comment below or visit our club’s website at and we will get in contact with you! We also accept in-kind donations and negotiate with companies for competitive prices for various materials. We could definitely use every bit of help we can possibly get.

On a different subject, we are nearing feature-completion of MyBB 1.6. This means that within the next month we should see MyBB 1.6 in public beta and out soon after that. First though, we are going to make a maintenance release for the MyBB 1.4 series within the next couple of weeks. MyBB 1.4.10 will be the last release of the MyBB series, excluding any security vulnerability releases.

As I have reiterated over the past year, MyBB 1.6 won’t be as drastic of a change as MyBB 1.4 was. As MyBB 2.0 will be a complete rewrite, we are aiming MyBB 1.6 to have much less “behind-the-scene” changes than MyBB 1.4 had. This means that most of your plugins will still work with very little change (most simply the version compatibility indicator), and themes should be easily upgradable too. This will allow us to aim the of end the MyBB 1.x series on a great note and put it to rest in an honorable way.

Thanks for reading. Feel free to post any comments, questions, suggestions or concerns.

New MyBB Merge System

Posted by Ryan Gordon on May 30, 2009 under MyBB | 3 Comments to Read

Well, it’s been a while since I’ve posted here. I have been preoccupied with school and other activities so I haven’t had as much time here. However, I’ve found a few moments to show off the new UI changes to the MyBB Merge System that have been in development for the past several months.

The main greeting page:


This page is largely the same in previous releases, but the version number is now shown always in the header so users can more easily provide the version number and make sure they are running an updated version.

The requirements check page:


This page is brand new. It allows us to make sure the user is running the latest version and that the /convert/logs/ directory is writable so that if there are issues later on, they can be resolved more easily by providing debug logs. The Merge System won’t allow you to continue until you are running the latest version and the logs directory is writable.

The testing information page:


This page is also brand new. It is there to describe to the user how they should report problems.

The board selection page:


This page is largely the same, except you’ll notice that support for a couple more versions are available for some supported forums.

The module selection page:


Again, you will notice it is largely the same. However a few modules are missing. We have removed support for Avatars a few other ones which weren’t standardized among the board’s. Why did we remove them? They were simply too high-maintenance, didn’t work very well for many people, and didn’t seem extremely essential to converting a forum over.

The database configuration page:


It is essentially the same as last time, though it has been tweaked a bit and a couple of annoying bugs were fixed with it.

The database configuration page (2):


This page is run right after you enter in the database configuration details. This is a completely new page. Before, you would just be sitting and waiting for a long time wondering what was going on behind the scenes. Now it informs you with this new page. It checks the database details, and shows a progress bar describing what is going on at that moment. As you can see it was adding an import_uid field to my trunk_posts table.

The options configuration page:


This page has been completely redesigned from the old boring plain version that you’ve seen in old versions of the Merge System. It sports a count of how many it will import, and provide you with a nice clean interface for how many it should import per page and whether or not it should auto-redirect. The new default for “import per page” is 1000, except for attachments which is 20 since those take considerably longer to import.

The actual in-process import page:


This page has again been completely redesigned. Old versions sported a long list of

“Importing uid #123
Importing uid #124
Importing uid #125
Importing uid #126″

Now it is a simple progress bar with what exactly it is importing below it.

Once the posts page is run, a counters rebuild page is run.

The rebuilding counters page:


This page rebuilds the counters because data such as the amount of posts, threads, users, etc are notorious for falling out of sync through various bugs in any forum software. So as such, the Merge System simply does a clean fresh recount of all of the counters. This will make sure that the counters are correct and in-sync.

The cleanup page:


This page is completely new. In previous versions when you pressed the “Cleanup” button or if the Merge System had completed importing all the data in all of the modules, you would be left hanging with a blank page for a while as the Merge System ran some commands to “cleanup”. This now sports a new page with a nice progress bar and an indicator telling you exactly what is going on. In this screenshot the import_pmid column is being removed from the trunk_privatemessages table.

The completion page:


This page is the same as all the other previous versions, however, the reports generated are improved.

The reports generated page:


This is a sample HTML report. You will notice that the “Total Query Time” is much better formatted and there is a new “Errors” part to the report. The “Errors” section is mainly used for any errors that pop-up during attachment conversion that are unexpected and couldn’t be handled properly. This gives you a chance to correct those errors manually.

You will notice that the Merge System now uses nicer formatted numbers (comma separated) as a visual nicety and many other tweaks and improvements such as much better attachment handling. The Merge System will now check that it will be able to import attachments properly and if not, it will tell you as such and give you a chance to correct the issues so the Merge System can properly continue.

This blog post only showcases the new UI of the Merge System. What you don’t see is the completely rewritten framework and back-end to the Merge System. It now sports a much more uniform, OOP architecture that minimizes code repetition, improves consistency, improves performance, debugging capabilities, simplifies previously complex code, introduces unit testing abilities for even greater stability, and cleans up old, outdated code overall.

I hope you have enjoyed this preview to the new MyBB Merge System. It is still up in the air whether this will be a beta release, RC release or a final release  and there is currently no exact release date planned. We are currently in the testing phases of the new Merge System and we hope we can box it up and send it out soon.

MyBB 1.4.5 Release Overview & Position Availability

Posted by Ryan Gordon on April 26, 2009 under Forums, MyBB, Online, Programming | Be the First to Comment

MyBB 1.4.5 was released a little over a week ago, and I have been monitoring the release and so far we’ve only had a few regressions pop-up. This release was a very successful release to say the least. It’s gone through:

  1. Developer Testing
  2. SQA Testing
  3. A Private, 2-week, beta test

SQA Testing has proven to be a very successful team, spotting errors in fixes and code the developers have written. The private beta identified 19 new issues that were fixed for MyBB 1.4.5 and also confirmed 39 fixes (the fixes that weren’t already confirmed by SQA) were working and if not were fixed to work.

Not being under the pressure of having to make a release because of a security bulletin has made this a great release as well as it wasn’t “rushed,” unlike past released. We’ve also had a fairly decent staff restructure and things are running more smoothly now. A blog post on the exacts of the staff restructure will be made in the following weeks, on the Official MyBB Blog.

MyBB Team Positions

We’re always looking out for new potential. If you want to be on the MyBB Team, you just have to show:

  • You are dedicated and active to the project
  • You speak English very well and have good communication skills
  • You have good knowledge of how MyBB works and in the position you want to take up

If you don’t feel like we’re noticing you it’s probably just because we’re too busy making the next version of MyBB! So just shoot a Team Leader a Private Message to get their attention. Remember though, your chances are considerably increased if you stand out with the three suggestions listed above.

Well this is great…

Posted by Ryan Gordon on March 19, 2009 under MyBB | Read the First Comment

I come to school Monday and walking towards 1st period a bunch of trees were cut in half and left hanging upside down.

The next day, get to school and during 3rd period the D building, administrative building, was locked down with local cops, the fire department, medics, FBI, and Haz-Mat. Someone sent 10 snail mail messages all containing a white powder which at the time they thought was anthrax. Turned out to be a harmless powder though (talcum powder). In one of the last snail mail messages apparently they had a list of “demands” and some gripes about school policies (something about the hat policy from what I heard) and mentioned that this “wasn’t their first time”.

Today, I get to school and there is a swastika etched into the schools main lawn and earlier that morning thieves broke into a gun store in the city and stole more than 100 guns, two being shotguns.

There is rumors going around that there will be a code red tomorrow (drill, I believe) and some sort of safety talk – Not sure though.

All in all, this kinda sucks. Life couldn’t be busier for me and for all of this to happen on top of that just really feels like a jab to the stomach. Most of the students up until now have been pretty mellow about the whole thing, but who knows how things will go tomorrow. Hopefully things will just continue normally and the whole incident just blows over. None of us need more drama in this world.

The worst part is, this community is a generally friendly community, so it’s surprising/sad to see it happening.


Posted by Ryan Gordon on February 25, 2009 under MyBB | 2 Comments to Read

Hello folks,

The old domain out, and the new domain in! It was about time for a change and besides that “” is not exactly easy to tell people. I purchased for my blog and I am now using it as my primary domain instead of The old domain will still be around for a while and it should redirect you to

That’s it for now!

Robotics: Where have I been?

Posted by Ryan Gordon on under MyBB | Be the First to Comment

For the past month, I’ve been working with my school’s Robotics team. We took on a 6-week intensive project on building a robot that in the end results in a 120 pound, 5 ft tall robot.

That video was taken after 22 hours of straight work (9:00 AM Sunday-5:00AM Monday last week) at 3:00 AM in the morning at NASA Aimes in California, the day the robot was due to be shipped off. In fact, I wrote up the 5 stages to sleep deprivation:

1. Confusion
2. Organized Chaos
3. Annoyance
4. Tired High
5. Slow Cognition

Anyway, the objective of the competition is to collect what they call “space rocks” and put them into an opponents trailer. The “space rocks” come from outside by another team member that throws them in or by another robot. Our robot pretty much sucks them in if it passes over them and we can store them up and shoot them pretty accurately from a close range into an opponents trailer.

Our team will be competing in the FIRST competition at Davis College in California. I certainly have had fun helping to build and program this robot. I got to use lots of loud and powerful machines in building this robot as more then 80% of the robot was custom made and all of it was put together by hand. I hope we put up a good show at Davis and have fun doing it. Perhaps we’ll even go to the nationals at Atlanta.

If you would like to check out more, our robotics club has an entire site for it at

The 5 stepping stones of creation

Posted by Ryan Gordon on January 20, 2009 under MyBB | Be the First to Comment

  1. Never be idiot-proof

    Never develop your application to “second-guess” or “compensate.” Doing so will only give the impression that the application is smarter then it actually is, and eventually intent-errors will plague you. Remember, computers are built on the foundation that it cannot guess correctly what you want. That is why everything is explicit.

  2. Expect the unexpected

    There is absolutely no doubt that you will run into issues you never dreamed you would encounter with your application. Your best bet is to prepare yourself for these issues as much as possible. I recommend two or three punching bags.

  3. Experience, Experience, Experience

    Experience drives good practices. Good practices lead to a good product. I cannot stress that enough. However, you must be patience because only through time will you will gain experience.

  4. Start small

    An Onion is made up of layers upon layers of work, built upon previous layers, and layers before that- All the way down to the seed that sparked your creation. If you try to take on something big, first thing, you will fail. You will loose yourself upon the thousands and thousands of standards, features, ideologies, et cetera, that need to be accounted for in order to make a program good. So start small and don’t spread yourself too thin. Focus on the functionality first, worry about the design and other necessities later.

  5. Be Creative

    There are no limits to your imagination. Write down all of your ideas and consult your friends and others on ideas and feedback as well. The best thing to do is implement all the ideas you and others reasonably have first. If you plan on doing it later, don’t. Do it now. If you delay it for a future version, it will only be harder. If you will, once you bake a cake, you can’t easily go back and change the filling.

New Domain!… and other news

Posted by Ryan Gordon on May 17, 2008 under MyBB | 2 Comments to Read

It’s about time I got a domain and as you can see you’ve probably been redirected from the old domain to the new domain. In large part thanks to my brother as a birthday present. I also now have a PayPal account properly setup which is something I’ve been meaning to do for a while now.

In other news, MyBB 1.4 Beta Refresh 3 has been released to the beta testers and it will be the last one- providing no big issues pop up and the bug flow continues to slow- before we decide what to do next. We can either choose a public beta or push it out as the final release of 1.4.

There are many other things that I’ve been up to apart from MyBB. Just this last week I had a 3 page research essay due on Monday, a 5 minute video presentation for Spanish due Wednesday, a geometry test on Thursday, and a PowerPoint due Friday. And then all the normal homework the teachers feel they need to assign on top of that. And to top it all off I came down with a really bad cold. Next week I’ll be doing a History presentation. Then in two weeks I’ll be doing my finals for all the rest of my classes and then on to my possible Internship over the summer. Oh and I’ll be needing to get my driving and work permits.