:mega:ย :mega::mega: Hi everyone! Lots of you have ...
# announcements
a
๐Ÿ“ฃย ๐Ÿ“ฃ๐Ÿ“ฃ Hi everyone! Lots of you have recently mentioned multiple issues connected to the growth of our Slack community. Weโ€™ve formulated a change proposal to address these issues. Weโ€™re planning to update our community guidelines and introduce moderation. Please readย this documentย for more information, and share your feedback with usย in the designated thread in theย #C0B8W32VA channel. We also want to make aย call for moderators! Would you like to volunteer and make this community a helpful and welcoming place for everyone? ๐Ÿ™‚ Please apply and share your feedback before July 20. ๐Ÿ“ฃ๐Ÿ“ฃ๐Ÿ“ฃ
๐Ÿ‘๐Ÿผ 3
๐Ÿ‘ 17
k
if #C0922A726 will be cancelled, where would one discuss general/nonspecific stuff? What would be difference between #newcomers and #C0B8MA7FA?
โž• 4
h
Yes.
โ“ 2
k
The way I've understood it is that #newcomers will be for newcomers to the Slack group, while #C0B8MA7FA will remain for newcomers to the Kotlin language. But I may be wrong. Also, I'm wondering the same thing about #C0922A726, though I see there is another channel called #CR7H6LTD5 which may be what we thought #C0922A726 was for. Clarification in the proposal document would be useful.
h
Our goal with #new-comers was for those new to Kotlin, not specifically the community.
If this is confusing, maybe we can just leave #C0B8MA7FA and drop #newcomers. cc @Alina Dolgikh [JB]
๐Ÿ‘ 2
โž• 1
a
@Klitos Kyriacou Thatโ€™s a good question. Given the #C0922A726 will be renamed, I think we can create a new one for general discussions (not necessarily calling it general though). #CR7H6LTD5 at the moment suggests discussions about better programming practices and system architecture
k
There's also #C09222272 but it's not as good as #C0922A726-discussions
a
May I ask, what kind of change are you intended to propose on channels like #C0B8M7BUY were most of the time you see non Kotlin related questions?
โ˜๏ธ 1
n
๐Ÿ˜ถ ๐Ÿ‘ˆ
a
There's certainly room for Android-specific Kotlin questions and discussion, it just rarely ever happens. Unique scoping considerations, certain kinds of system design, but the line isn't clear for folks asking for help.
โž• 3
The really substantial questions of that nature tend to be answered in places like #C1CFAFJSK
โ˜๏ธ 1
e
Sounds like there's a need for an official Android slack community ๐Ÿ˜‰
โž• 5
l
Looks like it. Maybe Adam or one of his colleagues have some thoughts on making that, or another space for the Android developers community where both beginners and seniors, including asgers would meet?
a
I think we'd be more likely to go where folks already are than try to start something new, but that might just be me. Some members of the team are already tremendously active on stackoverflow as well, for example
I used to be years ago but I don't have as much time to keep up with it anymore ๐Ÿ™‚
e
Anecdotally I used to be much more active on SO as well, but lately I've been much happier both giving and receiving support via slack communities. I mostly hang out here and in the Gradle one, so the other major one I'm missing is Android.
z
I think this is getting a bit sidetracked on an unrelated topic and maybe proving why these changes are needed ๐Ÿ™‚
blob thinking upside down 1
โž• 2
h
As Zac mentions, please letโ€™s try and keep this thread on-topic.
c
Sorry for being late, I would like to add something that has been popping on my mind for a while and it just happened again. I would like to suggest dropping negative (I don't believe negative is the correct wording to be honest) tags. By negative tags I mean ๐Ÿ˜ถ๐Ÿงต๐Ÿงต . Why? This looks so meaningless and it's just a restriction to how people communicate. Well that is true but in the other side of the coin you create space for people to communicate their thoughts in a verbal manner where people can learn and/or come to an understanding. This not Kotlin one kills me more than the thread one because it's really context specific. And just being tagged by it made me remember about writing about it. How will I learn from this tag? Why doesn't this belong here? This is the kind of thing that can deviate peoples attention from something that could be a short helpful conversation. I come from someone that never participated in a community like this and in the beginning felt lightly frightened by this sort of implied behavior that for me was totally Alien. Some people really help me trough conversations driving me to a more respectful behavior. Thank you. The context is that this kind of tagging is really often associated with newcomers.
l
Why doesn't this belong here?
Isn't it explained in the Code of Conduct? I think the issue is that the CoC importance isn't raised high enough for people to fully have in mind before posting, or it's people just being people, with all their potential caveats, both ways.
โ˜๏ธ 1
c
I believe that sometimes people don't understand fully why their question is out of context. And a friendly chat will always come more informative than ๐Ÿ˜ถ. Besides my personal opinion that this looks "scary", as if you are doing something wrong (which you are but that's not how you talk to people). I may have stretched it with the thread one but I did this a lot and, even then it was stupid of me to not realize/remember, someone pointed it out. Believe it or not, the thread icon made no sense for me in the beginning, this slack thing was super new for me.
l
I think we agree that educating newcomers (and existing members) is something that can be improved upon. The ๐Ÿ˜ถ and ๐Ÿงต reactions are because folks don't like to repeat themselves over and over, especially as they're not paid for it as professional teachers would be. It's so much faster to react with that and move on than write something without risking offending someone, and I think it's still better than ignoring, but not better than educating newcomers through onboarding, and current members through an announcement, emphasizing the fact that we're over 40 thousand members and growing.
c
I agree on educating. I would put the thread and "not kotlin" in the same basket. If you would look into this thread I believe it can be a little more clear the why I'm mentioning it: https://kotlinlang.slack.com/archives/C0B8M7BUY/p1629025649333300?thread_ts=1629025649.333300&cid=C0B8M7BUY I'm reasonably seasoned and I have no clue of why this is "not kotlin". And then opening the group channel description I'm faced with its description about Android, explaining that this is a space to discuss Android Specific questions. So why would a Kotlin based string localization system wouldn't belong here when this is also an Android context question? I still don't believe that slowing people to tag that something is not kotlin is correct if the answer will always be more complicated than that or just linking the chat description where it explains where you should go when this doesn't belong there. There is also a possibility, if this is too tiring, to add bot actions that would describe where to go. Again, "not kotlin" lacks context and it targets mostly newcomers. And even then not newcomers people thst clearly need directions.
k
The reasons those exist IMHO is that people seem to join slacks without understanding there community goals/rules first or just reading a bit to see what proper behavior is. This behavior seems to be worst in the android channel... I'm in a bunch of others here and every day is multiple off topic posts from people who didn't seem to read the slack group description or Android channel topic. E.g. yours isn't directly related to kotlin usage issues on Android which is what that channel is supposed to be for. JetBrains and Google monitor these channels in this slack group to try to make things better for everyone who use kotlin. Non-kotlin topics add noise to their monitoring. Yours would have been more appropriate for the multiplatform channel probably if you're using KMP. But you phrased it as just wanting some opinions from other Android devs...
l
From what I've been told, the post you linked was originally less clearly about Kotlin, but you've edited it, and the ๐Ÿ˜ถ reaction has been removed ๐Ÿ‘Œ
k
You did clarify in the second post in your thread but the original ๐Ÿ˜ถ tag was for the original post. And the post right after yours is what's very typical for that channel unfortunately ๐Ÿ˜”
c
From my perspective as a native developer that doesn't use KMP and just wants to stop using localized string in XML over a Kotlin implementation I believe believe that my comment is exactly where it should be. And this is my point, this would be so much more helpful than leaving a "not kotlin" Tag which gives me no context to understand what the reader understood that made my question out of context. And I want going to add the second section in a thread. But I thought that providing my insights it could encourage people to share theirs. For me the original post already places me in the correct spot. So, again, I believe the "not kotlin" Tag is just not successful with informing people properly. I believe too that it can lead people to avoid even reading the question. And in the end this also will avoid discussions like the one that happened in between this conversation about our understanding of the community boundaries.
Also, when other people that don't understand the content come across this they will not get the opportunity of why that content was out of place.
k
The problem isn't your post as much as the others. Also, now that yours has been edited and you provided more context in the thread, it would not have gotten the emoji... Yours is more of a multiplatform issue (had similar issues on a Xamarin project ). Read the ones around yours. That's what the emoji is for. And the thread emoji is mainly for folks who post stacktraces and their issue as a set of messages (again introducing noise to the channel steam).
a
while this doesn't apply to your thread about string localization API design, @Cicero, I agree that the community needs a low friction way to discourage off-topic or low-effort posting that floods out the less one-sided discussion. ๐Ÿ˜ถ is a nod to that. stackoverflow is just as relevant as a way to say, "this question is asking for a turnkey solution to a specific problem that you can take, apply, disengage from this community, and move on, as opposed to seeking discussion or understanding of a topic. Please take it elsewhere."
โž• 6
c
I wish we had some data to talk about how efficiently this is working. Because what I see is a facilitation only from the side that doesn't require information, where this should be informing the person that was tagged. Then my wish will be to have slack bot actions connected to this tags. I believe we are overlooking how foreigner some people can be to terminology and symbols. I wish for a more verbal approach to this actions. This is recurrent for me, this tagging, for my eyes I mean, I feel like I see this too much, and forget about my post, in general this tag appears too often. It was good that this situation happened when I had free time because I would often just overlook and try to find myself what was wrong or just delete my post because like everyone our time is very limited. When I read something like what you all mentioned, about the recurrence of this, I don't believe this is solving anything. Mainly in the context that it should be informing people. I'm super onboard with the low-friction approach to inform people but this does not work when people are not really being inform. Nodding works when you know what's happening and you just need a light reminder, when you are completely alien to the concept it will cause more confusion. I believe I already distilled all my vision over better tools to inform people and how this iconography just doesn't and I will cease my speech here ๐Ÿ™‚. For me at this point and without real data it's just opinions, mine super included.
e
I think the main issue here is that there's no way to "onboard" anyone to the community on slack. You can pin messages, but most people won't look at them, or use Slackbot, but that has the same issue. The volume of messages coming in that "violate" the community rules is so high in some channels that it's asking a lot to say that they should each get an explanation written out about why their question isn't a good fit for the channel, or how they should fix their message. It's much easier to just apply ๐Ÿ˜ถ or ๐Ÿงต I like your idea about a bot connected to that. Perhaps if there are a certain amount of those reactions to a message, a bot can post the relevant info/instructions in the thread on that message.
๐Ÿ‘Œ๐Ÿฝ 1
a
I think different people have different definitions of effectiveness or, "working" for this. It doesn't have to inform to be useful, deterring off-topic and low-effort posting is enough. The nodding reminder part of it is directed more at the other readers: "don't answer this unless you want to encourage more of this sort of thing."
c
I just have a text expander that I use to try to be helpful
notkot
shows
Copy code
[NAME] this channel is for kotlin specific questions related to android, so people will likely keep marking your questions as :not-kotlin: . You'll have better luck trying other communities like the /r/androiddev subreddit/discord, or stackoverflow.
and
adamp
shows
Copy code
NAME can you edit your post to put the code in this thread please?

