The update to Google Maps v9.31 brought a couple of fixes for users on Android N developer previews, not to mention some other small changes for everybody. But the most interesting things about this version are still buried below the surface. Yesterday, I covered support for offline maps to be installed on an SD card, and now it's time to dig into the rest of the teardown. If SD card support weren't enough, there are a couple of other features here that have been hotly requested for some time, so it's pretty clearly the Maps team is working hard to fill out the feature set for users.

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.

Multiple Waypoints

image

Late last year, Google added the ability to set a waypoint along a route. This was certainly a welcome feature that many users have been asking for, but it was curiously restricted to a single waypoint. A tricky workaround was discovered that could create a trip with multiple stops, but it required a computer to first plan a route, then a link had to be sent to a phone where it could be opened manually. Now Google is taking the final steps to allow for multiple waypoints in a single trip.

There aren't actually that many strings for this, but they leave little to the imagination. The first two lines belong to a promo that leave no question that multiple waypoints are going to happen. The rest of the text belongs to simple interface elements for adding a stop. Adding stops will be done from a button in "the corner," which may mean the search button at the top right corner, but it could also reference a new button that will be placed at another corner.

strings

<string name="DIRECTIONS_MULTI_WAYPOINT_PROMO_TITLE">More than one place to go?</string>
<string name="DIRECTIONS_MULTI_WAYPOINT_PROMO_BODY">Add stops to your route by tapping the corner menu</string>
<string name="MENU_SEARCH_ENROUTE_MAX_STOPS">Max stops added</string>
<string name="ADD_STOP">Add stop</string>
<string name="ACCESSIBILITY_ADD_STOP">Add stop</string>
<string name="ACCESSIBILITY_ADD_STOP_LONG">Add %s as a stop</string>
<string name="DIRECTIONS_CHOOSE_DESTINATION">Add stop</string>
<string name="DIRECTIONS_DONE_EDITING_DESTINATIONS">Done</string>
<string name="DIRECTIONS_MULTI_WAYPOINT_DESTINATION_TO">to %s</string>

The one detail stands out from the text: there will still be a limit to the number of stops a route can have. Obviously, there would have to be an upper limit, but the actual number isn't listed anywhere yet. I have no doubt somebody will discover it as soon as this feature starts going live for people.

Considering multiple waypoints have technically been functional in the underlying code for quite some time, it seems like a safe bet that the majority of the work has been centered around building an interface that isn't too confusing. Now that interface elements are appearing, we can probably look forward to this going live in the not-too-distant future. It would be great if it could launch before people start their end of summer road trips, but Google may save it for October to coincide with the timeframe of last year's big feature updates.

Warnings About Mass Transit Disruptions

If you rely on busses, trains, or some other form of mass transit, your plans can be ruined if those big people-movers come to a grinding halt. Google Now is good at noticing these types of service interruptions, but it isn't configurable and the notifications are posted silently, without any forceful sounds or vibrations. It's too easy to miss the warnings until it's too late. Google Maps is going to change that with its own early warning system.

The alerts will come in the form of notifications with some amount of detail about the disruption. The key differentiator from Google Now is the ability to manually choose specific transit lines to watch rather than trusting Now to properly identify your commute. The notifications are particularly important for people that have to travel some distance just to reach a station or if they have to switch between multiple trains or busses to get from home to work.

strings

