Assembling the heterogeneous elements for (digital) learning

Category: pkm

Birds hiding in a bush

Designing a personal “memex” with Foam

For years I’ve been annoyed at the lack of structure in my approach to managing and leveraging information (it never really becomes knowledge). The process through which I Seek > Sense > Share information/knowledge has been ad hoc, disorganised and broken.

Last week @downes shared details about Foam. The first release of which was announced two weeks before I’m writing this.

The following is me figuring out how I might kludge Foam together with the other assemblages I use to help fix what is broken. Of course, it takes much more than a technology.

What is Foam? Why use it? Why not?

Foam is a tool intended to help individuals store, manage and leverage knowledge. It’s inspired by tools such as Roam and Notion, which are getting some attention. It also harks back to Smallest Federated Wiki and Wikity. Ideas that have promised to help with the problem I’ve identified above, but which I’ve never been sufficiently disciplined to effectively use. Hence no solution.

Foam has some established principles which resonate and which may help address some of the dissonance prior toools created with my personal practice. Like @downes I am attracted by the underpinning technology used by Foam – Visual Studio Code and GitHub. First, because I’m increasingly using those technologies in my work so my familiarity with them is increasing. Forming a virtuous circle, using Foam will help improve my familiarity with these tools and help my work. Second, the small pieces loosely joined approach enabled by both technologies resonates strongly with my prior work and assumptions about what works, or not. Though the fact that they still position “Build vs Assemble” as an either/or suggests that they haven’t made explicit the idea that out it is both/and.

Foam’s principles mention an intent to “allow users to operate in a decentralised” manner, which is also pleasing. I need to figure out how to integrate Foam into the assemblage of tools, practices and knowledge that will form my PKM processes. Inevitably my choices will be different than others. VSCode and GitHub are designed to more easily support this difference than some other choices. For example, some early examples of how the tools underpinning Foam might help inter-connect Foam with my existing assemblages, include:

And that list is without exploring further into the VSCode ecosystem (e.g. this citation picker for Zotero or the VSCode extension that allows typing TODO in a note to create a github issue). The presence of these ecosystems point to the strength of using technologies (VSCode/GitHub) that are widely used by a lot of people (who code). The list above illustrates that other people have already provided solutions to requirement I have. Solutions which are generally protean enough for me to customise to my context.

Why not use Foam?

It’s still early days. There remains a question whether this tool and its community will evolve productively. It’s also a bit rough around the edges and perhaps not fully feature complete. Not surprising since it is essentially two weeks since the release of a functional prototype.

Foam is not an integrated system. It’s a best-of-breed system. Each of these product models have plusses and minuses. A best-of-breed approach is more flexible and customisable. It’s also requires more knowledge to use effectively. Especially when the number of components that make up the best-of-breed system becomes quite large. As it can quickly become with Foam. Also, Foam is a best-of-breed system that you are responsible for fitting together.

The technical knowledge required to get going is relatively high. Rough around the edges means it’s probably best if you are familiar already with GitHub and VSCode. Markdown is the core authoring environment. It’s something else to learn.

The reliance on the filesystem to store data may be a limit on functionality and scalability. This type of note-taking approach (arguably) works best with a hypertext type structure. Not a hierarchical/categorical structure. The Web versus Gopher. A problem touched on by Berners-Lee talking about Bush. GitHub controls file structures. File structures are hierarchical.

What else might you use?

There’s a GitHub repository to answer that question. The Digital Gardners repo is described as “A collective of gardners publicly tending their digital notes on the interwebs”. It includes sections on Gardening Tools, How-tos, theory etc.

Interesting that @holden’s dLRN 2015 presentation gets a mention. First connection to my earlier dabbling and still one of the best descriptions of the importance/difference of this type of approach. In which he harks back to memex and explains why the following isn’t an entirely fitting name for what I might do with Foam here. e.g. contains my material and the materials of others. Links are associative. Links made by readers and writers.

Introducing Memex

My first quick test of Foam was labelled secondBrain. I wasn’t happy with that name and the following illustrates that I’ve moved further away from that term. To quote Bush (Bush, 1945)…”it needs a name”…

Consider a future device for individual use, which is a sort of mechanized private file and library. It needs a name, and to coin one at random, “memex’’ will do. A memex is a device in which an individual stores all his books, records, and communications, and which is mechanized so that it may be consulted with exceeding speed and flexibility. It is an enlarged intimate supplement to his memory.

While this use of Foam is certainly not going to be functionaly equivalent to Bush’s “memex” or later conceptualisations informed by the Web and greater hypertext thinking. The purpose certainly fits. I’m hoping the disciplined use of Foam will provide “an enlarged supplement” to my memory etc.

So welcome to my personal prototype memex. That will take you to the github pages representation of the memex. If you’re really keen you can access the github repository.

As it stands it is pretty limited. I still haven’t figured out completely how to use it.

How to use it?

One of the Foam principles is “Foam is not a philosophy”. i.e. how you use Foam is really up to you. Figuring how to use Foam in an effective and disciplined way is perhaps the hardest task. A task I’ve not been successful with to date with other tools. The following is some exploration and thinking about how I might turn this around.

The Foam recipes section on Worflow is currently empty. But Foam does talk mention Second Brain and Zettelkasten (which is not a new idea). There are others. The digital gardeners repo mentions some. Following explore Zettelkasten, SecondBrain and Seek > Sense > Share for ideas to inspire how I might use Foam.


This Medium post on Zettelkasten (a form of notetaking) describes the zettelkasten method as relying on a sequence of activities: Collect, Process, Cross-Reference and Use. It also lists the following requirements

  • Notes are atomic.
    i.e. as mentioned here, make them agnostic to a parent topic.
  • Each note has a home.
    But also points out the limitation of a topic based organisation as notes can belong to multiple topics. An emergent home.
  • Each note has a name.
  • Notes link to other notes.
  • Cross reference keywords.

A more detailed post on zettelkasten offers the following “tools for the zettelkasten method”

  • Inbox.
    Where rough ideas are captured for further processing.
  • Reference manager.
    How you cite references. Mentions Zotero. Rasing the question of how to cite references in Markdown/VSCode? Hey presto, there’s a VSCode package for that.
  • The Zettelkasten
    Recommneded that this be plain-text. This is where Foam most explicitly enters the picture.

It also offers the following process

  • Capture.
    Reading and taking literature notes. Literature notes are a collection of all the notes made on an article/book.
  • Elaborate.
    Turning notes into Zettels. Summarise contents into the Zettel title. Write for others. A structure including

    • Title/Zettel id
    • Elaboration
    • Highlights
  • Connect
    Add them into the network of Zettels. Tags. Links out and in. Structure notes become important here. Including indication of type of note in Zettel UID: L=literature note. L2=mid-level structure note. L1=top-level structure notes….perhaps too much.

    Tags. Use different types of tags ## for L1 notes.

Second Brain

SecondBrain appears to be a similar and more commercial process (e.g. there’s a company LinkedIn page). This description of SecondBrain identifies two core concepts: CODE and PARA.

CODE summarises “four universal steps”

  • Collect – a place to collect what’s interesting.
  • Organise – the structure it suggests is captured by PARA
  • Distill – notes themselves aren’t enough. Progressive summarisation.
  • Express – share with the world.

PARA suggests structuring content into

  • Projects – tasks liked to a goal/deadline
  • Areas – sphere of activity to be maintained
  • Resources – topic or theme of on-going interest
  • Archives – inactive items from the first three.

This sequence is meant to capture the flow between actionable tasks (Projects down) and non-actionable information.

Progressive summarisation appears to be the description of how to create and manipulate notes through the PARA/CODE concepts. Based on the idea of “note-first” rather than tag or category first. i.e. the primary focus is design of individual notes. Balancing discoverability (relying on compression) and understanding (relying on context) – touching on the reusability paradox.

