Cult Leader

At some point towards the end of last year, I decided that it would be a good idea to try and create a community of software leaders since such a thing did not, to my knowledge, exist and I really felt like a place where they could get the kind of help they needed would be a useful thing.

It’s also the case that I have built a lot of tools and it seemed like somewhere that I could share them, and start discussions around how those tools are used to solve common problems that software leaders experience.

Later I had it in mind that I could sell some kind of subscription services to the community that builds upon what is available. In mid-March, and with little fanfare, I launched a Discourse based site called COMPASS. Since then I’ve tried, gently, to encourage people to sign up and maybe ask a question.

The result has been a total failure and it turns out that I made a mistake on two fronts:

The first is that COMPASS is also the name of the system of tools I designed that I use with clients. It stands for Customer Operations Mission Perspective Advantage Software Strategy, the pillars on which I build. So that was already confusing.

The second mistake is more subtle. My friend Graham Ruddick, who has a lot of experience in helping people building communities, described what I was doing as more like creating a ‘broadcast platform’ than a community. Today, as I was talking to Amy Faeskorn about this, I realised that what I was actually doing was saying “Join my cult”.

The seed of this thought was in a recent conversation with someone else who was thinking about creating a community but didn’t know where to start. For various reasons I couldn’t see how to say “Come join COMPASS”. Because COMPASS is all about me. Not all about software leaders.

I think I got foxed because I did Seth Godin’s “The Marketing Seminar” which is also based on Discourse and feels like a community in that you are with a cohort of people all learning the same material. But it’s actually not a community at all. It’s all about Seth. That’s okay, you’re learning from one of the greats of marketing.

But I am not Seth Godin. What works for him will not work for me.

So, now, I am rethinking. How do I create a community for software leaders? Not invite people to join my cult.

Betting big on Roam Research

I’ve been using Roam Research as my primary note-taking and writing tool since December 2019. It immediately struck a chord with me, despite numerous short-comings something fundamental felt right. The fundamentals of the concept were sound.

This caused me an immediate problem since I had been working on Mentat (since early 2018) as my primary note-taking tool. However, Roam caused me to rethink what a note-taking tool should be. At that point, I took that out of my requirements for Mentat. There are enough itches left to scratch and I am interested — when Roam has an API — to wonder what I might do with them both.

The Roam team have announced their pricing of $15/month or $500/5-years. I was one of those who “liked” the tweet announcing their $500 “believer” plan as an indication I’d be up for it.

I do have some disagreements with the team (I guess with Conor) in terms of how they have prioritised work in some areas. But I feel like, overall, they are on a good track and while there are (and will be) other tools, Roam and its team, is worth betting on.

So I will be signing up for the $500 when it’s available and looking forward to seeing where the application goes.

Making Zoom cool again

Like many of us, I am sure I’ve done more Zoom calls in the last month than I might ever have wished to do. Basically Zoom works pretty well but there are a few things that I think could elevate the experience.

When you are in a real-meeting one of the great pleasures is to lean across to someone near you and add witty (or, perhaps, even useful) commentary. Zoom is all one way. I’d love to be able to pick another participant and have my audio channel go directly (and only) to them.

I’ve had some great conversations but found it would be interesting to know who was talking at different points, how much each of us was talking (am I hogging the mic) and so forth. Give me some meaningful stats about how we’re communicating.

What would you add to Zoom if you could?

What Mentat is for… networked collaborative thinking?

As I approached the 18th March 2020 (the 2-year anniversary of my starting work on Mentat) I realised my enthusiasm for the project had waned. Not in any major sense but I had hit some roadblocks and I had started making serious use of Roam. My will to overcome those roadblocks had been sapped.

Although Mentat and Roam are very different beasts, it’s clear that Roam with its ease of capturing and organising information overlapped with some of my own use-cases for Mentat. ‘Why hump a lot of rocks uphill if you’re just going to use Roam anyway?’ my thinking went.

