Falsehoods Wikimedians Believe About Gadgets

, .

Gadgets are a popular way to improve the user experience on MediaWiki wikis, including Wikimedia wikis. This humorous list contains misconceptions that some of us, consciously or unconsciously, may hold about various aspects of gadgets, based on my own experience as an interface administrator on Wikimedia Commons.

For some of the falsehoods, I’ve included some extra text that you can read if you like (click the headings to collapse/expand them). But I’d suggest first reading through the whole list once, as I think the text flows better this way :)

(With thanks to Ash_Crow, Sukkoria and Brooke Vibber for proofreading and suggestions!)

The list

1. The user who created this gadget is its maintainer

2. The user who most often edited this gadget is its maintainer

3. The user who last edited this gadget is its maintainer

4. This gadget’s maintainer uses it regularly

I maintain AC/DC, but use it only sporadically.

5. This gadget’s maintainer is able to edit its code

If a gadget started out as a user script, the author of the user script may not have the permissions required to edit it after the conversion to a gadget. For example, this was the case for AC/DC, until I became an interface administrator.

6. Gadgets should only have one maintainer

7. This gadget has enough maintainers

8. This gadget is maintained

9. This gadget works

10. If this gadget was broken, somebody would have noticed it

11. This gadget has users

12. This gadget has active users

Special:GadgetUsage (e.g. English Wikipedia, Wikimedia Commons, Wikidata) shows the number of users and active users (ones who’ve made an edit in the past 30 days) who have a gadget enabled (which doesn’t necessarily mean they’re actively using the gadget). Some gadgets can have thousands of users; others, even on large wikis, may only have a handful, and it’s possible that few of those users are still active. On test wikis you can easily find gadgets with no active users at all (though I’ve yet to find a gadget without even inactive users).

13. This gadget is used more widely than this similar user script

14. This gadget has no bugs

15. This gadget has no security vulnerabilities

16.Surely no gadget on Wikimedia wikis uses eval()

Don’t look at this global search if you want to keep believing that.

17. This MediaWiki:Gadget-* page is part of a gadget

It’s worth checking the gadgets definition page; maybe the page author never finished the gadget, or it became obsolete and was removed from the gadget definitions again (example).

18. This gadget uses a consistent coding style

19. This gadget’s code is written this way for a good reason, it shouldn’t be changed

20. This gadget’s code is written this way for no reason, it’s fine to change it

Both of these refer to Chesterton’s fence, the idea that you shouldn’t change an existing system without understanding the reason for its current state. If you’re looking at an unfamiliar gadget and something in the code seems pointless and confusing, it’s a good idea to look into why it was written like that before changing it. Once you understand it, it may still be legitimate to change the code, e.g. if the code is working around quirks in an ancient browser version that’s no longer supported, or if the original developer just liked the code this way and didn’t realize that it would cause some specific bug. If you can’t figure out the reason, you’ll have to apply your own judgment whether you still want to risk changing the gadget.

21. Edits suggested or made by this gadget, by necessity, represent currently accepted best practices on this wiki

22. If this gadget was discouraged, deprecated, unmaintained, or abandoned in some way, the gadget description and/or documentation would say so

23. This gadget’s code is only used on this wiki

24. This gadget’s code is only used on Wikimedia wikis

For example, HotCat can be (and is) installed on many other wikis. Many of them are set up to always load the latest code straight from Wikimedia Commons, so we need to be extra careful when making any changes there.

25. This gadget is usable

26. This gadget’s user interface is well designed

27. This gadget is self-explanatory

28. This gadget has a documentation page

29. This gadget’s documentation page is up to date

30. This gadget’s documentation page is correct

31. Every part of this gadget is protected against vandalism

Translations may be less protected than the gadget’s code proper, for instance.

32. Any user who edited this gadget, by necessity, understood how the whole gadget worked then and still understands it now

33. If an issue with this gadget is reported on its talk page, somebody will respond to it

34. If an issue with this gadget is reported on its talk page, nobody will respond to it

35. An edit request to update this gadget will be processed speedily

36. An edit request to update this gadget will never be processed

37. This wiki has an edit request template

38. This wiki has a technical village pump or interface administrators’ noticeboard

From Wikimedia Commons, I’m mostly familiar with the edit request workflow (a template you put on the talk page of the page you want edited), but e.g. German Wikipedia has no such template and instead collects all edit requests on a central noticeboard. Other wikis may have neither (Wikidata query).

39. This gadget’s messages are translatable

40. Everyone can update this gadget’s translations

41. Everyone knows how to update this gadget’s translations

42. Someone knows how to update this gadget’s translations

43. This gadget’s source code and comments are written in English

44. This gadget’s source code is commented

45. This user script should be a gadget

46. This user script shouldn’t be a gadget

47. This user script could’ve been made a gadget already

48. There’s a good reason why this user script wasn’t already made a gadget

49. When it’s agreed that this user script should be made a gadget, it’s clear which user’s version of the user script should be adopted

50. This useful functionality already exists as a gadget

51. There must be a reason why there’s no gadget for this useful functionality yet

52. This gadget would be really easy to create

53. This gadget would be really hard to create

You won’t know until you try it. If you know how to write JavaScript, and you want a certain gadget or user script to exist, go ahead and try it out :)