The story behind Microsoft’s earnings: Our customers’ digital innovation in the cloud

The story behind Microsoft’s earnings: Our customers’ digital innovation in the cloud

Today, Microsoft announced its first quarter earnings. One big takeaway is that we exceeded our goal to meet a $20 billion in commercial cloud annualized revenue run rate. This exciting milestone represents our continued delivery of new cloud technologies and our customers’ digital innovation. Across major industries — from finance and energy sector to retail…

The post The story behind Microsoft’s earnings: Our customers’ digital innovation in the cloud appeared first on The Official Microsoft Blog.

Android 8.1 Developer Preview

Android 8.1 Developer Preview

Posted by Dave Burke, VP of Engineering

Today we’re giving you an early look at Android 8.1. This update to Android Oreo includes a set of targeted enhancements including optimizations for Android Go (for devices with 1GB or less of memory) and a new Neural Networks API to accelerate on-device machine intelligence. We’ve also included a few smaller enhancements to Oreo in response to user and developer feedback.

We’re bringing you this Developer Preview so you can get your apps ready; we’ve already been helping device makers prepare for this new version. We recommend starting soon — we’re expecting the final public version in December.

It’s easy to get Android 8.1 Developer Preview on your Pixel or Nexus device. Just enroll in the Android Beta Program — you’ll soon receive an over-the-air update to Android 8.1 beta. If you enrolled previously, you’re all set, there’s no need to re-enroll. The Developer Preview will be available for Pixel 2 and Pixel 2 XL devices, as well as for Pixel, Pixel XL, Pixel C, Nexus 5X, Nexus 6P, and the Android emulator.

What’s in Android 8.1?

Android 8.1 includes select new features and developer APIs (API level 27), along with the latest optimizations, bug fixes, and security patches. Some of the new APIs include:

  • Android Go memory optimizations and targeting — Android 8.1 includes a set of memory optimizations for Android Go configurations (1GB or less of memory). We’ve added new hardware feature constants so you can now target the distribution of your apps and APK splits to normal or low-RAM devices running Android 8.1 and later.
  • Neural Networks API — as part of our efforts to bring machine intelligence to Android, we’ve added a Neural Networks API via the NDK. It enables hardware-accelerated inference operations on supported devices. We designed the Neural Networks API as a foundational layer for ML frameworks like TensorFlow Lite — Google’s upcoming cross-platform ML framework for mobile — as well as Caffe2 and others. Stay tuned for TensorFlow Lite announcements.
  • Autofill enhancements — we’ve made it easier for password managers and other Autofill services to use the Autofill framework. For example, we’ve added support for more UI customization of the Save dialog, as well as setAutofillOptions() for users to set credit card expiration using a spinner.
  • Shared memory API — this new API lets apps allocate shared memory for faster access to common data. Apps can map anonymous shared memory and manage protection controls using the SharedMemory API. The API is parcelable, AIDL friendly, and exposes useful features like removing write permissions.

Take a look at Android 8.1 site for more information, including the diff report and updated API reference docs.

Test your apps on Android 8.1

With the consumer launch coming in December, it’s important to test your current app now. This gives users a seamless transition to Android 8.1 when it arrives on their devices.

Just enroll your eligible device in Android Beta to get the latest update, then install your app from Google Play and test. If you don’t have a Pixel or Nexus device, you can set up an Android 8.1 emulator for testing instead. If you notice any issues, fix them and update your app in Google Play right away — without changing the app’s platform targeting.

Build with new features and APIs

When you’re ready, take advantage of the new features and APIs in Android 8.1, which we’ve already finalized as API Level 27. For an overview of what’s new, take a look at Android 8.1 for Developers. You can also extend your apps with established Android Oreo features as well, see the Android Oreo site for details.

If your app uses forms, make sure to test them with autofill so that users can take advantage of this convenient feature. Enable “Autofill with Google” or a similar service in Settings and test the form fills to make sure they work as expected. We strongly recommend providing explicit hints about your fields, and also associating your website and mobile app, so that logins can be shared between them.

Speed your development with Android Studio

To build with Android 8.1, we recommend updating to Android Studio 3.0, which is now available from the stable channel. On top of the new app performance profiling tools, support for the Kotlin programming language, and Gradle build optimizations, Android Studio 3.0 makes it easier to develop with Android Oreo features like Instant Apps, XML Fonts, downloadable fonts, and adaptive icons.

We also recommend updating to the Android Support Library 27.0.0, which is available from Google’s Maven repository. New in this version are: a ContentPager library for efficiently loading “paged” data on a background thread; ViewCompat wrappers for Autofill methods; an AmbientMode headless fragment that improves Wear ambient mode support, fullscreen Trusted Web Activities, and more. See the version notes for more information.

You can update your project’s compileSdkVersion to API 27 to compile against the official Android 8.1 APIs. We also recommend updating your app’s targetSdkVersion to API 27 to test with compatibility behaviors disabled. See the this guide for details on how to set up your environment to build with Android 8.1.

Publish your updates to Google Play

