Yesterday, 2nd December 2021 (0r 20211202 if you like palindromes or symmetry), was extremely significant for the team behind Craft Docs. They won Apple’s Mac App of the year (They deserved it) and, just a year after first public release, they announced Craft 2.0.
At first, a number of users expressed surprise that Craft 2.0 seemed remarkably similar to the previous version, but then the excitement (and confusion) grew. The new release is significant, not for what it delivers now but for what it promises in the future, and the profound change it represents. This is very well summed up in their own “What’s new” document https://www.craft.do/whats-new which was also sent to all their subscribers by email. It’s worth reading in full, but I want to pick out and capture my initial reaction to a few key points.
It starts by talking about what the team has achieved. I think they are right to claim that they have addressed issues that others have not, and that the experience of using Craft is excellent and they even mention love: that their team has put into their work and that users have for its product. They have built Craft to hundreds of thousands of users and tens of thousands of those are involved: talking to the team, making suggestions and trading opinions about the app and where it should go in future and paying a subscription to use it.
That section ends with an interesting vision statement:
“Each person should rightfully expect all their software tools to have the flexibility to suit their own unique needs, so you can focus on your workflow, instead of fighting a tool that gets in your way and doesn't work for you. Our goal with Craft 2.0 is to address this and to start building the future of Craft together.”
I find it difficult to know what to think about this statement. Of course I want the software I use to suit me. I want to be able to focus on what I am trying to do with it. Great software “disappears” so that you focus on the task you are using it for. I certainly don’t want to have to fight it. There are too many kludgy work-rounds in my digital life already. But “flexibility” is ambiguous.
If it means being able to configure and alter many more aspects of the software, that requires that I pay more attention to my set-up, have to learn it in more depth and that learning process will be needed every time I change something. At worst, you end up with the sort of software beloved of hackers and coders, with a vast infrastructure of specialist modules or optional extensions, themselves varying in quality and utility, created by all sorts of people for all sorts of reasons, some maintained and many not, usually listed in one or more forums and incomprehensible without becoming a part of the crowd and learning the often esoteric jargon in which everything is described. It’s running software by hack: the opposite of being able to focus only on the work the app helps you to do.
On the other hand, flexibility can mean that the software has enough of the tools you need to do its core role(s) very well indeed, that each of these is deeply intuitive and simple to use, works fast and with just enough power and adaptability to apply to a wide variety of work, allowing you to create your own ways of using it.
It’s a balance and set of trade-offs, of course. There is no such thing as ultimate simplicity (tools have to be complex enough to do something worthwhile) and the right level of complexity, configuration and specialisation desirable in software tools has to depend on their users, role and context. You are in different worlds in scientific data, or audio/video/image processing or day to day text messaging, for example. Even so, there is always a range of options between working with a few simple, very good tools, to do things in lots of small, but easy and fast, steps or having lots of more complex tools to do almost everything you can imagine in one step, but at the cost of a steeper learning curve and much more complex software. The argument has been well rehearsed around text. Do you use a plain text editor to write (with or without markdown) so you can start writing instantly, be sharply focused and do all the basics but where anything beyond the basics will be a lot of steps (e.g. making an index) or do you go for something like Microsoft Word where there is probably a command or setting for anything you can think of, but many of which are unused by most users and where the learning curve is steep?
I don’t buy the “workflow” metaphor entirely, either. We do things the way we do them for lots of different reasons and our habits come from lots of different sources. One of the most important is the relationship with the tools we use. It’s not just whether software “fits” or “fights” an existing workflow, but how using that software allows us to adapt and develop what we do, hopefully, so we can do it better.
Craft X and extensions
The change in Craft 2.0 is the introduction (as a developer preview) of Craft X. This is “a set of tools enabling anybody, anywhere, to extend the capabilities of Craft, ensuring it fits seamlessly in their workflows”.
In practice, Craft X is a change in Craft to expose its documents and their contents so that they can be read and manipulated by “eXtensions” that are built with basic web technology, available to anyone. (An extension is a single html file, that can include or call scripts, along with a manifest file holding a description etc. and an icon file, all packaged in a standard zip) The script in the extension can read or manipulate the content of documents by means of defined objects that Craft provides.
The use of common web technology means that extensions can also send and receive data using those technologies. A number of apps and services already provide their own APIs, and extensions are a perfect way of using these to get material in and out of Craft neatly: a development of the “Craft Connect” facilities already in Craft, but now open to developers of other apps, or anyone else, writing their own instead of having to wait for the Craft Team to do so.
Craft have pledged to release their own extensions as open source, including those that are building new features, so that over time, there will be even more transparency and so user ownership and the majority of Craft will be open source.
A Road Map
Along with Craft X, 2.0 came with a clear, broad roadmap for the next 6-12 months in which development priorities will be the editor (specifically media and file handling and blurring the lines further between editing blocks and the text within them); organisation and navigation of content (with tags, improved handling of internal and backlinks, calendars and tasks and better search) and “person to person work-flows” : further development of Craft’s sharing and collaboration features.
There is also a commitment to get Craft’s Web version to feature parity with the Mac App before mid-2022.
I am happy with what the Craft team has announced. It feels like a logical next step and is a practical way of meeting their promise to make Craft connect smoothly to as many other apps and services as possible and allowing that to develop more quickly. I think the road map and the detail it gives is the right set of priorities. It all continues their impressive tradition of open-ness and “humility”: recognising where their software fits into our digital lives rather than trying to take them over. I like these people and how they work and I love using Craft every day.
I’d say I am less happy with some of the possibilities Craft eXtensions open up and more importantly, with how the Craft community and the experience of being a Craft user might be changed by them.
A number of very clever people that I respect swear by Obsidian and it seems commonplace to see it as the one to beat in the “personal knowledge, notes and writing” space. I take it seriously and have spent considerable time and effort using it, but I just can’t. I hate almost everything about it. That hatred starts with the default appearance and set up: it’s very dark mode and faddish; small plain and monospaced text editor in feel and littered with square brackets and incomprehensible extensions of markdown syntax. It’s like a code editor, not a place to think and write. Saying that out loud brings lots of helpful responses about themes and plugins to make it a better place to work. The trouble is, they are all different and the plug-ins make it work as well as look different. Each time I set it up to try it, I spend much more time learning about and configuring Obsidian than I do making things with it and every time I hit any kind of difficulty, trying to do something that is less than obvious, I disappear down a deep hole of a friendly, helpful but dispersed and techie, community with a jungle of possibilities to explore and a dozen ways to do even quite simple things. It feels much more like a framework than a polished and effective tool. I could build an Obsidian that works for me, but that is a lot of work, might not last and doesn’t interest me.
This was crystallised for me, finally, listening to a recent App Stories beginners guide to Obsidian. The podcast was very good, fair and helpful, but the hosts spent the first several minutes telling me not to listen to all the contradictory voices in the Obsidian community, not to listen to the jargon and not to attempt to follow the online discussions, but to install their particular list of themes and plugins and promised another three one-hour episodes in which they will explain further how to set up Obsidian to meet your needs.
When I first tried Craft, I immediately started to write, and think, and edit and organise. I dropped in images and made links between things and shared and it just worked. I found what I needed without having to look very far. I’ve been doing it ever since, reorganising things as I made decisions that I could approach some things better and always, always focusing on my writing and thoughts, not on Craft itself.
When Craft 2.0 dropped, the Craft Slack went nuts, after days of growing excitement beforehand. Much of that excitement was about eXtensions being able to solve all the individual niggles and friction points that users had previously mentioned. Some of it was people who always wanted Craft to be much more like Obsidian rejoicing that the moment had come. Some felt like people wanting to use extensions to “improve” Craft in ways that I think take away what is most precious about it. Very few were as cautious as they really need to be with a developer preview that might break things that are important to them. It is calming down now, of course, but that moment seemed to open up lots of possible bad futures as well as possible good ones.
I love using Craft and have just started my second year as a subscriber. I am deeply impressed by the team behind it and I still trust their vision and instincts for the app they make. I think Craft 2.0 is a thoughtful next step in their journey and I am happy to travel further along the road they are building. I have things that could improve my use of Craft even more (most notably a more “bookish” document option where it is needed — shorter line-length with wider margins, slightly larger body text in a light-ish serif and headings with more contrast because they are larger, in heavier weight and sans-serif) but that intuitive, fluid and deceptively simple experience of using it must not be diluted.
It will be interesting to see where Craft is in a few months time. I look forward to the journey.