DEV Community

Cover image for Designing System Notifications feature on Native Mobile App
Varun Palaniappan
Varun Palaniappan

Posted on

Designing System Notifications feature on Native Mobile App

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 Snowpal and Mobile App Features
02:54 Exploring System Notifications
09:38 Designing Scalable Features
15:26 Managed Services and Conclusion

Podcast

Check out on Spotify.

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:
    1. User-initiated notifications: Triggered by actions like sharing a project or resource.
    2. 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

https://products.snowpal.com/api/v1/file/453f5074-0715-4830-a6a6-37640fa60767.pdf

Top comments (0)