Browsers as we know them have come a long way. It is common worldwide to find Chrome, Firefox, or even Opera running on a computer. The dark days of ubiquitous IE6 with no support or innovation are for practical purposes behind us. IE now holds a minority share, meaning interoperability is a key for both browser developers as well as website and web application developers.
HTML5 is here, and with it the ability to create rich dynamic applications that don't require a synchronous or latency free internet connection are commonplace. From Gmail to Outlook, from Facebook to Reddit, client-side web applications run our lives.
Gaming has come a long way too. Since the introduction of Flash, gaming in the browser has become a reality, and with support from companies like EA and games like Quake Live and even games like Minecraft capable of running as a browser plugin, browser-based gaming is here to stay.
Where then will we see improvement in 2013 and beyond? What challenges will both application developers and browser manufacturers need to overcome?
The key to understanding the future of the browser, it's important to understand the challenges technologists still face today.
The Browser Challenges
The Evergreen Challenge
Chrome and Firefox and Opera (which represent a 60% market share) have interaction-free transparent updates that keep users safe, secure, and up to date with the latest and greatest synchronization and HTML/JS/CSS capabilities. Microsoft has refused and failed to keep up with this level of service. With the launch of IE10 (on Windows 8 only, currently at about 4% market share) we are seeing a continued attempt to keep up with the latest web technologies, but Microsoft will not be able to keep up. With a release cycle that is tied to operating system versions rather than the speed of web innovation, Microsoft will never be able to offer the same features that a now-standard 6 week release cycle offers.
The Proprietary Challenge
When software development companies ship applications, most of the time they want to keep their code private. Companies like Google, Mozilla, Red Hat, and others have discovered that a successful sustainable model relies more on providing high-quality services than keeping secret code away from your customers. There are a huge number of companies that do not share this philosophy and want to keep their code private and secret.
There are a lot of obfuscation tools, but these only take the problem so far. What companies are really looking for is access to ship binary machine code that a user could not interpret or decompile.
One of the major pushes today to support this is with what Google calls the Native Client (or NaCl). This client provides a method for providing exactly what these software companies are looking for. The challenge with this approach is that coming from Google, it may be hard to get universal browser support. This may stop NaCl in its tracks.
The Graphics Problem
The final major problem I feel that we are going to be tackling in 2013 is the graphics problem. People are using more and more powerful computing devices every day. Whether this is desktop computers, tablets, or smartphones, everything keeps getting better. Currently the methods and technologies for accessing this hardware are limited. WebGL is an attempt at answering this. WebGL offers the ability to run OpenGL commands (which work on almost all modern general purpose computing devices) via web applications.
There are two challenges facing us in 2013. The first is adoption. We still have companies like Apple refusing to allow WebGL to run in the iOS browser. This stops any applications using those technologies dead at the door. The second challenge is in standardization. DirectX and standard OpenGL have a huge legacy of optimizations, performance improvements, and stability improvements. It's going to take a lot of effort to achieve the same quality and level of effects as what we have in the more native alternatives.