I’d like to share some thoughts on how we could possibly increase Embark’s adaption in the developer space and grow its community and ecosystem, so building decentralized apps (for Status) will become even more fun for everyone.
A lot of what I’m writing here is basically me thinking out loud and I’d love to get some feedback on this. Also, whatever comes out of this discussion, feedback and insights, I’d like to use as a base for drafting my first post on the Status blog, about what the Embark project and team will do to improve the overall experience for everyone involved who is contributing or would like to.
I hope this makes sense!
Let’s start with why we’re discussing this. Embark is a very powerful tool and considering the plans and ideas that are in the making, it can have a lot of impact on how developers will build decentralized applications in the future. When I talked to @iurimatias about where this project can go, I got really excited about this.
However, there’s still a little challenge we need to overcome, which is making the community aware of Embark’s potential so that we’re not the only ones excited about this
In fact, I believe a community still needs to be created and built as there’s not too much Embark activity in the interwebs at this point. While Embark as a lot of stars on GitHub (2000+, which is a good thing!), this number doesn’t really reflect to what I see on common developer platforms:
Very low StackOverflow activity - When I checked yesterday, the last active question on StackOverflow related to Embark has been asked in July 2017. That surprised me cause it means that for one year, nobody felt the need to ask for help. This either means Embark does an outstandingly good job, or too few people are actually using it. I think both statements apply UPDATE: @iurimatias pointed out that there’s more activity on Etherum StackExchange, which is very true! Still not a lot though and not super frequent.
Very little interaction on GitHub - This is getting better with Gitcoin bounties though! However, when I browsed through the repository issues on GitHub the first time, I noticed that a lot of the few issues there are either outdated or are awaiting feedback from the Embark team. Some Issues are stale for a few months. This is not very encouraging for someone who wants to contribute but gets the impression that there’s not too much going on. UPDATE I didn’t do a very good job on pointing out that there’s also a lot of closed issues which are obviously a sign for the teaming getting a lot of things addressed. More closed than open issues is naturally definitely the better position you want to be in.
Low npm activity - @ricardo3 pointed out on Slack some statistics and compared to other frameworks/platforms in this space (e.g. Truffle), Embark is performing very poor. This aligns with the other characteristics of the current state of things I’ve mentioned above.
Tutorials, Guides etc. - Most of the content I see about Embark is already either over a year old or comes from the Embark project itself. I think this is also something where I’d like to see more community members creating content, videos, tutorials etc. so everyone has an easier time working their way through the Embark space.
Super low Twitter activity - This goes hand in hand with the points described above. Not many people seem to be talking about Embark and how much they enjoy using it. I know not everyone uses Twitter, but I’m very sure there’s a big community on Twitter that can be a great channel to raise awareness of Embark and have people help each other out as well.
These are just some of the things that in my opinion need improvement. Please note that I don’t expect the Embark core team to handle all these cases and take care of everything. We’re all busy doing things (building Embark) and maintaining a community can take a lot of time.
Also, there are other platforms, were people regularly interact with the Embark team, like our Gitter channel
I believe though, that once we get things going, the resulting community will almost drive these things itself. Once more people use Embark, talk about it, write about it etc., it’ll be like a snowball that grows bigger with time, without the core team being involved in every single discussion on every single platform.
Let’s talk about what can be done to improve the state of things.
What we can do to make things better (spoiler: there’s no shortcut)
So I think the root of everything and getting most of the points addressed, boils down to one “simple” goal:
Getting as many people involved as possible and making it as easy as possible.
The easier it is to use Embark, the more people will likely try it out. The more people try it out, the more people will get involved via reporting bugs or requesting features on GitHub, creating content by writing tutorials, videos, or even online courses. The more of such content is created, the more likely we’ll get external contributions, which increases the chance for us to show the world that we welcome every contribution and that we’re here to help. And the cycle repeats. Notice how eventually, a lot of this is going to be offloaded to the community naturally).
I’ve seen this happening in the Angular community over the past years. The framework went from being an underdog project to one of the mostly used platforms on this planet with one of the nicest communities I’ve ever seen.
Having that said, here are some possible action items (I hope to get some feedback on those):
Delegate “quick” questions to StackOverflow - This might feel counter intuitive first but might pay out in the long run. We could try asking community members on our Gitter channel to mirror some of their questions on StackOverflow, so we can answer them there. This way other people who run into a similar or the same question have a chance to find it there and up/down vote accordingly. The more questions there are on SO, the more active our community gets. Obviously, this doesn’t work with every single question. We’ll have to decide on a case by case basis which question would be better ask on StackOverflow. Also, this is just for the start. Once people see that questions are being asked there, more and more questions will be added, which also enables more people to answer and help.
Being transparent on GitHub - At the moment we’re using PivotalTracker for issues and I can see why this is done, as it provides agile/scrum features that GitHub may not support. However, from the outside, people will see Pull Requests that are coming out of nowhere, e.g. it’s not clear why something is being addressed because there’s often no related issue people can refer to. Having such discussions on GitHub issues, makes it easier for us to get other people involved as we can link to issues (on Twitter) and ask people for feedback etc. This will make them feel more involved and in fact, they are. This also comes with the side effect that there’s gonna be some sort of noise, but we can write tools to handle that once we reach that point. The more people get involved on GitHub and the more is being discussed there, the better. Talked to @iurimatias about this as well and he’s open to re-evaluate this after devcon.
Creating a dedicated Twitter account - As already announced in the TH meeting, there’s probably going to be a new Status Developer account that people can follow for developer related content (and that’s a good thing!). Status has many different projects and initiatives with Embark being one of them. I believe that it would be better to have an additional account for Embark that is focused on Embark, its community and ecosystem. We can still retweet tweets from Status dev and vice versa. It’d be great if people can get updates through twitter by us keeping them up-to-date with new fixes, features etc, or even things like asking for feedback on particular issues. People that are following a general Dev account might not be interested in that content on such a level. Also it makes it easier for people to talk about Embark on Twitter, as they can refer straight to that account, which very likely will drive follower growth.
Improving first impression - I think we can do a better job in making Embark look more appealing to developers. We do have a website and it does have some good content there, but what’s missing is a little bit of an image/branding. We don’t seem to have a proper logo at this point either. I hope this will be tackled with the new Status website design. The truffle project got this one very right. If I want to start doing DApp development, it just looks like much more fun and that people behind it care about what it looks like to the outside world.
Alright, I think this is a good start. There’s probably tons of other things we can do, but we have to start somewhere.
Again, I’m not trying to say that this is how it has to be done, but I believe that the things can definitely help improving the situation.
I hope this makes sense and please let me know what you think!