Stop making us replace our code!

Started by robinrobin, March 16, 2009, 03:33:30 PM

Previous topic - Next topic

robinrobin

Who i am isn't really important here since this is more of a fact than an opinion. However, i still think it's fair to mention that i don't know a single person who uses the default theme of any bulletin board software. If you're one of them, it creates a problem when you want to modify things; you have to install them manually. More and more i come across modifications that has the "Replace:" instruction since i switched to SMF (2), rather than the more user-friendly way of instructing which code to add and/or remove from your documents. I bow down in awe and gratitude to all these fantastic mod makers. Without their drive to improve things SMF wouldn't be what it is today. I'm aware of that it would take longer to create the instructions for each mod if they would be more verbose, but seriously, how much longer?

Please, when you're making your install instructions, think of all the people who already have 5, 20 or even 40+ mods installed already and who could go crazy over having to look through each Replace-instruction and their own code very carefully for quite some time to figure out how to get it right, before you choose to to use the Replace instruction. The extra time you take to eliminate the use of that function, the more time you save for thousands of others!

Thanks you..  O:)

Marcus Forsberg

Well, the thing is.
If some crazy guy installs all 983 mods on the mod site, it'd be quite impossible to make all of them work together without conflicts ;)

robinrobin

#2
Quote from: Nas on March 16, 2009, 03:36:16 PM
Well, the thing is.
If some crazy guy installs all 983 mods on the mod site, it'd be quite impossible to make all of them work together without conflicts ;)

True, but that's irrilevant. This is about user-friendliness and compatibility with SMF, not with other mods. If you installed around 30 like i have, and had to install 20 of them manually, and not a single conflict arose, meaning that there's no incompatibility whatsoever, guess how much time i would save if those replace-instructions were split into add- and remove-instructions.

I mean, the modders probably didn't test their mods with 983 other mods, so how would they know which mods that are compatible and not with theirs? I don't think it's fair of any modder to expect that the people using his/her mod(s) doesn't already have other mods installed.

bullbreedluverz

#3
fair point but what if having to replace 1 bit of code with another is essential and the ONLY way for a mod to work, many people are quite happy to go change code, make edits and install code to get mods to work

modders make mods that add something to smf whether its functionality, asthetics or security and everyone chooses to use and install these mods and therefore if you want to install a mod you have to expect changes, if you dont then dont install mods - the clue is in the name modification as it modifies the smf basic software so you have to expect your forum software to be modified

in a perfect world mods would install clean, no changes to existing software, just added code but life ent that perfect, if it was it would make installing stuff easier but when making changes to your forum you have to expect changes to be made and to write them to install on every theme without making any changes would be impossible

TheDisturbedOne

Some MODs, replace is the only way to do it.  Such as my only current MOD.  I have the same trouble that you do, but it just takes a few more seconds to look through it.

busterone

I am by no means belittling your concern here, but I have 28 mods and 12 themes installed. For each mod I install, I manually code it for the other 11 themes. I also had to manually code the menu and a few other various functions into each theme I installed to make them show the customizations I have done.  I have never had a problem with any of them myself. Occasionally I have forgotten to declare a function and received a few errors in the log, but nothing else.  It is impossible for the mod developers to know for sure if their mod will conflict with all the other possible combinations there are.  With 983 mods. the possible combinations are astronomical.

robinrobin

#6
Quote from: bullbreedluverz on March 16, 2009, 03:53:34 PM
fair point but what if having to replace 1 bit of code with another is essential and the ONLY way for a mod to work, many people are quite happy to go change code, make edits and install code to get mods to work

modders make mods that add something to smf whether its functionality, asthetics or security and everyone chooses to use and install these mods and therefore if you want to install a mod you have to expect changes, if you dont then dont install mods - the clue is in the name modification as it modifies the smf basic software so you have to expect your forum software to be modified

in a perfect world mods would install clean, now edits to software, just added code but life ent that perfect, if it was it would make installing stuff easier but when making changes to your forum you have to expect changes to be made and to write them to install on every theme without making any changes would be impossible

