The future of Logseq - Sneak peak at the DB Branch

Tools on Tech
4 Mar 202429:06

Summary

TLDRこの動画は、オープンソースのノートアプリLogseekの今後の開発方向性について解説しています。Logseekチームは、マークダウンファイルではなく新しいデータベース方式を採用する大規模な変更を準備しています。この変更により、ページプロパティやタグ、リレーションなどの高度な機能が実装され、アプリの安定性と速度が向上すると期待されています。また、データのエクスポート機能の改善やユーザーインターフェースの刷新なども見込まれており、Logseekの将来に向けた重要な一歩となりそうです。

Takeaways

  • 📝 Logseekのコアは静止状態になっているが、これは大きな変更のための作業が裏で行われているためである。
  • 🔧 この変更は、Logseekがデータを保存する方法を書き換えるものであり、マークダウンファイルに依存しないデータベースベースのアプローチに移行する。
  • ⚡ この変更により、Logseekのパフォーマンス、安定性、メモリ管理が改善される見込みである。
  • 🌐 新しいデータベース設計は、プロパティやタグを使ってデータを構造化し、階層化することを可能にする。
  • 📂 これにより、ユーザーは独自のデータ構造を簡単に作成でき、より整理された形でデータを管理できるようになる。
  • 🔄 新しいエンジンでは、マークダウン形式のエクスポートに加え、SQLiteデータベースのエクスポートも可能になる。
  • ✏️ テンプレートやフォーマットのカスタマイズ機能が強化される予定である。
  • 📆 プロパティを活用することで、カレンダービューなどの高度なビューを実現できるようになる可能性がある。
  • ⌛ この変更は大規模であり、安定性とスピードの確保が課題となっている。
  • 🚀 この変更が完了すれば、Logseekの機能拡張のペースが加速すると期待されている。

Q & A

  • LogseekのDBブランチの開発に時間がかかっている理由は何ですか?

    -Logseekのコアエンジンとバックエンドをゼロから書き直す大規模な作業が行われているためです。旧バージョンの制約を解消し、より堅牢で機能的なシステムを構築することが目的とされています。この作業は非常に複雑で大規模なため、長期間を要しています。

  • 新しいDBバージョンではどのようなことができるようになる予定ですか?

    -新しいバージョンでは、タグやプロパティを使ってカスタムデータ構造を柔軟に構築できるようになります。また、リンクの作成、データのフィルタリング、クエリ機能の強化などが期待されています。さらに、スピードと安定性の改善、データのエクスポート機能の拡張も見込まれています。

  • 新バージョンのデータ構造はどのようなものになるでしょうか?

    -データはSQLiteデータベースに保存され、1つのテーブルにIDとテキストフィールドを持ちます。テキストフィールドにはEDNデータ形式でデータが格納されます。これにより、メモリを大量に消費することなくデータにアクセスできるようになります。

  • 新しいバージョンではインポート/エクスポートの機能が変更される予定でしょうか?

    -エクスポート機能はある程度変更される可能性があります。SQLiteデータベースのエクスポートや、より柔軟なマークダウンエクスポートなどの新機能が追加される見込みです。さらに、他のアプリとのデータのやり取りを容易にするためのインポート/エクスポートオプションの追加も期待されています。

  • タスクの管理方法は変更されますか?

    -タスク管理は、新しいプロパティベースのシステムに移行される見込みです。つまり、「タスク」もプロパティの1つとして扱われ、カスタマイズが可能になるでしょう。たとえば、優先順位やタスク量などの新しいプロパティを追加できるようになるかもしれません。

  • 新バージョンはマークダウンファイルの扱い方に影響を与えますか?

    -ある程度影響があると考えられます。データはバックエンドのデータベースに保存されるため、マークダウンファイルの扱い方が変更される可能性があります。ただし、マークダウンのエクスポートオプションは残される見込みです。

  • 現在のLogseekユーザーは、新バージョンに移行する際にデータを移行できますか?

    -はっきりとした詳細は明らかになっていませんが、データ移行の方法が用意される可能性は高いと考えられます。しかし完全な互換性は難しいかもしれず、ある程度の手作業が必要となる可能性もあります。

  • ユーザーインターフェースはどのように変更される予定でしょうか?

    -新しいデータ構造に合わせてユーザーインターフェースも大幅に変更される見込みです。プロパティの設定画面やデータビューアなどが刷新され、より直感的で使いやすいインターフェースになると期待されています。ただし、具体的な変更点については不明な部分が多く残されています。

  • このアップデートはLogseekの基本的な機能にどのような影響を与えますか?

    -メモの作成や編集、リンクの追加など、Logseekの基本的な機能は残される見込みです。しかし、それらの機能がどのように実装されるかは変更される可能性があります。全体としては、より堅牢で拡張性の高いプラットフォームへと進化することが期待されています。

  • 新バージョンのリリース時期はわかりますか?

    -正確な時期は明らかにされていませんが、開発には相当な時間を要しており、まだ先の話になると考えられます。開発者らは新バージョンをしっかりと磨き上げてから公開する方針のようです。

Outlines

00:00

🔍 私のロックシークの将来についてのレビュー

この段落では、ロックシークの開発チームが大きな変更を行っていることを説明し、GitHubのDBブランチを見ることで、将来の変更の方向性を知ることができると述べています。また、この新しいバージョンをプレビューすることについて注意を促し、本番環境で使用しないよう警告しています。

05:02

🤔 ロックシークのバックエンドの課題と変更の必要性

ロックシークのバックエンドにはいくつかの課題があり、変更が必要であると説明しています。マークダウンファイルベースのデータ構造には制限があり、設計上の問題点を指摘しています。また、マークダウンを排除してデータベースバックエンドに移行することで、これらの問題が解決できると述べています。ただし、マークダウンをエクスポートできることが重要であると強調しています。

10:05

🏗️ エンジンの再構築の複雑さ

この段落では、ロックシークのエンジン(コア機能)を書き換えることの複雑さについて説明しています。既存の機能との下位互換性を維持しながら、より堅牢な基盤を構築する必要があります。また、一部のユーザーが新しい方向性に不満を持つかもしれないことを認識していることが述べられています。

