WildcardSearch / Advanced-Sidebox

A plugin for MyBB forums that displays custom boxes on various forum pages.
GNU General Public License v3.0
20 stars 10 forks source link

Just worried... #29

Closed avril-gh closed 11 years ago

avril-gh commented 11 years ago

While im working more and more on this project i began to see things that began to make me worried. I think it would be good if i share this thought with you.

To put it simply, it seems to me, that even tho you introduce your intentions as attempt to make asb simple, i began to see that what you do, is increasing weight and complexity of core with each move, which then introduce next and next new problems which are slowing you down and pushing side tracked to solve them. But solution eventually opening next doors to future issues which piling up without end. Its just going slowly straight into dark forest full of thickets.

WildcardSearch commented 11 years ago

So you are saying that the core is too heavy.

How do you suggest we lighten it?

avril-gh commented 11 years ago

You have implemented many awesome improvements, but it seems to me that when you add or fix something, then you review whole project from angle 'if everything fit and are properly maintained'.

Yes, it does fit, and it all work.

But have you noticed that along with improving, you are trying hard, to save features which does not fit here ?

What you really do is losing most of your precious time to fight with reamainings inherited from old Nayan's design and his ideas, without noticing that they does not fit here anymore. This is exacly what sidetrack you from implementing new features.

It came to me when i was working on Online Staff, which is new and fresh thing made exclusively for asb. It bring fresh breath because it was not inherited from Nayan's design nor created with his ideas in mind. It utilises your core design and its new features, together creating simple and powerful environment.

Shouldnt it be the way that, when more versatile feature is added, it should replace old one as obsolete, before these obsolete things accumulate increasing complexity, confusion and will require additional care and maintenance which will slow you down and sidetrack ?

Your features are excellent, custom box with exporting abilities, addon options and fool proof updating handled internally by core. Then when you look at how Online Staff utilise core functions, you will see that most of ideas like dividing addons to simple, complex, stereo, and all the rest is just unnecessary raising complexity, for everyone. Users, addon developers, system maintenance, core itself, count of trash created, not providing anything more than this in return.

In my humble opinion. They should be removed as obsolete.

If you look at Online Staff as an example you will see all your desired ideas allready fulfilled.

Full utilisation of your awesome auto updating feature. Great implementation of core side maintained options. And at the same time unlimited flexibility and functionality brought from internal addon processing its own data. It is, as it should be. Core manage, maintain and interface addons with mybb, and addons provide required data to core depending on addon type and its settings.

I do not see options like, stereo, simple, complex, global templates and even variables like left and right (do not mistake with position left and right) required. Its only purpose is increasing complexity, confusion and add overwight to core maintenance and resource count.

In my humble opinion Wildcard's asb should not be simple clone nor improvement of Nayan's sidebox. It should be your new awesome asb which use your fresh ideas and design at whole.

In new awesome WIldcard's asb, there only two types of modules should exsist.

Custom module with its ability to export data, and addon module with its abilities as shown in Online Staff example addon, - which is able to handle with easy, all and any feature of all current other type modules. For now there are Custom module and '150' types of addon with next '150' ways of working.

The Online Staff allready proved working and not requiring additional coding, and removing Nayan's ghost remainings would not even make any hurt to it. It utilise all new core features, simplify maintenance because all other box types (except custom) along with his confusing blurry ideas ($whatever_l $whatever_r ect) would be removed, which simplify maintenance, clarify development inteface, and are universal from any point of view.

Please consider if this is not what you really seek for, instead of straying betwin countless module types, trying to invent how to bound addon processing to core at the same time calling it separated, ect. It raise complexity, limit functionality. Exacly these and similar oppositions introduce new challenges and problems to you like for example known issue - 'hardcoded addon tittles' which is nothing more than effect of following this track and shouldnt happen.

This is not proposition, request, nor implementation idea... Its my worries and thought's which i believe shared with you may be helpful. I will not get it to my self if you not agree with my worries, and believe that everything is ok, and that there are no problems which require any changes at all.

However, complexity of asb is raising and there is also another bad flaw hidding within, which users will point at sooner or later, and this one will perhaps require rebuilding overall asb structure, and with current count of internal details and its complexity i see it dark.

WildcardSearch commented 11 years ago

You have implemented many awesome improvements, but it seems to me that when you add or fix something, then you review whole project from angle 'if everything fit and are properly maintained'.

Yes, it does fit, and it all work.

But have you noticed that along with improving, you are trying hard, to save features which does not fit here ?

Which features don't fit?

It came to me when i was working on Online Staff, which is new and fresh thing made exclusively for asb. It bring fresh breath because it was not inherited from Nayan's design nor created with his ideas in mind. It utilises your core design and its new features, together creating simple and powerful environment.

Shouldnt it be the way that, when more versatile feature is added, it should replace old one as obsolete, before these obsolete things accumulate increasing complexity, confusion and will require additional care and maintenance which will slow you down and sidetrack ?

Your features are excellent, custom box with exporting abilities, addon options and fool proof updating handled internally by core. Then when you look at how Online Staff utilise core functions, you will see that most of ideas like dividing addons to simple, complex, stereo, and all the rest is just unnecessary raising complexity, for everyone. Users, addon developers, system maintenance, core itself, count of trash created, not providing anything more than this in return.

In my humble opinion. They should be removed as obsolete.

Simple and complex module types are just a way to distinguish add-on modules that require template changes (and therefore must be installed) from add-on modules that do not. How can that be too complicated?

Stereo modules are necessary in order to present elements sized in relation to the current ACP sidebox width setting for that position.

As for 'all the rest' I don't know what you mean . . .

