2

Programmable Notes

 2 years ago
source link: https://maggieappleton.com/programmatic-notes
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

The Context

Most "note-taking" or "knowledge management" software acts as a passive storage container. You create notes, shuffle them around into folders, add a few tags, and then they sit there. Waiting. Until you actively remember go looking for them.

This warehouse approach to notes requires us – the human agent in the system – to do a lot of cognitive labour if we want to actively use our notes. And using our notes is the entire point of any note-taking enterprise.

Most of us have an ulterior motive beyond writing notes – we want to remember, understand, synthesise ideas, come to confident conclusions, generate new ideas informed by historical and social events, write coherent essays, or work through difficult problems.

Getting to any of these outcomes requires far more work than typing words into a storage container and retrieving them again. Most note-taking software doesn't guide us towards any particular workflows or ways of thinking with our notes. We have develop them ourselves.

We have to remember what kind of information we saved in the first place. We have to know what keywords or search methods will allow us to find it again. We have develop ways to integrate old ideas with new ones. We have to prompt ourselves to expand on our notes, combine them, synthesise them into new realisations, and critique our own conclusions.

Thankfully, there's a long history of people finding ways to makes these cognitive tasks easier. We can draw on well-established cultural practices and techniques; we can write

and build . We can practice and . We can use to regularly resurface old ideas. We can write for an engaged and discerning public audience. We can even sign up for expensive masters degrees that will force us to ask hard questions and conjure up defensible answers.

These practices are what turns notes into understandings, conclusions, informed opinions, new ideas, and original creations. But we've yet to see note-taking software that actively facilitates and encourages these kind of workflows. They are, for the most part, still behaving like storage boxes.

What if we started to think about note-taking systems as active agents, rather than receptacles?

Agents can prompt you to do specific activities in a sequence. They can ask you questions. They can suggest relevant material based on what you've already written. They can periodically resurface old ideas to ask if they still ring true. They can prompt you to connect two disparate ideas together. They can mimic conversational partners who debate the strengths and weaknesses of a point – naive partners perhaps, but still better than no partner at all.

"Agents" here are simply programmes; pre-written sequences of instructions that facilitate standardised cultural practices and repeatable ways of relating to the world.

We could, in essence, run automated programmes and algorithms over our notes. Programmes that we have the agency to write as users.

The Pattern

Programmable notes are note-taking systems that allow you to write programmatic rules that facilitate particular ways of working with your notes.

Based on triggers (specific conditions are met, input from the user, time of day), they kick off a sequence of actions. Actions might be prompts for the user to answer, transformations on the notes themselves, or requests to external websites and data sources for information.

We're floating into the land of computational abstraction so let's make this tangible with some examples:

When I open my note-taking app first thing in the morningask what I'm currently thinking about. Once I've marked this complete, show me what I said yesterday, 3 days ago, and last week.

When I create a note related to a specific book pull in the author, cover, and publication date from the Google Books API.

When a week has passed since I've written notes on a bookask me everything I remember about it off the top of my head. Put this into the summary section of my notes as a first draft.

When a month has passed since I last touched a note marked as an essay draftgently prompt me to read through it again and write down why I'm stuck.

When I state a claimask what evidence I have to back it up and what other notes, books, or academic articles I want to mark as sources for this claim.

When I mark an essay draft as completeask me all the questions my favourite writing professor would ask.

  • Do you actually have a point and have you made it?
  • Does your introduction present a compelling problem?
  • Are you assuming the audience is thicker than a brick?
  • Is this littered with passive voice (to be, is, was, were...) and evasive language?

When I write a note that shares many of the same keywords and phrases as an existing noteshow them to me side by side and ask if I want to combine them.

When I mark a note as

ask me what other Evergreen notes I want to link it to, and offer suggestions based on ones with similar keywords, tags, and references.

When I say I'm stuck for new ideasselect a few random notes from my database and ask me to expand upon them using prompts from generative frameworks like

