News:

Bored?  Looking to kill some time?  Want to chat with other SMF users?  Join us in IRC chat or Discord

Main Menu

How idiot-proof can SMF be made?

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

Previous topic - Next topic

Arantor

Ant: EXACTLY MY POINT! Well, almost...

smp420

There is an app for the ipod I think its called the idiot test or something. Basically tries to find out if you have common sense. Alot of people here lack that.
"Things turn out best for those who make the best of the way things turn out." -Jack Buck

青山 素子

Quote from: Arantor on April 29, 2010, 04:50:07 PM
any tool needs time and energy to get used to it, to get the best out of it, and if it's a tool you plan to use on any kind of basis, surely you'd go and invest some time in getting to know it better? That's the part I have trouble with - too many people want to use it as a tool but don't want to invest the time in getting to know it.

I'd go even simpler than the car analogy. I'm going to go with a toaster. It's a pretty simple machine, really. You put bread in, push down the lever, and then if it is plugged in, you get toast in a little bit.

However, even the simplest person will know a few things about the toaster. They will know that they need to adjust the dial to change the darkness of the toast. They will even know how to cancel the toasting cycle (pull the lever up on older models, or push the eject button on newer ones) and that the crumb tray needs to be emptied occasionally to prevent problems.

These same people that know how to operate a toaster will refuse to learn even the basics of how to maintain SMF. They want something even simpler than a toaster. They want a box where they press a button and something happens. No maintenance, no remembering to plug in the power cord, no adjustments, nothing. They want a single button.

They won't be able to get that without paying someone a lot of money to be that "button" for them and to hide the dials and levers. You can only simplify something so much, beyond that it becomes even less than an appliance.
Motoko-chan
Director, Simple Machines

Note: Unless otherwise stated, my posts are not representative of any official position or opinion of Simple Machines.



Arantor

Do they need any developers? I'd be willing to write an SMF mod (for free) for that.

Norv

I fully agree with the point that a software meant to be distributed to so many people of all cultures, should respond to their expectations. After all, it's out there for the community, for the users, not for us and what *we* might think of it. If it targets programmers or curious into programming, yes, then you could say they *should* get their hands dirty (it's a little difficult to learn otherwise :) ). If we target non-programmer web sites owners, then IMHO, we should NOT expect them to deal with ALL coding innards just because we like doing so, nor impose it to them. Yes, they have to know some things. No question there. But from the entire feedback we're getting, if we find that they feel too often that we're asking for too much, then maybe we need to reconsider.
Remembering the target, and I think we can agree SMF does have or tries to have a rather diverse target, including websites owners which don't know or want to delve into code, I think we should seriously consider to improve usability and non-coding demanding customization alternatives in the future. Maybe that's only me, but this is my stance.

On a side note, I do not think that making available an object oriented API one day, in addition to what SMF already does, could possibly kill the community coders, on the contrary. For some reason, object orientation (in its basic ideas) seems to be easy to grasp by beginner coders (at least in my experience, and I've trained both classes and professionals), and notoriously difficult by coders which already have their coding thinking modeled by another paradigm (procedural or else). Of course, there are exceptions. But like any paradigm for that matter, it should be taken in its own right, not through the perspective of another one. Views through another one can be biased.

Back to the topic, it has been brought out elsewhere that adding a plugin system may be closer to the non-coding-demanding means of customization, as it would alleviate the risk of conflicts that direct modifications of code have. At a price, of course, nothing comes otherwise, and the known price to pay here can be performance.

That's not to say we will do anything of the kind. But personally, I am really grateful for the discussions about what could be done or wished to be done, and I thank you all for taking part in it. This software is here for the community, and IMHO it should, in the measure of possibility and careful consideration of trade-offs, work towards responding better to their expectations.
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

Antechinus

Quote from: Arantor on April 29, 2010, 06:57:16 PM
Do they need any developers? I'd be willing to write an SMF mod (for free) for that.
I'm seriously thinking of installing it myself, with or without a mod. I think they'd be rapt about that idea though.

Arantor

I didn't see anything in the way of downloads though :S

Antechinus

Quote from: Norv on April 29, 2010, 07:03:05 PM
I fully agree with the point that a software meant to be distributed to so many people of all cultures, should respond to their expectations. After all, it's out there for the community, for the users, not for us and what *we* might think of it. If it targets programmers or curious into programming, yes, then you could say they *should* get their hands dirty (it's a little difficult to learn otherwise :) ). If we target non-programmer web sites owners, then IMHO, we should NOT expect them to deal with ALL coding innards just because we like doing so, nor impose it to them. Yes, they have to know some things. No question there. But from the entire feedback we're getting, if we find that they feel too often that we're asking for too much, then maybe we need to reconsider.
Remembering the target, and I think we can agree SMF does have or tries to have a rather diverse target, including websites owners which don't know or want to delve into code, I think we should seriously consider to improve usability and non-coding demanding customization alternatives in the future. Maybe that's only me, but this is my stance.

