Like many other services, Google Earth till now had been only supported on Chrome. It was not about being competitive, but it was instead the technology that was required for Google Earth to work. It was released as a native application as it offered to render in real time that needed technology that wasn’t available in other browsers. Fast forward, browsers have now reached a stage that Google Earth will work on Firefox, Edge (Chromium), Opera and other browsers.
Google Earth to work on other browsers too
Google Earth is a web app and not just a web page. It means if you share a location from within Google Earth, someone else with the same link can directly reach the same point. Now, this is possible because Google Earth uses WebAssembly (Wasm), the W3C web standard for bringing native code to the web. Wasm makes it more accessible across browsers and offers a smooth online experience.
However, there was one more hurdle. Google Earth needs multithreading support. It uses these multi0threading support to stream data continually, decompresses data, and makes it ready to render. Multithreading experience is not the same across all browsers. Firefox faces SharedArrayBuffer issue, and hence offers only a single thread. Opera provides a single thread, and while Safari supports Wasm, it doesn’t support WebGL2.
That’s where Emscripten came into the picture. It allowed Earth to port to the browser. The Emscripten toolchain helps developers compile their C++ into Wasm.
Going Further improvements in WebAssembly will ease things. It’s going to support-
- SIMD: It lets a single CPU instruction to act on multiple pieces of data. It eventually resolves the problem of multithreading.
- Dynamic linking: Its lazy loading in simple words. Instead of sending extensive data, a small amount of data will be sent, and everything else will be loaded on demand.
Overall it’s a piece of great news. Google Earth is an excellent application, and everyone deserves it.