WhisperSystems/RedPhone — pull request #71 by moxie0 (2012-12-08 20:05:34+00:00)
Title: Introduce full GCM support.

The overall strategy is this:

1) We eliminate legacy support for C2DM. It's deprecated and could
stop working at any time, so it's good to transition off this.

2) All devices will be registered for GCM at all times. Instead of
only registering with the push notification channel when a client
wants to receive push notifications from the whisperswitch, we
register all clients with GCM and transmit their registration IDs
to the server.

3) Instead having a "use GCM" option that a user toggles, we replace
it with a radio group: "Use GCM, Use SMS, and Auto (default)." With
users on 'auto' and all users registered with GCM, this allows the
whisperswitch to make selective decisions and to run experiments
with what should be the default signaling method.

I think we probably want to switch to GCM by default, but this makes
the transition server-controlled and measurable, rather than pushing
out a client update and hoping for the best.

The server code has been updated but not deployed yet. All users will
start configured as 'auto', except for those who previously registered
with C2DM, who will be configured as 'gcm'. The default 'auto' strategy
will remain SMS for the initial deploy.