And so for about 3 months nothing much happened.

Four things really kindled my enthusiasm again:

  1. Reading Andy Matuschaks notes and a cluster of his ideas about “Insight through making”, “Great tool-makers are often not great tool-users, and vice-versa”, and “Authored environments are significantly coloured by authors’ motivations”. Really all of his stuff… and it kindled my idea to talk to potential users of Mentat.
  2. So I had a demo/conversation with Metatone who had earlier expressed an interest in Mentat. As demos go it was mostly a disaster as there were many things that broke or just didn’t work at all. But it was enough to get us talking and I think we both felt a spark as we talked about the possibilities of networking our thoughts together.
  3. Tiago Forte’s idea about tools for creating outputs being more useful than tools that are about taking notes. While Roam is a tool for creating outputs I would argue that it’s most suited to creating writings. Mentat has a lot more structure and flexibility. Mentat can do a lot more outputting.
  4. I’ve spent 2 years on this thing and it’s soooo close. I may be a bad poker player but this thing is my baby and may even be a legacy (I hope I have other shots but COVID-19 isn’t over yet) don’t I actually want to finish and publish a 1.0?

So I have picked up Xcode again and am working on finishing 1.0. That is complicated by the fact that sharing/collaboration is definitely in scope for the 1.0 release.

I am still wrangling exactly how this is going to work but you will definitely be able to connect your own workspaces with the workspaces of collaborators and share and exchange Things (Mentats concept of the knowledge object) which will be able to interact with your own.

For example, a use case Metatone and I were both intrigued by was being able to pass a question to others and allow agents running on their copy of Mentat to interrogate it, see if it’s interesting to their user, assemble any resources of theirs that might be relevant, and allow them to construct an answer.

While 1.0 won’t be able to do all of that it will allow us to play with the construct.

I’d love to talk to anyone else for whom tools like Evernote, Tinderbox, TheBrain, Notion, and even Roam itself are not the whole answer. I want my work to be driven by smart people with wicked problems of their own to solve. If that sounds like you, please get in touch.

I never thought I’d plant wheat

I started playing Minecraft to bond with my girlfriend’s 9-year-old daughter who is obsessed with it (over 90% of sentences of her sentences start “In Minecraft…”) little realising what a trap I had sprung for myself!

I realise I am rather late to the party but I discovered a game that appeals to the builder in me. Here is my house Mk. 3 and the field of wheat I am growing. I’m not entirely sure what I want wheat for (bread?) but I ended up with wheat seeds and figured I would grow them and see.

Here is my pyramid. I started this one on a 30×30 base which seemed insane at the time and it certainly took a lot of time to build (including maintaining ramps to get to each level as I built it, Egyptian style). Now I wish I had gone bigger. You get a pretty good view of the landscape from up there! To the left is part of the forest I planted where bees have begun to nest. Quite exciting!

A lot of things you build need resources (you can see iron and gold ore in the rock ahead if you look closely) which can only be acquired deep underground which means digging mineshafts and exploring caves. I’ve been genuinely spooked in some of these.

But sometimes I just like to sit on top of the pyramid and watch the sunrise.

In Minecraft, I have discovered a game that is both entertaining and creative in a way that few games allow you to be. Oh dear, I see that I have started doing it myself…

Exploring a better writing workflow

Over the last few years a lot has changed in terms of how I write.

I’ve used Scrivener quite a bit both on macOS and iOS. I’ve written 24,000 words of my book in it using the iPad. But there’s a problem: Rachael, and now Ralph. Scrivener is a tool for an author but not authors plural.

Working on my copy with someone else has proved to be a challenge. We’ve gotten by using Dropbox to sync the Scrivener document and mostly not trodden over ourselves but there have been some scrapes and Scriv really does not like it.

Since I use InDesign for document layout it seemed to make sense to try and use InCopy for writing together but if Adobe were trying to make it impossible to figure out a shared workflow using its tools then they did a bang up job.

