Brayansong's Blog

He who controls the past controls the future. He who controls the present controls the past.

Online Community Regulating Behaviours and Dealing with Newcomer

 

Enough of GitHub? Alright, allow me to introduce you another famous online platform created for developers. Here it comes! Welcome, Stack Overflow! In order to provide the best quality of this blog, I created a new account on Stack Overflow and experience how they treat and deal with newcomers.

Stack Overflow vs GitHub

I hope you had a deep love in GitHub after reading through my past few blog posts. Refer to this blog post if you are a newcomer and wanted to know more GitHub. What are the differences between both of them, since both of them are created for developers. Both of them have many resources, and are famous for the number of contributors, members and healthy culture. However, GitHub is more famous for its version control, and Stack Overflow doesn’t provide such feature but rather, it focus on developing forum for developer’s discussion. GitHub can be defined as a respository which allows its member to manage concurrent version of a project and allow others to contribute easily. On the other hand, Stack Overflow is a community based on Question / Answer where members can discuss and request for help if they encounter problem in the journey of development. At the end of this post I will provide you some alternatives if you are bored or need some refreshment.

Why Stack Overflow

Why I choose Stack Overflow for the discussion of this blog post. Despite the resources in Stack Overflow, the problem you encounter now, may probably encounter by somebody in the past. Also, check out this post, to understand why Stack Overflow is important and how Stack Overflow helps in developer’s career. In order to post in Stack Overflow, you will need to create an account.

The Friendly User Interface, Makes the User Experience

Like any other forums, there are many main discussion board, and topics going in. It might be really confusing if these post or threads aren’t categorised properly. Figure 1 shows the ‘Questions’ board in Stack Overflow. Unlike GitHub, Stack Overflow is easier to understand and use. For example, if members want to search topics related with particular keywords or tags can easily filter out using the filter feature shows in Figure 2. I found an article writing about how important is User Interface Design and User Experience. From my perspective, I will leave the platform if it’s too hard for me to figure out how it works, also a little bit more important for me is that the User Interface need to be attractive enough and also function well. A big thumb up for Stack Overflow, after analysing this online platform I understand that it actually applies most design challenge that dedicate to help with encouraging contributions, encouraging commitment and others.

Figure 1. Questions Board

Figure 2. Filter by Tags

 

Fame

I bet as a developer you probably heard before Stack Overflow, even if you are not aware, you probably got help from it before. Simply google a programming question and you will find Stack Overflow ranking at the top, check Figure 3. Think about it again how can Stack Overflow be so famous and how does it Recruit Newcomers. Design Challenge 03 under category Recruiting Newcomers mentioned that ‘Word-of-mouth recruiting is substantially more powerful than impersonal advertising.’. Would you recommend your friend about Stack Overflow? I will. Not just because the variety resources that Stack Overflow provides, but also because the benefits and connections it provides. Design Challenge 04 under the same category also mentioned that ‘Making it easy for users to share content from a community site with their friends (e.g., via easy email, Twitter, Facebook, and similar links) will increase the visibility of the community among the users’ friends and thereby increase the likelihood of them joining.’ Stack Overflow also implemented this design to recruit new members, a very good example of this will be replying question. If you try to reply question in the question board you will see something like Figure 4.

Figure 3. Ranking On The Top (Private)

Figure 4. Making It Easy To Share Content (Private)

Earn Reputation and Show The Correct Way

Stack Overflow implement ‘Protected Question’ on June 7, 2010. According to the announcement made by former co-founder of Stack Overflow Jeff Atwood, some post are protected by moderator and need a certain amount of ‘reputations’ to view or in another word unlock. Members can earn ‘reputations’ through answering question or posting high quality stuff. There’s even an article on the internet teaching others how to get ‘reputation’ fast on Stack Overflow. In my previous post, I mentioned that how ‘awards like’ system encourage contribution and commitment. I captured a screenshot (Figure 5) of available badges in Stack Overflow, in case you need the full list check out this site. Again, this summarize the implementation of Design Challenge 26 under category Rewards and Sanctions. Just for reference Design Challenge 26 mentioned that ‘Reputation systems, which summarize the history of someone’s online behavior, encourage good behavior and deter norm violations.’

Figure 5. Stack Overflow Badges (Private)

In order to build such a famous and good online community, implementing design challenge mentioned above is not enough. As some of you may remember, when you are still a newcomer, whenever you try to perform action on Stack Overflow, Stack Overflow will remind you, what should and what shouldn’t. This is also one design that implemented by Stack Overflow to reduce the number of offenses, referring back to Design Challenge 20 under category Encouraging Voluntary Compliance. Check out Figure 6 to see how my new account got notify when I want to answer a question on Stack Overflow.

Figure 6. Stack Overflow Notification

To me I definitely will spend time on this forum, because I can learn from experienced developer as well as help newcomers and say ‘hey welcome to the developer family!’

Alternatives

As promised, if you get bored on Stack Overflow or GitHub, feel free to try out websites below, I had categorized them into two main different stream, Version Control and Forums. Share with me if you have any more interesting online community!

Version Control

1.BitBucket

2.BeanStalk

3.SourceForge

4.GitKraken

Forums

1.Experts Exchange

2.Question2Answer

3.Askbot

Online Community Encouraging Commitment

 

If you follow my blog you might have gone through the post about encouraging contribution. I have always been discussing on GitHub an online platform for developers. Are you ready to know about how GitHub encourage commitment? Read through this post and you might understand.

Contribution vs Commitment

So you might have questioning about the difference between contribution and commitment? I will explain this using a formal and official definition from Cambridge Dictionary. Cambridge Dictionary define Contribution as ‘something that you contribute or do to help produce or achieve something together with other people, or to help make something successful’, while define Commitment as ‘something that you must do or deal with that takes your time’ or ‘a willingness to give your time and energy to something that you believe in, or a promise or firm decision to do something’. Fair enough, from my perspective in this scenario I will define Contribution as resources (projects / answer / codes) that shared by fellow developers all around the world, and I will define commitment as developers or users doing research on GitHub and trust GitHub’s resources.

GitHub’s Trustworthy

You might be thinking, since contribution is done by developers all around the world, can resources there be trusted? Like any other online platform you will need to choose who you trust and the resources you trust, however GitHub allows user to check the contribution is done by who and from which ‘branch’ (version). GitHub is well known for its Source Code Resources, the number of developers actively contributing to it and also famous of its Version Control features. GitHub keep tracks of every contribution made and also profile them into the contributor’s profile. So if you are using GitHub make sure you ‘clone’ from a verified version or from a trusted contributor.

Affective commitment

As mentioned above, GitHub is an online community that created for developers meaning that majority of members in GitHub and user in GitHub have the same focus or are similar at some point. Either they are expert in developing or newbie, GitHub welcomes all of them and provide different space for them. This refer back to Affective Identity Based Commitment, Design Challenge 3 – ‘Recruiting or clustering those who are similar to each other into homogeneous groups fosters identity-based commitment to a community.’ The other Affective Commitment is Bonds based, for example, GitHub place a big slogan in its homepage saying that ‘Welcome home developers’. Affective Bonds based Commitment is created by feelings of closeness and attachment to group or members of the group. GitHub creates an online community for developers, named it as a home, and make it like a home!

Referring back to design challenge again, Design Challenge 15. GitHub Displaying photos and information about individual members and their recent activities promotes bonds-based commitment.

GitHub also applies Affective (Repelling forces) in their platform design. Regarding to Design Challenge 26 under category Affective (Repelling forces) – ‘Personalized filters, which differentially expose members to communications that match their personal interests, reduce the negative effects that off-topic communication has on identity-based commitment.’ GitHub categorize projects that are under development in different category, for example: open source, public and private. Members can filter out to match their personal interests. This reduce the time and effort wasting on wondering around with projects that doesn’t match the interest. GitHub forums provide spaces for different members with different interest. Feel free to join, there’s always space for you, neither nor you are a professional expert or a newcomer ya all welcome!

Figure 1. GitHub Forums – Learning Hub. (Private)

Normative

Think about it again, why people maintain their membership on GitHub? Share with me why you maintain your membership on GitHub. To me GitHub is a well-known online platform. Contribution I made to this community really reflects to me well. For example, I can show my experience on GitHub while I am seeking for job. Other than that, I am able to learn and grow by using the resources in GitHub and also help other developer, so why not. From my personal experience, GitHub has a very healthy culture that if you help people, people will help you back. I can refer this type of design challenge as Normative. As mentioned by Dr Jason Watson, one of the design challenge under Normative is to ‘Highlighting opportunities to return favours to specific others increases normative commitment to the community.’  GitHub is doing very well in this part as they provide members to return favours to specific others, a very good example of this will be the ‘code review’. GitHub allows its member to request code review from other members while notify member too if other member need help. Check out this video to understand more about what is ‘code review’.

Figure 2. Code Review. Source

Other than that, GitHub mentioned that there are more than 1.8 million of business and organization that uses GitHub. This dedicates to Normative Design Challenge 27 – ‘Highlighting a community’s purpose and successes at achieving that purpose can translate members’ commitment to the purpose into normative commitment to the community.’

Figure 3. Source

Online Community Encouraging Contributions

 

From my last blog post, we discuss about what is online community, characteristics of it, human psychology which also can be understand as social psychology or psychology of community in this case. I also mentioned about keys to create a success online community, today we are going deeper into this. We are going deeper into my favourite online community GitHub.

So What Is GitHub

You might be heard of GitHub, if you are a code savy like me I bet you definitely heard about this lovely name. (I just can’t express my love to this community, I’ll explain this later). So for those who don’t know what GitHub is, GitHub is an online community built for developers which claim to be the world’s leading software development platform. GitHub is founded by Tom Preston-Werner. Feel free to find more about GitHub from here. What I found lovely in GitHub is the culture and the features in provide. In short GitHub is an online community where developers share thoughts, contributes, and collaborate. GitHub also plays abig role in Version Control.

GitHub’s Different Pricing Packages

Don’t worry, GitHub is free for use but with limited feature, unless you need particular features or functions otherwise you don’t need to pay. From my perspective the free version is already heaven. However for those who have professional needs check out this page. For students there’s good news for you, you can request for a Student Developer Pack, check Figure 1. GitHub’s also provides a market place where you can buy software or tools for different purpose. I provide a screenshot of the market place in Figure 2.

Figure 1. GitHub’s Pricing Packages (Private)

Figure 2. GitHub’s Market Place(Private)

Culture

If you remember what I mentioned in my last blog post you might have remember culture is a key to build a success community. If you ever head of Open Source Projects then bingo you are in the right place, GitHub is the largest open source community in the world. You can review, contribute and do surveys here in GitHub. GitHub build the culture to encourage developers or coders to contribute on these open source projects. If you check out this page you will find an ‘event’ started by GitHub called ‘Open Source Friday’ In Open Source Projects no one is getting salary from either a company or the project starter, (although some do donation) however people do help Open Source Project because of motivations. Motivations pathways can be separated as ‘Expectancy’, ‘Intrinsic’, and ‘Heuristic’. Expectancy motivation pathway meaning that ‘Classic expectancy-value model in organizational behavior hold that people will work hard if they think that doing so will lead to outcomes that they value e.g. working hard to get a promotion or playing a computer game to get a high score’– Dr Jason Watson. Intrinsic meaning that ‘The actions (effort) itself can be satisfying and valuede.g. playing a computer game because you like slaying dragonsand watching their wings fall off. Or playing pacman because it is exciting to avoid the ghosts.’ – Dr Jason Watson ‘Heuristic’ meaning that ‘the desire to improve is also directly motivating e.g.Playing a game because you enjoy the fact you are getting better at it.’ – Dr Jason Watson. There are still more Motivations but for today I will focus on this three and explain from my perspective how these motivations can be applied in GitHub this online community.

The Motivation Effects

Starting from ‘Expectancy’, GitHub provide a personal portfolio on its member page showing how much contribution he / she made, these contribution can be earned by reviewing code and contributing on projects. For myself I really find it useful I would like to ask for a person who has more contribution to review my code than those who doesn’t have that much of contributions. It’s like a pride and maybe can build as a portfolio when I try to seek a developer job. That’s how ‘Expectancy’ work, developer working hard to get more contributions shows on their profile.

Second is ‘Intrinsic’, somebody do enjoy helping others and coding, even they don’t get any in payback they just enjoy doing this. Open Source Projects don’t pay back however there are still a lot of developer continuing contributing to it, is it because of this motivation? Maybe is.

The last one for today, ‘Heuristic’. I personally feel deep in this, like everyone I start from a newbie I have no idea what GitHub is and even what is ‘pull’ or ‘merge’ in GitHub, but I was able to I learn from the community – GitHub’s Forum. There is a thread called ‘Learning Hub’, where encourage newcomers learn and ‘teach’ other moderators are also actively in this thread to guide. Another thing, I learned a lot fomr this community that makes me feel I am getting better in coding. This is the motivation of ‘Heuristic’.

Purpose and Features

GitHub has a lot of purpose, it can be used to interact with other developers, collaborate, or help in project management. GitHub provides a tons of API that allow its member to unleash the power of GitHub in a more efficient and east way. User can do almost everything the web version can do by firing API in command prompt or terminal. Features that GitHub provide includes creating brunches, cloning, direct editing code, ask for code reviews, and do automatic comparison on text or code (Figure 5 give an example on this), and may more other features. If use paid for particular professional packages, user can get more additional features. GitHub automatically sends email to user if the code request has been accepted. GitHub also works well with other project management tool or IDE such as Slack, CodeClimate and Atom etc. Figure 3 shows an E-Mail sent by GitHub to notify me about a branch was merged. Figure 4 shows a screenshot of GitHub’s Homepage about other applications that are integrated with GitHub.

Figure 3. Merge E-Mail by GitHub (Private)

Figure 4. Integrated Application (Private) 

Figure 5. Auto Comparison on Text or Code

Encourage

Okay let’s get back to the point, how GitHub encourage its user to contribute? The more contribution made the more popular GitHub is going to be and more user are going to join! From text mentioned above you can know that GitHub is a very good culture builder, GitHub create events and encourage newbies to learn from each other and even request moderators to help up to create a great learning culture to newcomers. The portfolio and insights shows on each opened projects also encourage its user to contribute either to build personal portfolio or to make contribution on the projects requested by the project owner or ‘scrumb master’ in a project management’s term. Its human nature if you receive somebody help, would you help them back in the future? For me yes.

Design Challenges

Including the ‘Expectancy’, ‘Intrinsic’, and ‘Heuristic’ mentioned above. If you try to break down GitHub with Social Design Challenges you can find out that actually GitHub also applies Request Visibility and Social Influence. Request Visibility can be defined as ‘Making the list of needed contributions easily visible increases the likelihood that the community will provide them’. If you navigate to ‘Discover Respositories ’ you can find a list of needed contributions either from open-source projects to undergoing development projects. This encourage community (developer community) to improve and contribute to them. This big community includes Developers around the world and each individual can always find a gap to fit in with their profession. Figure 6. Shows a screenshot of this page. Tags included also show the list of needed profession or in order words programming language needed user can short these out and find the one which they interested in.

Figure 6. Discover Respositories (Private)

The other definition is ‘Providing easy-to-use tools for finding and tracking work that needs to be done increases the amount that gets done’. GitHub provide variety of easy-to-use tools for its members, for example: beyond the web app you can track the commitment, traffic and code frequency of each repository a.k.a Repo. GitHub shows the insight of commitment using visualized graphs and numbers, encouraging individual to commit. GitHub also provides tons of API as a tool to improve development process and also can be used to do project management. Figure 7. Is an edited screenshot of Insight Graphs provided by GitHub as a tool to provide tracking on progress. Check out this link to see API developed by GitHub too.

Figure 7. Insight Graphs (Private)

 

Follow by Social Influence, on GitHub’s home page you can find a list of large firms which cooperate or uses GitHub, isn’t this influential? This explains ‘high-status people in the community lead to more contribution than anonymous requests or requests from low-status members.’ – Dr Jason Watson. For this scenario, high-status people can be referred as worldwide large company. During the lecture, Dr Jason Watson also mentioned that ‘People will be more likely to comply with requests if they come from others who are familiar to them, similar to them, are attractive, are of high status, or have other noticeable socially desirable characteristics.’ Most of these large company such as Airbnb, IBM, Facebook and others (check Figure 8) are well known by people, this cause more attractive, being part of the project development started by these company is super cool right. Even if you don’t be part of them, when you see all these big companies are using this service or are in this community will you be convinced to use and be part of it too? Now you understand how GitHub attracts more developers and encourage contribution. People are more likely to comply with a request when they see that other people have also complied. Report shows that GitHub has 27 Million Developers Worldwide (Retrieved on 6-May-2018). There are so many people are contributing to this community so why not be part of it? As discussed influence can be a very important key point that makes such a great and big community. Are you also a part of this big community? Tell me in the comment below!

Figure 8. Cooperated Companies (Companies uses GitHub)

 

 

Online Community

 

Online community also known as internet community is a virtual community where allows its members or guests to interact with each other via internet. Cambridge Dictionary define it as ‘a group of people who use a particular internet service or belong to a particular group on the internet’. Usually in order to interact with other member in the community ones have to become a member at first. There are plenty of online community nowadays some set-up for specific need or in other word to target specific niche market, which attract user who are finding some specific resources. From my perspective, online community can be separate into two big major type, social media and forum. Examples of social media will be: Facebook, Instagram, Twitter and others, while the other hand, for forums will be Reddit, 4Chan, GitHub’s Forum and others.

The popularity, and differences between them

So you are interested in the popularity of each online community heh? I provide a picture that actually visualize the popularity of major online communities using data in Figure 1. While Figure 2 graph shows the most popular online communities among ages 18 – 24.

Figure 1.  The popularity of Major Online Communities

Figure 2. Most popular Online Communities among ages 18 – 24

Through studying resources I provided above we can know that, online community has become a very ‘sticky’ attribute in our life. Study even shows that ‘More than half of people in Australia say Facebook is their favourite site, strides ahead of other platforms. About 95 per cent of Australians have an account, and use Facebook on average 12.5 hours a week, up 4 hours on last year.’ Figure 3 shows a research done by The Statics Portal a breakdown of Facebook users in Australia as of January 2018, by age group.

Figure 3. Facebook Users in Australia as of January 2018

These online communities works differently, they bring different benefits to its members and users, they also provide different features and functions. These benefits and feature are the fundamentals of making these members, user group sticky. From my perspective, I would use Instagram to share photos but use Facebook to share video content, but rather asking questions about programming and software development on Facebook I will choose to post and discuss these questions on Github’s Forum.

Characteristics of Online Community

Characteristics can be define as the key to a success online community. Basic characteristics of online community including the ability to allow its members to interact with each other, post or share content. However as mentioned, these are just basic if you want to build a great and engaging online community you can try the 6 characteristics below, which I composed and edited after research from various studies.

Keys Characteristics of Success Online Community

  1. Plan your communities
  2. Remember your ‘product’ is human
  3. Design it for user, fit in the market
  4. Plan and build the culture
  5. Create useful content
  6. Encourage Relationships

In order words, online communities do adopt characteristics above.

I included an infographic – Figure 4, that also summarize about the key of creating an engaging online community.

 

Figure 4.  Key of Creating an Engaging Online Community

Like mentioned in the lecture of IAB260 Class by Dr Jason Watson, the multisided platform. User from Side A benefits not only user of Side B but also the same side (Side A) and also the platform (online community). These interactions can be explain with Network Effects. If you want to have a success online community, you must hands on and think about how to cause these effects as they affect also your characteristics.

Psychology

As you may have notice characteristics is the key of success online community. However, online community main ‘products’ are still human, psychologist around the world has conducted a lot of researches on studying human behaviour on these community.  Abraham Maslow, an American psychologist, argued that humans have two distinct social needs: to be loved and accepted. Being able to express your identity among like-minded members, and receive real feedback, is one of the ways to satisfy these needs. Figure 5 will illustrate his theory about social needs. Kenny S. also wrote a guide from his study from most influential studies on the psychology of community by McMillan & Chavis on (1986), in his blog post he mentioned three elements that form ‘sticky’ sense are:

  1. Membership
  2. Influence
  3. Integration
  4. Collaboration

Figure 5. Abraham Maslow  Theory

There are more studies on human psychology on online community this is just brief about them you can find relative studies by searching ‘Social Psychology’.

Where do they occur

The title explains this all, ‘Online Community’ – people interacting online, these community comes in different forms and on different platform. A great distinct example of this would be, 4Chan and Instagram. 4Chan mainly occur on the internet and is not really mobile friendly, 4Chan wants it user / member to access using Desktop rather than mobile or tablets. However, Instagram wants it user / member to access using mobile phone only, you might be able to use Instagram using Desktop or Tablet but you can’t unleash its full functionality and feature, as the main purpose for Instagram is to encourage user to share photos and video using mobile phone.

But good news here, after researching online, Instagram had just released its new API in 2018 which allow user to post online using Desktop version various development is still undergoing. May there be a trade off? We can still observe about this.

Online Community that I engaged

I personally engage in a lot of online community including Facebook, Instagram, Twitter, GitHub’s Forum, GitHub main site, 4Chan. I use them for different purpose, for both Facebook and Instagram, I post actively and comment actively. For Twitter I only post about social cause or professional information. In 4Chan I am only a lurker.

The most interesting online community that I would vote is GitHub. The functionality and features it provide really helped me a lot. Not just these, the number of active members and users in it is also another reason why I am in love with this online community. I provided some screenshot of GitHub in Figure 6 and Figure 7.

Figure 6 (Private)

Figure 7 (Private)

GitHub allows me to ask for code reviews which allows me to connect with other developers (members). GitHub also automatically detects my code changes and keep logs about these which really helps in version control. GitHub also provide a functionality that allows me to collaborate remotely with developers around the world while some projects aren’t limited to local commitment.

Figure 8 and Figure 9 are screenshot about GitHub’s Forum. You can see that GitHub’s Forum is very active and there’s a lot of moderators that helps to keep this community clean. I believe there’s also a lot of developers out there who love this online community as much as I do. Are you one of them? Comment below about what community you like!

[metaslider id=”369″]

Figure 8 Source, Figure 9 Source