<https://kotlinlang.slack.com/archives/CJLTWPH7S/p1616265877303000>
๐Ÿ˜‚
๐Ÿ˜‚ 3
e
Good point on the subjectivity, but what's objective is the ratio of messages that get "marked." I just accepted through #C0B8M7BUY quickly, and I'd estimate that 10% of questions were on topic or properly posted. It looks like some folks disagree about the purpose of the channel, and answer those questions regardless. So the "nodding reminder" probably won't work. It's bad enough that I very rarely go to #C0B8M7BUY anymore, both for asking and answering questions. The way I see it, there are 2 solutions: 1. A separate slack community for Android. There's definitely demand for it, there's probably enough people at Google (I probably shouldn't speak for Google ๐Ÿ™ˆ ) and in the community willing to dedicate time to it, and it will help with the majority of the issues in #C0B8M7BUY namely ๐Ÿ˜ถ . It won't help with low effort questions like ๐Ÿงต , or things like google or stackoverflow , but I think the benefits outweigh that 2. Moderation. Probably everyone's least favorite solution, but the most effective
a
regarding (1), there are already a number of general android development forums out there. A number of us on the team are active on some assortment of them, but we generally do this in our free time. We try to focus on places where the questions and discussions are widely applicable, as opposed to really specialized, "debug my code" stackoverflow questions. If the implication is that #C0B8M7BUY as a channel here should be closed entirely and point folks elsewhere, that sounds pretty reasonable.
Anecdotally, since ๐Ÿ˜ถ started becoming more prevalent in #C0B8M7BUY I see a lot less frequent unread indicators in that channel from off-topic Q&A. It does seem to be effective at discouraging it.
e
I see #C0B8M7BUY here the same way I see #C19FD9681; that is very limited in scope to messages that are specifically about Kotlin in relation to those topics. If I want to have a non Kotlin specific conversation about Gradle, I go to the Gradle community slack. There's nothing quite like that for the Android community. SO, Reddit, blogs, and issuetracker are enough, but I think that Slack provides a new paradigm that a lot of people like. It's less canonical, but feels more real time and personal. Part of that is what leads to "debug my code" messages, but IME it also leads to productive conversations, and increases in quality bug reports on issuetracker. My implication is that #C0B8M7BUY be left as is (specifically for Android questions that are directly related to Kotlin), and a new Android slack community to point users to for general Android questions/conversations.
z
there are plenty of things like that for the android community (including other slacks), trying to use this slack just because it's a free comp'd instance is opportunistic at best
โž• 1
e
This thread probably belongs in #C0B8W32VA at this point, but I think the issue is less about opportunism, and more about desiring the real time qualities of Slack, and the fact that someone usually gives in and answers them. I'm not familiar with other Android slack communities so I don't know how things are managed or who is there, but I imagine the draw here is that there's little to no moderation, as well as Googlers being active.
โ˜๏ธ 1
โ˜๐Ÿฝ 1
l
[redacted] There exists some private Android communities, which are private for the same reasons a bunch of folks are tired of the live StackOverflow and "debug my code" that currently happens all too often in #C0B8M7BUY here. These communities have stricter Code of Conducts than here. Onboarding ensures you know it, and all users help enforce it. I think it'd be great to spread awareness of these rules, especially in this Slack, because they allow quite large communities to function ok without burning out members too much thanks to the discipline that sticks to. For these private communities, I wish there was a way to export the best of it in a publicly searchable way, I think it'd help and inspire a lot of developers that didn't have the luck to get referred by existing members, or would not make the jump to join for some reason. Now, I also think Slack wasn't designed for what it's being used here, and what people in #C0B8M7BUY want it for. There's no way to ensure acknowledgement of the rules/topic of a channel, the UI is focused on previous messages, and a text box to type whatever you want to type. For that, here's an idea: Make a bot that automatically copies the first message in a channel from a user since its topic changed, send a private message to the users to ask them to review the topic and the CoC because it's their first message there, and join a copy of their original message before automatically deleting it from the channel, so they don't have to type it over if it was okay for the channel (with edits or not). I think it'd be a good solution that doesn't involve questioning the tools we use for the Kotlin community.
โž• 1
๐Ÿค” 1