The Space Walk application is the front facing centre piece and one of the three pillars of this project. It is a browser based application that is driven by JavaScript and css. The recent addition of WebSockets made it possible to use the rapidly evolving browser tech to create visualisations and tools.
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.
JavaScript does not have the best reputation, both deserved and undeserved, but it is undoubtedly one of the more approachable programming languages, a treat it shares with many other scripting languages. If you know some programming language, chances are you will feel right at home with JavaScript. The code might turn out to be ugly and unloved, but more often than not, it just miraculously works, somehow.
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 iframes
. Data is then injected via the JavaScript window.postMessage
API.
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.
The good news is that hosting your own private copy of Space Walk is not rocket science. All parts of it are publicly available under the MIT license (check individual licenses of included libs and tools!). All you have to do is to host all the files including a few dependencies (fonts, JavaScript libraries) and you are good to go.