I'm all for improving usability but as you say people will still have to know, or be prepared to learn, some things.


QuoteBack to the topic, it has been brought out elsewhere that adding a plugin system may be closer to the non-coding-demanding means of customization, as it would alleviate the risk of conflicts that direct modifications of code have. At a price, of course, nothing comes otherwise, and the known price to pay here can be performance.

This is where we may hit problems. The core philosophy of SMF has always been to keep a simple core that can be easily extended. This keeps the development and security side of the project as simple and lean as possible. It also means default installations are efficient in terms of performance.

The current system of modifications, while not perfect, offers virtually unlimited flexibility in terms of rewriting the core to meet personal requirements. Keeping that flexibility, and I think it would be a great shame to lose it, and minimising performance degradation may make it difficult or impossible to have software as idiot-proof as we would otherwise like it to be.

Norv

I highly doubt it will ever be taken into consideration to drop or truly impede the modifications system. (and with it, all flexibility that people desire). So yes, I agree, obviously, but it is not exactly my point.
What *could* be thought about, is to see about adding ways in which customization is possible without necessarily being in the form of direct modifications only.

Of course, discussion is most welcome. That is the point of it. :)
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

Antechinus

Quote from: Norv on April 29, 2010, 07:19:02 PMWhat *could* be thought about, is to see about adding ways in which customization is possible without necessarily being in the form of direct modifications only.

Seems like a tricky proposition, unless you want to have both the existing system and a WP-esque plug-ins system. 

Arantor

Don't forget, there is already the foundation in SMF for a hook system: the integration hooks. The framework needs an overhaul, the ability to only run one function per hook point is incredibly limited.

Antechinus

True, but the integration hooks are broken in RC3. ;D

Arantor

Not all of them, just some of them ;)

SlammedDime's SimpleSEF proves some of them work, as well as we use some of them on SimpleDesk.net for cool stuff.

Norv

Quote from: Antechinus on April 29, 2010, 07:22:54 PM
Quote from: Norv on April 29, 2010, 07:19:02 PMWhat *could* be thought about, is to see about adding ways in which customization is possible without necessarily being in the form of direct modifications only.

Seems like a tricky proposition, unless you want to have both the existing system and a WP-esque plug-ins system. 

:D

Actually, not really that tricky. Imagine (it's just an example) the following hypothesis: that a feature like a menu editor is indeed written for SMF, be it by default or not - otherwise available (like it seems it is asked so many times, adding a tab in a menu, modifying a tab from the menu). With drag and drop perhaps, I don't know, just an example.
There would nothing stopping people from going to the code and hardcode their menu themselves, instead of using it. It would work also a little little bit quicker, since it passes through no more layers than strictly necessary. But in the same time, it would allow people who don't want to edit their PHP files, to select/insert/customize their menu through it. For those who do it through it, of course SMF building the menu might have to load a few additional files to have this little system do its job. I doubt it would matter much for some basic implementation of it (well it depends what you do), but if you insist, it can be called performance loss.
Yet, the point is, each can have their way.

Of course, if we go into details, adding such little system would require at the very very least a call or a few somewhere to see if it's enabled. Meaning you get something added to the core. Yes. It may be a good idea, it may be a bad idea.
As I said, there have to be trade-offs. There always are.
My point is: in some cases it might be only a call (a few calls) somewhere, in order to have a non-coding-demanding means of customization. Or, in other cases there would be required a rewrite of the core which is doubtfully too much of a good idea.
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

Norv

On this note, what I am trying to say is that I don't know beforehand what is a good idea and what is a bad idea, to make SMF easier to use for non-programmers. Some may be, some may not be. I am simply glad to see such topics and I try to watch them, to hear what people have to say.
I don't know. Maybe some things are far-off. Maybe some aren't.

---
Another little example (a bit different this time, this is for programmers in fact): in order to use another gateway for subscriptions, than PayPal, what you need to do is to write a single file, following the same conventions used by the PayPal file in SMF (meaning how to name functions, variables, classes), but of course adapted to your new gateway API. Nothing else... You put that file (if you wrote it correctly) into the SMF sources folder, and you should have your new payment gateway available.
Now, yes, of course, it takes a programmer to write that file, according to the API specifications of the specific gateway. Yes, definitely. However, this programmer doesn't need to know anything about SMF, in order to do it: just have documented somewhere that this is the way to add a gateway to SMF's 2.0 subscriptions. I can be a site owner which wants to hire or poke a programmer, and this programmer doesn't need to know anything more about SMF and its internals, he/she doesn't need to have any SMF learning curve: he/she can just sit down and write the calls to that gateway API in the format required.

Now, I wonder... You come with the file written following the conventions, and put it in a directory, and you have SMF automagically give you the new functionality. Doesn't that sound ... like a mini-plugin system of sorts, built into SMF 2.0 already?  O:)

:D :D :D

Now some may argue that's too bloated. Honestly, it's not my opinion, there's not much in it to be, but, well, maybe it is. Open to discussion. I just want to make another point here: talking about a plugin system of sorts, doesn't mean AT ALL similar to Wordpress, in all its huge and bloaty and yes, VERY slow for all I've seen even myself (and I'm not necessarily for performance at all costs myself).
Wordpress' system and its behavior is only an extreme case of it.  Like many other things, it depends on design and implementation. ;)
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

