7/10/17

Android vitals: Increase engagement and installs through improved app performance

Posted by Fergus Hurley, Product Manager, Google Play


Poor app performance is something that many users have experienced. Think about
that last time you experienced an app crashing, failing to respond, or rendering
slowly. Consider your reaction when checking the battery usage on your own
device, and seeing an app using excessive battery. When an app performs badly,
users notice. In fact, in an internal analysis of app reviews on Google Play, we
noticed that half of the 1-star reviews mentioned app stability.



Conversely, people consistently reward the best performing apps with better
ratings and reviews. This leads to better rankings on Google Play, which helps
increase installs. Not only that, but users stay more engaged, and are willing
to spend more time and money.



At Google I/O 2017, we href="https://android-developers.googleblog.com/2017/05/whats-new-in-google-play-at-io-2017.html">announced
the new Android vitals dashboard in the Google Play Console. Android vitals is
designed to help you understand and analyze bad app behaviors, so you can
improve your app's performance and reap the benefits of better performance.


Android vitals in the Google Play Console







Android vitals helps identify opportunities to improve your app's performance.
The dashboards are useful for engineers and business owners alike, offering
quick reference performance metrics to monitor your app so you can analyze the
data and dedicate the right resources to make improvements.



You'll see the following data collected from Android devices whose users have
opted in to automatically share usage and diagnostics data:


  • Stability: ANR rate & crash rate
  • Render time: slow rendering (16ms) and frozen UI frames
    (700ms)
  • Battery usage: stuck wake locks and excessive
    wakeups

See how Busuu increased their rating from 4.1☆ to 4.5☆ by focusing on
app performance





Busuu is one of the world's largest language learning apps. Hear from Antoine
Sakho, Head of Product about how Busuu increased user ratings.


Learn more about engineering for high performance with tools from
Android and Google Play



Read our href="http://developer.android.com/distribute/best-practices/develop/android-vitals.html">best
practice article on Android vitals to understand the data shown in the
dashboards, and how you can improve your app's performance and stability. Watch
the I/O session to learn about more tools from Android and Google Play that you
can use to identify and fix bad behaviors:






Learn more about other Play Console features, and stay up to date with news and
tips to succeed on Google Play, with the Playbook app. href="http://g.co/playbookbeta">Join the beta and install it today.



How useful did you find this blogpost?



href="https://docs.google.com/forms/d/e/1FAIpQLScLTlzFd_aV-3rAdBqO1QxwCsuAcDCIM6fJFXyNcyf7zElVXg/viewform?entry.753333049=1%E2%98%85+%E2%80%93+Not+at+all&entry.656324858&entry.1348260426=Vitals-06/17&entry.1170596605&entry.646747778=Vitals-06/17" style="color:gold;" >★
href="https://docs.google.com/forms/d/e/1FAIpQLScLTlzFd_aV-3rAdBqO1QxwCsuAcDCIM6fJFXyNcyf7zElVXg/viewform?entry.753333049=2%E2%98%85+%E2%80%93+Not+very&entry.656324858&entry.1348260426=Vitals-06/17&entry.1170596605&entry.646747778=Vitals-06/17" style="color:gold;" >★
href="https://docs.google.com/forms/d/e/1FAIpQLScLTlzFd_aV-3rAdBqO1QxwCsuAcDCIM6fJFXyNcyf7zElVXg/viewform?entry.753333049=3%E2%98%85+%E2%80%93+Somewhat&entry.656324858&entry.1348260426=Vitals-06/17&entry.1170596605&entry.646747778=Vitals-06/17" style="color:gold;" >★
href="https://docs.google.com/forms/d/e/1FAIpQLScLTlzFd_aV-3rAdBqO1QxwCsuAcDCIM6fJFXyNcyf7zElVXg/viewform?entry.753333049=4%E2%98%85+%E2%80%93+Very&entry.656324858&entry.1348260426=Vitals-06/17&entry.1170596605&entry.646747778=Vitals-06/17" style="color:gold;" >★
href="https://docs.google.com/forms/d/e/1FAIpQLScLTlzFd_aV-3rAdBqO1QxwCsuAcDCIM6fJFXyNcyf7zElVXg/viewform?entry.753333049=5%E2%98%85+%E2%80%93+Extremely&entry.656324858&entry.1348260426=title-m/y&entry.1170596605&entry.646747778=title-m/y" style="color:gold;" >★

Read more

7/1/17

Android Things Hackster Community

Posted by Dave Smith,
Developer Advocate for IoT


Android Things
makes building connected embedded devices easy by providing the same Android
development tools, best-in-class Android framework, and Google APIs that make
developers successful on mobile. Since the initial preview launch back in
December, the community has turned some amazing ideas into exciting prototypes
using the platform.



To empower these makers and developers using Android Things to share and learn
from each other, we have partnered with href="https://hackster.io">Hackster.io to create a community where aspiring
IoT developers can go to showcase their projects and get inspired by the work of
others. Hackster.io is a community of 200,000 engineers and developers dedicated
to building internet-connected hardware projects. They also seek to educate and
challenge members through live workshops and design contests.



We are eager to see the projects that you come up with. More importantly, we're
excited to see how your work can inspire other developers to create something
great with Android Things. Visit our href="https://hackster.io/google">Hackster.io community to see the amazing
projects others have already built and join the community today!


Android Things Webinar



We will be hosting a webinar in cooperation with Hackster.io on July
7th, 2017 at 10AM PST
titled Bootstrapping IoT Products with
Android Things
. During this time, you will learn how we have designed
Android Things to address many of the pain points experienced by developers
attempting to build IoT products. You will also have the opportunity to send in
questions you have regarding the platform and ecosystem. href="https://attendee.gotowebinar.com/register/3772499545049167107">Register
today to join us for this exciting event!






