Warning: Table './devblogsdb/cache_page' is marked as crashed and last (automatic?) repair failed query: SELECT data, created, headers, expire, serialized FROM cache_page WHERE cid = 'http://www.softdevblogs.com/?q=aggregator/sources/29' in /home/content/O/c/n/Ocnarfparking9/html/softdevblogs/includes/database.mysql.inc on line 135

Warning: Cannot modify header information - headers already sent by (output started at /home/content/O/c/n/Ocnarfparking9/html/softdevblogs/includes/database.mysql.inc:135) in /home/content/O/c/n/Ocnarfparking9/html/softdevblogs/includes/bootstrap.inc on line 729

Warning: Cannot modify header information - headers already sent by (output started at /home/content/O/c/n/Ocnarfparking9/html/softdevblogs/includes/database.mysql.inc:135) in /home/content/O/c/n/Ocnarfparking9/html/softdevblogs/includes/bootstrap.inc on line 730

Warning: Cannot modify header information - headers already sent by (output started at /home/content/O/c/n/Ocnarfparking9/html/softdevblogs/includes/database.mysql.inc:135) in /home/content/O/c/n/Ocnarfparking9/html/softdevblogs/includes/bootstrap.inc on line 731

Warning: Cannot modify header information - headers already sent by (output started at /home/content/O/c/n/Ocnarfparking9/html/softdevblogs/includes/database.mysql.inc:135) in /home/content/O/c/n/Ocnarfparking9/html/softdevblogs/includes/bootstrap.inc on line 732
Software Development Blogs: Programming, Software Testing, Agile, Project Management
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
warning: Cannot modify header information - headers already sent by (output started at /home/content/O/c/n/Ocnarfparking9/html/softdevblogs/includes/database.mysql.inc:135) in /home/content/O/c/n/Ocnarfparking9/html/softdevblogs/includes/common.inc on line 153.
Syndicate content
Updated: 3 hours 22 min ago

A study on scale: WhatsApp & Google Drive… the story of our integration

Tue, 05/24/2016 - 21:14

Posted by Mike Procopio, Engineering Manager, Google Drive and Wesley Chun, Developer Advocate, Google Apps

WhatsApp is one of the most popular mobile apps in the world. Over a billion users send and receive over 42 billion messages, photos, and videos every day. It's fast, easy to use, and reliable.

But what happens when people lose their phone or otherwise upgrade to a new one? All those messages and memories would be gone. So we worked with WhatsApp to give their users the ability to back up their data to Google Drive and restore it when they setup WhatsApp on a new phone. With messages and media safely stored in your Drive, there’s no more worry about losing any of those memories.

Scaling for a billion users

One of the biggest challenges for an integration of this scope is scaling. How do you back up data for a billion users? Many things were done to ensure the feature works as intended and is unnoticeable by users. Our approach? First, we relied on a proven infrastructure that can handle this kind of volume—Google Drive. Next, we optimized what to back up and when to do the backups—the key was to upload only incremental changes rather than transmit identical files.

On the server side (backend), we focused on optimizing byte storage as well as the number of network calls between WhatsApp and Google. As far as deployment goes, we rolled out slowly over several months to minimize the size and impact of deployment.

WhatsApp & Google Drive, a seamless integration

If you have ever used WhatsApp, you know how it gets out of your way, and lets you get started quickly: no account creation, no passwords to manage, and no user IDs to remember or exchange. This sets a high bar for any integration with WhatsApp: for it to feel like a natural part of WhatsApp, it has to be as seamless, fast, and reliable as WhatsApp itself.

By using the Google Drive API, we were able to achieve this: no need to type in any usernames or passwords, just a few taps in the app, and WhatsApp starts backing up. The best part is that all the tools used in the integration are available to all developers. With the Google Drive API, seamless and scalable integrations are as easy to use for the user as they are for developers.

Are you ready to integrate your web and mobile apps with Google Drive? Get started today by checking out our intro video as well as the video demoing the newest API, then dig in with the developer docs found at developers.google.com/drive. We're excited to see what you build next with the Drive API—and we're ready to scale with you!

Posted by Mike Procopio, Engineering Manager, Google Drive and Wesley Chun, Developer Advocate, Google Apps

WhatsApp is one of the most popular mobile apps in the world. Over a billion users send and receive over 42 billion messages, photos, and videos every day. It's fast, easy to use, and reliable.

But what happens when people lose their phone or otherwise upgrade to a new one? All those messages and memories would be gone. So we worked with WhatsApp to give their users the ability to back up their data to Google Drive and restore it when they setup WhatsApp on a new phone. With messages and media safely stored in your Drive, there’s no more worry about losing any of those memories.

Scaling for a billion users

One of the biggest challenges for an integration of this scope is scaling. How do you back up data for a billion users? Many things were done to ensure the feature works as intended and is unnoticeable by users. Our approach? First, we relied on a proven infrastructure that can handle this kind of volume—Google Drive. Next, we optimized what to back up and when to do the backups—the key was to upload only incremental changes rather than transmit identical files.

On the server side (backend), we focused on optimizing byte storage as well as the number of network calls between WhatsApp and Google. As far as deployment goes, we rolled out slowly over several months to minimize the size and impact of deployment.

WhatsApp & Google Drive, a seamless integration

If you have ever used WhatsApp, you know how it gets out of your way, and lets you get started quickly: no account creation, no passwords to manage, and no user IDs to remember or exchange. This sets a high bar for any integration with WhatsApp: for it to feel like a natural part of WhatsApp, it has to be as seamless, fast, and reliable as WhatsApp itself.

By using the Google Drive API, we were able to achieve this: no need to type in any usernames or passwords, just a few taps in the app, and WhatsApp starts backing up. The best part is that all the tools used in the integration are available to all developers. With the Google Drive API, seamless and scalable integrations are as easy to use for the user as they are for developers.

Are you ready to integrate your web and mobile apps with Google Drive? Get started today by checking out our intro video as well as the video demoing the newest API, then dig in with the developer docs found at developers.google.com/drive. We're excited to see what you build next with the Drive API—and we're ready to scale with you!

Categories: Programming

The Mobile Web Is Open for Business

Thu, 05/19/2016 - 22:02

Originally posted on Google Chromium Blog

Posted by Rahul Roy-chowdhury, VP Product Management, Chrome
One of the virtues of the web is its immense reach, providing access to information for all internet users regardless of device or platform. With the explosion of mobile devices, the web has had to evolve to deliver great experiences on the small screen. This journey began a few years ago, and I am excited to be able to say that the mobile web is open for business. Join me live at Google I/O at 2:00pm PT as I discuss the state of the union and how to take advantage of new experiences like AMP and Progressive Web Apps (PWAs) to deliver a best-in-class mobile experience.

If you don't have time to tune in today, we'll post the recording shortly on our YouTube channel. In the meantime, here's a quick recap of the four aspects to focus on while building a great mobile web experience.
AccelerateExpressiveness has always been a strength of the web, but sometimes that expressiveness can come at the cost of loading time or smooth scrolling. For example, event listeners allow developers to create custom scrolling effects for their website, but they can introduce jank when Chrome needs to wait for any touch handler to finish before scrolling a page. With the new passive event listener API, we've given control back to the developer, who can indicate whether they plan to handle the scroll or if Chrome can begin scrolling immediately.

Speed also goes beyond user experience gains. Studies have shown that 40% of users will leave a retail site if it takes longer than 3 seconds to load. To get a blazing fast web page in front of users immediately, we've introduced Accelerated Mobile Pages (AMP). With AMP, we have seen pages load 4x faster and use up to 10x less data. AMP is already seeing great adoption by developers, with more than 640,000 domains serving AMP pages.

EngageProgressive Web Apps (PWAs) let developers take advantage of new technologies to provide users with an engaging experience from the very first moment. Thanks to a new API called service worker, all the important parts of a web app can be cached so that it loads instantly the next time a user opens it. This caching also allows developers to continue to provide a fast and meaningful experience even when the user is offline or on an unreliable network. PWAs provide elements of polish too: an icon users can add to their home screen, a splash screen when they open it, and a full-screen experience with no address bar.
image 9.gif
JalanTikus Progressive Web App

ConvertLogging in is a ubiquitous pattern on the web, but 92% of users abandon a task if they've forgotten their password. To alleviate this pain, Chrome's password manager enables more than 8-billion sign-ins per month, and we're expanding support with the Credential Management API. Using this API allows web apps to more closely integrate with the password manager and streamline the sign-in process.

Even once logged in, checkout can be a complicated process to complete. That's why we're also investing in capabilities such as the Web Payment API and enhanced autofill, assisting users by accurately filling in forms for them. We've found that forms are completed 25% more when autofill is available, increasing odds for conversion.

RetainOnce the first interaction with a user is complete, re-engaging on the web can be tricky. Push notifications address this challenge on native apps, and now the push API is available on the web as well. This allows developers to reconnect with their users even if the browser isn't running. Over 10 billion push notifications are sent every day in Chrome, and it’s growing quickly. Jumia found that users who enabled push notifications opened those notifications 38% of the time and recovered carts 9x more often than other users.
    Jumia Mobile Web Push Notifications

Success StoriesAs developers begin embracing these new technologies, we're seeing success stories from around the world. AliExpress, one of the world's largest e-commerce sites, built a PWA and saw conversion rates for new users increase by 104%. They've also found that users love the experience, spending 74% more time on their site per session.

Another great example is BaBe, an Indonesian news aggregator service that was app-only until they developed a PWA with feature parity to their native app. Since launching they have found it to perform even faster than their native app, and have seen comparable time spent per session: 3 minutes on average on both their mobile website and their native app.

Even developers who have only begun implementing certain PWA technologies have seen success. United eXtra, a leading retailer in Saudi Arabia, implemented push notifications and saw users who opted-in returned 4x more often. These returning users also spent 100% more than users returning from other channels.

These are just a handful of businesses that have begun reaping the benefits of investing in Progressive Web Apps. Learn more about our how partners are using PWA technologies to enhance their mobile web experience.
Screen Shot 2016-05-17 at 6.06.16 PM.png
Subscribe to our YouTube channel to stay up to date with all the mobile web sessions from Google I/O, which we will continue to upload as they’re ready. Thanks for coming, thanks for watching, and most of all, thank you for developing for the web!

Categories: Programming

Build deeper integrations with Google Classroom

Thu, 05/19/2016 - 20:30

Originally posted on Google for Education blog

Posted by Ed Kupershlak, Google Classroom Software Engineer

Last year, we launched the Classroom API to make it easier for administrators to manage classes, and for developers to integrate their applications with Classroom. Since that time, hundreds of applications have integrated with Classroom to help teachers gamify their classes, improve students’ writing skills, build interactive presentations and more.

Do more with coursework in the Classroom API

Today, we’re introducing new coursework endpoints that allow developers to access assignments, grades and workflow. Learning tools can focus on creating great content and, in turn, use Classroom to manage the workflow for assignments created with this content. Gradebooks and reporting systems can now also sync grades with Classroom, eliminating the need for teachers to manually transfer grades.

Several partners have been helping to test the new functionality, including:

  • OpenEd, which provides a library of open education resources for K-12 teachers
  • Tynker, a creative computing platform for teaching students to code
  • GeoGebra, a visual mathematics platform that allows students and teachers to author interactive mathematics content

Access course Drive folders, groups and materials

In addition to the coursework endpoints, we’ve added new functionality to our existing course and roster API endpoints. Developers can now access course Drive folders, groups and materials. Applications can use this new functionality to store files in the same Drive folder as the rest of the resources in a class, or use course groups to manage file sharing permissions.

In the coming months, we’ll be adding more coursework management capabilities. When we do, we’ll post updates to the developer forum and issue tracker. We look forward to working together to make it even easier for teachers and students to use the tools they love with Classroom. Developers, please review the documentation, the FAQ, and ask questions on Stack Overflow. Also, don’t forget to let us know what you’re building using the #withClassroom hashtag on Twitter or G+. And teachers, check out this list of applications that work well with Classroom today.

Categories: Programming

Daydream Labs: exploring and sharing VR’s possibilities

Thu, 05/19/2016 - 19:36

Posted by Andrey Doronichev, Group Product Manager, Google VR

In Daydream Labs, the Google VR team explores virtual reality’s possibilities and shares what we learn with the world. While it’s still early days, the VR community has already come a long way in understanding what works well in VR across hardware, software, video, and much more. But, part of what makes developing for VR so exciting is that there’s still so much more to discover.

Apps are a big focus for Daydream Labs. In the past year, we’ve built more than 60 app experiments that test different use cases and interaction designs. To learn fast, we build two new app prototypes each week. Not all of our experiments are successful, but we learn something new with each one.

For example, in one week we built a virtual drum kit that used HTC Vive controllers as drumsticks. The following week, when we were debating how to make typing in VR more natural and playful, we thought — “what if we made a keyboard out of tiny drums?”

We were initially skeptical that drumsticks could be more efficient than direct hand interaction, but the result surprised us. Not only was typing with drumsticks faster than with a laser pointer, it was really fun! We even built a game that lets you track your words per minute (mine was 50 wpm!).

Daydream Labs is just getting started. This post is the first in an ongoing series sharing what we’ve learned through our experiments so stay tuned for more! You can also see more of what we’ve learned about VR interactions, immersion, and social design by watching our Google I/O talks on the live stream.

Categories: Programming

VR at Google - Jump, Expeditions, and Daydream

Thu, 05/19/2016 - 17:37

Posted by Nathan Martz, Product Manager, Daydream

Two years ago at Google I/O, we introduced Google Cardboard, a simple and fun way to experience virtual reality on your smartphone. Since then, we've grown the Google VR family with Expeditions and Jump, and this week at Google I/O, we announced Daydream, a platform for high quality mobile virtual reality.

Jump—in the hands of creators and more cameras on the way

We announced Jump, cameras and software to make producing beautiful VR video simple, at I/O last year. Jump cameras are now in the hands of media partners such as Paramount Pictures, The New York Times, and Discovery Communications. Virtual reality production companies including WEVR, Vrse, The Secret Location, Surreal, Specular Theory, Panograma, and RYOT also have cameras in hand. We can't wait to see the wide variety of immersive videos these creators will share with a growing VR audience.

To enable cameras in a range of shapes and sizes and price points. Today, the Jump ecosystem expands with two partnerships to build Jump cameras. First, we're working with Yi Technology on a rig based around their new 4K Action Cam, coming later this year.

