I'm writing new forum software for us and others - any experienced php coders here?

neptronix

Administrator
Staff member
Joined
Jun 15, 2010
Messages
17,532
Location
Utah, USA
Hi all. Quick intro to me - I've been a PHP developer for the last 11 years and have experience creating and maintaining systems much more complex than a forum. I've also ran a couple dozen websites over time, and currently serve as the server administrator here.

I've been frustrated with modern forum software for the last 5 years and have been wanting to upgrade ES to something modern forever. Based on my research and poking dev's brains, it looks like this is going to crawl to another 6 years or beyond.

I'I sketched out a new forum platform called quickBoards years ago and have sat on the idea since... and recently decided to make this software a reality out of sheer frustration.

I'm currently looking for php and js coders who also follow my mentality of low abstraction, quick code to help me with this project. And also testers, high fives, and financial support.

This project is designed to serve ES's needs first but will benefit the web as a whole. It's designed to completely supplant PhpBB and also hopefully eclipse all other forum softwares as well.

Here's where it'll be different than phpbb:

1) easy image uploads and auto-recompression aka filesize management for images.

2) WYSIWYG editor - no BBcode to write or deal with - more like using microsoft word. This will use an existing component such as CKeditor or something like that.

3) 5 user types: company, moderator, knowledgebase editor, administrator, and regular. The 'company' user is designed to clearly mark commercial users, keep them out of main DIY discussion, and also give them some benefits and recognition too.

4) 6 topic formats:
+ Regular - just like any post on phpbb.
+ Personal - only OP can post to it. Good for announcements or build logs.
+ Knowledgebase - a type of post that only OP and verified knowledgebase editors can edit.
+ Company - Only members of companies may participate in these posts.
+ Sales - these are time-limited posts that can get marked as sold.
+ Question/answer - these are intended for troubleshooting/fixes type posts and can be marked as answered/unanswered.

5) varied subforum types:
+ Regular - just like any topic on phpbb.
+ Sales - only sales posts are allowed in a specific initial post format.
+ Company - users connected to a company are allowed to post topics in this section ( they can't post elsewhere )
+ Question/answer - only q/a posts are allowed.
+ Knowledgebase - only knowledgebase posts are allowed.
+ Offtopic - topics can automatically be deleted after a specified number of days of inactivity, much like 4chan.

6) Full emoji set support instead of predetermined bbcodes.

7) Users can upvote/downvote, as well as tag posts as offtopic, offensive, spam, against rules, useful, articulate, supportive, and exciting.

8) Statistics engine which uses these votes to automatically flag malicious users, especially new ones.. as well as reward users who post the most valuable/helpful content.

9) mitigations against downvote squads ( reddit still hasn't figured this out ).

10) admin specified time limit for editing one's own posts to prevent malicious re-edits.

11) desktop first design; gracefully degrades on mobile and tablets.

12) admin specified icons for both subforums and topics.

13) much improved moderation tools that give moderators less intrusive options to edit and move individual posts.

14) reddit-like filtering options of a subforum - see the most upvoted posts, the most active within a certain time period, or newest.

15) knowledgebase system is built into the board.. a team can be assigned to edit any knowledgebase posts.

16) brute force login attack prevention included.

17) themeing is similar to phpbb in ease of modification and structure.

18) javascript based frontend that uses ajax and such.. no more submitting forums and waiting for a page to reload.. designed very much like a modern social media site.

19) Written in low level PHP 8.0 with minimal abstractions using a tiny framework. In theory, will have dramatically lower resource usage than PhpBB due to the elimination of the chunky Zend framework, for starters.

20) Desktop-first design to support wide screens first :thumb:

21) modern messaging like social media sites instead of PMs... you can send your dissertation over email.

22) Speed not in terms of how snappy it is, but how fast/easy it is to navigate around the site. Ease of use is the #1 priority and the difference between which software is used and which isn't.

33) Localization support and UTF to support all languages and emoji sets..

What it won't do:

1) Plugins/extensions. Everything you need for a small to mid size forum is included in the core. A plugin system would require a shit-ton of abstraction and induce some loss of performance, as well as a burden to support these APIs.