<string name="TRANSIT_STATUS_NOTIFICATION_SETTINGS_SUMMARY">Get real-time disruption alerts</string>
<string name="TRANSIT_STATUS_NOTIFICATION_SETTINGS_TITLE">Transit disruptions</string>
<string name="TRANSIT_STATUS_CUSTOMIZE_NOTIFICATION_ICON_CONTENT_DESCRIPTION">Customize lines for which you want to notifications for</string>
<string name="TRANSIT_STATUS_NOTIFICATION_TURN_ON_BODY">Turn it on above to hear about disruptions in your city</string>
<string name="TRANSIT_STATUS_NOTIFICATION_TURN_ON_TO_CUSTOMIZE_HEADER">Don’t get stuck at the station</string>
<string name="TRANSIT_STATUS_NOTIFICATION_TURN_ON_TO_CUSTOMIZE_BODY">Hear about disruptions for the lines you care about. Turn it on above to customize.</string>
<string name="TRANSIT_STATUS_NOTIFICATIONS_PERSONALIZATION_TUTORIAL_HEADER">Customize your lines</string>
<string name="TRANSIT_STATUS_NOTIFICATIONS_PERSONALIZATION_TUTORIAL_BODY">To get disruption notifications only for the lines you care about, tap the gear icon</string>
<string name="TRANSIT_STATUS_NOTIFICATIONS_TUTORIAL_CUSTOMIZE_LINK">Customize</string>
<string name="TRANSIT_STATUS_NOTIFICATIONS_TUTORIAL_TURN_OFF_LINK">Turn them off</string>
<string name="TRANSIT_STATUS_SELECT_LINES_TITLE">Select lines</string>
<string name="YOUR_LINES_SECTION_TITLE">Your lines</string>
<string name="EDIT_SELECTED_LINE_GROUPS_TITLE">Customize notifications</string>
<string name="TRANSIT_STATUS_CUSTOMIZE_NOTIFICATION_TURN_EACH_OFF_BUTTON_LABEL">Deselect all</string>
<string name="TRANSIT_STATUS_CUSTOMIZE_NOTIFICATION_TURN_EACH_ON_BUTTON_LABEL">Select all</string>

It's not clear if everything is here for this feature to go live yet. Most of the basic lines of text are here, but there's no sign of text that will actually go into the alert notifications. Of course, that text will be mostly formed by the server anyway, so it may not be necessary to have static strings. In other words, this feature could possibly go live at any time with a server-side switch, or we may not see it for a while.

Notifications About Indoor Maps (At Airports)

2016-06-23 23.07.00

Did you know Google Maps isn't just for the road? It also has floorplans for many malls, sports arenas, and many other large buildings. Okay, you probably did know that, but might not use it or think about it when you're actually headed into an unfamiliar place. Google has probably determined this useful feature is forgotten all too often, so it's going to start reminding you.

It looks like the Maps app is going to pop up notifications from time to time as you enter an area where indoor maps are offered. Judging by the text, notifications may come with one of three suggestions: (title and descriptive text)

  • Find a restaurant – Tap for food, gates, and restrooms
  • See an indoor map – View indoor map of <location>
  • At <location><location> available on Google Maps
strings

<string name="NOTIFICATION_OPT_OUT_INDOOR_TITLE">Find your way around at places</string>
<string name="NOTIFICATION_OPT_OUT_INDOOR_MESSAGE">"You're getting occasional updates when an indoor map is available at your location"</string>

<string name="INDOOR_NOTIFICATION_SETTINGS_TITLE">Indoor maps</string>
<string name="INDOOR_NOTIFICATION_SETTINGS_SUMMARY">Know when an indoor map is available at your location</string>

<string name="INDOOR_NOTIFICATION_FOOD_HEADLINE">Find a restaurant</string>
<string name="INDOOR_NOTIFICATION_MAP_HEADLINE">See an indoor map</string>
<string name="INDOOR_NOTIFICATION_AT_LOCATION_HEADLINE">At %1$s</string>
<string name="INDOOR_NOTIFICATION_TAP_ALL_SUBTEXT">Tap for food, gates, and restrooms</string>
<string name="INDOOR_NOTIFICATION_VIEW_LOCATION_SUBTEXT">View indoor map of %1$s</string>
<string name="INDOOR_NOTIFICATION_AVAILABLE_LOCATION_SUBTEXT">%1$s available on Google Maps</string>

<receiver android:exported="true" android:name="com.google.android.apps.gmm.map.indoor.notification.StartGeofenceControllerReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
<action android:name="android.intent.action.MY_PACKAGE_REPLACED"/>
</intent-filter>
</receiver>
<receiver android:exported="false" android:name="com.google.android.apps.gmm.map.indoor.notification.GeofenceReceiver"/>

There will be an option to opt out from getting further notifications, and there will also be a toggle in the Notifications section in the Settings screen. Tapping the notification will obviously launch into Google Maps. From there, it will probably show markers based on the type of suggested activity. It's not clear, but it may even provide some of the directory service features we've seen in Maps and Google Now.

