IRC office hours/Office hours 2014-02-15

From Meta, a Wikimedia project coordination wiki

Chat on VisualEditor
Wednesday 15 February 2014
1700 - 1800 UTC

17:00:20] <Maggie_Dennis> Hello, everyone, and welcome to the first of two February office hours with James Forrester to discuss VisualEditor. :)
[17:00:31] * James_F waves.�
[17:00:35] * aharoni waves at Maggie_Dennis and AnnaKoval�
[17:00:40] <Maggie_Dennis> Before we get started, I'd like to make a little announcement about translation.
[17:00:50] <Maggie_Dennis> There is now one link for all VE interface messages at The short link is . Progress on VE translation in all languages can be seen here: . For more information on translation and how to help, please see
[17:01:12] <Maggie_Dennis> We very much appreciate all the people who have been helping out with this and welcome others to join. :)
[17:01:19] <James_F> (And thank you to the TranslateWiki.Net team for making that single link happen.)
[17:01:32] <aharoni> you're very very welcome :)
[17:01:39] <Maggie_Dennis> :D, Aharoni. :)
[17:02:11] <Maggie_Dennis> We have a few questions from those who are not in attendance, but let me start by asking if anyone has anything they'd like to start with.
[17:03:01] <Maggie_Dennis> Okay, well, let's start with one from English Wikipedia.
[17:03:13] <Maggie_Dennis> This concerns the feedback process. You've requested feedback on specific features, what's the lifecycle of feedback you receive? What happens with it after that?
[17:03:14] <jayvdb> Why is VE under beta features on most wikis, but not all ? e.g. I dont see it under the prefs on French Wikipedia.
[17:03:30] <James_F> Thanks, Maggie.
[17:03:39] <James_F> I'll go with yours first, then jayvdb's if that's OK.
[17:03:50] <Maggie_Dennis> I'll make sure that jayvdb's is on the list. :)
[17:04:21] <James_F> "Feedback" is a general term that covers a number of discussions and points people can make, with big variance between emotional and rational sides of the conversation.
[17:04:38] <James_F> "I don't like it" is feedback, though often not something we can respond usefully to without more details.
[17:04:52] <James_F> "This blue is not the same as this blue" is also feedback, and much more trivial for us to fix.
[17:05:18] <James_F> In general, there's no such thing as "done" for VisualEditor (or anything else in MediaWiki) – everything is up for discussion, and decisions can change.
[17:05:29] <James_F> (This is similar to "consensus can change" on the English Wikipedia.)
[17:06:11] <James_F> But "decisions can change" doesn't mean "please shout a lot until James buckles"; we're making decisions based on rational criteria and a sense of what we want to achieve and how we can make that happen.
[17:06:49] <James_F> For example, I know that a number of people have discussed adding a second box to the link inspector – for the "anchor" (display) text, as well as the link itself.
[17:07:06] <James_F> We've not done this to date – but that doesn't mean we will never do it.
[17:07:32] <James_F> It's more that there are a number of competing concerns that go into every decision in VisualEditor, and right now we've rested on the side without, rather than with, such a design.
[17:07:49] <James_F> (I can talk for a while about this particular instance, but I'm not sure it'd be that fascinating.)
[17:08:39] <TMg> related: do you focus on stuff that has a bugzilla number or do you use other sources and how?
[17:08:50] <James_F> So "feedback" can cover a lot of requests, from "we have no idea exactly what we want to achieve here" to "we'd love thoughts on how well this works for you" to "are there any minor niggles we should fix?" – all of those are welcome on anything, at any time.
[17:09:13] <James_F> TMg: Good question.
[17:09:35] <James_F> Mostly we use Bugzilla to find bugs and track new features and tasks, but not everything makes it in there.
[17:10:05] <James_F> For example I found some issues yesterday that I just fixed, rather than waste time reporting a new bug just to close it immediately.
[17:10:26] <James_F> If we're likely to forget it (so, normally, if we're not just fixing it immediately) we'll open a bug.
[17:10:52] <James_F> And of course Bugzilla is a great way for people to suggest ideas in a less transient way than IRC or a wiki talk page.
[17:11:02] <James_F> But no, we don't only use Bugzilla.
[17:11:11] <jayvdb> I'd like to hear a little more about why we cant have VE in all namespaces, and let the community chose which pages it makes sense on. (i.e. & ) e.g. Template /doc pages and there are lots of article drafts in project and talk namespace on English Wikipedia
[17:11:43] <James_F> If you mean for prioritisation, that's done through a combination of Bugzilla and the (Wikimedia Foundation) quarterly and annual planning process.
[17:11:54] <James_F> TMg: Does that answer your question?
[17:12:13] <TMg> sure.
[17:12:15] <Maggie_Dennis> jayvdb, logged that question, too. :)
[17:12:22] <James_F> Great.
[17:12:32] <Maggie_Dennis> jayvdb asks: Why is VE under beta features on most wikis, but not all ? e.g. I dont see it under the prefs on French Wikipedia. (Jay)
[17:12:37] <James_F> Thanks.
[17:12:58] <James_F> Beta Features is a new way of rolling out opt-in features to wikis.
[17:14:01] <James_F> It's intended to let people try out software (be that incremental improvements, new one-off experiments, or a crazy trial mode we may ditch after one week).
[17:14:40] <James_F> On approximately half of all Wikipedias, VisualEditor is no longer in the "opt-in" phase, but is now the default that all users get (unless their browser can't handle it).
[17:15:35] <James_F> In that situation, having an opt-out piece of software in a list of otherwise opt-in state would be really confusing for users – particularly new users – so we decided to keep the existing "normal" preferences VisualEditor opt-out code as it was, and only use Beta Features for opt-in.
[17:16:43] <James_F> We're planning to keep using Beta Features for new non-core features of VisualEditor – like the formula editor right now, and soon the in-line language editor – but not for VE itself when the wikis are in opt-out mode.
[17:16:47] <James_F> jayvdb: Does that make sense?
[17:17:16] <jayvdb> Hmm. But it is in beta status - WMF determined whether it was 'opt-in' or not - I dont think French Wikipedia explicitly asked for it to be default
[17:17:53] <James_F> We notified the community ahead of the change, and in a couple of cases didn't make it, per their request (German and Dutch).
[17:18:20] <James_F> In two other cases, the wikis decided after the fact that they wanted to switch it back off (English and recently Spanish).
[17:18:28] <jayvdb> Spanish and Portuguese have it in Beta Features. So does English Wikipedia. I presume they did push back. And there has not been any push back from Italian and French Wikipedia ?
[17:19:08] <James_F> Not true. Portuguese has it by default for all users.
[17:19:24] <Maggie_Dennis> jayvdb, there about 150 Wikipedias have VisualEditor as default and do not have it in Beta Features. It isn't that it's not in Beta - it's just that you don't have to go through that interface to enable it.
[17:19:47] <jayvdb> ah, yes sorry - pt doesnt have it in Beta Features
[17:19:53] <James_F> And are you asking the Foundation to tell the communities on Italian and French how they should react? That doesn't sound very partnerful. :-)
[17:20:49] <jayvdb> the query was more about having it as a beta feature on some wikis and not on others - I appreciate your response.
[17:20:59] <aharoni> Is there any intention to fix some time soon? It's the one that asks red links not to be blue :)
[17:21:02] <James_F> jayvdb: And yes, the confusion between "Beta features" and "beta software" is unhelpful.
[17:21:19] <Maggie_Dennis> jayvdb also asks, "I'd like to hear a little more about why we cant have VE in all namespaces, and let the community chose which pages it makes sense on. (i.e. & ) e.g. Template /doc pages and there are lots of article drafts in project and talk namespace on English Wikipedia"
[17:21:36] <James_F> jayvdb: If you have better names, I'd be happy to consider them.
[17:21:43] <James_F> Ah, yes.
[17:22:01] <Maggie_Dennis> aharoni, I've got yours on the list for next. :)
[17:22:15] <James_F> VisualEditor is designed to be an editor for content.
[17:22:38] <James_F> That means that a lot of the tools we design, from the list creation behaviour to how indents happen, are designed around content workflows.
[17:23:00] <James_F> MediaWiki historically hasn't supported workflows, but just had a single dumb box that took whatever syntax you threw at it.
[17:23:38] <James_F> Into these dumb boxes, the community have constructed some very elaborate workflows, from the "simple" user talk page to the endlessly-complex Featured Content processes on different wikis.
[17:23:45] <jayvdb> community feedback is that VE hasnt (yet) been designed for any real workflows.
[17:24:24] <James_F> Trying to make VisualEditor work in these workflows is entirely possible, but it precludes the other ones.
[17:24:55] <James_F> For example, when making a definition list in content, you're going to want to insert both the subject and the definition each time.
[17:25:16] <James_F> Whereas on "threaded" talk pages, you use just the definition, indented multiply-so to fake threading.
[17:25:18] <jayvdb> My question is specifically about allowing it to be used on pages where it does make sense. e.g. a sandbox in project space
[17:26:00] <James_F> So when you press "return", do you (a) insert a new line, (b) break the current bullet and insert a new one, (c) insert a sub-bullet under the current bullet, (d)… etc.
[17:26:32] <James_F> Building a single editor for all these things would be a complete mess, and it's something we're deliberately avoiding
[17:27:08] <James_F> These concerns are instead met by Flow, which will (eventually!) handle all the different kinds of workflow other than simply writing content.
[17:28:00] <James_F> At that point, the project ("Wikipedia:") namespace will be mostly managed by Flow, with a few pages (e.g. policy pages or sandboxes) which will be explicitly not handled by Flow, but marked as content-like pages.
[17:28:14] <James_F> Those will tell us that it's "safe" to use VisualEditor there without confusion for users.
[17:28:46] <James_F> We could try to introduce a half-arsed solution in VisualEditor and then hope Flow's model replaces it cleanly, theoretically.
[17:29:28] <James_F> But I'm not sure that there's huge demand – and there'd likely be a significant number of mis-applications of the tool that would distract the community and the development team alike from useful work.
[17:30:11] <James_F> jayvdb: So, in brief, a magic word like __VISUALEDITORWORKSHERE__ could be built, but I don't rate it highly as a priority.
[17:30:21] <James_F> jayvdb: I'd be happy to reconsider, however.
[17:30:49] <Maggie_Dennis> Speaking of priorities, James_F, aharoni asks: "Is there any intention to fix some time soon? It's the one that asks red links not to be blue"
[17:30:56] <James_F> Thanks Maggie.
[17:31:17] <James_F> So there's two things to talk about here – the specific issue (and its technical solution) and the broader question about priorities.
[17:31:27] <James_F> I'll do the first one first, because I'm boring. :-)
[17:31:54] <James_F> One of the objectives of the VisualEditor and Parsoid projects has been to lay the groundwork for some really fundamental architectural improvements in MediaWiki.
[17:32:18] <James_F> Right now, any logged-in view of a page causes the page to get parsed from scratch for that user.
[17:32:47] <James_F> Any customisations that the user has – TOC level, skin, colouring, red links showing as Foo[[?]] rather than [[Foo]], etc. – get added then.
[17:33:15] <James_F> This is also when links needing to be red (or purple for "stub-alternate-color") get filled in.
[17:33:40] <James_F> With Parsoid, however, we've generated an HTML output that's meant to be shared between all users, not varied on a per-user basis.
[17:34:07] <James_F> This means that the site can be much faster, but it means that a number of features that users expect aren't done by Parsoid, and instead will need to be filled in by a post-processor.
[17:34:50] <James_F> In this case, we've been talking for some time about exactly how this will work, but it will most likely be an API endpoint that returns a CSS selector for a given link.
[17:35:31] <James_F> As you can imagine, this is… somewhat complex, but also much more valuable than just dirtying up the links with cruft that changes from hour to hour.
[17:35:42] <rdwrer> James_F: Not some code between the Parsoid API and the return value from the VE/MW API?
[17:36:00] <rdwrer> Like, taking the Parsoid DOM and inserting classes according to the MediaWiki context?
[17:36:15] <rdwrer> (also: good morning!)
[17:36:26] <James_F> rdwrer: No, because this is a service that we would also want to use for reading pages.
[17:36:33] <Maggie_Dennis> Good morning, rdwrer. :)
[17:36:34] <rdwrer> Ahh.
[17:36:49] <James_F> rdwrer: So an on-request ESI of a CSS stream is (we think) the best way to do it.
[17:36:51] <jayvdb> Final input from me this time: can we have some eyes on the bug that breaks all chess diagrams
[17:37:20] <Maggie_Dennis> jayvdb, he's still on part of the last question, but I will queue that up for next. :)
[17:37:22] <aharoni> James_F: This is actually a more thorough explanation than want I knew. It makes me quite happy to know about this technical thoroughness.
[17:37:45] <James_F> Anyway, I believe that the VE and Parsoid engineers are planing to talk about exact specifics next week, so that they can get started on this.
[17:38:08] <aharoni> Aha. I was about to ask whether it's estimated in March, or more like November :)
[17:38:09] <James_F> But that's not a real answer to "when can I get this bug fixed in my experience", sorry.
[17:38:16] <James_F> More like March. :-)
[17:38:31] <aharoni> Weeeee :)
[17:38:40] <James_F> On the second part of the question – prioritisation in general – this is a good example.
[17:39:33] <James_F> In evaluating what should go first out of the major tasks, should we on the VisualEditor team prioritise "little niggles" like links showing in the wrong colour above, or below, similarly-complex issues like a basic table editor?
[17:40:14] <James_F> There's a number of reasons for favouring the big, obvious blocks of work over the little irritations (that, despite being little, are sometimes significant challenges to fix).
[17:40:40] <James_F> But at some point it tips over into a seething mass of irritating little issues that mean that people are unhappy.
[17:41:09] <James_F> I'm not sure that there's a perfect line to walk in this regard, but I'd very much like thoughts on how we should proceed with things like this in future.
[17:41:31] <Maggie_Dennis> Jayvdb asks, "can we have some eyes on the bug that breaks all chess diagrams
[17:41:32] <Maggie_Dennis> "?
[17:41:54] <James_F> jayvdb: You've got my eyes on it right now. :-)
[17:42:10] <James_F> This looks like the "CSS munging" issue.
[17:42:58] <James_F> VisualEditor over-rides some of the CSS of the HTML it displays to make it editable.
[17:43:21] <James_F> We've tuned this down (a lot) over the last year or so, but some things still get broken by it.
[17:43:57] <James_F> In this case, the absolutely-positioned content comes up against the requirement that all content in VE is relatively-positioned (into the editing surface) and loses.
[17:44:28] <James_F> In general, people aren't meant to use CSS hacks like this (it's very strongly discouraged by the W3C), and this is why.
[17:44:39] <jayvdb> there is previous little CSS involved in
[17:45:56] <James_F> There are some little tweaks we could do, but in general it's going to be hard to avoid issues like this if we keep trying to make VisualEditor look like part of MediaWiki.
[17:45:59] <jayvdb> and the chess diagram is now a module - if we can fix the Module so it works in VE, let us know what the problem is
[17:46:15] <James_F> We've got some ideas on how we could avoid it, but they're just theories right now, sadly.
[17:46:35] <James_F> jayvdb: The pieces are positioned with CSS; it's what makes them break.
[17:47:00] <James_F> jayvdb: Change the Module to not use CSS, but just put each piece in a table cell, and everything's fine. :-)
[17:47:20] <James_F> jayvdb: (But that's quite a disruptive "solution", so let's try to fix VE before forcing content changes.)
[17:47:47] <jayvdb> James_F if you read the bug report, it is presumed to be caused by the syntax "|=" rather than any CSS.
[17:48:49] <James_F> Yeah, it's not, I don't think.
[17:49:14] <jayvdb> ok. that's useful to know
[17:49:27] <James_F> I'll try to get someone to look at the bug.
[17:50:09] <jayvdb> ta
[17:50:15] <James_F> Always. :-)
[17:50:17] <Maggie_Dennis> We've got 10 minutes to go.
[17:50:23] <Maggie_Dennis> Another question from English Wikipedia - What does engineering see as the major technical issues that led to the en.rollback from opt-out back to opt-in? What's the current status of fixes to those issues?
[17:50:40] <James_F> Fun question. :-)
[17:50:43] <James_F> So…
[17:50:46] <Maggie_Dennis>  :)
[17:51:07] <James_F> The enwiki community is really best-placed to explain what it saw as the failings that it wanted corrected, not me.
[17:51:25] <James_F> My understand is likely to be slightly wrong, but I'll give it anyway.
[17:51:57] <James_F> At the time that VisualEditor was released on the English Wikipedia for testing (in December 2012) it was very rough-and-ready.
[17:52:28] <James_F> We made some significant improvements in the following months, but other issues arose.
[17:53:08] <James_F> Some features shipped very much later than had been expected, and though "complete" by June wasn't anything like as well-explored as had been hoped.
[17:53:54] <James_F> The most critical issue was in wikitext corruptions, where VisualEditor (or Parsoid) would modify the wikitext in a way that broke the article.
[17:54:45] <James_F> There were also slightly less-severe issues with unwanted wikitext modification, where the wikitext got modified without the user changing anything there (normally to correct broken wikitext, but to and end-user it's still unwanted).
[17:55:17] <James_F> There were some missing features, like image settings, that didn't make "the cut".
[17:55:31] <James_F> And of course, performance wasn't anything like as good as we wanted it to be.
[17:56:27] <James_F> As far as I can see, all of these issues have been addressed, with the possible exception of some of the more out-there features in media settings (like link over-rides or "upright" sizing).
[17:56:45] <James_F> So, to answer the question slightly flippantly, "last month".
[17:57:29] <James_F> There's obviously a lot more to do – VisualEditor is not "done", and won't be for years, if ever.
[17:57:53] <James_F> But I'm lot (lot!) happier with VE now than I was in July last year.
[17:58:33] <Maggie_Dennis> We have two minutes to go. Any last questions?
[17:58:43] <James_F> (Timing.)
[17:59:34] <Maggie_Dennis> We have another hour scheduled for later today - about six hours from now.
[17:59:50] <James_F> Thanks, Maggie.
[17:59:58] <Maggie_Dennis> And I will post the log from this hour in just a few minutes.
[18:00:07] <James_F> Also, happy Holiday Weekend for any Americans here (who celebrate President's Day).
[18:00:08] <Maggie_Dennis> Thanks, James_F, for coming to answer questions. :)
[18:00:19] <Maggie_Dennis> And thanks everyone for attending!
[18:00:25] <James_F> Bye all!