MrPhil

Quote from: Motoko-chan on April 29, 2010, 06:54:01 PM
However, even the simplest person will know a few things about the toaster. They will know that they need to adjust the dial to change the darkness of the toast. They will even know how to cancel the toasting cycle (pull the lever up on older models, or push the eject button on newer ones) and that the crumb tray needs to be emptied occasionally to prevent problems.
Have you seen the troubleshooting instructions for any electrical equipment that plugs into a wall socket?
1. Plug a working lamp into the socket, to make sure it has power. If it will not light up, try another outlet. Once you have confirmed that there is power at the outlet...
I wouldn't count on the average person remembering to clean the crumb tray, either, until it catches fire. Let's not even talk about warnings on cups of coffee and microwaveable dinners: "Caution, contents hot! Handle carefully to prevent burns." Or is this strictly an American affliction?

Quote
These same people that know how to operate a toaster will refuse to learn even the basics of how to maintain SMF. They want something even simpler than a toaster. They want a box where they press a button and something happens. No maintenance, no remembering to plug in the power cord, no adjustments, nothing. They want a single button.
They want an appliance, in other words. No muss, no fuss, just press one button and you're there. Web browsers are almost there.

Quote from: Antechinus on April 29, 2010, 07:11:42 PM
I'm all for improving usability but as you say people will still have to know, or be prepared to learn, some things.

OK, how about splitting SMF into two directions? One (SMF Pro) would be more or less what there is today -- a very flexible, extensible, and powerful system for programmers who know what they're doing, and an SMF Lite for the unwashed masses -- relatively few features, minimal customizability, basically locked down tight so that even a Pointy Haired Boss can operate it? If someone who clearly has trouble operating a toaster asks a stupid question about the SMF Pro version, they are to be ridiculed mercilessly until they go away. The Lite version will be so simple and foolproof that there should be very few questions ever raised about it. (Of course, the fools will do their best to find problems to ask about...)

Would this approach work?

Some great comments so far on this topic!

Cassiel

My view on this is similar to Arantor's in this thread, at least from what I understand of it. The adage "Give a man a fish and feed him for a day, teach a man to fish and feed him for a lifetime" comes into play.

Personally I think that SMF functionality is very simple currently. The installer might not be the simplest thing around for newbies, but what can you do? You have the OM which helps, you have your host that you can ask, and if worst comes to worst you can always ask in the Support boards. The resources for users is vast, but the main problem is that they just go straight to the support boards if a problem comes up.

A lot of what the current expectation on the internet is becoming is "Build a Website in 5 minutes! No coding knowledge required!" instant-creation sites. It's as if they think you can just add water and a site is made. The commercials that air advertising these insta-sites don't help with the situation either.

But it's not just internet. A lot of business models are trying to appease the "increased simplicity" phenomenon that is occurring.

If we're going into appliance analogies here, then lets think of a microwave. In the beginning you mainly only had the time buttons to input the time the microwave was going to cook for. But for the sake of simplicity, we added a "popcorn" button (amongst many others now) in order to eliminate a lot of the hassle in the process.

So in a sense, the cause can be attributed much to society's changing expectations of how things are done. Maybe we're just being too pampered these days, who knows?

Though, to provide a counter-argument to this whole thing, for a new user going through all of the pages and pages of code, learning about database structures, figuring out phpMyAdmin, understanding SSI.php....it can be pretty damn intimidating to someone just learning the ropes.

Let's face it, as simple as the Package Manager is, and as simple as the Installer is ****** does happen and code does break on forums. I can certainly understand if someone is scared that their forum broke, and is panicking. Of course they don't want to try to go into the code and break something else or make the situation worse.

If your gas line broke or something, and you're trying to fix it.....you'd be pretty damn scared to go in yourself lest you end up damaging the carburetor...or something.

It's like you said Phil, you'd still trust your mechanic to fix your problem for you. But having a knowledge of how suspension works, or what horsepower calculations stand for, or even the basic idea of how an engine works can leave you better informed about what does happen to your car and the best way to have someone else fix it.

Though Antechinus' idea of killing all the stupid people would do wonders for the world...

But what is the point of this? Not sure, myself. I'm just "talking outloud" and providing input to this. It's almost midnight, and I had a long day, but some input is better than no input at least.

jerm

SMF should look like this

Then it would be idiot proof.

Arantor

It should look like a broken image?

Advertisement: