I've the following environment:
The user can subscribe to a service by leaving email. So in the app there are 3 status:
Also the app has new data once a day, normally between 20:00 and 21:00.
I would like to be responsive so the app status changes when the user validates his email. Also I would like to set a badge when the user is inside the app and there is new data available.
I'm thinking in two different approaches to achieve this: Interval http request (timeout every 1min or similar) to a rest service or opening a socket and pushing data from server.
My question: Which one would be the best approach? Is there a better approach?
Additional info:
I'm planning to use push notifications but the worst case is when a user disabled push and there is new data available to be sent.
I don't know if sockets is overkilling. Also I've read scalability issues relating to socket.io and in resume, node is able to manage 4x requests than socket.io does in a single core. Also I've understood that scaling sockets can be a headache. For the moment I'm not planning to reach 2.000 qps by far (I would be really happy in that case).
I've also been reading RESTful web services vs Socket Programming for a Data Intensive Application but this is a different approach as in my case the server is the one who must communicate to the client.