Rosetta Code:Village Pump/Old draft tasks

From Rosetta Code
Revision as of 01:21, 12 May 2011 by MikeMol (talk | contribs) (Custodian roles and task modifications)
Old draft tasks
This is a particular discussion thread among many which consider Rosetta Code.

Summary

Discussion on what to do about draft tasks which don't seem to be getting attention

Discussion

There are some draft tasks that end up sitting around for a long time with no one adding examples or discussing anything about it (someone noted this on EBNF parser recently). I don't really want to push a hard rule on draft tasks, since everything about them is pretty ad hoc. I'm wondering if we should "clean out" some of the drafts that didn't really take off. Or maybe we could mark them as "failed drafts" (but use a nicer word)? It would be nice to keep the information around in case someone wants to pick them back up (especially if they have a correct example), but I feel like they should at least be marked somehow. It may be fine to delete them and try to come up with a coherent task suggestion for the ever-growing task suggestion box. What do you guys think? --Mwn3d 18:15, 11 May 2011 (UTC)

Draft tasks remain so primarily because nobody adds content to them. To understand why that is, we'd have to ask each person who chose not to write an example. (To that end, it'd be awesome to be able to do something like this;
  1. look at a user's known-languages set.
  2. Ask the user if they'd try to implement a task in (language they know that the task isn't implemented in).
  3. If they decline, ask them why.
If the problem is that a task is too complicated or large, that doesn't mean the task isn't poor. Generally, in these cases, the original author might be asked to provide a few more examples in different languages. That's likely to provide enough differentiation in examples to cause some folks around here to question the task's description.
Otherwise, perhaps simply creating something like {{WillNotImplement}} which takes a parameter as to some reason "why" might be enough to get some tasks out of the doldrums. I see no reason a draft should be archived or set fully aside without some discussion or attempt to get it up to snuff, first. --Michael Mol 19:35, 11 May 2011 (UTC)
I think that someone who starts a task off should only do so with the intent of providing one good implementation in a short order of time. Mainly because the disciplin of providing both, would raise such a task, even if it remains draft, above the level of a task with no agreed, good, implementation. Without that first good implementation and task description , the task has very little to differentiate itself from some entry on the Suggest a programming task page, and should, in fact be somehow deleted and replaced by an entry there if the task page is abandoned without gaining those twin things of:
  1. An improving/good enough description.
  2. One correct implementation.
By adopting the above, would we then have a sizeable problem of tasks with one good implementation and a good task description but no further activity for some time? Not sure :-)
--Paddy3118 21:51, 11 May 2011 (UTC)
I strongly dislike the "must provide an implementation" requirement for something to be a draft task, as it prevents people from trying to build tasks that they don't know enough to implement. That's somewhere in the vicinity of 90% of the things I've tried to get created. I believe the reason the Suggest a Programming task page is a place where ideas go to die, and I hate that page with a passion. I'd rather see large numbers of directionless draft (or sub-draft, whatever) tasks free to be claimed, clarified and directed by anyone with the motivation, then have that festering page sit there. The key problem is that entries on that page don't get revisited by the people who create them, and it's unlikely they will. There needs to be some degree of freedom to take such an idea and mold it into something more suitable, but there's no sense of such freedom or drive in the task page as it exists. There's also no real way to purge items off of that page even if they do get implemented. (This may be a point where I strongly disagree with RC regulars, and if that's the case, then all I ask is that some system of evolving half-baked ideas from people who don't know enough to build them themselves is built) --Michael Mol 22:04, 11 May 2011 (UTC)
How about three classes of task? Add a new pre-draft or alpha task for which we expect tasks without both their first implementation and a good/improving task description, to be migrated to after a while. The task retains its page, but its status is flagged. --Paddy3118 22:36, 11 May 2011 (UTC)
Some draft tasks just have big problems. For example, this is a really tough one to do without a very specialized support library, and this doesn't have a real implementation in any language (an interface spec is usually not a solution, and certainly isn't for a data structure task). OTOH, I added undone drafts to the template report of things not done for each language to make it easier for people to step up and provide implementations; that's generally the best way of helping a task make it to full task (even if in some cases that's not all that's required). –Donal Fellows 23:36, 11 May 2011 (UTC)

What if we were to add a 'custodian' role to draft tasks, where someone who sees a draft without a custodian can be the go-to guy for clarifying the task idea into something that can be implemented or built upon? Once the task graduates to full-task status, it falls under the more general behaviors we already have. As for things like VList and Loading animated 3D data, perhaps those tasks should be modified such that they're more achievable or implementable. (VList might also include a "demonstrate its use" section, while the 3d animated data task might not be so specific to require the use of Smil and X3D, but go on to show how to proceed along the individual model "frames") --Michael Mol 01:21, 12 May 2011 (UTC)