15:06

🆕 新しいバージョンのロックシークの機能プレビュー

この段落では、新しいバージョンのロックシークの具体的な機能について説明しています。プロパティの設定、フィルタリング、グラフビューなど、様々な新機能が紹介されています。また、クイックでわかりやすい構造の構築方法を示しており、ロックシークの拡張性と柔軟性が高まることが期待されています。

20:07

✍️ 本の構造を作成するデモ

この段落では、実際に本の構造を作成するデモを通して、新しいロックシークの機能を具体的に示しています。本、著者、発売年などのプロパティを設定し、それらを関連付けていく過程が分かりやすく説明されています。このようにして、ユーザーがカスタマイズした構造を柔軟に構築できることが強調されています。

25:08

🚀 今後の展望と課題

最後の段落では、新しいバージョンのロックシークに対する今後の期待と課題について述べられています。安定性、速度、クエリオプション、テンプレートの改善、タスク管理の改良などが挙げられています。また、ロックシークがこれらの課題を乗り越えることで、大きな進化を遂げることが期待されています。

Mindmap

Keywords

💡データベース分岐

メインのLoglseekコードから分岐したコードベースのことです。ビデオでは、Logseekの将来の大規模な変更を具体化するために、開発者がこのデータベース分岐で作業していることが説明されています。この分岐では、マークダウンファイルではなく、SQLiteデータベースを使用してデータを保存することで、より堅牢でスケーラブルな基盤を構築しようとしています。

💡オープンソース

Logseekがオープンソースのプロジェクトであることが、ユーザーにとって有利な点が強調されています。オープンソースであるため、ソースコードを閲覧でき、開発の進捗状況を把握できます。また、本番環境に影響を与えずに開発版を試用できるというメリットもあります。

💡マークダウン

Logseekの現在のデータ保存形式であるマークダウンファイルには限界があることが指摘されています。マークダウンはテキスト書式用に設計されたものであり、ブロック構造やプロパティ、リンクなどの高度な機能を扱うには適しておらず、パフォーマンスの問題が生じがちです。そのため、新しいデータベース駆動型のアーキテクチャに移行することで、この問題を解決しようとしています。

💡EDN (Extensible Data Notation)

現在の開発版では、SQLiteデータベースにデータを保存する際の形式としてEDNが使用されています。EDNはClojureで使用されるデータ表現形式で、データ構造をテキストで表現できます。ビデオでは、EDNデータを使うことで、メモリ使用量を抑え、パフォーマンスを向上できることが期待されています。

💡プロパティ

新しいLogseekの中核となる概念が「プロパティ」です。各ブロックやページに対して、カスタマイズ可能なプロパティを割り当てることができます。例えば、会議用のプロパティには「出席者」や「議題」などのフィールドが設定できます。このプロパティ機能によって、構造化されたデータ管理が可能になり、フィルタリングやクエリの精度が上がります。

💡グラフデータベース

新しいLogseekでは、データをグラフ構造で表現できるようになります。プロパティを使ってノードやエッジを定義することで、複雑なデータ関係を視覚化できます。ビデオでは、プロジェクト、人物、トピックなどのエンティティ間の関係がグラフで表示される例が紹介されています。

💡スーパータグ

ビデオでは、Logseekの新しいプロパティ機能が、TanaDynamicNotesのスーパータグに似ていると述べられています。スーパータグとは、コンテンツブロックに付与できる構造化された属性のことです。Logseekもこの概念を取り入れることで、より高度な分類とフィルタリングが可能になると期待されています。

💡エクスポート

新しいLogseekでは、さまざまなデータエクスポート機能が提供される予定です。マークダウンファイルや他のアプリケーションとの互換性を確保するためのエクスポート形式のほか、SQLiteデータベースそのものをエクスポートできるようになります。十分なエクスポート機能があれば、ユーザーはデータロックインの心配なく自由にLogseekを利用できます。

💡テンプレート

ビデオでは、新しいLogseekにはテンプレート機能が追加される可能性があると言及されています。テンプレートを使えば、特定の種類のコンテンツに対してプロパティやレイアウトの設定をあらかじめ定義できます。これにより、構造化されたデータ入力が容易になり、ユーザビリティが向上すると期待されています。

💡ユーザーエクスペリエンス (UX)

ビデオでは、新しいLogseekのコアアーキテクチャが完成した後、ユーザーエクスペリエンスに注力する必要があると指摘されています。現在の開発版では、UIやインタラクションの面でまだ課題があり、最終的な製品版に向けて改善が行われる見込みです。優れたUXは、Logseekが広く普及するための重要な要素の一つと考えられています。

Highlights

While there are frequent updates with the chain clock videos I make for example it really feels like the core of Loi is kind of standing still a bit and that's because they are working on a big change in the background.

One of the benefits of a development branch is that you can just toss everything away and start fresh you don't have to think about migrating data, and that's why this warning is all the way in the beginning of the video it's cool stuff but we still have to wait for it.

If you go to GitHub and you go to the loek source code this is like all the code from loek which is awesome and then on the top here it says master and that is the master Branch that's the stuff that gets released to us normal end users but if you click on it you see like all these different names and that doesn't tell you a lot.

Featuring DB is the one that we're going to look at, you can see that you got like the master Branch here and this one says ahead 192 commits that means that 19002 code changes were committed to this Branch, this is way ahead normally it's like like something like this you like the this one 62 that's already a lot usually it's like 10 15 and then you merge it back in 1900 is a lot of work.

To fully grasp this backends are hard and I want to explain a bit how that gets taken away when you're working on normal system so if you're using a web app like Gmail notion something like that uh then it's pretty easy you just talk to your web browser your web browser has a back end as an AB that talks to their dat base or server and they do all the fancy hard stuff on the back end.

The problem with markdown is markdown is based for text formatting it's not based as a database or a structured setup and that means that if you start saving things like a block based system with property and links and all that other stuff in markdown you're kind of making things hard for yourself.

Currently the way loek is running is really stopping loek from performing, Prime examples I have for that are if I open a second window I get into trouble, because Loy doesn't understand that the second window is also making changes so I'm changing a page a totally different page in the other window and then the first window starts screaming because it like hey things gets changed on the disc, I didn't understand that.

This new Branch tries to solve that and it isn't just the back end that's just how it's saves it's the engine so the engine is the stuff between you you're working in loek and it's writing stuff down now if the engine is good and at some point it works and it has a proper back end then a lot of the stability speed problems can be easily resolved.

If you take your house as example if you live somewhere you make small improvements over time say for example I have one of those video doorbells at the door if I'm ever moving moving house and that's basically the same as when you're reiding an engine all these small things come back so the doorbell thing my automated lighting the fact that my oven's installed that my Wi-Fi is configured there's a 100 different things in my house that I fix while I'm going through time and loek having to rewi the engine basically has to make something that is compatible with all the things that they did before and then try and not iterate but like rewrite from scratch make like a more robust base to build on so this is a hard not to crack.

One of the the things that I really like is that if I make a block and I add like a tag to it then you get this like extra properties this is stuff that get added based on this so if I go to meeting it shows me here like hey these are the extra properties that I have like project attending summary.

I also like the fact that the layout like I can give it items, but they look the same as the text, they're a bit brighter but this is like normal you know adding uh text to the bottom to it and then the properties are part of it and not like a separate block, some formatting would be nice but that's something for later and probably a ux thing and if I fold it then it's like fully folded and the properties are no longer showing through.

Tasks are B based on the same thing and I really like seeing this part because that means that it's it's no longer task being like this unique thing now task is just a property and you can also configure it so I added effort for example to like give me up like okay how much effort is this going to be and if I click on it then you can say okay there's a text and I can give it choices so I can also say like hey I make like a low choice and I make like a high choice.

This idea just really Sparks Joy with me, the fact that I could write something down and then say like this is a source and I can link it towards a topic and towards a URL meaning that once I want to talk about a certain topic I can just see all the sources I had with the URL to their original source and probably even use like an export or combination to generate my description from it this is going to save me a lot of time in the future.

Now to give you a feel on how easy it is to build these kind of structures I'm going to go and then make an extra structure in this case I'm just going to add like a book author setup so first of all I'm going to make a page and call it like project Hill marry empty page and go here and I'm going to say like hey this is a book I'm going to go here I'm going to go to Tags I'm going to say it's a book I'm going to hit apply and then the book property gets set and then there are no more properties because book hasn't been configured yet.

I do like the export standard markdown which gives you very clean MD files with like no fluff in it meaning that you can give it to other systems to convert and at some point I would hope that there become like more export things available because if the engines is new that's easier to hook into and then maybe get some conversion into and out of obsidian for example so that people that want to switch tools or people that want to give Loi a try could just import into Loi try it for a couple of weeks and Export it back to obsidian to go back and hopefully stti around but you know that's my buyers opinion as a frequent loek user.

Transcripts

play00:00

so if you're like me and you use loek a

play00:03

lot you might be wondering where is it

play00:05

all going you know what's going to

play00:06

change and maybe if you've been keeping

play00:08

your finger on the pulse you heard about

play00:10

something called the DB branch and what

play00:13

is that in this one I want to have a

play00:15

look at the future of Loi and what is to

play00:19

be expected there's a lot of good

play00:21

comments I got from the community about

play00:22

this I had a live stream a couple of

play00:24

weeks back and that also was like a

play00:26

really enlightening phase let's dive

play00:29

into it now while there are frequent

play00:31

updates with the chain clock videos I

play00:33

make for example it really feels like

play00:35

the core of Loi is kind of standing

play00:37

still a bit and that's because they are

play00:39

working on a big change in the

play00:41

background and normally in a company you

play00:44

couldn't see that but because Lo is open

play00:46

source we can actually go to the code

play00:48

and have a look at the branch where

play00:50

they're working at and get a bit of a

play00:52

feel where we're heading to and how

play00:54

we're going to get there now before I

play00:56

start this is all bleeding edge beta

play01:00

stuff we're looking into straight source

play01:02

code and that means that no account is

play01:04

taken on how your data is stored or how

play01:06

it's kept if you play around with this

play01:09

that's fine but don't put any data in

play01:12

there that you care about it will be

play01:14

eaten it will be

play01:15

swallowed and you'll you will lose it I

play01:18

won't put any production data in there

play01:21

I'm just messing around with where the

play01:22

code is at but one of the benefits of a

play01:24

development branch is that you can just

play01:27

toss everything away and start fresh you

play01:29

don't have to think about migrating data

play01:32

and that's why this warning is all the

play01:33

way in the beginning of the video it's

play01:35

cool stuff but we still have to wait for

play01:37

it now in this video I'm not going to

play01:38

show you how to build this code that is

play01:40

not beneficial for a lot of people this

play01:42

just shows you how it looks like when

play01:44

you did all the work if you do want to

play01:46

look into that angle I highly recommend

play01:48

the live stream I did a couple of weeks

play01:49

back where I was messing around with the

play01:52

actual database code now let's have a

play01:54

quick look at the source code so where

play01:55

did I find this or where does anybody

play01:57

find this actually and that is if you go

play01:59

to to GitHub and you go to the loek

play02:01

source code this is like all the code

play02:03

from loek which is awesome and then on

play02:05

the top here it says master and that is

play02:07

the master Branch that's the stuff that

play02:09

gets released to us normal end users but

play02:12

if you click on it you see like all

play02:13

these different names and that doesn't

play02:14

tell you a lot I mean it tells you a bit

play02:16

about what people are working on but it

play02:18

doesn't tell you a lot about where are

play02:20

we in this process now if I scroll all

play02:22

the way down you see here is view all

play02:25

branches and if you click on that then

play02:27

GitHub gives you some crucial

play02:28

information so first of all featuring DB

play02:31

is the one that we're going to look at

play02:33

you can see that you got like the master

play02:34

Branch here and this one says ahead 192

play02:38

commits that means that 19002 code

play02:40

changes were committed to this Branch

play02:42

this is way ahead normally it's like

play02:44

like something like this you like the

play02:45

this one 62 that's already a lot usually

play02:47

it's like 10 15 and then you merge it

play02:49

back in 1900 is a lot of work and I know

play02:52

that it's been constantly worked on

play02:54

every time I check this one it's updated

play02:56

at least a couple of hours ago it's

play02:58

really going well then the other one

play03:00

there the behind that's zero means that

play03:02

it's recently been merged with Master

play03:05

meaning that all the changes that are in

play03:07

this one are already in this feature DB

play03:10

effectively making this one-on-one with

play03:12

the production version but with added

play03:14

changes one thing that I wanted to show

play03:16

is that what happens is that basically

play03:18

there's this change here that happens

play03:20

for the database uh branch and then

play03:22

mouse keeps going and they move that

play03:24

change to here and this is like a

play03:25

separate change that says like this is

play03:27

what you should do to combine these two

play03:29

and they keep doing that over time it

play03:31

gets very technical if you let me um

play03:33

let's not but just know that what

play03:36

they're doing is something that

play03:37

developers do all the time but on a

play03:39

larger scale and that's because it's a

play03:41

big change and speaking of that big

play03:43

change let's dive into that now I wanted

play03:45

to answer two questions in this video

play03:48

first one is what is this work that

play03:50

they're doing and why does that take so

play03:52

long which is a more of a technical

play03:54

explanation on the changes that they're

play03:56

trying to make and how hard that is and

play03:58

the other one is of course what does it

play04:00

look like give you guys a sneak peek on

play04:03

on the future of loog seek and just like

play04:05

have a feel for it so let's dive into

play04:08

the first one and that is like okay

play04:09

what's this change that they're actually

play04:11

doing now to fully grasp this backends

play04:14

are hard and I want to explain a bit how

play04:16

that gets taken away when you're working

play04:18

on normal system so if you're using a

play04:20

web app like Gmail notion something like

play04:23

that uh then it's pretty easy you just

play04:25

talk to your web browser your web

play04:27

browser has a back end as an AB that

play04:28

talks to their dat base or server and

play04:30

they do all the fancy hard stuff on the

play04:33

back end they make the backups make sure

play04:34

that stuff's there and if they lose your

play04:37

data then you know it's on them you

play04:39

actually should be able definely if you

play04:41

pay them be able to call them and get it

play04:43

fixed um that doesn't work for loek

play04:46

because loek stores stuff locally so you

play04:49

get your actor your loek here and that

play04:52

stores in markdown files locally and

play04:54

then if you have sync well then there is

play04:56

an happy because then that syns the

play04:57

markdown F somewhere else but this

play04:59

initial part you don't need loek for

play05:02

that once you have the app you can do

play05:04

this forever basically unless you throw

play05:06

the app away and that does make it a lot

play05:09

trickier but also there's a limitation

play05:11

here in the form of

play05:13

markdown let me explain you see the

play05:16

problem with markdown is markdown is

play05:19

based for text formatting it's not based

play05:22

as a database or a structured setup and

play05:24

that means that if you start saving

play05:26

things like a block based system with

play05:29

property and links and all that other

play05:30

stuff in markdown you're kind of making

play05:33

things hard for yourself I also really

play05:35

don't like the whole discussion about

play05:37

like markdown not being totally

play05:39

compliant when it's produced by loek and

play05:41

stuff like that you have to make a

play05:42

choice here do you want pristine

play05:44

markdown files or do you want features

play05:47

and in my case I want features and what

play05:49

I want is that the way L seek stores it

play05:52

in the back end I don't really care

play05:54

about that too much as long as I'm able

play05:56

to read it there might be a lot of work

play05:58

there to get it out of there but as long

play06:00

as Loi also has like an xort as marked

play06:02

down with all without all the fluff

play06:04

around it that's fine by me that just

play06:06

means that the application that's what

play06:08

my system can be used to export that but

play06:10

currently the way loek is running is

play06:12

really stopping loek from performing

play06:15

Prime examples I have for that are if I

play06:17

open a second window I get into trouble

play06:19

because Loy doesn't understand that the

play06:21

second window is also making changes so

play06:24

I'm changing a page a totally different

play06:26

page in the other window and then the

play06:27

first window starts screaming because it

play06:29

like hey things gets changed on the disc

play06:31

I didn't understand that that are the

play06:33

kind of trouble that you have on the

play06:34

back end markdown nothing can tell the

play06:36

second screen hey this is a different

play06:37

screen that's working there these

play06:39

changes are fine you can import them and

play06:41

then it has to start asking questions

play06:42

and it all makes for a very bad

play06:44

experience added to that there's a lot

play06:46

of metadata that Loy can't save in

play06:49

between if they would then the markdown

play06:51

file will be six times as long it will

play06:53

be unreadable because like when was

play06:55

every line last updated who did the last

play06:58

update if we ever get to multi user

play06:59

that's a lot of problems to have and

play07:02

this new Branch tries to solve that and

play07:05

it isn't just the back end that's just

play07:06

how it's saves it's the engine so the

play07:09

engine is the stuff between you you're

play07:12

working in loek and it's writing stuff

play07:14

down now if the engine is good and at

play07:17

some point it works and it has a proper

play07:20

back end then a lot of the stability

play07:22

speed problems can be easily resolved

play07:25

and the engine for lookseek of course

play07:27

was written by someone who was

play07:29

intentionally starting out for just

play07:31

himself and then growing from there and

play07:34

this happens with a lot of software at

play07:35

some point they outgrow the initial

play07:37

thought like the initial thing was like

play07:39

built like this would be cool that would

play07:40

be cool but then you need like a broader

play07:42

plan and that means that you need to

play07:44

rewrite your engine and this is

play07:46

complicated now I'm going to give you an

play07:48

example in the form of your house now if

play07:50

you take your house as example if you

play07:51