Progress summarisation has layers of summarisation and the idea of opportunistic compression. You do it over time as needed. Not all resources go through all the layers. The layers are

  • Layer 0 – the original, full-length resource.
  • Layer 1 – initial notes/summary generated by note-taking program.
  • Layer 2 – bold passages.
    The “best parts” of the Layer 1 notes. The core of the idea.
  • Layer 3 – Highlighted passages
    The “best of the best”.
  • Layer 4 – Mini-summary.
    2 & 3 converted into an executive summary.
  • Layer 5 – Remix.
    Changes to how and where they are structured. Perhaps more linked with expressing the idea.

SecondBrain doesn’t (as of yet) capture the flow of random insights coming in???

Seek > Sense > Share

The Seek > Sense > Share Framework from @hjarche offers a conceptualisation that I’ve used personally and in my teaching for quite some time. It’s seen as a method for putting Personal Knowledge Mastery into practice. It offers more a way of thinking about what’s required rather than offering explicit guidance into the how – one of its strengths. It’s easy to see connections between Seek/Sense/Share, CODE and the other processes above.

What do I want to do with it?

Frameworks are useful, but how do I want to apply them. What do I need/want to do? Who am I? Who do I want to be?

I increasingly think of myself as a toolsmith in the sense expressed by Brooks (1996) whose delight “is to fasion powertools and amplifiers for minds” (p. 64). I’m a nerd who builds things that people want to use for pesonally productive ends. Mostly in the realm of (formal) educational technology. Consequently, it’s much more complex than just technology. Hence the current title of this blog – some assemblage required. Theory about people, learning, systems, organisations, teaching etc is required. Hence the tasks I need to undertake could include: reading, writing papers, developing software, thinking.

I’m not sure I see SecondBrain’s PARA approach fitting here. I won’t be using Foam for everything. Just tracking of notes. Zettelkasten seems a better fit for the purpose. Plus I’m worrred about too explicit a categorisation scheme and especially Foam’s reliance on the file structure and subsequent scalability issues. All notes in a single directory?

The purpose

The intent is that my memex will be where I store more notes which eventually become Zettels. The workflow will mirror Seek > Sense > Share. With memex being the core of Sense but having connection swith Seek and Share. Perhaps suggesting that Seek > Sense > Share become the structure.

Initial design

The home page could have a brief background, but then links to Seek, Sense and Share. Sections on the home page but also directories in the repo used in the following way

  • Seek.
    Contains pointers (and perhaps scripts) used to triage notes from seeking into memex. Layer 1 in SecondBrain concepts. A todo list of notes that need to be made sense of.
  • Sense.
    Where all the Zettels sit. As “seek notes” are summarised and connected they move into this directory. The sense page contains lists of stucture notes and unallocated notes. Structure notes represent major areas of interest I’m working on and may correspond to directories within the sense directory. Unallocated notes are those that have been “zettelised” but which aren’t yet connected.
  • Share.
    Contain an explanation of various means I’m using for sharing, but also explicit outcomes. e.g. papers, blog posts, github repos? Etc. Some of the outcomes would be works in progress, but others may be concrete artifacts that are used as part of my POSSE model.

To do

I now need to figure out if and how this plan can be best implemented with Foam’s nascent and evolving functionality and subsequently integrated into my assemblage of technologies and practices.

Foam questions

The whole directory/file question is probably the main one at the moment. If/how to do that and what are the trade-offs?

How do wiki links work and from there visualisation and back linking?

If and how can tags be simulated within Foam? Can I add “tags” to markdown files in a way that allows the automated genration of structure notes?

And I’m sure many others

Assemblage integration

For this to work I need to connect memex to the rest of the tools I use


  • Fix my Zotero installation.
  • Translate notes from various sources (Kindle, Zotero, Diigo,, Wikity) into memex.
  • Put in place process to keep those notes flowing into this.


  • Work out the process, structure and technology to make sense of in-coming notes.
    • What’s the landing page into memex like?
    • Structure underneath.
  • Figure out how Zotero and VSCode can effectively work together
  • Figure out how to handle moving notes around the directory structure and connection with links (wiki and markdown)


  • Explore POSSE style links from Foam to
    • my blog (wordpress).
      Posting and pages?
    • Twitter.
    • MS Teams?
  • How it figures into more formal writing.

And of course the simple task of trying to get all this to fit together and use in a disciplined and effective way.


