Hello MMOC users. I have been using this site for quite some time and finally decided to make an account. So I was hoping to get some advice from people who make addons (I know some of you do, I found Stagger on here which is a great BrM addon). I have no history of programming. Little bit of HTML coding from High School (5yrs ago?). I use addons just like anyone else and last time I re-did my UI I noticed that, holy cow I have a lot of little addons. They take up so little MB and all require their own UI Options. How hard would it be to make something that would be like all these addons combined, all under one interface, one addon and hope to keep the same MB damn near close to what all the addons would be by themselves, just added up.
Just some examples so people can understand what kind of addons I am talking about.
BagSync, EJSmallerMapButtons, Habeeblt, Loremaster/Grail, oGlow, Peddler, Who Taunted?
Just for the record. Im not looking to destroy or ruin any of these addons. Their creators are awesome for making them but I just want everything neat, tidy and organized.
Well. You'd have to educate yourself a bit with the lua script language the addons are written in. You'd then have to understand the way the addons are written (and that is not an easy task seeing as you're probably new to the language and face several diffent programming styles at once) and then you might be able to assemble them as one addon, but I suppose you'll likely run into compatibility problems every so many lines. This would then take a lot of debugging on your side.
I'm sure it can be done with enough patience and time but I don't really get the purpose. You essentially want to go through all that simply because all that stuff is not in one directory? Where is the problem with that? Most people have many many more subdirectories than what you list here and you know what, with a PC that was decent 5 years ago this doesn't make any notable difference in performance whatsoever. I simply don't understand the reason for all this probably useless work.
Also, assuming you actually manage to do this, you're probably aware of the fact that addons not only get updated regularly but also require updates to function once in a while, usually when there is new content or even an expansion being released. Instead of clicking a simple button in your Curse Client you'd have to apply all the updates manually, make sure everything still works, debug again, and so on and so forth. Again, I don't see a reason why you or anyone would want to do such a thing.
There are too many design flaws in your game. As a result, your customers' game experience may be degraded. Fire or replace the failing developers if you don't want to see this message again.
Not to be discouraging, but Kao is correct. It is a lot of effort to start making very large addons. It'd be almost better to write a core, then write modules. Combining other addons together probably won't work very well; and if you ever wanted to share it; you'd have to get a lot of permissions which aren't always easy to get (because kind people donate to these authors for their hard work and time involved in creating and supporting the addon).
I think you should try to write simple addons at first. Get the basics ... start building bigger, more complex ones, until you are really comfortable and confident ... then you can make your own modpack that does everything you want, with your own code from scratch.
If it was a solid mod pack, preferably modular these days so people could pick and choose what they wanted without a lot of bloat they don't need ... with a clean interface and solid coding ... I'm sure it'd catch on like wildfire and you'd get -some- donations to reward your efforts.
But first, you should look into things that already have a lot of things involved in them. Things like the reborn Carbonite and ElvUI/TukUI, as well as many more UI packs and mod packs out there.
I think if coding is something you are truly curious in getting into, possibly as a career/future ... then this would be an excellent exercise in practice and execution, for both creation and bug fixes.