The Android 8.1 APIs are already final, so we’ve opened Google Play for apps compiled against or targeting API level 27. When you’re ready, you can publish your APK updates in your alpha, beta, or production channels. Make sure that your updated app runs well on Android 8.1 as well as older versions. We recommend using Google Play’s beta testing feature to run an alpha test on small group of users, then run a much larger open beta test. When you’re ready to launch your update, you can use a staged rollout. We’re looking forward to seeing your app updates!

Give us your feedback!

As always, your feedback is crucial, so please let us know what you think. We’ve set up different hotlists where you report Android platform and tools issues, app compatibility issues, and third-party SDKs and tools issues. We also have a new hotlist for Neural Networks API issues.

You can also give us feedback through the Android Developer community or Android Beta community as we work towards the consumer release in December.

Android Studio 3.0

Android Studio 3.0

Posted by Jamal Eason, Product
Manager, Android

Android Studio 3.0 is ready to download today. Announced at Google I/O 2017,
Android Studio 3.0 is a large update focused on accelerating your app
development on Android.

This release of Android Studio is packed with many new updates, but there are
three major feature areas you do not want to miss, including: a new suite of app
profiling tools to quickly diagnose performance issues, support for the Kotlin
programming language, and a new set of tools and wizards to accelerate your
development on the latest Android Oreo APIs.

We also invested time in improving stability and performance across many areas
of Android Studio. Thanks to your feedback during the preview versions of
Android Studio 3.0! If you are looking for high stability, want to build high
quality apps for Android Oreo, develop with the Kotlin language, or use the
latest in Android app performance tools, then you should download Android Studio
3.0 today.

Check out the the list of new features in Android Studio 3.0 below, organized by
key developer flows.

What’s new in Android Studio 3.0


  • Kotlin Programming Language As announced
    at Google I/O 2017
    , the Kotlin
    programming language is now officially supported for Android development. Kotlin
    is an expressive and concise language that is interoperable with existing
    Android languages and runtimes, which means you can use as little or as much of
    the language in your app as you want. Kotlin is a production-ready language
    used by many popular Android apps on Google Play today.

    This release of Android Studio is the first milestone of bundles the Kotlin
    language support inside the IDE. Many of your favorite features such as code
    completion and syntax highlighting work well this release and we will continue
    to improve the remaining editor features in upcoming release. You can choose to
    add Kotlin to your project using the built-in conversion tool found under
    CodeConvert Java File to Kotlin File, or
    create a Kotlin enabled project with the New Project Wizard. Lean more about
    Kotlin language support
    in Android Studio

Kotlin Language Conversion in Android Studio

  • Java 8 Language features In Android
    Studio 3.0, we are continuing to improve the support for Java 8 language
    features. With the migration
    to a javac
    based toolchain, using Java 8 language features in your project
    is even easier. To update your project to support the new Java 8 Language
    toolchain, simply update your Source and Target compatibility
    levels to 1.8 in the Project Structure dialog. Learn
  • Layout Editor The component tree in the
    Layout Editor has better drag-and-drop view insertions, and a new error
    panel. Learn
  • Adaptive Icon Wizard The new wizard
    creates a set of launcher icon assets and provides previews of how your
    adaptive icon will look with different launcher screen icon masks. Support for
    VectorDrawable layers is new for this release. Learn
  • XML Fonts & Downloadable Fonts If you
    target Android Oreo (API Level 26 and higher) for your Android app, you can now
    add custom fonts & downloadable fonts using XML with Android Studio
  • Android Things Support Android Studio
    3.0 includes a new set of templates in the New Project wizard and the New Module
    wizard to develop for the Android Things platform. Learn more.
  • IntelliJ Platform Update: Android Studio 3.0 includes the
    IntelliJ 2017.1 release, which has features such as Java 8 language refactoring,
    parameter hints, semantic highlighting, draggable breakpoints, enhanced version
    control search, and more. Learn


  • Build Speed Improvements To further
    improve the speed of Gradle for larger scale projects with many modules, we
    introduced a rare breaking API change in the Android Gradle Plugin to
    improve scalability and build times. This change is one of reasons we jumped
    version numbers from Android Studio 2.4 to 3.0. If you depend on APIs provided
    by the previous Gradle plugin you should validate compatibility with the new
    plugin and migrate to the new APIs. To test, update the plugin version in your
    build.gradle file. Learn
  • Google’s Maven Repository To facilitate
    smaller and faster updates, Android Studio 3.0 utilizes Google’s Maven
    Repository by default instead of using the Android SDK Manager to find updates
    to Android Support Library, Google Play Services, and Firebase Maven
    dependencies. Used in combination with the latest command line SDK
    Manager tool
    and Gradle,
    Continuous Integration builds should migrate to Google’s Maven Repository for
    future Maven repository updates. Learn

