Project: Basiin

The Basiin bookmarklet toolset was initially part of a contract project I did for a publisher in Athens. Having found usefulness in it I continued development of the code to a point where it can safely, yet with some amount of work, be used on existing web projects in the open.

The design creates a JavaScript interface to a remote server on any site it is initialized on. This is done through a multi stage loader, designed to keep the front end initialization cacheable so that users get instant feedback to the use of the bookmark. Upon initialization all the javascript executed is within the confines of a closure on the global object. This means that there is no interface into basiin from the underlying page jet basiin can access all the page's public interfaces. Communications at the moment are being done via script element packets that are native to basiin and abstracted from the developer through the basiin.tell() function which every correctly created installable basiin plugin gets access to.

The source is available in the form of a bassin module for the yii framework in github but the existing version is stale and will be updated, upon free time, with the newer code from the new savetu.be site. If you want to take a look at the functionality you can go over to savetu.be and try the bookmarklet.