MyBB Community Forums

Full Version: MyBB 1.x & 2.x Development RFC
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4 5 6 7 8 9
I would just advise against a poll and making a decision solely on that, given the reduced level of activity currently on the forum, and in case somebody decides to spam the poll with fake accounts.

Just to make my own position clear - the only option that is unacceptable to me is the first option. Now is not the time to wave goodbye to the 1.8 series, because that's all that the community has. It's a stalemate position, the position MyBB currently finds itself in.

That leaves options 2,3 and 4 - I really don't have a strong preference. Bottom line must be that the 1.8 series must be continued to be maintained AND developed to the point of it being an acceptable product. This can be alongside a version 2.0 development, but it is only when version 2 reaches an actual beta phase that you can stop developing 1.x
Ashley. I'm the one who proposed a 1.10.0 in the first place, haha.

In a way, what I did wasn't much different from what others said, but I took the time to put together what a 1.10.0 might realistically look like, some might disagree with every detail, and that's fine.

To be more honest, I don't mind a 2.0, if a large number of contributors decided to step up tomorrow, then I'd be all for it, but we're not even sure *when* 2.0 will show up. A year? Two? Three? It's mystery. There are real tangible arguments for 2.0, that's what I'm saying, and I have seen some arguments which are slightly dismissive of what 2.0 aims to achieve.

I've tried to raise awareness for areas people could help with in 2.0, perhaps not in the best way possible, but I've tried as it really would be the best solution given the right resources.

If you think I think developing 1.x is pointless, then you have misunderstood what I'm trying to get across, it's not as black and white as it seems. Everything needs to be balanced and pondered and thought about carefully as we really don't want to be doing this again next year.
(2017-10-09, 10:27 PM)Ashley1 Wrote: [ -> ]I would just advise against a poll

Definitely agree i think the poll is a bad direction to go for a number of reasons
  • This would slow down any decision making
  • this could be exploited
  • A lot of users would just want a stable forum system not understanding the core and not interested in the impacts of running to modern standards and compliance
All in all i think it is a matter of finding that balance and we all know that is not going to be that easy and no one will be completely happy no matter what.

I think a more public list noting where the 2.0 dev is going and what is and is not done.
The same with 1.x

the big issue with any changes to 1.x that mean work on plugins and themes is going to hurt admins and the devs of the plugins etc.

such a hard decision to make
If 2.0 development continues in some shape or form, I think it would be a good idea to have a few articles on 2.0
E.g. An introduction to it's architecture and how control flows through it. Models, Views, Controllers, etc., an introduction to git, and an introduction to contributing to the project.

I don't know how much that would help, but it would be nice, if it inspires at-least someone to contribute.
Also, 2.0 development is a tricky one, as this year has been particularly harsh on 2.0 development, so it may get better next year, but no one really knows when it'll be ready.
(2017-10-08, 03:01 PM)Ashley1 Wrote: [ -> ]Well the end user does not know or care about the correctness of the codebase. All they care about is the look (modern looking) and that the software does what it's supposed to do, at the level of the end user, not some technical expert. 

Exactly what I was trying to say. As an end user I'm in my 60s and running a successful forum for people with health problem. I chose and have been using MyBB for over 7 years now.

Myself and my members love it. It's clean ans simple to use which is what my members want. I have added some plugins and made a few changes to make the basic software suitable to our needs.

I think most of this thread is only going to attract answers from people interested in the coding side of things, but you have to think of the end user because that is were your publicity is.

1.8 works, yes there are few niggles I would still like to sort but I don't have the skills or even want to play around too much with the coding but it works. It was also a nice update from 1.6 and the changes were very welcome, it's clean and simple to use but by what I have seen of 2 so far I don't see anything that would make me change.

I'm not saying dump 2, but as an end user with little knowledge of how the stuff works I just want to take it out of the box and use it without too much hassle.  

I wonder how many copies of 1.8 are being used and how many are interested in 2 ? My thinking is that the end user (People like Me) would just like a few problems sorted if they effect us and get security updates as and when they are needed.

As for the suggestion of a poll it just confused things even more for me. Plus we all know polls don't give a good reference and can be abused.

Like I said I'm just and end user giving my personal opinion and I'm very grateful for all the work that the MyBB staff do, I'm also very happy with the community there is usually someone around that can help (I have even done so myself)  Smile

But at the end of the day the people behind MyBB the ones with the keys so to speak have to decide where they want MyBB to go. It's their software so as an end user all I can do is use it if I like it (which I do) or find an alternative.

I think there used to be a saying here at MyBB "Free never tasted so good" I use it because it's free and it's the best free forum software out there.

Thank you all.
My vote is for full, sequential refactoring of 1.x. I believe that 1.x can be built toward 2.0, and eventually become what it is now. By the time we reach that point, the ideologies that were planned for 2.x will be outdated with the same amount or more bugs that are currently present, and we will end up in the same situation we are now. Unless we can predict the future, 2.0 will always take too long for it to be worth the trade off.

1.x can eventually become "2.x", it doesn't "have" to be a rewrite, though it'll be more tricky.

1.x should break some compatibility where possible more often when these updates are actually needed. For example, once the software is at a stable (More modern) point, we should at least entertain the idea of some JS framework for the user interface.

I would be happy if limited 1.x UX improvements, bridging core structure changes & development of 2.0 were the selected option all the same.
The poll would be used as a mechanism to list all participants under clearly defined approaches (which is why it should be public IMO, and possibly allow multiple choices) - the number of votes for each option would be irrelevant.

(2017-10-10, 11:57 AM)sarisisop Wrote: [ -> ]I think most of this thread is only going to attract answers from people interested in the coding side of things, but you have to think of the end user because that is were your publicity is.

1.8 works, yes there are few niggles I would still like to sort but I don't have the skills or even want to play around too much with the coding but it works. It was also a nice update from 1.6 and the changes were very welcome, it's clean and simple to use but by what I have seen of 2 so far I don't see anything that would make me change.

I'm not saying dump 2, but as an end user with little knowledge of how the stuff works I just want to take it out of the box and use it without too much hassle.  

I wonder how many copies of 1.8 are being used and how many are interested in 2 ? My thinking is that the end user (People like Me) would just like a few problems sorted if they effect us and get security updates as and when they are needed.
The development of 2.0 was started mainly to address the overall low code quality causing all kinds of problems, starting with difficult maintenance - most of bugs are hard to fix because solutions are convoluted: there are numerous hacks, workarounds and poor structure decisions and changing them would result in rewriting major sections one way or another, resulting in numerous theme/plugin compatibility issues. The 1.x series don't receive major feature updates because it's currently technically inconvenient to adhere to rules that don't make much sense anymore.

After converting to rewritten software MyBB board owners would thus notice a long-term improvement of faster delivery of new features expected from a modern forum, pleasant & far-fetching theme customization, bug fixes and security patches (1.x releases usually happen once every few months - for that time all boards are theoretically vulnerable until updated, and updates can take a long time because security patches can be as complex as bug fixes due to code quality).

Any major upgrade between either 1.8 or further 1.x iterations and the first version of a fully rewritten software (current target is 2.0) would be accompanied by 1.x end-of-life deadlines (to encourage users to update, reduce maintenance burden and prevent most people from using dangerously outdated code) that are adjusted to allow most plugin and theme developers to familiarize themselves with new techniques (more complicated, but easier once learned, especially with multiple examples), and possibly extended further if we notice the Community could use some more time.
As as direct consequence of better quality (i.e. code that doesn't need hand-guided documentation to avoid quirks) plugin and theme maintenance (creation & updates) would be more encouraging to extension developers, and new Extend projects could be reviewed and audited faster (additionally, users could simply download the non-reviewed version directly from an extension's repository on their own risk, as that's where extensions will be hosted in 2.0).

Once most features are available in the rewritten version and can be easily converted to, the burden would be reduced as much as possible and the upgrade would be similar to how it has been happening in the past: a web-based upgrade script that requires some information, some time to run the conversion and you shouldn't have to need the command line or switch hosting providers as long as the current one provides a reasonably up-to-date environment.


We are hoping to discuss the degree of how the 1.x series can be updated without spending too much time on code sections with death sentences already present (i.e. that would be ripped out and replaced with any major bump, like from 1.8 to 2.0).
Basing on today's state of discussion among developers, the 1.x series could introduce theme-related breaking changes (resulting in minor plugin incompatibilities and 100% old theme incompatibility) for easier theming - making it possible to create responsive/heavily customized themes - and strategic additions (code libraries, etc.) that would be used whenever some 1.x code is rewritten, with the main purpose of bridging the knowledge gap between "simple" 1.x code and framework-powered 2.x code.
I wholeheartedly support this!

(Most of the staff that are in the Discord know this already, but Euan suggested I post it here as well!)
(2017-10-10, 04:30 PM)Lewis H Wrote: [ -> ]I wholeheartedly support this!

(Most of the staff that are in the Discord know this already, but Euan suggested I post it here as well!)
Dont get it:: what do you mean by saying 'this'?
Something to note is that the "end-user", people using a MyBB forum will always run into a modern well-maintained site anyway, it's more the admins who will have to throw together solutions, although if an admin doesn't have HTML / CSS / PHP / etc. expertise or someone with that expertise, then they'll have a tough time competing against other forums who do.

Also, a JS Framework is harder than you think. Discourse had five full-time well-paid programmers over several years developing their software, and it still had quite a few SPA related issues. SPAs are *hard*. Every SPA type forum I've seen has either been developed over a really long period of time or been an absolute disaster. Perhaps, it is the best option, but it would have to be approached carefully.

For mobile friendliness, if it's extremely urgent without breaking backwards compatibility, there is always the approach of rebranding archive mode as "mobile mode", redirecting mobile UserAgents to it, and unveiling that as an optional feature. Possibly touch it up a little to make it more presentable, however the ideal situation would be a responsive design.

The thing with 1.x is that the structure is so complex that some variables end up being sanitised several times just to be sure there aren't any exploits in that code path. Also, if you change a piece of logic, it can be pretty hard to find all of the places that change affects. With 2.0, these would be trivial, it's nearly impossible for 2.0 to have an equivalent number of bugs simply because it follows modern unit testing and other principles.

It's said that unit tests can eliminate over 70% of bugs, if well-done and can automatically catch regressions they are designed to. With 1.x, each component would have to be manually tested by the QA Team or other volunteers, and then someone would have to go in to fix it and hope they don't introduce a new bug in the process due to 1.x's complexity.

And that's just unit tests. The whole overhaul to a modern structure should eliminate countless bugs from duplicating logic over and over and other issues with 1.x, it's fairly common for admins to wait six months or so after a new release, so that the bugs will be ironed out.

The one exception to that, of course, is if you don't write the tests and 2.0 is currently lacking in that regard. We need a lot more tests.
That said, writing a bunch of tests is generally faster than manually testing every itty gritty detail of the permissions system to make sure it actually works in every situation.

If there's an area 1.x can compare, it would be functionality, it has a vast amount of accumulated functionality over the past two decades, functionality which would take 2.x (not 2.0) time to re-add. It'll be quicker to re-add than it originally was in 1.x, but it would still take time, not to mention, that we aren't in the golden age of forums any-more which'll make it harder to stoke up passion.
Pages: 1 2 3 4 5 6 7 8 9