How We Created Famlicious, a Family Chat App for iOS and Android
Find out how we built a family chat app that connects users with their families, facilitates family communications, and provides a unique way of building family trees.
Work: We implemented family chats, family member profiles, and user timelines. What’s more, Famlicious automatically builds dynamic family trees. The app also provides the ability to share photos and videos and create secure child accounts.
Summary: Our company developed a mobile chat application that enables people to get closer to their familiy. The app is available in the App Store and Google Play and has new features and a promotion. The most remarkable function is the unique way of building family trees - find out more in the article!
The beginning of the project and idea
The product development started in January 2017. Jim Barkow, former CEO of Longboard Media, a full-service media management network, angel investor and startup consultant as well as Head of Strategic Partnership at eBay, came to us with the idea of family chat app development. He wanted to launch a mobile application that would help people keep in touch with their families in our hectic and digital times.
“I was traveling and working a lot and missing my family connections. One day, I realized that I infrequently communicate with my family and that I know my business colleagues better than my cousins. So the idea to create Famlicious was born.”
Family chat app development
Our firm implemented a mobile application from scratch. First and foremost, we clarified the product goals and created a technical specification. Many cool ideas came to us during the brainstorming stage: we defined the app tasks, decided to build an MVP (minimum viable product), and integrated dynamic family trees.
The project development comprised the following steps:
- Idea analysis and software requirements for document preparation
- Creation of wireframes
By the way, we at Yellow never skip this stage when starting a new project. Wireframes are a great tool for refining product concepts, experimenting, testing, and collecting user feedback at the earliest stage of software development.
- Product prototype and design creation
- Chat app development
- Testing and bug fixing
- Project launch in the App Store and Google Play
- Post-project support and implementation of new features
Five team members were directly involved in the development: iOS and Android developers, designer, project manager/business analyst, and a QA engineer. Their work was also overseen by the CTO, CCO, and Head of Design.
Tools & technologies used
- Back-end: Ruby on Rails
- iOS: Swift, Objective-C
- Android: Java, Kotlin
- Chat development: PubNub
- Graph Databases: Neo4j, PostgreSQL
Why did we decide to build an MVP
In the beginning, the customer’s idea was to create something like a social network for families. Jim thought about implementing large robust functionality that would include user chats, likes and dislikes, comments, emojis, and much more.
As there weren’t detailed requirements - a very frequent case in our practice - we helped him define the main app tasks and prepare a technical specification. As we always take care of our clients, we’re always looking for the best ways to build the product.
To reduce costs, we recommended him to start with an MVP which meant the integration of the key features only. MVP development offers many other benefits, too.
First and foremost, it allows companies to quickly receive a working solution and test it on the audience. You collect user feedback and get a clear understanding of how to improve the product. And afterward to add the features that your users want to see.
By using this way, the customer saves money and gets the ability to build the app according to the user needs and expectations. Find out how we created the StickerBox cross-messaging app that uses Artificial Intelligence (object detection algorithms) - a good MVP for testing the customer’s idea and reducing costs.
Project challenges and implementations
The most noteworthy app feature is family trees that are of a dynamic nature. It was a real challenge to implement them. Generally, trees are rising, failing, or branching to the sides and are not of a dynamic nature.
Therefore, a standard family tree can grow from top to down or from the bottom upwards and can’t automatically get each new user added to the required trees. As we needed them to be instantly created without user intervention, these ways of building trees didn’t suit our goals at all.
In addition, it’s instantly created from the added connections. How can you make family trees dynamic so that they automatically get updated once new family members are registered in the app? It was a top-priority issue that we had to solve.
First and foremost, our specialists considered all of the possible ways to integrate this feature. Many hours were spent at the whiteboard. As a result, we decided to make the tree rising up to all the sides so that the circle would be created. All of the new users are automatically added to the tree and all of the connections are displayed on the app screen.
However, a truly unique feature required an unusual solution: a graph database (DB)! DBs are used for building relationships between objects-parts of family trees. After several graph platforms were considered, we chose Neo4j.
This DB enabled us to integrate the automatic tracking of kin relations and joining certain people in one family tree. We also applied a PostgreSQL database for all of the other information: family names, photos, user profiles, descriptions, and so on.
In meeting our needs, these two technologies helped us successfully implement a unique way of creating family trees.
Another important challenge was chat development. To offer users the opportunity to communicate with each other, we applied a PubNub chat framework. As the tool provides powerful chat APIs, security, and scalability, it became a good solution for our project.
The current project stage
Now we’re working on the new feature, namely user onboarding. Once the user opens Famlicious, they will see a quick and clear instruction about using it. Then, the idea is to implement unique family smileys and other cool features. When the new version of this family chat app is released, Jim is going to launch a large marketing campaign. So, good luck to us all!
Get weekly updates on the newest design stories, case studies and tips right in your mailbox.
So, why is everyone talking about DevOps, and what it has to offer? Let’s figure it out now!
Seriously, what is so special about container orchestration tools? Let’s unpack Kubernetes and see what it has in store.
We're proud to be 8th from more than 100 app developers in Belarus! Hooray!:)