2) Integration into various services. This is not enterprise software.. and never will be. Maybe we'll tack on a quick/easy blogging engine for the front page later on.

3) swiss army knife type features that only large forum admins take advantage of.

That being said, here's a screenshot of the skeleton to show you i'm at least moderately serious :)

quickBoards.png

Now on to business..

What i'm wondering is if anyone is willing to either donate:

1) a small monthly donation via a patreon page to support development costs.
2) php coding time.
3) testing or QA time.
4) javascript knowledge/time.
5) at least a high five.

Let me know if you're interested in this cause!
 
I can offer testing, and opinions on layout/design/functions and be a "wall" to bounce ideas or problems off of, since I know the *idea* of programming but not enough to do it myself. :)
 
Wow! This sounds great. I can see you're been thinking about this for awhile.

I'm in for a few $ now and will start a monthly donation when it gets set up. I know nothing about coding so won't be of use there. I can offer my time if it will help.

I have owned, ran and sold a couple successful businesses, one with sales in 8 figures, so could help with organization and accounting if anything like that is needed.

This sounds like quite a project and have to admire and thank Neptronic for all the effort he has already, and will have to put in to get this done. Hopefully he can make a few bucks selling the new software to other
people with similar needs.

Be sure to keep me in the loop and let me know what I can do to help.

Nick
 
amberwolf said:
I can offer testing, and opinions on layout/design/functions and be a "wall" to bounce ideas or problems off of, since I know the *idea* of programming but not enough to do it myself. :)

Thanks a ton. I think you'd be great for testing, because you have an eye for extreme amounts of detail. :thumb:

nicobie said:
I'm in for a few $ now and will start a monthly donation when it gets set up. I know nothing about coding so won't be of use there. I can offer my time if it will help.

I have owned, ran and sold a couple successful businesses, one with sales in 8 figures, so could help with organization and accounting if anything like that is needed.

Thank you so much. When i have something better than a version 0.0000000001 and a proper mockup to show, i think i'll get together a website and corresponding patreon page and go from there. I do need organization and accounting help for sure.
Glad to have your support.
 
I went hunting in my closet and could not find my old notebook that contained the detailed mockups of this software and i'm rather dismayed at that. So i spent a moment redrawing my preliminary design.

But let me show you how quickboards makes use of a desktop..

quickboards-mockup.jpg

As you can see, mobile mode is a lot like using phpbb today because there isn't a lot of screen..
topic view, post view, chats, posting replies, etc all happen in one dedicated screen, so you have to bounce back and forth between these screens...

In pad/small desktop mode, ( below 1400px screen width ), viewing topics/lists of posts and viewing the actual post happen in seperate screens, but you can reply in real time on the post view screen, and also participate in chats wherever you are without having to switch.
This is a lot like using a social media site like facebook or reddit. It's just as convenient and fast.

>1400px screen width in 'big desktop' mode is where the fun starts.
You can navigate the forum on the left and quickly browse through posts/forums.. and do all your replying/chatting on the right.
Everything happens on one screen. There's no transition from one screen to another. There's less reason to use browser tabs, etc.

It's not unlike using a mail or usenet client, where you have 3 forms of navigation on one screen.
This is an efficient idea... it's just been forgotten because everyone's been designing for mobile first, desktop last.. i'm far from having a genius idea here.. :lol:

033lVEdHEPBg8BPBmu3foqc-3.fit_scale.size_1028x578.v_1569475383.jpg
 
Oh btw don't get the impression that replying to a thread has a tiny little box with no features.

I want something that's between this ( vanilla forums' post editor, which is fully WYISWYG! )

vanilla editor.png

