Page MenuHomePhabricator

Name the Vue.js component library
Closed, ResolvedPublic

Description

Winning vote:

Wikimedia Vue UI (WVUI)


NOTE: Voting was open until Tuesday, June 2nd, 2020, 14:00 UTC.

Context

Please submit your names and votes for the Wikimedia Foundation's component library component library.

Scope

Here's what we know so far:

  • Components are built in Vue.js and written in or compiled to JavaScript and CSS.
  • We'll need a number of pretty common components like Button that would be universally useful but these components are needed for Vue.js - Search. If folks want to use it elsewhere, that's cool. If library is folded into another library post Vue.js - Search, that's cool too.
  • All Vue.js - Search components are front-end only at this time. If they can be rendered isomorphically, that's ideal but no infrastructure exists for it at time of writing (unless you count tests).
  • Code evolves.

Impact

Naming impacts at least the following:

  • Component naming
  • CSS / Less / style naming
  • NPM name
  • Documentation
  • Confusion or overlap with related but distinct technologies and projects (e.g, mediawiki.UI)
  • Theming (several themes like a Wikimedia/Wikipedia one, support for others, non-branded ones? Compare Apex in OOUI)

Consider also:

  • Historical problems:
    • Remember “OOjs UI” at beginning in combination with “OOjs” and people studdering over it & getting confused again and again).
    • Who doesn't flip MediaWiki and Wikimedia on a daily basis?
  • Review naming things
  • Name should most probably not reflect unmade technology decisions.
  • Localisation tips
  • Component names have to be kebab-case or PascalCase so "USB mouse" becomes "UsbMouse" or "usb-mouse". E.g., in the case of the mw-components prototype, "MwButton", "MwInput", etc was used in JavaScript and "mw-button" and "mw-input" as CSS classes in HTML (or custom tags at a distant future).
  • Foundation rebranding will probably happen

Instructions

  • Edit this task with your name proposals.
  • Deadline for name submission is Friday, May 29th, 14:00 UTC.
  • Deadline for vote submission is Tuesday, June 2nd, 14:00 UTC.
  • Everyone gets three votes, but only one vote per proposal (e.g., you can’t put all three of your votes on one proposal).
  • You can vote for your own proposal.
  • Multiple proposals per person are allowed.
  • Comments won't be considered. You have to submit your vote via the Phabricator Slowvote survey.
  • Proposal with most votes wins; if there's a tie breaker, we'll do one more round.

Example

mw-componentsStephen NThe components start with “mw”niedzielski, jimbo

Proposals

NameOwnerRationaleVotes for
UUsanthosh - Pronounced as "double-you" just like you pronounce "w" first letter of wiki or wikipedia
- Successor of "OO" library
- Acronym for "U User interface library" - In bad audio/video calls, this can be heard as Vue user interface library- but that is not a problem since this is a Vue user interface library indeed.
- PS: Vue is written by Evan "You" and others
niedzielski, nray
Theadcipoletti- Thea is the Greek Titaness of Sight and also the Greek word for 'view' (Vue).
- As this component library will provide reusable components that give birth to other UIs across WM projects, I feel it to be a fitting name as Thea is the mother of Helios, Selene and Eos (sun, moon, and dawn, respectively.)
- Also as it is a core visual component for viewers to enjoy - 'thea' is the root of 'theatre': something that is beautiful in itself (the UI library) but whose function is to gather and compose artists to present their own content (WM projects leveraging it).
dcipoletti, egardner, annet, hknust
MediaWiki ComponentsDemian- Pros: utilitarian, minimalistic, clear
- Cons: unimaginative, platform-specific
Demian, egardner, annet, mwilliams
MediaWiki UIDemian- Pros: utilitarian, minimalistic
- Cons: unimaginative, possible confusion with WMUI; there is already MW core modules and a predecessor library 'mediawiki.ui'
Votes for
Wikimedia Vue UI – WVUIVolker E.The VW among the UIs. The W will continue to exist even with rebranding matters, it is platform-agnostic, while technology aware.Demian, Esanders, hknust
MediaWiki Vue UI – MwVUIDemianUncoupled from WikimediaDemian, Esanders
Wiki ComponentsniedzielskiThe library contains parts for the wikis.annet, Lucy Blackwell, nray

Acceptance criteria

Developer note

  • Patches will be merged in the meantime and updated once a name is chosen.
  • A Gerrit repo will not be configured until a name is chosen.

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes

I don't have a proposed name, but I would suggest not binding this to MW.

I like Theia though

I don't have an opinion about Theia as the name of the library and I don't know ancient Greek, but just wanted to note that in modern Greek, "Theia" is associated with the English word "Aunt", whereas "Thea" could be more readily understood as the word for "View".

Good point @kostajh, thanks! I've seen it both ways and always assumed 'Thea' was the anglicized version of 'Theia' (Both spellings I do very much like). I've seen it consistently in literature as 'Theia' but have no issues with it spelled as 'Thea' :) Doesn't take away from the meaning.

The scope of this component library is unclear to me:

  1. What components will be implemented?
  2. How tightly coupled it will be with the WMUI Style Guide (colors for ex.)?
  3. Is it a good estimation that it'll be a rewrite of OOUI using Vue with the addition of new components like those created by WMDE?

I assume this library will be immensely useful for developing MediaWiki-related projects, extensions, gadgets. However, will there be any components that would give something extra compared to already established and generic Vue component libraries that 3rd parties would be motivated to use?

IMHO if this library will be mostly useful in the MediaWiki ecosystem then a name which expresses this relation would have significant benefits for discoverability: searching for "mediawiki/wikimedia component library" would return it in a higher position presumably and the name would be more self-explanatory.

I'd like to propose we allow another week for discussion here, both to clarify the scope of what we are naming and to give time for additional suggestions and votes. I know that some teams were at "offsites" all of last week (mine included) and may not have much of a chance to look at this yet.

Please remember to edit the task description with name and vote submissions so there's no confusion.

I apologize that it is vague but the scope that is known is covered in the task description. The library is needed initially to build the Vue.js search replacement. The library could find further use elsewhere if folks find it valuable. I hope they will and would love for the process to be iterative.

allow another week for discussion here

  • Extended name submission until Friday.
  • Extended voting until Tuesday (a week from today).
  • Disambiguated the Thea / Theia entry so folks know what they're voting for.

In determining the scope of this library the knowledge of existing, endorsed Vue component libraries might help. These are listed at:
https://vue-community.org/guide/ecosystem/ui-libraries.html#material-design

Volker_E updated the task description. (Show Details)
Volker_E updated the task description. (Show Details)

This isn't a proposal so I haven't added it to the table; but is OOUI going away entirely, or is the Vue component library intended to replace what is currently provided by OOUI? If it's going to replace the OOUI library, maybe this could just be OOUI v1.0 (or v2.0 if we wanted to skip a major version for dramatic emphasis)

I don't think it makes much sense to do that, because the OO in OOUI stands for "object oriented", which OOUI currently very much is, and this new library very much wouldn't be.

Not a fan of the more abstract names like Thea and UU.

Give the theme is WMUI, then anything involving "Wikimedia"/"MediaWiki" then "Vue" and "UI" seems the be the most clear and consistent approach.

Strong voice against OOUI v2. OOUI didn't have a good response in parts of the Foundation and Movement and such moment in time is good to start new.
We could still consider releasing an OOUI v1 – T213334 that's on a different page.

Personally, I like the word Theia very much. I just don't think it's the best choice for the UI components library. As it's “just” a components lib and not theatre and not a titan and having abstraction of theia-button or theia-button seems not convincing to me.

FWIW, I've been calling it "MWVueI" semi-sarcastically for a few months now.

I like the "thea/theia" suggestion, it's poetic but still pretty short (also easy to say out loud; OOJS and OOUI are a bit of a mouthful). FWIW there is a "thea" library on NPM but it doesn't look very active. Feels appropriate to who we are too (mythology, linguistics, etc).

If we go with a more utilitarian approach I think something like "mw-components" would be my preference: mw-button, mw-icon, .mw-css-class, etc.

MWVueI

Reminds me of Zuul and gruel.

OO

+1 to avoid OO-based names because that reflects an undiscussed technical choice.

FWIW there is a "thea" library on NPM but it doesn't look very active.

I think this will be under the @wikimedia NPM package namespace. E.g., @wikimedia/foo.

Feels appropriate to who we are too (mythology, linguistics, etc).

Skin:Minerva, goddess of "poetry, medicine, wisdom, strategic warfare, commerce, weaving, and the crafts," is another example.

Please remember to submit your ideas and votes in the task description.

Which one is more appropriate in the name? MediaWiki or Wikimedia?
The perspective is: is this library tightly coupled to the Wikimedia styles, or third parties will find it easy to adapt to their design?

votes in the task description.

Editing the HTML table to vote? Can we just create a shortlist here and vote in a better venue, or just vote in the comments?

+1 for Wikimedia Vue UI and Mediawiki Vue UI

votes in the task description.

Editing the HTML table to vote? Can we just create a shortlist here and vote in a better venue, or just vote in the comments?

+1 for Wikimedia Vue UI and Mediawiki Vue UI

Better venue candidate: slow vote - https://phabricator.wikimedia.org/vote/

Tomorrow is the deadline for name submission.

Slow vote looks very promising. I haven't used it before but it looks like it can only accept ten candidates. I'll try it out tomorrow if we're within limits.

Otherwise, let's stick with editing the task description. I wouldn't want the job of sorting out whether "I like x" was a vote or just a sentiment. I also don't want to vote on voting software :]

Hey all, how do I get access to Slowvote?

Hey all, how do I get access to Slowvote?

[OT] The Slowvote application had its "Can View" Policy set to members of Trusted-Contributors.
I now expanded that to Trusted-Contributors and WMF-NDA members.

Thank you, @Aklapper.

If for some reason you can't vote, please edit the task description or message me before the submission deadline.

I now expanded that to Trusted-Contributors and WMF-NDA members.

I don't think these groups cover all staff.

Confirming this – I just tried to access the poll and was denied. I did vote via the table here however.

Just want to expand a bit on my edit on the “MediaWiki-components” proposal:

  • We are semantically binding the components to MediaWiki, which will also be understood by folks on the Internet as MediaWiki specific, contrasting to our interface aims to be platform agnostic and universal though.
  • With something like Wikimedia Vue UI, we could make clear that there's a technological choice involved, and giving a hint that it's main theme (in case we support themes) be “WikimediaUI” derived.
  • With the W we stay pretty clear on future rebranding efforts. The W will continue to exist in our wikiverse.
  • There might be still other themes to be developed underneath Wikimedia Vue UI

Adding “mediawiki-components” into a WordPress theme seems further awkward as wvui.

Thanks, @Esanders, @egardner. Please use the table in the description if you can't use the poll

@Aklapper, is this something you can help with? Here's where I'm seeing when I try to edit:

I now expanded that to Trusted-Contributors and WMF-NDA members.

I don't think these groups cover all staff.

Correct. All staff could request getting added to WMF-NDA. (If their on-wiki SUL account connected to their Phab account was created by WMF OIT. Simplified.)

@Aklapper, is this something you can help with? Here's where I'm seeing when I try to edit:

The application's view policy (Trusted-Contributors and WMF-NDA members) is stronger than any "a single item in that application" view policy.

@Aklapper, thank you for your help. Perhaps this isn't advisable, but I was thinking the survey should be accessible to everyone with a Phabricator account. In other words, if someone can participate in the discussion on this ticket, they'd be able to vote too. If this isn't possible, that's fine of course but I think it makes the tool a little less useful because of the difference in permissions.

@Niedzielski: Voting often creates false expectations but software development is not a popularity contest. Plus self-selection bias. Plus canvassing. (For the records, I did not define the current permissions but I support the intention of them.) In any case, that would be a topic for a dedicated separate ticket. :)

Just want to expand a bit on my edit on the “MediaWiki-components” proposal:

  • We are semantically binding the components to MediaWiki, which will also be understood by folks on the Internet as MediaWiki specific, contrasting to our interface aims to be platform agnostic and universal though.
  • With something like Wikimedia Vue UI, we could make clear that there's a technological choice involved, and giving a hint that it's main theme (in case we support themes) be “WikimediaUI” derived.

I strongly agree with this. We don't know what our future holds and I think putting something like Wikimedia in instead of MediaWiki doesn't bind us to a specific path.

I'm assuming whatever we come up with will be prefixed on npm with @Wikimedia/.
For this reason WVUI seems like a problematic choice as the library will be @Wikimedia/vue-ui or @Wikimedia/wikimedia-vue-ui which don't seem ideal to me. Also what if Wikimedia is ever rebranded? Doesn't seem too farfetched a thought.

