Originally posted on Geo Developers blog
Originally posted on Android Developers blog
Posted by Sam Dutton, Ankur Kotwal, Developer Advocates; Liz Yepsen, Program Manager
‘TOP-UP WARNING.’ ‘NO CONNECTION.’ ‘INSUFFICIENT BANDWIDTH TO PLAY THIS
These are common warnings for many smartphone users around the world.
To build products that work for billions of users, developers must address key
challenges: limited or intermittent connectivity, device compatibility, varying
screen sizes, high data costs, short-lived batteries. We first presented developers.google.com/billions
and related Android and Web resources at Google I/O last month, and today you
can watch the video presentations about Android or the Web.
These best practices can help developers reach billions by delivering
exceptional performance across a range of connections, data plans, and devices.
Seamlessly transition between slow, intermediate, and offline
Your users move from place to place, from speedy wireless to patchy or expensive
data. Manage these transitions by storing data, queueing requests, optimizing
image handling, and performing core functions entirely offline.
Provide the right content for the right context
Keep context in mind - how and where do your users consume your content?
Selecting text and media that works well across different viewport sizes,
keeping text short (for scrolling on the go), providing a simple UI that doesn’t
distract from content, and removing redundant content can all increase
perception of your app’s quality while giving real performance gains
like reduced data transfer. Once these practices are in place, localization
options can grow audience reach and increase engagement.
Optimize for mobile hardware
Ensure your app or Web content is served and runs well for your widest possible
addressable market, covering all actively used OS versions, while still
following best practices, by testing on virtual or actual devices in target
markets. Native Android apps should set minimum and target SDKs. Also, remember
low cost phones have smaller amounts of RAM; apps should therefore adjust usage
accordingly and minimize background running. For in-depth information on
minimizing APK size, check out this series
image rendering, and minimize resource requests. Find out more here.
Reduce battery consumption
Low cost phones usually have shorter battery life. Users are sensitive to
battery consumption levels and excessive consumption can lead to a high
uninstall rate or avoidance of your site. Benchmark your battery usage against
sessions on other pages or apps, or using tools such as Battery Historian, and
avoid long-running processes which drain batteries.
Conserve data usage
Whatever you’re building, conserve data usage in three simple steps: understand
loading requirements, reduce the amount of data required for interaction, and
streamline navigation so users get what they want quickly. Conserving data on
behalf of your users (and with native apps, offering configurable network usage)
helps retain data-sensitive users -- especially those on prepaid plans or
contracts with limited data -- as even “unlimited” plans can become expensive
when roaming or if unexpected fees are applied.
Have another insight, or a success launching in low-connectivity conditions or
on low-cost devices? Let us know on our G+
Posted by Dan Ciruli, Product Manager, Google Cloud Platform Team
The Google Feed API was one of
Google’s original AJAX APIs, first announced in 2007. It had a good run.
However, interest and use of the API has waned over time, and it is running on
API infrastructure that is now two generations old at Google.
Along with many of our other free APIs, in April 2012, we announced that we
would be deprecating it in three years time. As of April 2015, the deprecation
period has elapsed. While we have continued to operate the API in the interim,
it is now time to announce the turndown.
As a final courtesy to developers, we plan to operate the API until September
29, 2016, when Google Feed API will cease operation. Please ensure that your
application is no longer using this API by then.
Google appreciates how important APIs and developer trust are and we do not take
decisions like this one lightly. We remain committed to providing great services
and being open and communicative about their statuses.
For those developers who find RSS an essential part of their workflow, there are
commercial alternatives that may well fit your use case very well.
Originally Posted on Chromium Blog
Rob Jagnow, Software Engineer, Google VR
Whether you're playing a game or watching a video, VR lets you step inside a new
world and become the hero of a story. But what if you want to tell a story of
Producing immersive 3D animation can be difficult and expensive. It requires
complex software to set keyframes with splined interpolation or costly motion
capture setups to track how live actors move through a scene. Professional
animators spend considerable effort to create sequences that look expressive and
At Daydream Labs, we've been experimenting with ways to reduce technical
complexity and even add a greater sense of play when animating in VR. In one
experiment we built, people could bring characters to life by picking up toys,
moving them through space and time, and then replay the scene.
As we saw people play with the animation experiment we built, we noticed a few
The need for complex metaphors goes away in VR: What can be
complicated in 2D can be made intuitive in 3D. Instead of animating with graph
editors or icons representing location, people could simply reach out, grab a
virtual toy, and carry it through the scene. These simple animations had a
handmade charm that conveyed a surprising degree of emotion.
The learning curve drops to zero: People were already familiar
with how to interact with real toys, so they jumped right in and got started
telling their stories. They didn't need a lengthy tutorial, and they were able
to modify their animations and even add new characters without any additional
People react to virtual environments the same way they react to real
ones: When people entered a playful VR environment, they understood it
was safe space to play with the toys around them. They felt comfortable
performing and speaking in funny voices. They took more risks knowing the
virtual environment was designed for play.
To create more intricate animations, we also built another experiment that let
people independently animate the joints of a single character. It let you record
your character’s movement as you separately animated the feet, hands, and head —
just like you would with a puppet.
VR allows us to rethink software and make certain use cases more natural and
intuitive. While this kind of animation system won’t replace professional tools,
it can allow anyone to tell their own stories. There are many examples of using
VR for storytelling, especially with video and animation, and we’re excited to
see new perspectives as more creators share their stories in VR.
Posted by Pete Warden, Software Engineer
When we started building TensorFlow, supporting mobile devices was a top
priority. We were already supporting many of Google’s mobile apps like
Translate, Maps, and the Google app, which use neural networks running on
devices. We knew that we had to make mobile a first-class part of open source
TensorFlow has been available to developers on Android since launch, and today
we're happy to add iOS in v0.9 of TensorFlow, along with Raspberry Pi support
and new compilation options.
To build TensorFlow on iOS we’ve created a set of scripts, including a makefile,
to drive the cross-compilation process. The makefile can also help you build
TensorFlow without using Bazel, which is not always available.
All this is in the latest TensorFlow
distribution. You can read more by visiting our Mobile TensorFlow guide and
the documentation in our iOS
samples and Android
sample. The mobile samples allow you to classify images using the ImageNet
Inception v1 classifier.
These mobile samples are just the beginning---we'd love your help and your
contributions. Tag social media posts with #tensorflow so we can hear about your
See the full TensorFlow 0.9.0 release notes here.
Posted by Adam Champy, Product Manager for Google Cast SDK
Google Cast makes it easy for developers to extend their mobile experience to
the most beautiful screens and speakers in the home.
At Google I/O, we
announced our new Google Cast SDK. This new SDK focuses on making
development for Cast quicker, more reliable, and easier to maintain. We’ve
introduced full state management that helps you implement the right abstraction
between your app and Google Cast. We’ve also delivered a full Cast user
experience, matching the Google Cast
Today we are releasing this SDK for Android and iOS Senders, including an
introductory video, full documentation, and
apps and codelab
tutorials for both platforms. Initial developer feedback is that first-time
implementations can save significant development time compared with our previous
A few things we’ve announced will be coming in the next few months, including a customizable Expanded Controller and adding customization to the Mini Controller, to help accelerate development even further.
Drop by our Cast developer
site to learn about the new SDK and APIs, and join our developer community
on Google+ at g.co/googlecastdev to
discuss this with other developers.
Originally posted on Google Research Blog
Originally posted on Firebase blog
For most developers, building an authentication system for your app can feel a lot like paying taxes. They are both relatively hard to understand tasks that you have no choice but doing, and could have big consequences if you get them wrong. No one ever started a company to pay taxes and no one ever built an app just so they could create a great login system. They just seem to be inescapable costs.
But now, you can at least free yourself from the auth tax. With Firebase Authentication, you can outsource your entire authentication system to Firebase so that you can concentrate on building great features for your app. Firebase Authentication makes it easier to get your users signed-in without having to understand the complexities behind implementing your own authentication system. It offers a straightforward getting started experience, optional UX components designed to minimize user friction, and is built on open standards and backed by Google infrastructure.
Implementing Firebase Authentication is relatively fast and easy. From the Firebase console, just choose from the popular login methods that you want to offer (like Facebook, Google, Twitter and email/password) and then add the Firebase SDK to your app. Your app will then be able to connect securely with the real time database, Firebase storage or to your own custom back end. If you have an auth system already, you can use Firebase Authentication as a bridge to other Firebase features.
Firebase Authentication also includes an open source UI library that streamlines building the many auth flows required to give your users a good experience. Password resets, account linking, and login hints that reduce the cognitive load around multiple login choices - they are all pre-built with Firebase Authentication UI. These flows are based on years of UX research optimizing the sign-in and sign-up journeys on Google, Youtube and Android. It includes Smart Lock for Passwords on Android, which has led to significant improvements in sign-in conversion for many apps. And because Firebase UI is open source, the interface is fully customizable so it feels like a completely natural part of your app. If you prefer, you are also free to create your own UI from scratch using our client APIs.
And Firebase Authentication is built around openness and security. It leverages OAuth 2.0 and OpenID Connect, industry standards designed for security, interoperability, and portability. Members of the Firebase Authentication team helped design these protocols and used their expertise to weave in latest security practices like ID tokens, revocable sessions, and native app anti-spoofing measures to make your app easier to use and avoid many common security problems. And code is independently reviewed by the Google Security team and the service is protected in Google’s infrastructure.
Fabulous uses Firebase Authentication to power their login system. Fabulous is a research-based app incubated in Duke University’s Center for Advanced Hindsight. Its goal is to help users to embark on a journey to reset poor habits, replacing them with healthy rituals, with the ultimate goal of improving health and well-being.
The developers of Fabulous wanted to implement an onboarding flow that was easy to use, required minimal updates, and reduced friction with the end user. They wanted an anonymous option so that users could experiment with it before signing up. They also wanted to support multiple login types, and have an option where the user sign-in flow was consistent with the look and feel of the app.
“I was able to implement auth in a single afternoon. I remember that I spent weeks before creating my own solution that I had to update each time the providers changed their API” - Amine Laadhari, Fabulous CTO.
Chu-Day is an application (available on Android and iOS) that helps couples to never forget the dates that matter most to them. It was created by the Korean firm Malang Studio, that develops character-centric, gamified lifestyle applications.
Generally, countdown and anniversary apps do not require users to sign-in, but Malang Studio wanted to make Chu-day special, and differentiate it from others by offering the ability to connect couples so they could jointly countdown to a special anniversary date. This required a sign-in feature, and in order to prevent users from dropping out, Chu-day needed to make the sign-in process seamless.
Malang Studio was able to integrate an onboarding flow in for their apps, using Facebook and Google Sign-in, in one day, without having to worry about server deployment or databases. In addition, Malang Studio has also been taking advantage of the Firebase User Management Console, which helped them develop and test their sign-in implementation as well as manage their users:
“Firebase Authentication required minimum configuration so implementing social account signup was easy and fast. User management feature provided in the console was excellent and we could easily implement our user auth system.” - Marc Yeongho Kim, CEO / Founder from Malang Studio
For more about Firebase Authentication, visit the developers site and watch our I/O 2016 session, “Best practices for a great sign-in experience.”
Posted by Shanea King-Roberson, Lead Program Manager Twitter: @shaneakr Instagram: @theshanea
Do you have an idea for an app but you don’t know where to start? There are over
1 billion Android devices worldwide, providing a way for you to deliver your
ideas to the right people at the right time. Google, in partnership with
Udacity, is making Android development accessible and understandable to
everyone, so that regardless of your background, you can learn to build apps
that improve the lives of people around you.
Enroll in the new Android Basics
Nanodegree. This series of courses and services teaches you how to build
simple Android apps--even if you have little or no programming experience. Take
a look at some of the apps built by our students:
The app "ROP Tutorial" built by student Arpy Vanyan raises awareness of a
potentially blinding eye disorder called Retinopathy of Prematurity that can
affect newborn babies.
And user Charles Tommo created an app called “Dr Malaria” that teaches people
ways to prevent malaria.
With courses designed by Google, you can
learn skills that are applicable to building apps that solve real world
problems. You can learn at your own pace to use Android Studio
(Google’s official tool for Android app development) to design app user
interfaces and implement user interactions using the Java programming language.
The courses walk you through
step-by-step on how to build an order form for a coffee shop, an app to track
pets in a shelter, an app that teaches vocabulary words from the Native American
Miwok tribe, and an app on recent earthquakes in the world. At the end of the
course, you will have an entire portfolio of apps to share with your friends and
Upon completing the Android Basics Nanodegree, you also have the opportunity to
continue your learning with the Career-track Android Nanodegree (for
intermediate developers). The first 50 participants to finish the Android Basics
Nanodegree have a chance to win a scholarship for the Career-track Android
Nanodegree. Please visit udacity.com/legal/scholarship
for additional details and eligibility requirements. You now have a complete
learning path to help you become a technology entrepreneur or most importantly,
build very cool Android apps, for yourself, your communities, and even the
All of the individual courses that make
up this Nanodegree are available online for no charge at udacity.com/google. In addition, Udacity
provides paid services, including access to coaches, guidance on your project,
help staying on track, career counseling, and a certificate upon completion for
You will be exposed to introductory computer science concepts in the Java
programming language, as you learn the following skills.
To enroll in the Android Basics Nanodegree program, click here.
See you in class!