Conversation
2f1bb18 to
57334d8
Compare
|
But what colour should they be? |
|
And what sizes will be available? |
Hmmm, I think we should also use something better than S, M, L and Xl... We should use some units like beard-seconds! Also, we should probably display the sizes in binary for simplicity |
|
From a purely grammatical nitpick, I have to point out that even assuming that the Matrix spec will never be complete and that there will always be more MSCs, that MSC2997 as-rendered will never be able to refer to itself. That is to say, in the sentence "There's an MSC for that!" (emphasis mine), present on the T-shirt, it would be improper grammar for "that" to be allowed to refer to MSC2997, and thus explain the T-Shirt's existence. Potential solutions: Potential downsides of either include "ruining the joke", but I think that's a perfectly acceptable compromise for technical correctness. |
What about we strikte "that" in the Text and put a handwritten "this" over it to emphanzise how the spec progress works? |
|
|
||
| ## Security considerations | ||
|
|
||
| Unfortunately not all people are able to wear t-shirts, so a solution for those would have to be |
There was a problem hiding this comment.
what about wristbands with text for them?
There was a problem hiding this comment.
This is a fair point, though I'm not sure if it would mitigate the security that a t-shirt provides. For one, the surface area of a t-shirt far outweighs that of a wristband. Wristbands can also be made from a variety of materials, some even opting for mere paper.
Not to mention the lack of area for displaying the intended messaging of the MSC.
I think if wristbands is taken as an approach, care should be taken to ensure the security and practicality of the device.
There was a problem hiding this comment.
What about a hat? Or similar headware? It is more visible than a wristband and everyone that is affected by MSC tends to have a head. Or do we also want to integrate aliens via a bridge end expect headless users?
There was a problem hiding this comment.
What about capes? Almost everyone has a neck and you can make them pretty big to put arbitrary messages on them. Would need to come with a disclaimer not to wear them next to aircrafts though.
|
Please comment on some line of the MSC, since otherwise the discussion is hard to follow, since you don't get threads! |
|
In all seriousness, i'd like to have one on https://shop.matrix.org, preferably in the following format;
|
Use threads please |
Yes, threads are important to use for T-shirts |
| { | ||
| "type": "m.t-shirt", | ||
| "content": { | ||
| "body": "There's an MSC for that!" |
There was a problem hiding this comment.
Should body in this case actually be the user? T-shirts are generally most useful on the user's body
There was a problem hiding this comment.
My suggestion is simply that the t-shirt will be more useful if the body in question were to be the user's body instead of some arbitrary text.
Properly serialising the end user may however prove to be a significant implementation challenge
There was a problem hiding this comment.
Oooh, do you mean like this?
{
"type": "m.t-shirt",
"content": {
"body": "@sorunome:sorunome.de"
}
}There was a problem hiding this comment.
That's a medical stuff, so it's probably depending on us to spec HL7 FHIR resource state events. ^_^
There was a problem hiding this comment.
Maybe we should make it a state event, then? Since state_keys starting with @ are preserved so that they only can be set by the user themself and not by others.
There was a problem hiding this comment.
Yes! And the content is quite obvious.
https://www.hl7.org/fhir/genomics.html
There was a problem hiding this comment.
On the other hand, I'm quite worried that the serialization of user would require a space of t-shirt-as-rooms
|
|
||
| Instead of a shirt, a sweater or thelike could be used. | ||
|
|
||
| Instead of just printing normal event contents on the shirt we might want to consider using |
There was a problem hiding this comment.
While the increased flexibility for metadata would be useful, specific care should be given to the sizing implementation. Smaller users may have issues with the fit of a room based t-shirt
There was a problem hiding this comment.
It could allow us to have not only "One size fits all" t-shirts, but also "One size fits many" - at once!
|
|
||
| ## Potential issues | ||
|
|
||
| Once the spec is complete and there are no more MSCs the t-shirt will be obsolete. |
There was a problem hiding this comment.
| Once the spec is complete and there are no more MSCs the t-shirt will be obsolete. | |
| Once the spec is complete and there are no more MSCs the t-shirt will be obsolete. That's unlikely to happen anytime soon though. |
There was a problem hiding this comment.
| Once the spec is complete and there are no more MSCs the t-shirt will be obsolete. | |
| Once the spec is complete and there are no more MSCs the t-shirt will be obsolete. | |
| That is never going to happen, though. |
| Get a t-shirt with "There's an MSC for that!" written on it. This T-shirt shall include a code block | ||
| typeset in a monospace block that should read |
There was a problem hiding this comment.
| Get a t-shirt with "There's an MSC for that!" written on it. This T-shirt shall include a code block | |
| typeset in a monospace block that should read | |
| Get a t-shirt. This T-shirt shall include a code block typeset in a monospace block that should read |
|
|
||
| ## Alternatives | ||
|
|
||
| Instead of a shirt, a sweater or thelike could be used. |
There was a problem hiding this comment.
It seems shirts have not been considered which I find quite sad since I am a regular user of them
| @@ -0,0 +1,39 @@ | |||
| # MSC2997: "There's an MSC for that!" | |||
There was a problem hiding this comment.
|
There is another draft for an implementation from @nadineminagawa. It will cover the front end and back end implementation of this MSC. |
|
|
"an" is used if the following words sounds like a vowel but "a" for a consonant sound. We can stay with the "a". There is the example of an MP3-Player at https://dictionary.cambridge.org/grammar/british-grammar/a-an-and-the |
exactly, "MSC" is pronounced ~ "emm ess see", which means it should be "an MSC" same as "an MP3" |
Quick nitpick: the apostrophe used on the t-shirt draft is upside down, it should be |
| { | ||
| "type": "m.t-shirt", | ||
| "content": { | ||
| "body": "There's an MSC for that!" | ||
| } | ||
| } |
There was a problem hiding this comment.
A POC implementation was done for CCCamp23!
The following constitutes the backend implementation
| { | |
| "type": "m.t-shirt", | |
| "content": { | |
| "body": "There's an MSC for that!" | |
| } | |
| } | |
| { | |
| "type": "m.t-shirt", | |
| "content": { | |
| "body": "There's an MSC for that!", | |
| "background": "$bgcolor", | |
| "text-color": "$fgcolor", | |
| "size": "$size", | |
| "fitted": $fitted, | |
| "frontend.logo": $logo, | |
| "backend.highlight": $highlight | |
| }, | |
| "origin_server_ts": $timestamp | |
| } |
where
- bgcolor is the shirt's color, in this case
#000000 - fgcolor is the frontend print's color, in this case
#FFFFFF - size is the T-shirt size in T-Shirt sizes, we used
S,M,L,XL,XXL,XXXL - optionally, fitted indicates whether it's a fitted T-shirt (boolean)
- logo is whether the frontend depicts the
[matrix]logo (boolean), in this casetrue - highlight is whether the backend implementation uses syntax highlighting (boolean), in this case
true - timestamp is the creation or event start, in this case
1692049320000
Full event as implemented by us:
{
"type": "de.sorunome.t-shirt",
"org.matrix.msc2997.content": {
"body": "There's an MSC for that!",
"background": "#000000",
"text-color": "#FFFFFF",
"size": "M",
"fitted": true,
"frontend.logo": true,
"backend.highlight": true
},
"origin_server_ts": 1692049320000
}
There was a problem hiding this comment.
(gratz @Sorunome, you're eternalised in a couple T-shirts now.... 🎉)
There was a problem hiding this comment.
(implementation accepted - MSC description updated)
There was a problem hiding this comment.
We iterated for Matrix Community Summit 2023!
It is based on the extensible events for media and by extension, files.
content contains 3 blocks:
- Like the media extensible events, there is the
m.textfallback block in case your t-shirt manufacturer is unable to reproduce the graphic given by the file. - The
m.fileblock holds some common properties - The
m.t-shirtblock (unstable prefixorg.matrix.msc2997.t-shirt) specifies some t-shirt specific details
Some details of the event metadata are not shown in the backend for comprehensiveness.
| { | |
| "type": "m.t-shirt", | |
| "content": { | |
| "body": "There's an MSC for that!" | |
| } | |
| } | |
| { | |
| "type": "de.sorunome.t-shirt", | |
| "sender": "$sender_mxid", | |
| "content": { | |
| "m.text": [ | |
| { "body": "There's an MSC for that!" } | |
| ], | |
| "m.file": { | |
| "url": "mxc://$some_url", | |
| "name": "$url_label", | |
| "mimetype": "$mime", | |
| "size": "$size" | |
| }, | |
| "org.matrix.msc2997.t-shirt": { | |
| "background": "$bgcolor", | |
| "text-color": "$fgcolor", | |
| "fitted": $fitted, | |
| "frontend.logo": $logo | |
| "backend.highlight": $highlight | |
| } | |
| }, | |
| "origin_server_ts": $event_start | |
| } |
where:
sender_mxidper https://spec.matrix.org/latest/client-server-api/#room-event-formatsome_urla url in the format of https://spec.matrix.org/latest/client-server-api/#matrix-content-mxc-uris that coincidentally also works when using it with the HTTP(s) protocol instead of MXC - we usedmxc://summit2023.matrixmeetup.de/conferencemimethe material of the shirt, in this caset-shirt/cottonsizeis the T-shirt size in T-Shirt sizes, we usedS,M,L,XL,XXL, up to5XLbgcoloris the shirt's color, in this case#000000fgcoloris the frontend print's color, in this case#FFFFFF(only relevant if the fallback text is used)- optionally,
fittedindicates whether it's a fitted T-shirt (boolean) - our implementation lists it explicitly even if false logois whether the frontend depicts the graphic indicated by them.file.url(boolean), in this casetruehighlightis whether the backend implementation uses syntax highlighting (boolean), in this casetruetimestampis the creation or event start, in this case1695283200000
Full event as implemented by us:
{
"type": "de.sorunome.t-shirt",
"sender": "@me:homeserver.tld",
"content": {
"m.text": [
{ "body": "There's an MSC for that!" }
],
"m.file": {
"url": "mxc://matrixmeetup.de/summit2023",
"name": "Matrix Community Summit 2023",
"mimetype": "t-shirt/cotton",
"size": "L"
},
"org.matrix.msc2997.t-shirt": {
"background": "#000000",
"text-color": "#FFFFFF",
"fitted": true,
"frontend.logo": true,
"backend.highlight": true
}
},
"origin_server_ts": 1695283200000
}


Rendered
Signed-off-by: Sorunome mail@sorunome.de
Please note that this proposal is meant as a joke and is not to be taken seriously
Unstable implementation: #2997 (comment)