The humble browser. Its main purpose, for many years, was to serve up simple HTML documents and provide information on just about any subject you could think of. In the last decade, with broadband taking over from dial-up, and net connections getting ever quicker, websites have increasingly provided applications usually restricted to the desktop.

With the evolution of languages such as HTML, CSS and JavaScript helping push the limits of what could be done, we find in turn it provides new opportunities in openness and sharing. This has evolved to the point where there's really not much that can't be done or opened up online now.

Everything online?

Take a moment and think about it. Document editing, file sharing, image manipulation, server backups, 3D rendering, music production, and just about any other work traditionally done in desktop software can now be handled by a web service. Web development however has been one of the last areas to truly get with this trend, as web developers themselves have stuck with the theory that it's best to code offline and push code online when it comes to launching.

This has always been a sensible way to work and is built on sound logic and experience. Working offline was fast, your code is pretty safe, and desktop editors generally very good. So why make the change? Well, a new era has been quietly growing and over the last few years, web based editors have evolved hugely, almost now equalling their desktop rivals. Today, they're fast being seen as viable solutions to coding, bringing new possibilities to share code and the development of sites with others. From quick experimentation on websites such as jsbin.com and jsfiddle.net thru to full blown coding environments such as codeanywhere.net and c9.io, there's a solution for just about any level you'd like to work at.

Open source editors

One of the latest trends in this new frontier has been to share these online code editors and IDE's themselves thru open source.

The benefit here is that you can see exactly what the editor is doing and as they're written in familiar languages such as PHP, Ruby, and JavaScript, you can customise them to your liking. Don't like how the editor works? Change it. Want to connect it to a specific service? Integrate it. It's very rare you find a desktop editor that's exactly as you'd like, there are often small irritations or limitations meaning you have to work with them or use other services, taking extra time and effort away from your coding efforts.

ICEcoder

This is where ICEcoder steps in. It's a fully featured, browser based code editor that allows you to code online or offline in the web browser. It contains just about everything you need by supporting many common languages, comes with an image viewer with hex & RGB eyedropper, full 16.7m colour picker, Linux terminal, backs up every 30 mins, you can push & pull files to/from Github, is Emmet enabled, has type boosters, advanced find & replace, MySQL management, JSHint linting, live editing, and more.

However, because it's open source, you can take it and make it your own, no more having to fight your editor to get the job done. It can fit to the way you want to work and connect to anything web based. The web effectively becomes your toolbox.

An open source future

Having truly open source solutions like this seem to be paving the way towards a more shared and open future where everything can be integrated, mixed, and reworked on our own or in teams, with the safety of knowing code can be rolled back, bugs tracked, and solved from anywhere if there’s a problem. It allows you to share code examples and prototypes easily as you work collabortively with others plus coding in a similar environment to where you'll deploy also helps avoid the headaches caused by going live and new bugs emerging. You also have the opportunity to create fixes at any time and push from development servers to live servers all from the comfort of your home, local cafe, beach, or wherever you may be. No more being restricted to the office.

With everything ultimately moving to the cloud, browser based editors and web IDEs will undoubtedly become the defacto way of coding, and I welcome this bright new future. If you’re still coding offline, why not give one of them a try?