Once we've asserted that your programming tools should run in a web browser, we can start deciding what back end functionality it needs. The most important is version control.
Now, there is nothing new about version control, so I won't go into it here... but I want to point out that my last article just assumed version control: I suggested you could go to the code and start to edit it. Of course, what I meant was
You log into the system
You find the code you want to edit
You pick a button marked new workspace
You enter that workspace and modify the code.
The workspace is a version controlled branch. There will be options to update your workspace, and merge your workspace into other workspaces.
But all of this is transparent - for the developer its just how you work. Each time you save, thats a revision (auto saves may or may not be revisions... I suggest not). You can tag revisions with comments when you reach points where that is useful.
One final clever bit: the version control system is one of the standard ones... or compatible with one of the standard ones. A distributed VCS, naturally - git or mercurial (I have almost no git experience, so assume I'm talking about mercurial here). So, if a developer wants to work outside of the online toolchain, they can simply download a brnach to their own machine and work from there. When they are done (or just want to compile - they can push their branch back to their online workspace, and take advantage of the compilation and test features provided.
But the compilation and test features are other articles...