I can see both sides of the argument here and just wanted to provide my thoughts on this matter. The short version is basically this: Keep gadgets for experiment, but ensure global gadgets are held to a higher standard of quality and made more visible to a wider audience.
As a developer the existence of Common.js and gadgets adds an extreme amount of unnecessary complexity to our code. In the early days of the mobile site, we missed an entire week of deployment due to certain global gadgets breaking on certain wikis that had not been designed for mobile that we had overlooked. We had to spend this week disabling all gadgets on mobile so we could actually continue work and remove this complexity. It seems extremely unreasonable to expect any engineer of MediaWiki to know exactly which gadgets are enabled on every single wiki using MediaWiki that exists and what actions they perform and under what circumstances. In addition to this, unless I am mistaken - and if I am this shows how much of a black hole Gadgets are for those not in the loop - gadgets do not tend to have tests, or any code review type process (editing a wiki page of a global gadget is like self merging your own code which we frown upon for core - so why do we encourage it here?).
Wiki pages in my opinion are also not the best medium for code collaboration. There are various CSS rules in MediaWiki:Common.css that seem to only work on a small amount of pages thus the CSS is not optimal and we are hitting all our users badly in the performance (There are an extremely huge amount of rules for horizontal lists for example). Wiki pages can also be edited in isolation and unaware of each other so you end up generating lots of code that does the same thing rather than consolidating code as you would if it was under version control in a shared repository (FYI on the Barack Obama page according to Chrome web tools 90% of CSS rules we send go unused to a reader - although this a larger problem in that core doesn't even have a shared repository of styles that other extensions can use).
All this said, I think gadgets are a great experimentation ground and create some extremely useful tools for editors and readers. However I do think various changes can be confusing for the average //reader// if enabled globally. I remember around the time of the Echo launch there was friction between developers of the feature and community members and the orange bar of death resurfaced promptly leaving an unacceptable very confusing fragmented experience for all readers who were not in that loop.
I'd love us to get into a situation where Gadgets continue to be a platform for innovation but community and developers work hard to mature these gadgets into performant, test protected beasts that live in a single code repository. I do feel at times that we treat our users like dirt in terms of their experience...
Many a time I've talked about this I've hit the argument that gerrit is confusing to some users and is a barrier for development, but this is a terrible unacceptable attitude to have in my opinion. Our end users deserve a certain standard of code. I'm aware using a code review process can slow things down but I feel this is really essential. I for one greatly benefit from having every single piece of my code scrutinized and perfected before being consumed by a wider audience. If this is seen as a barrier, someone should investigate making it possible to send wiki edits to Gerrit to simplify that process.
Anyway that concludes my thoughts here... (braces himself for lions)
On Mon, Dec 9, 2013 at 2:01 PM, Paul Selitskas p.selitskas@gmail.com wrote:
Yep, that's what I did too a year a two ago. Since some parts of front-end code work quite differently in Common.js and gadgets, it's bettet to put modular stuff (esp. ones that users would like to opt-out of) in gadgets.
On Tue, Dec 10, 2013 at 12:38 AM, Liangent liangent@gmail.com wrote:
MediaWiki:Common.js can also create disagreement and defaults change without notice.
Actually what I did sometimes is to move code from MediaWiki:Common.js to default gadgets, so it can be disabled per user (for example, some users are using a too slow computer or network), and at the same time, this
makes
maintenance easier for developers, because gadgets can be made
modularized,
instead of using a big JavaScript and CSS file (Common.js/css).
-Liangent
On Tue, Dec 10, 2013 at 5:02 AM, K. Peachey p858snake@gmail.com wrote:
For wider discussion
From: <bugzilla-daemon <at> wikimedia.org> Subject: [Bug 58236] New: No longer allow gadgets to be turned on by default for all users on Wikimedia sites<
http://news.gmane.org/find-root.php?message_id=%3cbug%2d58236%2d3%40https.bu...
Newsgroups: gmane.org.wikimedia.mediawiki.bugs< http://news.gmane.org/gmane.org.wikimedia.mediawiki.bugs%3E Date: 2013-12-09 20:41:41 GMT (19 minutes ago)
https://bugzilla.wikimedia.org/show_bug.cgi?id=58236
Web browser: --- Bug ID: 58236 Summary: No longer allow gadgets to be turned on by default
for
all users on Wikimedia sites Product: Wikimedia Version: wmf-deployment Hardware: All OS: All Status: NEW Severity: normal Priority: Unprioritized Component: Site requests Assignee: wikibugs-l <at> lists.wikimedia.org Reporter: jared.zimmerman <at> wikimedia.org CC: benapetr <at> gmail.com, bugzilla+org.wikimedia <at> tuxmachine.com, dereckson <at> espace-win.org, greg <at>
wikimedia.org
, tomasz <at> twkozlowski.net, wikimedia.bugs <at> snowolf.eu Classification: Unclassified Mobile Platform: ---
Gadgets being turned on for all site users (including readers) can
cause
a
confusing users experience, especially when there is some disagreement
and
defaults change without notice (readers are rarely if ever part of
these
discussions)
Move to model where gadgets are per user rather than part of a default experience for users
-- You are receiving this mail because: You are the assignee for the bug. You are on the CC list for the bug. _______________________________________________ Wikibugs-l mailing list Wikibugs-l <at> lists.wikimedia.orghttps://
lists.wikimedia.org/mailman/listinfo/wikibugs-l
Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l
Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l
-- З павагай, Павел Селіцкас/Pavel Selitskas Wizardist @ Wikimedia projects _______________________________________________ Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l