Template talk:Infobox/Archive 1

Latest comment: 18 years ago by CBDunkerson in topic Injecting Sanity
Archive 1 Archive 2 Archive 3 Archive 5

HiddenStructure

The hiddenStructure CSS hack has been clearly shown to not work for Lynx, screen-readers for the blind, templates copied to other language wikipedias (where the corresponding style-sheet has not been set up), and other situations. I see no logical reason to continue promoting a bad design. The more pages use this hiddenStructure method the worse Wikipedia will appear to users for whom it does not function. We should be working to limit and undo the damage rather than actively spreading it. --CBD 17:29, 29 January 2006 (UTC)

Indeed. Use template:qif which produces decent html until we have conditionals in MediaWiki, as expressed by Brion on WP:AUM. There is no good reason to break screen readers on thousands of pages (for which this template is an example to learn from). --Ligulem 18:58, 29 January 2006 (UTC)

I can see the Lynx reader argument. However, the if structure is really messy and hard to follow in general - so I think the hiddenstructure should be used on this example template. This seems to me to be the best solution for "forward compatibility" since the programmers of both Wikimedia and Lynx can use the css designation to fix the problem for users of sreen-readers for the blind. Going back and changing all the existing templates is another (IMO, more complicated) issue. But it seems clear that we should give instructions to users on what generally works now and what will not need to be changed soon. Trödel•talk 19:31, 29 January 2006 (UTC)