Solid arguments around avoiding the use of mediawiki. I'd hope this can be used outside MediaWiki in future, so it doesn't seem like a good idea to tie it to that.

Thea seems a strong choice IMO given its shortness, it's intellectual inspiration and it's lack of branding. Most of our products are not branded, I don't see why this one should be and it's common practice in other organizations to give libraries abstract names rather than name them after themselves.

I agree there is some redundancy for the NPM package name but the alternatives sound ok to me. For example, @wikimedia/wvui (a little redundant when you unpack it).

Also what if Wikimedia is ever rebranded? Doesn't seem too farfetched a thought.

I think the branding was considered (see description, T253357#6157476, or T253357#6177838).

Thea seems a strong choice IMO given its shortness

I think the strength and weakness of a name like Thea is its ambiguity.

I agree though, I love short names for common things. That's one reason I voted for uu and Thea. However, even the lengthier names like Wikimedia Vui.js User Interface could be WVUI.

Edit: TIL that ctrl-enter = submit. Nothing for ctrl-k though!

@wikimedia/vue-ui or @wikimedia/wikimedia-vue-ui which don't seem ideal to me.

Or even @wikimedia/wvue-ui or @wikimedia/wvui or @wikimedia/wm-vue-ui. I can live with any of these, these are just identifiers.
Current @wikimedia packages do not have wm- in their name, I think following that pattern is preferable.
I like @wikimedia/wvue-ui, but @wikimedia/wvui will do as well. @wikimedia/vue-ui sounds to me like it's an extension for Vue, not a library built on Vue. This is quite subjective.

Also what if Wikimedia is ever rebranded? Doesn't seem too farfetched a thought.

The same that will happen to all the @Wikimedia packages, I assume.

Volker_E added a subscriber: lucyblackwell.

Added @lucyblackwell's vote from conversation on design team channel to “Wiki Components”.

Re-posting comment from V20:

I see 21 for WVUI, 17 for Thea. There are an additional 4 votes for Thea on the task (dcipoletti, egardner, annet, hknust), and one for WVUI (hknust [demian and esanders are accounted for here]). Giving a total of 22 for WVUI, 21 for Thea.

Hello voters!

Firstly, never ever do this. It's a joyless drudgery that is by nature contentious, challenging for participants to follow, and easy for others to make requests with little regard for the work that creates; even in the best of circumstances, it may be difficult to conclude despite good intentions. Also, you'll likely be equally unhappy if your favorite wins or loses because you'll either be disappointed by the loss or worried about the fairness of the win.

Secondly, I'm pleased to announce a name has been chosen: "Wikimedia Vue UI – WVUI".

Thank you to everyone who participated. The next steps are to revise the repository name, update the wiki, and edit the few changes that used the old name.


Explanation

This discourse was started by request and I think it's been a good one. By my request, the discussion was timeboxed from the start. The timebox was then extended by a subsequent request (and prior to the deadline) in T253357#6166348.

The timebox was made so that we could balance front-loaded discussions against development. These conversations are always expensive but exorbitantly so if they block user-facing work. A good balance, which is challenging to strike, aims to keep the discourse worthwhile and in service of the solution within the constraints of the problem. Time is always a heavy constraint.

Most of the other rules seemed reasonable to me but could also be scrutinized undoubtedly. "Why three votes instead of two?" and so forth.

The votes at the deadline and after do not match. I tried to steer clear of this issue as noted in T253357#6172707 but was unsuccessful. Based on the comments, I think some participants have understood the rules to mean that votes after the deadline would not be counted regardless of whether or not it was too late to act upon them. The fairest approach I can think of is to adhere to the rules as strictly as possible. That means that "Wikimedia Vue UI – WVUI" wins. Were it after, "Thea", would win by one vote (unless the votes keep coming).

I encourage anyone unhappy with the result to steward a new rename ticket. In which case, I look forward to voting on the new name. If not, WVUI isn't the name I would have chosen personally but I think it's a fine name for the new project. A project, I'll remind you, that we're still uncertain of the scope or longevity of because no functional code has been merged yet. Code iterates and evolves and our continued discourse will too.

@Niedzielski Thank you for doing the hard work of stewarding this vote in such polite manner. I think it is exemplary how you managed it and I personally learned a lot from you. Thank you.

Also wanted to say thanks to everyone participating! It was good to see that big number of participants.

Volker_E updated the task description. (Show Details)