live somewhere you make small

play07:53

improvements over time say for example I

play07:55

have one of those video doorbells at the

play07:58

door if I'm ever moving moving house and

play08:00

that's basically the same as when you're

play08:01

reiding an engine all these small things

play08:03

come back so the doorbell thing my

play08:05

automated lighting the fact that my

play08:08

oven's installed that my Wi-Fi is

play08:10

configured there's a 100 different

play08:12

things in my house that I fix while I'm

play08:14

going through time and loek having to

play08:17

rewi the engine basically has to make

play08:19

something that is compatible with all

play08:21

the things that they did before and then

play08:23

try and not iterate but like rewrite

play08:25

from scratch make like a more robust

play08:28

base to build on so this is a hard not

play08:31

to crack there's a lot of things that

play08:33

you have to keep in mind it's not just

play08:35

backwards compatibility it's also that

play08:36

you need to converted in the future you

play08:38

are going to piss off a couple of users

play08:40

cuz I'm pretty sure not everybody's

play08:41

going to be happy with the direction

play08:43

they take when they release it there

play08:45

also one of the reasons why they don't

play08:46

talk about it too much because until

play08:48

they're there the conversations won't be

play08:51

fruitful because a lot of people just be

play08:53

complaining that it's not marked down

play08:55

okay fair you know but that's a lot of

play08:57

things to take this is a big change and

play09:00

it shows when you're messing around with

play09:02

the new feature it's cool but it still

play09:04

needs some work mostly in things like

play09:07

for example speed because that's

play09:09

something you do later you start

play09:10

stability first and then speed second or

play09:13

maybe functionality first and then

play09:14

stability and then speed but those

play09:16

things all come and then ux so the

play09:18

interface all things that need to be

play09:19

happening and they all need to be done

play09:21

and they all need to be polished before

play09:22

you do this major release that to change

play09:25

everything and it's something I've been

play09:26

waiting on for a long time because it's

play09:29

kind of what edding my channel on on

play09:31

this way I'm talking Loi because I

play09:33

believe that once they have this out it

play09:35

will be a major change in what loic is

play09:38

and the speed in which it can grow and

play09:40

develop but even so once they make the

play09:42

new version conversion stability all

play09:45

these things need to be perfect because

play09:46

that means that there will be like a new

play09:48

Leaf a positive vibe so to say now when

play09:51

I was live streaming the messing around

play09:54

with the new version I also could do an

play09:56

export and it was like an SQL light

play09:58

export I did the export and then I was

play10:00

hugely disappointed to find out that it

play10:01

was a table with ID and one text field

play10:04

with like edn data in it which is a way

play10:06

of forting the stuff a large part of

play10:08

that disappointment comes from me being

play10:11

someone who's been at DBA for a while so

play10:12

I used to run databases and seeing that

play10:15

kind of data structur just makes me die

play10:17

a little inside it's just how I am given

play10:20

a night's sleep though it's not all bad

play10:23

actually it's like a nice quick way of

play10:25

working because the two most important

play10:27

things are is that you have the edn the

play10:29

data that can quickly be read by cler

play10:31

and Loi as a data structure and then the

play10:34

idea meaning that if Loi needs a

play10:35

specific block it can get it from SQL

play10:37

light this is like I would say uh

play10:40

minimum valuable product what we say in

play10:41

agile yes it would be nice if there were

play10:43

like different fields but that's more an

play10:45

export thing and not like a copy of the

play10:47

SQL DB I think if they do manage to work

play10:51

with this then there will probably be

play10:52

two versions one is like a full SQL

play10:54

database export and one would be the SQL

play10:57

DB export that is used in internally

play10:59

another big benefit of using this is

play11:01

that you no longer need to load

play11:04

everything that's a very important bit

play11:06

because now you need to have like the

play11:08

whole graph inside memory it needs to be

play11:11

in your system and that means that if

play11:12

you have a lot of notes like me and all

play11:15

this uncompressed data is floating

play11:16

around it starts to get bigger and

play11:17

bigger and bigger and slower as a result

play11:20

I haven't dove into the code but I

play11:22

assume that taking with this SQL and you

play11:25

can fetch elements you can also let go

play11:27

of things you can say like I don't need

play11:29

to read all these documents I can just

play11:30

fetch them as needed and other people

play11:32

can update it and I can see which one

play11:34

has been updated and when meaning that

play11:35

you can keep less memory Less in memory

play11:38

means that there's like less processing

play11:39

happening making it lighter on your

play11:42

system faster to work with so the

play11:44

database back end has a lot of benefits

play11:47

and I think that the only person that is

play11:48

actually really sad about it being edn

play11:50

are people that wanted to mess with that

play11:53

data a bit uh if that's you yeah it's

play11:55

too bad I I know you feel so what

play11:59

matters more to me is export and that

play12:01

means that I don't often work with the

play12:04

backend data of ly I work with what

play12:06

comes out of Foxy so the exports that I

play12:08

care about is can I export a block so I

play12:10

can put it in an email can I export my

play12:13

data into some type of markdown format

play12:16

that I can use if I no longer want to

play12:17

use Loi or use as a base to migrate to

play12:21

something else that will never be a

play12:22

oneon-one match there's too many

play12:24

variables too many features things that

play12:26

won't be compatible I know that nothing

play12:28

nothing was ever perfect when I moved

play12:30

all my stuff to notion it wasn't perfect

play12:33

when I moved from notion to lock seek it

play12:35

wasn't perfect it's never going to be

play12:37

perfect the thing is are you able with

play12:40

enough elbow grease to get stuff out cuz

play12:42

that's the stuff that I usually do I

play12:43

just do like a raw import it's not

play12:45

perfect you can see like the mistakes

play12:47

but I can find it with a contr F and I

play12:49

can fix it over time as I find the data

play12:51

cuz fixing the format thing I still see

play12:53

some old obsidian stuff in between when

play12:55

I'm working with my logi I have the data

play12:57

I didn't lose anything I just just lose

play12:59

2 minutes reformatting and making it

play13:01

nice and proper and then go on with my

play13:03

day so if export is good then the rest

play13:05

to me is like fine also uh one of the

play13:08

things that why I don't worry about the

play13:10

export M I have to software locally like

play13:13

I talked about things like you know the

play13:14

planned and um obsolescence or intific

play13:18

of cloud apps the problem with Cloud

play13:20

apps is that if NOA makes a new update I

play13:22

just have to accept it there won't be an

play13:24

old version of notion running around and

play13:26

that means that what happens with a lot

play13:28

of cloud apps they change over time and

play13:30

becomes harder and harder to exploit and

play13:31

eventually you're stuck in this program

play13:33

and this is much less the case with like

play13:34

Loi because while Loi could change you

play13:37

could always just keep using the old

play13:39

version before the change and then use

play13:41

that for half a year until you find like

play13:42

a suitable alternative you're not locked

play13:45

in like you are with a lot of cloud apps

play13:47

okay enough dry Fury how does this new

play13:50

version Look What are you actually going

play13:53

to see in the future now please keep in

play13:55

mind yes we're messing but it's a

play13:57

development version could be that have

play13:59

these features get removed before it get

play14:01

released I doubt it but you know things

play14:03

will change because they're trying to

play14:05

figure out what would be the best ux how

play14:07

to make it useful uh in the time that I

play14:10

messed with this Branch it's already

play14:11

changed a couple of times and I think in

play14:14

most cases for the better it became much

play14:16

more intuitive to use right so if we're

play14:19

having a look at this then you

play14:20

immediately will see that it looks a bit

play14:22

different yes the menu is still there um

play14:26

but for example here you have like ad NE

play14:28

graph database version so there's like a

play14:30

a clear indication that things are

play14:32

running side by side and you see like

play14:36

properties look different and we'll dive

play14:38

into each one of these a lot of this

play14:40

stuff is just stuff that I quickly build

play14:42

and because I run an Enterprise

play14:45

environment I look at it from a work

play14:47

perspective but I've also seen some

play14:49

really nice examples from people to do

play14:50

more of a research set um let's just go

play14:54

step by step through this and give it a

play14:56

feel first of all one of the the things

play14:58

that I really like is that if I make a

play15:01

block and I add like a tag to it then

play15:03

you get this like extra properties this

play15:05

is stuff that get added based on this so

play15:07

if I go to meeting it shows me here like

play15:09

hey these are the extra properties that

play15:11

I have like project attending summary if

play15:13

you click on those then you get like

play15:15

this whole bunch of details here so you

play15:16

give it a name you can give it an an

play15:18

icon for example in my case construction

play15:21

is what I always use this scen here and

play15:24

then I said like hey it should Point

play15:25

towards a page and then I can say like

play15:27

multiple pages and I also specify class

play15:30

and I really like this because that

play15:31

means that I can start building systems

play15:33

if I make like a meeting setup here and

play15:35

I go now back to this overview then this

play15:38

shows me only one page here that's

play15:40

because I only had one page that was

play15:42

marked as project so if I click on this

play15:44

you see this one it says like type

play15:46

project this is gamechanging for me

play15:48

because it means that un like what I

play15:50

used to do when I had like a meeting and

play15:52

I had like an attending and I had to

play15:53

fill in like all the different pages I

play15:55

could just filter through my whole Loy

play15:57

graph now if I click on it it just shows

play15:59

people so if I type one letter I usually

play16:01

get the person that I would need of

play16:03

course I don't yet because I can't use

play16:05

it in production this is the one thing

play16:06

that I missed the most during my workday

play16:08

and as you see it looks like really

play16:09

clean uh you can change it both here

play16:13

this name for the property is also

play16:15

Global so if you configure something

play16:17

like attending with page in person and I

play16:19

would make like a different type and I

play16:21

would say that one needs an attending as

play16:23

well then you'll re like inherent all

play16:26

these features which is nice I also like

play16:29

that the layout like I can give it items

play16:31

but they look the same as the text

play16:33

they're a bit brighter but this is like

play16:35

normal you know adding uh text to the

play16:37

bottom to it and then the properties are

play16:39

part of it and not like a separate block

play16:42

some formatting would be nice but that's

play16:44

something for later and probably a ux

play16:46

thing and if I fold it then it's like

play16:47

fully folded and the properties are no

play16:50

longer showing through another example

play16:52

here is tasks tasks are B based on the

play16:54

same thing and I really like seeing this

play16:57

part because that means that it's it's

play16:58

no longer task being like this unique

play17:00

thing now task is just a property and

play17:02

you can also configure it so I added

play17:04

effort for example to like give me up

play17:06

like okay how much effort is this going

play17:08

to be and if I click on it then you can

play17:10

say okay there's a text and I can give

play17:12

it choices so I can also say like hey I

play17:14

make like a low choice and I make like a

play17:17

high choice and once you do that and you

play17:19

go here and I click on effort then I can

play17:21

say like okay this is low effort uh I

play17:23

can give it a priority can I like this

play17:24

is high priority and you give all these

play17:26

things can get like their own icons

play17:28

these ones get can get colors so for

play17:30

example if you say like Hey low should

play17:32

have like some some kind of green thing

play17:35

I click on this one I go to Icon uh give

play17:37

me a second what loads I search on green

play17:40

said give it an apple do save and you

play17:43

see this and this is all like setting

play17:44

through it reminds me very much of super

play17:47

tags of Tana um I haven't messed with

play17:50

super tags recently so I don't know how

play17:52

close this is to it but it's something

play17:54

that I was really looking forward to

play17:55

seeing in loek eventually and I'm so

play17:57

glad that work on that that part is

play17:58

getting done I also like the fact that

play18:00

they didn't say like this is how tasks

play18:02

are supposed to be done will give you

play18:03

some really nice examples but from there

play18:06

on you can tweak it you can make your

play18:08

extra choices we'll just give you a base

play18:11

and then let you decide how you want to

play18:12

configure lock seek to fit your needs

play18:15

this idea just really Sparks Joy with me

play18:17

the fact that I could write something

