Skip to content

Software Development Blogs: Programming, Software Testing, Agile Project Management

Methods & Tools

Subscribe to Methods & Tools
if you are not afraid to read more than one page to be a smarter software developer, software tester or project manager!

Google Code Blog
Syndicate content
ewoodhttp://www.blogger.com/profile/12341551220176883769noreply@blogger.comBlogger1454125
Updated: 5 hours 5 min ago

What’s new with Google Fit: Distance, Calories, Meal data, and new apps and wearables

Tue, 06/30/2015 - 18:52

Posted by Angana Ghosh, Lead Product Manager, Google Fit

To help users keep track of their physical activity, we recently updated the Google Fit app with some new features, including an Android Wear watch face that helps users track their progress throughout the day. We also added data types to the Google Fit SDK and have new partners tracking data (e.g. nutrition, sleep, etc.) that developers can now use in their own apps. Find out how to integrate Google Fit into your app and read on to check out some of the cool new stuff you can do.

table, th, td { border: clear; border-collapse: collapse; }

Distance traveled per day

The Google Fit app now computes the distance traveled per day. Subscribe to it using the Recording API and query it using the History API.

Calories burned per day

If a user has entered their details into the Google Fit app, the app now computes their calories burned per day. Subscribe to it using the Recording API and query it using the History API.

Nutrition data from LifeSum, Lose It!, and MyFitnessPal

LifeSum and Lose It! are now writing nutrition data, like calories consumed, macronutrients (proteins, carbs, fats), and micronutrients (vitamins and minerals) to Google Fit. MyFitnessPal will start writing this data soon too. Query it from Google Fit using the History API.

Sleep activity from Basis Peak and Sleep as Android

Basis Peak and Sleep as Android are now writing sleep activity segments to Google Fit. Query this data using the History API.

New workout sessions and activity data from even more great apps and fitness wearables!

Endomondo, Garmin, the Daily Burn, the Basis Peak and the Xiaomi miBand are new Google Fit partners that will allow users to store their workout sessions and activity data. Developers can access this data with permission from the user, which will also be shown in the Google Fit app.

How are developers using the Google Fit platform?

Partners like LifeSum, and Lose It! are reading all day activity to help users keep track of their physical activity in their favorite fitness app.

Runkeeper now shows a Google Now card to its users encouraging them to “work off” their meals, based on their meals written to Google Fit by other apps.

Instaweather has integrated Google Fit into a new Android Wear face that they’re testing in beta. To try out the face, first join this Google+ community and then follow the link to join the beta and download the app.

We hope you enjoy checking out these Google Fit updates. Thanks to all our partners for making it possible! Find out more about integrating the Google Fit SDK into your app.

Categories: Programming

Quake® III on your TV with Cast Remote Display API

Wed, 06/24/2015 - 18:45

Posted by Leon Nicholls, Developer Programs Engineer and Antonio Fontan, Software Engineer

At Google I/O 2015 we announced the new Google Cast Remote Display APIs for Android and iOS that make it easy for mobile developers to bring graphically intensive apps or games to Google Cast receivers. Now you can use the powerful GPUs, CPUs and sensors of the mobile device in your pocket to render both a local display and a virtual one to the TV. This dual display model also allows you to design new game experiences for the display on the mobile device to show maps, game pieces and private game information.

We wanted to show you how easy it is to take an existing high performance game and run it on a Chromecast. So, we decided to port the classic Quake® III Arena open source engine to support Cast Remote Display. We reached out to ID Software and they thought it was a cool idea too. When all was said and done, during our 2015 I/O session “Google Cast Remote Display APIs for Games” we were able to present the game in 720p at 60 fps!

During the demo we used a wired USB game controller to play the game, but we've also experimented with using the mobile device sensors, a bluetooth controller, a toy gun and even a dance mat as game controllers.

Since you're probably wondering how you can do this too, here's the details of how we added Cast Remote Display to Quake. The game engine was not modified in any way and the whole process took less than a day with most of our time spent removing UI code not needed for the demo. We started by using an existing source port of Quake III to Android which includes some usage of kwaak3 and ioquake3 source code.

Next, we registered a Remote Display App ID using the Google Cast SDK Developer Console. There’s no need to write a Cast receiver app as the Remote Display APIs are supported natively by all Google Cast receivers.

To render the local display, the existing main Activity was converted to an ActionBarActivity. To discover devices and to allow a user to select a Cast device to connect to, we added support for the Cast button using MediaRouteActionProvider. The MediaRouteActionProvider adds a Cast button to the action bar. We then set the MediaRouteSelector for the MediaRouter using the App ID we obtained and added a callback listener using MediaRouter.addCallback. We modified the existing code to display an image bitmap on the local display.

To render the remote display, we extended CastPresentation and called setContentView with the game’s existing GLSurfaceView instance. Think of the CastPresentation as the Activity for the remote display. The game audio engine was also started at that point.

Next we created a service extending CastRemoteDisplayLocalService which would then create an instance of our CastPresentation class. The service will manage the remote display even when the local app goes into the background. The service automatically provides a convenient notification to allow the user to dismiss the remote display.

Then we start our service when the MediaRouter onRouteSelected event is called by using CastRemoteDisplayLocalService.startService and stop the service when the MediaRouter onRouteUnselected event is called by using CastRemoteDisplayLocalService.stopService.

To see a more detailed description on how to use the Remote Display APIs, read our developer documentation. We have also published a sample app on GitHub that is UX compliant.

You can download the code that we used for the demo. To run the app you have to compile it using Gradle or Android Studio. You will also need to copy the "baseq3" folder from your Quake III game to the “qiii4a” folder in the root of the SD card of your Android mobile device. Your mobile device needs to have at least Android KitKat and Google Play services version 7.5.71.

With 17 million Chromecast devices sold and 1.5 billion touches of the Cast button, the opportunity for developers is huge, and it’s simple to add this extra functionality to an existing game. We're eager to see what amazing experiences you create using the Cast Remote Display APIs.

QUAKE II © 1997 and QUAKE III © 1999 id Software LLC, a ZeniMax Media company. QUAKE is a trademark or registered trademark of id Software LLC in the U.S. and/or other countries. QUAKE game assets used under license from id Software LLC. All Rights Reserved

QIII4A © 2012 n0n3m4. GNU General Public License.

