There’s quite a lot to get through this month, so let’s dive right in!
3.15.0 - beorg update - new date picker and quality of life improvements 💫
It has been a little while since the last beorg update. As usual, the main source of the delay was becoming bogged down on a particular feature - this time it was a new date picker. Also in this release are several improvements I’ve been wanting to make for a while, some of which were suggested a long time ago on the forum:
If you use Calendar Sync you can now turn off the “Overdue beorg items” that were automatically created
Subitems in the item editor now show full headline and state, with completed items being faded out
File contents are now cached in a local database which will eventually be used to speed up putting together the agenda, searches and more
Links to IDs should now work (at least on a file level)
When beorg refers to a file it will now use the file level title property
If you have subfolder support enabled then creating a new note will automatically generate an Org roam style filename and a custom ID
Subfolder support has been extended to the “Choose folder” sync method
This update is rolling out now to all users via the App Store. If you happen to be reading this newsletter but don’t have beorg installed yet then grab the latest version now:
If you have any feedback to share on the new update, or anything else beorg related, join the beorg forum. 💬
A new date picker 📆
I’ve been wanting to support date ranges, and also habits for a while now 🧘♀️. Standing in my way was the beorg date picker which was designed as a small modal and wasn’t extensible in the way I needed it to be. In beorg 3.15.0 I’ve delivered the first iteration of a new date picker. It doesn’t yet support habits (boo) but does allow you to set and edit date ranges.
beorg has supported date ranges since a fairly early release - but it has never allowed you to create or edit these using the date picker, it was either a manual process or something just there to support Org files you edited in Emacs.
By date ranges, I mean being able to give both a start date and end date to a task. For example, you might be spending a whole week on a particular task and don’t want to bother creating duplicate tasks for each day - rather you say the task starts on Monday and ends on Friday. This is now possible using the new date picker in beorg 3.15.0.
A small addition to the date picker is a button menu to set the date to today, tomorrow, this weekend, next week or next month. I’ve been finding this great for rescheduling tasks which I’ve needed to move for some reason (usually a freelance client of mine hasn’t got me something on time).
Making beorg better for notes
I use Org roam for most of my note-taking when sitting in front of my desk. I don’t think beorg is quite yet where I want it to be in being a great note-taking companion app - however, I’m determined to make the incremental improvements needed.
In this release there are a bunch of improvements designed to make beorg better for users of Org roam.
If you use iCloud, Dropbox, WebDAV or a folder from another app then you can use subfolders with beorg. One of these folders can be designated as your notes folder. If you haven’t yet enabled subfolder support and want to give it a try then you need to:
Create a beorg init.org file if you haven’t already (see this article on the beorg website for more details)
Long press the init file on the Files tab and select “Open With Text Editor…”
Add the following:
* Subfolder support
#+BEGIN_SRC scheme
(set! sync-subfolders #t)
#+END_SRC
Save by tapping the back button (top left)
The first improvement is that a local database is now updated when beorg reads each file (if that file has been updated since it was last added to the database). The database isn’t a full replica of everything in the file but is designed so it will be easy to query. Eventually, the parts of beorg which pull together the agenda, lists of tasks and perform searching will be rewritten to take advantage of this database. This should massively speed up beorg as currently each time the agenda is refreshed every file that beorg knows about is read and parsed.
The second improvement is that if a file has a file-level title property then beorg will show that instead of the filename.
Number three is that if you create a new file, or use quick capture, from the Notes tab (only shown if subfolders are enabled) then the filename is automatically generated based on the note title. The note title itself is stored as a file-level title property.
The final improvement is that beorg now adds a file-level ID property with a unique ID, and that beorg understands links to these IDs.
For example, in this example there are three files:
The files are shown on the notes tab with the titles:
Animal Crossing
July Sales analysis
Thai noodle recipe
However, the filename of the “Animal Crossing” note is 20220623141454-animal-crossing.org.
To link to this file I could write:
[[id:ebb614de-0668-4a14-9a07-16a040f1d8b8][Animal Crossing]]
Currently, you would have to add such a link manually, however eventually there will be an easy way to add links inside beorg itself. The main reason for adding this now is that it can be useful if you have links created by Org roam in Emacs.
What’s next?
There are two areas I want to focus on next:
Leveraging the database beorg now creates to massively speed up the Agenda tab, Tasks tab and searching.
Thinking about how I can completely rewrite the outliner and make it a much better place to spend time.
Improve how beorg handles itself when creating new tasks and ensure unsaved entries don’t get lost if iOS decides to kill beorg because it needs the menu.
If you want to help support future beorg development there are several ways you can help:
🪄 Take out a subscription to beorg Premium or purchase beorg extensions (depending on whether you prefer subscriptions or one-off purchases)
❤️ Use the tip buttons at the bottom of the Settings tab
👋 Mention beorg to others on social media, or write a blog post about how beorg is useful to you