play18:18

down and then say like this is a source

play18:20

and I can link it towards a topic and

play18:21

towards a URL meaning that once I want

play18:24

to talk about a certain topic I can just

play18:26

see all the sources I had with the URL

play18:28

to their original source and probably

play18:30

even use like an export or combination

play18:32

to generate my description from it this

play18:34

is going to save me a lot of time in the

play18:35

future and that's just me messing around

play18:37

with this for like 10 15 minutes and

play18:40

there's a lot of options when it comes

play18:41

to properties so let's take another one

play18:44

like the source one as you can see here

play18:46

like you can also make like a base from

play18:49

it it goes very fast but if you switch

play18:52

to the configure set it can say like a

play18:53

parent class so it can basically

play18:55

inherent stuff from other classes say I

play18:58

have a a person uh but I could also make

play19:00

like levels on that by saying like okay

play19:02

you have a person but you also have like

play19:04

a work person or something or I don't

play19:06

know I could have like a person and then

play19:09

you could have like a customer and an

play19:11

employee those are both persons and they

play19:13

could inherit some classes and you can

play19:14

move down it's a very programmatic

play19:17

approach but something I really like now

play19:19

you can give things like extra tags

play19:21

icons everything is tags like source is

play19:23

a tag uh you can see that if we look at

play19:25

the project in a bit and then the

play19:26

properties are here uh let me quickly go

play19:28

over the types of properties so let's

play19:31

say prop example so we get a new one if

play19:33

I click on that then the options here

play19:36

currently are text where you can also

play19:38

decide which type of text you can give

play19:40

it a number forcing it into a number but

play19:42

also that one has like available choices

play19:44

to it where you can give it specific

play19:46

values it's the same idea but just

play19:47

limits it to to text uh dates so you

play19:50

know simple put a date field uh you can

play19:53

add choices with like specific values to

play19:55

it but that doesn't really help a lot

play19:57

here I think I think it's mostly

play19:58

consistency and might be cleaned out if

play20:00

they get to a final version checkbox

play20:03

simple on off very nice to make things

play20:06

active inactive stuff like that URLs

play20:09

which are clickable uh yeah love that

play20:11

because that also means that you can

play20:13

have like repeating URLs which sometimes

play20:15

is useful and Pages this is the one I'm

play20:17

going to use most because here you can

play20:19

say hey I want a specific type of page

play20:21

and this is where like the whole ux

play20:23

comes in a bit like the the sizing

play20:25

doesn't work it works as expected like

play20:27

if I person here and I scroll down I

play20:30

find the apply button then it does what

play20:31

it does but there's still some ux things

play20:33

might be my browser might be the layout

play20:36

might be CSS which is always horror you

play20:38

can say if you want to hide it by

play20:39

default which I think is great so then

play20:41

on a page you don't get like 100

play20:42

properties if you don't want those and

play20:44

then we have template and I have no idea

play20:47

how this works I've been messing with it

play20:48

a bit and it shows you like hey which

play20:51

template do you want to use and you get

play20:52

like a button to say apply template I

play20:54

think that's the direction but I

play20:55

couldn't fully get it to to work what

play20:58

before this video I'm sure that's going

play21:00

to get better over time and there's

play21:01

going to be more information about that

play21:03

and there's also going to be more help

play21:04

like like these small eye that I see

play21:06

everywhere another thing that I really

play21:08

like is once you get this structure

play21:10

going that means that your graph

play21:12

suddenly becomes a bit more useful now I

play21:14

am going to make a video about graphs

play21:16

because I had some really good

play21:17

discussions with people about why graphs

play21:19

are useful and how they help out one of

play21:21

the things that you see here is that

play21:23

that all the things that I specified

play21:24

like persons projects topics cities

play21:27

these were all taged and configured

play21:29

stuff are elements and you can see like

play21:31

okay these are all my person elements

play21:33

these are all my projects uh one of the

play21:35

things it doesn't though is that if you

play21:37

put something in like a property and

play21:38

Link it this won't show up here so let

play21:41

me say for example example project here

play21:44

I'm the owner um but if you look in the

play21:47

graph there's no direct link between

play21:49

example project and me uh so I don't

play21:54

know if that's going to be fixed or if

play21:56

that's by Design the reason reason why

play21:58

Bob and me are linked for example here

play22:00

is because I put like some text in there

play22:02

saying like hey I make videos about Loi

play22:04

currently recording from Amish for and

play22:06

the same thing is in Bob where Bob the

play22:09

cat links to me and that's how the links

play22:12

got there but it makes the whole graph

play22:14

idea a lot more interesting loic itself

play22:17

here being a like a topic but not

play22:20

showing here because only DB here has

play22:23

the topic thing in it uh and loogi is

play22:25

more of a derivative from it while I was

play22:27

setting up this t test so now if you

play22:28

look at this you see like Loi is linked

play22:30

to loic DB and topic so it has like mult

play22:32

the colors to me immediately make a bit

play22:34

more sense I still think there there

play22:36

should be like more configurability here

play22:38

but I really like that how you see this

play22:40

dest structure in the new version kind

play22:41

of like solves the reason that this

play22:44

normally always became like such a mess

play22:45

on my end now to give you a feel on how

play22:48

easy it is to build these kind of

play22:49

structures I'm going to go and then make

play22:52

an extra structure in this case I'm just

play22:54

going to add like a book author setup so

play22:56

first of all I'm going to make a page

play22:58

and call it like project Hill marry

play23:00

empty page and go here and I'm going to

play23:02

say like hey this is a book I'm going to

play23:04

go here I'm going to go to Tags I'm

play23:06

going to say it's a book I'm going to

play23:09

hit apply and then the book property

play23:11

gets set and then there are no more

play23:13

properties because book hasn't been

play23:15

configured yet so if I go to book here I

play23:17

was messing a bit with the template I

play23:19

can go here and I can click on this go

play23:22

to properties and say for example well

play23:24

you know a book should have an

play23:26

author and next next to an auor maybe uh

play23:30

good reads link for me it's always very

