 Chrome 47 automatically generates a splash screen for web apps launched from the home screen on Android. You can defer script execution until idle with request idle callback, and push notifications will automatically dismiss on desktop. These are just a few of the new features for developers in Chrome 47. Let's dive in and see what's new in Chrome. Making the web app experience better has been a major focus for Chrome. To make it easier for users to re-engage with your app, add to home screen puts your app directly on the Android home screen, and you can customize the way your app looks when it's launched by modifying the web app manifest, adjusting colors, eliminating the address bar, and more. In Chrome 47, a dynamically generated splash screen is shown. Even while Chrome itself is loading, making your app look that much more polished. In the past, users typically saw white screen while waiting for your app to load. The splash screen is generated based on a combination of information from the web app manifest, including the app name, background color, and the icons. Chrome will use the icon that is closest to 128 device pixels, so on a 1x device, that's 128 by 128 pixels, or on a 2x device, it's 256 by 256, and so forth. Personally, I recommend providing a 1x, a 2, a 3, and a 4x version of your icon. That'll make sure that you're well covered for all devices. When a user launches your app from their home screen, the splash screen is shown and once your app begins to draw, the splash screen disappears. One of the biggest problems hurting Critical Path is lots of JavaScript executing at the wrong time. If it's run at the wrong time, for example, when the user scrolls the page or you append a DOM element while the user is tapping a button, things can become unresponsive. Request IDLE callback changes that. In the same way that Request Animation Frame allows us to schedule animations properly and maximize our chances of hitting 60 FPS, Request IDLE callback will schedule work when there's free time, either at the end of the frame or when the user is inactive. Functions registered with Request IDLE callback are given a deadline and should return before that timeline is reached. Otherwise, you'll introduce jank. If there's still work to do, the function can register for another Request IDLE callback to continue the work during the next IDLE period. Request IDLE callback is now available in Chrome and is coming to other browsers soon. In the meantime, you can check out the shim. So give it a shot and let us know what you think by tweeting us at Chromium Dev. Push notifications powered by service workers have been available since Chrome 42 and we've heard from users and developers alike that on desktop notifications would remain visible until the user dismissed them. Chrome 47 now automatically dismisses desktop notifications after about 20 seconds unless you set require interaction true when calling show notification. There are lots of other new features for developers. For example, Array prototype includes which simplifies checking array membership. You can now enumerate cameras, microphones, and speakers with the navigator.media devices API. And prefixed encrypted media extensions are now disabled in favor of unrefixed EMEs. These are just a few of the new features in Chrome 47 for developers. Be sure to check out the description below to get links to more details and learn about some of the other new features. If you haven't already, subscribe to our Chrome Developers YouTube channel to stay up to date with the latest news. I'm Pete LePage and as soon as Chrome 48 is released, I'll be right here to tell you what's new in Chrome.