Brooks, F. (1996). The Computer Scientist as Toolsmith II. Communications of the ACM, 39(3), 61–68.

Bush, V. (1945). As We May Think. The Atlantic Monthly.

What do you do with Twitter?

I was sitting in the first tutorial for EDC3100, ICT and Pedagogy yesterday when I overheard a student ask another, “What do you do with Twitter?”. There are many answers to this, this is what I did with Twitter this morning.

Learn – seek and sense

Primarily I use Twitter to seek out new information.

According to my Twitter profile I follow 544 people. That doesn’t mean I ready everything that they post. I have created a number of Twitter lists. Most of which I don’t really use any more. e.g. I’ve stopped using course twitter lists.

The one list I pay more attention to is the inner-circle. It currently has 100+ people I follow. This is a fairly random collection of people who currently tweet about stuff I find interesting. Stuff that I try to keep abreast of (but typically fail).

This morning when I first started up the laptop, there were around 180 tweets from this inner-circle. Given I had some time this morning, I skimmed through those tweets looking for some interesting stuff. Some of what I’ve found so far includes the following.

First I spotted the following re-tweet from @clairebooks

Mentions digital literacy and some changes to the Welsh curriculum. Digital literacy is something we touch on a few times over the semester in EDC3100. In fact, next week we mention the somewhat related ICT General Capability in the Australian Curriculum. What’s happening in the Welsh context provides an interesting comparison with our own context.

@shaned07 tweeted about an article in CIO about a presentation given by the CIO of the Queensland department of education.

The presentation talks in glowing terms about the success of their “ERP” system and its associated dashboards. I’m somewhat skeptical of the claims of such systems. ERPs almost inevitably leave huge gaping chasms between what people would like to do with them, and what they actually do. Dashboards are something I’ve learned to dislike a lot. However, the CIO is also saying some good things in terms of the importance of the teacher’s judgement with what is shown in the data.

This is interest because it is both a research interest of mine (I’ll be spending a fair bit of the next couple of days kludging together various institutional systems to get access to this type of data about EDC3100) and also of relevance to the topics we cover in EDC3100. Evidence-based decision making and data analysis are an increasing interest of those who decide what’s important for pre-service teachers to learn.

I’ve also been following along with @palbion’s tweets from the SITE conference in Las Vegas. Lots of interesting things to ponder from there.

Digital renovation is a growing interest of Peter and I, so I’ll need to follow up on this.

I also found out that at least one student seems to be progress okay with the course

And just as I was finishing up this post, I came across this from @courosa

This has me thinking about how many of the #edc3100 folk would make the connection between the mathematical concepts and the dance moves. It makes me wonder whether this is a way to bring in a tool like GeoGebra into EDC3100.

And lastly I liked (and smiled at) this re-tweet by @markdrechsler

It speaks to me of similar statements I’ve heard where management “blame the teachers”, the teachers “blame the students”, and IT people “blame the user” for not responding to some plan in the expected way.

Twitter helps seeking

All of the above are examples of something that I would not have come across without the network of people that I follow on Twitter. Cultivating a diverse network of people who are interested in different things and take a different perspective from me, helps me in seeking out new and interesting ideas. It sparks thoughts and possibilities that would not have been possible otherwise.


And in keeping with the PKM process I’ve also shared these tweets. This post is one example of sharing the tweets and what I do with them. I’ve also shared the links provided in some of these tweets to the EDC3100 Diigo group.

The article from CIO has also been tagged with a tag that links it to some research I’m doing.

The link about digital literacy is something I need to revisit in a little while and consider how (and if) it can be integrated into the EDC3100 learning paths. There’s some potential for a discussion around the shift from ICT to digital literacy, what it means, and whether it’s a good thing.

What did I do with Twitter?

I’ve generated a couple of ideas for activities for EDC3100. In fact, this blog post will also find its way into the next learning path as an example of what you might do with Twitter, but also as an example of a blog post.

And identified some additional avenues of exploration around research issues.

I learned about some work that’s going on around education from across the world. Generated some ideas for my teaching, but also for my research. Perhaps most importantly, I smiled.

And the day is still young.

Powered by WordPress & Theme by Anders Norén