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(a)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(a)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(a)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.b…
> > >
> > Newsgroups: gmane.org.wikimedia.mediawiki.bugs<
> >
http://news.gmane.org/gmane.org.wikimedia.mediawiki.bugs>
> > 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(a)lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l
_______________________________________________
Wikitech-l mailing list
Wikitech-l(a)lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l
--
З павагай,
Павел Селіцкас/Pavel Selitskas
Wizardist @ Wikimedia projects
_______________________________________________
Wikitech-l mailing list
Wikitech-l(a)lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l
--
Jon Robson
*
http://jonrobson.me.uk
*
https://www.facebook.com/jonrobson
* @rakugojon