Tackling Teen Substance Abuse: New Online Tools for Families Seeking Answers
November 20th, 2014 | by Google Public Policy Blog | published in Google Public Policy
November 20th, 2014 | by Google Public Policy Blog | published in Google Public Policy
November 20th, 2014 | by Jane Smith | published in Google Apps
whatsnew.googleapps.com
Get these product update alerts by email
Subscribe to the RSS feed of these updates
November 20th, 2014 | by The Gmail Team | published in Gmail (Google Mail)
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.
November 20th, 2014 | by John A.Smith | published in Google Adsense
When the Sandbecks noticed that 40% of their users were actually using mobile devices, they decided to redesign their site using responsive web design. With the help of Google’s multi-screen resources, they began designing “for the smallest screen first” with added experiences for desktop users.
Today, ThriftyFun.com works for users on all devices. Lewis notes that “we’re seeing mobile users actually visit more pages thanks to the new design”. Watch the video to learn why ThriftyFun.com decided to go mobile.
To learn how you too can provide a great site experience for all of your users, follow our multi-screen starter guide.
Posted by Hye In Kim, Multi-Screen Specialist
Was this blog post useful? Share your feedback with us.
November 20th, 2014 | by Adam Singer | published in Google Analytics
As a member of the Google Analytics Developer Relations team, I often hear from our community that they want to do more with GA but don’t always know how. They know the basics but want to see full examples and demos that show how things should be built…
November 20th, 2014 | by Sarah H | published in Google Student Blog
Our interns have the opportunity to work on some of Google’s most cutting edge and innovative projects – not only in engineering, but across sales and other business functions, bringing a fresh perspective to the work done at Google. To show you just how much of an impact interns make and to highlight their unique experiences, we’re bringing you a special blog series: Google Intern Insights. Make sure to look out for the different interns being featured on the blog throughout the fall!
Where are you from?
I’m from Istanbul, Turkey
Where and what do/did you study at University?
I’m currently doing a double major in Business Administration and Economics at Koc University in Istanbul.
What inspired you to apply for this internship, and what made Google appealing to you as a potential intern?
I’ve always been a big Google fan! I’ve grown up being amazed by Google and its products. For me, Google is the best place I could ever ask to work. It has its own unique vibe, hence the word “Googleyness”. There couldn’t have been a better place to do my internship, than in Ireland at Google Dublin (EU HQ). I was 100% sure I would learn amazing things, and advance in many ways. All in all, I have to say: I’m blessed to have had this opportunity and cannot wait to come back!!
What type of internship are you doing?
I did my internship in the SMB (Small and Medium Business) Services Turkey team. My job was to sell AdWords features to eligible customers based on their needs and provide troubleshooting for any of the problems they may potentially experience while using AdWords.
It’s amazing! To begin with, I love working with AdWords – I think it’s a brilliant tool. And I genuinely like providing special assistance to advertisers from all over Turkey on their digital marketing strategies and showing them the do’s and don’ts of online advertising. So much fun!
What does your workday look like?
During the day we have workflow tables so that we know when we need to be on hand to talk with customers. During this time I would receive calls from customers and provide a variety of support, such as: troubleshooting and account optimization, etc.
What’s something you’ve accomplished during your internship (thus far) that you’re most proud of? Or something you’re looking forward to working on?
On top of my core job, I am most proud of my 50% project, which is to optimize the AdWords Turkey Education Channels, consisting of online platforms such as YouTube, AdWords Forum, Blog, Twitter and the G+ page. This required that I take a deep-dive into the various channels and analyze them based on their customer profile. For the final project outcome, I was able to successfully deliver a new targeting strategy.
At Google you have an opportunity to collaborate with people from many different backgrounds. What moment stood out to you, where diversity in the team made for better and more innovative work?
I can say without a doubt that my team had people with a wide range of different backgrounds and personalities. I can’t even begin to tell you about the level of diversity at Google!
In my opinion, diversity on the team made for better and more innovative work every step of the way. I can definitely say that the Google atmosphere is created by all the different bits and pieces of these unique people.
We all know Googlers and interns love the food and the other perks. Outside of some of the well-known perks, what’s your favorite part about working at Google?
Besides the amazing perks (e.g. having massage appointments in the middle of the day!) I’d say that my favorite part was how valued I felt. While an intern, there wasn’t a single moment where I felt like “just an intern.” I was alway treated equally and respected by the people I worked with, no matter how senior they were ― which completely amazes me!
Also the level of liberty in this company is unbelievable. The company trusts its employees (‘us’) and does everything possible to remove obstacles that most companies have in place to ensure employee happiness and peace of mind.
What does “being Googley” mean to you?
It always rings a bell of a happy, positive, energetic person who’s in pursuit of doing something bigger and better. Always innovates, tries new things, steps out of boundaries and explores opportunities. Strives to be respectful and helpful to the people around them. Creative and open-minded! Can I go on…?!
What do you like most about your Google office and its locations?
The Google office is just unbelievable. It’s our own little utopia! It’s designed in a way to make employees happy, comfortable and peaceful. I’m so grateful for all the colorful sofas, massages and sleeping rooms!
Outside of being a Google intern, what are some fun things you do outside the classroom/office throughout the year?
I’m currently building up my travel blog, where I post movie-like videos created of my trips throughout my university years. Really looking forward to it! Other than that, as obvious as it may seem, I’m a travel addict and I try to hop on the plane as much as I can during the year!
What will you do after your internship?
I’m back to studying for one more year at university, to get my bachelor’s degree. After that, I will try my best to join the Google community once again!
What are your top 2 tips to potential student applicants?
The Google environment, the people, and the Google soul is what makes Google the unique company it is today. Therefore, learn more about Google’s culture and try to find out for yourself, not just whether you are a good fit for the company but also if the company fits you back.
Be open to new challenges and step outside your comfort zone. If you want to stand out, and be different, definitely push your boundaries and test your limits.
Interested to join the Google team? Check out our student positions today and apply!
EEA work authorization is required for roles supporting EEA markets.
Posted by Nicole Zwaaneveld, University Programs Team
November 20th, 2014 | by Android Developers | published in Google Android
Posted by Leticia Lago, Google Play team
musiXmatch is an app that offers Android users the unique and powerful feature FloatingLyrics. FloatingLyrics pops up a floating window showing synched lyrics as users listen to tracks on their favorite player and music services. It’s achieved through a seamless integration with intents on the platform, something that’s technically possible only on Android.
As a result musiXmatch has seen “a dramatic increase in terms of engagement’, says founder Max Ciociola, “which has been two times more active users and even two times more the average time they spend in the app.”
The ability to deliver lyrics to a range of different devices — such as Chromecast, Android TV, and Android Wear — is creating opportunities for musiXmatch. It’s helping them turn their app into a smart companion for their users and getting them closer to their goal of reaching 100 million people.
In the following video, Max and Android engineer Sebastiano Gottardo talk about the unique capabilities that Android offers to musiXmatch:
To learn about achieving great user engagement and retention and reaching more users through different form factors, be sure to check out these resources:
+Android Developers
November 19th, 2014 | by Android Developers | published in Google Android
By Ellie Powers, product manager for Google Play
Google Play is the largest digital store for Android users to discover and purchase their favorite mobile app and games, and the ecosystem is continuing to grow globally. Over the past year, we’ve expanded the list of countries where app developers can sign up to be merchants on Google Play, totaling 60 countries, including Lebanon, Jordan, Oman, Pakistan, Puerto Rico, Qatar and Venezuela most recently.
As part of that continued effort, we’re excited to announce merchant support in China, enabling local developers to export and sell their apps to Google Play users in more than 130 countries. Chinese developers can now offer both free and paid applications through various monetization models, including in-app purchasing and subscriptions. For revenue generated on Google Play, developers will receive payment to their Chinese bank accounts via USD wire transfers.
If you develop Android apps in China and want to start distributing your apps to a global audience through Google Play, visit play.google.com/apps/publish and register as a developer. If you want to sell apps and in-app products, you’ll need to also sign up for a Google Wallet merchant account, which is available on the “Revenue” page in the Google Play Developer Console. After you’ve uploaded your apps, you can set prices in the Developer Console and later receive reports on your revenue. You’ll receive your developer payouts via wire transfer. For more details, please visit our developer help center.
We look forward to continuing to roll out Google Play support to developers in many more countries around the world.
中国开发者可以向全球130个国家的Google Play用户提供付费应用啦
发表者:Ellie Powers, Google Play产品经理
Google Play是一个可让Android用户发现和购买他们喜爱的移动应用程序和游戏的全球最大的应用商店,这个生态系统在全球迅速成长。过去一年中,我们已经扩展到60个国家,让应用程序开发人员可以注册成为 Google Play的商家,其中新近支持的国家包括黎巴嫩、约旦、阿曼、巴基斯坦、波多黎各、卡塔尔和委内瑞拉。
作为持续改进 Google Play努力的一部分,我们很高兴地宣布在中国增加了对商家的支持,让中国的开发者能售卖应用程序到130个国家的 Google Play 用户。中国的开发者现在可以提供通过各种盈利模式的免费和付费应用,包括应用内购买和订阅。在 Google Play 产生的营收将通过美元电汇的方式支付给开发者的中国的银行账户。
如果你在中国开发Android应用程序,并希望通过 Google Play 把应用程序推广到全球,请登录play.google.com/apps/publish 并建立你的 Google Play 开发者账户。如果你想售卖付费的应用程序和应用程序内的产品,则需要再注册一个Google 电子钱包商家帐户,通过Google Play开发者控制台里的”营收”页面进行设置。上传应用程序后,你可以通过开发者控制台设定价格,之后就可以收到营收报告,你将会通过电汇的方式获得收入。
我们将继续增加更多 Google Play 商家支持的国家,敬请关注。
更多详情,请访问我们的开发者帮助中心。
+Android Developers
November 19th, 2014 | by Maps Devel | published in Google Maps
Several months back we released a new Google Maps Embed API which enables developers to generate HTML snippets that embed Google Maps within their own website. At that time, the astute reader may have noticed that Street View and Photo Spheres were missing. Until now!
Today, we added the ability to easily embed the Street View and Photo Sphere images you find in Google Maps and we’re also enabling the same capabilities programmatically in the Google Maps Embed API. These embeds use the new imagery viewer technology that powers Street View in the new Google Maps.
Embedding a Street View or Photo Sphere works similarly to the Street View Service in Google Maps JavaScript API v3 – specify a lat/lng or panorama ID to pick your location, plus heading and pitch to determine direction of the scene and angle of the camera.
Lastly, since this feature is part of the Google Maps Embed API, embedded Street View panoramas are also free of usage limits. So go forth and embed!
Posted by Ken Hoetmer, Product Manager, Google Maps APIs
November 19th, 2014 | by The Gmail Team | published in Gmail (Google Mail)
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 to get an invitation as soon as more become available.
November 19th, 2014 | by Jane Smith | published in Google Apps
whatsnew.googleapps.com
Get these product update alerts by email
Subscribe to the RSS feed of these updates
November 19th, 2014 | by Open Source Programs Office | published in Google Open Source
We’re pleased to announce Pie Noon, a simple game created to demonstrate multi-player support on the Nexus Player, an Android TV device. Pie Noon is an open source, cross-platform game written in C++ which supports
November 19th, 2014 | by Android Developers | published in Google Android
Posted by Alex Ames, Fun Propulsion Labs at Google*
We’re pleased to announce Pie Noon, a simple game created to demonstrate multi-player support on the Nexus Player, an Android TV device. Pie Noon is an open source, cross-platform game written in C++ which supports:
Pie Noon serves as a demonstration of how to use the SDL library in Android games as well as Google technologies like Flatbuffers, Mathfu, fplutil, and WebP.
You can download the game in the Play Store and the latest open source release from our GitHub page. We invite you to learn from the code to see how you can implement these libraries and utilities in your own Android games. Take advantage of our discussion list if you have any questions, and don’t forget to throw a few pies while you’re at it!
* Fun Propulsion Labs is a team within Google that’s dedicated to advancing gaming on Android and other platforms.
+Android Developers
November 19th, 2014 | by Google Chrome Blog | published in Google Chrome
We all know how hard it can be to find something once you’ve saved it. Starting today, it’s a lot easier thanks to an update to bookmarks in the latest Chrome Beta. We’ll be rolling this feature gradually out over the next few weeks. Try out the new Bookmarks Manager by going to your Chrome Menu > Bookmarks > Bookmarks Manager.
Now when you create a bookmark, you can select an image and add a note or snippet to help you find that bookmark more quickly later. Google will also suggest a folder if it seems like it could be a fit.
The new bookmarks get even better if you’re signed in to Chrome with sync enabled:
Adding, organizing, and browsing your bookmarks is now easier (and prettier) than ever before. Have any questions about your new bookmarks? Join the discussion here.
Posted by Cynthia Johanson, Product Manager and Super Star-rer
November 19th, 2014 | by Rob Newton | published in Google Adwords
We hope these additions will help you identify easy-wins for the holidays and unlock new, more actionable ways to optimize your Shopping campaigns. We’ll continue to explore other reporting needs so you have relevant and useful data at your fingertips. Visit our help center articles for more information on Auction insights, Search impression share, bid simulator columns, and the flattened product groups view.
Posted by Dimitris Meretakis, Product Manager, Google Shopping