The application is designed around the following basic goals:
Looking at the above goals, and having heard of WebSockets the decision to use the browser as the platform for the application was quite clear. The browser sure isn't the highest performance option when it comes to tools development, but for a (more) general purpose solution development speed most often trumps runtime performance.
The second part to rapid development is fast setup and rapid deployment. Relying on web technology makes this part very easy. Everything you need to run the application is hosted somewhere, including all dependencies and other prerequisites. To deploy a new version of the application or a plugin, you just simply push the new version to a server.
One of the main goals of the plugin system was to facilitate sharing, collaboration and open source development. Plugins are just websites that are loaded into the application as
Using github and github pages you can automatically deploy new version of plugins with git. Just push a new version to the
gh-pages branch and the new version of the plugin is immediately available for everyone to use. See the plugins page for more details on that.
This hosted everything comes with a trade-off of course: You are only in happy land if you have a stable and reliable internet connection. That also means that a little patching is required if you are residing in a super secret corporate bunker, where connections to the outside world are highly constrained.