How to Build a Utilities App Like Bitmoji?
Interested in how to build a utilities app?
That’s an excellent market with many opportunities to be explored.
According to Grand View Research, “The global digital utility market size is expected to reach USD 299.1 billion by 2025%”.
Innovating in this industry represents a chance to make serious money and a positive impact on people’s quality of life. Here’re a few amazing case studies of companies who hired DevTeam.Space to build their software products:
- DentaMatch – Healthcare Android and iOS App
- Swift Gift– eCommerce Android and iOS App
- SideKick Education – Education Web Application
What is Bitmoji?
Bitmoji is a mobile app that lets users create their personal emojis. A few quick facts about Bitmoji are as follows:
- Jacob Blackstock, David Kennedy, Shahan Panth, Dorian Baldwin, and Jesse Brown had founded a media and technology company called Bitstrips in Toronto, Canada, in 2007.
- The company had allowed users to create comic strips using personalized avatars.
- They launched Bitmoji in 2014. Users could create personalized stickers using Bitmoji.
- Snapchat acquired Bitstrips in 2016. Since then, Bitmoji has seen a significant integration with Snapchat.
Read more about the history of Bitmoji in this Wikipedia entry.
Key features of Bitmoji
Let’s review the key features of Bitmoji, as follows:
- The Bitmoji app is available for iPhone, iPad, and Android. There is also a Bitmoji Chrome extension.
- One can install Bitmoji, and then use it with their chat and keyboard apps.
- Users can create their personalized emoji avatars to others using any of the above platforms.
- It’s a free app.
- Users can access plenty of customization options. They can change the color of their hair, eye color, clothes, etc. The app also features expressions for emotions like happiness, optimism, dread, etc.
- Bitmoji offers in-app purchases.
Read more about its’ features in “Bitmoji app: 5 things users need to know”.
The market for Bitmoji and utility apps
Bitmoji is highly popular, as one can see from the following statistics:
- Back in November 2016, Bitmoji was the most popular app in the Apple app store in 75 countries.
- As of Q1 2017, over 50 million Android users had installed Bitmoji. Read more about this in “Interesting Bitmoji statistics and facts (2019) | By the numbers”.
- The popularity is intact in 2019. It’s the 23rd most popular app among all categories in the Apple App Store, as of March 2019.
- It’s the most popular utilities app in the Apple App Store during the same period. Read more about this analysis in this SimilarWeb report.
- Bitmoji falls in the utilities/productivity category of the app. The utility app category is the 6th most popular one as of June 2018. Read this Statista report for more details.
Developing a utilities app like Bitmoji
A project to develop a utilities app like Bitmoji involves the following steps:
1. Decide on the project scope
I recommend you include the following in the project scope:
- Android app development;
- iOS app development;
- Chrome extension development.
2. Use the Agile methodology
Your main offering is a mobile app. Mobile apps are “Systems of Engagement” (SoEs). They require iterative development. You will likely launch a “Minimum Viable Product” (MVP) first, and then obtain market feedback.
Your further iterations depend on the feedback you receive. I recommend you use Agile methodology for such projects. Read more in “Waterfall vs Agile: which methodology is right for your project”.
3. Form a development team
Your development team for this project should have the following roles:
- Business analysts (BAs);
- UI/UX designers;
- Android developers;
- iOS developers;
- A Project manager (PM).
Consider using the tried-and-tested “Scrum” technique to manage this Agile project. In this technique, the PM is the “Scrum master”, and the PM forms small cross-functional teams called “Scrum teams”. Designers, developers, and testers work together in such teams. Read more about Scrum in “How to build a Scrum development team?”.
4. Prepare for later geographical expansion
You might launch your app targeting one geographic region only, to start with. However, you will likely launch a utilities app like Bitmoji in multiple geographies later. You should design and develop keeping this later expansion in mind.
You should use “mobile app internationalization” techniques. These are the processes/methods/guidelines that make the future launch in more geographies easier. Read “7 tips for mobile app localization” for guidance.
5. Sign-up with an MBaaS provider
You have noticed that I have not included any mobile backend developer or cloud platform architect in the team. I recommend you use a “Mobile Backend as a Service” (MBaaS) provider, and that’s the reason. Sign-up for an account with SashiDo, a popular MBaaS provider.
Using an MBaaS account helps you in expediting your project since you get the following advantages:
- Mobile backend development from scratch takes a significant amount of time. It also requires planning and provisioning of infrastructure. MBaaS providers save that effort for you.
- You will target various platforms and a wide range of devices. MBaaS providers handle that complexity for you.
- An MBaaS provider will address the persistent storage for you.
- MBaaS providers help with user management.
- You can easily implement push notifications when you use an MBaaS.
- MBaaS providers have impressive security capabilities, and this helps.
- You can integrate 3rd party APIs easily when you use an MBaaS.
- Automated scaling solutions of MBaaS providers are helpful for developers.
Read our guide “How to choose the best Mobile Backend as a Service (MBaaS)?” to understand these advantages better.
6. Get the license for an emoji library
You will let users create their personalized emojis, therefore, you need to access a comprehensive emoji library first. Sign-up with EmojiOne. This offers the following advantages:
- EmojiOne is a comprehensive emoji library, and it has 2,827 emojis.
- All emojis are 100% Unicode compliant.
- There is a premium plan where you will get all SVG files for vectors and large PNG files.
- EmojiOne also has an enterprise plan.
View their pricing plans here.
7. Get “Makemoji” SDKs
Use “Makemoji” software development kits (SDKs) to further expedite your Bitmoji-like app development. This has the following advantages for you:
- There are SDKs for both Android and iOS.
- You can create conversation-level emojis with it.
- The user engagement increases for your app with this well-constructed SDK.
- It’s easy to add custom emojis.
- You can implement various monetization approach.
- The SDK is free.
- Emojis and messages use HTML image and paragraph tags.
- Gif support is available.
- The SDK is hosted with AWS, and it scales well.
There is extensive documentation available.
Hire expert developers for your next project
1,200 top developers
us over the last 3 years
8. Sign-up for an eCommerce API
I recommend you use an eCommerce API to handle the in-app purchases functionality. This will save time since you don’t need to code this functionality from scratch. BigCommerce offers a robust set of eCommerce APIs, and I recommend you use these. These APIs offer the following advantages:
- A developer will find it easy to use these RESTful APIs.
- All APIs are documented using Swagger.
- The APIs integrate well with other software you might use to run your business, e.g., CRM software.
- BigCommerce APIs offer key eCommerce specific native features like faceted search, etc.
- The suite includes catalog API, login API, cart API, etc.
- There is a wide range of learning resources like archived webinars. A programmer using these APIs benefits from these.
Check their pricing plans here.
9. Design the right mobile navigation menu for your app
The mobile navigation menu is important for UI. Carefully analyze your requirements, and choose from the range of mobile navigation menu examples, as follows:
- Hamburger menu;
- Tab bar;
- “Priority +” menu;
- “Floating Action Button” (FAB);
- Full-screen navigation;
- Gesture-based navigation.
Read more about these patterns in “Mobile navigation menu examples”.
10. Choose an appropriate mobile app color scheme
Your mobile app UI should use a suitable color scheme. Choose one from trending color schemes, which are as follows:
- Minimal color usage with focused palettes;
- High-contrast colors;
- Subtle colored shadows;
- Bright colored iconography;
- Pastel, muted colors;
- Confine the choice of colors to white, black, and grey;
- High-contrast, complimentary gradients;
- Colorful illustrations.
You can learn more about these in “8 trends in mobile app color scheme”.
11. Design suitable icons for the mobile app
A great mobile app UI needs appropriate icons. Design icons using the following best practices:
- Use restraint in your design. Keep the design simple and consistent with the overall UI design.
- Make use of recognizable icons.
- Keep in mind that icons should be memorable.
- Check out the Bitmoji app, and use ideas from there. However, differentiate your icons sufficiently.
- Use appropriate tools.
- Design icons that work well irrespective of size and background.
- Your icon design for Android and iOS apps should meet the respective platform guidelines.
- Use established icon/functionality associations.
- Mobile app icons can’t take a lot of space, therefore, limit the number of symbols in your design.
Check out our guide “How to design the perfect icon for your mobile app?” for more details.
12. Use Android Studio and Kotlin to develop the Android app
Android Studio is the popular Android “Integrated Development Environment” (IDE). I recommend you use it, along with the modern programming language Kotlin. Kotlin offers multiple advantages, as follows:
- The concise syntax of Kotlin lets developers implement the required functionalities with less code.
- Developers can avoid common errors like null pointer exceptions with Kotlin.
- Android app development using Kotlin is easy since there is excellent documentation available. Check out “Get started with Kotlin on Android”.
- Kotlin supports functional programming, therefore, developers experience higher productivity.
- The language is fully compatible with Java. Developers can use all Java libraries and frameworks.
- The Kotlin library is small, therefore, there’s no runtime overhead. You can code performant apps.
- Kotlin is an open-source language, and there is a vibrant developer community-enhancing it further.
Read about these advantages in “Kotlin vs Java: which is the best choice?”. You need to integrate EmojiOne, Makemoji Android SDK, and BigCommerce APIs.
13. Use Xcode and Swift to code the iOS app
You should code the iOS app using Xcode, which is the popular IDE for iOS development. I also recommend you use Swift, the modern, popular programming language that Apple promotes. There are many advantages of using Swift, for e.g.:
- Swift has operators for string control, class division, etc. This reduces the coding effort.
- It’s a lightweight language, therefore, developers can create performant apps.
- Swift has features like Generics and “type interference”. These help in reducing coding errors.
- The language reads just like English, therefore, the code is easy to understand. This helps in the maintenance of the app.
- Swift is backed by technology giants Apple and IBM, pointing to its’ bright future.
You can read more in “How to migrate your Objective-C project to Swift?”. Remember to integrate EmojiOne, Makemoji iOS SDK, and BigCommerce APIs.
14. Publish your app to app stores
Now that you have coded and tested your mobile apps, you need to publish them in the app stores. Follow appropriate guidelines:
This completes the mobile app part of the project.
15. Create the Chrome extension
- Create a “manifest.json” file. It’s a metadata file containing properties like the name of the extension, its’ description, etc.
- Use this manifest.json file to specify what the extension does, what permissions it needs, etc.
- You need to integrate EmojiOne and Makemoji here.
- Code the browser actions within this manifest file.
- Use CSS to impart the styles you want.
- Test it.
Read “How to create and publish a Chrome extension in 20 minutes” for more details.
16. Publish the extension in the “Chrome Web Store”
You need to publish the newly-created extension in the “Chrome Web Store”. This involves the following steps:
- Create a zip file for the extension.
- Get a developer account.
- Upload your extension.
- Select a payment option.
- Complete your extension with the app constraints.
- Obtain an app ID for the extension.
- Get an OAuth token for the extension.
- Finish the extension, incorporating the app ID and OAuth token.
- Provide the required contents for the Chrome store.
- You need to pay the developer sign-up fees.
- Now, you can publish your Chrome extension.
Read “Publish in the Chrome web store” for more details.
17. Use Trello for project management
Your scrum team works as follows:
- The team estimates and prioritizes the requirements in “Sprint planning meetings”, where they plan the “Sprints”, i.e., iterations.
- There is a “Daily stand-up meeting” to discuss the project status.
- Project stakeholders approve the sprint in a “Sprint review meeting” if the features work.
You need to use an effective PM tool to manage these activities. I recommend Trello.
Planning to launch a great Bitmoji-like app?
There is a great market for a utilities app like Bitmoji, however, it’s a very competitive market. You might need the help of a software development company to create a great app. Read our guide “How to find the best software development company?” before you choose a development partner.