Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - Arantor
271
Plugins / Plugin copyrights in the footer
« on January 13th, 2012, 10:22 AM »
I've been involved in this debate on sm.org, and I gotta say the way it's being handled is so badly trying to be grown up, but it falls short on more than one level.[1]

As I pointed out, not only did a suitable resolution not occur previously but their current stance of 'no little mods can do it' is actually worse than having a clear 'yes/no' rule, because what it means is that it's now totally subjective as opposed to reasonably objective.

So, I spent time thinking about this, and honestly the solution I'm most happy with is simply to disallow it entirely, at least on the public site that we operate in some fashion.

There's a credits page, use it, that's what it's there for. Sadly, I can fully imagine mods putting themselves into that page for every whiff and whim, but it's not the same as forcing into the footer on every page when it's not necessary or desirable. (It's not like there's actually room in any case)
 1. Like team members going round and saying things, then back-pedalling with "this is just my personal opinion". When you wear a team badge, you represent the team. Simple as that. If you're expressing a personal opinion, disclaim it up front. It's not hard.
272
Plugins / Plugins NOT modifying core files
« on January 12th, 2012, 02:26 AM »
I've been thinking about this lately after cruising around sm.org, and the more I think about it, the more I don't want files being edited by plugins.

If a plugin requires a core edit, the user should have to do that themselves. We lose the ability to do quick patches SMF style, but I'm not convinced that's a bad thing either.

What finally made me change my mind? The number of reports of 'my site's been hacked'. Sure, on shared hosting you're definitely at more risk than you are on a VPS, but there is an inherent risk on a shared host that is made distinctly worse by having to change the file permissions, especially as people will often go away and change them to be writable generally when they don't need to, to avoid hassle in the future.

By limiting the scope of what is needed to be edited, the core files never need to be handled in that way.

The only argument that is on the other side of the fence is about people doing raw changes, but firstly if you are doing raw changes, that puts the onus on you to back up and so on. And it puts the onus on you to remember the changes you made.

Thing is, WP acts like this and it seems to be tolerated over there, but what happens is that the automated update actually can tell you what files are changing and you can then go away and figure out for yourself whether you should or should not deal with that.

I have no problem telling users that if they're going to modify the core software, they're responsible for the consequences, but I'm not going to babysit them for upgrading. There are good reasons why hacking the core shouldn't be done, and I'm finally convinced beyond doubt now that the benefits are easily outweighed by the problems attached.
273
Plugins / Exposing bbcode to the plugin manager
« on January 11th, 2012, 01:44 PM »
I've been thinking a bit about the bbcode management side of things, and in particular ways that users can extend bbcode.