And this ( CKEditor i've installed in my personal blogging engine )

2020-06-13 17_08_26-Office Manual - Brave.png

If i can't find a nice prebuilt editor that works well in mobile and desktop... i can build my own in JS... i've done such things before.. but want to avoid it for development speed purposes.
 
Why couldn't you just switch between both with the basic version as default lots of users here are nerds and would appreciate a nerdy and powerful post editor.
 
flat tire said:
Why couldn't you just switch between both with the basic version as default lots of users here are nerds and would appreciate a nerdy and powerful post editor.

Them "nerds" wont help and step up, its human nature and happens in every non profit organization, volunteer group etc. There are always a select few that do all the work. Sorry I can't help, I have no programming skillzzzzzzzzzzzzzzzzzzz, z's is right because to me its boring, but its an essential skill to be able to program in this day and age.
 
While I like the idea of the newsreader/email client page setup, I can't read stuff like that anymore without having to use the magnify function of windows, and scroll the screen around for everything constantly. (it's better and easier with the 32" screen I have now, but to fit everything I need in such a layout I'd need a 55" or bigger with at least 4k-8k resolution, to make it crisp enough and large enough for me to read).


For readers that don't have such issues, it would be a very nice desktop arrangement (wouldn't be so great on mobile, unfortunately). I used to use FreeAgent for a newsreader when beta testing various things, as most of them used private newsgroups back then, for simplicity--forum software was pretty basic and clunky at best, buggy and datalossy at worst.


So for me, and other visually-impaired users, it still needs something that can be done like the PHPBB does now, where I can have a forum list open in a tab, then be able to "middleclick" to open each thing I want to look at in it's own tab, whcih will itself then fill that screen with no wasted space (PHPBB presently is horrible for this because it has "margins" on the sides unless you expand it out to have fingerprint-sized letters, at some resolutions/screensizes, or you don't open your browser full-width). It should auto-adjust the text content of the page to fully fit the available space, so that the ability to read it and interact with it is optimized for the actual user, and not just to make it easy to program or cool to look at. ;)


Ideally the entire column of stuff for avaters, usernames, etc., could be set to be collapsed or open by default per user, and then opened or closed within each tab, if we're stuck with having something like that. (personally I'd do away with that entirely, and just have the simple "posted by username at this date time" as the first line of each post. This would also be a set of links. The username would go to that user's profile. The rest of it would be a link to the post itself, so one could copy it's URL to use to link that post, or bookmark it, etc. A popup menu when clicking on it to select which one of these things to do would be best, so that non-browser-savvy users could easily figure it out, and it wouldn't require a rightclick at all (handy for mobile).


As an example of my necessary workflow, I keep my subscriptions page in UCP open all the time. Then I refresh it, and middle click the red page icon on each thread that has a new post, to bring me to the point where new posts start in that thread, each one in a new tab.

I also use the topleft menu to open a tab with Unread posts, and Unanswered posts (so I can see if anybody new needs help, etc), then open stuff from there just like subscribed threads.

For me, that's core functionality, as the best and most efficient way to do what I do. The reason I do mulitple tabs all at once instead of opening each one and going back, is so I can cross-reference between threads, and so if I can't presently answer a question, I can leave it open and read other things until I figure out what to post.



Another way taht would work for many people is to have the forum list page "remember" where you are and where you go. So you open a subforum or a subcription list or new-post list, etc., and then open a thread from there. When you get done with that thread and close it, it automaticlaly takes you back where you came from. If you close that, it takes you back to the previous place. Etc., till you get back to your default home page, whatever you have set that to in your profile.


I have lots of other thoughts, but you don't want a novel.... ;)
 
I'm a recently retired web developer with php and javascript experience. I am also finishing my first ebike conversion thanks to this forum. As a recent retiree with a new ebike I'm not sure how much time I can provide but I'd love to give back to this community. Check out my online portfolio and resume to get a feel for how I might fit with this project. These sites are dated and don't include some new tools I started using such as Quasar Framework, Laravel, Vue.js and Docker

I assume this will be a open source project.
 
flat tire said:
Why couldn't you just switch between both with the basic version as default lots of users here are nerds and would appreciate a nerdy and powerful post editor.

quickboards's set of features and data storage format are not compatible with phpbb, so that'd be a harder task than writing new software from the ground up.

amberwolf said:
While I like the idea of the newsreader/email client page setup, I can't read stuff like that anymore without having to use the magnify function of windows, and scroll the screen around for everything constantly...

In this system, if you hit ctrl+ in the browser, which effectively reduces the internal resolution, you'd eventually end up in single pane mode, and the size of everything would also increase. So the feature you want is already built into the design :thumb:
( although you'd be missing out on some pretty cool easy navigation! )

I may later add an intermediary mode for tablets/small screened desktops where you get navigation on the left, but it's smaller and shows the mobile sized version. This would be best for low vision users.

A lot of the other things you talked about will be hashed out later.

kauaicycler said:
I'm a recently retired web developer with php and javascript experience. I am also finishing my first ebike conversion thanks to this forum. As a recent retiree with a new ebike I'm not sure how much time I can provide but I'd love to give back to this community.

Happy to hear from you. I'm still in the process of plotting out how the the internals work, and will be doing most of the core work, but there's lots of little pieces that i could hand over to someone else, where minimal coordination would be needed, thus it'd be easy to contribute. Are you stronger with php, javascript, or both?
Also can you write php/js without a big framework, using a super minimal/simple one? because i won't be using laravel or react or anything like that.

kauaicycler said:
I assume this will be a open source project.

It will be open source, but there may be some parts that are encrypted paidware if i chose a freemium business model.
Currently, i'd like the business model to be like discourse's - donationware at first, and offer paid hosting plans later.

My preferred model is donationware and 100% open source. The emulator project RPCS3 operates this way. I'm not sure this is viable for this project though.

I certainly want the team who works on out to get paid eventually.
 
Okay, i've done some additional work on plotting out how the forum software works visually and talked to a couple of my techy friends about the idea today after our sunday meditation session.

They like the idea and gave me some good feedback!

I'm currently working on finishing the internal logic plotting, then will proceed to start working on a live 'proof of concept' aka version 0.01 :)
 
neptronix said:
In this system, if you hit ctrl+ in the browser, which effectively reduces the internal resolution, you'd eventually end up in single pane mode, and the size of everything would also increase. So the feature you want is already built into the design :thumb:
( although you'd be missing out on some pretty cool easy navigation! )
If I could see like I used to, and remember things like then too, I'd prefer the newsreader/client version. But I can't, so I *have* to do it the way I do. (since I can't afford a large enough monitor at a high enough resolution, and a video card to match, to do it the other way)

If I have to do something in every new tab to change the view every time, then I'll pass on it.

Same for if I have to use the browser zoom level (ctrl + / - ) to do it, because doing that affects every new tab opened (exact behavior depends on the browser "brand" and version); the site should have it's own way of setting these things.

That's part of the problem with PHPBB--I have to zoom in on that, then if I go do something else on a different site, the something else may be too far zoomed in, or out, or whatever--it's not separate site-specific controls, and each site has it's own default text size, etc. So it's already bad enough.

If you're making something new, you should try doing accessibility that's better than what exists, rather than just forcing people to depend on the inadequate existing stuff (which isn't even consistent between browsers/versions).

It needs to have some way to set a user preference for how the display will be, for those that need better accessibility.



I also recommend you build in screenreader capabilities from the lowest level, because there's lots of sites that are text-information-based stuff that simply don't work right with them. Most image-based sites don't, probably because they figure if someone needs a screen reader they couldn't possibly get anything out of images...but they're wrong, and don't understand the problems, uses, needs, etc., of impaired people.

I don't need the functionality yet, but someday, I will, and many others already do. So I'll advocate for us all, if no one else will.





I may later add an intermediary mode for tablets/small screened desktops where you get navigation on the left, but it's smaller and shows the mobile sized version. This would be best for low vision users.
Unless you *are* a low-vision user, you aren't the best person to decide what is best for them. ;)

That's what's wrong with most of the stuff out there now (in *any* technology, hardware or software)--the people making it decided what was best for something, instead of listening to the people that actually use it to tell them what was best.

Let those of us that have a need tell you what that need is--you'll make a better product.
 
If you want to extract nuances from the 1:n, n:1, & n:m relationships of the forum members (e.g. who likes who, who always downvotes x, who has the most connections, etc. i.e. classic "friend of a friend" stuff) you will want to store all the relationships in a graph. An RDF semantic graph can do what you want, but so can a property graph. There are many options, some of which are open source. Even a handful of commercial RDMS databases come with graphs built-in these days.

P.S. if you want to go down this road, I can assist with the graph modeling.
 
neptronix said:
kauaicycler said:
I'm a recently retired web developer with php and javascript experience. I am also finishing my first ebike conversion thanks to this forum. As a recent retiree with a new ebike I'm not sure how much time I can provide but I'd love to give back to this community.

Happy to hear from you. I'm still in the process of plotting out how the the internals work, and will be doing most of the core work, but there's lots of little pieces that i could hand over to someone else, where minimal coordination would be needed, thus it'd be easy to contribute. Are you stronger with php, javascript, or both?

Also can you write php/js without a big framework, using a super minimal/simple one? because i won't be using laravel or react or anything like that.

I can write php and javascript without frameworks, my former employer forbid frameworks. I've been professionally using javascript since it was introduced and php since version 3.0. I'm good with both.

A colleague of mine called me the "Egoless Programmer" :oops: . I can follow whatever coding style you implement.

neptronix said:
kauaicycler said:
I assume this will be a open source project.

It will be open source, but there may be some parts that are encrypted paidware if i chose a freemium business model.
Currently, i'd like the business model to be like discourse's - donationware at first, and offer paid hosting plans later.

My preferred model is donationware and 100% open source. The emulator project RPCS3 operates this way. I'm not sure this is viable for this project though.

I certainly want the team who works on out to get paid eventually.

OK, when you're ready let me know and I'll help where I can if you're interested.
 
AW, Chrome, and it's variant that i use - Brave, remembers zoom settings on a site by site basis. It will work for you to increase the size of the fonts. Otherwise, with a big zoom, the 'workflow' will be only slightly better than phpbb, as there won't be any space on the screen to have 2 panes.

What you are asking for would dramatically increase development costs and time, as well as create a huge barrier for theming. The project is already massive in how much work needs to be done, and has no funding. There's no way it can be designed in an accessibility-first way until the later stages.

quickboards will be designed in a way that font size will take precedent over using large amounts of whitespace, as is common in a lot of modern designs. You won't have to zoom much. It'll be a bit easier to read than phpbb. And pleasant to view on super high resolution screens. :thumb:

MJSfoto1956 said:
If you want to extract nuances from the 1:n, n:1, & n:m relationships of the forum members (e.g. who likes who, who always downvotes x, who has the most connections, etc. i.e. classic "friend of a friend" stuff) you will want to store all the relationships in a graph. An RDF semantic graph can do what you want, but so can a property graph. There are many options, some of which are open source. Even a handful of commercial RDMS databases come with graphs built-in these days.

P.S. if you want to go down this road, I can assist with the graph modeling.

That's a very interesting idea, which would allow the statistics engine to identify user bias. I do wonder how computationally expensive that is though. quickboards will be written to be fast as shit internally as a means of affording extra CPU time for the statistics engine that aids moderation and automated ranking of users ( the meritocracy system in stackoverflow and discourse is to be improved on here! ). If something like that fits into the 'cpu budget' after the base features are implemented, i'll certainly consider it and talk to you. Would MySQL/MariaDB be compatible with this graphing, because i want to utilize a common database to keep the install requirements as low as possible. ( even if MySQL is far from being the best choice technically. )

kauaicycler said:
I can write php and javascript without frameworks, my former employer forbid frameworks. I've been professionally using javascript since it was introduced and php since version 3.0. I'm good with both.

A colleague of mine called me the "Egoless Programmer" :oops: . I can follow whatever coding style you implement.

Excellent. I'm glad you're not hung up on using frameworks. I understand this choice i've made in not using one will result in the project being derided and rejected by a lot of contributors. However, in my long experience of development, big chunky frameworks help you up front, then shoot you in the foot in flexibility and performance later.

I don't know what's bad about being an egoless programmer. Most programmers have intolerable personalities, and one that's easy to work with can't be a negative :)

kauaicycler said:
OK, when you're ready let me know and I'll help where I can if you're interested.

:bigthumb:
 
neptronix said:
That's a very interesting idea, which would allow the statistics engine to identify user bias. I do wonder how computationally expensive that is though. quickboards will be written to be fast as shit internally as a means of affording extra CPU time for the statistics engine that aids moderation and automated ranking of users ( the meritocracy system in stackoverflow and discourse is to be improved on here! ). If something like that fits into the 'cpu budget' after the base features are implemented, i'll certainly consider it and talk to you. Would MySQL/MariaDB be compatible with this graphing, because i want to utilize a common database to keep the install requirements as low as possible. ( even if MySQL is far from being the best choice technically. )

Given the MySQL requirement, perhaps the most straightforward approach would be to leverage something like Ontop (see: https://github.com/ontop/ontop) to provide a "virtual" graph on top of MySQL relational data. Might not be performant enough for real-time analytics, but certainly a tool that could be leveraged asynchronously by the front-end or used by the admins to discover hidden patterns, then take appropriate action.

M
 
MJSfoto1956 said:
Given the MySQL requirement, perhaps the most straightforward approach would be to leverage something like Ontop (see: https://github.com/ontop/ontop) to provide a "virtual" graph on top of MySQL relational data. Might not be performant enough for real-time analytics, but certainly a tool that could be leveraged asynchronously by the front-end or used by the admins to discover hidden patterns, then take appropriate action.

Very cool that you can plug something like that into MySQL etc. I'll have to consult with you in the later stages of development about this area of your expertise.


OK, at this phase, i want to get a visual proof of concept going. But my linux server administration, IT, and programming work have all picked up lately. I'm focusing the early part of this week on getting my work out of the way so i can devote my friday or saturday to an all-day hack-fest. I will continue to set aside an entire day to working on quickboards every week until this proof of concept is complete.

Once that is done, i can start plotting out all the bits and pieces that make the thing run, and start promoting the idea, with the aim of getting open source contributors, feedback, and funding.

The concept is still too nebulous to pitch. There's some details that may change. However, i've collected enough feedback here and elsewhere to take this moon-shot project seriously. Thanks for that, ES.
 
I like the feature list and I do think something needs to be done. My PHP and JavaScript skills are pretty rusty, but I would contribute money.

My concern is that it is creating something that wouldn't have life beyond you neptronix and wouldn't be anymore likely to be updated in the future than what we have now. I hope you don't take offense, none is intended and I appreciate your work.

Perhaps just getting one update to something more modern is worth it, and no worse than we are now, even if it turns out that it isn't long-termed updated.

But I would like to encourage design choices to be made that would leave the site in a way that could continue to exist and be maintained easily enough, even if new features weren't added, if you move on.
 
Thank you for your offer and support.

The forum software would absolutely have a life beyond me. If it is as interesting to the world as i suspect it is, it won't be hard to find other people to form a team. I've formed and managed teams before.

The software itself is designed to be easy to hack on without the knowledge of frameworks or other high level concepts. The templating system is also designed that way. It's designed for maximum adoption and maximum development.


So anyway, i was hung up on some serious design problems for a long time, and had a spurt of inspiration the other day and figured them out. They were related to the "single page app" design and how search engine indexers would handle browsing through the forum. Also, how the page would initialize from a URL after you click a link. Also, pagination inside a single page app.

Flarum and discourse both use a scroll bar within a scroll bar, and write the URL to the web browser as you scroll along. I think this is a bizarre design decision and never liked it. Example here:

2020-06-30 11_03_25-Write_ Re_ ES_ Cost Savings - Thunderbird.png

I've decided to go with traditional pagination instead. It is accessible and more familiar, as well as easier to code. It doesn't create jumpy scroll bars, which are annoying. It is also more familiar to users of phpbb. Phpbb forum owners are our target and compatibility with some functionality is a priority.

Some of the hardest design problems are solved. I can now move on to writing a map of what needs to be coded and start coding the first pieces of the frontend and backend. Getting double/single pane switching and mapping down is top priority.
 
I'd like to help, but I am having trouble understanding what you are asking, I guess you are sort of using the thread as a brainstorm, but I think the concepts are a bit too abstract.

Another thing is, aren't there open source forums that one could code on to their liking? Why build from scratch?

Before I returned to school full-time for comp sci I did web development with WordPress, making themes and plugins. I am not at all experienced in coding something this ambitious however! I would love to help though for some experience outside of my own projects. I'm fine with programming outside of a framework. I secretly hate all frameworks :lol: Minimal good.
 
Aquakitty said:
I'd like to help, but I am having trouble understanding what you are asking, I guess you are sort of using the thread as a brainstorm, but I think the concepts are a bit too abstract.

You're right, i will retitle it in the future.

Aquakitty said:
Another thing is, aren't there open source forums that one could code on to their liking? Why build from scratch?

I've looked through the source code of every forum platform for this reason - should i really reinvent the wheel? Discourse, PhpBB, Flarum, Vanilla forums, etc etc were examined.

Here's my analysis:
1) Discourse is written in Ruby, which is a dying language with a strange syntax, and horrifyingly slow. Forget it.

2) Flarum rests heavily on Laravel and a shit ton of tooling and dependencies. At scale, it would be slow as shit. Skinning it like one would skin phpbb is nearly impossible because the interface code is javascript first. It has the most insane level of abstraction i have ever seen. It would take longer to peel the layers of the onion than writing something equivalent from scratch. I have talked to the dev team for a few years about this. The lead dev left the project and left them with this leaning tower of pisa. I've noticed that progress on the code is exponentially slowing down. This is typical of high abstraction frameworked projects. You can build something that works well fast, but you are hobbled and restricted later. I've seen this again and again in my field.

3) Phpbb's code is pretty useable. It leans fairly lightly on the Symfony framework. It has a lot of legacy features that would need stripping out. There aren't any genius ideas in this code to steal; it smells like 2001. I plan to 'borrow' some pieces of code to create a phpbb importer and URL routing capability. That's it.

4) Vanilla is built on a proprietary framework called garden. I dislike the code quality. I may readapt the WYSIWYG editor once it is mature in v4.0. Or i may use a prebuilt component that has better support.

5) Others have nearly no code worth taking. I'd call them phpbb clones.