Q3E © 2012 n0n3m4. GNU General Public License.

Categories: Programming

Attach Google Drive files to Calendar events with the Calendar API

Tue, 06/23/2015 - 20:43

Posted by Iskander Akishev, Software Engineer, Google Calendar

Originally posted to the Google Apps Developer blog

The Google Calendar API allows you to create and modify events on Google Calendar. Starting today, you can use the API to also attach Google Drive files to Calendar events to make them—and your app—even more useful and integrated. With the API, you can easily attach meeting notes or add PDFs of booking confirmations to events.

Here's how you set it up:

1) Get the file information from Google Drive (e.g. via the Google Drive API):

GET https://www.googleapis.com/drive/v2/files

{
...
"items": [
{
"kind": "drive#file",
"id": "9oNKwQI7dkW-xHJ3eRvTO6Cp92obxs1kJsZLFRGFMz9Q,
...
"alternateLink": "https://docs.google.com/presentation/d/9oNKwQI7dkW-xHJ3eRvTO6Cp92obxs1kJsZLFRGFMz9Q/edit?usp=drivesdk",
"title": "Workout plan",
"mimeType": "application/vnd.google-apps.presentation",
...
},
...
]
}

2) Pass this information into an event modification operation using the Calendar API:

POST https://www.googleapis.com/calendar/v3/calendars/primary/events?supportsAttachments=true

{
"summary": "Workout",
"start": { ... },
"end": { ... },
...
"attachments": [
{
"fileUrl": "https://docs.google.com/presentation/d/9oNKwQI7dkW-xHJ3eRvTO6Cp92obxs1kJsZLFRGFMz9Q/edit?usp=drivesdk",
"title": "Workout plan",
"mimeType": "application/vnd.google-apps.presentation"
},
...
]
}

Voilà!

You don’t need to do anything special in order to see the existing attachments - they are now always exposed as part of an event:

GET https://www.googleapis.com/calendar/v3/calendars/primary/events/ja58khmqndmulcongdge9uekm7

{
"kind": "calendar#event",
"id": "ja58khmqndmulcongdge9uekm7",
"summary": "Workout",
...
"attachments": [
{
"fileUrl": "https://docs.google.com/presentation/d/9oNKwQI7dkW-xHJ3eRvTO6Cp92obxs1kJsZLFRGFMz9Q/edit?usp=drivesdk",
"title": "Workout plan",
"mimeType": "application/vnd.google-apps.presentation",
"iconLink": "https://ssl.gstatic.com/docs/doclist/images/icon_11_presentation_list.png"
},
...
]
}

Check out the guide and reference in the Google Calendar API documentation for additional details.

For any questions related to attachments or any other Calendar API features you can reach out to us on StackOverflow.com, using the tag #google-calendar.

Categories: Programming

Grow your app installs with App Invites from Google

Fri, 05/29/2015 - 15:11

Posted by Ranjith Jayaram, Product Manager

If you’re looking to drive usage and grow a mobile app, you’re probably testing out referrals, recommendations, and the user onboarding experience. These product flows are resource-intensive to design, build, and optimize. What if you could use a set of tools that help your users share your app, and get more of the right people to download and use your app? What if you could craft a more personalized onboarding experience in your new user’s journey?

Now in beta, App Invites let mobile app developers increase their reach, deep link new users to custom experiences, and tap into your users’ device and Google-wide contacts as a source to drive referrals. This is available for both iOS and Android app developers. We’re launching with UrbanSitter, Yummly, The CW, Coinbase and Picsart apps.

Here’s what some of our early partners had to say:

  • For Andrea Barrett, co-founder and VP of Product at UrbanSitter, “App Invites gives our members the ability to easily share favorite sitters with their friends and Google contacts. As a service targeting busy parents, our user growth thrives on social recommendations and word-of-mouth referrals, so Google’s app invites are a natural fit for us.”
  • Sharing is an important part of TV network The CW’s app growth strategy. “Tools that help fans of our shows recommend The CW app to their contacts and friends are important. App Invites let’s specific users share their favorite shows with selected friends; it's the next evolution of ‘word of mouth’. We’re integrating App Invites into our episode sharing capabilities, so that fans can speak to each other about the The CW app.” - Zach Mannon, Director of Digital Media at Warner Brothers Television
  • For PicsArt, their fast growth to 250M installs has been driven by word-of-mouth. “Google’s new App Invites will accelerate our organic growth even further, giving people the opportunity to proactively invite their friends to join our mission of beautifying the world!" - Arusiak Kanetsyan, Director of Content and Communication
  • Yummly integrated app invites to expand their user base and generate awareness of their app, by allowing people to suggest the app to those who love to cook or are interested in food. “We see this expanding beyond just inviting new users to join our app. In the future, we hope to use this to share different meal ideas and have the opportunity to share your shopping list with family members or even inviting friends over for dinner. With the power of Google and personalized app invites, making a dinner everyone agrees on will never been easier." -- Brian Witlin, Chief Operating Officer

App Invites is available on both Android and iOS. Here’s what’s in the beta toolkit:

  1. Use app invites for expanded reach: Tap into SMS and email invites via your user’s phone and Google contacts.
  2. Make it easy for your users to send invites. We’ll recommend their closest contacts to share your app with, and suggest a preferred method of delivery.
  3. Send actionable invite cards: Include an install button right in an email invite.
  4. Faster Android install flows: Your new Android users can click App Invite and download your app straight from the Play Store, bypassing the browser windows that usually open in between.
  5. Create personalized onboarding flows: New users can get deep linked into a specific onboarding experience - for example, you can offer custom discount codes or content.
  6. Measure app invites using Google Analytics custom reports.

With App Invites, our goal is to take the hard work out of building user referral and onboarding flows and build a toolkit that works across platforms, so that you can focus on your core app experience. Visit https://developers.google.com/app-invites/ to get started To learn about opportunities to re-engage app users using goo.gl deep links, check out this post.

Categories: Programming

Polymer 1.0 Released!

Fri, 05/29/2015 - 01:33

Posted by Taylor Savage, Product Manager, Polymer

Today we released the 1.0 version of the Polymer library. Polymer is a new way of thinking about building web applications - a sugaring layer on top of Web Components, making it easy for you to create interoperable custom elements. These elements can then be put together to create app-like immersive experiences on the web.

Since the “Developer Preview” release, we’ve re-written the library from the ground up, focusing on cross-browser performance while keeping the developer-friendly ergonomics. The new library is about 3x faster on Chrome, 4x faster on Safari, and a third less code than in developer preview. And it’s ready to be used in production applications.

Get started with the new library

We’ve updated the polymer-project.org site with documentation for the 1.0 release. Major new and updated features include:

  • Brand-new, fast, and easy-to-use data binding system
  • Element theming and styling using custom CSS properties
  • Fast and lightweight Shadow DOM shim for non-supporting browsers
  • “Behaviors” mechanism for sharing behavior between elements

It’s easier than ever to create high-quality, production-ready elements using Polymer, to use in your app or share with other developers.

Browse, demo, and learn how to use the latest elements built by the Polymer team

Check out the many brand-new element product lines built by the Polymer team with the Polymer elements catalog. There you can browse for elements to help create or add features to your web app - whether you need buttons or layouts, Google maps or push notifications. For just about any problem you might need to solve on the web, there’s an element for that.

Kick off your app with the Polymer Starter Kit

Looking for a fast and easy way to get started building a production-ready web application using Polymer? Use the Polymer starter kit. Packed with the latest elements, ready-to-use boilerplate, and an end-to-end toolchain to use from development through production deployment, the starter kit works out of the box so you can focus on adding features right away.

We’re incredibly excited about this release, and can’t wait to see what you’ll build!

Categories: Programming

Introducing the Google Identity Platform

Thu, 05/28/2015 - 22:34

Posted by Adam Dawes, Product Manager

Identity is an important building block to any app. Even if it’s not top of mind when you’re building out new features, authentication is critical to get right. We realize developers want their users to have an efficient and secure experience with their products rather than dealing with forgotten passwords that prevent app usage. The Google Identity Platform is a suite of developer tools that cuts friction out of every step of getting people signed in: Smart Lock for Passwords, Google Sign-in, and Identity Toolkit.

New: Get people automatically signed-in with Smart Lock for Passwords

Smart Lock is a password manager built into your Google account. It can automatically sign you into an Android app, and autofills credentials on websites viewed with Chrome. It removes the need to remember and type in password credentials.

We're now extending Smart Lock as an API to app developers and publishers, starting with Android. Android developers can programmatically save and retrieve credentials, and automatically sign their users in across devices and websites in Chrome. Companies like Eventbrite, Orbitz, Netflix, Instacart, the New York Times, and soon — LinkedIn, are using Smart Lock for Passwords to get people automatically signed-in across their properties.

For new account sign-ups, or first-time sign ins, your users now have the option to save their passwords to Smart Lock, and be automatically signed-in subsequently.

How does Smart Lock for Passwords work for your app or site? It recognizes and pre-fills login credentials across devices. When a user signs into or signs-up on your property, they’ll see a Smart Lock prompt to save their password for future use. If they accept, they’ll never have to enter a password again on your Android app or website on Chrome. In turn, this helps your app or site boost sign-up and sign-in rates for new and existing users.

This also means when your users buy and activate new devices, they can easily download and get logged right back into your app using the proper account. You don’t have to spend resources in re-acquiring them again, or encounter forgotten passwords along the way.

Integrating with Smart Lock for Passwords lets your users save their password on one device, and be automatically be signed-in on other devices.

Here’s how early partners are using Smart Lock for Passwords, which you can see rolling out in their Android apps and websites on Chrome.

  • Eventbrite easily integrated and tested SmartLock in their app to increase the number of signed in users, because signing in "gives users a more personalized event discovery experience and a more seamless ticket purchase experience", says Atul Kakkar, Senior Product Manager at Eventbrite.
  • For Instacart, “Smart Lock makes sign-in much faster, sparing the need for users to type in their information - across devices. Many people first browse Instacart on mobile or desktop web and then download the app. With all their credentials ready, our customers can get their groceries even faster. We’re excited for integrating with Smart Lock to help save customer time, and increase business conversions.” - Maksim Golivkin, Android Engineer
  • Netflix is using Smart Lock for Passwords to keep viewers signed in and consuming content no matter what device they’re watching on, even in the living room on Android TV. "Wherever possible, we want to reduce friction in getting our members authenticated across devices. Smart Lock can help, particularly on big screens, where entering user credentials is more cumbersome than on mobile or PC." - Rob Caruso, Director of Partner Engagement
  • In addition to helping pave the way for paid subscribers, the New York Times is using Smart Lock to help build a better cross-device experience for their readers. “This is a retention strategy for us, and part of an ongoing push to create registration and signed-in usage in the app. Smart Lock for Passwords makes it essentially frictionless for someone to do so. Readers who log in or create a registration have a higher propensity to subscribe, and this goes up further if they’re interacting with us on multiple platforms.” - Rachel Kirscht, Android Marketing Manager
  • “When consumers sign-in on Orbitz they benefit in a number of ways. For example, people can get quick access to the travel searches they’ve done on Orbitz using a different device and have a streamlined booking experience with minimal data entry. While traveling, signed-in app users receive push notifications to stay on top of flight delays and gate changes. Desktop Orbitz.com users can now get all these benefits automatically in our app when they utilize Smart Lock, avoiding the usual friction of sign-in or having to know that sign-in comes with benefits.” - Ryan Kowalczyk, Senior Director, Product Strategy
  • For beta partner LinkedIn, "We are thrilled to be Google's launch partner for their Smart Lock debut, which helps to further simplify the log-in experience for our existing LinkedIn members as well as streamline the sign-up process for new members.” - Bob Rosin, VP of Business Development at LinkedIn

Later on this year, we’re planning to offer new features including support for sync passphrases and Smart Lock for Passwords API support on other platforms. Stay tuned!

Give people a trusted registration system with Google Sign-in

Google Sign-in is the gateway to securely connecting Google’s users and services to your app or site. It reduces the burden of login for your users, by enabling them to sign in with their Google account—the same account they already use with Gmail, Play, Google+, and other Google services. The New York Times was able attribute a 20% lift in new registered user signups to the implementation of Google Sign-In, in the months immediately following launch.

Implement authentication in-a-box with Identity Toolkit

Identity Toolkit gives you a robust, more secure authentication system that helps you do sign-in the right way, and can grow with your app. The toolkit supports email and password authentication as well as major identity providers including Google and Facebook. Even non-technical developers can add future sign-in options and migrate existing users with simple configuration changes. Getting started with Identity Toolkit lets you easily scale your auth system as you grow across platforms.

We hope that the Google Identity Platform makes it easy for your users to sign in, so that you can deliver them more personalized, engaging experiences. To view documentation, visit developers.google.com/identity

Categories: Programming

Add Google to your iOS Apps with CocoaPods

Thu, 05/28/2015 - 20:43

Posted by Jonathan Beri, Product Manager

Today, we’re announcing that CocoaPods will be the primary channel to acquire Google SDKs for iOS. CocoaPods is a popular, free dependency manager for iOS that significantly simplifies the process of importing libraries and frameworks into Xcode. And it will help you manage your dependencies between our various libraries.

While there was a small but growing number of official Google Pods, as well as a few Pods written by other iOS developers, it was often difficult for developer to find the right SDK. With today’s announcement, some of our key libraries, like Google Cloud Messaging and the Google Maps SDK for iOS can now be found on the public CocoaPods service. Going forward, new iOS SDKs will be packaged and documented as Pods and published on cocoapods.org. You can find the full list of Google Pods and all supporting documentation at developer.google.com/ios/cocoapods.

If you haven't used CocoaPods yet, now is a great time to give it a try. Add GoogleAnalytics to a Podfile to start counting new users. Or pod install your way to adding AdMob ads in your app. And check out pod try, a CocoaPods plugin that allows you to quickly launch our demo projects.

For more iOS developer protips and to learn more about Google’s iOS SDKs, please check out the Route 85 video series from Todd Kerpelman. We look forward to all the great Google-powered iOS apps you will create!

Categories: Programming

Google I/O 2015: Develop, Engage & Earn

Thu, 05/28/2015 - 20:41

Posted by Jason Titus, Senior Director of Engineering

This morning, we kicked off our 8th annual Google I/O conference, joined by 5,600 developers at Moscone Center, 530 I/O Extended communities around the world, and millions via the I/O Live stream. This year’s event is focused on delivering incredible experiences on mobile and helping developers build successful businesses through these key themes: Develop, Engage, and Earn.

During the keynote, we had a number of announcements that covered the evolution of the mobile platform, tools for Android, iOS, and Web developers, and the push towards more immersive mobile experiences with VR. Here’s a closer look at the news:

Develop
  • Android M Developer Preview — Get an early look at the next version of Android.
  • Google Play services 7.5 — Check out new features like Smart Lock for Passwords, new APIs for Google Cloud Messaging and
  • Google Cast, and the Google Maps API on Android Wear devices.
  • Android Studio 1.3 — Preview Android Studio v1.3, now with improved Gradle build speed, a new memory profiler, and full editing and debugging support for C/C++.
  • Polymer 1.0 — As the first production-ready release for the web components library, we’re also adding new product lines of elements. Features range from toolbars and menus to offline caching.
  • iOS & CocoaPods — Access your favorite libraries via CocoaPods, the official distribution channel for Google SDKs on iOS.
  • Cloud Test Lab — Building on the technology from our acquisition of Appurify, cloud Test Lab automates the testing of your mobile apps.
  • Firebase — Firebase makes it easy to build apps quickly, without spinning up servers or writing server-side code.
Engage
  • App Indexing — Index your app’s content into Google Search, just like you would with a website. Available for Android, and now piloting on iOS.
  • Google Cloud Messaging — As one of the most popular ways to send messages from the cloud to user's devices on Android and Chrome, GCM is now also available on iOS.
  • Engagement on the Web — Access previously unavailable native functionality on the web with push notifications from your mobile website and add to homescreen.
  • Empowering successful global businesses on Google Play — Get new and powerful tools to help you further grow your business, improve decision making based on smarter insights, and engage and retain a valuable user base.
  • Universal App Campaigns coming soon — Set up app install ads with just a few inputs like your budget and the cost you’re willing to pay per user--we take care of the rest.
  • Measure App Installs Ads with Google Analytics — Measure app install campaigns based on engagement and lifetime value. On iOS, Google Analytics is now integrated with 20+ ad networks making it easy to understand how to spend your acquisition budget.
Earn
  • AdMob — Monetize your apps intelligently on a single platform, so you can gain insights about your users, drive more in-app purchases and maximize your ad revenue.
What’s Next
  • Android Nanodegree — Enroll in the industry's first Android Nanodegree, developed in collaboration with Udacity. The curriculum was built from the ground up s to meet the high standard we have for Android development. The Nanodegree covers everything from fundamentals to advanced development skills, as well as Google Play services and Material Design.
  • Cardboard SDK — The Cardboard SDK for Unity now supports both Android and iOS.
Categories: Programming

Announcing new Google Cast APIs

Thu, 05/28/2015 - 20:20

Posted by Nathan Camarillo and David Allison, Google Cast Product Managers

Google Cast makes it easy for developers to extend their mobile experiences to bigger screens and speakers. Since the launch of Chromecast, the first Google Cast device, we’ve seen tremendous success. 17 million Chromecast devices have been sold, with 1.5 billion touches of the Cast button, changing the way people watch TV. In the US, active Chromecast users are consuming 66% more content per day than at launch in July 2013. We see a 45% increase in YouTube watch time upon a Chromecast activation.

The Google Cast ecosystem continues to grow, with a range of new entertainment devices with Google Cast built-in-- from Chromecast and Android TV devices to speakers and soundbars.

Today at Google I/O, we are announcing new developer tools specifically for mobile app and game developers to bring new experiences to the TV.

Google Cast Remote Display APIs (Beta)

We are making it easy for mobile developers to bring graphically intensive apps or games to Google Cast receivers with Google Cast Remote Display APIs for Android and iOS.

While Casting your Android screen is an existing option for users, the new Remote Display API allows mobile developers to build a tailored, integrated second screen experience, without requiring an identical mirroring of content between mobile devices and the Google Cast device.

Remote Display will be available both iOS and Android. Your app will contain the same Google Cast icon allowing users to select a device. On Android, you’ll connect to the device using the helper class CastRemoteDisplayLocalService, then create a subclass of CastPresentation where you can call setContentView() to display any content you want (including drawing directly on a SurfaceView!). The contents of your CastPresentation are then sent over to the connected Google Cast device for display. On iOS, you’ll use the core Google Cast SDK to discover receivers and connect to one, then GCKRemoteDisplayChannel to establish a new Remote Display session. Your app will then send video and audio frames via the session. Adaptors for OpenGL ES and Metal are provided to help integrating Remote Display with existing rendering code.