In my humble opinion Wildcard's asb should not be simple clone nor improvement of Nayan's sidebox. It should be your new awesome asb which use your fresh ideas and design at whole.

So you think this plugin is a clone?

From the first time I figured out how to use avatars instead of name links in the WOL box on Nayar's plugin this project has ceased to be about me. My forum does not use boxes on either side, group permissions for side boxes, theme exclude or any of the features that have been added to this plugin period.

I have made the interface and framework for the benefit of others and allowed the options that people asked for to the best of my ability.

This plugin is not a clone. I only reference Nayar out of respect (because his was the best of the sidebox plugins IMO) in reality he was far from the first to use this technique.

Long ago this project separated itself from the pack not because of what I wanted, but because of the desires of the users. Others have commented that this is the most powerful side box plugin ever created for MyBB and you call it a clone . . . I must be misunderstanding.

straying betwin countless module types

I don't know what that phrase means

trying to invent how to bound addon processing to core at the same time calling it separated

You have failed to understand encapsulation. Modules should focus on creating content as their sole job without having to worry about implementing settings and templates, uninstalling/installing/upgrading or any of that . . .

To separate these elements logically we have to understand their jobs and allow them to focus directly on that task without interference.

Exacly these and similar oppositions introduce new challenges and problems to you like for example known issue - 'hardcoded addon tittles' which is nothing more than effect of following this track and shouldnt happen.

That isn't a problem at all. In fact I have already finished adding custom title options to side boxes and because I had the foresight to give side boxes their own title property (rather than just inheriting the add-ons name) it was very simple to employ.

You say that the project is a jumbled up mess-- I say that it is unfinished, give it time.

However, complexity of asb is raising and there is also another bad flaw hidding within, which users will point at sooner or later, and this one will perhaps require rebuilding overall asb structure, and with current count of internal details and its complexity i see it dark.

Which flaw would that be?

Avril I appreciate your concerns.

The thing I would have to say that makes your points invalid is that all the features you propose removing are necessary-- and also they are integral parts of the framework (and things the user isn't even aware of).

They don't slow anything down and they don't cause 'bugs' they allow functionality that (even if it is never used by anyone) doesn't hurt a thing.

avril-gh commented 11 years ago

I think i caused you unwittingly alot of confussion and introduced many unnecessary small missunderstandings, by enveloping everything in a long wall of text rather than making it short and stick to main topic. It just unexpectedly got shattered into many small pieces pulled out of context, which have no any sense, nor was anything i was about to say.

Regardles from this missunderstanding, fortunately your replies allowed me to figure out and shape into one, your point of view as a whole.

Thank you for your reply and sorry for missunderstanding.

WildcardSearch commented 11 years ago

Okay I can accept your answer, but I must admit that I would still like an answer to my question:

Do you think this plugin is a clone?

You think differently, but your opinion matters to me.

With respect, Wildcard

avril-gh commented 11 years ago

I told you allready that you totally missed the true meaning of what it was all about, because main message was contained within text as a whole.

Because it was too long to read without losing focus, you got distracted by details which had no real meaning when pulled out of whole message scope.

One will never experience nor understand how cake tastes if try every component separately, and the same one will never understand how earth globe looks like, looking at it from surface. Sometime its required to look at things from greater distance to understand it.

But if you insist to talk about role of each detail from which message was composed, i can try to reply this. (even tho it dont have much sense)

Do you think this plugin is a clone?

Role of sentence reffering to Nayan's sidebox, in context of whole message, was to make you ready for eventual big steps which you possibly would take if you would understand the message

Its purpose was to build up your soul and strenght. Prepare you to something that may require additional effort, Tell you that "this is your plugin not anyones else - you are awesome - world is yours to conquer, and you can do everything you want because its easy'

...its sad, how much different was your conclusion drawn from random sentence in comparision to what role this piece really carried. :cry: You always understand everything 'your own way' and missing everything i tried to tell you.

WildcardSearch commented 11 years ago

Your point was that with every feature added I am wasting time trying to maintain backward compatibility, but I find backward compatibility essential to avoid extra work for the end user.

I have begun to look at thing and have realized that there is a way to simplify things and maintain the structure that I feel is necessary to allow all the options discussed. I will get it done today or tomorrow.

I really do try . . .

WildcardSearch commented 11 years ago

Okay I am beginning to see your points although it took me a lot of time because I am stubborn.

I am working on another update now and what I hope to do is eliminate the various module designations (from sight, they will still exist internally) to reduce clutter and confusion.

All modules now have the capability to appear anywhere width-independent (are all stereo) so no need for the developer to worry about such things.

Also Simple and Complex modules will be done away with (again they will remain internally), the exception being these modules still won't have an 'Uninstall' option in the controls column.

I hope this eases your concerns.

WildcardSearch commented 11 years ago

Is this anything like what you wanted?

I am trying to make things simpler without losing functionality.

WildcardSearch commented 11 years ago

Okay I have completed my reworking of the core and its interface for modules.

Online Staff

Converted your module to the new format and because you were using the stereo templates in error, I was forced to bump the version and edit your templates in order to accurately test.

All of these changes are being made to your work so that you can review them and then adjust your pull request accordingly. Please let me know if I have made any errors (or just prepare fixes in your pull request) and I apologize if that is the case but I have made every effort to maintain the functionality.

Cheers and unless a bug pops up I am ready for pre-release testing :smile:

WildcardSearch commented 11 years ago

I lied :disappointed:

I found some bugs and then it occurred to me that install/uninstall wasn't really useful for admins and what was important was making things work in the most simple yet effective way.

So now tell me what you think (I am trying to make you proud of me :smile: )