Overall, the single page app design of QuickBoards cuts a lot of display generation code that non-SPA message boards use into little pieces. That's a problem. Flarum's code is absolutely unuseable otherwise it would be a nice codebase to fork.

Aquakitty said:
Before I returned to school full-time for comp sci I did web development with WordPress, making themes and plugins. I am not at all experienced in coding something this ambitious however! I would love to help though for some experience outside of my own projects. I'm fine with programming outside of a framework. I secretly hate all frameworks :lol: Minimal good.

Good ol' wordpress. There's some oldschool php right there. I like wordpress from a coding perspective. From a server administration perspective, it's a security nightmare. And that's where PHP gets it's bad reputation from, lol.

I'm happy to hear i have yet another person considering working on the project who has the same aversion to chunky frameworks. The framework for QuickBoards will be minimal and easy to understand for any newbie. There will be minimal php shorthand as well.

I know some programmers will scream bloody murder about it not being written in laravel etc. But they're wrong.

I maintain a LMS for a large university with no framework. It's so fast that 1000's of students can use it simultaneously on an amazon T2 nano instance ( 512mb of ram ) and it never cracks 10% cpu load still. It responds like it was written in assembler.
Writing low abstraction PHP is a bit more work but the results are amazing and the code is many times more understandable. You'll enjoy working on this system if this is truly your style :)
 
That's cool but that forum's code replicates an early 2000's design. I couldn't realistically use any of it's code for a concept like mine.


I figured this thread deserves an update for anyone who was interested in my project.

At this time i do not have the funds to hire myself for a month to produce a working mockup.
I believe i should have a working mockup before i submit for funding of any kind.
I don't see when i will be able to do that, due to personal difficulties.


I have another software idea that is a significant leap over it's competition. The software is vastly simpler and easier to write than this forum software. I'm in the process of finishing the interface mockup now.

This other software would be sold as a SaaS and those profits would be used to fund the new forum software.

I'm busy working on that project for now.
 
Back
Top