How Ionic Became a Top 50 Github Project (And You Can Too)
The Ionic Framework, created by Max Lynch and Ben Sperry, is a premier tool for cross-platform mobile development built on top of the AngularJS framework. It has become a de facto standard with 5M developers downloading the tool to build 3.1M Ionic apps for organizations as diverse as NASA, Target, The Smithsonian, Caterpillar, and the Rio Olympics. Users are insanely enthusiastic, organizing over 100+ Meetup groups around the globe. Ionic is currently #45 on the GitHub leaderboard (~27,600 stars), with 30,000 questions on Stack Overflow, and a Slack room that never sleeps.
We’re proud investors in the company and think it has an amazing future as a business, but I wanted to ask co-founder/CEO Max Lynch about how the Madison, Wisconsin-based organization had become the first choice for developers from Auckland, New Zealand to Arizona.
My hope is that other startups will be able to take away a few lessons about how to make inroads with developers and cultivate a community around open source offerings.
Give Your Users Superpowers
When developing Ionic Max and Ben decided to build on top of the wildly popular AngularJS framework. Their view was that if they could take a large, pre-existing community of developers and give them a super power, namely the ability to add cross-platform mobile development to their CVs, they would find a ready market. This instinct was correct, as proven by the massive product traction.
Build a Tight Product with a Loose License
There was no shortage of competitors when Ionic got going. jQuery Mobile leveraged a popular, open web framework, but it wasn’t well-crafted to address the challenges of cross-platform development. Sencha was built-for-purpose, but it was a mix of GPL license and closed-source code which restricted some companies from using it for either legal or ideological reasons.
“We think the combination of the best technical solution and the most open license wins,” says Lynch who cites Docker, Discourse Forum, and React as other examples of tools that struck the right balance between open and awesome.
Are You Building a Ferrari or a Ford?
Are you building a Ferrari or a Ford Focus? Both are great products, but require very different designs and commercial strategies. One underappreciated insight into building a community around a software product is targeting non-elite developers. The most hardcore hackers flit from framework to framework in search of the latest, greatest, and most powerful tools, but there is an even larger market for those who value simplicity and dependability.
For example, Lynch is a big fan of Wordpress which is dismissed as so much spaghetti code by cutting-edge developers, but powers ~25% of the Web and is widely loved due to its stability and supportive ecosystem. The most exciting things and most useful, lucrative things are not always the same.
Find Your Community
Ionic is based in Madison, Wisconsin which obviously isn’t home to as many developers as San Francisco. This means evangelism has to be done online, which is fine by Lynch as he notes that “The best engineers at Google spend more time in front of their computers than at Meetups.”
Lynch’s advice is simple, if you’ve built a product that is meaningfully useful, start by setting up a landing page and announce it on Hacker News, Product Hunt, or an appropriate sub-Reddit. Don’t worry too much about having everything perfect, the first version of Ionic was the result of a month-long sprint.
Consistency > Conferences
It’s tempting to pin your marketing hopes on a well-choreographed launch, but Lynch counsels that consistency is more important than making a big splash at a conference. He advises startups to capture emails whenever possible and keep subscribers engaged every week or two with news, resources, and featured projects that will keep their skills relevant. “There’s this myth that developers hate email, but not for something that they like and makes them better at their job,” he says.
Remember to Engage Up and Down
It’s important to market up and down. After launching the landing page for Ionic, Max emailed the AngularJS team who shared the project with their followers via Twitter. Angular’s much larger audience drove signups and served as a form of social proof to developers. Once Ionic had started to garner some buzz, they returned the favor and made a point to showcase smaller projects built using their technology.
It’s helpful to have a few big organizations AND hundreds and thousands of individuals helping evangelize your product.
PowerPoint, the Secret Weapon
Most developers are keen to share their learnings about a new language or tool at a Meetup, but are less likely to feel comfortable crafting a deck that supports their talk. Design can be intimidating so Lynch and Sperry created a slide deck template that tells the Ionic story, but can be customized easily by the presenter while maintaining a slick, professional look. Here it is:
Building Hybrid Apps with AngularJS and Ionic
Ionic Framework Presentation: The beautiful, open source framework for developing hybrid mobile apps with HTML5.
Meetups can be a powerful tool, especially if they’re run by enthusiastic supporters. Here are three bits of advice from Ionic’s thousands of get-togethers:
- Help promote Meetups using your social channels — a mention in an email newsletter or a few tweets can do wonders to help get local communities off the ground.
- Kickstart the community by sending the founders of local Meetups a starter kit that includes a few T-shirts, laptop stickers, and any low cost tchotchkes that can help advertise your platform.
- In some cases, if you’re lucky enough to have local volunteer organizers capable of galvanizing large crowds, offer to sponsor a meetup with pizza and beer.
Staff the Role
Having a self-organizing group of enthusiasts is the best case scenario, but companies should prepare to have a full-time employee whose job it is to interact with users. “If someone emails you about an extension they made and they don’t hear back, they may think you’re being rude,” says Lynch, so he ensures there is a person whose main job is facilitating these volunteers. Communities come with a cost, but it’s far less than its value.
Branding Matters, a Bit
From Tux the Penguin to Hadoop’s eponymous elephant open source products typically have a mascot to give form to an abstract framework. Ionic has one as well, Ionitron the helper robot, but fans have also humanized the company’s logo to make Meetups feel local.
A clever, cute logo isn’t a prerequisite, but when creating the design language for your product, think about how the community might engage with it. Reddit, Github, and Ionic have figured out how to get people excited about their mascots/icons and Lynch says “I have hunch that companies that can do a mascot well increase their users endearment.”
Ionic has done an extraordinary job since its founding in 2013 in terms of usability, but Lynch does suggest that entrepreneurs think about a business model from the early days. It can be hard to bolt a business model onto a successful project after the fact. The most successful projects have clear paths to monetization from the start, e.g. Github can create private directories for companies, WordPress can charge users for hosting, etc.
Ionic still has work ahead in turning amazing product traction into an equally impressive business, but there is no denying that Max and Ben have already built something of tremendous value and worthy of emulation.