Yes, I want to make a custom bbcode interface part of the core, but I can also see the validity of plugins that provide bbcode either through conventional means or custom means (if they need to do things that aren't supported in the core, or some preparsing for example)

What I'm envisaging, then, is that the bbcode table might grow an id column to indicate where a bbcode has come from, and that there might be a direct interface in the plugin-info.xml file to actually add a bbcode that way.

Having the id in the table would allow cleanly removing bbcode from the table when disabling a plugin (something that is currently not entirely reliable), and it would certainly make it easier to package up new bbcode, even if users would otherwise just be able to insert bbcode themselves... some users really are lazy in that respect. :P
274
Plugins / Table helper
« on December 16th, 2011, 03:02 PM »
Something that I need to write sometime: a plugin that queries the tables, lets users pick a table (or tables), and it should output the XML that the plugin-info.xml file uses.

Doesn't need to be pretty but it would be a useful plugin builder tool.
275
Off-topic / I couldn't sleep
« on December 10th, 2011, 05:22 AM »
I couldn't sleep tonight and I've been in something of a rut in terms of coding, wanting to do really little time wasting things rather than epic code production.

Now, I have a licence for http://impactjs.com/ and I finally got around to trying it, this is my first game in Impact, and I've spent maybe a little over 2 hours on it total, but I'm pretty happy with the results.[1] Uses Canvas, so needs IE 9, recent Chrome, FF 3.6+ should work alright etc.

http://arantor.org/meteor-storm/

Here's the deal: You're a spaceship caught in a meteor storm, one of your engines is burned out so you drift to the left, but you can use the other to push you to the right.

The deal ultimately is to survive as long as you can. Holding down Space will engage your engines and push you to the right but at the cost of fuel. Fuel is replenished with hitting the little petrol pump icon, though it does slowly regenerate while drifting.

How long can you last?

(Mobile... doubtful to work. I haven't done anything with respect to binding the 'buttons' on the display to anything, so I doubt it'll work on mobile, but that's a tweak for tomorrow.)
 1. The background graphics are ones that come with a demo game, the main ship/asteroids etc are mine.
276
Off-topic / Making a note for the future
« on December 7th, 2011, 08:02 PM »
Leaving this here as a note for the future: if I or someone else makes a paid work and people ask about it for free, provide this link: http://shouldiworkforfree.com/

It seems to answer all the difficult questions.
277
Plugins / Crazy idea
« on November 26th, 2011, 02:06 AM »
Was discussing the benefits of using YT embed earlier on another forum and a wacky idea hit me.

Would it be viable/useful/beneficial/interesting to have something that did the equivalent of auto-embed but based on Wikipedia links? So that, for example, if you insert a Wikipedia link, it fetches the - say - first paragraph or so and parses that into a quote with link back to Wikipedia?

Definitely plugin material, of course.
278
Features / Post moderation
« on November 25th, 2011, 04:29 PM »
Been thinking a lot about this over the last few days and discarded more UI designs than I can think of for it (eek), but I want to share how I envisage post moderation working from a configuration point of view, and on a related note, why it needs to be changed.

I'm not looking at the mechanics of how approval itself is managed, simply at how one configures what the rules for placing posts on moderation are.

So, what's wrong with SMF's post moderation configuration? Firstly, Core Features. Regular readers will know that I loathe and detest that page. It's nice enough but it's illogical for a regular user to deal with. The number of people who, in the last couple of years, have asked how to turn it on should be proof enough of that.

Then, assuming you turn it on, post moderation shares one dubious award with the calendar, in being the only areas of SMF whose access permissions are configured in three different interfaces (that all do the same job). Yes, that's right, there are three different ways you can set permissions for post moderation - the simple and the classic permissions interfaces, and its own custom page.[1]

And notwithstanding the fact that you have to actually then configure it. It would take a genius of Vizzini's stature[2] to configure post moderation right first time unless you know how it's implemented, since it's *really* not clear from the permissions page.

Here's the problem: nowhere in the permissions does it ever tell you that if the user, for any reason, has 'post... without requiring approval', that overrides 'post... but hide until approved'. Unless you farted around, you'd never come to that conclusion on your own. It's almost broken enough that I'd call it a bug but it was as designed, seemingly. (It's designed by programmers, rather than *for* users.)

Let me explain the problem of doing this on a fresh SMF install, and you're welcome to join in at home. Today's challenge: configure it so that regular users don't have moderation but new users with up to and including 5 posts are moderated.

There are, in fact, two ways to do this, both of which are convoluted.

1. Turn on post moderation in Core Features.
2. Making sure that the 0-post count group is left alone, create a new post count group that requires 5 posts, so that once a user has successfully posted 5 posts (and until they're approved, it won't affect their post count), they can have different permissions attached.
3. Admin > Members > Permissions > Settings > Enable permissions for post count based groups (tick) > save

Here's where the paths diverge. Here's path A:
A4: On the same page as above (Admin > Members > Permissions > Settings) also enable Enable the option to deny permissions
A5: Go to Admin > Members > Permissions > Board Permissions and for each profile (that allows posting) set the permissions up as follows: Regular members should have "Post new topics, without requiring approval" and "Post replies to topics, without requiring approval" enabled, while the 0-post count group should have those permissions *denied* and "Post new topics, but hide until approved" and "Post replies to topics, but hide until approved" in their place. Once the user leaves the 0-post count group for the 5-post count group, the other permissions are no longer denied.[3]

Or, path B. It doesn't require deny permissions but it does things another way.
B4: Go to Admin > Members > Permissions > Board Permissions. For Regular Members, set all the posting permissions to disallow. Then in the 0-post count group, give them "Post new topics, but hide until approved" and "Post replies to topics, but hide until approved" and for every other post count group, give them "Post new topics, without requiring approval" and "Post replies to topics, without requiring approval".[4]

Either way, banal and frustrating (and in fact, you still have to do the same thing using the other interface but it's actually slightly *more* confusing, not less there).


So, here's what I think instead. I haven't quite found a UI I'm happy with which is why there haven't been any screenshots or commits on it yet.

Post moderation is one of those things that you're going to be setting rules for. Think about it; every time you actually want to set post moderation, it's going to be because you want it for specific situations. Some of those will be rather broad but specifically defined (all users with under 5 posts), some will be very specific (all new topics in a certain board)

Doing that last one in SMF is a brainfuck, in fact.[5] So instead, why not some kind of interface that lets you set those rules?

In fact, you can boil down almost every single kind of post moderation situation to rules. Some of them are simple rules, some of them are rules with conditions, and some are rules with exceptions, some with both conditions and exceptions.

But really, that's what's needed. Something to construct rules like:

* moderate all posts "where the user has less than 5 approved posts"
* moderate all new topics in "board x"

Then you can get more fancy:
* moderate all new topics in "board x" where "user has less than 100 posts"
* moderate all new topics in "boards x, y and z" where "user has been registered less than a week"

Or even:
* moderate all posts in "all boards" where "user has less than 10 posts" except "board x" (maybe it's a chit chat board where spamming is allowed, I dunno)

That's the core ruleset, creating rules about the user, but there's no reason why it couldn't be extended to other things like creating conditions or exceptions based on groups, or other user characteristics.

Then, just for fun, I want to introduce non-member-based rules. For example, I want to have it able to moderate posts that automatically contain certain words. I also want it able to moderate posts if they contain a certain number of links. (And have exclusions for all those things based on members etc. If a member has 200 posts, I don't think they should be limited from posting three or four links in a page for example)


I don't think any of this is over the top, I just think this is complicated to get right in a UI context and I'm more conscious of doing that than I ever used to be.

It's interesting to note that there are circumstances which could 'theoretically' be simpler to construct in SMF's environment but the reality is that they're pretty few and far between.


Thoughts?
Posted: November 25th, 2011, 04:18 PM

Also as a footnote, let me add that I would be ditching the core features setup, and simply base it on whether there are any rules defined - no rules = post moderation is off.
 1. It actually gets its own page, template and images, while the calendar has to make do with using internal routines. But still, three places, and it's unique in how far the third page goes, elevating it in a class all of its own.
 2. Vizzini: Let me put it this way. Have you ever heard of Plato, Aristotle, Socrates? Morons. (If you don't recognise the line, do yourself a favour and look the film up. You won't regret it.)
 3. But now we have an extra membergroup that does absolutely nothing other than allow another group's permissions to expire.
 4. This means you still have the extra group, but at least the extra group is now doing something. This is also very fractionally faster, but harder to maintain as you have to set the new permission up on any new post count group you create.
 5. New board profile and everything. Notice I skipped over that small detail in the above, but it's true.
279
Off-topic / Today's thought of the day (24 Nov)
« on November 25th, 2011, 12:11 AM »
I think I might start this as a little daily column, ooh-err.

Anyway. Elsewhere on the interwebs, I got talking to someone about the relative interfaces in games; me thinking about DeathSpank's interface (both keyboard and gamepad) and my friend telling me about Skyrim.

The thing that I got from the discussion is that PC games don't actually care as much about the user. They figure the user has a lot of buttons in front of them, they can press them to bring things up. My example, actually, is DeathSpank. There's a quest log, inventory, 'hero cards' and equipment. Each of those can be brought up from a single keypress. BUT, if you're using a gamepad, there's only a single button allocated to equipment and you step through the pages from there.

Now, my friend mentioned that there's a 'console accommodation' in Skyrim, pressing a single keyboard button brings up a 4-point menu for levelling/skills, map, items and magic. Similar to the four items in DS, really.

My friend stated that he'd use the one button quick key for doing this - but the thing is, I'm not convinced that's the right thing to do, on the game dev's POV at least.

If you use something frequently, leave it a single (easy) keypress away. But if you don't, don't make it a first-class item parallel to everything else, instead delegate down to a menu. In DS, I don't often have to touch any of those 4 pages, so it makes sense that they're one level removed.

Skyrim seems a bit different, where at least one of those pages is frequently accessed, but even then I can't shake the feeling that there's something wrong.

It's as though you're given a dashboard of 15-20 options, that are all as 'important' as each other, seeing how they all take the same effort to make happen, yet surely you don't need all 15-20 options available all the time? Wouldn't it be better to hive off the less important options into a submenu?

And this is what we're seeing being done on console games; they don't have ~100 buttons at pressing distance. Because of this, I'm thinking they have to intentionally be careful with what does what, and force the design to fit - and I'm thinking this is not a bad thing.

I also think a lot of software developers could learn from this approach, actually. Instead of designing to fit with x facilities, what would happen if only a subset y were available?

The other thought I'm having out of all of this is how far I personally have travelled. I always used to be the person who consistently said that I never made it look good, merely that I made it work well, but the more I journey as it were, the more I find that the two things are practically one and the same. I still don't make it look good, but I make it work well for the user, I think.

Thoughts?
280
Off-topic / Thought for the day
« on November 22nd, 2011, 03:10 PM »
I'll just leave you with this article to ponder over: http://www.theregister.co.uk/2011/11/22/frank_fisher_creative_class/
281
Off-topic / DEAR GOD NO
« on November 13th, 2011, 02:45 PM »
It should have left at the end of series 7 or so... but apparently the producers had other ideas.

http://www.theregister.co.uk/2011/11/13/red_dwarf_series_ten/
282
Plugins / Search engine fluff
« on November 12th, 2011, 10:39 PM »
I've flipped and flopped about a number of these things before, and it was a while ago that I figured I could include a bunch of the SEO tweaks into the core to shut people up about it, but I'm increasingly convinced that it would be better for me and for Wedge not to do that, but instead make a single multifunction plugin that 'did everything'.

It'll mean that instead of a bunch of little tweaks and a bunch of core things that I don't really want in the core, I can build a single plugin that does everything which will have a performance benefit as opposed to lots of little plugins.

I also think it demonstrates that, frankly, SEO is not a priority for Wedge (because it isn't) and is more reaffirming of my belief that SEO for forums is largely a waste of time than any pandering to those that refuse to listen to the evidence...
283
Features / Intrigued by a vB feature
« on November 12th, 2011, 08:38 PM »
Yeah, this is something that doesn't happen to me often, I have little real love for vB, but today I encountered a feature that really intrigued me.

Specifically, in a vB forum, if there's a board that has unread posts, you can double click on the icon for it to become marked read, AJAXively.

Oddly, there are only two vB forums I frequent, one of them I never need to use that (because I keep up with all boards), the other I need to use it all the time as there are so many boards I'm just not interested in.
284
Features / Recents posts as formerly on the board index
« on November 11th, 2011, 11:34 PM »
Been thinking about this today, and it's bugging me.

It occurred to me that there are a ton of tiny variation mods on sm.org for altering this stubby little block of posts, not to mention it being discouraged to even be used in the first place due to performance issues with it.

So it occurs to me, I could rip it out, turn it into a plugin and make it much more flexible than the core could be. It could show in the sidebar, or not, it could show with a variety of layouts etc, because that can all be handled more nicely through a plugin than it can in the core (since in the core we pretty much have to roll with one overall look, which is 'in the sidebar, not very flexibly')

Thoughts?

(And no, this isn't just because I'm trying to slowly divest the crap I never use into plugins or anything :whistle:)
285
Features / Aeva caching headers
« on November 11th, 2011, 02:23 PM »
I'm not sure whether this is a bug or not, and I'll investigate properly later but wanted to record it for now.

Just had a case where a user uploaded a file to Aeva Media, I downloaded it, and subsequently (minutes later) the file was updated, but every time I hit the download, I was still getting the cached earlier download.

I'm not sure off hand what headers are sent but it seems we may have to use the cache control headers to validate the time of last update.