Home Ethereum “My app” would like to send you push notifications | by Ethereum-Push-Notification-Service (EPNS) | Ethereum Push Notification Service (EPNS) | August 2022

“My app” would like to send you push notifications | by Ethereum-Push-Notification-Service (EPNS) | Ethereum Push Notification Service (EPNS) | August 2022

“My app” would like to send you push notifications |  by Ethereum-Push-Notification-Service (EPNS) |  Ethereum Push Notification Service (EPNS) |  August 2022

An Introduction to Push Notification: Part 1

It’s hard to imagine modern mobile devices without push notifications. The first push service was launched by Apple in June 2009, the Apple Push Notification Service (APNs). After that, Google followed with its own service, Google Cloud to Device Messaging (C2DM). Both companies have led efforts to improve push notification technology to where it stands today.

Push notifications are a type of message that can be presented in an alert-based format, such as message alerts, pop-ups, and banners. They serve as a mechanism that notifies users of all kinds of information. Today, push notifications have dynamic characteristics with application components directly integrated into the notification delivery scheme.

Before the implementation of push notifications, different methods were used to send messages to applications, such as maintaining a permanent open TCP/IP connection to a web server to receive real-time notifications (this is not efficient and not practical for modern devices) and polling, which requires a real-time query to trigger a notification (polling follows the request/response pattern).

Messages enable the transferability of information over the Internet and are an integral part of communication between networks. In traditional client-server models, there are two types of messages: requests and responses. Push notifications are a type of server-side response message, known as server push. The server push requires a network request and is often event-driven, as in, if event “n” occurs, triggers a response that sends message “m” to the client.

The majority of apps provide responses to the user based on the actions they perform on the app. For example, if a user tries to log in to a social network account but enters the wrong credentials, the server may display a message ser, wrong password, account locked forever.An example of a notification that shows asynchronous messaging is a user who has a sports app on their device and receives real-time game updates on professional sports games being played simultaneously.

An example with Discord

Take the case of using Discord to keep track of all your favorite crypto projects. Assuming you have enabled notifications (1,2) if someone from the Discord EPNS sends a message to a channel (3), the Discord server informs the push server that the new message is available (4). The server uses a unique identifier associated with your device to send the new message as a notification (5). The push mechanism is not used when the Discord app is open on your device, as messages are sent directly from the Discord server to your account. The way your device receives the real-time notification is by maintaining a single connection (like a WLAN connection) each time you close Discord. This method is used as opposed to each app on your device having its own connection. Note: This is a simplified version of how notifications [can] work on Discord.

To receive pushes from the server, a client must first subscribe to the information channels provided by the server. This requires client-side authorization. When subscribed to push notifications, a publisher can submit information. This is called the publish/subscribe model. Typically, the publish/subscribe mechanism includes peers who gather around a topic of interest to them that lives on a central server, and these peers are said to be subscribers to that topic. Whenever new content is available on one of the information channels, the server transmits this information to the client. Typically, push notifications are delivered to a client application that a user uses from an application server. Server sends work because of a permanently open connection between a device or client interface and the sending service. A server provided by the developer of the operating system acts as middleware between the service and the client device by organizing communication with the device. The device registers with the push server with a unique ID to send the right messages to the right device. Thus, push technology can be considered as a type of communication protocol with a centralized service provider.

Push notification providers allow apps to send notifications to their users. This is where APNs and C2DM would fall. As an application publisher, the application can easily send messages, and these messages take different forms. A push notification provider gives you a platform where you can create, schedule, and send messages to users and allow apps to compose, target, and run message campaigns. Today, push notifications are no longer just a means of providing information, but have become a communication standard.

Beyond the examples we’ve given, push notifications have a ton of use cases and can definitely improve app experience, engagement, and overall communication. The evidence is that users can get real-time information about [almost] anything. In general, apps can establish direct communication channels that operate in an asynchronous format, engage users with curated content, and drive app traffic, while ensuring users are up-to-date and informed of future events/changes .

Apart from messaging notifications, push notifications are often unfavorable based on their use for marketing and advertising. The frequency of notifications is also difficult to determine. Additionally, knowledge resources and assets are fully controlled by service providers who have the ability to generate narratives; they are the source of truth for the messages that are pushed.

How to take push technology to the next level? By withdrawing the service to the service provider; from client/server to peers. Peers can facilitate messages as they wish. There is more data integrity in resources that are pushed to peers because the peers are able to control the data.

Many networks are already building the next generation of the Internet, aka web3. However, the user experience in Web3 is still poor and lacks the characteristics of seamless interactions and communication found in the current web model. Along with many components yet to come, one essential element is missing: notifications. Users using Web3 applications are forced to manually keep up to date with everything they interact with, manually perform activities on their account, and operate in isolation. The introduction of web3 push notifications not only solves some of the current push notification pitfalls, but fundamentally improves the web3 user experience to a level capable of driving mass adoption.

In future articles, we’ll explore how push notifications fit into web3 and dive into the key concepts mentioned earlier.

By Danny Salman


Please enter your comment!
Please enter your name here