Project Fi is an ambitious effort to give customers an experience devoid of the problems endemic to cellular carriers in the United States. It's low-cost, easy to manage with a simple app, and it even breaks new ground with intrinsic support for multi-network connectivity. However, in some ways, Fi wasn't really finished at launch. It spent many months as an invite-only service and lacked a few things many people would consider integral to their cellular service. One of the top requests from current and potential customers is the addition of group plans. It's an important feature for both families and businesses, especially as the number of lines grows. With a teardown of the latest update to Project Fi, we can see plenty of evidence that group plans aren't far away.

Teardown

Disclaimer: Teardowns are based on evidence found inside of apks (Android's application package) and are necessarily speculative and usually based on incomplete information. It's possible that the guesses made here are totally and completely wrong. Even when predictions are correct, there is always a chance that plans could change or may be canceled entirely. Much like rumors, nothing is certain until it's officially announced and released.

The features discussed below are probably not live yet, or may only be live for a small percentage of users. Unless stated otherwise, don't expect to see these features if you install the apk.

Group Plans

We'll see the term "group plan" used quite a bit in the following sections, but let's start with the basic organization. As you might expect, some people have more control than others, Fi refers to them as administrators. They are made up of an owner and some number of managers, which are appointed by the owner. We'll also see managers mentioned later, but the first piece of evidence mentions the owner.

<string name="owner">Owner</string>
<string name="owner_details">Can adjust everything</string>
<string name="paid_by_x">Paid by %1$s</string>

Data allowance

It's fairly obvious that group plans are paid for by a company or individual. That account will be able to control everything about the service for the other accounts. One of the main options will be setting a "data allowance" for the group. At this point, it's unclear whether group accounts will share a single bucket of data between all of the accounts contained within or if the owner can set different allowances for each account. In either case, the way Fi already handles data and prorates it based on usage means there's effectively no difference on the final bill.

strings

<string name="default_device_nickname">%1$s's device</string>
<string name="data_allowance_changed">%1$s/month (Change effective %2$s)</string>
<string name="data_allowance_changed_cost">%1$s data, %2$s/month (Change effective %3$s)</string>
<string name="data_allowance_changed_cost_unknown_date">%1$s data, %2$s/month (Change effective next cycle)</string>
<string name="data_allowance_changed_unknown_date">%1$s/month (Change effective next cycle)</string>
<string name="data_allowance_chart_series">Data allowance per user</string>
<string name="data_allowance_cost">%1$s data, %2$s/month</string>

<activity android:name="com.google.android.apps.tycho.AdminRemoveMemberActivity" android:exported="false" android:parentActivityName="com.google.android.apps.tycho.ManageMembersActivity">
<meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.google.android.apps.tycho.ManageMembersActivity" />
</activity>

Usage alerts

If an account belonging to a group goes over its allotted data, both the offending user and the admins (owners and managers) will be able to see how much excess data has been consumed. There isn't any clear evidence yet of a system notification for this event, but there's no reason to believe it won't be added in a future update, before group plans go live.

<string name="overage_title">Data budget alert</string>
<string name="overage_details">%1$s has used %2$s more than budgeted.</string>
<string name="self_overage_details">You've used %1$s more than budgeted.</string>

Management and shutting off data or service

If necessary, admins can shut off data to a user account. There are multiple ways to interpret the strings below, but my take on it is that admins will have to make two decisions when shutting off data: how long it will remain disabled until it reactivates automatically, and if a user can reactivate their own data access before it is restored automatically.

When data is turned off, an admin can set it to come back on at the start of the next billing cycle, after a specified number of days, or at "any time," which seems to be a euphemistic way of saying it has to be done manually. If permitted, a user can reactivate their own data; otherwise, it can only be reactivated by an admin, or when when the selected time period has elapsed. At this time, the strings only indicate it's possible to automatically reactivate data, but there's no sign yet that it will be possible to automatically shut off data based on excess usage.

The "any time" option caries one other slightly interesting implication: it might be possible for a group plan to have one or more users perpetually locked out of cellular data, leaving them with only voice and text capabilities. Even though it's possible to lock down data on a device, there's currently no way with Fi to disable data usage at the account level. How many people want something like this isn't really clear, but the discussion has come up in online forums in the past.

strings

<string name="resume_data_details">%1$s's data can be resumed at any time.</string>
<string name="resume_data_details_auto">%1$s's data resumes automatically next cycle.</string>
<string name="resume_data_details_auto_days">%1$s's data resumes automatically in %2$d days.</string>
<string name="resume_data_details_admin">Only a manager or owner can resume %1$s's data.</string>
<string name="resume_data_details_auto_admin">Only a manager or owner can resume %1$s's data. It resumes automatically next cycle.</string>
<string name="resume_data_details_auto_days_admin">Only a manager or owner can resume %1$s's data. It resumes automatically in %2$d days.</string>

<string name="self_resume_data_details">Your data can be resumed at any time.</string>
<string name="self_resume_data_details_auto">Your data resumes automatically next cycle.</string>
<string name="self_resume_data_details_auto_days">Your data resumes automatically in %1$d days.</string>
<string name="self_resume_data_details_admin">Only a manager or owner can resume your data.</string>
<string name="self_resume_data_details_auto_admin">Only a manager or owner can resume your data. It resumes automatically next cycle.</string>
<string name="self_resume_data_details_auto_days_admin">Only a manager or owner can resume your data. It resumes automatically in %1$d days.</string>

There are plenty of good use cases for each combination of these options. For example, shutting off data and allowing users to reactivate it manually is a good way to poke irresponsible group members to keep a closer eye on their usage habits. Likewise, disabling data until the next billing cycle is definitely an effective way to control costs. These can even be used as tools for punishment – setting a delay of seven days and locking reactivation to the parents is a pretty good way to ground a misbehaving kid.

We've now covered the capability to shut off data, but the same options will also exist for cutting off all forms of service (without actually closing the account). The following strings are mostly the same as the previous section, but they discuss a lock down of voice and text messages, in addition to data service. The only real difference is that there aren't separate strings for resuming service with a new billing cycle or after a set number of days, just the option to resume at a specific date.

strings

<string name="resume_service_details">%1$s's service can be resumed at any time.</string>
<string name="resume_service_details_auto_date">%1$s's service resumes automatically on %2$s.</string>
<string name="resume_service_details_admin">Only a manager or owner can resume %1$s's service.</string>
<string name="resume_service_details_auto_date_admin">Only a manager or owner can resume %1$s's service. It resumes automatically on %2$s.</string>

<string name="self_resume_service_details">Your service can be resumed at any time.</string>
<string name="self_resume_service_details_auto_date">Your service resumes automatically on %1$s.</string>
<string name="self_resume_service_details_admin">Only a manager or owner can resume your service.</string>
<string name="self_resume_service_details_auto_date_admin">Only a manager or owner can resume your service. It resumes automatically on %1$s.</string>

There's no mention about whether shutting off all service will result in prorated billing.

Removing group members

Admins have the ability to put service on hold, but if an account has to be removed entirely, that is supported. It's not clear if owners have the exclusive right to remove group members or if managers will have this power, as well.

<string name="remove_member_title">Cancel %1$s's service</string>

The user of the removed account will be notified of the change, at which point they will have some decisions to make. Project Fi's text uses the terms "cancel" and "remove" interchangeably, but in the strictest sense, accounts appear to be turned into individual plans and it's up to the user to determine if it should be fully closed or remain in service as an individual account. Alternatively, the phone number can be temporarily held until the account holder can transfer it out to another carrier.

<string name="remove_member_confirmation_title">You're all set</string>
<string name="remove_member_confirmation_body">%1$s has been notified of their removal and has %2$d days to take action on their account.</string>
<string name="remove_member_confirmation_dialog">By continuing, %1$s's service will be placed in pending cancellation, and their number will be placed on hold until they take action.</string>
<string name="remove_member_terms_number">%1$s will have %2$d days to decide to move to an individual Fi account, transfer their number, or release it.</string>
<string name="remove_member_terms_service">%1$s will no longer have service on Project Fi effective immediately – no calls, text, or cellular data.</string>

Responsibility for expenses

Of course, it's not just group owners (and possibly managers) that can remove an account, the individual account holder is also free to break off the relationship. Regardless of who initiates the split, the group owner remains responsible for any expenses previously accrued on the removed account.

strings

<string name="transfer_to_individual_plan_title">Transfer to individual Fi plan</string>
<string name="transfer_to_individual_plan_body">Please be aware that your previous plan will go into a closing state and may still accrue charges for up to %1$d days that your manager is still responsible for.
What payment method would you like to use to auto-pay monthly?
</string>

<string name="member_removed_alert_description">You have been removed from your group plan.</string>
<string name="member_removed_before_you_go_body">You've been removed from your group plan, but you can still get your own account on Project Fi or transfer your number to another service provider. Just continue and we'll guide you through the process step-by-step.&lt;br&gt;&lt;br&gt;%1$s&lt;br&gt;&lt;br&gt;%2$s</string>

<string name="leave_group_option_individual_plan">Individual Fi plan</string>
<string name="leave_group_outstanding_charges">%1$s is responsible for any outstanding charges you may have on their group plan.</string>
<string name="leave_group_before_you_go_body">%1$s&lt;br&gt;&lt;br&gt;%2$s&lt;br&gt;&lt;br&gt;%3$s</string>
<activity android:name="com.google.android.apps.tycho.MemberRemovedActivity" android:exported="false" android:label="@string/leave_plan" />

The owner of the group plan is also responsible for the cost of devices purchased from Project Fi for accounts on the group plan, even if they don't remain part of the group until the devices are fully paid off. Recovery of those devices or their monetary value is up to the owner of the group. However, If the purchase occurred within the return window, owners are still free to contact Project Fi and send the device back for a refund.

<string name="remove_member_terms_device_financing">You will continue to pay for %1$s's device as your own, with the option to pay it off at any time.</string>
<string name="remove_member_terms_device_return">You'll need to contact Project Fi support by %1$s if you choose to return %2$s's device for a refund.</string>
<string name="remove_member_terms_device_return_and_financing">You'll need to contact Project Fi support by %1$s if you choose to return %2$s's device for a refund. Otherwise, you will continue to pay for %2$s's device as your own, with the option to pay it off at any time.</string>

Wrap-up

There are obviously some unanswered questions here. There aren't any specifics about limits, like how many total members a group is allowed to have or if there are any requirements for setting up a group. No details exist yet about how new lines are added or if it's possible for an existing individual line to be adopted into a group. Perhaps the most obvious question is whether group plans will have any different pricing. It seems unlikely that lines will cost any more or less, but it can't be ruled out yet.

As I mentioned earlier, it's also unclear if data will technically be part of a single shared bucket or each account is calculated individually. This obviously shouldn't matter much in most situations because prorated data ensures each account only pays for the amount of data it uses in increments of $1 for 0.1 GB. However, this could make a small difference with a lot of accounts that rarely clock up much data usage. For example, a company with 20 lines, each using only about 5 MB per month, would have to pay a total of $20 for data if each account is billed individually, but only $1 if data is treated as a bucket to share across all lines.

It goes without saying that some of these details could rule out certain types of customers if the answers aren't suitable. If the max number of lines is anywhere in the single or double digits, it's not viable for many companies where some carriers offer "fleet management" tools to deal with hundreds or even thousands of company-provided service. Likewise, if the setup procedures are at all daunting or there are restrictive requirements, families might have a hard time using this for themselves or their kids.

The clues don't reveal anything about a potential launch date or how much more is left to implement, but we'll keep an eye out for more details as apk updates roll out.

Download

The APK is signed by Google and upgrades your existing app. The cryptographic signature guarantees that the file is safe to install and was not tampered with in any way. Rather than wait for Google to push this download to your devices, which can take days, download and install it just like any other APK.

Version: K.2.7.13

Project Fi by Google
Project Fi by Google
Developer: Google LLC
Price: Free