Yeah, i was thinking about that too. I wonder if some sort of middle-way is possible. I don't know how the co-operation between modders of BB communities looks like, but maybe there could be some sort of common ground for code compatibility or something, where modders could find out how other mods work perhaps? I guess i'm dreaming... but maybe it's worth a try. I've come across several great mods that i would love to use myself, but i simply couldn't because i would have to go into such depth to be able to understand what each of the replace-instructions actually do to my code that i as well might start modding myself. I think that modders are loosing quite a few users from making it so impractical to install their mods in an already modded forum, as many modders do.

It's not the foundation of manual modding i'm talking about. What got me started in learning how to manually modify code, which i reckon is how it was for most people, was that i noticed it was necessary to do so to make all of these fantastic creations work together. I'm just trying to suggest things that makes it easier for users, which makes modders more fans, and thereby more donations for that matter.

If you install a mod manually, and it seems to work fine, and you later notice that there is an incompatibility after all, that's when you have to get to work and either report the incompatibility or try and fix it yourself, or both. That is out of the modder's hands, as it seems right now. But that isn't reason enough to nullify the positive sides of getting rid of the replace-instruction. If i as a modder simply notify people that my mod(s) might not be compatible with others, and if i'm aware of other mods that modify the same code that my mod(s) do/does and inform about it, that's all they can expect of me. But i still shouldn't expect people to replace their code with mine. Considering that most mods have the default theme and the theme(s) that the modder him/herself uses as guidelines, simply splitting it up into add- and remove-instructions would make it a much more universal approach.

I'm not saying anyone's doing a bad job. Absolutely not! I'm just saying that the replace-instruction is a luxury that is letting people down when they realize they probably won't ever be able to use a mod since there's just too much to figure out in some cases. I'm writing this beacuse i WANT to be able to enjoy the hard work of the modders. If i can't even use their mods due to something so relatively minor as install instructions, we both loose.

DisturbedOne and Busterone, i understand you guys too, but if i have these problems it means that others do as well. And i'm actually not that inexperienced with modding, i'm just new to SMF. In my case, there HAVE been several occasions where the replace-instruction got in the way. I just think that it's sad.

Maybe modders should start doing both then? Having both a simpler method of instructions, using the replace tag in one, so that people can check and see if they can replace a whole paragraph of code or not. And if not, they could move on to a more verbose set of instructions. Trust me, this might not be a universal solution, but it would solve a heck lot of time for lots of people. Gotta think of the newbies too, i'd say.

1MileCrash

Maybe we should switch to magic installations.   ::)
The only thing php can't do is tell you how much milk is left in the fridge.



Arebias

Quote from: Tippmaster on March 16, 2009, 04:32:04 PM
Maybe we should switch to magic installations.   ::)

Is that going to be in the final, final release? 8)

I don't mind having to work a little to make it happen. I just think about how much I would be having to work if I had to write these mod's myself.

Thanks for all you mod developers do.  :D


Antechinus

#9
My 2c: personally I prefer replace because I like to have the cleanest possible files for when I do need to edit them. The less crap I need to wade through, the better. This also speeds up the running of the site due to less code being parsed.

I understand the point robinrobin is making but there are limits to what can be done in this regard. I also think that in some ways making the punters damned well learn something about what they are doing before they install 53 mods without taking note of the pre-installation warnings, and then coming on here wondering why they have massive problems, is not a bad thing.

If you are going to hack the basis of a live site you should know what you are doing. This is as much for your own sake as it is for the sanity of the support crew. Most people wouldn't even consider merrily pulling bits out of their car and randomly throwing in new bits unless they were experienced mechanics, yet some people will merrily hack the crap out of the basic files and database tables that keep their site running without having any idea what they are doing. It leads to drama.

I'm speaking not just as support staff but as someone who can remember being a complete beginner, who had never even heard of MySQL or PHP, not so very long ago. The more I learn, the happier I am. It makes life much easier.

Bottom line is that if you want the easiest possible life and don't want to learn anything about coding then use the software in its unmodified form. It works like that.

If you feel you absolutely must modify it and you're still not interested in learning anything about how it works, then at least make backup files before attempting any installations and take note of any warnings that are given during the pre-installation check. If you refuse to do any of this then, to be brutally frank, you deserve what you get. This doesn't mean we wont help you fix it though.

