⚠️ Warning: This is a draft ⚠️

This means it might contain formatting issues, incorrect code, conceptual problems, or other severe issues.

If you want to help to improve and eventually enable this page, please fork RosettaGit's repository and open a merge request on GitHub.

{{Vptopic |topic=Old draft tasks |summary=Discussion on what to do about draft tasks which don't seem to be getting attention }} There are some [[:Category:Draft Programming Tasks|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 [[Rosetta Code:Village Pump/Suggest a programming task|task suggestion box]]. What do you guys think? --[[User:Mwn3d|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; :# look at a user's known-languages set. :# Ask the user if they'd try to implement a task in (language they know that the task isn't implemented in). :# 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 {{tmpl|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. --[[User:Short Circuit|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: :# An improving/good enough description. :# 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 :-) --[[User:Paddy3118|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) --[[User:Short Circuit|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. --[[User:Paddy3118|Paddy3118]] 22:36, 11 May 2011 (UTC)

:::: Some draft tasks just have big problems. For example, [[Loading animated 3D data|this]] is a really tough one to do without a very specialized support library, and [[VList|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). –[[User:Dkf|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") --[[User:Short Circuit|Michael Mol]] 01:21, 12 May 2011 (UTC)

:Isn't the initial 'custodian' the person who starts the task? I think it is good that people that have good ideas for tasks, but who do not have English as a first language, have asked for help with their task and recieved it. But what about the tasks for which the people who might have helped, feel reticent for some reason? --[[User:Paddy3118|Paddy3118]] 05:14, 12 May 2011 (UTC) :: Yes. As things stand, the custodian for a new task is whoever created it. However, the task creator doesn't always stick around (The majority of entries currently in [[Rosetta Code:Village Pump/Suggest a programming task]]) or check back (see the mess that caused in [[Multisplit]]). By making explicit who the 'custodian' is, we have the ability to allow transfer of ownership in case a task author/originator has moved on. With transfer of ownership comes the ability to take something that hasn't been built upon, and reshape it so that it can be built. --[[User:Short Circuit|Michael Mol]] 14:07, 12 May 2011 (UTC) :Don't we want tasks in which the original creator had to put in the initial effort to see it through any initial doldrums? --[[User:Paddy3118|Paddy3118]] 05:14, 12 May 2011 (UTC) :: Yes. And this wouldn't prevent that. The best tasks on the site have tended to be those which someone sat through and was available as they evolved. However, not everybody has the skills to take a task idea and put it into enough human words to be clear and task-like. (I personally know people who've chosen not to create tasks not because they wouldn't like to, but because they don't think they're allowed, but because they don't believe they can put their idea clearly into task form) Not everybody has the skills to actually know about what it is they'd like to see written as a task. (Such as when I asked for [[Levenshtein distance]], or, really, half the things I've put on [[Rosetta Code:Village Pump/Suggest a programming task]]; these are things I'd like to understand, but don't) A custodial system would let someone take an abandoned task suggestion, boil it down to find the interesting bits and build tasks out of those. If there was anything useful in the original idea, it isn't lost, but refined by someone with an interest in it. --[[User:Short Circuit|Michael Mol]] 14:07, 12 May 2011 (UTC) ::: Perhaps it would be of use to identify people who might help shepherd a task through draft. If someone wants to create something but are less comfortable with the wordsmithing and definition, then identify mentors. A task mentor wanted page or something. That would give them someone to bounce ideas off and get the wrinkles out of before things get too loose. --[[User:Dgamey|Dgamey]] 03:47, 18 May 2011 (UTC) :::: Might work. We'd want to clear out the existing 'suggest a task' page, and create a template for placing new ideas there. The template would need arguments for a short summary, long summary (including offsite references), and who's taken on the shepherd role. The template can even force-sign the submitter's username, to aid communication. It would probably link to a page titled after the short summary. where discussion can take place before a draft task page is created. --[[User:Short Circuit|Michael Mol]] 16:21, 18 May 2011 (UTC) ::::: We'd need a way to connect up the submitter to the potential mentor. Maybe something on the user's page to link them and to state what they are interested in helping with. Maybe it could be a watched page and the mentors get notified. --[[User:Dgamey|Dgamey]] 22:23, 18 May 2011 (UTC) :Do we want to, in effect, move some of the list of suggested tasks into abandoned task pages with just as much information in them? --[[User:Paddy3118|Paddy3118]] 05:14, 12 May 2011 (UTC) :: Actually, that's more or less what I'd like to see, with the caveat that we can identify when tasks are abandoned and have free license (in a social sense) to reformulate them into something more useful and/or interesting. The 'custodian' idea was intended as way of explicitly identifying who had that license, and as a way of clarifying whether or not a task is truly abandoned. (If a task transfers custodianship, then we can ask the new custodian. If the new custodian doesn't ceases to take interest in the task, then the custodianship can transfer again) --[[User:Short Circuit|Michael Mol]] 14:07, 12 May 2011 (UTC) ::: How about an {{abandoned task}} tag? It would facilitate changing draft task to abandoned task with an easy edit. Maybe even by a bot. It should also throw up a big warning box. --[[User:Dgamey|Dgamey]] 13:18, 27 May 2011 (UTC) :::: Sounds reasonable. I'd probably want to change the name to {{tmpl|unmaintained task}}, though. --[[User:Short Circuit|Michael Mol]] 16:55, 27 May 2011 (UTC)

:Is this a case where it would help if we got the thoughts of long-term members of much larger wiki's? (Is there a meta wiki wiki)? :--[[User:Paddy3118|Paddy3118]] 05:14, 12 May 2011 (UTC) :: I really don't know. I can think of arguments either way, as usual. However, I'll ping this page out on the twitter and Facebook accounts; we might conceivably get more input that way. Could also set up things like Doodle and Facebook polls. --[[User:Short Circuit|Michael Mol]] 14:07, 12 May 2011 (UTC)