Designing a Social Media Platform for developers
Designing a Social Media Platform for developers

Designing a Social Media Platform for developers

Client
Codeuino
Project title
Designing a Social Media Platform for developers
Disciplines
Product designUIUX
Type
Main

image
Codeuino is an open-source organisation founded in 2016. The organisation aims to provide solutions to bridge the gap between open-source aspirants and open-source communities. From discussion portals to collaboration platforms, Codeuino is building products that could span the entire developer community and help everyone connect and contribute more efficiently.

Timeline

1 Year : Nov 2019 - Dec 2020

The Challenge

In this digital world with numerous social media platforms, open-source communities are struggling to find the ideal platform to collaborate with developers and build their community.

Open source communities use messaging platforms to collaborate, but between those 1 million channels and groups, the sense of a community is lost.

Research

We came across platforms that served the same purpose during our research, but some were not free and some not open-sourced (HumHub, Anahita). This was an excellent opportunity for us to build what communities needed, Facebook for open source communities and developers.

We spoke to 20 community admins to understand how they communicate with developers in the community and how everything runs.

From the conversations, we noticed that many communities which are strong knit use one specific forum, JIRA, Github and IRC chat.

Many mentioned that it was difficult to keep track of all the platforms they use and how they often missed many threads and important announcements due to numerous texts in the community.

The Goal

The goal was to create an Open Source Social networking hub to bridge the gap between Developers, Organisations and Open Source aspirants. Our focus was to highlight Projects, Events, Discussions to bring a sense of community.

My Role in the Community

I had joined the community in late October of 2019 and soon became an active member. When I joined, the community was young, and I was the only designer. This enabled me to inculcate a design process that aligned with everyone's availability as a few of us had full-time jobs.

During my time here in the community (around 1.5 years), I produced design systems, revamped the entire designs of the three main products, built a team of 5 designers and laid out design guidelines for everyone to follow.

image

Design Process

Open source communities have some developers who actively contribute, but most of the contributions are from developers who participate in open-source programs like GSoC (Google Summer of Code), GCI (Google Code-in), etc. We happen participate in such programs very actively.

Since these programs happen at a particular time of the year, we plan so that we have the final designs ready to be developed before the program starts.

image

User Interviews

We received many insights from the community admins, but we also wanted to hear what developers are looking for in a community. We interviewed 15 admins and developers, and these are some of the comments that we noticed very often.

  • "I often miss important announcements and important mentions in our IRC Chat."
  • "Most of the developers in the community contribute only during GSoC, GCI and are inactive after that."
  • "People don't engage in group chats and often the same experienced developer."
  • "Only the people working on a certain project know about the project and timelines. Others have no clue."

These were great insights, and each of them gave us a direction to build the product.

User Personas

Based on a total of 10 interviews and insights from our developers, I drafted 2 primary personas.

  • Community Admin
  • Developer

image

Existing Product

A very simple version of the project was already implemented and some of the existing features aligned with our goals and plans. We picked these relevant parts and left out the others.

  1. We had only one kind of post called "Donut", which is similar to a regular post.
  2. Like, Comment and Share features.
  3. Notifications

Brainstorming Sessions

We used to catch up once a week for 2 hours to brainstorm about ideas. During the first our, we muted ourselves and used to do our own research online and post ideas on our stickies.

After the first hour, we unmute ourselves and then discuss each idea and put them in a separate bucket. This is how our artboard used to look like!

image

The Goal

Now that we had done our research, we had just enough information to move to the next step. Firstly, we redefined our goal based on the insights we gathered.

"How can we improve the community experience of a developer?"

The main objectives of the project were:

  • Pick important parts of the existing product and introduce new things to complete it.
  • Understand the needs and plan the features accordingly
  • Design for a developer.
  • Focus on building and providing the sense of community through the platform.

The Features

After multiple brainstorming sessions and validating the ideas, we decided on the main features that we wanted to launch for the first launch.

  1. Introducing Projects → Projects by the organization or any personal project any member wants to share.
  2. Introducing Events → Community Events to keep track of events in the community.
  3. Organization Page → A dedicated page for organization updates, projects, events managed by admins.
  4. Adding Jitsi Meet → Video Calling within the platform so that you don't have to switch tabs.
  5. Github Activity Tracker → To track pull requests, merges and everything from the platform itself.
  6. Integrations → Integrations with 3rd party apps to get the most of the community.

Final Designs

Dashboard

It's everything we provide in a glance. The page consists of posts, events, projects, notifications and organization stats. A user can post in the community from here.

image

Events Page

A collection of all the upcoming and past events never miss any important ones anymore.

image

Projects Page

A directory of all the projects the community is working on and projects by the members.

image

Intergrations Page

A page to enable integrations within the community which any user can install locally on their donut.

image

Profile Page

Profile page to keep track of your posts, projects, contributions and to grow in the community.

image

Status

  • We have successfully participated in GSoC 2019 and 2020, GCI 2019 and 2020 and Linux Foundation 2020 with Donut.
  • Donut is in development stage and is near to deployment.
  • We have targeted 15 open source communities to use this.
  • The product will be released in early November this year.

Design Learnings

  • Open Source communities work in an entirely different way. The timings are absurd, but the flexibility and the experience are fantastic. I had an excellent opportunity to learn and see my designs go live.
  • Working closely with developers helped me understand the feasibility of each feature and understand their mindset of approaching things.
  • Five different developers work on the same project and keeping all of them aligned and on the same page is a task. I learnt how to involve everyone from the start.
  • Some developers join in between the project and have barely any idea of what's going on. A well-explained document is super important when it comes to projects in OS.