A seemingly minor update to Google Calendar began rolling out earlier today, bumping the version number from 5.5.7 to 5.5.9. There aren't any apparent changes to the interface with this release, but it does come with some interesting things under the covers. A teardown reveals a new feature for the office that will allow people to schedule conference rooms, the return of reminders that can be snoozed, and possibly a "new api" for developers to work with.

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.

Schedule Meeting Rooms

The Calendar app started as a very basic tool many years ago, offering little more than the ability to record events. Over time, it has evolved new features that have transcended a simple personal calendar and turned it into a real tool for businesses and other organizations. Perhaps the most useful addition came a few months ago with a new tool that helps users "find the time" for a meeting. It basically runs through the process of looking into each invitee's schedule and picks open time slots when everybody can attend. But there's one other schedule that can't be overlooked: the conference room. It looks like Calendar will soon help with that step, as well.

Evidence of this feature first appeared a couple months ago when some new strings related to scheduling appeared with "conference" in the name. At the time, the automated dialing feature for conference calls had just turned up and it looked like there was nothing special going on. However a few newer strings make it obvious that room scheduling is going to be a part of the system.

<string name="find_time_room_booking_options_header">Rooms</string>
<string name="find_a_time_consider_existing_rooms">Consider existing rooms</string>

<string name="describe_room_icon">Rooms</string>

ic_room

ic_room

The icon certainly looks more like a physical location than the abstract term "room" used by many conference calling services.

<string name="add_another_room_label" />
<string name="add_room_label" />

When is this feature coming? Judging by some of the older strings that still don't have text in them, like the two above, my guess is it won't happen in this version.

Snoozing Reminders

Google has a long history of removing features from apps that are useful, or even very popular, and replacing them at some point in the future with something a little different–we've seen this many times with Google Maps. When Google Calendar was updated to v5.0, it was similarly stripped down to produce an app that looked and (mostly) worked better, but lacked some key features. Slowly but surely, features like month view were reintroduced in subsequent versions. Now it looks like the ability to snooze reminders will be making a return.

New text in the app shows options for putting reminders back to sleep until some time in the future. The current list includes (in order): 10 minutes, later today, tomorrow, later this week, this weekend, and next week. These aren't as extensive or clever as some of the choices offered by the Inbox app, but still useful all the same.

<string name="task_snooze_label">Snooze</string>
<string name="task_snooze_message" formatted="false">Reminder snoozed for <g example="Today" id="date">%s</g>, <g example="11:20am" id="time">%s</g></string>
<string name="task_snooze_next_week">Next week</string>
<string name="task_snooze_short">In 10 minutes</string>
<string name="task_snooze_this_week">Later this week</string>
<string name="task_snooze_title">Snooze to…</string>
<string name="task_snooze_today">Later today</string>
<string name="task_snooze_tomorrow">Tomorrow</string>
<string name="task_snooze_weekend">This weekend</string>
<string name="task_snooze_failed_message">Failed to snooze the reminder</string>

<string-array name="task_snooze_options">
<item>@string/task_snooze_short</item>
<item>@string/task_snooze_today</item>
<item>@string/task_snooze_tomorrow</item>
<item>@string/task_snooze_this_week</item>
<item>@string/task_snooze_weekend</item>
<item>@string/task_snooze_next_week</item>
</string-array>

This is one of those features where the interface generally requires less work than the back-end. The necessary pieces appear to be here, so Google may turn this on with server-side rollouts when it's ready to launch. Given that basic reminder support was added to the web interface back in April, effectively rounding out the features between all of the different platforms, it's possible the snooze capability will hit the web and Android (and probably iOS) at the same time.

New Calendar API?

Google has opened up countless APIs to allow developers access to various parts of its system. In fact, Calendar already has an API with quite a few capabilities. Judging by some new layouts in the Calendar app, there may be a big update coming, or perhaps an extension of the existing features.

There aren't any strings of text to look at for this one, but there are 27 new layouts with "newapi" in the name, which is a pretty huge addition. The filenames for each layout demonstrate that most of these are dedicated to all of the fairly typical features provided by calendar, and a few others are just for visual effect.

layouts

/layout/newapi_availability_edit_segment.xml
/layout/newapi_calendar_edit_segment.xml
/layout/newapi_calendar_view_segment.xml
/layout/newapi_color_edit_segment.xml
/layout/newapi_contract_edit_segment.xml
/layout/newapi_contract_view_segment.xml
/layout/newapi_edit_screen.xml
/layout/newapi_event_notification_edit_segment.xml
/layout/newapi_event_time_edit_segment.xml
/layout/newapi_groove_notifications_edit_segment.xml
/layout/newapi_groove_overflow.xml
/layout/newapi_groove_time_edit_segment.xml
/layout/newapi_note_edit_segment.xml
/layout/newapi_notification_view_segment.xml
/layout/newapi_single_choice_color_dialog_item.xml
/layout/newapi_single_choice_text_dialog_item.xml
/layout/newapi_tile_content_two_line_text.xml
/layout/newapi_tile_view.xml
/layout/newapi_time_view_segment.xml
/layout/newapi_timezone_edit_segment.xml
/layout/newapi_title_edit_segment.xml
/layout/newapi_title_view_segment.xml
/layout/newapi_view_screen_content.xml
/layout/newapi_view_screen.xml
/layout/newapi_visibility_edit_segment.xml
/layout/newapi_visibility_view_segment.xml
/layout/fragment_newapi_host_dialog.xml

All of these layouts, and even having so many, suggest that the API will probably allow a way for third-party apps to ask the Calendar app to display an interface instead of providing a custom implementation. In practical terms, that may mean these apps will be able to provide some limited features without necessarily seeing user data. However, it's hard to make too many judgements just from the presence of new layouts, so we'll keep an eye out for more information.

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: 5.5.9-125657303-release (2015187843)