Official Gmail Blog
News, tips and tricks from Google's Gmail team and friends.
Highlights in Inbox: Help during the holidays
November 25, 2014
Posted by Clarence Yung, Designer
The holiday season is a busy time and your email is no different, with photos from friends and family, gift purchases and travel plans completely taking over. You find yourself with less time for email but lots more of it, and this is exactly where Highlights in Inbox can help. Highlights work together with
Bundles
to show you key information and actions at a glance — saving you time, and keeping you (mostly) sane this time of year :). For example:
Highlights surface quick actions like “Track package” and “RSVP” before you even open a message. This way you can actually do stuff, and not just view stuff with Inbox.
Thanks to
Google Now
, Highlights also include useful info from the web — like real-time flight status and package deliveries — even if it’s not in the original email.
And if you’re using the new
Google Calendar
app, your holiday travel will be highlighted by Inbox, as well as get added to your calendar automatically.
We hope Highlights help you stay on top of your email during the holidays and beyond. If you're a developer interested in Highlights, learn how to create emails with structured data on the
Developer Blog
. If you aren't using Inbox by Gmail yet, look for an invite from a friend or email us at
inbox@google.com
to get an invitation as soon as more become available.
Going under the hood of Inbox
November 20, 2014
Posted by Garrick Toubassi, Engineering Director
Editor’s note:
Be forewarned that the following post has much more technical mumbo-jumbo than our normal fare, taking you behind-the-scenes of the development of
Inbox
. So if you’re a practicing engineer, an aspiring hacker, or just plain interested in knowing how the sausage is made (mmmm sausage), read on!
Gmail was
born
over 10 years ago, entering a world dominated by flip phones, trucker hats, and based on today’s standards, sluggish web applications. Every click on a webpage meant a multi-second wait and a full page refresh. So when we developed Gmail, we took a different approach—building a new genre of web app that ran in the web browser and relied on rich javascript logic and a local data model. This allowed many of those clicks to be handled right within the browser without waiting for the server at all. Fast forward 10 years and this architecture is the norm, having been adopted by most websites and supported by a plethora of frameworks and tools (e.g. AngularJS, Meteor, Backbone, Ember, NodeJs).
But in those same 10 years, a lot has changed. The capabilities and diversity of devices has exploded. Users expect to be able to move from a laptop to a phone and have their apps work flawlessly. As a result, developers are facing a new challenge: how to build a high-quality app across platforms, such as Android, the web, and iOS, without sacrificing quality or execution velocity. As a developer, maybe you’ve asked yourself, do you rewrite your app three times to optimize it for each platform, wringing out every last bit of performance and polish? Or do you aim to get the app to market sooner by building a web-based “hybrid” app that leverages the same technologies across platforms (but potentially sacrifices integration and user experience)?
Facing the challenge
Those were the questions that weighed heavily on us when we first started building Inbox. We’d been working on Gmail for years and knew our users would expect whatever we built to be as fast and polished as Gmail is today right out of the gate. And that led us to the decision to build three separate native apps to fit seamlessly into each of our respective target platforms: Android (via Java+Android SDK), web (via JavaScript+DOM/CSS), and iOS (via Objective-C+UIKit).
Of course, there are a number of elements of Inbox that are shared across the three platforms: code for managing network communication, caching objects, local persistent storage, managing user edits both locally and remotely, and supporting it all while offline. This logic must be faithfully and correctly implemented and kept up to date on all three clients. Rewriting it three times in three different languages would soak up substantial engineering resources and slow down how quickly we make improvements to Inbox.
Cutting the Gordian Knot
In order to address this challenge we took a novel approach in which data model and application logic (conceptually the “Model” in “Model-View-Controller”) is written once in Java. This data model abstracts concepts unique to Inbox like Conversations, Reminders, Contacts, and Labels, and provides a fully observable data model for convenient binding to the user interface (UI) layer. We built the Inbox app for Android directly on top of this Java data model.
The plot thickens
On the web, the story gets more interesting. We use the open sourced
GWT
cross compiler to translate the Java data model into JavaScript, which we build on for Inbox for the web. In recent years, GWT has made great strides in being able to output translated code which is conveniently and performantly accessed from native Javascript. For example the Reminder.snooze() method provided by the Java data model is exposed in exactly the same way in JavaScript.
For iOS we developed the now open source
J2ObjC
cross compiler to translate our Java data model to Objective-C, and again we get a natural API on which to build our native iOS Inbox app (complete with -[Reminder snooze]). The astute reader may wonder how we deal with the impedance mismatch when translating from a garbage collected language (Java) to a reference counted one (Objective-C). Generally, J2ObjC relies on Objective-C autorelease pools, so objects normally garbage-collected are instead freed when a pool drains. One problem with this approach is reference cycles; in places that cycles exist in our Java data model, we use a Java annotation to identify the @WeakReference. When transpiled, the corresponding property in Objective-C will have the __weak modifier, thus breaking the retain cycle. In practice we’ve found this to be a relatively minor problem and we have automation tests that flag the rare cases of new cycles creeping into the object model.
Conclusion
If you’re building an application that (a) has significant UI independent client logic, (b) is targeting multiple platforms, (c) must not compromise on user experience and polish, you now have a new option to consider: a shared, cross compiled data model powering fully native application UIs. This has worked well for Inbox, where we are sharing roughly two-thirds of our client code, and have delivered a product with the same functionality and ship date, without having to rewrite the entire thing three times. Want to learn more about the technologies that power Inbox? Check out
http://gwtproject.org
and
http://j2objc.org
.
A bit about Bundles in Inbox
November 19, 2014
Posted by Shalini Agarwal, Product Manager
One of the first things you'll notice using
Inbox
is that it feels less cluttered and overwhelming with messages grouped into Bundles.
Bundles, illustrated by Manu Cornet, Software Engineer on Inbox
Bundles expand on Gmail's categories so you can stay organized with less effort and read the most important messages—like those from friends and family—first. You'll also experience less interruptions since bundled messages don't create a notification on your phone by default.
With Bundles, promotions are neatly organized, purchases are in one place, and all your trip information is together all so you can deal with related messages all at once. For example, you can open up a bundle, quickly pin the messages you want to keep in your inbox and sweep away the rest.
Of course that's not the only way you're in control. You can also teach Bundles to adapt to the way you work by choosing which messages you’d like to see grouped together and when they appear in your inbox: as they arrive, once a day, once a week or even skip the inbox entirely.
Try setting your Promos and Social bundles to once a day and see if that helps you focus on other messages first.
Bundles work together with
Highlights
to give you just the information you need at a glance so stay tuned for a closer look at Highlights next week. If you aren't using Inbox by Gmail yet, look for an invite from a friend or email us at
inbox@google.com
to get an invitation as soon as more become available.
A more modern Gmail app for Android
November 3, 2014
Posted by Matthew Izatt, Product Manager
Today, the Gmail app for Android is getting updated with a more modern style, sleeker transitions, and a few other handy improvements.
As part of the new design, there’s now a convenient reply button at the bottom of every message, making it quick and easy to continue a conversation when you’re on the go. And if you access the app on your Android tablet, you’ll notice it’s easier to switch between accounts and the different inbox categories.
Lastly, we know some of you have email addresses that aren’t Gmail (it’s okay to admit it). The updated Gmail app now supports all email providers, which means you can now set up a separate inbox for, say, your Yahoo Mail or Outlook.com addresses using POP/IMAP.
The updated Gmail app will support all Android 4.0+ devices, so look for it in Google Play over the next few days and let us know what you think!
A new day for Google Calendar
November 3, 2014
Posted by Ian Leader, Product Manager
Today we’re introducing a brand new Google Calendar app. It’s designed to be a helpful assistant, so you can spend less time managing your day, and more time enjoying it.
It takes a lot of work to stay on top of your schedule, after all. You have to manually enter that hotel or dinner reservation, then update it if your plans change. You have to hunt around for addresses and phone numbers, then add them to your events. And if you’re on a mobile device, you might just give up on these kinds of tasks entirely.
Calendars (like
email
) should do better—especially on phones and tablets—so we set out to build one that’s always at your service. Here are just some of the ways the new Calendar app can help.
Events from Gmail: now emails can turn into Calendar events automatically
Every time you book a flight, buy concert tickets, or make a hotel reservation, odds are you get an email with dates, times and other important details. But who has the time (or patience) to copy and paste all this into their calendar? In the new Calendar app these kinds of emails become events automatically, complete with things like flight numbers and check-in times. They’ll even stay updated in real time if your flight's delayed, or you receive another email update.
Assists: suggestions that save you time
Of course, not all event info arrives in your inbox. You often have to piece together phone numbers, addresses and attendees from lots of different sources, then add them to your calendar manually. With Assists, Calendar can suggest titles, people and places as you type, as well as adapt to your preferences over time. For example, if you often go running with Peter in Central Park, Calendar can quickly suggest that entire event when you type ‘r-u-n.’
Schedule View: easy to scan and lovely to look at
Your calendar is more than just a list of dates and times—it’s your life! So Calendar’s new Schedule view includes photos and maps of the places you’re going, cityscapes of travel destinations, and illustrations of everyday events like dinner, drinks and yoga. These images will bring a little extra beauty to your day, and make it easy to see what’s going on at a glance—perfect for when you’re checking in from your phone or tablet.
The new Google Calendar will work on all Android 4.1+ devices. It’s available today on all devices running Android 5.0 Lollipop, and you’ll be able to download the update from Google Play in the coming weeks. (And yes, we’re also working on a version for iPhone!) Learn more on
our website
.
Labels
buzz
calendar
Gmail Blog
Google Apps Blog
Google Calendar
googlenew
Inbox
Inbox by Gmail
labs
mobile
Offline
reader
tasks
tip
Archive
2016
Sep
Aug
Apr
Mar
Feb
Jan
2015
Dec
Nov
Oct
Sep
Jul
Jun
May
Apr
Mar
Feb
Jan
2014
Dec
Nov
Oct
Aug
Jul
Apr
Mar
Feb
Jan
2013
Dec
Nov
Oct
Sep
Jul
Jun
May
Apr
Mar
2012
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2011
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2010
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2009
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2008
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2007
Dec
Nov
Oct
Sep
Aug
Jul
Feed
Google
on
Follow @gmail
Follow
Give us feedback in our
Product Forum
.
Get posts via email
Email:
Powered by
Google Groups
Useful Links
About Gmail
Gmail for Mobile
Gmail for Work