I'm sorry, but I don't get it. Why use something that 'generally' works over something that actually works? CSS works for alot of people... but not everyone. QIF, '|if=', and other wiki-markup methods work for everyone. I don't understand what you are saying about 'forward compatibility'... at some hypothetical future point hiddenStructure may actually work for everyone so we should use it now? Not knowing what the future holds it is impossible to say what will actually be 'forward compatible' but it certainly seems far more likely that what works now will work in the future than something which doesn't work currently.
As to the 'messiness' of QIF... I don't find it so, but it could actually be made exceedingly simple. There is no reason conditionals couldn't be handled with calls of the form: {{if|{{{parameter|}}}|Text to print if 'parameter' is non-blank}}. Far simpler than the equivalent: <div class{{{parameter|}}}="hiddenStructure">Text to print if 'parameter' is non-blank</div>. I've been sticking to QIF because most people say it isn't confusing and they prefer it. --CBD 19:48, 29 January 2006 (UTC)
I must admit to some confusion - CSS doesn't work for some - then how are they browsing the internet in general? This is what I thought the problem was - class ="hiddenstructure" ends up not hiding the structure for Lynx browsers so they have to skip over the text that shouldn't be there - which I acknowledge as annoying.
By forward combatible I mean that the class="hiddenstructure" tags the information in some way that the browser, or the server could be use to hide that information from display to the user. Since the information to be "hidden" is clearly identified through a tag, it can be resolved without editing it again. If on the other hand one uses {{if templates that are going to be depricated, then every template that uses them going forward will have to edit. Therefore, we should 1) discourage the use of conditionals until a real mediawiki solution is available, and 2) tag them so that they can be programattically excluded rather than manually edited after a solution is available.
However, I see how {{if|{{{parameter is easier to implement for the creator of the template, but since most infoboxes use tables, the <div </div structure is not necessary - only the addition of a style to the row. And to implement something that "works" for all users but requires that every use be edited in the future is less efficient, than avoiding the use or using something that can easily be identified and filtered out programmatically or manually. Trödel&#149;talk 20:43, 29 January 2006 (UTC)
Non-CSS browsers and screen-readers generally just ignore unrecognized tags. For the most part that means that they lose formatting details... font sizes, colors, double line vs single line borders, text alignment, et cetera. However, in most cases these things aren't particularly important... a blind user doesn't really care whether the text is vertically aligned to the top of the cell. Thus they can 'browse the internet' just fine. The exception are the 'display: none' and 'speak: none' values set by hiddenStructure on English Wikipedia (but not other language Wikipedias which frequently copy our templates - and now find them not working). These are meant to suppress the indicated text, but when CSS is ignored the text is simply displayed... so instead of not getting a font style which isn't particularly relevant they get extraneous text, brackets, punctuation, et cetera. As opposed to using wikipedia parameter switch methods (whether by 'qif', '|if=', or some other form) the information is sent correctly for everyone.
I still don't understand how 'hiddenStructure' is more forward compatible than 'qif'. For one you assume that 'qif' will be deprecated... I can only see that happening if some built-in conditional functionality is developed. However, every method of such suggested thus far would require 'hiddenStructure' to be removed/replaced just as much as 'qif' or any other method. Using a 'tag' format vs a 'template' format doesn't make the templates any more easily updated to whatever future hypothetical replacement there might be. If we were to suppose that a built-in replacement would soon be available and that it would be easier to convert 'hiddenStructure' to that method than 'qif' then maybe it would be ok to continue to disenfranchise users for a short time... but I don't see any evidence that either of those things are true. We have the situation in front of us... and presently 'qif' works and hiddenStructure doesn't. --CBD 21:09, 29 January 2006 (UTC)
Foreign language use of english templates. Since any admin can edit MediaWiki:Common.css or for another language es:MediaWiki:Common.css, fr:MediaWiki:Common.css, dk::MediaWiki:Common.css, nl:MediaWiki:Common.css etc., I don't see why they can't just fix the issue quickly by bringing the common.css file up to date. Breaking for some users: (are blind users the only ones affected?) we should decide based on some measurable criteria - using something that may hurt server load so that users of specific browsers aren't effected needs to be evaluated by looking at how many users are effected? is the server load really effected? by how much? how many templates are involved? what is the impact for the effected users? is there a easy workaround? In the meantime we should, IMHO, remove all reference to the use of hiddentext or if in the example template and not encourage its use until a real mediawiki solution is available. Trödel&#149;talk 21:40, 29 January 2006 (UTC)
We have a solution that works perfectly well. It's called qif and produces decent html, the same html we would produce if we had conditionals in MediaWiki. What's not optimal with qif is that it is not efficient. But it is not that ineffiecient to the extent that we must say: yes it is intolerable to use it until we have conditionals in MediaWiki. Why make an extra trip in creating bad html and possibly damage the reputation of Wikipedia only because we fear an abstract non-proven claim that qif hurts the servers? If we do not play araound editing qif every half-an-hour then I see no danger to wikipedia at all. In fact it serves damn well as a intermediate solution until we have conditionals in MediaWiki which will be trivial to do (once there is consensus on the devs how to do it). I do not think that anybody still believes we will never have conditionals built into MediaWiki, do you? --Ligulem 22:10, 29 January 2006 (UTC)

The intent of this basic example template is for users who are not template wizards. Both developers that have commented on WP:AUM have said to avoid meta-templates, so it is not at all appropriate to introduce them to new template creators. Anything used incorrectly is bad, but Wikipedia:hiddenStructure describes the appropriate minimalist usage. -- Netoholic @ 03:31, 30 January 2006 (UTC)

No, that is untrue. Brion said to avoid meta-templates if they are hard to understand and/or fragile... both of which apply far more to 'hiddenStructure' than they do to 'qif'. The 'hiddenStructure' method does not work... and thus all applications of it are "used incorrectly". --CBD 11:54, 30 January 2006 (UTC)
As such, I've removed hiddenStructure from this example template, as well. -- Netoholic @ 21:13, 31 January 2006 (UTC)

Conditionals

As the point of this template appears to be to demonstrate good practices for template newbies, I think it's important that {{qif}} be shown as one of the examples. —Locke Coletc 21:02, 31 January 2006 (UTC)

Your idea presumes that any conditional rows in an infobox is a "good practice". It seems that may not be the case, and I have trouble seeing any consensus being reached as to which conditional method to standardize on. Let's avoid that headache on this page. -- Netoholic @ 21:12, 31 January 2006 (UTC)
Let's not. I believe there's a consensus in favor of showing people the correct way to have conditional rows displayed. Certainly people can standardize easily on {{qif}} because it lacks the accessibility issues associated with hiddenStructure, and it lacks the complexity issues inherent in a forked template design. —Locke Coletc 21:20, 31 January 2006 (UTC)
Seconded. Let's not. I agree with Locke Cole. --Ligulem 22:45, 31 January 2006 (UTC)
Thirded. Conditionals are very important in infoboxes. If done right, they make things much simpler for article editors. Crotalus horridus (TALKCONTRIBS) 08:35, 1 February 2006 (UTC)
We should discourage the use of conditionals until there is a better solution. Regardless of which method you prefer - it seems clear that they should be avoided - and new template creators shouldn't thus be encouraged to find ways to use them when a standard template will do. Trödel&#149;talk 22:45, 1 February 2006 (UTC)
When a better solution is available we can switch to it, but until that time we would be doing people a disservice to not show them the preferred method of conditional inclusion. —Locke Coletc 22:52, 1 February 2006 (UTC)
I totally agree - but why continue to teach new users of templates to use what we know is a flawed system - let them ask someone if they need conditionals. It is a disservice to teach them to use a flawed technique. Trödel&#149;talk 04:48, 3 February 2006 (UTC)
It is currently the only technique available that works correctly. By using {{qif}}, when such a system is in place, we should be able to use Special:Whatlinkshere to find templates that need to be converted to the new system. Otherwise, we risk editors finding hiddenStructures or other flawed conditional inclusion methods and getting them into widespread use (which would be unfortunate considering the damage they do). I am reverting your removal on these grounds (and on the grounds that at least two others seem to agree). —Locke Coletc 04:55, 3 February 2006 (UTC)
But it is ugly and hard to edit (i.e. other then just use). So why should we teach it to new users. I am not advocating using hiddenStructure - only that we should NOT encourage the use of any conditionals. Those that really need them can find the information to use them but to include them here is not useful. And please don't pretend that we have concensus here - there are very few people even discussing this issue. Trödel&#149;talk 05:43, 3 February 2006 (UTC)
The alternative to using conditionals is using two or more templates where only one is needed. This is ugly, difficult to maintain, and poor technique. We'll have real conditionals in the software soon enough; until then, {{qif}} is the best solution we've got. Crotalus horridus (TALKCONTRIBS) 06:35, 3 February 2006 (UTC)
I just want to ask you guys to settle it, perhaps asking people on other places to comment, we don't want this to becomie a revert war, as some of you are close to 3RR. Please ask on irc, I know some of you have actively participated on metatemplates, booleans, etc discussions, but we should settle first before start reverting. -- ( drini's page ) 05:47, 3 February 2006 (UTC)

Stop the revert war, please

I'm watching this page, and don't care what the content of the template is... Please stop the revert war or I'll lock it down until you have consensus here. --Syrthiss 19:13, 3 February 2006 (UTC)

Injecting Sanity

I've reverted this to the versions without {{qif}}. To me the reason is simple per AUM and when I'm talking about AUM I'm talking about the section with questions about when a meta-template should be considered and I feel this fails all instances.

  1. Is the end product essential to Wikipedia, or is it a primarily decorative feature? Meta-templates that are not essential should be avoided.
    Pretty clear here, I don't think anyone considers this addition "essential", desirable is an argument but it isn't essential.
  2. Is the template likely to be high-profile? High-profile templates cause more server load, and so are less appropriate for meta-templates.
    Is there a template more higher profile than this one? If there are, you can probably count them on one hand.
  3. Is the desired effect only achievable through a meta-template, or can a template of basically the same appearance be made without them? If the same effect can be achieved differently, even if it is more difficult, a meta-template should be avoided.
    This is clearly being achieved differently and is somewhat more difficult than the QIF option.
  4. Will later editors understand how this works?
    No brainer -- absolutely not. Unless one is familiar with template creation and usage I would say about 98% of the editors have no idea how this works.

All of that said, even though I reverted I would encourage this to calm down and be discussed. I see nothing but hostile reverts the past couple of days amongst more or less four people. I see some strikingly hostile ones in there as well. Continued behavior, 3RR or not could lead to more drastic action needed to keep the peace. 3RR doesn't give you license to go and do another 3 reverts the next day, this is not useful or helpful. Answer the issues that need to be addressed and work to achieve a consensus. I've seen "consensus" bandied about here but no discussion to back up that one has been reached. --Wgfinley 20:16, 3 February 2006 (UTC)

You're citing a rejected policy that the lead developer has described as being based on inaccurate concerns. If WP:AUM were accurate and reasonable then you'd have a perfectly valid point. However, since many people do not consider it to be so you need some other basis to be threatening "more drastic action". I could write up a 'Avoid diagreeing with Conrad' essay, but that doesn't mean people have to follow it. :] --CBD 20:21, 3 February 2006 (UTC)
Hmmm, what was that? Oh yeah, I just said something about hostility and reducing it. He didn't throw out the entire guideline, advice, suggestion, what have you. I think these four questions are still well consdidered to be sound reasons when determining if a meta-template is a good idea or not. Perhaps if it failed in one of these areas you could say I'm nitpicking but there isn't a single area that it satisfies. --Wgfinley 20:25, 3 February 2006 (UTC)

Who's hostile? Your comment about 'sanity' and threats to take action against people disagreeing with you? Ok, maybe a little, but that's ok... I've got thick skin. :] The questions you list are based in large part on the premise that meta-templates are very bad for server load... hence only to be used if "essential". If they aren't bad for the servers then there is no reason to limit them to 'essential' situations. The 'high profile' refers to number of pages linking to it and frequency of viewing... where the theoretical 'server load' issues would be intensified. This page isn't heavily linked or viewed, ergo not a big issue even if there actually were server load concerns. Et cetera. Also, WP:AUM isn't a guideline... it's an essay with no community or developer consensus behind it. Hence my parallel to an 'Avoid disagreeing with Conrad' essay... you can write up a page which says anything. That doesn't mean people should follow it or admins should threaten people for not doing so. At that, I'd wager that 'ADWC' is probably sounder advice than 'AUM'. :]

On this issue, I've suggested a possible way to settle this dispute and (hopefully) end the revert wars here and on various other pages over this issue. Comments on the page linked above would be appreciated. --CBD 20:35, 3 February 2006 (UTC)

Go back and look at AUM, Brion edited the guideline, the "questions" I just cited is still there after his revision which would indicate to me he supports those questions because why would he make vast revisions everywhere else and not there? Nobody just "wrote up" a policy, it originated with what one developer said about it, has been updated with what another devloper has to say and that's what I'm quoting from. As far as "threats" if you want to consider that the threat that is fine, I think edit warring for days on end is the real threat and I'm not the first admin to come in here and say that if it didn't stop something more drastic would need to be done (see the prior heading). --Wgfinley 22:56, 3 February 2006 (UTC)
Brion's edit of the page consisted of leaving the page untouched except for adding a big box at the top saying that it should not be policy. Taking that as approval of the 'questions' or any other portion of the content of the page seems unfounded at best. Again, WP:AUM is not a policy. It isn't even (as you keep saying) a guideline. It's an essay written almost exclusively by Netoholic (because most other edits have been reverted out) with no community or developer consensus behind it at all. I agree that edit warring is bad. However, it is the continued pushing of a failed policy proposal which is at the root of the edit war on this and various other pages. Both WP:AUM and this page have been reverted to versions which are founded on a faulty principle (i.e. 'meta-templates cause significant server load problems') and then protected. That is also not a good thing. You continue to quote WP:AUM as grounds for your actions... but the fact is that page carries no weight whatsoever. You might as well be quoting 'The Cat in the Hat'. If you want to take 'more drastic' action I direct you to the root of the disagreement... what valid reason is there for systematically eliminating meta-templates? I don't see one. Anywhere. --CBD 23:22, 3 February 2006 (UTC)
WP:AUM is plain instruction creep: "All new policies should be regarded as instruction creep until firmly proven otherwise". Ignore it. It's a red herring. Going willy-nilly killing each meta-template is ridiculous. --Ligulem 23:35, 3 February 2006 (UTC)
This is the problem as I see it - there is a very clear difference between 1) removing the use of meta-templates from a template meant to instruct new users on how to create an Infobox, and 2) going through all existing templates and removing meta-templates. (1) is all that wgfinley proposed, but you are countering his proposal with arguments against (2) Trödel&#149;talk 04:22, 4 February 2006 (UTC)
So... you won't object to restoring meta features to all the other templates they've been stripped out of. Excellent. Good to know. :] --CBD 05:25, 4 February 2006 (UTC)
Frankly I find your disingeniousness to be extremely frustrating. There are two different issues and I am arguing in favor of (1) here; THAT does not imply either an endorsement of (2) nor a repudiation of (2). It is clear that we shouldn't teach new users to use conditionals. (2) is a much more difficult question - and unfortunately it doesn't lend itself to a "do xxxx in all cases" type policy. Trödel&#149;talk 13:19, 4 February 2006 (UTC)
Try 'facetious'. 'Disingenuosness' (in addition to being a personal attack) implies a false pretense to be unaware of the larger picture. I am specifically pointing to the larger picture. Saying, 'we are only talking about this page' and 'this only applies to what we teach new users' ignores that Wgfinley, and Netoholic, and you have made similar arguments on WP:AUM, WP:RFAr, and other pages for how this should apply to other pages and all users. It ignores that templates have been systematically stripped of conditionals. You say, "It is clear that we shouldn't teach new users to use conditionals.", but that is, in fact, anything but clear. Indeed, I and several others disagree entirely. I have seen no compelling rationale for that position. Mind you, if the 'massive server load' or 'very difficult to use' claims were true those would actually be compelling reasons... but they plainly and demonstrably aren't true. So what are we really talking about here? Hypothetical nebulosities and minor inconveniences in the short term while we wait for true conditional logic to be implemented? For this we are trying to 'hide information' from new users and redo dozens (hundreds?) of templates? No, it is needlessly disruptive. --CBD 14:07, 4 February 2006 (UTC)
You're right, there's a difference. But there's also people who will, invariably, wonder how to create conditional paramters themselves, and I believe it's the responsible thing to do to show them the current best method. Otherwise, we risk people learning the incorrect and broken methods Netoholic has pushed for months (hiddenStructure, etc). —Locke Coletc 05:31, 4 February 2006 (UTC)
If they are intelligent enough to properly implement a conditional they will read this talk page and identify several users who can help them. Trödel&#149;talk 13:19, 4 February 2006 (UTC)
That's not an assumption I am prepared to make (and not when the costs are this high). —Locke Coletc 13:44, 4 February 2006 (UTC)

Use of conditionals in infoboxes

Note: This has been posted both to Template talk:Infobox and WT:AUM. I've done several reverts on Template:Infobox, and I want to make my own position on the matter clear, rather than just blindly reverting without an explanation.

Most of the general talk about "meta-templates" obscures a simple fact. The overwhelming majority of meta-template usages are conditional templates, chiefly {{qif}}, and the overwhelming majority of conditional usages are for one single purpose: to hide empty sections in infoboxes. According to Brion, there is currently work underway to add native support for conditionals into the MediaWiki software; when this is done, it will clearly be the preferred way to do this, and {{qif}} can then be deprecated. Until that happens, though, we need to have a backup plan. There are currently three primary options:

  1. Use qif.
  2. Use the hiddenStructure hack.
  3. Fork a single infobox into multiple templates.

(2) is unacceptable because it generates horrendous HTML and breaks some client software, including screen readers. (3) is even more unacceptable because it results in a maintainence nightmare (whenever someone wants to change the base infobox design, they have to remember to do so across multiple pages). Furthermore, (3) places more of a burden on article editors. With a well-designed conditional infobox, empty fields will simply be ignored, so users of the infobox need only omit the parameters that are unused; this is quite intutive. In contrast, forking means that editors must remember multiple template titles and spend time figuring out which one to use. By optimizing for ease of editing on the templates themselves (and, as pointed out above, it doesn't even do that very well) we are hurting ease of editing on articles, which affects far more editors.

Therefore, option (1) is the best alternative we currently have. It's not that difficult for an intermediate HTML programmer to understand, and it offers by far the best experience to the article editor and end user - who ultimately must take precedence. This will hopefully all be moot before long, but this is why the references to qif should stay in Template:Infobox. Crotalus horridus (TALKCONTRIBS) 06:38, 4 February 2006 (UTC)

You are generalizing, and working on a premise that is based on unknowable statistics ("overwhelming majority of meta-template usages are conditional templates"). There is no blanket answer to what the best solution for a template is. The choices are much more complex than Qif vs. hiddenStructure vs. forking. -- Netoholic @ 06:48, 4 February 2006 (UTC)
Well, OK. In what cases is this generalization not valid, and what other alternatives do you suggest? Crotalus horridus (TALKCONTRIBS) 07:02, 4 February 2006 (UTC)
To me the main issue is the importance of the template itself. Instead of creating a meta-template to do this why not an article on how one would do it? And, let's face it, what percentage of editors are even "intermediate HTML programmers"? Secondly, as I stated before, Brion has indicated his general support for much of what is in AUM but didn't like the emphasis on server load being the main issue. That doesn't mean the rest of AUM is bunk. Finally, this comes down to the target audience, I think any editor who would need this template would have little or no knowledge of QIF and would run a far greater potential of screwing it up than any good to be gleaned from doing it this way. It's a cost/benefit issue. --Wgfinley 08:34, 4 February 2006 (UTC)
template:qif is easy to use and it will be implemented in MediaWiki anyway so it is a good replacement for that laking MediaWiki functionality for now (no harm to the servers, decent html as opposed to Wikipedia:hiddenStructure). The announced MediaWiki function will have the same ease of use as qif. Do not go and make things like the infobox in Silver, this isn't worth the trouble. If there is anyone who would like to know anything about qif or is not shure how it is supposed to be used, she/he can ask me on my talk. You are always welcome. Once we have qif built in MediaWiki it will be easy to convert the templates to that. It's not a good idea to go like silver just for the interim period. --Ligulem 10:32, 4 February 2006 (UTC)

In response to the statements about the horribly confusing and unusable 'qif'... please see the hundreds of templates where qif is/was utilized. Can we toss that argument on the scrap-pile alongside 'server load' now? As Ligulem says... we are going to have conditional logic built in. Thus the question is only what to do in the mean-time. We can decrease the accessibility of Wikipedia by using 'hiddenStructure', cause chaos and confusion by splitting templates or otherwise removing conditional logic (which will then need to be put back in), or use parameter switching like 'qif'... and somehow bravely endure the vast and unspeakable horrors of that method - which was used for months without any particularly noteworthy problems whatsoever. Frankly, this ought to be a no-brainer. --CBD 11:51, 4 February 2006 (UTC)