or .

I could go on, but I'll spare you from my other 99 mediocre programmatic note ideas. It's hopefully clear that the goal of these is to encourage practices like reflection, synthesis, connection, and serendipity. The goal is not to simply amass notes.

None of the automations I've suggested above are impractically complex or technologically impossible. They all follow a reasonably simple if this, then that structure that most of us will find familiar. Many are perfectly possible and actively being used in existing platforms.

The

plug-in for is the system I personally use to build these types of workflows. It offers a set of triggers, variables, and commands you can chain together into fairly readable statements like: <%SET:topOfMindToday,<%INPUT:What's on your mind today?%>%> or <%RANDOMBLOCKFROM:Writing Ideas%>.

Even with limited programming knowledge, many people in the community have been able to fashion their own Smartblock flows. Plenty of them have

their workflows to the community Github for others to use. These include over a selection of text, pulling data into your notes, and a flow walking you through the benefits, risks, and costs of all your options.

The UX of both Smartblocks and Roam is still pretty rough. But they're pointing towards something promising. They're also not alone in enabling users to write their own programmable notes. There are a wide range of user-created plug-ins for smiliar platforms like

and that enable some of these same workflows. is another app that allows users to build fairly complex programmatic systems within documents. You can create buttons that trigger actions and write automation scripts with conditional logic.The Coda interface with customisable buttons and an open sidebar for creating automation rules

Another project I'm watching closely is

's app (currently in alpha) that promises to feature "geists" – "little scripts that find connections between notes, and use procedural generators to construct algorithmic provocations."

These trends all bode well for programmable notes. They prove that – given enough agency – users will enthusiastically write their own programmes that facilitate the particular note-taking practices and techniques they find valuable.

This is

in action. The developers and designers of note-taking apps will never be able to create systems that suit the needs of everyone's particular knowledge management workflows. Enabling users to design and share their own is the only way to give people agency over their knowledge bases.

But what about AI???

It is impossible to propose agentive computational systems that are designed to help us think better without bringing up THE AI. Let's first point out the term "AI" is a nebulous and finicky cultural narrative that is used in all sorts of ways depending on the political agenda of the speaker.

In this context, I'm using AI to refer to systems that use natural language processing, neural networks, and machine learning to respond to people in seemingly 'intelligent' ways. These will play an enourmous role in the future of programmable notes.

We've yet to see note-taking platforms meaningfully add AI affordances into their systems, but there are hints at how they could in other platforms.

The most impressive and promising I've seen is

, a research tool that helps academics and students find relevant papers and data based on natural language inputs. You can ask it a question like "What's the point of note-taking?" and recieve a list of research papers that are likely to hold the answer. Even better, Elicit creates a one sentence summary of the paper's main finding and presents it in the results.Elicit search results showing summaries and titles of relevant papersElicit search results showing summaries and titles of relevant papers

Finding relevant research papers is critical for academics and researchers, but isn't a large part of everyone's writing and sense-making process.

Elicit has an alternative suite of tools that I find much more intruiging for our use case. Using the same NLP technology you can run requests like:

  • Clarify a concept
  • Suggest similar search terms
  • Brainstorm possible counter arguments
  • Rephrase a sentence
  • Help me be more specific.
Elicit suggesting possible counterarguments to a provided claimElicit suggesting ways to rephrase a sentence

These simple linguistic transformations and generative prompts don't require a high level of intellectual sophistication to be useful. Sometimes you just need a wall to bounce ideas off. And modern NLP systems are a great wall. They can give us just a touch of reflection, perspective, and serendipity when we get stuck in our own heads.

To address the slippery-slope argument, I think it's pointless to worry about these systems doing too much of our thinking for us. Rephrasing a sentence is a far cry from writing an informed and insightful social criticism essay.

They certainly might prompt us to think in novel and unfamiliar ways though.

is still the end goal here. Let's hope we see more of it.

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK