A burst of development energy in a number of directions recently.

And things are starting to self-organize towards the new ecosystem.

Today’s exciting news : OWL makes a very nice desktop app, thanks to Electron.

Here’s the github repo.

I’ll be doing more testing, compiling, packaging this shortly. So that even non-geeks can play with it. But it seems to work fine.

To be honest, the few times I’ve installed OWL on non-geek friends’ machines, the “run a server and look at OWL in the browser” part has confused / put people off. Now things are VERY much simpler.

This is also going to give me some momentum to add a couple of extra features / ideas I’ve been thinking about over the last couple of years.

In the short term … this desktop repo is likely to be where I develop the next round of functionality. Though I’ll be porting these new features back to the Android and web-based versions.

Main issues in my mind at the moment : I’ve dropped the Python based server for this. We’re now purely Coffee / Javascript. That feels cleaner and more convenient. Will I now try do the same for the web version. It makes sense. But straight node? Express? Meteor?

What’s simplest and leads to least repetition of code?

While on the subject of Project ThoughtStorms, I realized that the tools Quick Paste and Compare were broken.

These are now working again. Quick Paste lets you quickly paste a a bunch of paragraphs of text and get back an SFW formatted file that can be dropped directly into your pages directory in an SFW wiki,

Point Compare at two different SFW installations, and give it a page-name and it will show you a json diff of their underlying files.

Both are rough and ready, but can be useful.

I’m updating my copy of the Smallest Federated Wiki, and the plugin format has evolved again. (Not surprising, the SFW is still in its experimental stage.)

So, I’ve broken out my plugin for ThoughtStorms / SdiDesk format (wikish) from the original Project ThoughtStorms and made a dedicated git repository in the recommended format, naming convention etc.

The plugin is also now available as a node npm package on npmjs for easy installation.

Last year I wrote about how impressed I was by Clojars, the Clojure package repository. Seems like this might actually be the standard way things are done these days. Because npm seems equally straightforward.

The latest instructions for installing extra plugins to your copy of the SFW seem to be here.

Oh wow!


Ward Cunningham is migrating the original wiki, the Portland Pattern Repository, to the Smallest Federated Wiki.

And it seems they’re doing it by making a front-end that queries the original wiki page database and shows it through the SFW. (That’s exactly what I did with ThoughtStorms before I actually migrated the pages over.)

Here’s the
Welcome Visitors.

It obviously raises big questions. Wiki was all about participation and everyone accessing the same pages. SFW turns that around and makes everyone an owner of their own fork. A shift from a commons to “private property” model. Yes, there are many good reasons for it (bot damage made me close ThoughtStorms to the public which smoothed the way to shifting to the SFW model). But it’s still kind of shocking to think of this happening to the original wiki.

I’m starting to add a new feature to OWL.

“System Services” are pages created by the OWL Server itself, that contain useful, dynamically generated information. You access them the same way as any other page : either make a link and click on it, or type the page name directly into the OWL navbar and click Go!

All system service names begin with a pair of exclamation marks (!!), eg. !!Status invokes the Status system service.


The basic infrastructure is in the latest version of OWL on github (though the services themselves aren’t particularly interesting yet). It will be arriving in OWLdroid soon.

How is OWL looking these days? Here are a couple of screenshots :


OWLdroid Feb 2014
OWLdroid Feb 2014
Note that I’ve moved the navbar of OWL into the space which Bootstrap usually uses for the main menu. This is a big win in terms of space, and the fact that it’s now always visible, even when scrolling down long pages. I’m not sure, yet, how this will work on smaller / phone-sized screens.

OWL on Laptop (Firefox on Linux)

OWL screenshot (Firefox on Linux)
OWL screenshot (Firefox on Linux)

Having split the Ruby and node.js versions of the Smallest Federated Wiki, seems like authors are now moving to further refactoring.

Seems like the client code, and maybe some plugins, are getting separated to further projects.

Second in a series of questions occupying my mind at the beginning of 2014. Which may (or may not) inform what I’ll be working on.

2) What About Project ThoughtStorms?

Unlike the first question in the series, this one is relatively light.

It’s obvious that OWL is the new SdiDesk. And where my private personal organizer / wiki-notebook etc. work should now be focussed. It’s equally obvious that it’s not, in itself, a publication medium. Smallest Federated Wiki is still looking good for that. SFW also has some great features : federation being one. The embedded media types being another. It’s actively improving. And looks like it’s become the “official” wiki in the node.js library. ThoughtStorms isn’t moving off SFW in the foreseeable future.

So Project ThoughtStorms is still, largely, about tools that support SFW. At the same time, this dichotomy between one tool for writing and one tool for presenting is a little bit … disconcerting. It’s natural in the outlining world, of course, a separation between outliner as authoring tool and blog / slide-show / book as rendering. But in the wiki world, where writing / editing / reading are all blurred together in a kind of closed loop, it feels wrong.

Nevertheless, there’s little real question there. In 2014 OWL is my writing tool. SFW is my public thinking space. The open question is about what bridges to build between the worlds.

Should OWL export complete SFW pages? (Easyish, I think). Should it import them? (To be consistent with my promise not to abandon SdiDesk users?) Should I try to get it to speak the federation protocol of SFW? Where should I be capturing quick notes and draft thoughts that aren’t (yet) ready for publication?

No great soul-searching here. But a bit of quizzical head-scratching required.

(Next question coming soon.)