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.
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
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.
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.
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.
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.
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.
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 News, CodeProject, Dzone, Product 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.