There’s no need to write a receiver app as the Remote Display APIs are supported natively by all Google Cast receivers. However, you’ll still need to register a Remote Display App ID using the Google Cast SDK Developer Console.

See Remote Display in action with Driver® Speedboat Paradise:

Autoplay and Queuing APIs

Autoplay and Queuing APIs allow developers to create content queues and begin buffering a second video while a first video is finishing playback. This enables the creation of a continuous playback experience and can significantly increase watch time, helping lift per-session watch times by 10-20% or more.

Playing single media items on Chromecast has been something RemoteMediaPlayer (or CastCompanionLibrary’s VideoCastController) has been doing well for some time. With this release, RemoteMediaPlayer is gaining a full media queue, allowing you to queue up multiple MediaQueueItems, skip between items, set a repeat mode, reorder the queue, and enable autoplay for a seamless media playback experience. The MediaStatus returned to you will be augmented with the current queue of items as well as new OnPreloadStatusUpdatedListener, allowing you to display what will be played next. This ensures that all connected devices can easily maintain a synchronized queue of upcoming media items, opening up new possibilities of creating collaborative Google Cast media experiences.

Game Manager APIs for Google Cast

Since last November, Cast has had the ability to turn your TV screen into a game board, racetrack, dance floor, or trivia quiz—inviting everyone in your living room to use their phone as a personal game controller. Now we’re introducing new Game Manager APIs that will simplify the process for developers to build multiplayer games. To make it easier to synchronize game state across a potentially large number of players, Google Play services 7.5 introduces the Cast Game Manager API. This API, available for Android via the GameManagerClient class, iOS, Chrome, and for receivers, allows you to send messages and state changes to all connected clients and the receiver. All of the send methods also have a method that includes a specific player ID, making it possible to have multiple players sharing a single sender device.

All of these APIs are available on Android today. iOS and Chrome SDK updates will be available in the coming days.

You can learn more about these Google Cast APIs on the Google Cast Developers Site. We’re excited to see what you come up with to bring more mobile-centric experiences to the living room.

Categories: Programming

Get ready for even more material design

Wed, 05/27/2015 - 20:11

Posted by Monica Bagagem, Developer Marketing

Google I/O 2015 starts tomorrow, and, like last year, we’ve got an exciting lineup of design-focused content for both developers and designers to experience in-person and online. Just a year ago, we announced material design - a system for cross-platform visual, motion, and interaction design. This year at I/O, we’ll see how material has been adopted and implemented by the community, and our approach on design across our platforms.

Sessions

At 4PM PDT on Thursday, May 28, join Matias Duarte’s “Material Now” session to recap where we’ve been and get a sneak peek of where we’re going with design at Google. We’ll be recognizing some of the phenomenal material design work from across the community, so definitely tune in if you’re an Android developer or designer. For more details, check Matias’ post on Google+.

The session will be live streamed so you can follow along in real-time even if you’re not at Moscone. Recordings will also be available shortly after on the I/O website.

Add Design Sessions to your I/O schedule

Design Sandbox

We’ve dedicated an entire section of Moscone West to design-related programming, including one-on-one and group UX reviews with members of the material design team. Appointments will be on a first-come, first-serve basis, but we'll also have Google designers on hand for more casual questions.

Add Material Design Reviews to your I/O schedule

Sandbox Talks

Google designers and engineers will host several deep-dive, 20 minute tech talks in a breakout area within the Design Sandbox on Level 2. The space has been designed to facilitate conversation and discussion with small audiences, so come prepared with questions! We’ll be covering a range of topics such as cross-platform and responsive design, designing for platforms like Google Cast and Android Auto, and how to adapt material design to your brand. As an added bonus, most Sandbox Talks will take place twice throughout the conference giving you more flexibility to adjust your schedule.

Add Design Sandbox Talks to your I/O schedule

Explore the full Google I/O schedule here.

Be sure to follow +GoogleDesign and @GoogleDesign, where we’ll be posting design-related announcements throughout the conference. You can also follow and join the general conversation about I/O at #io15. See you tomorrow!

Categories: Programming

App deep linking with goo.gl

Wed, 05/27/2015 - 19:36

Posted by Fabian Schlup, Software Engineer

Starting now, goo.gl short links function as a single link you can use to all your content — whether that content is in your Android app, iOS app, or website. Once you’ve taken the necessary steps to set up App Indexing for Android and iOS, goo.gl URLs will send users straight to the right page in your app if they have it installed, and everyone else to your website. This will provide additional opportunities for your app users to re-engage with your app.

This feature works for both new short URLs and retroactively, so any existing goo.gl short links to your content will now also direct users to your app.

Zillow shares a short URL on Twitter that automatically links to their native app.

Share links that ‘do the right thing’

You can also make full use of this feature by integrating the URL Shortener API into your app’s share flow, so users can share links that automatically redirect to your native app cross-platform. This will also allow others to embed links in their websites and apps which deep link directly to your app.

Take Google Maps as an example. With the new cross-platform goo.gl links, the Maps share button generates one link that provides the best possible sharing experience for everyone. When opened, the link auto-detects the user’s platform and if they have Maps installed. If the user has the app installed, the short link opens the content directly in the Android or iOS Maps app. If the user doesn’t have the app installed or is on desktop, the short link opens the page on the Maps website.

Try it out for yourself! Don’t forget to use a phone with the Google Maps app installed: http://goo.gl/maps/xlWFj.

How to set it up

To set up app deep linking on goo.gl:

  1. Complete the necessary steps to participate in App Indexing for Android and iOS at g.co/AppIndexing. Note that goo.gl deep links are open to all iOS developers, unlike deep links from Search currently. After this step, existing goo.gl short links will start deep linking to your app.
  2. Optionally integrate the URL Shortener API with your app’s share flow, your email campaigns, etc. to programmatically generate links that will deep link directly back to your app.

We hope you enjoy this new functionality and happy cross-platform sharing!

Categories: Programming

Surfacing content from iOS apps in Google Search

Wed, 05/27/2015 - 15:51

