How idiot-proof can SMF be made?

Started by MrPhil, April 29, 2010, 10:54:06 AM

Previous topic - Next topic

shentino

Wow, we're getting off topic again.

Back to SMF being idiot proof, I think that basic sanity checking can go a long way.

Like, for example, displaying a warning before implementing an IP ban that will affect the current user.

NanoSector

Quote from: shentino on July 24, 2010, 11:39:41 PM
Wow, we're getting off topic again.

Back to SMF being idiot proof, I think that basic sanity checking can go a long way.

Like, for example, displaying a warning before implementing an IP ban that will affect the current user.
No that was not off-topic. I was pointing him out.


For example add a warning like Nintendo, "Are you sure you want to leave blablabla? Blablabla is not responsible for the content of the linked site.".
My Mods / Mod Builder - A tool to easily create mods / Blog
"I've heard from a reliable source that the Answer is 42. But, still no word on what the question is."

DoctorMalboro

Quote from: MrPhil on July 22, 2010, 06:26:26 PM
Now, can we talk about how to make SMF less vulnerable to, uh, "idiots"? And how to make it simpler and more straight-forward for unsophisticated non-programmers to use, while not crippling its power?
It's impossible... by coincidence you'll find an user that read the install instructions...

Make documentation? Useless, if it has more than one paragraph most of them won't read it.
Make videos? If it last more than 5 minutes everyone will skip it.
Make audios? No-one would heard them.
Make help tips? Most of the people find it extremely annoying.
Make a SMF guide tour? I'm sure most of the users will skip it.

