WEBVTT
00:05.520 --> 00:08.170
Hello. My name is Karl Voit,
00:08.170 --> 00:11.360
and I've spent the last decade
00:11.360 --> 00:13.040
working with Emacs Org Mode
00:13.040 --> 00:15.280
as my main organization system
00:15.280 --> 00:16.880
for my use cases,
00:16.880 --> 00:19.760
and I would like to take this opportunity
00:19.760 --> 00:22.480
and point out a subtle issue we've had
00:22.480 --> 00:25.359
in many different discussions around Org Mode,
00:25.359 --> 00:27.519
which itself stands for
00:27.519 --> 00:29.679
quite different kind of things.
00:29.679 --> 00:31.760
On the one hand side,
00:31.760 --> 00:34.640
Org Mode is an implementation in Elisp
00:34.640 --> 00:36.559
on the Emacs platform,
00:36.559 --> 00:38.480
and on the other hand side,
00:38.480 --> 00:42.960
Org Mode is also a lightweight markup language
00:42.960 --> 00:45.760
which we use to express things:
00:45.760 --> 00:47.440
how headings are marked,
00:47.440 --> 00:49.840
how text is made boldface,
00:49.840 --> 00:51.680
how external links are written,
00:51.680 --> 01:01.920
and so forth, in text documents.
01:01.920 --> 01:03.920
From my own experience,
01:03.920 --> 01:05.920
from many different online discussions,
01:05.920 --> 01:09.600
I once wrote a blog article on my web page
01:09.600 --> 01:11.760
that summarizes why I do think
01:11.760 --> 01:13.200
that Org Mode is superior
01:13.200 --> 01:16.000
to other well-known lightweight markup languages
01:16.000 --> 01:21.040
such as Markdown, AsciiDoc, reStructuredText and more.
01:21.040 --> 01:23.360
My main points in this article were that
01:23.360 --> 01:25.040
Org Mode is an intuitive
01:25.040 --> 01:28.000
and easy to learn and remember markup.
01:28.000 --> 01:29.360
It is standardized,
01:29.360 --> 01:31.439
as in the Emacs implementation
01:31.439 --> 01:32.799
defines the current standard,
01:32.799 --> 01:35.360
and there is no different Org mode version
01:35.360 --> 01:38.159
out there which conflicts with that.
01:38.159 --> 01:41.040
Org Mode is consistent
01:41.040 --> 01:44.159
within its markup language design.
01:44.159 --> 01:48.640
Org Mode can be easily typed in any text-based tool,
01:48.640 --> 01:53.280
and Org Mode makes much sense outside of Emacs,
01:53.280 --> 01:55.360
so that you can use it, for example,
01:55.360 --> 01:58.719
in email clients or in other text documents
01:58.719 --> 02:01.040
not interpreting the markup at all.
02:01.040 --> 02:03.280
And of course, if you want,
02:03.280 --> 02:06.640
you can have the perfect tool support within Emacs
02:06.640 --> 02:13.760
and other software tools.
02:13.760 --> 02:15.440
This naming issue,
02:15.440 --> 02:18.560
using one name for two different kind of things,
02:18.560 --> 02:22.239
arises in discussions about the markup's support
02:22.239 --> 02:24.560
in non-Emacs tools and services,
02:24.560 --> 02:27.440
in questions on levels of compatibility
02:27.440 --> 02:30.080
in comparison to the large and huge
02:30.080 --> 02:32.959
amount of functionality within Emacs,
02:32.959 --> 02:36.319
and so forth.
02:36.319 --> 02:38.000
In order to find a solution
02:38.000 --> 02:40.160
to some of those issues,
02:40.160 --> 02:44.480
I propose a different name. A new idea.
02:44.480 --> 02:47.360
A definition for the lightweight markup language,
02:47.360 --> 02:51.200
and the lightweight markup language alone.
02:51.200 --> 02:54.000
A new standard, which, by the way,
02:54.000 --> 02:57.680
reminds me on something here...
02:57.680 --> 03:05.200
Anyway...
03:05.200 --> 03:06.640
So we need a different name
03:06.640 --> 03:08.159
for this new thing,
03:08.159 --> 03:09.840
and its feature set needs to be
03:09.840 --> 03:11.760
something good enough
03:11.760 --> 03:14.000
to help adapting Org Mode syntax
03:14.000 --> 03:16.560
outside of the Emacs universe.
03:16.560 --> 03:19.760
It can't be the whole set of Org Mode features.
03:19.760 --> 03:21.680
This would kill the idea instantly,
03:21.680 --> 03:23.519
because everything that is going
03:23.519 --> 03:24.720
into that direction
03:24.720 --> 03:26.959
would be compared to our golden standards,
03:26.959 --> 03:29.280
the Emacs implementation of Org Mode,
03:29.280 --> 03:31.120
which cannot be compared
03:31.120 --> 03:33.599
to anything else at this time.
03:33.599 --> 03:37.040
So it needs to be somehow less than Org Mode.
03:37.040 --> 03:41.040
It needs to be recognizable in non-Emacs circles,
03:41.040 --> 03:42.720
and it should remind people
03:42.720 --> 03:43.920
on similar things
03:43.920 --> 03:45.760
in order to be something
03:45.760 --> 03:49.760
somewhat self-explanatory as a term.
03:49.760 --> 03:54.000
Hereby, I propose the name Orgdown
03:54.000 --> 03:56.000
for this thing, and it's launched
03:56.000 --> 04:06.239
with my Emacs Conference talk 2021.
04:06.239 --> 04:09.360
So what should Orgdown be?
04:09.360 --> 04:11.439
It should be a subset of Org Mode
04:11.439 --> 04:14.400
lightweight markup language syntax.
04:14.400 --> 04:17.120
It should be a definition of
04:17.120 --> 04:18.880
Org-Mode-based entities
04:18.880 --> 04:20.880
that do make sense on their own
04:20.880 --> 04:22.720
which is, in any case,
04:22.720 --> 04:26.320
always a compromise of some sort, of course.
04:26.320 --> 04:29.919
It needs to be extensible for different purposes
04:29.919 --> 04:32.560
to ensure future-proofness,
04:32.560 --> 04:33.600
and it needs to have
04:33.600 --> 04:35.919
a formal definition of Org Mode,
04:35.919 --> 04:39.680
which helps in becoming a new standard.
04:39.680 --> 04:42.160
it needs to be a self-sustaining community
04:42.160 --> 04:45.040
that supports the process by documentation
04:45.040 --> 04:48.320
and connecting people to other people,
04:48.320 --> 04:52.080
to the documentation, and to tools.
04:52.080 --> 04:54.800
What Orgdown should never be
04:54.800 --> 04:57.280
is something that's incompatible
04:57.280 --> 04:59.759
with Org Mode within Emacs,
04:59.759 --> 05:08.560
and some kind of Org Mode replacement, of course.
05:08.560 --> 05:12.160
The advantages of Orgdown for everybody
05:12.160 --> 05:16.800
includes better Org support in non-Emacs tools;
05:16.800 --> 05:19.759
to promote the beautifully crafted Org Mode syntax
05:19.759 --> 05:21.520
to a larger set of people,
05:21.520 --> 05:23.759
even outside of Emacs, of course;
05:23.759 --> 05:26.560
to push better support for the collaboration
05:26.560 --> 05:28.800
for Emacs and non-Emacs users
05:28.800 --> 05:31.759
for using text-based documents;
05:31.759 --> 05:34.880
finally, fix the irritating mix-up of
05:35.919 --> 05:37.600
markup language support
05:37.600 --> 05:41.680
and its Elisp implementation.
05:41.680 --> 05:44.000
I already mentioned briefly the need for
05:44.000 --> 05:47.039
a definition and extensibility.
05:47.039 --> 05:48.960
Therefore I came up with the idea
05:48.960 --> 05:52.320
of having different levels of Orgdown,
05:52.320 --> 05:56.400
and the first and most basic level of Orgdown
05:56.400 --> 06:05.600
is called Orgdown1.
06:05.600 --> 06:09.759
Orgdown1, or in short, OD1, consists of
06:09.759 --> 06:11.759
a small set of Org-Mode-based features
06:11.759 --> 06:15.759
such as simple text formatting, headings, lists,
06:15.759 --> 06:19.520
and checkboxes, example, quote, and source blocks,
06:19.520 --> 06:22.479
comments, external web links,
06:22.479 --> 06:25.280
tables without calculations.
06:25.280 --> 06:27.120
I tried to find a compromise
06:27.120 --> 06:29.199
that should work with most people
06:29.199 --> 06:31.600
starting with any lightweight markup
06:31.600 --> 06:39.759
that is based on Emacs Org Mode.
06:39.759 --> 06:41.199
In order to get a measure
06:41.199 --> 06:43.759
on how well Orgdown1 is supported
06:43.759 --> 06:45.919
by one specific tool,
06:45.919 --> 06:47.759
I came up with an OD1
06:47.759 --> 06:51.199
compatibility percentage index.
06:51.199 --> 06:54.080
43 easy-to-check features such as:
06:54.080 --> 06:56.800
does it support highlighting of bold text
06:56.800 --> 06:59.039
using single asterisks?
06:59.039 --> 07:00.800
Each feature can be supported
07:00.800 --> 07:02.880
in a basic way (one point)
07:02.880 --> 07:06.319
or in an advanced way (two points).
07:06.319 --> 07:08.319
One point means it basically
07:08.319 --> 07:10.080
doesn't interfere with the tool
07:10.080 --> 07:12.000
in any negative way.
07:12.000 --> 07:14.479
Two points means that it provides
07:14.479 --> 07:16.720
active syntax highlighting, for example,
07:16.720 --> 07:18.479
or even tool-supported features
07:18.479 --> 07:22.960
like shortcuts to insert elements and such.
07:22.960 --> 07:24.880
Summing up those two levels
07:24.880 --> 07:27.280
for all those 43 features
07:27.280 --> 07:28.479
result in a number
07:28.479 --> 07:29.919
that can be compared
07:29.919 --> 07:32.319
to the maximum level there is,
07:32.319 --> 07:36.319
which results in a given percentage.
07:36.319 --> 07:37.919
By definition,
07:37.919 --> 07:40.479
Emacs provides full support
07:40.479 --> 07:43.360
of all Orgdown levels,
07:43.360 --> 07:45.360
and most tools support
07:45.360 --> 07:48.240
at least fifty percent of Orgdown1
07:48.240 --> 07:50.400
as long as Orgdown1 syntax
07:50.400 --> 07:52.720
doesn't result in some markup conflict
07:52.720 --> 07:57.039
or tooling conflict or whatever.
07:57.039 --> 07:58.560
This emphasizes the idea
07:58.560 --> 08:01.360
that Orgdown can and should be used
08:01.360 --> 08:04.879
for personal notes anywhere and in general domains,
08:04.879 --> 08:07.919
just like writing emails, for example.
08:07.919 --> 08:10.000
I guess the majority of tools
08:10.000 --> 08:12.720
with a certain support for Orgdown1
08:12.720 --> 08:18.080
will be in the area of 80s and 90s, percentwise.
08:18.080 --> 08:20.639
If Orgdown1 is not enough,
08:20.639 --> 08:22.400
there will be future definitions
08:22.400 --> 08:24.960
of Orgdown2, 3, or higher
08:24.960 --> 08:27.599
which will take more and more syntax elements
08:27.599 --> 08:29.039
from the Org Mode syntax
08:29.039 --> 08:30.479
and integrate it into
08:30.479 --> 08:39.519
the domain of Orgdown.
08:39.519 --> 08:42.000
So far, Orgdown1 is described
08:42.000 --> 08:43.599
on a public GitLab page
08:43.599 --> 08:45.920
which has already documentation
08:45.920 --> 08:48.399
on how to learn Orgdown,
08:48.399 --> 08:50.560
some syntax examples,
08:50.560 --> 08:51.839
frequently asked questions,
08:51.839 --> 08:54.240
and of course, with their answers,
08:54.240 --> 08:55.920
a collection of tools
08:55.920 --> 08:59.279
that already do support Orgdown in some way,
08:59.279 --> 09:01.040
and a few of them did already
09:01.040 --> 09:02.640
get evaluated by me
09:02.640 --> 09:05.920
and got their OD1 compatibility percentage
09:05.920 --> 09:07.279
in a table.
09:07.279 --> 09:09.839
Some ideas on how people can contribute
09:09.839 --> 09:11.040
to this new standard
09:11.040 --> 09:13.839
is also part of this new site.
09:13.839 --> 09:17.200
And of course, now I need your help
09:17.200 --> 09:19.519
in order to make this a success story
09:19.519 --> 09:28.880
for Org Mode and of course Orgdown.
09:28.880 --> 09:31.360
So please do contribute
09:31.360 --> 09:33.279
to the GitLab project pages
09:33.279 --> 09:38.000
and add tools and their Orgdown1-compatible percentages.
09:38.000 --> 09:40.800
For example, a template file is provided,
09:40.800 --> 09:41.839
of course.
09:41.839 --> 09:43.680
Please do add more parsers.
09:43.680 --> 09:46.320
Please use the term Orgdown1
09:46.320 --> 09:48.080
to label tool properties
09:48.080 --> 09:49.440
for your own stuff
09:49.440 --> 09:51.760
and so that people do realize
09:51.760 --> 09:53.839
that your tools are already supporting
09:53.839 --> 09:56.800
this general use case of Org Mode.
09:56.800 --> 09:58.640
And there is no need to support
09:58.640 --> 09:59.680
all the Org Mode
09:59.680 --> 10:02.160
in order to profit from Org Mode syntax
10:02.160 --> 10:04.320
with Orgdown.
10:04.320 --> 10:05.839
You can spread the idea
10:05.839 --> 10:07.279
by promoting Orgdown
10:07.279 --> 10:08.480
as a separate term
10:08.480 --> 10:09.680
compared to Org Mode
10:09.680 --> 10:11.279
and its mixed up definition
10:11.279 --> 10:21.279
with the Org Mode Elisp implementation.
10:21.279 --> 10:23.120
And in case that Orgdown
10:23.120 --> 10:24.880
really resonates with you,
10:24.880 --> 10:26.959
you can add a formal specification
10:26.959 --> 10:29.279
to the GitLab project of Orgdown.
10:29.279 --> 10:30.480
I guess that some of the
10:30.480 --> 10:33.040
existing formal definitions of Org Mode
10:33.040 --> 10:35.760
already do qualify for Orgdown1
10:35.760 --> 10:37.920
by stripping down to the few things
10:37.920 --> 10:41.279
Orgdown1 is concentrating on.
10:41.279 --> 10:42.720
You can create, for example,
10:42.720 --> 10:45.760
a language server protocol for Orgdown1
10:45.760 --> 10:48.000
which would multiply the possibilities
10:48.000 --> 10:50.000
for adapting Orgdown1
10:50.000 --> 10:51.760
in all kinds of editors
10:51.760 --> 11:00.880
by giving syntax highlighting, for example.
11:00.880 --> 11:03.200
And you may find the idea intriguing
11:03.200 --> 11:07.440
that Orgdown1 is a perfect markup language candidate
11:07.440 --> 11:09.920
for the Gemini project,
11:09.920 --> 11:11.200
which would be, in short,
11:11.200 --> 11:14.240
a linked web of plain Orgdown1 files
11:14.240 --> 11:16.160
that form a parallel internet
11:16.160 --> 11:17.839
without advertisements,
11:17.839 --> 11:20.880
malware-bloated web pages, and so forth.
11:20.880 --> 11:22.160
It's concentrating
11:22.160 --> 11:23.920
on the essential value of information
11:23.920 --> 11:26.399
in form of simple text files
11:26.399 --> 11:29.279
and links to other simple text files.
11:29.279 --> 11:39.760
I would love to see this.
happen someday
11:39.760 --> 11:42.560
In the meantime, let's kick-start Orgdown
11:42.560 --> 11:45.120
with Orgdown1 as the first level.
11:45.120 --> 11:46.880
Visit the GitLab page,
11:46.880 --> 11:49.600
hand in improvements for the linked tool sections,
11:49.600 --> 11:52.240
and spread the brilliant markup design
11:52.240 --> 11:52.880
of Org Mode,
11:52.880 --> 11:56.000
using Orgdown as a well-defined
11:56.000 --> 11:57.839
new standard.
11:57.839 --> 12:01.079
Thank you.