Designing System Notifications on Native Mobile App
Snowpal Podcast: Designing features should balance between being generic and avoiding over-engineering. Experience and skill sets of the team significantly impact project outcomes.
In this episode, Krish Palaniappan discusses the implementation of a specific feature in their mobile app, focusing on system notifications. He explains the different types of notifications, the design considerations for scalability, and the importance of creating a generic framework for future features. The conversation also touches on the managed services offered by Snowpal, emphasizing their commitment to helping clients achieve their software development goals.
Takeaways
The mobile app allows for 70-75% of web functionalities.
System notifications can be categorized into user and system notifications.
Designing features should balance between being generic and avoiding over-engineering.
Scalability applies to processes, teams, and methodologies, not just systems.
Using a JSON structure for notifications allows for easy updates without code changes.
Notifications must be intelligently managed to avoid redundancy for users.
Experience and skill sets of the team significantly impact project outcomes.
Managed services are offered to help clients with their software needs.
Effective communication of new features is crucial for user engagement.
The importance of a professional appearance in product development.
Chapters
00:00 Introduction to Snowpals and Mobile App Features
02:54 Exploring System Notifications
09:38 Designing Scalable Features
15:26 Managed Services and Conclusion
Podcast
(For video version, go to Spotify or Apple)
Summary
Snowpal App Overview
Krish encourages listeners to download the Snowpal app from the App Store or Play Store, explaining that while there is a responsive web version, the native mobile app supports around 70-75% of the web app’s features. He highlights the mobile app’s focus on managing projects, education, and other functionalities.
Notifications Feature
The episode focuses on the notifications feature within the Snowpal app, which allows users to stay informed about key activities, whether managing projects at work, school, or home.
Notifications play a crucial role in keeping users updated and engaged.
System Notifications Subcategories
Notifications are classified into two main categories:
User-initiated notifications: Triggered by actions like sharing a project or resource.
System-generated notifications: Automated notifications related to upcoming deadlines, system updates, and new feature releases.
Course and Feature Notifications
Notifications are also used to promote educational courses and new features within the app.
Krish shows examples where users receive notifications about newly published courses, feature enhancements, and previews, helping them understand how to use and benefit from the app’s capabilities.
Podcast and Event Notifications
Another use case for notifications is the promotion of Snowpal podcasts, which cover technical and business-related topics. Notifications for podcasts include guest collaborations and solo episodes.
The notification system is used to inform users of new podcast episodes, offering media previews and content descriptions.
Designing the Notification Feature
Krish explains the importance of designing features to be generic and scalable without over-engineering. For the notification feature, this means using reusable templates, such as carousels for displaying multiple pages, to support various notification types like courses, podcasts, and features.
The design decisions were made with flexibility and future growth in mind.
Implementation Details and Scalability
The notification system relies on a JSON file stored in S3, which is updated by content creators when new notifications are needed. This ensures no manual code changes are required for each new notification.
The system uses cron jobs to detect new notifications and sends them to users intelligently, ensuring that existing users aren’t spammed with repeated notifications while new users still receive relevant ones.
Importance of Thoughtful Design and Efficiency
Krish emphasizes the value of thoughtful design and proper planning, which ensures long-term scalability and reduces the need for frequent updates or bug fixes.
He discusses the balance between delivering high-quality features and managing limited resources like time and budget.
Managed Services at Snowpal
In addition to developing their own products, Snowpal offers managed services to help clients build APIs, web apps, and mobile apps.
Krish encourages potential clients to reach out if they are looking for experienced developers to assist with their projects.
Transcript
Podcast on Other Platforms
Snowpal Products
Backends as Services on AWS Marketplace
Mobile Apps on App Store and Play Store
Education Platform for Learners and Creators