This should be a relatively straight-forward feature, and may be live already. However, there are some strong clues that suggest it may only appear in airports, for now. Also hidden among the new strings was a large stack of airport names. All of the string names use the 3-letter airport codes (e.g. "LAS"), and most of them translate to the more commonly accepted local names (e.g. "McCarran Int'l Airport" <– one of my favorites).

strings

<string name="ATL_AIRPORT_NAME">"Atlanta Int'l Airport"</string>
<string name="BOS_AIRPORT_NAME">Boston Logan Airport</string>
<string name="BWI_AIRPORT_NAME">BWI Airport</string>
<string name="CLT_AIRPORT_NAME">CLT Airport</string>
<string name="DEN_AIRPORT_NAME">"Denver Int'l Airport"</string>
<string name="FLL_AIRPORT_NAME">FLL Airport</string>
<string name="IAH_AIRPORT_NAME">IAH Airport</string>
<string name="LAS_AIRPORT_NAME">"McCarran Int'l Airport"</string>
<string name="LAX_AIRPORT_NAME">LAX Airport</string>
<string name="MDW_AIRPORT_NAME">Midway Airport</string>
<string name="MIA_AIRPORT_NAME">"Miami Int'l Airport"</string>
<string name="MSP_AIRPORT_NAME">MSP Airport</string>
<string name="ORD_AIRPORT_NAME">"O'Hare Int'l Airport"</string>
<string name="PDX_AIRPORT_NAME">PDX Airport</string>
<string name="PHX_AIRPORT_NAME">Phoenix Sky Harbor Airport</string>
<string name="SAN_AIRPORT_NAME">"San Diego Int'l Airport"</string>
<string name="SEA_AIRPORT_NAME">SeaTac Airport</string>
<string name="SFO_AIRPORT_NAME">SFO Airport</string>
<string name="SLC_AIRPORT_NAME">SCL Airport</string>
<string name="TPA_AIRPORT_NAME">"Tampa Int'l Airport"</string>

You may be wondering why these seem to be related. As it turns out, the strings are used only in one place in the source code: notifications about indoor maps. Also, looking back to the first suggestion string, it mentions "gates" can be marked on the map. Gates aren't strictly unique to airports, but it doesn't seem like a coincidence. Google is probably starting with air travelers, a group that probably needs indoor maps the most, and may expand coverage in the future.

Actually, there is one more place that will get special treatment besides just the airports: Google Seattle.

<string name="GOOGLE_SEATTLE_NAME">Google Seattle</string>

If you're not following every last bit of Google news, the company is planning to build a new 4-building campus in Seattle, very close to Amazon's headquarters. There are already offices in the nearby Kirkland area, but this project will significantly increase Google's footprint in the region. Why is this relevant? Who knows, it's mostly an interesting bit of trivia. However, if you happen to be one of the 3,000-4,000 people that will be hired to work there, or just a visitor at some point, you can look forward to getting a notification about indoor maps on your first day.

Miscellaneous

The next three sections are... iffy. One string each, and only one of them even points to a possible feature. Nevertheless, all three are somewhat interesting in some way or another, so I wanted to at least give them a quick nod.

Destinations Are A Drag

Google Maps on the web interface allows for a lot of basic interactions we don't get in the mobile version, and vice versa. One thing that is sadly lacking in the mobile experience is a way to precisely position the push pin without zooming in as close as the app will allow. There's a new string that suggests we might actually see dragging become a part of the interaction.

<string name="ACCESSIBILITY_WAYPOINT_GRABBER">Drag waypoint %s</string>

The string name makes it fairly obvious this will only be for waypoints, not all types of push pins, but that's a step in the right direction. It will probably become a part of the interface for picking stops along a route without using the search function.

Google for Work Connect

The final oddity is related to a little-known program called Google for Work Connect (GWC). It's sort of like a meet-up for system administrators and partners involved with Google for Work. I'm not really sure what the point of it is, but I suspect this will be a simple label for meeting locations. It just seems very odd that this, out of all of the other programs Google runs, would necessitate a label in the app.

<string name="GOOGLE_GWC_NAME">Google GWC</string>

Anyway, if you're curious about GWC, here's a video they posted a couple of years ago.

(Note: this video was posted over 2 years ago and has just 1,477 views before this post went up.)

Anyway, that's all for this teardown. Again, keep a close eye for all of these features to go live at any time.