Chrome, webdev

Chrome 50 And Web News


Web Bluetooth

blue-tYou can access user-selected Bluetooth devices over GATT.
You can try it in Chrome behind flags:
If you wish to learn more on the web Bluetooth, try this the demo code.
Last note, for more details on the implementation (e.g. which pieces are done in which releases) star this repo



Want to stay updated with all the new powerful features that Chrome DevTools got for you? Check this DevTools Tonight show pilot or a daily tip.



Learn about Monetization (from web/app to bitcoins and more!) with this new series we created on Google Developers Channel.
Btw, if you like blog posts, we got you covered as well right on this blog.

Async CSS

Controlling async CSS using custom properties. Turns out they’re quite powerful.
Since <link> in the <body> blocks the parser while the CSS loads, it might be good to build a dependency mechanism where each element is render-blocked until other specific elements have rendered.
Sounds complicated?
It’s not. Check this 
demo (please make sure to try it with Chrome Canary or Firefox). In this demo, the CSS is loaded async, with each sheet taking randomly between 0-5 seconds to load. Despite this, the page never renders out of order, and each section renders as soon as possible depending on the browser width.

css-jake 2016-02-24 at 10.01.52 AM

Progressive web apps

Wanna see some good examples of Progressive web apps? This is the new way to build for the web at 2016.
We wish to have a web app got:

  • Fast loading – Since we are caching everything and using smooth animations and navigations, everything feels fast. Because it is.
  • One click away from accessing content (e.g. icon on the user’s phone).
  • Re-engages with push notifications – We are using service workers so we have the ability to run a script in the background and send push notifications. Even when the browser is not visible to the user.
  • Good experience on flaky network connections.
  • Consistent experience across browsers

Here is a good list of PWA to show you by example.

pwa 2016-02-24 at 10.00.27 AM



Media Land

  • Record audio and video with the MediaRecorder API: in Firefox and Chrome on Android and desktop.

  • VP9 is now available for WebRTC: With VP9, internet connections that are currently able to serve 720p without packet loss or delay will be able to support a 1080p video call at the same bandwidth. VP9 can also reduce data usage for users with poor connections or expensive data plans, requiring in best cases only 40% of the bitrate of VP8.

Thanks for reading!


Bitcoin And Crypto Currency

Bitcoin is a decentralized, anonymous, digital-only currency that’s lately gotten a lot of public attention. Like any new technology, there are many different aspects and a lot of ‘noise’.
In this 4min video, I tried to focus on the important stuff.

Read more: Crypto-currency 101 and the bitcoin revolution



Android, business, Chrome

The Art of Retaining Users (Video)

This is the 3rd episode of “The Zen of Monetization”.
It covers three principles for users’ retention:

  • Understand user behavior in your app.
  • Identify roadblocks to retention (e.g screen tracking and events).
  • Use tactics & tools to re-engage users (e.g. use a specific method to specific users’ segment).

Continue reading


Events With Google Analytics

GA icon for events

One of the useful features of Google Analytics is the ability to track specific events. It gives you insight into how users filled your forms or on which buttons they clicked inside the video player. You are getting into the world of measuring actions inside your pages and not just between them. In the demo below we will see how to track a ‘download’ button click event and how to track the form filling. It’s super useful when you wish to learn if users use the Autofill feature with your forms.
It’s an easy API that you should leverage, so let’s jump into it.


Events (in our world of Google analytics) are user interactions with content that can be tracked independently from a web page or a screen load. Downloads, mobile ad clicks, gadgets, forms, embedded elements and video plays are all examples of actions you might want to track as Events.


Event hits can be sent using the send command and specifying a hitType of an event.
The send command has the following signature for the event hit type:

ga('send', 'event', 
   [eventCategory], [eventAction], 
   [eventLabel], [eventValue], 

You need to make sure to add the GA script tag to your page.
Something similar to: Continue reading


Failure Is Part Of The Game

blue in the dessertLast night, I read this article. What I like most was the short paragraph that gave few recent examples of ‘big’ failures:

…With original ideas, failure is inevitable, because it’s impossible to predict how technologies will evolve and tastes will change. Mark Cuban passed on Uber. In the early days of Google, Larry Page and Sergey Brin tried to sell their search engine for less then $2 million, but their potential buyer turned them down. Publishers rejected Harry Potter because it was too long for a children’s book. Executives passed on Seinfeld for having incomplete plot lines and unlikeable characters. Pay a visit to Jerry Seinfeld’s bathroom, and you might find a memo hanging on the wall that calls the pilot episode of Seinfeld “weak” and says “No segment of the audience was eager to watch the show again.”

We know that most startups will fail. Moreover, in many cases, they will fail even if they had a good idea and executed well (see: “Why Startups Succeed” for more details).
So be willing to fail and try again.
You are in a good company.


Anrdoid In-App Payment That Works

mobile monetization example

The first video of “The Zen of Monetization” is out!


Well, it’s a series of videos I’m creating, in order to cover different aspects of monetization. The goal is simple: help developers earn more from their work. In the first episode, we cover how to use In-App Payments. It’s a brief overview that gives the macro view. We have in the pipeline few more episodes that will cover it in more details with (of course) code samples.
If you wish to get it as an article (and not a video) check this “Android in-app payments” post.

Continue reading


The Art Of Retaining Users

retention is a challenge

One of the driving principles of the mobile marketplace is that users want NEW. New apps, new updates, new content. In fact, over 60% of users who go onto digital marketplaces, do so, because they want to try something new. While this is fantastic for user acquisition, this presents a problem for user retention because if you’re not keeping the user’s attention, they’ll quickly be looking for something that will.

The key to effective user retention can be broken down into three:

  • Understand user behavior in your app
  • Identify roadblocks to retention
  • Use tactics & tools to re-engage users

All of this starts with understanding your users. If you don’t understand what they want, how they act, or their opinions, you really can’t craft a strategy on how to keep them happy. First, check out your Cohort analysis report.
Cohort Analysis is a powerful report that allows customers to measure and compare users based on their specific customer journey. You can measure the impact of your marketing campaigns on specific days, see how effective they are in generating loyal users, and compare which campaign performed best. Continue reading