Posted by Eli Wald, Product Manager

We’ve been helping users discover relevant content from Android apps in Google search results for a while now. Starting today, we’re bringing App Indexing to iOS apps as well. This means users on both Android and iOS will be able to open mobile app content straight from Google Search.

Indexed links from an initial group of apps we’ve been working with will begin appearing on iOS in search results both in the Google App and Chrome for signed-in users globally in the coming weeks:

How to get your iOS app indexed

While App Indexing for iOS is launching with a small group of test partners initially, we’re working to make this technology available to more app developers as soon as possible. In the meantime, here are the steps to get a head start on App Indexing for iOS:

  1. Add deep linking support to your iOS app.
  2. Make sure it’s possible to return to Search results with one click.
  3. Provide deep link annotations on your site.
  4. Let us know you’re interested. Keep in mind that expressing interest does not automatically guarantee getting app deep links in iOS search results.

If you happen to be attending Google I/O this week, stop by our talk titled “Get your app in the Google index” to learn more about App Indexing. You’ll also find detailed documentation on App Indexing for iOS at g.co/AppIndexing. If you’ve got more questions, drop by our Webmaster help forum.

Categories: Programming

Get ready for Google I/O 2015

Tue, 05/26/2015 - 19:24

Posted by Mike Pegg, reppin' I/O since 2011

Google I/O is almost here! We’ll officially kick-off live from the Moscone Center in San Francisco at 9:30AM PDT this Thursday, May 28th. While we’re putting the finishing touches on the keynote, sessions, sandbox talks, and code labs, we wanted to provide you with some tips to get ready to experience I/O, either in-person or offsite.

Navigate the conference with the Web & Android apps

To get the most out of Google I/O, make sure to download the I/O Android App and/or add the I/O web app to your mobile homescreen (both work offline!). From either, you can plan your schedule, view the venue map, and keep up with the latest I/O details. We just updated the website this morning, optimizing it for real-time content, as well as the Android app on Google Play - make sure to download the latest version (3.3.2) before the conference starts.

Attending in person?

New this year, keynote access will be assigned on a first-come, first-serve basis during badge pickup. Be sure to swing by Moscone West tomorrow, Wednesday, May 27th between 9AM-8PM PDT to pick up your badge (full badge pick-up schedule). Don’t forget to bring your government-issued photo ID and a copy of your ticket (on your phone or a printed copy). If you’re an Academic attendee, please remember to bring proof of eligibility. You might want to read through the pro tips in our FAQ before you arrive to learn how to best navigate the conference.

Last but not least, we’re looking forward to kicking back and relaxing with you at the After Hours party during the evening of Day 1. Expect good food, good drinks, and a few Googley surprises. Be sure to check your email during the event for further instructions.

Attending remotely?

Can’t join us in person? Don’t worry, we’ve got you covered! Whether you’re looking to to experience I/O with other devs in your neighborhood, or if you’ll be streaming it live from your couch, here are some ways you can connect with I/O in real-time:

  • I/O Extended: There’s still time to find an I/O Extended event happening near you. We have 460+ events happening in 91+ countries, so your chances of finding one near you are pretty good. These events are organized by Google Developer Groups, Student Ambassadors, and local developers, and include activities such as code labs, hackathons and more.
  • I/O Live: Tune into I/O Live on the web at google.com/io or via the I/O Android app. We will live stream the keynote and all sessions over the course of the event. During breaks, you can watch live interviews happening right from Moscone and educational pre-recorded content. If you want to bring the live stream and/or the #io15 conversation to your audience, simply customize our I/O Live widget and embed it on your site or blog.
  • #io15request: Send us your questions about what’s happening at I/O and a team of onsite Googlers will do their best to track down an answer for you. To submit a request, just make a public post on Google+ or Twitter with the #io15request hashtag. We’ll only be replying to requests made on May 28-29, in English, French or German. Learn more.
  • I/O in photos: Be sure to check out our photo stream during the event. We’ll upload photos in real time, live from Mocone.

We’re looking forward to seeing you in person or remotely on Thursday and Friday. Don’t forget to join the social conversation at #io15!

Categories: Programming

Rolling out the red carpet for app owners in Search Console

Fri, 05/22/2015 - 19:22

Posted by Hillel Maoz, Engineering Lead, Search Console Team and Mariya Moeva, Webmaster Trends Analyst

Originally posted to the Webmaster Central blog

Wouldn’t it be nifty if you could track where your indexed app content shows up in search results, for which queries, which app pages are most popular, and which ones have errors? Yeah, we thought so too! So we’ve equipped our freshly renamed Search Console with new reports to show you how Google understands and treats your app content in search results.

Our goal is to make Search Console a comprehensive source of information for everyone who cares about search, regardless of the format of their content. So, if you own or develop an app, Search Console is your new go-to place for search stats.

Add your app to Search Console

Simply open Search Console and enter your app name: android-app://com.example. Of course, we’ll only show data to authorized app owners, so you need to use your Google Play account to let Search Console know you have access to the app. If you don’t have access to your app in Google Play, ask an owner to verify the app in Search Console and add you next.

Connect your site to your app

Associating your site with your app is necessary for App Indexing to work. Plus, it helps with understanding and ranking the app content better.

Track your app content’s performance in search

The new Search Analytics report provides detailed information on top queries, top app pages, and traffic by country. It also has a comprehensive set of filters, allowing you to narrow down to a specific query type or region, or sort by clicks, impressions, CTR, and positions.

Use the Search Analytics report to compare which app content you consider most important with the content that actually shows up in search and gets the most clicks. If they match, you’re on the right track! Your users are finding and liking what you want them to see. If there’s little overlap, you may need to restructure your navigation, or make the most important content easier to find. Also worth checking in this case: have you provided deep links to all the app content you want your users to find?

Make sure Google understands your app content

If we encounter errors while indexing your app content, we won’t be able to show deep links for those app pages in search results. The Crawl Errors report will show you the type and number of errors we’ve detected.

See your app content the way Google sees it

We’ve created an alpha version of the Fetch as Google tool for apps to help you check if an app URI works and see how Google renders it. It can also be useful for comparing the app content with the webpage content to debug errors such as content mismatch. In many cases, the mismatch errors are caused by blocked resources within the app or by pop-ups asking users to sign in or register. Now you can see and resolve these issues.