Then again I have Notability on the iPad and I do a lot of handwritten notes there (often backed by audio recordings) and it’s a struggle to know how to integrate that.

Lastly I have this blog (and the blog on The Art of Navigation’s site).

I’ve ended up with quite a complicated, turn-the-handle, workflow for writing and I’m wondering how I can improve it.

Suggestions welcomed.

Mentat containers

For pretty much a year, i.e. the point at which Mentat became an app that you could run and create Things, the model of containment was very simple: you had Workspaces and workspaces contained Things. The end.

This had the benefit of being simple but it chafed. I had been pondering adding layers as a way of hiding Things that you didn’t want to work with. In trying to implement this I realised that I was skirting around the fact that I needed nested containment. And I was skirting around it because I thought it would be hard to retro-fit.

As it happens it was not as hard as I imagined and it lead to a great simplification of the model. Things can now contain Things and Workspaces are now Things, that contain Things (but not other Workspaces). At some point Workspace is going to be renamed Application which more suits the concept I originally had in mind.

Now I have nested containers implemented and a more consistent data model, which is good. The UI needs to catch up but that will come soon.

Containment was the last of the big ticket items from the original 1.0 roadmap. And so I get closer to a (private) release.

Database for life

How much information have I acquired in my life? Where is most of it? The answer to the former I don’t want to think about too much. The answer to the latter is “lost or locked away”.

I’ve long had the notion that I needed to build a ‘database for life’ in which I could store the information I acquire and want to use. That it should not get locked into silo’s but be available for new purposes and applications.

This is why I have tried to build a Mentat-like application about 4 or 5 times since about 1996. I want to “own” my information. That is, I want to know what I have, I want to build the new on top of the old, I want to relate things together, discover new things. And then I want to make use of it all.

In my concept of Mentat, it is able to grow alongside my information and use cases.

Introducing Mentat

Mentat is something I am going to be talking about on this blog so I guess I should introduce it so here it is…

The Mentat “System” workspace contains useful objects for building applications.

Doesn’t look like much, does it? Nevertheless, it is the culmination of over a year (I broke ground on 6th March 2018 at which point it was called “Codename: Galois”) of stolen evenings and weekends working on it.

In simple terms, Mentat is a tool for storing and manipulating knowledge to create new relationships and new forms. In this, is my response to the likes of Evernote, Tinderbox, and TheBrain.

While I have a lot of respect for each of these applications (I’ve been an Evernote & TheBrain user since the early 2000s) they all fall short of my vision of such an application. Here is a summary of why:

  • They are focused on notes and text. While it is important to be able to take notes, much information requires structure to be useful. Headings are not enough. Mentat represents concepts as a set of typed attributes. So, while Mentat is perfectly capable of being a “note taking” app it is designed to represent and work with structured information (essentially a note is a type of attribute it can work with).
  • They are not scriptable. Okay, this is certainly a lie as Tinderbox does have scripting support. But it uses its own, homegrown and rather quirky, scripting language which I could never get on with. I suspect a lot of Tinderbox power users are not programmers. Mentat uses Javascript and is gradually exposing a sane and consistent API to scripts.
  • They are not customisable or hard to customise. By which I mean you cannot turn them into other applications. They do what they do and it’s very hard to change their form or function. I give credit to Tinderbox that it tries to offer a lot of things people will want.
  • They do not see the world in terms of APIs. The ability to access data from other sources and to work with APIs is paramount to solving real problems. Mentat is designed to have 1st class support for talking to APIs.
  • They are silos. What I mean by this is that they are designed mostly to store and search for information. This is no doubt very useful. But I want to be able to synthesize new information and I want a tool that makes this easy(ier). Mentat is designed at the outset to let you create new Things and export them in different forms.
  • They do not facilitate a collaborative environment. Sure you can share folders and notes but this is very coarse-grained (not to mention a recipe for synchronisation errors). What if we could share particular objects of knowledge and their relationships and act on those as others change them? Mentat doesn’t do anything like this right now but its certainly an aim.
  • They do not fit me. They don’t work the way I want to work. This is a classic problem for all programmers. Being able to code means you can scratch any itch you like. It is also a curse because you keep wanting to scratch itches that you probably shouldn’t. This particular itch has been with me for over 20 years (this is at least my 4th attempt to solve this problem) so I guess I can claim I am justified on this one. While it may fit no-one else, Mentat will fit me!
