It doesn't hurt to throw out ideas, so I've written this proposal for discussion on a potential feature and how plausible it would be to implement this technically. This requires multiple changes, which include (and not limited to, as I may forget to mention something):
- consideration of wording. There are multiple options listed below. Personally I would rather use "Profile image header", so this is how I'll refer to it in the ticket for now :-)
- Hero image - Slanted more towards technical jargon, thus we should use something else.
- Masthead - This might be more familiar with a larger audience but might not be as understandable as it should be.
- Profile image header - This option is direct and while a bit longer, makes sense.
- We need to consider i18n also by making sure how we word is translatable-friendly across other languages. For example, "Masthead" might not be translatable-friendly.
- A new special page such as Special:UploadProfileHeader, or adding a tab to Special:UpdateProfile. I would recommend adding a tab. We'll still need to add a special page like Special:RemoveProfileHeader, similar to how https://gerrit.wikimedia.org/r/#/c/339926/ is being currently written by @ashley except for Special:RemoveAvatar
- Consideration for UI implementation of how the profile image header
- How should it look on mobile? We should generate multiple sizes of it (like how avatars are generated in multiple sizes) for performance.
- Can we perform auto-optimization during upload while not losing too much quality? Since profile image headers are supposed to be big (e.g like headers on Twitter or Facebook), we need to consider performance since the bigger images are, the longer it takes to load the page.
- This isn't considered often,but we should take into account of larger screens. For example 1920 x 1080 is being used more often, so we should try to test on that often as possible. (Unfortunately I don't have any, but maybe @ashley does?) I suggest we don't stretch the images on larger screens nor repeat it (background-repeat: repeat;), as both will lower the quality of the image.
- We need a way for wiki administrators to manage these profile image headers since it's a possibility that a user might upload a non-appropriate image. A solution could be introducing a log at Special:Log/profileheader called "Profile image header log`. Is there any other/more ways we can introduce to help make it easier to maintain this?
- Schema-change, I think?
- Introduce a new user permission, upload-profile-image-header. We want to make sure that only users who aren't blocked can upload avatar, as blocked users don't have any reason to upload one as well as spambots. I don't want to run around deleting those on a wiki(s) that have SocialProfile as well as rampant spmabots, and I'm sure others could agree if this was implemented :-)
- And if we do want to implement this, do we want to implement it after MiniAjaxUpload is converted to OOUI (SelectFileWidget and MediaSearchWidget), a.k.a T155955: Convert instances of the social tools miniAjaxUpload to use the OOUI SelectFileWidget and OOUI MediaSearchWidget, or use MiniAjaxUpload for this? Note that using MiniAjaxUpload will add Technical-Debt to SocialProfile.
If this proposal reaches some form of consensus, then I believe we should break it into subtasks :-) Let's discuss this first.