Google Developers Codelabs provide a guided, tutorial, hands-on coding experience. Most codelabs will step you through the process of building a small application, or adding a new feature to an existing application. They cover a wide range of topics such as Android Wear, Google Compute Engine, Project Tango, and Google APIs on iOS.
Location and navigation using global positioning systems (GPS) is deeply embedded in our daily lives, and is particularly crucial to Uber’s services. To orchestrate quick, efficient pickups, our GPS technologies need to know the locations of matched riders and drivers, as well as provide navigation guidance from a driver’s current location to where the rider needs to be picked up, and then, to the rider’s chosen destination. For this process to work seamlessly, the location estimates for riders and drivers need to be as precise as possible.
Since the (literal!) launch of GPS in 1973, we have advanced our understanding of the world, experienced exponential growth in the computational power available to us, and developed powerful algorithms to model uncertainty from fields like robotics. While our lives have become increasingly dependent on GPS, the fundamentals of how GPS works have not changed that much, which leads to significant performance limitations. In our opinion, it is time to rethink some of the starting assumptions that were true in 1973 regarding where and how we use GPS, as well as the computational power and additional information we can bring to bear to improve it.
While GPS works well under clear skies, its location estimates can be wildly inaccurate (with a margin of error of 50 meters or more) when we need it the most: in densely populated and highly built-up urban areas, where many of our users are located. To overcome this challenge, we developed a software upgrade to GPS for Android which substantially improves location accuracy in urban environments via a client-server architecture that utilizes 3D maps and performs sophisticated probabilistic computations on GPS data available through Android’s GNSS APIs.
In this article, we discuss why GPS can perform poorly in urban environments and outline how we fix it using advanced signal processing algorithms deployed at scale on our server infrastructure.
“Flutter is a new mobile app SDK to help developers and designers build modern mobile apps for iOS and Android.” Modern, reactive framework allows us to build powerful UI with animations, shared codebase and views over iOS and Android platforms. It makes development process easier, development costs at minimal and rapid deployment. Flutter is build with C, C++, Dart and Skia. And the most beautiful part is that all release code is compiled in native code (Android NDK, LLVM, AOT-compiled) without interpreter involved. If you are familiar with performance drawbacks of hybrid frameworks you can easy say that flutter compile fastest code very close to pure native performance.
Day two at re:Invent 2017 was incredibly packed, crowded, and exciting. My favorite announcement so far is the new AWS AppSync, as it aligns with one of the most promising (yet somehow controversial) design principles adopted by the serverless community: GraphQL.
If you are not familiar with GraphQL, we recently explained how to write GraphQL Apps using AWS Lambda, and hosted a webinar about the Love Story between Serverless and GraphQL. Here’s a quick look at what you need to know about AWS AppSync.
Android Architecture Components version 1.0.0 has now been released, this means their API’s are now stable and you should be more comfortable with adopting it in your projects.
What are Android Architecture Components?
Android Architecture components (AAC) are a set of Android libraries that help you structure your application in a way that is robust, testable, and maintainable.
In this post, we are going to discuss how to structure an Android Application’s code for realtime updates using Android Architecture Components. We will be talking specifically about using
LiveData to build an Android application that will be updating in realtime.
Over the years, we have noticed a few issues in React Native apps that make us want for “something more”.
Our search for this “something more” has led us to Google’s Flutter!
Android 8.0 Oreo is the 26th version of the world’s most popular operating system. This year, Google’s mobile-and-everything-else OS hit two billion monthly active users—and that’s just counting phones and tablets. What can all those users expect from the new version? In an interview with Ars earlier this year, Android’s VP of engineering Dave Burke said that the 8.0 release would be about “foundation and fundamentals.” His team was guided by a single question: “What are we doing to Android to make sure Android is in a great place in the next 5 to 10 years?”
Take a closer look at Oreo and you really can see the focus on fundamentals. Google is revamping the notification system with a new layout, new controls, and a new color scheme. It’s taking responsibility for Android security with a Google-branded security solution. App background processing has been reined in, hopefully providing better battery life and more consistent performance. There’s even been some work done on Android’s perpetual update problem, with Project Treble allowing for easier update development and streaming updates allowing for easier installation by users. And, as with every release, more parts of Android get more modularized, with emojis and GPU driver updates now available without an OS update.Like its partnership with Nestlé for Android 4.4 “KitKat,” Google is taking its alphabetical snack-themed codenames to the extreme with 8.0. This time Nabisco is sharing its “Oreo” brand with Google. (We’ve yet to hear about any kind of monetary arrangement for this sort of thing). Google’s Eclipse-themed launch party was complete with custom Oreo cookies featuring an Android robot design and green filling.
Two billion users is a huge number, but with Android 8.0, Google shows that it still isn’t satisfied. A new initiative called “Android Go” targets the developing world, where cheap devices and limited access to data and power require taking a different look at how some parts of Android function.
Oreo will also serve as the base for three new Android form factors. It will be built into cars as “Android Automotive,” where Google works with car OEMs to integrate Android. Android 8.0 will also be the base OS for “Android Things,” an “Internet of things” (IoT) version of the OS designed to easily manage on embedded devices. Finally, Google’s virtual reality “Daydream” group will also launch a new form factor with Oreo: standalone VR headsets.
So, coming soon to your phone, your tablet, your watch, your TV, your car, your “things,” and your VR headset—it’s Android 8.0 Oreo. Let’s dive in.
Table of Contents
- Project Treble—Finally, real progress on the fragmentation problem
- HAL versioning and deprecation
- Working with SoC vendors
- A ROM revolution
- Isolating the media stack
- Android’s biggest re-architecture, ever
- Notifications—Android’s best feature gets better
- The new layout—and its awesome “By the Way” section
- The new colors and media notifications
- Snoozing notifications
- Notification Channels: Great for apps that have it, terrible for apps that don’t
- Icon badges and shortcuts
- The new ambient notification display
- The Great Background Processing Lockdown
- Mandatory JobScheduler
- RIP Implicit Broadcasts
- No more wakelocks, no silent background services
- (Somewhat) gracefully declining on older OSes
- Limiting scans for location and Wi-Fi
- A real API for floating apps
- Google Play Protect—Google says “please don’t install antivirus apps”
- Sideloading changes
- Security grab bag
- Emoji: New glyphs and an all-new design
- EmojiCompat and Downloadable fonts—updating emojis without a system update
- System UI improvements
- Adaptive icons—Shape shifting, animated icons
- A new widget picker
- Picture-in-Picture for phones and tablets
- Smart text selection and TensorFlow Lite
- Settings—A new theme, a new layout
- Streaming OS Updates—never fail an update due to storage space again
- Rescue Party
- Android Go—Scaling Android for the next billion users
- The OS in “Go” mode
- Google Play Services gets chopped up
- Apps get special “Go” versions and features
- Color management
- Physics-based animation and the new Easter Egg
- The new “SDCardFS” file system wrapper
- Grab Bag
- “Foundational” improvements address updates, security, speed, and battery life
- The Good
- The Bad
- The Ugly