robinrobin

*mumbling pout* Well, i tried. I think you're generalizing me a bit there, Antechinus. But considering you and your colleagues probably are quite used to and tired of pointless rants and that i have a habit of often being misunderstood probably due to that English is a second language to me, i almost expected it. ;) I'm the last person you could call uninterested in learning how things works. I work ten hours a day with my community and can spend half a day attending the installation of a single mod. Maybe it's just i who are really dumb.

Antechinus

Well I wasn't so much ranting at you as about the habits of some other people. ;D

I know what you're getting at but it still wouldn't work in a lot of situations. The number of possibilities are literally infinite, even if you do use "Add" instead of "Replace". Sure, you could provide instructions that would work with some other mods but you couldn't, in practical terms, provide instructions that will automatically work with all possible combinations of mods.

There will still be a need for interpretation and winging it a bit to try things out. I really don't see how you can get away from that if you want to use a lot of mods.

ETA: And of course sometimes using "Replace" is the only practical option.

robinrobin

#12
Those habits apparently wasn't criticized before, which is why they obviously remain unimproved until this day. Sometimes negative feedback is necessary. It's up to each and every person whether to consider it important enough to listen to or not. Someone started doing it (making instructions with the assumption and/or carelessness that people aren't using other mods), and so it kept going. I was trying to make the modders gain from this too, you know. What you did was just rude.

Well, phpBB mods for example are usually very verbose and easy to understand even for beginners. I don't know if that is because of some policy or unwritten law of that community, or if SMF perhaps simply isn't built in an as practical way in terms of modification as phpBB is (something i noticed seemed very true in most cases early on), but the problems i'm aiming at could be taken care of.

I'd much rather end up with an error that i knew was due to incompatibility, than to not knowing what it is.

I just think that the replace-instruction can be so complex sometimes, in conjunction with an already heavily modded piece of code, that it just as well might be a problem caused by my editing rather than an actual incompatibility-issue if an error occurs. In a case like that, you might never know if you'll actually be able to use the mod or not simply because you don't know which one it is, or what to do about it. I'm apparently the only one here who ever was unlucky enough to be interested in mods that obviously are supposed to modify the same piece of code in many occasions. And this realtively rather big problem could be eliminated if the instructions simply didn't use the replace function, rather than others. That's a fact. Since i'm the minority here, it's not a fact true enough.

Antechinus

#13
Didn't mean to be rude. I was just commenting on how some people expect to be able to modify their sites without any limit or any knowledge of what they're doing. I accept that you aren't one of them, but there are a few of them around.

Modders do assume that people will be using more than one mod but they have no way of knowing what code will be in the other mods, nor do they have any way of knowing what code will be in custom themes. Due to these factors there is a limit to what they can provide in the way of instructions.

If you hit a situation where some interpretation is necessary then you will need some knowledge anyway, otherwise you need to do it by trial and error. I'll give an example that I've been playing with recently. The Ultimate Profile mod is very popular and introduces two completely new templates to get the results it delivers. That's definitely a replace job. You could add all the code required to the existing SMF Profile.template.php but it would result in a massive file that would slow down the forum and be a nightmare to find things in. So if you want this mod but you also want to add other things to your profiles then the other mod authors are stumped, because if they provide instructions for dealing with the standard template this wont help with Ultimate Profile at all, because the code is completely different.

As for phpBB, I've never used it as an admin but everything I've heard about it seems to indicate that it is more difficult to modify than SMF, not less difficult.

robinrobin

#14
Well that's your story, why you are on the conservative side of this. My story is pretty much the other way around; i've pretty much only installed rather small mods, but many of them, so replacing code shouldn't have to be necessary at all (and in 20 of the cases haven't!) Installing a mod like the one you're talking about is already impossible for me since i've made custom modifications to my theme already, beside the actual mods from the SMF community. However, the mod you speak of is what in the gaming world would be considered a "Remake"; it is SUPPOSED to replace the profile entirely (i presume, considering it's name). The mods i've installed however have been anything but major, which is why i guess i have a lot more to be liberal for. Maybe i'm more of perfectionist than most are, and like to change lots of small things here and there all the time whenever i find the slightest asynchronous quirk. Wouldn't be the first time i get myself into something that my nerves wasn't fit for. lol. I'm one of those people who fall in love with products that nobody else does. So in terms of hardware; nobody else to share things with. In terms of software; no compatibility with the popular stuff, so i can't sync for example. In terms of edibles; they stop producing them because i'm the only one who buy them! lol. I miss my Fanta Fläder and vinegar chips... =P Not easy to be yourself when nobody's like you.

Dannii

Please explain how a replace instruction results in a different change than any of the others?
"Never imagine yourself not to be otherwise than what it might appear to others that what you were or might have been was not otherwise than what you had been would have appeared to them to be otherwise."

robinrobin

#16
Dannii, imagine you have a bit of code in one of your forum documents that you already had to modify manually several times because many of the mods you've installed was supposed to add some code there. Then you find a mod that you really want, notice that it won't install properly via the package manager, look at the problem that needs to be fixed, and then noticed that the only instructions that the manual install-instructions give you for that file is a big "Replace:" instruction. What do you do then? How do you know which code to do what with? What if you already have so many mods that you don't even know what parts of the code that the new mod wants to replace that actually is part of mods and not parts of SMF itself? I could go on and on with questions like these.

If the instructions instead was split up into several of these it would be much easier to know what code that actually is part of the new mod and not just part of SMF natively:

FIND:
<123abc
0)"=93åp1
09sdhg,IKSJ98,[3p3o4]