play23:33

important good reads and maybe release

play23:37

year let's give it a year you know for

play23:41

total of it so I do something like this

play23:43

I go to author and I say with author

play23:46

like okay that's cool that's going to be

play23:47

page and I want to be able to have

play23:50

multiple cuz some books have multiple

play23:51

auor I want to say specified class and I

play23:54

want to link it to a person then scroll

play23:56

down a bit and find that apply button in

play23:59

the corner and then do the to the auor

play24:02

part is configured I can put like an

play24:03

icon on it then I get to the good reach

play24:06

one I say that one's a year row and

play24:08

let's put an icon in there as well let's

play24:11

see I think link and I'm going to go for

play24:14

year and then I'm just going to say that

play24:16

one's like a

play24:18

number set on there so filling this one

play24:22

in now if I go back to project Hill Mary

play24:24

and I say like this is a book I get a

play24:26

whole bunch of properties and then I can

play24:28

say like okay the author

play24:32

is and the rear and as you can see I get

play24:35

a new Option I can click apply and it

play24:38

gets created it's automatically marked

play24:40

as a person and so I can start filling

play24:43

in data I'm I'm going to put the good

play24:45

reads uh information in there but then

play24:47

again like if you get the nyw and this

play24:50

kind of setup where I'm just clicking on

play24:52

things and adding and then reusing

play24:54

elements that I already had that really

play24:56

like quickly means that it can build

play24:58

small structures and these things stay

play25:00

so like if I go to add a property as I

play25:02

said before like I had the attending if

play25:04

I use that

play25:06

one

play25:07

then you see the same setup I can only

play25:10

choose persons it's the the setting that

play25:12

I already had and only if I pick

play25:14

something it keeps it there because this

play25:16

is for the page and not for the

play25:19

book this I really like like I can

play25:22

quickly build structures and any

play25:24

structure I build comes back when I'm

play25:26

building structures meaning that it

play25:28

stops me from like scatter braining over

play25:31

my system and making all these new

play25:32

systems all the time I really hope it it

play25:35

grows into something that like keeps me

play25:37

more consistent okay then let's look at

play25:39

the export options those changed a bit

play25:42

but not much and there's also not a lot

play25:43

to see there's the export ssql light DB

play25:46

which is new I had a look at it it's

play25:47

just a key value store so it's an ID

play25:49

with like a long string which has the

play25:51

data in edn form yeah that just made me

play25:54

sad but I talked about that before I do

play25:56

like the export standard markdown which

play25:57

gives you very clean MD files with like

play26:00

no fluff in it meaning that you can give

play26:02

it to other systems to convert and at

play26:04

some point I would hope that there

play26:05

become like more export things available

play26:07

because if the engines is new that's

play26:09

easier to hook into and then maybe get

play26:11

some conversion into and out of obsidian

play26:14

for example so that people that want to

play26:15

switch tools or people that want to give

play26:17

Loi a try could just import into Loi try

play26:21

it for a couple of weeks and Export it

play26:22

back to obsidian to go back and

play26:25

hopefully stti around but you know

play26:26

that's my buyers opinion as a frequent

play26:28

loek user now that was a very quick skim

play26:31

over the future of loek and I think

play26:34

there are still things that I have on my

play26:36

wish list for this I think first of all

play26:38

tasks look nice but the way it's set up

play26:40

right now isn't as clean as the current

play26:42

setup I'm pretty sure that's a ux thing

play26:44

though and it's something that they'll

play26:46

fix like in the end by adding formatting

play26:48

for different types and classes which

play26:51

immediate falls into like the other one

play26:53

is like I would love to be able to

play26:54

format specific classes to look in a

play26:56

certain way sometimes you know you want

play26:58

like the list and that's fine enough to

play27:00

collect data but for some things you

play27:02

might want to have like a more condensed

play27:03

form or like a single line version which

play27:05

is with tasks for example easy like you

play27:08

want to have like a easy way of making

play27:10

this list queries work for that in a way

play27:13

but it would be nice if there was like a

play27:14

default so that also my journal makes

play27:16

like a nice tight bundle of easy to read

play27:19

text another one is like how will

play27:21

templates work and I have no idea but

play27:22

it's a ux thing so I'll probably just

play27:24

scour the design section of discorde to

play27:26

see what kind of ideas have been kicking

play27:28

around they are overhauling it for sure

play27:31

and that might be good because the

play27:33

templates as they are now are very

play27:35

confusing to people with the page

play27:37

templates and the block templates um

play27:39

with these super tags kind of

play27:41

functionality where you just tag a block

play27:43

and it will become something I think

play27:44

that's much closer to what the templates

play27:46

that we were looking for so looking

play27:49

forward to seeing what's happening there

play27:51

obvious ones stability and speed it

play27:53

already feels more stable in the data

play27:56

wise speed wise I don't know I had like

play27:58

a test version going that I really tried

play28:00

to put through his loops and that really

play28:02

didn't perform that well but as of

play28:04

course you first build your structure

play28:06

and then you start optimizing it by

play28:07

hitting it with low tests and then

play28:09

figure out where it's slow fixing that

play28:11

I'm building upon it I will definitely

play28:13

be running some load tests once it's

play28:14

ready for prime time which is

play28:16

unfortunately not now and of course more

play28:19

options for queries it's nice to have a

play28:20

table but I really want to have things

play28:22

like boards and calendars built into the

play28:25

core definitely with property Fields

play28:26

like du dates having a calendar view

play28:28

would be absolutely amazing and make my

play28:31

day oh that was a quick glimpse into the

play28:34

future of VX seek if you got any

play28:35

questions comments leave them down below

play28:38

in the comments I'll try and read

play28:39

everything and answer as soon as I get

play28:41

time or meet me on the Discord where

play28:44

we're having like discussions on ux and

play28:45

the database version as it's developing

play28:48

remember you're awesome keep it

play28:50

[Music]

play28:56

up

play28:59

[Music]

play29:03

oh look

Rate This

5.0 / 5 (0 votes)

Do you need a summary in English?