New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Discussion: CodeBuddies v3 Future Projects #1136
Comments
Thanks @angelocordon! Curious if @RuubixO, @tgmiller5, @Dan-Y-Ko, and other newer contributors (or who've expressed interest in contributing) have thoughts about pain points they've encountered. |
Here's my thoughts:
I also want to note that the lack of feedback is also possibly an indication that we have less interest in contributing due to the existing tech stack. I truly believe CB can be amazing and create a community and platform that provides a space for folks to learn how to code together. We must continue to evolve and grow together. |
What features do you envision in v3 that would make it a true platform, @d3vild06? Side note: my original dream was multiple spontaneous coding meetups happening at the same time, and in the course of building this I've realized that it's less of a features problem and more of a finding-meetup-organizers problem.
IMO it's less of a "let's not improve the codebase" issue and more of a maintainer burnout issue. Unless CB becomes a funded, full-time project for some of us, I think it'll be difficult for anyone to find the time to lead on it. But if I am wrong about maintainer burnout, and folks would like to lead on a new tech stack/turning the website into a more active platform, then that would be exciting.
|
Things evolve. This discussion was started with a suggestion of porting to a new tech stack (MERN). & now we are discussing version 3. When the project was started things were not as tightly coupled with Slack as it has become today. And most of the feature requests that are being filed includes slack. Slack has its limitations, And people have created a bot to address those limitations - even In our community people have created a few projects like greet-bot, buddybot, CB-jarvis. And still time to time we find new use-case that we hope slack could handle it out of the box (Recent example someone suggested: the ban people for limited period of time ). So If we are in the process of envisioning a version 3, we need to make a list of those type of use-cases, compile user-stories and move forward with new attempt. "Exercism did that" -- they created a new platform from scratch. |
To help with the discussion (and @distalx's point around outlining specific use-cases and features) here are some ideas and vision for CB v3: Product/Feature Focused
Tech/Developer Focused
I spoke with Linda and she recognized funding this project will be critical. She has some ideas around running a kickstarter to help get this kicked off. |
My questions around running a Kickstarter are: |
Really appreciate the great dialogue so far 🙌🏽🙌🏽 Before we get too deep, it might be a good idea to figure out our evolved mission now that the community has grown, so that we have something these visions can anchor to. In the beginning, it seemed like it was all about being able to remote meetups but basing on our current Slack channel, it seems like the core mission of the community now is to be able to provide a safe space and tools for developers of all levels to learn from one another. Anybody agree with this? I’m not in the forums as much so I’d love some perspective there as well. If we agree that this can be our core mission, then I think figuring out how all the pieces in place can come together would be clearer. |
Re: funding, I agree - I think trying to make Open Collective work might be better for us, at least this way we can concentrate on the things that matter and less on accounting/taxes. Eventually, if we become much bigger, it might be worth the effort of figuring that out more but until then, let’s try our best to keep that side simple. I’d be curious to see how other OSS splits their funding; VueJS uses their funds from sponsors to pay for contributors also. I wonder if we should think about a standard and transparent pay structure so that it can be more helpful to more developers. In any case, I’m not opposed to figuring out a way for the community to get funding from sponsors. |
Thoughts on the mission: https://medium.com/codebuddies/codebuddies-in-2018-a-project-status-letter-to-the-community-7f8c2c34e950 The primary mission: Connect people who have the potential to help each other become better at software development, regardless of where they live. Secondary missions:
I agree we can follow the examples of other Open Collective projects like VueJS and Babel, etc. which have paid their core contributors. Another example is Free Code Camp -- which is different in that it is a 501c3 non-profit, but gets its funding entirely from small donations, IIRC. |
My thoughts on funding:One big way I could see CB improving is how we market ourselves. I didn't even know that I could sponsor CB on the Open Source Collective. I have rectified that.
Changes like this will go a long way to getting funding since CB has a great product in its members and safe spaces to learn people will want to see that stick around. My thoughts on the product:I value that CB has stayed in its lane. It's not trying to be SO. It's not trying to be Free Code Camp. I imagine the V3 of CB to have more project managment tools not to duplicate Trello or Github in that regard, but I am imagining a way of orgainizing around a common project and templatizing and standardizing the creation of projects people want to work on. CB handel's meetups and discussions very well. This functionality can be leveraged by adding the ability to tie them to a well laid out project board that has everything up front that you need to see what the project is all about and how to contribute. My thoughts on the tech side:I agree with all points above. Getting off Meteor and using frameworks like React/Redux will go a long way to onboarding people. The only thing I'll add in that same vein is the backend should probably be in JS too. Other langages like Ruby, Python, and Go are great for spinning up backends quickly and in some cases preformant, but just like Meteor it has the gatekeeping problem whereas with JS you can expect that most if not all web developers will have some understanding of the language. |
Re:
While I'm not opposed to this, I was also thinking that we can try to make opportunities for other contributors are really great at other languages as well -- not just JavaScript. I.e., if the backend was in Ruby, Python or Go, then we'd open up other opportunities for other "kinds" of developers to contribute to. Of course, the complex tradeoff here would be we'd need some contributors to be able to lead that side of the platform in that language -- not sure if it's currently worth the tradeoff, but just wanted to throw it out there. |
Some more We could essentially break down v3 platform/community goals to be something like:
and our community values should be:
Based on these, we can see which aspects of everyone's suggestions would help move the needle forward in terms of the community mission and values. I'd like to highlight some of @cbelsole's suggestions:
I'd also like to highlight some of @d3vild06's suggestions as well:
-- |
@lpatmo will have to fill in the actual numbers of the CB Survey results from 2017. I just wanted to bring up the survey results so the feedback from users is actually factored in for v3. In particular, I'm more concerned about the less experienced developers since they appear to be the majority based on the "How long have you been coding?" survey question. For the "Do you have any suggestions/feedback for how we could improve our community?" question, here's some responses that caught my eye:
|
Thanks @wuwuworkshop - those are excellent insights |
It occurred to me that the survey question was phrased "how we could improve our community". Now that ~2 years have passed and some changes were made to the site, Slack, etc., perhaps a new user survey should be sent out to ask "how could we improve the CodeBuddies site/app?". 🤔 Also, since people clearly want MOAR hangouts, I'd like to know what is preventing users from starting their own hangouts. I feel like it's probably a number of reasons.
And probably some other reasons I'm missing. Like perhaps not being comfortable speaking English? And, of course, there's always the time zone issue with having a global community. 🗺 |
++ This would help inform V3. Is putting together a draft of a new survey something you might be interested in, @wuworkshop? IMO, creating hangouts at the moment is very much like creating remote meetup.com events -- very formal, since a user would have to fill in several details. I'm imagining a version where it'll be common to see several remote meeting rooms open all at once... kind of like Twitch streaming, in a way, but collaborative learning instead of one-way streaming. |
I feel like this can't be stressed enough - "Simplicity Wins over Abundance of Choice". |
@lpatmo I love that idea of a "twitch" like streaming UI where folks can peruse for an interesting topic to join. I know we're starting to get into implementation details but I love the ideas that are already flowing! Do we want to decide where we want create and manage the project? We can always use Github's own project boards and manage the whole thing right here. Thoughts? |
I have no objection to using Github's own project boards! |
I’ve been quiet here as I’m struggling to separate what I want from CodeBuddies from what would benefit the community as a whole. We probably should run a another survey. Was the previous one a Google forms survey? Are the questions available? I strongly agree with @wuworkshop that simplicity, and clarity of purpose is incredibly important. Clarity needs to come long before we consider interface design and screen layout. What is it that CodeBuddies offers? How do we make that as accessible, engaging, and useful to all involved? Anecdotally popular aspects appear to be:
Each one of these areas could be broken down into an infinite list of features, but I’m in favour of making the core functionality as obvious and accessible as possible. It feels as if Slack is the place people spend the most time. It also appears to be the way a number of people join CodeBuddies. Is this something we want to embrace in the way we offer core functionality? If so, this would be a compelling reason to re-think how core functionality is built. |
Thanks @billglover for your thoughts! The questions/results from the December 2017 survey are here: https://medium.com/codebuddies/codebuddies-community-survey-results-really-insightful-commentary-from-yall-8dcb36965d71 Core mission: Although many people have connected and helped each other on CB's Slack, I think V3 should endeavor to make the website itself an alternate popular gathering place, rather than rely on Slack integrations, for a couple of reasons:
I have a few pet desires for V3 (a different UI to encourage more spontaneous live meetups, a learning resources mind map and learnings section/chatroom for each resource link, probably MERN), but it would be really interesting to see everyone else's top desires for product features laid out. I'll try to draft up some sort of survey this week, and will share the draft for feedback. |
After reading some more links like these: I'm starting to wonder if onsite user research should be done instead of an online survey. Or perhaps some of the money in Open Collective could be offered on https://opensourcedesign.net/jobs/ to do usability testing, user research, etc. 🤔 A book that might be worth checking out is "Customers Included": |
I created a draft of questions here: https://docs.google.com/document/d/1W4THgyKx9juLZNevHtnqkYN3rwDM95nxp8RqgMdBUi0/edit Feel free to add to it/add comments.
We could definitely do both! (A community survey + user research.) Curious if anyone would be interested in coming up with a plan for usability testing/user research. |
I think a lot of these questions are a bit too poignant and can result in some biased results. I'd propose we mix some of them with more open ended questions and less choice-based questions to allow our members be able to articulate more what's important to them. I've drafted a good few ones below the original questions. I pulled some from: https://hackernoon.com/20-user-experience-survey-questions-and-templates-for-inspiration-27d7ba4f94c7 and for further reading: |
@angelocordon To add, I would agree to just include a couple of free text fields because when sending out a survey, most people may want to fill out the survey real quick instead of just typing so much based on their time and also if they are using mobile. |
All good points 🚀 |
Just wanted to add another link with some useful tips on creating a qualitative survey: |
I'm coming to this very late, but the most powerful commodity of CodeBuddies is its ability to "glue" together the right people organically. A lot of what I think about personally about what can be improved, and that could summarize a lot of what I've read here, is the ability to make and maintain connections easily, and to make our technology easy for others to contribute. Slack: Technical: This would probably require us to have good api's and standards around them, which will require us to make a lot of new good documentation. This would also have the advantage of creating standards for tools before we accept them, so they could be their own projects without threatening the necessary functionality in the master branch. I think moving towards a more independent set of tools that are completely open source will provide us with the flexibility to evolve with the group's identity. This will require a huge amount of work now, but it would be a valuable technical investment that will pay off further down the line. |
The original CB platform was built to serve a mission --
Over the years, it's served that mission quite well and has evolved to so much more with projects revolving around building out our community, from slackbots to discussion forums. At this step, one could ask, what's next? Where do we go from here and where can we go?
It's not necessarily that we as a community lack ideas, in fact, we have 32 open issues marked with a
[type] feature
tag and about 8 open issues marked as a[type] bug
. There's a lot of space for the platform to grow to, and a lot of opportunities we can consider.However, in order to figure out what's next, perhaps we can consider some current pain points.
From a technical standpoint:
From an opportunity standpoint, we have a few great ideas that can really flourish if decoupled from our current processes:
I've purposely left out solutions to these pain points as that's something that we should all come together. Feel free to leave more pain points that you've felt as a contributor or member of this community and we can edit this list.
What are everybody's thoughts?
The text was updated successfully, but these errors were encountered: