IMPORTANT: **[[ https://phabricator.wikimedia.org/V20 | Submit your vote ]]** by **Tuesday, June 2nd, 14:00 UTC**.
== Context
Please submit your names and votes for the Wikimedia Foundation's [[ https://github.com/wikimedia/mw-vue-components | 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
- …
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 [[ https://www.mediawiki.org/wiki/Naming_things | naming things ]]
- Name should most probably not reflect unmade technology decisions.
- [[ https://www.mediawiki.org/wiki/Localisation | Localisation tips ]]
- [[ https://vuejs.org/v2/style-guide/#Single-file-component-filename-casing-strongly-recommended | 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" in HTML.
- Foundation rebranding will 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 [[ https://phabricator.wikimedia.org/V20 | Phabricator Slowvote survey ]].
- Proposal with most votes wins; if there's a tie breaker, we'll do one more round.
=== Example
|mw-components|Stephen N|The components start with “mw”|niedzielski, jimbo|
== Proposals
<table>
<tr>
<th>Name</th>
<th>Owner</th>
<th>Rationale</th>
<th>Votes for</th>
</tr>
<tr>
<td>UU</td>
<td>santhosh</td>
<td>
- 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
</td>
<td>niedzielski</td>
</tr>
<tr>
<td>Thea</td>
<td>dcipoletti</td>
<td>
- 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).
</td>
<td>dcipoletti, egardner, annet</td>
</tr>
<tr>
<td>MediaWiki Components</td>
<td>Demian</td>
<td>
- Pros: utilitarian, minimalistic, clear
- Cons: unimaginative, platform-specific
</td>
<td>Demian, egardner, annet</td>
</tr>
<tr>
<td>MediaWiki UI</td>
<td>Demian</td>
<td>
- Pros: utilitarian, minimalistic
- Cons: unimaginative, possible confusion with WMUI; there is already MW core modules and a predecessor library 'mediawiki.ui'
</td>
<td>Votes for</td>
</tr>
<tr>
<td>Wikimedia Vue UI – WVUI</td>
<td>Volker E.</td>
<td>The VW among the UIs. “Double-U Vuei”. The W will continue to exist even with rebranding matters, it is platform-agnostic, while technology aware.</td>
<td>Demian, Esanders</td>
</tr>
<tr>
<td>MediaWiki Vue UI – MwVUI</td>
<td>Demian</td>
<td>Uncoupled from Wikimedia</td>
<td>Demian, Esanders</td>
</tr>
<tr>
<td>Wiki Components</td>
<td>niedzielski</td>
<td>The library contains parts for the wikis.</td>
<td>annet</td>
</tr>
<tr>
<td>Name</td>
<td>Owner</td>
<td>Rationale</td>
<td>Votes for</td>
</tr>
<tr>
<td>Name</td>
<td>Owner</td>
<td>Rationale</td>
<td>Votes for</td>
</tr>
<tr>
<td>Name</td>
<td>Owner</td>
<td>Rationale</td>
<td>Votes for</td>
</tr>
<tr>
<td>Name</td>
<td>Owner</td>
<td>Rationale</td>
<td>Votes for</td>
</tr>
<tr>
<td>Name</td>
<td>Owner</td>
<td>Rationale</td>
<td>Votes for</td>
</tr>
<tr>
<td>Name</td>
<td>Owner</td>
<td>Rationale</td>
<td>Votes for</td>
</tr>
<tr>
<td>Name</td>
<td>Owner</td>
<td>Rationale</td>
<td>Votes for</td>
</tr>
<tr>
<td>Name</td>
<td>Owner</td>
<td>Rationale</td>
<td>Votes for</td>
</tr>
<tr>
<td>Name</td>
<td>Owner</td>
<td>Rationale</td>
<td>Votes for</td>
</tr>
<tr>
<td>Name</td>
<td>Owner</td>
<td>Rationale</td>
<td>Votes for</td>
</tr>
<tr>
<td>Name</td>
<td>Owner</td>
<td>Rationale</td>
<td>Votes for</td>
</tr>
<tr>
<td>Name</td>
<td>Owner</td>
<td>Rationale</td>
<td>Votes for</td>
</tr>
<tr>
<td>Name</td>
<td>Owner</td>
<td>Rationale</td>
<td>Votes for</td>
</tr>
<tr>
<td>Name</td>
<td>Owner</td>
<td>Rationale</td>
<td>Votes for</td>
</tr>
</table>
== Acceptance criteria
- [] A name is chosen.
- [] Everyone is equally happy and unhappy.
- [] Any patches merged containing interim naming are revised with the name chosen.
== 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.