It's hard to make people READ or PAY ATTENTION to something that's instructional (even i don't pay attention... :P ). So idiot-proof would be a miracle (from my point of view).

Kenny01

Quote from: DoctorMalboro on July 25, 2010, 10:19:57 PM
Quote from: MrPhil on July 22, 2010, 06:26:26 PM
Now, can we talk about how to make SMF less vulnerable to, uh, "idiots"? And how to make it simpler and more straight-forward for unsophisticated non-programmers to use, while not crippling its power?
It's impossible... by coincidence you'll find an user that read the install instructions...

Make documentation? Useless, if it has more than one paragraph most of them won't read it.
Make videos? If it last more than 5 minutes everyone will skip it.
Make audios? No-one would heard them.
Make help tips? Most of the people find it extremely annoying.
Make a SMF guide tour? I'm sure most of the users will skip it.

It's hard to make people READ or PAY ATTENTION to something that's instructional (even i don't pay attention... :P ). So idiot-proof would be a miracle (from my point of view).
You're correct.

shentino

Personally, I think that refusing to read documentation that's clear and well written should be considered suicide.

NanoSector

Quote from: shentino on July 26, 2010, 05:29:33 PM
Personally, I think that refusing to read documentation that's clear and well written should be considered suicide.
I think being lazy requires suicide...
My Mods / Mod Builder - A tool to easily create mods / Blog
"I've heard from a reliable source that the Answer is 42. But, still no word on what the question is."

Antechinus

Y'know I did suggest in the team boards once that we include an intelligence test in the installation pack. The plan was to weed out the idiots in advance. ;D

shentino

That's cheating.

Copping out and preventing idiots from using the software isn't the same as being robust.

It's idiot immunity, not idiot prevention.

NanoSector

Quote from: shentino on July 27, 2010, 12:40:11 AM
That's cheating.

Copping out and preventing idiots from using the software isn't the same as being robust.

It's idiot immunity, not idiot prevention.
The first step to immunity is to prevent idiots from doing stupid things.

And why is it cheating?
My Mods / Mod Builder - A tool to easily create mods / Blog
"I've heard from a reliable source that the Answer is 42. But, still no word on what the question is."

DoctorMalboro

Quote from: Antechinus on July 26, 2010, 07:50:03 PMY'know I did suggest in the team boards once that we include an intelligence test in the installation pack. The plan was to weed out the idiots in advance. ;D
If you make that test... some boards would be full of "Can someone pass me the third question?" or "I'll pay someone to do this test"... ::)

MrPhil

How 'bout a little less flaming and a little more constructive brainstorming (or "thought showering" for our English friends :) ).

Sure, you can lock your user into a straitjacket, and not let them do anything potentially harmful without asking permission from Mommy, but that will drive away all but the most simpletons. I see the basic problem as being that if you give enough flexibility (to do "interesting" things) for the experts, the idiots will hurt themselves. The question becomes: "How do we make at least the routine operations just about goof-proof for the dumbasses, while not keeping the mavens from doing what they want?" In almost any operating system, there is a lead-you-by-the-hand GUI to do 95% of most anything you want, while there is also a Command Line Interface to let you do that by hand, plus the other 5% that's missing from the CLI. In an idiot-proof GUI, you'll never figure out everything that a user (customer) might reasonably want to do, so you let experts use CLIs and directly edit PHP code and tweak the database via phpMyAdmin. All you can do is discourage those with lesser abilities from playing with such sharp knives.

Now, it appears to me that most support questions with SMF involve mods that fail to install completely, only partially install, only partially uninstall, or fail to uninstall. Usually this is because the install/uninstall package manager is looking for code patterns to match, to find where to delete lines and add lines, and is failing to match those patterns, due to intervening changes (due to other mods). If we left mod installation/removal to the experts, we'd just say, "OK, here is the place in vanilla SMF to change. Figure out where and how to do it in your modified copy. Have fun!" You can't do that with your average user. They're not computer scientists -- they want to use SMF as a tool to do something useful, not be a new hobby in and of itself. The first step in a solution is refuse to do any installation (or removal) of a mod unless all the patterns can be matched. Never ask permission to do some of the changes, while leaving the others to be done manually, because they won't get done. Leave it to an expert to manually edit the files. The second step would be to find a different mechanism than to try to match patterns. Should SMF have "hooks" (see Drupal) for loading in new code in specific places? The problem with that is you don't know in advance all the places that a user might need to add code (or disable existing code).

What if the user gave the package manager a list of mods that they want installed, and the PM checks prereqs and then installs all of them at once against a vanilla copy of base SMF? Mod removal would involve starting over from the vanilla base, and installing all but the mod(s) to be dropped from the list. There's at least the possibility that two mods that want to go into the same place will both go in, in the order specified, without the first one "spoiling" the location pattern of the second. I don't know how that will work if one mod wants to change a different, overlapping range of lines than "earlier" ones do (or a mod is to modify another mod) -- there may have to be some restrictions. How about trying to apply mods to anything but the default theme? Should different themes (skins) be confined to having different CSS files, and the same PHP code? Finally, is a purpose really served by restricting a mod to certain version numbers? It seems that this forum is forever telling people to ignore or bypass the version check -- why bother with version checks? If the code pattern cannot be matched, the mod will not install, right?

Most of the remaining questions (after the mod installation/removal problems) seem to pop up again and again -- how do I change the logo, how do I change this color, how do I _____? Instead of answering each question anew, what if SMF made an effort (if a "how to" question has come up more than once) to pop out a quick mod to do that? Or, a CSS editor that knows how to find certain class or ID definitions and change values via a GUI? E.g., "I want to change the window background color" -- you tell them to tell their CSS editor to find such-and-such a class, and click on "background color" and select/enter the desired color. The editor could add new entries where none exist. Anyway, the idea is to keep users from having to hand-edit PHP or CSS code for almost anything they want to do (many users find quite creative ways to screw up). Put all mods into a FAQ or some other way to more easily search than the current mods index. Evidently most users can not or will not do a search of the mods library before asking a "how do I" question. Give them several ways to find an existing way to do something.

Have at it...

Kindred

Quite honestly, I think that most of those "examples" fall into the realm of an FAQ/WIKI rather than having the team spend time making a "mod" to do it.

As for mods writing into specific sections of code...   MUCH of the "problem" has to do with mod AUTHORS not respecting the full coding solution. So, either we reject 60% of the mods, or we put up with users having issues. Yes, the idea of "hook points" has been brought up (and is not a bad idea)... but then again, we run into the problem of THEME authors having to change the way they code every theme and making sure that any template file which is in place for that theme maintains all of the hook points. Again, we'll probably have to reject 60% of the submitted themes.

Your idea of a base install is not a bad one... if the site only has one or two mods... but you get a site (as I have seen) with 30-40 mods installed and it becomes unworkable. Heck, even 10 mods would make it unrealistic. :(

Our best bet is to improve the documentation and point users to the proper FAQ rather than trying to think of all the stupid things they COULD do.
Слова
Украина

Please do not PM, IM or Email me with support questions.  You will get better and faster responses in the support boards.  Thank you.

"Loki is not evil, although he is certainly not a force for good. Loki is... complicated."

Norv

Just tossing it here, how about this: http://www.simplemachines.org/community/index.php?topic=392338.0
I wonder, would having different "distributions" of core SMF and a few official mods help with a number of (presumably) widely used mods? It's just a question. :)
To-do lists are for deferral. The more things you write down the later they're done... until you have 100s of lists of things you don't do.

File a security report | Developers' Blog | Bug Tracker


Also known as Norv on D* | Norv N. on G+ | Norv on Github

Kindred

Norv...

for the same reason that the supermod was a bad idea, so is that...   Any mods that the teams want to work on - on their own - is fine, but having team supported "super mods" means that we have teams spending less time working on or supporting the core product and more time supporting idiots who don't use search, don't read and can't install a mod, even with the package manager.
Слова
Украина

Please do not PM, IM or Email me with support questions.  You will get better and faster responses in the support boards.  Thank you.

"Loki is not evil, although he is certainly not a force for good. Loki is... complicated."

Norv

That depends on what mods we're talking about. If the core can be made more light, and other extensions to it (currently monolithically included in it) can be distributed optionally, fully optionally, then you can have practically no additional support.
Though admittedly that was not all my intention.
To-do lists are for deferral. The more things you write down the later they're done... until you have 100s of lists of things you don't do.

File a security report | Developers' Blog | Bug Tracker


Also known as Norv on D* | Norv N. on G+ | Norv on Github

nend

Mods have their own licenses so the mod authors will have to approve them for distribution in a package with SMF.

I am not supporting this idea though, I actually do not like the idea and think my main point stands. We need better documentation, what is so wrong with a user contributed WIKI.

People do not easier scripts, they need to learn how they work, if not then in my opinion they shouldn't have that script on their website.

Joshua Dickerson

Come work with me at Promenade Group



Need help? See the wiki. Want to help SMF? See the wiki!

Did you know you can help develop SMF? See us on Github.

How have you bettered the world today?


shentino

I would propose that popular mods would possibly be an indication of a feature widely used enough to consider including into core.

Norv

They are, IMHO. However it is definitely not the only thing to consider.
To-do lists are for deferral. The more things you write down the later they're done... until you have 100s of lists of things you don't do.

File a security report | Developers' Blog | Bug Tracker


Also known as Norv on D* | Norv N. on G+ | Norv on Github

Advertisement: