How Do You Become One of the Best Organizations on GitHub? Learn From Our Experience

How Do You Become One of the Best Organizations on GitHub? Learn From Our Experience

This piece by Yalantis writer Emilia Hansen originally appeared on Sitepoint.

It all started with a ‘Hackweek.’ Hackweek is a creative week that all our team members get after they finish working on a project. During this week our developers spend time building projects that typically end up on GitHub.

When we introduced Hackweeks about a year ago, we couldn’t even imagine what results this would bring. It turns out that giving away creative solutions for free can grow into a powerful marketing strategy. At least, this is how it worked out for our company.

We published our first Hackweek project on GitHub in January 2015 – a library called Side Menu Animation for Android. As of today, it has earned 2,649 stars.

UI mobile animation development

[Our Side Menu animation for Android]

After publishing the Side Menu Animation, we built more iOS and Android libraries for GitHub. 12 months and 36 repositories later, Yalantis landed on GitHub’s list of top organizations among Facebook, Google, Microsoft, Apple, and other top tech companies. Last month, Sitepoint included us in an article on the 7 best resources for web and mobile app animations.

It took us only one year to hit GitHub’s list of top organizations. It feels like the time has come to give back to the community that helped us get where we are today. So…

How can you get popular on GitHub?

1. Make a Remarkable Project

There are at least three ways you can make your source code remarkable: 1) build a tool that solves a problem or improves an existing solution, 2) break a traditional concept and create your own, or 3) spot trends.

1. Build a tool that solves a problem or improves an existing solution.

There are more than 30 million repositories on GitHub. But that doesn’t mean that all problems are solved. Far from it, actually. Even if there’s no obvious problem, there are a lot of existing solutions that could be built better. This is especially true when it comes to Android app development.

The projects Koloda and uCrop are two of our most popular animations on GitHub. These libraries offer alternatives to existing solutions – albeit great improved alternatives.

Koloda is our version of Tinder’s card-swipe functionality. A lot of developers have already implemented similar solutions, but we weren’t satisfied with any other them. We decided to make swipe-left-to-like-and-right-to-pass much simpler. Our take includes:

  • API designed in a native way
  • A reverse previous card feature
  • A fully customisable library

app motion design

[Koloda Tinder-like animation. Read the tutorial here]

uCrop is a cropping library for Android. There are already plenty of libraries for image cropping on Android, but none of them satisfied our requirements. We decided to make our own version of an image cropper with the following features:

  • Support for any crop ratio.
  • Gesture-based scaling, translation, and rotation of images.
  • A solution to prevent empty space inside crop bounds.
  • A ready-to-use crop Activity, and the possibility to use the underlying Crop view on its own.

uCrop has received huge support from the tech community on GitHub and even on Product Hunt. We just learned that it’s made its way into the new version of the Thirsty app, a social app that keeps people motivated to achieve new things.

UI design in app development

[uCrop image cropping library. Read the tutorial here]

2. Break a traditional concept and create your own.

The majority of apps you have on your mobile phone have similar interface elements. Think of a sidebar menu. When you tap on the menu icon, the menu appears, pushing all content to the side. Sure, it’s practical and familiar. The menu does what it is supposed to do. But it’s just a bit too predictable. In other words… boring!

That’s why we came up with the Guillotine Menu (check out the component for iOS and Android). This component offers a much more creative way of displaying a menu. It falls down from the top in an entertaining manner when you tap on an icon.

Your idea doesn’t necessarily have to solve a problem. If you get creative and reinvent a concept, you can always draw people’s attention.

how we became top app developers on Github

[The Guillotine Menu animation. Read the tutorial for iOS and for Android]

3. Spot trends.

New trends are always arising all over the world. Trends can refer to a new design style like Material Design, new technology like virtual reality, or they can be a new programming language like Swift. Take advantage of a trend people are talking about and you’ll quickly get discovered. You just need to keep your eyes open.

You don’t literally have to keep your eyes glued to the screen to keep your finger on the pulse. Check out what your friends are talking about or go watch a movie. You can always use current events as the inspiration for your next GitHub project!

We learned this when we made a Star Wars inspired animation close to the premiere of the movie “Star Wars: The Force Awakens.” Using the hype surrounding the premiere, we quickly gained a lot of popularity for both our Android and iOS animations.

Just remember that timing is important if you’re banking on trends. We published the iOS version of the Star Wars animation on the day the second official trailer for Star Wars was released. At that point, the hype was escalating, and our project quickly gained a lot of stars.

The Android version was published on the actual day the Star Wars premiered in several countries. But at that time everybody already grew tired from hearing about the world premiere here and there. The project simply wasn’t that interesting anymore. As a result, our Android version of Star Wars is less popular than the iOS version.

how we became trending on Github

[The Star Wars animation. Read the tutorial for iOS and for Android]

2. Come Up With a Remarkable Name.

The name of your project can have a big influence on its popularity. The funnier the name, the more likely it will gain interest.

Our project EatFit, for example, was inspired by Google Fit. Since it is designed similarly to Google Fit, we came up with a name that brings an association.

iOS and Android animations

EatFit animation. Read the tutorial here

Guillotine Menu also got its name from the way it functions. Plus, it was just funny to compare our harmless little animation with the infamous killing machine.

With our Tinder-card-inspired animation Koloda, we actually used an intuitive approach, although it might not seem obvious to most people. Koloda in Ukrainian means “a deck of cards.” For most people who don’t know this, Koloda (hopefully) is just a cool name.

The naming of uCrop is actually a similar inside joke. For non-Ukrainians, uCrop seems like a very obvious name for a picture cropping tool (You Crop). But in Ukrainian uCrop means dill, which is sort of our national plant, and Ukrainians are often associated with it.

We weren’t always that cool about naming. In the very beginning, we would name our projects after star constellations like Phoenix and Persei. This might seem interesting, but nobody could remember those names. Even we had difficulties! These names just didn’t say anything about our projects. As a result, constellation libraries didn’t get many stars right away. But we caught up later, when new projects pulled people to our GitHub repos.

how to become popular on Github

The Phoenix animation

3. Construct Your Repo and README

This might seem obvious, but you should construct your repo briefly, clearly, and nicely.
You can follow this structure:

  • Write a headline where you briefly describe your component.
  • Add a short and clear description.
  • Create compelling graphics.
  • Describe how to use your library and include snippets of code.
  • Tell how other developers can customize your library.
  • Include your contact information.

Including beautiful animations or designs is important. Most people don’t star things on GitHub because they want to use them. They do it because they like what they see. And if you have some eye candy animation, they’re going to love it.

4. Spread the Word

This is probably the most important step – right after making a killer project – if you want to get noticed. You can spread the word in different ways, but below are our key takeaways:

1. Social media: we spread the word every time we publish a new GitHub project through regular social media networks such as Facebook, Twitter and Linkedin. But we also share our works in places where we can get in touch with most tech interested people, such as Stackoverflow, Quora, Reddit, and Google Plus.

2. Programming blogs and newsletters: if you want to target a broader tech audience you can reach out to programming blogs. That can be Hacker NewsCodeProjectDzoneProduct Hunt, and others. We also send out requests to news sites – such as Android Weekly – asking them to feature our new GitHub project in their newsletter. But make sure you know when these sites schedule news delivery.

Another reason why our Android version of the Star Wars animation didn’t get as much attention as we expected was that we published the animation on Monday – the day of the premiere – but the newsletter arrived the next Sunday (!). Obviously, nobody would be much interested in the Star Wars animations a whole week after the actual premiere.

3. Your own blog: if you have your own blog where you regularly write about technology, it’s an ideal way to get the news out. You can thoroughly describe how you developed or designed your project, wrapping it up into a story. People love stories.

5. Respond to Issues and Give Feedback

Answer comments and open issues as quickly as possible. The issues don’t necessarily have to be bugs. They can be simple questions, feedback, or a note about a new feature added to your library. In that case it’s a good idea to label the issues after what they concern. That will make it easier for you and others to navigate through the issues and detect actual bugs.

Lastly, you should update your component every time an OS is updated. A component that doesn’t support the latest OS version is just asking for open issues.

6. Keep Rocking

If you’re talented, then it should be no problem to get popular on GitHub. Our advice here is only a strategy to get discovered. There can be a lot of ways to gain popularity on GitHub. The success of our first project – the Side Menu – could have been attributed to the Material Design style that was new and trendy at the time. But it could also be attributed to our marketing department posting the repo everywhere.

Audio processing on Android

Technology behind Horizon, our open source library for sound visualization

Drawing a Cubic Bezier with OpenGL ES for Sound Visualization on Android
Written by Artem Kholodnyi

Drawing a Cubic Bezier with OpenGL ES for Sound Visualization on Android

Our experience drawing Bezier curves with Android Canvas for Horizon, our open source library for sound visualization

How to Process Audio for Your Android project
Written by Roman Kozlov

How to Process Audio for Your Android project

Sound manipulation techniques that we used for our Horizon open source library for sound visualization

Introducing Horizon, Our Own Open Source Library for Sound Visualization
Written by Roman Kozlov

Introducing Horizon, Our Own Open Source Library for Sound Visualization

Horizon is an Android library that visualizes sound quickly and beautifully

iOS animation designs

Rethinking menu, tab bar, pull-to-refresh, and other navigation elements in iPhone apps

How We Created Tab Bar Animation for iOS
Written by Kate Abrosimova, Igor Muzyka, and Vitaly Rubtsov

How We Created Tab Bar Animation for iOS

Today’s smartphones are becoming more like tablets, or there is even a better word – phablets. Big scre...

How We Created Guillotine Menu Animation for iOS
Written by Maksym Lazebnyi and Vitaly Rubtsov

How We Created Guillotine Menu Animation for iOS

Have you ever wondered why a sidebar in apps has to be a “side” bar? Why not to make it a “topbar,” or ...

How We Developed ColorMatchTabs Animation for iOS
Written by Sergey Butenko and Sergii Ganushchak

How We Developed ColorMatchTabs Animation for iOS

The article talks about a UI animation for a concept of a review app that we developed for iPhones

How We Built Pull To Make Soup Animation
Written by Anastasiya Gorban

How We Built Pull To Make Soup Animation

Pull-to-refresh is a great place for creativity! But we’re building cool pull-to-refresh animations not...

Creating ForceBlur Animation for iOS Messaging Apps
Written by Alexey Chernish, Kostya Trundayev, and Sergey Butenko

Creating ForceBlur Animation for iOS Messaging Apps

ForceBlur iOS animation is based on force touch feature that can be used for sensitive content

Android animation designs

Our latest open source libraries with tutorials for your Android app

How We Developed the Guillotine Menu Animation for Android
Written by Dmytro Denysenko

How We Developed the Guillotine Menu Animation for Android

Hopefully, you’ve read our story about how our designer Vitaly Rubtsov and iOS developer Maksym Lazebny...

Our FlipViewPager Animation on Android
Written by Roman Herasimenko

Our FlipViewPager Animation on Android

We are all familiar with user interactions and how they happen in mobile apps. A usual scenario looks lik...

Excited to create something outstanding?

We share the same interests.

Let's team up!