Mentat represents concepts (which it calls ‘Things’) as a set of typed attributes.

A number of straws broke the camels back to set me off on building Mentat. They were the three, in some senses quite trivial, workflows that chafed a lot. The first was my ASPECT cards. I built these in Adobe InDesign using its ‘Data Merge’ facility. This takes a template representing a card and merges data from a CSV to create a set of card fronts or card backs. It’s pretty cool.

But the information that goes on those cards does not properly live in a CSV file. I tried many approaches to representing it. A structured note in Evernote, AirTable, linked thoughts in TheBrain. Nothing worked. In many cases, the problem got worse when I wanted to get updated questions or different sets of questions into a new CSV file.

The second problem was my database of quotations. I have collected quotations over many years and ended up storing them in a big note in Evernote. I could have broken them up into separate notes and tagged them but it always felt clunky to do so. Even properly organised though, Evernote didn’t let me do anything with them. At the end of the day, the only thing I can do is copy and paste somewhere else.

Lastly I collect questions generally. I want to make sets of these and turn them into “packages of knowledge”. No tool I could find would allow me to represent a ‘package of knowledge’ with questions, concepts, answers, systems, theories and so forth. Nor would they let me share these in any meaningful way.

Mentat started life to answer these three use-cases along with many others that came out of the woodwork once it became a “real” application and I could start playing with what I had made.

I had planned to release Mentat 1.0 on 6th March 2019. A year after breaking ground. Realistically, although it always seemed ‘close’, it wasn’t ready even for me to start using so how much less anyone else.

I recently discovered that Evernote spent 2 years (and with a team working on it) in private development. I realised my “one-year anniversary” thing was arbitrary & putting me under a lot of pressure so I dropped it. So Mentat 1.0 will be released approximately when I am happy with it. That might be towards the end of 2019, or maybe the first half of 2020.

Technical details. Mentat is a macOS application written in Objective-C. Most of it should be broadly portable to iOS and that got a lot more important when I discovered how much I love my 12.7″ iPad Pro. But an iOS release is a very secondary objective at this point.

If you are at all interested or have any questions please leave a comment or ask for an invite to the Brain Tools slack.

As a footnote, Mentat is also, to some extent, a homage to Dave Winer‘s Radio Userland. Sadly departed Radio was a wonderful environment because it treated users like grownups. That was something that, however much Dave’s personal choices chafed, I respected. So, like Radio, Mentat is quirky and opinionated. Like Radio, Mentat is designed to let you get under the hood and tinker. Like Radio, Mentat has a purpose but you can change that purpose to make it closer to your own. Like Radio, Mentat has a few bugs 🙂

Curiouser and Curiouser 2.0

From 2002 until about 2007 I maintained a daily blog “Curiouser and Curiouser” which was a collection of ruminations about programming, e-learning, knowledge management, collaboration, politics, music and music creation, and so forth.

I began using Dave Winer’s Radio Userland platform before writing my own. Note to self: never write your own blogging software. From 2007 until about 2010 I wrote less and less frequently until ran out of steam. Then the domain I’d been using got lost and my blog went with it.

So I guess this blog is “Curiouser and Curiouser 2.0” I do very different work these days and am not – professionally – involved in building technology in the way that I used to be. However, I do still write software and have a side project I am planning to launch in the near future. There are also a lot of off-shoots of my work at The Art of Navigation that I may prefer to post here.

Let’s see how this goes.