Test & Debug

  • Google Play System Images We also
    updated the emulator system images for Android Oreo to now include the Google
    Play Store. Bundling in the Google Play store allows you to do end-to-end
    testing of apps with Google Play, and provides a convenient way to keep Google
    Play services up-to-date in your Android Virtual Device (AVD). Just as Google
    Play services updates on physical devices, you can trigger the same updates on
    your AVDs.

    Google Play Store in Android Emulator

    To ensure app security and a consistent experience with physical devices, the
    emulator system images with the Google Play store included are signed with a
    release key. This means you will not be able to get elevated privileges. If you
    require elevated privileges (root) to aid with your app troubleshooting, you can
    use the Android Open Source Project (AOSP) emulator system images that do not
    include Google apps or services. Learn more.

  • OpenGL ES 3.0 Support in Android Emulator
    The latest version of the Android Emulator has OpenGL ES 3.0 support
    for Android Oreo system images along with significant improvements in OpenGL ES
    2.0 graphics performance for older emulator system images. Learn
  • App Bug Reporter in Android Emulator To
    help in documenting bugs in your app, we have added an easier way to generate a
    bug report with the Android Emulator with all the necessary configuration
    settings and space to capture your repro steps. Learn
  • Proxy Support in Android If you use a
    proxy to access the Internet, we have added a user interface to manage the HTTP
    proxy settings used by the emulator. Lean
  • Android Emulator Quick Boot (Canary) One
    of the most common pain points we hear is that the emulator takes too long to
    boot. To address this concern, we are excited to preview a new feature to solve
    this called Quick Boot, which significantly speeds up your emulator start time.
    Once enabled, the first time you start an AVD a cold boot will occur (just like
    powering on a device), but all subsequent starts are fast and the system is
    restored to the state at which you closed the emulator (similar to waking a
    device). If you want to try it out, ensure you are on the canary update release
    channel and then you will find v26.2.0 of the Android Emulator in the SDK
    Manager. Learn
  • APK Debugging Android Studio 3.0 allows
    you to debug an arbitrary APK. This functionally is especially helpful for those
    who develop your Android C++ code in another IDE, but want to debug and analyze
    the APK in the context of Android Studio. As long as you have a debuggable
    version of your APK, you can use the new APK Debugging features to analyze,
    profile & debug the APK. Moreover, if you have access to the sources of your
    APK, you can link the source to the APK debugging flow for a higher fidelity
    debugging process. Get started by simply selecting Profile or debug
    from the Android Studio Welcome Screen or File → Profile or
    debug APK
    . Learn

APK Debugging

  • Layout Inspector In this release we have
    added a few additional enhancements for the Layout Inspector including better
    grouping of properties into common categories, as well as search functionality
    in both the View Tree and Properties Panels. Learn
  • Device File Explorer The new Device File
    Explorer in Android Studio 3.0 allows you to view the file and directory
    structure of your Android device or emulator. As you are testing your app, you
    can now quickly preview and modify app data files directly in Android Studio.
  • Android Test Orchestrator Support – When used with
    AndroidJUnitRunner 1.0 or higher, the Android Gradle plugin 3.0 supports the use
    of the Android Test Orchestrator. The Android Test Orchestrator allows each of
    your app’s tests to run within its own Instrumentation.


  • Android Profiler Android Studio 3.0
    includes a brand new suite of tools to help debug performance problems in your
    app. We completely rewrote the previous set of Android Monitor tools, and
    replaced them with the Android Profiler. Once you deploy your app to a running
    device or emulator, click on the Android Profiler tab and you
    will now have access to a real-time & unified view of the CPU, Memory, & Network
    activity for your app. Each of the performance events are mapped to the UI event
    timeline which highlights touch events, key presses, and activity changes so
    that you have more context on when and why a certain event happened. Click on
    each timeline to dig into each performance aspect of your app. Learn

Android Profiler – Combined timeline view.

CPU Profiler

Memory Profiler

Network Profiler

  • APK Analyzer Improvements We also
    updated APK Analyzer with additional enhancements to help you further optimize
    the size of your APK. Learn

To recap, Android Studio 3.0 includes these new major features:

If you are using a previous version of Android Studio, you can upgrade to
Android Studio 3.0 today or you can download the update from the official
Android Studio Preview download
. As mentioned in this blog, there are some breaking Gradle Plugin API
changes to support new features in the IDE. Therefore, you should also update
your Android Gradle plugin version to 3.0.0 in your current project to test and
validate your app project setup.

We appreciate any feedback on things you like, issues or features you would like
to see. If you find a bug or issue, feel free to file an
. Connect with us — the Android Studio development team ‐ on our Google+ page or on Twitter

Imagine Cup goes far beyond the imagination to change lives — and it’s time to register for 2018

Imagine Cup goes far beyond the imagination to change lives — and it’s time to register for 2018

My team at Microsoft has a guiding principle as the foundation of everything we do: Today’s students are tomorrow’s developers. As the head of cloud growth and ecosystems at Microsoft, working with students is one of the most fulfilling parts of my job because it gives me a lens into the future through the next…

The post Imagine Cup goes far beyond the imagination to change lives — and it’s time to register for 2018 appeared first on The Official Microsoft Blog.