To get started on optimizing and troubleshooting your own app, add it to Search Console now. If you want to know more about App Indexing, read about it on our Developer Site. And, as always, you’re welcome to drop by the help forum with more questions.

Categories: Programming

Pie in your face - without the mess

Thu, 05/21/2015 - 23:26

Posted by Anthony Maurice, Fun Propulsion Labs at Google

Fun Propulsion Labs at Google* is back with an exciting new release for game developers. We’ve updated Pie Noon (our open source Android game) to add support for Google Cardboard, letting you jump into the action directly using your Android phone as a virtual reality headset! Select your targets by looking at them and throw pies with a flick of the switch.

Look out for incoming pie!

We used the Cardboard SDK for Android, which helps simplify common virtual reality tasks like head tracking, rendering for Cardboard, and handling specialized input events. And you might remember us from before, bringing exciting game technologies like FlatBuffers, Pindrop, and Motive, all of which you can see in use in Pie Noon.

You can grab the latest version of Pie Noon on Google Play to try it out, or crack open the source code, and take a look at how we brought an existing game into virtual reality.

* Fun Propulsion Labs is a team within Google that's dedicated to advancing gaming on Android and other platforms.

Categories: Programming

Start planning for Google I/O!

Wed, 05/06/2015 - 18:52

Posted by Mike Pegg, reppin' I/O since 2011

Today we launched the official schedule for Google I/O 2015 at google.com/io. At this year’s event, happening May 28-29 in San Francisco, we’ll host more than 200 talks centered around some important topics which matter to you: Design & Develop, to help you build beautiful, powerful apps; Earn & Engage, where we’ll cover tools to grow your user base and create sustainable, successful businesses; and What’s Next, a peek into Google’s emerging platforms. With just over three weeks until Google I/O, start planning your schedule today!

Start building your schedule

Whether you’re attending in person or virtually, you can get started building your schedule. Don’t worry about converting the start and end times to your local time zone, we’ve taken care of that for you. Simply sign in to the I/O website to add talks directly to “My Schedule.” If you’re using Chrome (on Android or desktop), you can enable notifications for events added to your schedule so that you can be sure to catch them. That way, you won’t miss exciting sessions like Astro Teller’s “Helping Moonshots Survive Contact with the Real World” or an update from the ATAP team on some cool new projects they’re working on. All sessions will be livestreamed, so whether you’re watching from one of the 400 I/O Extended Locations around the world or the comfort of your own desk, we’ve got you covered.

Attending in person

In addition to the traditional breakout sessions, which are livestreamed, if you’re attending in person, you’ll also get a chance to go to more than 100 sandbox talks. These intimate, 20-minute talks are often more technical, and the smaller size means that you’ll get a chance to interact directly with the Googlers teaching them. Together, you can roll up your sleeves and tackle topics ranging from “Memory Performance & Tooling” to “What's new in the Google Play Developer Console.” Most sandbox talks will happen twice throughout the two-day event, so you’ll have more chances to participate.

This year, there are over 100 sandbox talks: intimate, 20-minute technical talks where you can roll up your sleeves and interact directly with Googlers.

Don’t forget to save time in your schedule for a code lab or two. Back by popular demand, these self-paced workshops will showcase a variety of technologies from Google on mobile, wearables, and Cloud to name a few. We’ll provide the workstations and tablets for use on-site - just bring yourself any time during the two days of I/O! If you have your own device, Googlers will be on hand to help you get set up so you can jump into it.

See you soon

We’re getting really excited about Google I/O 2015 and today’s schedule is just a preview of what’s to come. We’ll be adding more sessions, sandbox talks, and events to the schedule as we get closer to I/O. But, we can’t give everything away beforehand. Be sure to check the agenda again after the keynote on Day 1, for those top secret talks. We look forward to connecting with you in-person, at I/O Extended or via I/O Live in a few weeks!

Categories: Programming

Docs, Sheets and Forms add-ons now open to all developers

Thu, 04/23/2015 - 18:33

Posted by Saurabh Gupta, Product Manager

Back in 2014, we introduced add-ons for Google Docs, Sheets, and Forms in developer preview. Since then, the developer community has built a wide variety of features to help millions of Docs, Sheets and Forms users become more productive. Over the last few months, we launched a number of developer-friendly features that made it easier to build, test, deploy and distribute add-ons. Some key capabilities include:

With these features under our belt, we are ready to graduate add-ons out of developer preview. Starting today, any developer can publish an add-on. To ensure users find the best tools for them, every new add-on will undergo a review for adherence to our guidelines before it’s available in the add-ons store.

We can’t wait to see what you will build!

Categories: Programming

A final farewell to ClientLogin, OAuth 1.0 (3LO), AuthSub, and OpenID 2.0

Tue, 04/21/2015 - 17:24

Posted by William Denniss, Product Manager, Identity and Authentication

Support for ClientLogin, OAuth 1.0 (3LO1), AuthSub, and OpenID 2.0 has ended, and the shutdown process has begun. Clients attempting to use these services will begin to fail and must be migrated to OAuth 2.0 or OpenID Connect immediately.

To migrate a sign-in system, the easiest path is to use the Google Sign-in SDKs (see the migration documentation). Google Sign-in is built on top of our standards-based OAuth 2.0 and OpenID Connect infrastructure and provides a single interface for authentication and authorization flows on Web, Android and iOS. To migrate server API use, we recommend using one of our OAuth 2.0 client libraries.

We are moving away from legacy authentication protocols, focusing our support on OpenID Connect and OAuth 2.0. These modern open standards enhance the security of Google accounts, and are generally easier for developers to integrate with.

13LO stands for 3-legged OAuth where there's an end-user that provides consent. In contrast, 2-legged (2LO) correspond to Enterprise authorization scenarios such as organizational-wide policies control access. Both OAuth1 3LO and 2LO flows are deprecated, but this announcement is specific to OAuth1 3LO.

Categories: Programming

Works with Google Cardboard: creativity plus compatibility

Thu, 04/16/2015 - 18:16

Posted by Andrew Nartker, Product Manager, Google Cardboard

All of us is greater than any single one of us. That’s why we open sourced the Cardboard viewer design on day one. And why we’ve been working on virtual reality (VR) tools for manufacturers and developers ever since. We want to make VR better together, and the community continues to inspire us.

