After having successfully survived a thunder-snowicane and completed a black-ops mission into a post-apocalyptic New York City to pick up a Nexus 4,  APK Teardown HQ is back up and running. We've accumulated a bit of a backlog, so today's entry is a 2 for 1 deal: Google Maps 6.14 and Google Search 2.1.

Google Maps

Maps is getting real-time traffic rerouting!

Now, you might be saying "But Maps already takes traffic into account, look at this blog post!" but let's take a look at what that blog post really says:

You don’t have to do anything to be routed around traffic; just start Navigation like you normally would, either from the Navigation app or from within Google Maps. Before today, Navigation would choose whichever route was fastest, without taking current traffic conditions into account. It would also generate additional alternate directions, such as the shortest route or one that uses highways instead of side roads. Starting today, our routing algorithms will also apply our knowledge of current and historical traffic to select the fastest route from those alternates. That means that Navigation will automatically guide you along the best route given the current traffic conditions.

Traffic is currently calculated when you hit the 'navigate' button, and then traffic calculation is over. Say you're taking a two hour road trip, and, 5 minutes into your trip, an accident happens in the tunnel you were supposed to take. Today, Maps will still tell you to take the tunnel, because it only takes traffic into consideration during the initial route calculation.

It sounds like this is going to change. There are now several references in Maps to a "route_around_traffic" message, which sounds like it will popup while you are navigating, and say "Hey this route isn't good anymore, do you want to change?" Here's the text for it:

<string name="da_reroute">Reroute</string>
<string name="da_reroute_to_avoid_traffic">Reroute to avoid traffic?</string>
<string name="da_reroute_time_savings" formatted="false">Save %s via %s</string>
<string name="da_speech_reroute_to_avoid_traffic" formatted="false">Traffic ahead. Reroute to save %s via %s</string>

The "save %s via %s" stuff will probably be in the form of "Save 20 minutes via Route 66."

In order for this message to be necessary, Maps would have to be periodically checking traffic conditions and recalculating new routes while you drive. When it finds a better route, it will prompt you with these messages. This would be really helpful for a long trip, and it's something that shouldn't be too hard to implement.

I can't show you the actual UI, but I can show you the components of the UI:

<public type="id" name="da_routeAroundTrafficButtonPanel" id="0x7f10012c" />
<public type="id" name="da_routeAroundTrafficCancelButton" id="0x7f10012d" />
<public type="id" name="da_routeAroundTrafficConfirmButton" id="0x7f10012e" />
<public type="id" name="da_routeAroundTrafficPromptPanel" id="0x7f10012f" />
<public type="id" name="da_rerouteTimeSavedMessage" id="0x7f100130" />
<public type="id" name="da_reroutePromptMessage" id="0x7f100131" />
<public type="id" name="da_rerouteInlineButtonPanel" id="0x7f100132" />

So, just picture a popup box that says "Reroute to avoid traffic?" with the time you'll save placed somewhere, and "Confirm" and "Cancel" buttons. Actually, a popup box might be too intrusive while you're navigating - it will probably be a notification.

Google Search

Google Search will be learning a few new tricks as well, the most exciting of which is probably the last thing that gives me Siri/S-Voice envy: how to hold a conversation. If tell S-Voice to "Send text to Bob," it will say "Ok, sending text to Bob, what would you like it to say?" and then you can verbally dictate a message. These 2 or sometimes 3 step voice interactions are much more natural and easier than the perfectly-executed "verbal command line" that Voice Search requires.

Check this out:

<string name="voice_disambiguation_confirmation">Calling %1$s.</string>
<string name="voice_contact_call_confirmation_prefix">Do you want to call %1$s at %2$s? Say okay, cancel, or try speaking again.</string>
<string name="voice_number_call_confirmation_prefix">Do you want to call %s? Say okay, cancel, or try speaking again.</string>

It's a baby step, but an important baby step. Search will soon ask you for confirmation for "call [contact]" commands. I'm honestly not sure if this works right now or not. I've done a million "call [contact]" tests, and I've never seen it pop up, but maybe I'm not confusing Search in just the right way to trigger this. Has anyone seen this?

The other new Search tidbit is NFC support, which many people spotted in the permissions while updating. A teardown reveals absolutely nothing, which means it's probably not being used for anything right now. The thing is, I can't even imagine a hypothetical use for it. Please speculate in the comments.