3
votes

We are implementing a mobile app which let users share to-do lists. The idea is to have as little server administration as possible and obviously keep cost down.

For user management and push notifications we will use Parse.com with Cloud Code and PubNub for real time data delivery.

Every user will log in with it facebook' s credentials and subscribe to a read only private channel that only him can read. Every time he create a new to-do list to share with his facebook's friends, the app will make an API call to CloudCode, with it's identity, the data to share and a list of friends. In CloudCode the data is pushed to the PubNub private channels of the list of friends.

In addition in CloudCode the idea is to use PubNub Presence and if the user is offline, send a Push notification.

Is this implementation ok? I'm new to both services and trying to learn. Thanks!

2
I love and totally support the use of multiple services to augment each other. I've toyed around quite a bit with Parse + Firebase. - Fosco
Expect at least an extra 10% of battery drain over average because Parse is using its own push notification service in the background instead of using Google Cloud Messaging that's already installed and running on all the official Android devices. Also, GCM is free. Parse is free too, but Parse notifications can become expensive if your app ever becomes popular. - Stephan Branczyk
I will check GCM too. - Juan

2 Answers

1
votes

There's nothing in the architecture you describe above that Parse can't handle, including the ability to support Facebook login and external service calls via Cloud Codes Parse.Cloud.httpRequest(). It will do it and do it well thus the answer is yes, this is ok.

Go forth and Parse.

1
votes

PubNub is appropriate if you are trying to implement a realtime app such as a chat application or a GPS tracking application. But in your case, I think you may not need PubNub's features at all. You can have the afore mentioned functionalities using Parse.com only. The parse push can be used in both the scenarios.

  • When the user is logged in, and is using the application :- Receive the push, suppress the notification and update the UI with the newly received data.
  • When the user is not online or logged in, then simply create a notification and add a click listener activity for it.

The reason why I suggest to remove PubNub (for this particular application) is that, PunNub has a different pricing model for loading history. On the free plan, you are limited to one day of message history. On the other hand, you can run this app's backend on Parse.com, almost free cost.