Hi Mike,
Unexpected page jumps are never fun. They tend to be known as a "reflow" or
FOUC [1], and are common all over the web at different times.
Unfortunately, while there may be multiple gadgets / features exhibiting
this undesired behaviour, it is not a general problem or limitation. As
such, at the infrastructure level, no amount resourcing can make this class
of bugs go away.
In a nutshell, there are two primary ways to modify the page of a web site:
* Styling rules (CSS): A declarative way to define rules for how certain
page elements should look. (E.g. any "header" should be "blue".)
* JavaScript programming (JS): A way to provide and execute any arbitrary
program code. Including the ability to create new elements, create
interactions, and even build entirely new applications.
The styling rules are declarative and can be loaded and applied by the web
browser before any content is shown. They apply continuously and
retroactively. As such, most websites (including MediaWiki) do made the
decision that it is worth delaying the initial show of article content by
first loading all style rules (including those from Gadgets). That way, the
initial show will consider all style rules from the start. (Instead of
starting with unstyled plain text from the top left corner, and
progressively applying each style as we go).
The program code, on the other hand, is by design mostly asynchronous and
cannot happen "instantaneously" (much like downloading something, or
starting an application, or performing a computationally involved action).
The program itself is in control of how and what it shows visually. It is
in charge of whether to show individual pieces directly as they complete,
or to insert everything at once after everything is complete. That is up to
individual programs to decide.
For developers, it is best practice to never insert or modify visual
elements on the page from program code, unless their layout space is
reserved ahead of time from HTML or CSS - precisely to avoid reflows. To my
knowledge, there are no reflows on regular article views caused by
MediaWiki core, nor any of the Wikimedia-maintained extensions (with the
notable exception of certain CentralNotice banners, tracked as [2]).
Some experimental Beta Features may have shipped in the past with a reflow
bug, but these can (and for the most part, have) been addressed.
That leaves Gadgets, and in that context, this is mostly limited by
volunteer resourcing and program quality. Finding the right balance between
style rules and program code is not always easy. It is typically easier to
write program code without style rules. And as such, some users do it
without. I've been in that situation myself as volunteer developer. With
limited time, I can either spend time making the actual feature work better
after you click it, or spend time avoiding a reflow. With more time,
eventually things improve. But this is a bug for individual features or
gadgets to address. There is not much we can do about it at the
infrastructure level. When the style rules aren't there, they aren't there.
And when a program later adds an element to the page, you'll want the web
browser to show that in the same way as if it was there all along - which
means other content essentially moves or jumps out of the way.
For common use cases (like adding sidebar links or tabs), it may be
possible to establish conventions that are easy to re-use so that people
don't have to spend as much time thinking up new style rules. But overall,
each use case will require its own style rule one way or another.
-- Krinkle
[1] https://en.wikipedia.org/wiki/Flash_of_unstyled_content
[2] https://phabricator.wikimedia.org/T52865 - CentralNotice: Page content
shifts
Michael Peel wrote:
>
> This is possibly the most annoying feature of the Wikimedia projects at
the moment. You access a page. Then you start reading or editing it. And
then suddenly the page jumps when a fundraising banner / central notice /
gadget / beta feature loads. So you have to start reading the page again,
or you have to find where you were editing again, or you have to undo the
change you just made since you made it in the wrong part of the page.
> I understand that this isn't intentional. Presumably there is a
phabricator ticket about this. But how can we fix this - does this need
more developer time, is this an external problem that we need someone else
to fix, or is this a WONTFIX?
> Thanks,
> Mike
So Nathalie Martin has announced her departure as ED of Wikimedia France, in this email to WMFR members.
As usual I can only summarise not translate properly, but in short it lists a number of her achievements (recruiting a staff team, partnerships, bringing management into line with legal requirements, and many individual projects) – and particularly raising the profile of open knowledge with politicans and in the public eye.
However, she says, the climate in WMFR has deteriorated in recent months. Certain people have ceaselessly harassed and libelled her. This situation has made her resignation inevitable and she feels she has achieved everything she possibly can with the organisation.
(There is no mention of her leaving date or interirm arrangements)
Regards,
Chris
Sent from Mail for Windows 10
From: Nathalie Martin
Sent: 02 September 2017 11:00
To: M. Chris KEATING
Subject: Mon départ
Bonjour à tous,
Je vous écris pour vous faire part de mon départ de la direction de Wikimedia France.
En quatre ans, beaucoup de chemin a été parcouru : l’association n’est plus ce qu’elle était en 2013, elle a pris une envergure considérable. Du point de vue du fonctionnement quotidien, il y a aujourd’hui une équipe salariée structurée, des locaux fonctionnels, une organisation des partenariats, une gestion conforme à ce qui est attendu par le Commissaire aux Comptes… A tel point que nous sommes en passe d’avoir la reconnaissance d’utilité publique. Durant ces années, nous avons obtenu de beaux succès tels que les labellisations Ideas et Essec, l’identification et la valorisation de notre action par les pouvoirs publics (PGO, jury entrepreneur d’intérêt général, différents agréments des Ministères…), le développement des groupes locaux et d’actions d’envergure nationale (Mooc, Lingua Libre, Ma commune Wikipédia…)
Je suis particulièrement fière de ce qui a été accompli en termes de plaidoyer au niveau des politiques mais aussi du grand public pour faire progresser la connaissance libre.
Ce bilan positif a été malheureusement entaché par le climat délétère de ces derniers mois. Quelques personnes, pour des motivations obscures et peu compatibles avec l’intérêt collectif de notre action, n’ont eu de cesse de me calomnier et de me harceler. J’ai souhaité défendre le statut de salarié dans notre organisation car tout salarié chez Wikimedia France doit, ou dois-je dire, devrait, bénéficier des mêmes droits que n’importe quel salarié en France.
Compte tenu de cette situation de violence gratuite et incessante, mon départ devenait inévitable. Je vais maintenant pouvoir me consacrer à d’autres projets.
Je veux cependant saluer ici des personnalités aux qualités exceptionnelles. J’ai eu l’honneur d’être soutenue par des personnes courageuses et intègres, qui alors qu’elles n’avaient aucun intérêt personnel à s’élever contre le harcèlement dont je faisais l’objet, n’ont pas hésité à creuser la réalité de la situation et des enjeux des uns et des autres et à s’opposer à l’acharnement insensé dont je faisais l’objet. Je garderai précieusement en mémoire ce que certains membres du CA ou certains salariés ont fait. Il n’est pas utile de les citer, ils se reconnaîtront. Ils sont d’autant plus méritants, qu’en faisant ce choix, certains se sont fait harceler en retour.
C’est avec la sensation d’avoir accompli tout ce qui était en mon pouvoir, que je quitte cette structure et lui souhaite le meilleur pour l’avenir.
Nathalie Martin
WIKIMÉDIA FRANCE
40 rue de Cléry
75002 Paris
France
www.wikimedia.fr
Je ne souhaite plus être contacté par Wikimédia France
While it was very hard to click through the link on the slides in the
Metrics and Activities meeting video :-) this is truly awesome:
https://meta.wikimedia.org/wiki/Training_modules/Documentation
Props to the Support and Safety team and Joe Sutherland in particular!