With Jump, we've also seen incredible interest from filmmakers. Of course when you're creating the best content you want the absolute highest quality, cinema-grade camera available. To help create this, we're collaborating with IMAX to develop a very high-end cinema-grade Jump camera.

Expeditions—One year, one million students

More than one million students from over 11 countries have taken an Expedition since we introduced the Google Expeditions Pioneer Program last May. The program lets students take virtual reality trips to over 200 places including Buckingham Palace, underwater in the Great Barrier Reef—and in seventh grader Lance Teeselink’s case—Dubai’s Burj Khalifa, the tallest building in the world.

And soon, students will have even more places to visit, virtually, thanks to new partnerships with the Associated Press and Getty Images. These partners will provide the Expeditions program with high-resolution VR imagery for current events to help students better understand what’s happening around the world.

Daydream—high quality VR on your Android smartphone

Daydream is our new platform for high quality mobile virtual reality, coming this fall. Over time, Daydream will encompass VR devices in many shapes and sizes, and Daydream will enable high quality VR on Android smartphones.

We are working with a number of smartphone manufacturers to create a specification for Daydream-ready phones. These smartphones enable VR experiences with high-performance sensors for smooth, accurate head tracking, fast response displays to minimize blur, and powerful mobile processors. Daydream-ready phones take advantage of VR mode in Android N, a set of powerful optimizations for virtual reality built right into Android.

With Daydream, we've also created a reference design for a comfortable headset and an intuitive controller. And, yes we're building one too. The headset and controller work in tandem to provide rich, immersive experiences. Take a look at how the controller lets you interact in VR:

Build for Daydream

The most important part of virtual reality is what you experience. Some of the world's best content creators and game studios are bringing their content to Daydream. You will also have your favorite Google apps including Play Movies, Street View, Google Photos, and YouTube.

You can start building for Daydream today. The Google VR SDK now includes a C++ NDK. And if you develop with Unreal or Unity, Daydream will be natively supported by both engines. Visit the Daydream developer site where you can get access the tools. Plus, with Android N Developer Preview 3 you can use the Nexus 6P as a Daydream developer kit.

This is just the beginning for Daydream. We’ll be sharing much more on this blog over the coming months. We’re excited to build the next chapter of VR with you.

Categories: Programming

New ways to keep data flowing between your apps and ours

Wed, 05/18/2016 - 20:32

Originally posted on Google Apps Developers Blog

Posted by Tom Holman, Product Manager, Google Sheets

There was a time when office work used to be all about pushing physical paper. Computing and productivity tools have made things better, but workers still find themselves doing the same tasks over and over across the different apps they use: copying and pasting from a CRM app to a slide presentation, or manually exporting data from a project management app just to turn around and import it back into a spreadsheet. It’s the digital equivalent of pushing paper.

To make it easier to get the job done across multiple apps, without all the copy and paste, we’re announcing three new APIs and a new feature to help workers get to the data they need, when and where they need it.

Build seamless integrations with the new Sheets and Slides APIs

Our new APIs let developers connect their apps—and the data within them—more deeply with Google Sheets and Google Slides.

The new Sheets API gives developers programmatic access to powerful features in the Sheets web and mobile interfaces, including charts and pivot tables. For example, developers can use Sheets as part of a rich workflow that pushes data from their app into Sheets and allows users to collaborate on that data before the updated data is pulled back into the original app, removing altogether the need to copy and paste.

Teams at Anaplan, Asana, Sage, Salesforce, and SAP Anywhere are already building interesting integrations with the new Sheets API. Check out the video below to see an overview of what’s possible as well as several example integrations.

Partner integrations with the new Google Sheets API

The new Sheets API is available today. Find the developer documentation as well as a codelab to help you get started at developers.google.com/sheets.

Similar to the Sheets API, the new Slides API gives developers programmatic access to create and update presentations. For example, developers can use this API to push data and charts into Slides to create a polished report from source data in other application, ready to present.

Conga, ProsperWorks, SalesforceIQ and Trello are all building integrations with Slides using the new API. Several examples of what’s possible are in the video below.

Partner integrations with the new Google Slides API

The Slides API will be launching in the coming months, and these partner integrations will be available soon after. You can sign up for early access to the Slides API at developers.google.com/slides.

Keep your data in sync with the new Classroom API

For developers building tools and workflows for schools, the Classroom API has launched new coursework endpoints to help you build stronger integrations that keep your data in sync. Read the full announcement on the Google for Education blog, here.

Sync assignments & grades programmatically with the Google Classroom API

Say goodbye to stale data with linked charts

Finally, to make sure we can help keep all this data flowing seamlessly from app to app, users can now also embed linked charts from Sheets into Docs or Slides. The result? Once the underlying data in a spreadsheet changes, whether that change comes from an action taken in another app via the API or a collaborator, an updated chart in the corresponding presentation or document is just one click away.

Linked charts allow for easy updates in Docs & Slides

For more information, see how to add a chart to a document or to a presentation.

We can't wait to see what you build.

Categories: Programming

Google I/O 2016: Develop, Grow & Earn

Wed, 05/18/2016 - 20:09

By Jason Titus, Vice President, Developer Product Group

Earlier today, we kicked off our 10-year celebration of hosting developer events with Google I/O in front of over 7,000 developers at Shoreline Amphitheatre, and with millions of other viewers on the I/O live stream around the world. During the keynote, we had a number of announcements that featured tools for Android, iOS, and mobile Web developers, showcased the power of machine learning for delivering better user experiences, and introduced a previewed platform for high quality, mobile virtual reality.

And over the next three days at the festival, we’ll continue to focus on things that matter to you: Develop, to build high quality apps; Grow & Earn, to find high quality users, increase user engagement and create successful businesses; and What’s Next, a look at new platforms for future growth.

Develop, Grow & Earn with Firebase

Those core themes are best represented in our launch of Firebase. As shared during the keynote, we’ve significantly expanded Firebase beyond a mobile backend to include brand new features, like mobile analytics, growth tools, and crash reporting. Firebase is now a suite of 15 features and integrations designed to help you develop your app, grow a user base and earn money. At the heart of the suite is a new mobile analytics tool we built from the ground up called Firebase Analytics. Available for free and unlimited usage, Firebase Analytics is inspired by our decade-long experience running Google Analytics, but designed specifically for the unique needs of apps.

Let's also take a closer look at the other major developer news at I/O:

  • Android N Developer Preview 3 — Get a look at the next release of Android N focused on performance, productivity and security. Even better, Android N is now ready to test on primary phones or tablets.
  • Android VR — A rework of the entire Android stack in N to tailor it to provide high quality mobile VR experiences.
  • Android Studio 2.2 Preview — Our new preview focuses on speed, smarts, and Android platform support. This major update includes a completely rewritten, feature-rich Layout Designer.
  • Android Wear 2.0: A developer preview of the biggest platform update since we launched Android Wear two years ago. It includes updated design guidelines and APIs that make the watch even more useful for watch faces, messaging, and fitness. Apps on the watch can now be standalone, with direct network access to the cloud.
  • Recording APIs: enables Android TV app developers and content providers to bring recording functionality to live channels.
  • Google Play services 9.0 — In addition to Firebase, the next release includes new API updates for Ads, Nearby and Play Games services.
  • Android Pay APIs — A new set of tools that includes support for mobile web, Instant Apps, Save to Android Pay and an API for issuers. We’ll have more to share during the session “Android Pay everywhere: New developments” later today at 2:00 PM PT Stage 1 Hercules.
  • Progressive Web Apps — A new set of capabilities to build app-like mobile websites that work reliably on the worst network connections and can send notifications to re-engage users.
  • Credentials API — The latest version of Chrome now supports the Credential Management API, allowing sites to interact with the browser’s credential manager to improve the sign in experience for users. The API enables users to sign in with one tap and lets them automatically sign back in when returning to the site.
  • Accelerated Mobile Pages — Check out the AMP project, an open source initiative that is helping publishers create mobile-optimized content once and have it load instantly everywhere.
Grow & Earn
  • Reach a global audience on Google Play — New and powerful tools to help you grow your business: discover and join beta tests from the Play Store (including a new Early Access section), discover collections of complementary apps to help users solve complex tasks, see how your app runs on real devices with a new pre-launch report, get insights and benchmarks for reviews and user acquisition, monitor your app stats and get notifications when your updates are live with the new Play Console app, and more.
  • Android Instant Apps — With Android Instant Apps, users can open your app simply by tapping on a link, even if they don’t have the app installed. Instant Apps is compatible with Android Jelly Bean and later, reaching over a billion users. We’re working with a small set of developers now, and we’ll be gradually expanding access.
  • Building for billions — New resources to help you optimize your app and get your business ready to serve over a billion Android users around the world.
  • Universal App Campaigns — Last year, we introduced Universal App Campaigns as a simple and powerful way to surface apps to the billions of users across Google Play, Search, YouTube, and the Google Display Network. We’re building on this success by expanding onto iOS and by helping developers use insights to optimize for lifetime value. See our new apps best practices.
What’s Next
  • Awareness API: We'll be previewing a new, unified sensing platform that enables apps to be aware of all aspects of a user's context, while managing system health for you. Learn more at the "Introducing Awareness API: an easy way to make your apps context aware" session later today at 3:00 PM PT in Stage 5 Libra.
  • Daydream — We’ll have more to share on how developers can start building Daydream apps during the “VR at Google” session tomorrow (May 19) at 9:00 AM PT in the Amphitheatre and livestreamed.
  • Chromebooks — Hear from the team firsthand what’s new with Chromebooks tomorrow (May 19) at 11:00 AM PT in Stage 8 Crater.
  • The Mobile Web — We’ll share what we’re doing to improve the mobile web experience for developers and users tomorrow (May 19) at 2:00 PM PT in the Amphitheatre.
Categories: Programming

Firebase expands to become a unified app platform

Wed, 05/18/2016 - 19:57
Posted by James Tamplin & Francis Ma, Firebase Product Leads

Eighteen months ago, Firebase joined Google. Since then, our backend-as-a-service (BaaS) that handles the heavy lifting of building an app has grown from a passionate community of 110,000 developers to over 450,000.

Our current features -- Realtime Database, User Authentication, and Hosting -- make app development easier, but there’s more we can do, so today, we’re announcing a major expansion!

Firebase is expanding to become a unified app platform for Android, iOS and mobile web development. We’re adding new tools to help you develop faster, improve app quality, acquire and engage users, and monetize apps. On top of this, we’re launching a brand new analytics product that ties everything together, all while staying true to the guiding principles we’ve had from the beginning:

  • Developer experience matters. Ease-of-use, good documentation, and intuitive APIs make developers happy.
  • Work across platforms. We’ll support you whether you’re building for iOS, Web, or Android.
  • Integrate where possible. Firebase has one SDK, one console, and one place to go for documentation and support. You can mix-and-match any of our features and, where it makes sense, data flows between them to help you do more, faster.
Introducing Firebase Analytics

Firebase Analytics is our brand new, free and unlimited analytics solution for mobile apps. It benefits from Google’s experience with Google Analytics, but differs in a few important ways:

First, Firebase Analytics is user and event-centric. Instead of focusing on pageviews, screenviews, and sessions, it gives you insight into what your users are doing in your app. You can also see how your paid advertising campaigns are performing with cross-network attribution, which tells you where your users are coming from. You can see all of this from a single dashboard.

Second, Firebase Analytics is integrated with other Firebase offerings to provide a single source of truth for in-app activity and through a feature called Audiences. Audiences let you define groups of users with common attributes. Once defined, these groups can be accessed from other Firebase features -- to illustrate, we’ll reference Audiences throughout this post.

Develop Faster with Messaging, Storage, Config

To help you build better apps, our suite of backend services is expanding.

Google Cloud Messaging, the most popular cloud-to-device push messaging service in the world, is integrating with Firebase and changing its name to Firebase Cloud Messaging (FCM). Available for free and for unlimited usage, FCM supports messaging on iOS, Android, and the Web, and is heavily optimized for reliability and battery-efficiency. It’s built for scale and already sends 170 billion messages per day to two billion devices.

One of our most requested features is the ability to store images, videos, and other large files. We’re launching Firebase Storage so developers can easily and securely upload and download such files. Firebase Storage is powered by Google Cloud Storage, giving it massive scalability and allowing stored files to be easily accessed by Google Cloud projects. The Firebase Storage client SDKs have advanced logic to gracefully handle poor network conditions.

Firebase Remote Config gives you instantly-updatable variables that you can use to tune and customize your app on the fly to deliver the best experience to your users. You can enable or disable features or change the look and feel without having to publish a new version. You can also target configurations to specific Firebase Analytics Audiences so that each of your users has an experience that’s tailored for them.

In addition, we’re continuing to invest heavily in our existing backend products, Firebase Realtime Database, Firebase Hosting, and Firebase Authentication. Authentication has seen the biggest updates, with brand new SDKs, and an upgraded backend infrastructure. This provides added security, reliability, and scale using the same technologies that power Google’s own accounts. We’ve also added new Authentication features including email verification and account linking. For Hosting, custom domain support is now free for all developers, and the Database has a completely rebuilt UI. We’re working hard on other great Realtime Database features, stay tuned for those.

Introducing Test Lab and Crash Reporting

We’re adding two new offerings to Firebase to help you deliver higher quality apps.

When your app crashes, it’s bad for your users and it hurts your business. Firebase Crash Reporting gives you prioritized, actionable reports to help you diagnose and fix problems in your iOS or Android app after it has shipped. We’ve also connected Crash Reporting to Audiences in Firebase Analytics, so you can tell if users on a particular device, in a specific geography, or in any other custom segment are experiencing elevated crash rates.

Cloud Test Lab, announced last year at Google I/O, is now Firebase Test Lab for Android. Test Lab helps you find problems in your app before your users do. It allows for both automatic and customized testing of your app on real devices hosted in Google data centers.

Grow Your App with Notifications, Dynamic Links, and More

After you’ve launched your app, we can help you grow and re-engage users with five powerful growth features.

Firebase Notifications is a new UI built on top of the Firebase Cloud Messaging APIs that lets you easily deliver notifications to your users without writing a line of code. Using the Notifications console you can re-engage users, run marketing campaigns, and target messages to Audiences in Firebase Analytics.

Firebase Dynamic Links make URLs more powerful in two ways. First, they provide “durability” -- links persist across the app install process so users are taken to the right place when they first open your app. This “warm welcome” increases engagement and retention. Second, they allow for dynamically changing the destination of a link based on run-time conditions, such as the type of browser or device. Use them in web, email, social media, and physical promotions to gain insight into your growth channels.

Firebase Invites turns your customers into advocates. Your users can easily share referral codes or their favorite content via SMS or email to their network, so you can increase your app's reach and retention.

Firebase App Indexing, formerly Google App Indexing, brings new and existing users to your app from the billions of Google searches. If your app is already installed, users can launch it directly from the search results. New users are presented with a link to install your app.

AdWords, Google’s advertising platform for user acquisition and engagement, is now integrated with Firebase. Firebase can track your AdWords app installs and report lifetime value to the Firebase Analytics dashboard. Firebase Audiences can be used in AdWords to re-engage specific groups of users. In-app events can be defined as conversions in AdWords, to automatically optimize your ads, including universal app campaigns.

Monetize Your App With AdMob

To help you generate revenue from your app and build a sustainable business, we’ve integrated Firebase with AdMob, an advertising platform used by more than 1 million apps. We’ve made it easier to get started with AdMob when you integrate the Firebase SDK into your app. Using AdMob, you can choose from the latest ad formats, including native ads, which help provide a great user experience.

Introducing a New Console, Documentation, and SDK

Along with new feature launches, we’re moving our website and documentation to a new home: firebase.google.com.

We’re also launching a brand new console to manage your app. It is completely redesigned and rebuilt for improved ease of use, and we’ve deeply integrated it with other Google offerings, like Google Cloud and Google Play.

Firebase now uses the same underlying account system as Google Cloud Platform, which means you can use Cloud products with your Firebase app. For example, a feature of Firebase Analytics is the ability to export your raw analytics data to BigQuery for advanced querying. We’ll continue to weave together Cloud and Firebase, giving you the functionality of a full public cloud as you grow.

You can also link your Firebase account to Google Play from our new console. This allows data, like in-app purchases, to flow to Firebase Analytics, and ANRs (application not responding) to flow to Firebase Crash Reporting, giving you one place to check the status of your app.

Finally, we’re announcing the beta launch of a new C++ SDK. You can find the documentation and getting started guides here.

Announcing New Pricing Plans

We’re excited to announce that most of these new products, including Analytics, Crash Reporting, Remote Config, and Dynamic Links, are free for unlimited usage.

For our four paid products: Test Lab, Storage, Realtime Database, and Hosting, we’re announcing simpler pricing. We now offer:

  • A free plan with generous limits
  • A fixed-rate plan for early-stage startups who need a predictable monthly price
  • A metered pay-as-you-go plan that scales with the largest apps
Some Things Stay the Same

Many things are changing, but Firebase’s core principles remain the same. We care deeply about providing a great developer experience through easy-to-use APIs, intuitive interfaces, comprehensive documentation, and tight integrations. We’re committed to cross-platform development for iOS, Android, and the Web, and when you run into trouble, we’ll provide support to help you succeed.

If you were using a Firebase feature before today -- like the Realtime Database, GCM, or App Indexing -- there’s no impact on your app. We’ll continue to support you, though we recommend upgrading to the latest SDK to access our new features.

More to Come

As far as we’ve come, this is still early days. We’ll continue to refine and add to Firebase. For example, the JavaScript SDK does not yet support all the new features. We’re working quickly to close gaps, and we’d love to hear your feedback so we can improve. You can help by requesting a feature.

Get Started!

All the new features are ready-to-go, and already in use by apps like Shazam, SkyScanner, PicCollage, and more. Get started today by signing up, visiting our new site, or reading the documentation to learn more.

We can’t wait to hear what you think!

Categories: Programming

Scratch and Google Introduce Scratch Blocks

Tue, 05/17/2016 - 17:04

Posted by Champika Fernando, Product Manager, Google and Kasia Chmielinski, Product Lead, Scratch

Today, we announced a collaboration with the MIT Media Lab’s Scratch Team on the development of a new generation of graphical programming blocks, called Scratch Blocks. Released as an open-source developer preview today, Scratch Blocks builds on Google’s Blockly technology and the Scratch Team’s expertise in designing creative interfaces for young learners.

Scratch Blocks represents the first step in a broader effort, focused on developing new software toolkits that enable developers to create consistent, high-quality programming experiences for kids everywhere.

Since its launch in 2007, Scratch has empowered more than 11 million young people globally to create more than 14 million games, animations, and stories, and to share their creations with others in the Scratch online community. (source: https://scratch.mit.edu/statistics/)

Dance Party 3.0 project by ArtsyGal on Scratch

Like the Scratch Team, we believe that coding is more than just a set of technical skills; coding is a valuable tool for everyone, empowering kids (and adults) to imagine, invent and explore.

Today, we’re releasing an early developer preview of the Scratch Blocks horizontal grammar - an icon-based grammar that’s optimized for small screens, and is ideal for beginner-friendly experiences (see screenshot below). We also have plans to support the vertical, text-based grammar that’s already familiar to today’s users of Scratch.

This prototype implementation of Scratch Blocks controls a LEGO WeDo 2.0 device over a bluetooth connection.

We’re also continuing to improve Blockly, the technology underlying Scratch Blocks. Today, we open-sourced a native Android version of Blockly that supports building better experiences on tablets, and we plan to open-source an iOS version later this year. We've also made significant improvements to the performance of web Blockly, enabling better rendering performance on mobile devices.

Scratch Blocks will be featured at I/O Youth on May 17, 2016, and in the “Developing for Kids” Sandbox at Google I/O from May 18-20, 2016 at the Shoreline Amphitheatre in Mountain View, CA. Learn more about Scratch Blocks at scratch.mit.edu/developers. Learn more about Blockly at developers.google.com/blockly.

Categories: Programming

Get ready for Google I/O 2016

Fri, 05/13/2016 - 21:53

Posted by Mike Pegg, Head of Developer Marketing

Google I/O is almost here! We’ll kick-off live from the Shoreline Amphitheatre in Mountain View at 10AM PDT next Wednesday, May 18th. This year’s festival will focus on key themes that matter to you: Develop, to build high quality apps; Grow & Earn, to increase user engagement and create successful businesses; and What’s Next, a look at new platforms for future growth.

While we’re putting the finishing touches on the keynote, sessions, 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 & Mobile apps

To get the most out of Google I/O, make sure to install the Android or iOS app and add the web app to your mobile homescreen. The apps will help you plan your schedule (even while offline!), view the venue map, and keep up with the latest I/O details.

Attending in person?

Badge pick-up starts on Tuesday, May 17th, between 7AM - 7PM at the Shoreline Amphitheatre. Keynote seating will be pre-assigned on a first come, first served basis during badge pick-up so plan to come by early on! Remember to bring your ID, the QR code that will be emailed to you before the conference, proof of academic eligibility if you registered for an Academic badge, and your best look for the badge photo! Find the full badge pick-up schedule here.

After the keynote ends, in addition to attending technical sessions, you’ll have the opportunity to talk directly with Google engineers throughout the Sandbox space which will feature multiple product demos and activations; during Code Labs where you can complete self-paced tutorials; and at Office Hours where you can get specific questions answered by Google specialists.

Don’t forget to bring your (comfortable) party shoes! On Day 1, we’ll have an After Hours Concert from 7-10PM that will include dinner, drinks, and feature some exciting musical performances we think you’ll enjoy! On Day 2, we’ll have an After Hours Party from 8-10PM which also includes food, drinks and lots of fun activities. Enjoy the time to explore the venue at dusk - it will look quite different than during the day. We recommend bringing a jacket for the evening festivities as it can get chilly after dark.

Attending remotely?

Whether you’re looking 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: Find an I/O Extended event happening in your community. There’ll be over 450 events taking place around the world organized by Google Developer Groups, Student Ambassadors, and local developers who will be watching the I/O keynote together, participating in hackathons, code labs, and much more.
  • I/O Live: Tune into the live stream throughout the 3 day festival on google.com/io and via the Android and iOS app. If you want to bring the live stream and the #io16 conversation to your audience, you can customize and embed our I/O Live widget on your site or blog.
  • #io16request: Send us your I/O questions on May 18-20 via public english posts on Google+ or Twitter that include the #io16request hashtag. A team of onsite Googlers will do their best to track down an answer in real time for you.
  • I/O in photos: Be sure to check out real time photos from Mountain View on all three days of the event.

We’re looking forward to having you with us for 3 days of I/O fun, soon!

Don’t forget to join the social conversation at #io16!

Categories: Programming

Introducing the second class of Launchpad Accelerator

Wed, 05/11/2016 - 18:41

Roy Glasberg, Global Lead, Launchpad Program & Accelerator

This week Launchpad Accelerator announces its second class, which includes 24 promising startups from around the world. While the number of accelerators is at an all-time high, we take a different approach with Launchpad Accelerator, a program that exclusively works with late-stage tech startups in emerging markets -- Brazil, Indonesia, India and Mexico.

See what it’s like to participate in the Accelerator.

“We provide comprehensive mentorship that delivers results,” says Jacob Greenshpan, one of Launchpad’s lead mentors. “We start by running a ‘patient diagnostic’ to determine each startup’s critical challenges, and then deploy precise mentorship, actionable solutions, and Google resources that enables the app to scale.”

Class 2 kicks off June 13. The startups will descend on Google HQ for an intensive 2 week bootcamp. Under the tutelage of Google product teams and mentors from the global Launchpad network, they will receive intensive, targeted mentoring, equity-free funding, and more benefits during the 6-month program.

Here’s the full list of startups (by country):

Brazil BankFacil Emprego Ligado AppProva GetNinjas Edools Love Mondays Indonesia HijUp Talenta Jarvis Store Ruangguru IDNtimes Codapay India Taskbob Programming Hub ShareChat RedCarpet PlaySimple Games MagicPin Mexico Aliada SaferTaxi Conekta Konfio Kichink Miroculus

Google’s “Scalerator” Drives Results for Alumni

What advice do Class 1 alumni give to the new intake? “Come to the accelerator with an open mind. You will be shocked to find how many things are going wrong in your app. Thankfully the mentors will help you implement better solutions,” says Vinicius Heimbeck, Founder of Brazilian mobile game developer UpBeat Games.

UpBeat Games had more than 1,000% increase in daily app installations in Asia during the period of a feature, as well as a 200% overall increase in active users after following a long list of improvements Accelerator mentors suggested. “We made optimizations that led us to be featured in Google Play, which changed everything for us.”

See Upbeat Games at the Accelerator in this video.

“Believe you can build a world class product. The mentors will push you to bet on yourself,” says Amarendra Sahu, Nestaway Co-founder and Class 1 alumni. NestAway just closed a $30M Series C, one of the largest investment rounds in India this year.

“Your biggest enemy is not failure; it is the temptation to be ordinary. But the mentors will push you to build an extraordinary product and scale an extraordinary startup," says eFishery Co-founder and CEO Gibran Chuzaefah Amsi El Farizy, who was announced as one of the top 27 leaders in Indonesia’s startup ecosystem, after participating in the Accelerator program.

Categories: Programming

Googlers on the road: OSCON 2016 in Austin

Mon, 05/09/2016 - 20:32

Originally posted on Google open source Blog

By Josh Simmons, Open Source Programs Office

Developers and open source enthusiasts converge on Austin, Texas in just under two weeks for O’Reilly Media’s annual open source conference, OSCON, and the Community Leadership Summit (CLS) that precedes it. CLS runs May 14-15 at the Austin Convention Center followed by OSCON from May 16-19.

OSCON 2014 program chairs including Googler Sarah Novotny.
Photo licensed by O'Reilly Media under CC-BY-NC 2.0.
This year we have 10 Googlers hosting sessions covering topics including web development, machine learning, devops, astronomy and open source. A list of all of the talks hosted by Googlers alongside related events can be found below.
If you’re a student, educator, mentor, past or present participant in Google Summer of Code or Google Code-in, or just interested in learning more about the two programs, make sure to join us Monday evening for our Birds of a Feather session.

Have questions about Kubernetes, Google Summer of Code, open source at Google or just want to meet some Googlers? Stop by booth #307 in the Expo Hall.

Thursday, May 12th - GDG Austin7:00pm   Google Developers Group Austin Meetup

Sunday, May 15th - Community Leadership Summit10:00am  Occupational Hazard by Josh Simmons

Monday, May 16th9:00am   Kubernetes: From scratch to production in 2 days by Brian Dorsey and Jeff Mendoza7:00pm   Google Summer of Code and Google Code-in Birds of a Feather

Tuesday, May 17th9:00am   Kubernetes: From scratch to production in 2 days by Brian Dorsey and Jeff Mendoza9:00am   Diving into machine learning through TensorFlow by Julia Ferraioli, Amy Unruh and Eli Bixby

Wednesday, May 18th1:50pm    Open source lessons from the TODO Group by Chris DiBona, Chris Aniszczyk, Nithya Ruff, Jeff McAffer and Benjamin VanEvery5:10pm    Scalable bidirectional communication over the Web by Wenbo Zhu

Thursday, May 19th
11:00am  Kubernetes hackathon at OSCON Contribute hosted by Brian Dorsey, Nikhil Jindal, Janet Kuo, Jeff Mendoza, John Mulhausen, Sarah Novotny, Terrence Ryan and Chao Xu2:40pm    Blocks in containers: Lessons learned from containerizing Minecraft by Julia Ferraioli5:10pm    PANOPTES: Open source planet discovery by Jennifer Tong and Wilfred Gee5:10pm    Stop writing JavaScript frameworks by Joseph Gregorio

Haven’t registered for OSCON yet? You can knock 25% off the cost of registration by using discount code Google25, or attend parts of the event including our Birds of a Feather session for free by using discount code OSCON16XPO.

See you at OSCON!

Categories: Programming

[New eBook] Download The No-Nonsense Guide to In-App Ads

Mon, 04/25/2016 - 21:23

Originally Posted on Inside AdMob Blog

Posted by Joe Salisbury, Product Specialist, AdMob
A clear trend is emerging in the world of smartphones – people want free apps. According to a study by Juniper Research, barely 1% of apps are now paid for at the point of download.1

While demand for free apps continues to increase, app developers are answering a very important question, “what’s the best way to publish my app for free while sustainably funding my business?”

In-app ads are a reliable solution that is set to grow 3.2X between 2014-18. 2

Many of the world’s most popular apps rely heavily on in-app advertising to earn income. Apps like PicsArts and Trivia Crack each have hundreds of millions of downloads and use advertising as a revenue source. In-app ads are evolving and there are many options for developers to utilize which provide great experiences for users.

So, how do you get started with ads?

To answer this, we’re launching a new ebook called “The No-nonsense Guide to In-App Ads”, the latest in our No-nonsense series. This guide is designed to provide a comprehensive overview of in-app advertising for those new to the opportunity. We’ll walk you through how digital ads can be included into your app strategy and what’s the best way for you to get started.

In the eBook, you’ll learn:

  • Foundational advertising concepts like eCPM, Fill Rate, Demand, and Inventory.
  • A simple overview of how businesses make money from advertising. 
  • How Pay Per Click advertising works.
  • A basic explanation of ad networks and how they can help you monetize your app.
  • How to choose the right ad network for your app.

Download a free copy here.

For more tips on app monetization, be sure to stay connected on all things AdMob by following our Twitter, LinkedIn and Google+ pages.

Posted by Joe Salisbury, Product Specialist, AdMob

1 - Juniper, April 2015 and Juniper website, The App Landscape Today, Feb 2015
2 - App Annie/IDC, April 2015, Mobile App Advertising and Monetization Trends 2013-2018
Categories: Programming

Saying goodbye to OAuth 1.0 (2LO)

Fri, 04/22/2016 - 17:00

Originally posted on Google Apps Developers Blog

Posted by Vartika Agarwal, Technical Program Manager, Identity & Authentication, and Wesley Chun, Developer Advocate, Google

As we indicated several years ago, we are moving away from the OAuth 1.0 protocol in order to focus our support on the current OAuth standard, OAuth 2.0, which increases security and reduces complexity for developers. OAuth 1.0 (3LO)1 was shut down on April 20, 2015. During this final phase, we will be shutting down OAuth 1.0 (2LO) on October 20, 2016. The easiest way to migrate to the new standard is to use OAuth 2.0 service accounts with domain-wide delegation.

If the migration for applications using these deprecated protocols is not completed before the deadline, those applications will experience an outage in their ability to connect with Google, possibly including the ability to sign-in, until the migration to a supported protocol occurs. To avoid any interruptions in service for your end-users, it is critical that you work to migrate your application(s) prior to the shutdown date.

With this step, we continue to move away from legacy authentication/authorization protocols, focusing our support on modern open standards that enhance the security of Google accounts and that are generally easier for developers to integrate with. If you have any technical questions about migrating your application, please post them to Stack Overflow under the tag google-oauth.

1 3LO stands for 3-legged OAuth: there's an end-user that provides consent. In contrast, 2-legged (2LO) doesn’t involve an end-user and corresponds to enterprise authorization scenarios such as enforcing organization-wide policy control access.

Categories: Programming

Start planning your Google I/O 2016 schedule

Thu, 04/21/2016 - 19:00

Posted by Mike Pegg, Google Developers Team

What are the best ways to optimize battery and memory usage of your apps? How do you create a great app experience that is accessible to everyone, including users with disabilities? How do you build an offline-ready, service-working, app-manifesting, production-ready Progressive Web App using Firebase Hosting? And what are some of the best desserts that start with N? Tune in to Google I/O to get the answers to all of these questions (well, most of them...), along with a whole lot more. You can start planning your schedule now, as the first wave of 100 technical talks just went live at google.com/io!

Last year, you told us you wanted more: more technical content, more time, more space, more everything! We heard your feedback loud and clear and have added a full third day onto Google I/O to accommodate more comprehensive talks in larger spaces than in previous years. These talks will be spread over 14 suggested tracks, including Android, the Mobile Web, Play and more, to help you easily navigate your I/O experience. Of course, we’re also bringing back Codelabs, our self-paced workshops with Googlers nearby to give you a hand.

Attending Remotely?

There are already over 200 I/O Extended events happening around the world. Join one of these events to participate in I/O from your local neighborhood alongside local developers who share the same passion for Google technology. You can also follow the festival from home; we’ll have four different live stream channels to chose from, broadcasting many of the sessions in real time from Shoreline. All of the sessions will be available to watch on YouTube after I/O concludes, in case you miss one.

See you soon!

This is just the first wave of talks. We’ll be adding more talks and events as we get closer to I/O, including a number of talks directly after the keynote (shhhh!! We’ve got some new things to share). We look forward to seeing you in a few weeks -- whether it be in person at Shoreline, at an I/O Extended event, or on I/O Live!

Categories: Programming

Experience virtual reality art in your browser

Tue, 04/19/2016 - 19:55

Posted by Jeff Nusz, Data Arts Team, Pixel Painter

Two weeks ago, we introduced Tilt Brush, a new app that enables artists to use virtual reality to paint the 3D space around them. Part virtual reality, part physical reality, it can be difficult to describe how it feels without trying it firsthand. Today, we bring you a little closer to the experience of painting with Tilt Brush using the powers of the web in a new Chrome Experiment titled Virtual Art Sessions.

Virtual Art Sessions lets you observe six world-renowned artists as they develop blank canvases into beautiful works of art using Tilt Brush. Each session can be explored from start to finish from any angle, including the artist’s perspective – all viewable right from the browser.

Participating artists include illustrator Christoph Niemann, fashion illustrator Katie Rodgers, sculptor Andrea Blasich, installation artist Seung Yul Oh, automotive concept designer Harald Belker, and street artist duo Sheryo & Yok. The artists’ unique approaches to this new medium become apparent when seeing them work inside their Tilt Brush creations. Watch this behind-the-scenes video to hear what the artists had to say about their experience:

Virtual Art Sessions makes use of Google Chrome’s V8 Javascript engine for high-performance processing power to render large volumes of data in real time. This includes point cloud data of the artist’s physical form, 3D geometry data of the artwork, and position data of the VR controllers. It also relies on Chrome’s support of WebM video and WebGL to produce the 360° representations of the artists and artwork – the artist portrayals alone require the browser to draw over 200,000 points at 30 times a second. For a deeper look, read the technical case study or browse the project code that is available open source from the site’s tech page.

We hope this experiment provides a window into the world of painting in virtual reality using Tilt Brush. We are excited by this new medium and hope the experience leaves you feeling the same. Visit g.co/VirtualArtSessions to start exploring.

Categories: Programming

Learn about Android Development Patterns over Coffee with Joanna Smith

Fri, 04/15/2016 - 19:25

Posted by Laurence Moroney, developer advocate

One of the great benefits of Android development is in the flexibility provided by the sheer number of APIs available in the framework, support libraries, Google Play services and elsewhere. While variety is the spice of life, it can lead to some tough decisions when developing -- and good guidance about repeatable patterns for development tasks is always welcome!

With that in mind, Joanna Smith and Ian Lake started Android Development Patterns to help developers not just know how to use an API but also which APIs to choose to begin with.

You can learn more about Android Development Patterns by watching the videos on YouTube, reading this blog post, or checking out the Google Developers page on Medium.

Categories: Programming

Travel through space with the Project Tango app, Solar Simulator

Thu, 04/14/2016 - 22:12

Posted by Jason Guo, Developer Programs Engineer, Project Tango

Since most of us haven’t been to space, it’s often hard to grasp concepts like the vastness of the Solar System or the size of the planets. To make these concepts more tangible, three graduate students at San Francisco State University (SFSU)--Jason Burmark, Moses Lee and Omar Shaikh--have created Solar Simulator, a new app for Project Tango. The app lets people take a virtual walk through space to understand the size and scale of our solar system.

Created with the Unity SDK, the application lays out our solar system’s planets in their relative distances from each other and draws 3D models of them in their relative sizes. The app leverages Project Tango’s motion-tracking API to track your movements as you walk, so you can better understand the planets and their distance in space.

If you like what you see, you can create your own solar system at home. Just follow the six steps below:

  1. Download the Tango Unity SDK.
  2. Create a new Unity project and import the Tango SDK package into the project. If you don’t already have the Tango SDK, you can download it here.
  3. Assuming that you are building a solar simulation, place a sphere at (0, 0, 2) to simulate a planet floating in space. The screen will look like this:
  4. Next, replace the Main Camera with the Tango AR Camera and connect the Tango Manager through the prefabs. To do this, first remove the Main Camera gameobject from the scene. Then drag in the Tango AR Camera and Tango Manager from the TangoPrefabs folder under Project. The scene hierarchy will look like this:
  5. On Tango Manage gameobject, there are several Tango startup configurations such as knobs to configure how Tango will run in the application session, i.e, turning on/off depth, or motion tracking. In this case, check the boxes to turn Auto-connect to service, Enable motion tracking (with Auto Reset), and Enable video overlay (with TextureID method).
  6. To get your code ready for AR on a Tango-enabled device, build and run the project. To do this, follow the “Change the Build Settings” and “Build and run” sections in this tutorial.

Here is what the final scene should look like from the device:

If you want a guided tour of the planets with Solar Simulator, developers Jason, Moses, and Omar will be demoing their app at San Francisco’s California Academy of Sciences’ NightLife tonight at 6:30PM PT. You can also download Solar Simulator on your Project Tango Development Kit.

Categories: Programming

Growing Eddystone with Ephemeral Identifiers: A Privacy Aware & Secure Open Beacon Format

Thu, 04/14/2016 - 16:01

Posted by Nirdhar Khazanie, Product Manager and Yossi Matias, VP Engineering

Last July, we launched Eddystone, an open and extensible Bluetooth Low Energy (BLE) beacon format from Google, supported by Android, iOS, and Chrome. Beacons mark important places and objects in a way that your phone can understand. To do this, they typically broadcast public one-way signals ‒ such as an Eddystone-UID or -URL.

Today, we're introducing Ephemeral IDs (EID), a beacon frame in the Eddystone format that gives developers more power to control who can make use of the beacon signal. Eddystone-EID enables a new set of use cases where it is important for users to be able to exchange information securely and privately. Since the beacon frame changes periodically, the signal is only useful to clients with access to a resolution service that maps the beacon’s current identifier to stable data. In other words, the signal is only recognizable to a controlled set of users. In this post we’ll provide a bit more detail about this feature, as well as Google’s implementation of Eddystone-EID with Google Cloud Platform’s Proximity Beacon API and the Nearby API for Android and CocoaPod for iOS.

Technical Specifications

To an observer of an Eddystone-EID beacon, the AES-encrypted eight byte beacon identifier changes pseudo-randomly with an average period that is set by the developer ‒ over a range from 1 second to just over 9 hours. The identifier is generated using a key and timer running on the beacon. When the beacon is provisioned, or set up, the key is generated and exchanged with a resolution service such as Proximity Beacon API using an Elliptic Curve Diffie-Hellman key agreement protocol, and the timer is synchronized with the service. This way, only the beacon and the service that it is registered with have access to the key. You can read more about the technical details of Eddystone-EID from the specification ‒ including the provisioning process ‒ on GitHub, or from our recent preprint.

An Eddystone-EID contains measures designed to prevent a variety of nuanced attacks. For example, the rotation period for a single beacon varies slightly from identifier to identifier, meaning that an attacker cannot use a consistent period to identify a particular beacon. Eddystone-EID also enables safety features such as proximity awareness, device authentication, and data encryption on packet transmission. The Eddystone-TLM frame has also been extended with a new version that broadcasts battery level also encrypted with the shared key, meaning that an attacker cannot use the battery level as an identifying feature either.

When correctly implemented and combined with a service that supports a range of access control checks, such as Proximity Beacon API, this pattern has several advantages:
  • The beacon’s location cannot be spoofed, except by a real-time relay of the beacon signal. This makes it ideal for use cases where a developer wishes to enable premium features for a user at a location.
  • Beacons provide a high-quality and precise location signal that is valuable to the deployer. Eddystone-EID enables deployers to decide which developers/businesses can make use of that signal.
  • Eddystone-EID beacons can be integrated into devices that users carry with them without leaving users vulnerable to tracking.
Integrating Seamlessly with the Google Beacon Platform

Launching today on Android and iOS, is a new addition to the wider Google beacon platform: Beacon Tools. Beacon Tools allows you to provision and register an Eddystone-EID beacon, as well as associate content with your beacon through the Google Cloud Platform.

In addition to Eddystone-EID and the new encrypted version of the previously available Eddystone-TLM, we’re also adding a common configuration protocol to the Eddystone family. The Eddystone GATT service allows any Eddystone beacon to be provisioned by any tool that supports the protocol. This encourages the development of an open ecosystem of beacon products, both in hardware and software, removing restrictions for developers.

Eddystone-EID Support in the Beacon Industry

We’re excited to have worked with a variety of industry players as Eddystone-EID develops. Over the past year, Eddystone manufacturers in the beacon space have grown from 5 to over 25. The following 15 manufacturers will be supporting Eddystone-EID, with more to follow:

Accent Systems Bluvision Reco/Perples Beacon Inside Estimote Sensoro Blesh Gimbal Signal360 BlueBite Nordic Swirl Bluecats Radius Networks Zebra

In addition to beacon manufacturers, we’ve been working with a range of innovative companies to demonstrate Eddystone-EID in a variety of different scenarios.
  • Samsonite and Accent Systems have developed a suitcase with Eddystone-EID where users can securely keep track of their personal luggage.
  • K11 is a Hong Kong museum and retail experience using Sensoro Eddystone-EID beacons for visitor tours and customer promotions.
  • Monumental Sports in Washington, DC, uses Radius Networks Eddystone-EID beacons for delivering customer rewards during Washington Wizards and Capitals sporting events.
  • Sparta Digital has produced an app called Buzzin that uses Eddystone-EID beacons deployed in Manchester, UK to enable a more seamless transit experience.
You can get started with Eddystone-EID by creating a Google Cloud Platform project and purchasing compatible hardware through one of our manufacturers. Best of all, Eddystone-EID works transparently to beacon subscriptions created through the Google Play Services Nearby Messages API, allowing you to run combined networks of Eddystone-EID and Eddystone-UID transparently in your client code!
Categories: Programming

Android N and Coffee with Googler Ian Lake

Thu, 04/07/2016 - 22:26

Posted by Laurence Moroney, Developer Advocate

In this episode of Coffee with a Googler, Laurence Moroney meets with Ian Lake to talk about some of the new features in Android N, including updates to Doze, giving greater power savings, and expanding on what was available in Android 6.0 Marshmallow.

They also discuss how the multi-window support works in Android N, and what’s needed to prepare for it to ensure the best integration. Check out the video to see the entire conversation, including discussion on the new notifications in Android N. Learn more at developer.android.com/preview.

Categories: Programming