Category Archives: Android

RCS Carrier Interoperability

Rich Communication Services Universal Profile (or Chat as Google likes to call it) is all about interoperability. The end goal would be for ALL carriers world wide, to standardize on RCS as their carrier provided messaging platform (instead of SMS / MMS). There are a lot of moving parts that will have to come together for this to happen, but some of those parts are starting to come together.

How RCS Interconnects

RCS is a combination of an RCS client on your phone and your carrier’s RCS engine. Carriers have 3 basic ways they can set RCS up:

  1. Proprietary RCS (not Universal Profile) – This is the way some carriers currently have RCS implemented. For instance, as of the time of this writing, AT&T and Verizon both use proprietary RCS implementations for their “Advanced Messaging”. Unfortunately, this is a walled garden approach – by this I mean, an AT&T customer can currently ONLY send RCS messages to other AT&T customers.
  2. Carrier Hosted Universal Profile – This is where a carrier chooses to roll their own RCS implementation, but does so in a manner that is compatible with the GSMA Universal Profile.  This requires a LOT of carrier knowledge / configuration as the carrier will have to work with other carrier hosted versions as well as cloud providers to make sure their implementation works as expected.
  3. Cloud Hosted Universal Profile – This option is where a carrier signs up to use a third party cloud service. Several RCS cloud services are already in place (Google, Samsung and others offer RCS clouds). The advantage here is the carrier only has to interface with the cloud provider.

So, who can I send an RCS message to?

The short answer to this question is you can send a RCS message to any other customer that has an RCS client that is on a carrier your carrier can interoperate with (OK, not so short). Longer answer is that in North America today, Sprint and Rodgers customers can send messages back and forth because they both chose the Google Jibe cloud option, but pretty much every other carrier is still limited to only sending messages to other customers on the same carrier. T-Mobile has also started implementing RCS UC (currently only on two Samsung phones).

There have been conflicting reports  (thanks to Reddit users for bringing this to my attention) as to how T-Mobile is implementing their RCS stack. I’ve seen reports that they (at least initially) intended to use the Samsung Cloud and others that say they rolled their own either with or without 3rd party help. However, it’s my understanding that their implementation is using an older version of RCS UC that is causing some integration delays other carriers.

The Future

I know all of this sounds horrible and underwhelming, but it’s really not that bad. The GSMA has announced that all four major US carriers have agreed to implement RCS UC as well as 55 carriers world wide and they have teased other RCS implementations by the end of 2018. Once Samsung and Google get their interconnections worked out, T-Mobile customers with newer Samsung phones will be able to interact with Sprint and Rogers customers. 

It’s really just a matter of time before RCS will be the default carrier messaging platform for North America and hopefully the world!

Current Status

There is an excellent Google Doc’s document that is being developed to track current RCS implementations.  You can view it here.

RCS Is designed to be Inter-operable – It shouldn’t be news that Google and Samsung are doing it.

Maybe Google and Samsung are working together to make RCS inter-operate, but they shouldn’t HAVE to! And even if they ARE working together, that shouldn’t be the news here! We should be focusing on the fact that Rich Communications Services (RCS) Universal Profile (or Chat as Google wants to call it) is INTENDED to inter-operate between clients AND carriers!

Continue reading RCS Is designed to be Inter-operable – It shouldn’t be news that Google and Samsung are doing it.

Project Fi Dialer Codes

Here are a list of dialer codes that can be used with Project Fi.  These codes shouldn’t be used unless you are aware that they may impact the way your Fi phone switches between carriers.

Carrier Selection

Alpha Code Dialer Code Description
FI AUTO *#*#342886#*#* Set carrier selection to automatic.
FI NEXT *#*#346398#*#* Select Next Carrier
FI SPR *#*#34777#*#* Select Sprint for 2 hours
FI TMO *#*#34866#*#* Select T-Mobile 2 hours
FI USC *#*#34872#*#* Select US Cellular 2 hours
FI SIMON *#*#3474666#*#* Select Three (UK only)

Service Codes

Alpha Code Dialer Code Description
FIXME *#*#344963#*#* Force reactivation
FI INFO *#*#344636#*#* Get information about the current network.
INFO *#*#4636#*#* Get general phone information.
DEBUG *#*#33284#*#* Phone Debug Options
PRL *#*#775#*#* Force download of Preferred Roaming List (Sprint)
PRL *228 Force download of Preferred Roaming List (US Cellular)
FI ROAM *#*#347626#*#* Turn on International Roaming

Fi on a non-Google phone is like mowing your lawn with a weed eater….

Project Fi LogoI’ve seen the “can you use Project Fi with an XYZ model phone” question over and over. Invariably someone (or several someones) will reply “yeah, it works”. And while this answer is kind of / sort of technically correct (with caveats), it’s misleading!  When I see this I imagine  quotes around the word works… it “works” – unfortunately, a lot of people take it at face value. Continue reading Fi on a non-Google phone is like mowing your lawn with a weed eater….

Android WebKit Car Analogy

The Android robot is reproduced or modified from work created and shared by Google and used according to terms described in the Creative Commons 3.0 Attribution License.Google throws nearly a billion Android users under the bus” and “Why Google won’t fix a security bug in almost a billion Android phones” but what I haven’t seen is an article that explains the situation in a way that people who WANT to blame Google seem to be able to understand so I’m going to try to explain this using an automobile analogy.

Imagine that Google makes automobile motors that many auto manufacturers use in the cars they sell. Some manufacturers want higher performance motors, so they replace the standard intake and cam with “improved” versions.  Other manufactures want more creature comforts in their cars, so they strap on AC units and other accessories.

Now it turns out that there was a problem with the motors that Google provided to manufacturers 18 months ago. To make things more interesting, the manufacturers didn’t actually have to pay ANYTHING to Google for the motors Google provided. Additionally, Google has offered to replace all of  their previous models at no additional charge twice since the faulty motors were shipped.

The manufacturers have chosen to not replace the faulty motors because they thought they were “good enough” and they would have to apply their chosen modifications to the replacement motors before sending them out. Besides, if people really want a new motor, they need to buy a new car. Right?

Keep in mind that this analogy is flawed.  For instance it implies that Google is actually providing hardware. They aren’t.  A more accurate analogy (but one less likely to be understood) is that Google is providing the software for the car’s computer.  All of the mechanical parts (including the electronics for the computer) are produced by the car manufacturer, but there is a bug in the code that Google made available to the manufacturer. Google doesn’t even know what kind of computer the manufacturer has chosen to install in their car.

My question to you is:  when you buy a car and it has problems with the motor (or computer), who do you go to for service?  I expect the vast majority of people would say the manufacturer (or it’s dealers) but many of these same people seem to want to put 100% (or more) of the blame on Google for the webkit issue. Logic seems to elude some people….

Is Google responsible for the bug? Sure, it was in their code. Is Google responsible for the bug not being fixed in your phone? Nope! They fixed the bug in later releases and your phone manufacturer choose not to release that fix.