INLINE FIND:
09sdhg,

ADD AFTER:
blabla,


See what i mean? When you break down the code, it doesn't matter what other code you have there, so tons of other mods doesn't matter. I don't like to say it, but it seems lazy to be frank. phpBB splits mod-installing up into much more steps. It takes longer, but you get the mod installed right without having to worry about which code to keep and which that isn't supposed to be there. This way, you do something that is necessary to do for all of us since we all have different mods installed; you find incompatibilities of your own, since you know that the installation went right due to the competent and practical installation-instructions. phpBB does have very strict rules for mod-instructions for mods to added to the official mods base, so maybe that's what SMF is lacking.

Antechinus

#17
Quote from: robinrobin on March 16, 2009, 07:16:11 PMHow do you know which code to do what with? What if you already have so many mods that you don't even know what parts of the code that the new mod wants to replace that actually is part of mods and not parts of SMF itself? I could go on and on with questions like these.
And this is exactly the problem that I was talking about earlier. You shouldn't have that many mods if you aren't prepared to keep comprehensive notes and if you have no idea what the code is doing. If you want to rebuild the software from the ground up, which is basically what you're saying, then sooner or later you are going to need a thorough knowledge of exactly what it is that you're hacking. It isn't fair on mod authors to expect them to provide all of that knowledge for you. They can't do it anyway.

bullbreedluverz

#18
i think, like antechinus said, for every mod designer and ever theme designer to actually make all there designs to not replace or change ANY coding is impossible and if that was the rule that it a mod must install without changing any code and not clash with any other mod and install on any custom theme then SMF would of been long forgotten as it would severely limit the available modifications and we would all have to sit back and endure the default theme with minor modifications

i can see your point and the focus of this discussion but its practicality can not be a reality as what you are saying is impossible - you can not modify something without actually modifying it - changes need to be made for changes to be implimented

SMF release the basic forum software and themes and modifications are made by members of this site who use SMF forum software and as such every theme and mode is an independant design and release and people who use SMF software have the oppertunity to use these independant software packages that are released to compliment the SMF software

i wish every mod installed with no errors, without replacing code but it ent gunna happen simply because you cant make changes to software without changing the software

Charles Hill

I think what robinrobin is trying to say here is that less is more... Instead of instructing the package manager to look for a giant bit of code to modify... A better approach would be to look for a small unique bit of code that you can replace with the new code or add before/after.  I have tried to do this with my mods.  I noticed when I was first starting out that it annoyed me when mod authors would make xml instructions for the package manager that involved replacing one large chunk of code with an extremely similar large chunk of code, making the odds of it failing much greater.  Breaking up one large replace command with a few smaller ones is preferable.

Advertisement: