“What if the world behaved like the web?”, This question was asked by Scott JensOn on the stage of session “The Physical Web: Make It So” in the Google I/O 2016, he is the project leader of Physical Web and Chrome in Google, as a long term web technology and mobile web enthusiast, this value proposition is very powerful and exciting to me, because it opens up the whole growing IoT market to web developers like me.
Actually, I know this project since its beginnings several years ago, IoT was the hottest topic at that time, there were countless Kickstarter, Indiegogo and many other crowdsourcing projects everywhere, it just likes the booming age of native mobile apps since 2010, everyone were desperately to build their own mobile apps at that time, but just as a rebellious boy I am, I did not choose that path, because I do believe that the open web and HTML5 should win the future of mobile eventually instead of the native one(tell you what, it is happening), now, in the dawn of the IoT, I also believe in that the open web will win in this field too, hopefully, with Physical Web, it is time for web developers to do something with open web technologies now, I will share what all I know about this project so far and what we as a web developer can do now in this series articles.
First of all, we should be bare one thing in mind, the Physical Web is just one of many other solutions under WoT(Web of Things) umbrella, it does not equal to the whole of WoT, the concept of WoT was proposed by W3C in order to address the frustration of interoperability across different IoT platforms, it wants to create a standard protocol to make data exchange and system integration among different platforms more smoothly, and you know, by using HTTP.
For now, when we talk about the Physical Web, we are talking about a new kind of BLE beacon and that kind beacons’ communication protocol are based on an open source project called Eddystone which is released and maintained by Google’s Physical Web project team.
The main difference between a traditional beacon and Eddystone compatible beacon is that an Eddystone compatible beacon broadcasts a URL instead of an obscure UUID string. The URL is the fundamental building block of the web, it offers a remarkable flexibility of expression, with it we can do many awesome things when users’ mobile device received a broadcasting message from an Eddystone beacons, for example we can use broadcasting URLs to lead users to a simple product or event’s landing-page or we can bring users to a fully interactive progressive web application(PWA), we can even offer a deep link to link users into a specific app or specific content inside apps.
The most important thing is that we can accomplish these amazing things without a native app, the only thing we need is a browser that supports Web Bluetooth specification in your mobile device, for now, we have “Chrome for Android”, “Chrome for Android Beta”, “Chrome for Android Dev”, “Chrome for iOS”, “Opera for Android Beta” and “Samsung S Browser”.(Where are you? Firefox?)
Before the Physical Web, if we want to do something special with traditional beacons, for example, an O2O promotion campaign, we need to do a lot of things, the most difficult and nonsense one is that we have to develop a native app and require users to download this dedicated app in order to decipher the obscure UUID(ex. f7826da6-4fa2-4e98-8024-bc5b71e0893e) string that are broadcasting by traditional beacons, these UUIDs do not have any useful meaning until you send it back to your backend service to match it with data that is stored in your database.
Ironically, before you can leverage beacon’s power to do a novel O2O campaign to attract users to your product or service, you have to spend a lot of campaign budget to find users to download the dedicated app for your O2O campaign in order to decipher those meaningless UUIDs, and that app can not do anything other than to receive your dedicated beacons’ broadcasting message.
That is why the Physical Web comes to the scene, as I said before, We will no longer need a dedicated native app to interpret a received message from a beacon, what all we need is a Web Bluetooth enabled browser in your mobile device such as Chrome for Android and Opera for Android. Then we can use these browsers to receive the message, URLs, broadcasting by the surround Eddystone compatible beacons, by using these URLs we can lead users to a simple product/service landing-page or offer users a cutting-edge Progressive Web Application(PWA) or even direct them to specific page inside a native app.
Let me make a brief summary, First, Physical Web is the bridge between physical things and the web, it allows us to walk up to anything and just use it. Second, it is based on the open protocol specification Eddystone, the data Eddystone compatible beacon broadcasts are semantic and readable URLs. Second, by following Eddystone specification the beacon are also compatible with Apple’s iBeacon, Furthermore, there are already 30+ manufacturers in the world making Eddystone compatible beacons now, Last but not least, by the end of 2016, an Eddystone beacon’s battery power can be last for one decade. This is so cool! Is it not? In the next article I will show you how to set up your mobile device and Eddystone compatible beacons to see how it works in the real world, stay tuned.