Once upon a time web browsers were used to just view simple static web pages that someone else would host on the internet. Now they've become full featured fronts to access all sorts of rich media services and applications. We often spend more time in our web browser than any other application on our devices, so much so that Google has even built an entire computer based on a browser, the Chrome book. This month I want to take a look at some of the modern capabilities available in web browsers.
Fast forwarding to 2017 and we often take the web browser for granted. Web browsers today can play audio and video without the need for Adobe Flash based players. They can access our webcams and microphones. They can read and store data in what is practically a browser based file system. Most can even access your battery status and accelerometer/gyroscope data on a mobile device with some hacking. In 2017 there's a high chance that if we can think up a specific feature, the browser will be able to implement it.
While modern browsers have great capabilities most often products are shipped in an app first mentality. The app first mentality arose because both Apple and Google have made it easy for us to install applications and have a fluid experience. In the early years of mobile apps the browsers were still lagging behind in features. Today we are at the point in which it could be feasible (depending on application) for a web application to be written and have that be the only option needed to provide support for all platforms (iOS, Android, Windows Phone, and desktop). Writing web applications provides a number of benefits that have always been seen as unobtainable but may very well be widespread in the next couple of years.
One of the great benefits of a resurgence of web apps is that with increased capabilities a web only app needs to only be written once. This means that the same code can largely be used for displaying the app on a desktop, iPhone, or Android device. It effectively reduces the number of apps that need to be created from N to 1, where N is the number of platforms that would have initially been supported. While not all the features and hardware capabilities of native applications are provided by a web browser, if the application only requires a subset of these features using a pure web app solution may be possible.
By focusing on a modern web app strategy app developers can side step app stores and app store taxes that are often required to be paid. Both Apple and Google take a 30% cut of the revenue earned from app sales. By skipping the app store developers also skip the app approval process which can be cumbersome if the app treads the legality of the app store in question's terms of service. By skipping the app store a web app developer earns more and is in total control of when their app updates and goes live, true freedom that the internet was promised to offer!
While the previous two benefits overwhelmingly support the creators of the application, there's one large benefit for the end user: a seamless experience. A properly written web app will provide a seamless experience whether it's being interacted with on a desktop PC, a smartphone, or a tablet. All too often today the experience differs wildly when hoping from desktop, to phone, to tablet. This is often done in the name of usability for the platform in question. By focusing on one platform (web only) applications will be written once enabling developers to focus on providing a unified experience on all types of devices.
In wrapping up I thought it would be beneficial to provide some examples to great web apps that accomplish more than we ever thought could be possible inside a web browser.
- Discord - The replacement for TeamSpeak, Mumble and others for gaming communities. While Discord provides a client for all operating systems it is entirely feasible to run Discord in your browser, though results may vary based on which browser you are using. It is a true achievement to be able to use a full featured communications application in a web browser. Bonus: Join the RSBANDB Discord here: https://discord.gg/teFd3pQ. Click the link at the bottom of the forums if the above link has expired.
- Google Docs - A free fully featured productivity suite available to anyone with a Google account. Unless specific formatting is needed this is mostly what I use. It's also what I use for show notes when producing podcasts. It works on all platforms and can work on mobile too.
- Paper Planes - A mobile-centric game that allows you to send paper planes across the world. Fold a paper plane and stamp it with your location and then raise your phone to the air and pretend to throw it. Your plane then sails across the world and can be caught by others. You can catch other planes too and then send them out again. State is preserved, it feels like a mobile app even though it's a web page!