For example: what began with cardboard, velcro and some lenses has become a part of toy fairs and art shows and film festivals all over the world. There are also hundreds of Cardboard apps on Google Play, including test drives, roller coaster rides, and mountain climbs. And people keep finding new ways to bring VR into their daily lives—from campus tours to marriage proposals to vacation planning.

It’s what we dreamed about when we folded our first piece of cardboard, and combined it with a smartphone: a VR experience for everyone! And less than a year later, there’s a tremendous diversity of VR viewers and apps to choose from. To keep this creativity going, however, we also need to invest in compatibility. That’s why we’re announcing a new program called Works with Google Cardboard.

At its core, the program enables any Cardboard viewer to work well with any Cardboard app. And the result is more awesome VR for all of us.

For makers: compatibility tools, and a certification badge

These days you can find Cardboard viewers made from all sorts of materials—plastic, wood, metal, even pizza boxes. The challenge is that each viewer may have slightly different optics and dimensions, and apps actually need this info to deliver a great experience. That’s why, as part of today’s program, we’re releasing a new tool that configures any viewer for every Cardboard app, automatically.

As a manufacturer, all you need to do is define your viewer’s key parameters (like focal length, input type, and inter-lens distance), and you’ll get a QR code to place on your device. Once a user scans this code using the Google Cardboard app, all their other Cardboard VR experiences will be optimized for your viewer. And that’s it.

Starting today, manufacturers can also apply for a program certification badge. This way potential users will know, at a glance, that a VR viewer works great with Cardboard apps and games. Visit the Cardboard website to get started.

The GoggleTech C1-Glass viewer works with Google Cardboard For developers: design guidelines and SDK updates

Whether you’re building your first VR app, or you’ve done it ten times before, creating an immersive experience comes with a unique set of design questions like, “How should I orient users at startup?” Or “How do menus even work in VR?”

We’ve explored these questions (and many more) since launch, and today we’re sharing our initial learnings with the developer community. Our new design guidelines focus on overall usability, as well as common VR pitfalls, so take a look and let us know your thoughts.

Of course, we want to make it easier to design and build great apps. So today we're also updating the Cardboard SDKs for Android and Unity—including improved head tracking and drift correction. In addition, both SDKs support the Works with Google Cardboard program, so all your apps will play nice with all certified VR viewers.

For users: apps + viewers = choices

The number of Cardboard apps has quickly grown from dozens to hundreds, so we’re expanding our Google Play collection to help you find high-quality apps even faster. New categories include Music and Video, Games, and Experiences. Whether you’re blasting asteroids, or reliving the Saturday Night Live 40th Anniversary Special, there’s plenty to explore on Google Play.

New collections of Cardboard apps on Google Play

Today’s Works with Google Cardboard announcement means you’ll get the same great VR experience across a wide selection of Cardboard viewers. Find the viewer that fits you best, and then fire up your favorite apps.

For the future: Thrive Audio and Tilt Brush are joining the Google family

Most of today’s VR experiences focus on what you see, but what you hear is just as important. That’s why we’re excited to welcome the Thrive Audio team from the School of Engineering in Trinity College Dublin to Google. With their ambisonic surround sound technology, we can start bringing immersive audio to VR.

In addition, we’re thrilled to have the Tilt Brush team join our family. With its innovative approach to 3D painting, Tilt Brush won last year’s Proto Award for Best Graphical User Interface. We’re looking forward to having them at Google, and building great apps together.

Ultimately, today’s updates are about making VR better together. Join the fold, and let’s have some fun.

Categories: Programming

The Google Fit Developer Challenge winners

Wed, 04/15/2015 - 17:01

Posted by Angana Ghosh, Product Manager, Google Fit

Last year, we teamed up with adidas, Polar, and Withings to invite developers to create amazing fitness apps that integrated the new Google Fit platform. The community of Google Fit developers has flourished since then and to help get them inspired, we even suggested a few ideas for new, fun, innovative fitness apps. Today, we’re announcing the twelve grand prize winners, whose apps will be promoted on Google Play.

  • 7MinGym: All you need is this app, a chair, and a wall to start benefiting from 7 minute workouts at home. You can play music from your favorite music app and cast your workout to Chromecast or Android TV.
  • Aqualert: This app reminds you to stay hydrated throughout the day and lets you track your water intake.
  • Cinch Weight Loss and Fitness: Cinch helps you with detailed information your steps taken and calories burned. The app also supports heart-rate tracking with compatible Android Wear devices.
  • FitHub: FitHub lets you track your fitness activity from multiple accounts, including Google Fit, and multiple wearable devices, including Android Wear. You can also add your friends to compare your progress!
  • FitSquad: FitSquad turns fitness into a competition. Join your friends in a squad to compare progress, track achievements, and cheer each other on.
  • Instant - Quantified Self: Instant is a lifestyle app that helps you track not only your physical activity but your digital activity too and tells you how much you’re using your phone and apps.other activity. You can also set usage limits and reminders.
  • Jump Rope Wear Counter: This simple app lets you count your jump rope skips with an Android Wear device.
  • Move it!: This app packs one neat feature – it reminds you to get up and move about if you haven’t been active in the last hour.
  • Openrider - GPS Cycling Riding: Track and map your cycle routes with Openrider.
  • Running Buddies: In this run tracking app, runners can choose to share their runs and stats with those around them so that they can find other runners similar to themselves to go running with.
  • Strength: Strength is a workout tracking app that also lets you choose from a number of routines, so you can get to your workout quickly and track it without manual data entry. Schedules and rest timers come included.
  • Walkholic: Walkholic is another way to see your Google Fit walking, cycling, and running data. You can also turn on notifications if you don’t meet your own preset goals.

We saw a wide range of apps that integrated Google Fit, and both the grand prize winners and the runner ups will be receiving some great devices from our challenge partners to help with their ongoing fitness app development: the X_CELL and SPEED_CELL from adidas, a new Android Wear device, a Loop activity tracker with a H7 heart rate sensor from Polar, and a Smart Body Analyzer from Withings.

We’re thrilled these developers chose to integrate the Google Fit platform into their apps, giving users one place to keep all their fitness activities. With the user’s permission, any developer can store or read the user’s data from Google Fit and use it to build powerful and useful fitness experiences. Find out more about integrating Google Fit into your app.

Categories: Programming