Read more

6/28/17

Android Things Console developer preview

Posted by Wayne Piekarski,
Developer Advocate for IoT


Today we are launching a preview of the href="https://partner.android.com/things/console">Android Things Console.
This console allows developers to manage the software running on their fleet of
Android Things IoT devices, including creating factory images, as well as
updating the operating system and developer-provided APKs. Devices need to run a
system image downloaded via the Android Things Console in order to receive
future updates, such as the upcoming Developer Preview 5. Google provides all of
the infrastructure for over-the-air (OTA) updates, so developers can focus on
their specific application and not have to build their own implementation –
getting their IoT devices to enter the market faster and more securely than
before.



Let's take a tour of the console, and see the features it offers.


Product Creation and Product Settings



The developer first defines a product, which includes selecting a name and the
type of System-on-Module (SoM) that the device is based on. Many developers want
to use Google Play Services when building IoT devices, and this is configured
here as an optional feature. The size of the OEM partition is also configured,
and must be large enough to include the size of any future APK growth.





Factory Images



A device needs an initial base firmware to receive future updates for the
correct product from your console. For starters, you can simply use "Create
Build Configuration" to build a default factory image with an empty bundle that
is configured for your product. This factory image can then be downloaded and
flashed to your device, and you can start developing on it by sideloading an
APK.



Later on, once you have prepared an application that you would like to deploy to
all the devices in your product, you can upload a bundle to the console. This
bundle is a ZIP file that contains a main APK file, user space drivers as a
service in an APK, and any additional APKs launched by the main APK. A href="https://source.android.com/devices/tech/ota/device_code#boot-animation">bootanimation.zip
file is also supported, which will be displayed during boot up. The uploaded
bundle ZIP file is then used to produce a complete system image that can be
deployed to devices. More information about the bundle ZIP file contents is
available in the href="https://developer.android.com/things/console/app_bundle.html">documentation.





OTA Updates



This tab allows the developer to select which system image should be pushed to
the fleet of product devices. The developer selects one, and then "Push to
Devices" starts the process. The update will then be securely pushed to all of
the devices, installed to one of the A/B partitions, and made active when the
device is rebooted. If any failures are detected, the device automatically rolls
back to the previous known working version, so future updates are still
possible. Developers will be able to test new releases of Android Things in
advance and decide whether devices should be updated automatically.





Feedback



The Android Things Console is currently a preview, and we are working on many
more features and customizations. We encourage all Android Things developers to
check out the Android Things Console and provide feedback. You can do this by
filing href="https://code.google.com/p/android/issues/entry?template=Android%20Things%20bug%20report">bug
reports and href="https://code.google.com/p/android/issues/entry?template=Android%20Things%20feature%20request">feature
requests, and asking any questions on href="http://stackoverflow.com/questions/tagged/android-things">Stack
Overflow. To learn more about the Android Things Console, read the detailed
href="https://developer.android.com/things/console/index.html">documentation.
We also encourage everyone to join Google's IoT
Developers Community
on Google+, a great resource to get updates and discuss
ideas.



Read more

6/23/17

What’s new in WebView security

Posted by Xiaowen Xin and Renu Chaudhary, Android Security Team


The processing of external and untrusted content is often one of the most
important functions of an app. A newsreader shows the top news articles and a
shopping app displays the catalog of items for sale. This comes with associated
risks as the processing of untrusted content is also one of the main ways that
an attacker can compromise your app, i.e. by passing you malformed content.



Many apps handle untrusted content using href="https://developer.android.com/reference/android/webkit/WebView.html">WebView,
and we've made many improvements in Android over the years to protect it and
your app against compromise. With Android Lollipop, we started delivering
WebView as an independent APK, updated every six weeks from the Play store, so
that we can get important fixes to users quickly. With the newest WebView,
we've added a couple more important security enhancements.


Isolating the renderer process in Android O



Starting with Android O, WebView will have the renderer running in an isolated
process separate from the host app, taking advantage of the isolation between
processes provided by Android that has been available for other applications.






Similar to Chrome, WebView now provides two levels of isolation:


  1. The rendering engine has been split into a separate process. This insulates
    the host app from bugs or crashes in the renderer process and makes it harder
    for a malicious website that can exploit the renderer to then exploit the host
    app.
  2. To further contain it, the renderer process is run within an isolated
    process sandbox that restricts it to a limited set of resources. For example,
    the rendering engine cannot write to disk or talk to the network on its own.


    It is also bound to the same seccomp filter (blogpost on seccomp is coming soon) as
    used by Chrome on Android. The seccomp filter reduces the number of system calls
    the renderer process can access and also restricts the allowed arguments to the
    system calls.



Incorporating Safe Browsing



The newest version of WebView incorporates Google's href="https://safebrowsing.google.com/">Safe Browsing protections to detect
and warn users about potentially dangerous sites.. When correctly configured,
WebView checks URLs against Safe Browsing's malware and phishing database and
displays a warning message before users visit a dangerous site. On Chrome, this
helpful information is displayed more than 250 million times a month, and now
it's available in WebView on Android.


Enabling Safe Browsing



To enable Safe Browsing for all WebViews in your app, add in a manifest tag:





<manifest>
<meta-data android:name="android.webkit.WebView.EnableSafeBrowsing"
android:value="true" />
. . .
<application> . . . </application>
</manifest>


Because WebView is distributed as a separate APK, Safe Browsing for WebView is
available today for devices running Android 5.0 and above. With just one added
line in your manifest, you can update your app and improve security for most of
your users immediately.



Read more
loading...