I'm a Mess, so I'm Making My Own File Organizer [TagStudio]

CyanVoxel
12 Apr 202423:32

Summary

TLDRこのスクリプトは、ファイル管理ソフトウェアの開発とその過程についての詳しい物語を語っています。当初はPythonスクリプトから始まり、プログラマ自身が求めていた理想的なファイル整理ツールが見当たらないため、独自のシステムを作り始めました。タグとメタデータの活用、そして検索エンジンの強力な組み合わせによって、ユーザーは複数のカテゴリーに属するファイルを効率的に整理・検索できるようになります。しかし、開発中に既存のソフトウェアであるEagleアプリを発見し、その機能と比較検討を行った結果、自分のプロジェクトに必要な特定の機能がEagleにはなかったと気づきました。この発見により、開発者は自分のプロジェクト「タグスタジオ」をさらに洗練し、Eagleと比較して独自の利点を強化することで、より良いユーザーエクスペリエンスを提供する可能性を見出すことができます。

Takeaways

  • 📂 タスクの短所:カテゴリーに分類しきれないファイルは困難を抱える。
  • 🏷 タグの活用:ファイルにタグを付けることでカテゴリーに依存しなくなり、柔軟性と直感的な検索が可能になる。
  • 📚 ネストされたタグ:親子関係を持つタグで、検索の際に親タグを通じて子タグも検索できる。
  • 🔍 属性値タグ:タグを属性として扱い、複数の親タグを持つことができる柔軟なタグ付け方法。
  • 🔗 ファイルとメタデータ:メタデータはファイル内に埋め込むか、ファイルと別々に管理するかの2つのアプローチがある。
  • 🚫 既存のファイル管理ソフトウェア:機能的な制約やプラットフォーム依存性、クラウドホスティングの制約がある。
  • 💡 タグスタジオの誕生:プログラミングによって自分専用のファイル管理ソフトウェアを開発し、カスタマイズ性と柔軟性を高める。
  • 🛠️ GUIのリファクタリング:tkinterの遅さに対処し、QTを使用して高速で応答性の高いGUIを構築。
  • 📈 進化するタグシステム:タグにエイリアスやサブタグを追加し、検索と整理をさらに効率化。
  • 🔗 タググループ:メタタグとコンテンツタグを分けることで、整理と分類を容易に。
  • 🔍 検索とフィルタ:高度な検索機能とタグパネルを使用して、大容量のデータに対して効率的にタグを追加・管理できる。

Q & A

  • なぜ主人公はゲームの夜に遅刻しましたか?

    -主人公は犬を餌いして、彼らがスパゲッティソースにぶつかって汚してしまったため、ゲームの夜に遅刻しました。

  • 主人公はどのようにしてファイル管理ソフトウェアの開発を始めたのですか?

    -主人公は2021年に、自分のニーズに合ったファイル管理ソフトウェアを見つけようとして、様々なオプションを検討しましたが、何も適切でなかったため、自分で開発することにしました。

  • タグとフォルダのアプローチの主な違いは何ですか?

    -タグはファイルに複数のカテゴリーを割り当てることができるため、フォルダよりも柔軟性があります。また、タグを使用することで、ファイルの複製を避けることができます。

  • ネストされたタグとは何ですか?

    -ネストされたタグは、他のタグの「親」として機能し、検索時に親タグを検索すると、その下の子のタグも含まれる結果が得られますが、逆は真ではありません。

  • 属性値タグシステムとは何ですか?

    -属性値タグシステムは、タグを属性と値として扱い、複数の親属性から値を継承できるようにします。これにより、タグをカテゴリーに限定する必要がなくなります。

  • 主人公が検討したファイル管理ソフトウェアの欠点は何ですか?

    -主人公が検討したファイル管理ソフトウェアは、タグ機能が不足していたり、クロスプラットフォームでなかったり、クラウドにすべてのものをホストする必要があったり、AIアルゴリズムにファイルを使用する可能性があったりするなど、主人公の要件を満たしていませんでした。

  • サイドカーファイルとは何ですか?

    -サイドカーファイルは、メインファイルとともに移動し、そのファイルのメタデータを格納する小さなテキストファイルです。これにより、ファイル自体にメタデータが含まれていない場合でも、メタデータを保持できます。

  • タグスタジオ(Tag Studio)の名前の由来は何ですか?

    -タグスタジオは、主人公が開発するアプリケーションの名前で、そのアプリケーションがタグ機能を強化し、ファイルのメタデータ管理を向上させるための力を持っていることを反映しています。

  • タグスタジオはどのようにしてタグを管理するのですか?

    -タグスタジオでは、タグはフルネーム、省略名、エイリアスリスト、サブタグリスト、およびスタイルのための色で構成されます。また、タググループを使用して、タグを整理し、カテゴリーとして適用することができます。

  • イーグルアプリはどのような特徴を持っていますか?

    -イーグルアプリは、参照画像の整理に特化していますが、オーディオファイルやPSDプレビューなど、さまざまなファイルタイプをサポートしています。また、ウェブクリーパープラグインやサイドカーファイルによるメタデータ管理など、高度な機能を持っています。

  • 主人公はなぜタグスタジオの開発を続ける予定ですか?

    -イーグルアプリが優れた機能を持っていっても、主人公が望む機能のすべてをカバーしていないと感じたため、タグスタジオの開発を続ける予定です。また、主人公自身のプログラムはカスタマイズ性が高いため、自分に合った機能を追加し続けることができます。

Outlines

00:00

📂 ファイル整理の悩みと解決への道

この段落では、話者は自身のファイルと写真の管理に悩んでいたことを明かしています。彼は2021年に多种ある整理方法を探し始め、どの方法も自分に合わなかったため、自分で写真とファイルの管理ソフトウェアを開発することに決めました。彼のソフトウェアは、単純なPythonスクリプトから強力なファイル組織ツールへと進化し、途中で技術的な制限やプロジェクトの疑問に直面しましたが、最終的に目指したシステムを作り上げたという過程を説明しています。

05:01

📁 フォルダの限界とタグの力

この段落では、話者は伝統的なフォルダ方式の欠点と、タグを用いた新しい方法の利点を説明しています。彼は、フォルダ方式では複数のカテゴリーに属するアイテムを整理するのが困難であり、重複创建が避けられないという問題を指摘しています。その対照として、タグを用いることで、アイテムに自然な説明を付けることができ、検索も直感的になります。さらに、ネステッドタグや属性値方式のタグを使って、より柔軟な整理が可能なシステムを構築することができました。

10:04

🔍 既存のソフトウェアとサービスの調査

この段落では、話者は、既存のソフトウェアやサービスを調査して、自分のニーズに合ったものを見つけたものの、全ての要件を満たすものはなかったことを述べています。彼は、メタデータの管理やタグ付け機能、クロスプラットフォームのサポートなど、様々な要素を求めていました。しかし、WindowsのFile ExplorerやMacのFinder、Linuxのファイルマネージャー、Adobe Lightroom、Google Photos、Samsung Galleryなどの人気のあるツールには、彼の要件に合ったものは見つかりませんでした。

15:06

🛠️ 独自のソリューションの開発

この段落では、話者は、自分の要件に合ったツールが見つからないため、自分でソリューションを開発することに決めた経緯を説明しています。彼はPythonとtkinterを使って最初のプロトタイプを作りましたが、次第にtkinterの制約を感じ、QTにリファクタリングしました。彼は、属性値方式のタグシステムを開発し、タグの柔軟性や検索能力を向上させるために、タググループの概念を導入しました。

20:06

🦅 Eagleアプリとの出会いとこれから

この段落では、話者は、自分の開発プロジェクトと非常に類似したEagleというアプリケーションに出会ったことを報告しています。Eagleは、参考画像を整理するためのツールとして設計されており、様々なメディア形式をサポートしています。しかし、Eagleがタグシステムの柔軟性や特定のファイルタイプのサポートなどに欠けていることに気づき、自分のプロジェクトを続けることにしました。また、Eagleとの違いを強調し、将来の機能拡張やプラグイン開発の可能性についても言及しています。

Mindmap

Keywords

💡ファイル管理

ファイル管理とは、コンピュータ上でファイルとフォルダーを整理し、検索しやすくすることです。このビデオでは、ファイル管理ソフトウェアの開発について語られており、開発者が自分専用のシステムを作り上げたプロセスが紹介されています。

💡タグ

タグは、ファイルやフォルダーに付けられるラベルで、コンテンツを分類し、検索を容易にします。ビデオでは、タグの活用方法と、属性値タグシステムの開発が語られており、ファイルのカテゴリー化を柔軟に行うための重要な要素です。

💡Python スクリプト

Python スクリプトとは、Python というプログラミング言語で書かれたスクリプトのことです。ビデオでは、開発者がPython スクリプトを使ってファイルとタグを接続するシンプルなプログラムを作り始めたと語られています。

💡GUI

GUIとはGraphical User Interfaceの略で、ユーザーがコンピュータとやり取りするためのグラフィックインターフェースです。ビデオでは、開発者がTkinterとQTを使ってGUIを構築し、ユーザーフレンドリーな操作を実現していると説明されています。

💡メタデータ

メタデータとは、データに関するデータであり、ファイルに関連する情報(タイトル、説明、追加メモなど)を含みます。ビデオでは、開発者が中央データベースを通じてファイルのメタデータを管理し、検索性を高める方法を探求しています。

💡クロスプラットフォーム

クロスプラットフォームとは、複数の異なるオペレーティングシステムで動作するソフトウェアのことを指します。ビデオでは、開発者が作ったソフトウェアがクロスプラットフォームであることが強調されており、幅広いユーザー層が利用できることを示しています。

💡カスタムタグ

カスタムタグとは、ユーザーが自由に作成できるタグのことです。ビデオでは、開発者がタグシステムを強化し、カスタムタグを導入することで、ユーザーが自分のファイルをより柔軟に分類できるようにと述べています。

💡属性値タグシステム

属性値タグシステムとは、タグを属性と値として扱うシステムで、複数のカテゴリーに属することができる柔軟性を提供します。ビデオでは、開発者がこのようなシステムを導入し、タグの力をさらに広げる試みが語られています。

💡サイドカーファイル

サイドカーファイルとは、メインファイルと関連付けられた小さなテキストファイルで、メタデータを保存するために使われます。ビデオでは、開発者がサイドカーファイルを避けたいと考えている理由と、その代わりの方法について語られています。

💡Eagleアプリ

Eagleアプリとは、参照画像を整理するためのツールであり、ビデオでは開発者が自分のソフトウェア開発と比較して評価しています。Eagleはマルチメディアファイルのサポートやプラグインシステムを持ち、開発者のプロジェクトに対するインスピレーションを与えています。

💡Obsidian

Obsidianは、知識管理ソフトウェアで、ノートとファイルを整理・リンクさせる機能を持つクロスプラットフォームアプリケーションです。ビデオでは、Obsidianとの互換性や統合の可能性について触れられており、開発者がObsidianと自分のソフトウェアを組み合わせるアイデアを探っています。

Highlights

The speaker has developed a personal photo and file management software over several years, evolving from a simple Python script to a full-fledged system.

The software development process involved rethinking file storage and retrieval methods and rebuilding the program from scratch due to technical limitations.

The project aims to create a system that can categorize and retrieve files more efficiently than traditional folders.

The concept of using tags instead of folders is introduced, allowing files to be classified under multiple categories without duplication.

The potential of nested tags is discussed, which can create a parent-child relationship between tags, although it has its limitations.

An attribute-value method for tags is proposed, allowing for multiple inheritances of tag attributes and more flexible categorization.

The speaker explored various file organization methods and software, identifying their pros and cons, such as Windows File Explorer, Mac OS Finder, and Linux file managers.

Dedicated photo management programs like Apple Photos, Google Photos, and Adobe Lightroom were evaluated for their organizational capabilities.

The limitations of current metadata standards like EXIF and XMP for custom metadata were discussed.

The use of sidecar files for metadata storage was considered but rejected due to the risk of files getting lost when moving files manually.

The development of a custom tagging system called Tag Studio is detailed, which includes subtags, aliases, and a color-coding system for tags.

Tag Studio allows for the creation of tag groups or categories, and the application of tags to these groups for streamlined organization.

The speaker discovered Eagle, a similar program to Tag Studio, which offers a wealth of features including a web clipper and support for various file types.

Despite the similarities, Tag Studio has unique features like subtags and aliases, and the speaker's personal customization options.

The speaker plans to continue developing Tag Studio, incorporating inspiration from Eagle and focusing on features beyond Eagle's capabilities.

Tag Studio's approach to file management allows for compatibility with other software like Obsidian, enabling integration possibilities.

The speaker invites feedback and suggestions from the audience for additional features they might want to see in Tag Studio.

Transcripts

play00:00

hey where you been at man we're all

play00:02

ready for game night yeah sorry I'm late

play00:04

I was feeding the dogs and they bumped

play00:06

into me and knock spaghetti sauce all

play00:08

themselves oh wait I have the perfect

play00:10

image for this where did I oh oh no

play00:18

no back in 2021 I started really looking

play00:22

through all my options for how to get

play00:23

this sorted out was there a magic folder

play00:26

organization method that would help me

play00:27

find things quicker could I take advant

play00:30

AG of some hidden file properties to add

play00:31

in my own extra data would I just need

play00:34

to find some other piece of software

play00:35

that would help me organize my photos

play00:37

and files did anything that could really

play00:39

do what I want even exist after all the

play00:42

options out there just really seemed not

play00:43

to fit me I decided to take things into

play00:45

my own hands and slowly started working

play00:48

on my own piece of photo and file

play00:50

management software over the past few

play00:52

years it's gone from a simple python

play00:54

script that connected words with photo

play00:56

file names on my hard drive to a

play00:58

full-blown file organization

play01:00

Powerhouse this journey hasn't been

play01:02

without its twists and turns though from

play01:04

fundamentally rethinking how I go about

play01:06

storing and retrieving files to

play01:08

rebuilding this program from scratch

play01:10

more than once after running into

play01:12

technical limitations to even

play01:14

questioning the entire project after a

play01:16

recent discovery today I'm going to take

play01:18

you through all that and show just

play01:20

exactly what I've been trying to build

play01:21

here this is the search for the perfect

play01:23

file organizer the development of my own

play01:25

program in the process and everything in

play01:27

between

play01:34

folders kind of suck at its core this

play01:37

project has been about sculpting a great

play01:39

system first and then using or building

play01:41

software to bring those ideas to life

play01:44

unless you were born in the late naughty

play01:45

aies your first idea when it comes to

play01:47

organizing files and photos on your

play01:49

computer is probably going to be folders

play01:51

they're the simple classic way to

play01:53

organize your stuff into distinct

play01:54

categories they work great for a lot of

play01:56

things but have some serious

play01:58

shortcomings

play01:59

oh hello there here this file in

play02:02

particular is a photo of this cat this

play02:04

is important it will come up later

play02:07

folders can basically do one of two

play02:09

things they can either contain files or

play02:11

contain other folders actually if you

play02:14

use symbolic links you can actually link

play02:16

to other files virtually no I'm not

play02:18

talking about Sim links in this video

play02:20

actually I'm not trying to scare off my

play02:21

new audience they're probably already

play02:23

about to click off once they realize

play02:24

it's not an obsidian video that's why

play02:26

I'm cracking jokes and waving pictures

play02:27

of cute cats on the screen

play02:30

uh yeah uh where was I folders are about

play02:32

as Bare Bones as you can get you can use

play02:34

them to create categories and

play02:35

subcategories but whatever you want to

play02:37

store in them has to fall under one of

play02:39

those categories if you're trying to

play02:41

store something that falls into more

play02:42

than one then you're pretty much out of

play02:44

luck you could start duplicating folders

play02:47

or even start duplicating your files in

play02:49

order to force things to work for you

play02:51

but having to resort to any sort of

play02:52

duplication like that is a sign that

play02:54

there's probably something wrong with

play02:56

the system you're using but what if we

play02:59

took the idea of categories and flipped

play03:01

it on its head what if instead of trying

play03:03

to place a photo or file into a series

play03:04

of siloed categories we brought the

play03:07

categories to the file this is where the

play03:10

power of tags come in don't try to place

play03:12

our picture of the cat into separate

play03:14

cats or creatures folders but instead

play03:16

the tags build a natural description of

play03:18

it it's tagged both a cat and a creature

play03:21

no need for crazy subfolders or wasteful

play03:23

duplication let's go ahead and tag this

play03:25

cute too oh look at the little guy tags

play03:29

not only make it easier to classify your

play03:30

files but they make it even quicker and

play03:32

more intuitive to find them later just

play03:34

search for the tags you want in the

play03:36

first place instead of sifting through

play03:37

different possible folders now we're

play03:40

getting somewhere but what if I told you

play03:42

the tags can have even more power than

play03:44

this some programs out there like

play03:46

obsidian for example support what are

play03:48

called nested tags this enables you to

play03:51

put some tags Under the Umbrella of

play03:52

others in a sort of parent child

play03:54

relationship when searching for the

play03:56

parent tag you'll also get results for

play03:58

any child tags under that

play04:00

but not the other way around this lets

play04:02

us cut down on the number of tags needed

play04:04

in order to fully describe a file in

play04:06

addition to reducing confusion between

play04:08

tags created with a single name but are

play04:10

meant for different situations now while

play04:13

Nesta tags are already in improvement

play04:15

over regular tags they could be even

play04:18

better nested tags have some limitations

play04:20

of their own one is that they can only

play04:22

have a single lineage of ancestor tags

play04:25

if a tag could fall under more than one

play04:26

parent tag you're basically out of luck

play04:28

again because could we fix this the same

play04:30

way we fix this folder problem yes we

play04:33

can and as it turns out I'm only at

play04:35

least the second most insane person

play04:37

alive to dive this deep into studying

play04:38

data organization systems like this

play04:41

without getting too lost in some

play04:42

hardcore data science by using something

play04:45

called an attribute Value method of

play04:46

creating tags where in this system tags

play04:49

are treated as both attributes and

play04:51

values we can basically tag our tags

play04:53

with other tags and as much as we

play04:57

want see this guy he's from One Piece

play05:00

the anime or well the manga technically

play05:04

well both see if I'm using a nest tag

play05:07

then I kind of have to choose is one

play05:09

piece of manga or an anime when I really

play05:11

could be talking about either or both

play05:14

but with attribute value style tags were

play05:16

no longer limited to having to choose a

play05:18

single parent category for all my

play05:20

programmers out there you can think of

play05:21

this as a type of multiple inheritance

play05:23

the child tag inherits its values for

play05:26

multiple parent attributes lovely are

play05:29

you getting it by using these kinds of

play05:31

tags we can create a single tag that

play05:33

makes up the bulk of our categorization

play05:35

with e paired with a powerful search

play05:37

engine and finding our original files

play05:39

will be just as easy even if I forget

play05:41

some of the finer details of the image

play05:43

or file I'll still be able to narrow it

play05:45

down in a way that folders could never

play05:47

offer so we've got the base of our

play05:49

system that we want now let's take a

play05:51

look at what's out there then my

play05:52

helpless maker attacking dreams come

play05:54

true back when I first started searching

play05:56

for good solutions to this my standards

play05:59

were a lot lower I just wanted something

play06:01

with any kind of tagging something that

play06:03

was crossplatform and they didn't want

play06:04

to host all my stuff in their cloud or

play06:06

rub their eyes all over my files in

play06:08

order to train their AI algorithms this

play06:10

was back in 2021 too mind you before I

play06:13

jump straight into looking for any

play06:14

dedicated software or Services I wanted

play06:16

to see if there's any sort of Industry

play06:18

standards for keeping track of extra

play06:20

information or metadata along with

play06:22

regular files this way I might be able

play06:24

to stick to using a simple file manager

play06:26

increasing the portability and future

play06:28

proofness of the system

play06:30

as far as standards go there's two main

play06:32

schools of thought when it comes to this

play06:33

storing data inside the file or storing

play06:36

data alongside the file first there's

play06:38

the idea of embedding custom metadata

play06:40

right in files themselves most popular

play06:43

media file types have some sort of way

play06:44

to do this and typically rely on one of

play06:47

two easily hard to- remember acronyms

play06:49

xif and XMP I really won't go into too

play06:52

much depth with these but here's the

play06:54

gist of what they do and why they fail

play06:56

to please me exf is most commonly used

play06:59

by cameraman manufacturers to store

play07:00

information like the f-stop exposure

play07:02

time ISO speed location data and more in

play07:05

the file it's great for well exactly

play07:08

that but not a great option if you have

play07:10

your own custom fields that you want to

play07:12

add XMP on the other hand gives you some

play07:14

more freedom when it comes to user

play07:16

created tags and Fields the biggest

play07:18

shortcomings of these standards though

play07:19

are their limited file type

play07:21

compatibility and their ease of use or

play07:23

lack thereof XMP is probably the closest

play07:26

there is to an existing standard that

play07:28

would fulfill what I'm looking for but

play07:30

with everything it would take to use it

play07:32

I'm kind of just better off creating my

play07:33

own system for managing metadata without

play07:35

worrying about making sure it was

play07:36

backwards compatible with some

play07:38

photographers aging copy of Photoshop on

play07:40

their Windows XP laptop from 20 years

play07:42

ago luckily there's a way around files

play07:44

that don't support this kind of metadata

play07:46

being crammed into them sidecar files

play07:48

are little text files that ride along

play07:50

with a main file and store all of its

play07:52

metadata for it how consider it they

play07:54

typically name something similar to the

play07:56

main file and are meant to be kept in

play07:58

the same directory at all times XMP

play08:00

actually supports keeping data inside of

play08:01

sidecar files instead of baking it

play08:03

directly into the files themselves this

play08:05

has the added benefit of keeping your

play08:07

personal metadata separate from your

play08:09

files in the event of sharing them with

play08:10

other people the big issue with sidecar

play08:12

files though is that they can get lost

play08:14

easily when you manually move your files

play08:16

around for me personally just this

play08:18

awkwardness alone is pretty much a deal

play08:20

breaker when it comes to these things oh

play08:22

my God just pick something so XF is out

play08:26

and I'd rather use something better than

play08:28

XMP Sidecar files just lower your

play08:31

standards Heck if I even did go down the

play08:33

XMP route I'd still be limited to

play08:35

whatever file manager or specialty

play08:36

software I'd be using so while keeping

play08:39

that nice taging system that we want in

play08:41

mind let's take a look at how the big

play08:42

file manager and photo gallery programs

play08:44

stack up Windows File Explorer Pros I'm

play08:49

already using it it's crossplatform if

play08:52

you consider folders to be crossplatform

play08:54

it's compatible with all files cons no

play08:58

native tag support whatsoever ever the

play09:00

search is slow it keeps glitching out on

play09:02

me it keeps doing the green load thingy

play09:05

all right this it's just a bit Bucky in

play09:06

my experience Mac OS finder Pros again

play09:11

folders are crossplatform I guess and it

play09:13

technically works with all file types

play09:16

plus it actually has some native tag

play09:18

support but the tags are Global and the

play09:21

tags are only crossplatform between iOS

play09:23

editor's note here just wanted to add I

play09:25

don't really want every tag I create to

play09:27

be in a global pool but rather separate

play09:29

by something like a vault or Library

play09:31

System I know it's another Wrinkle In

play09:33

The Fold but I just don't like the idea

play09:35

of sensitive tags just showing up

play09:37

everywhere I don't want to see my tax

play09:38

information when to tag in Taco recie

play09:40

you know dolphin the Linux file manager

play09:43

from KDE same folder benefits works with

play09:46

all files also has its own native tag

play09:49

support but like Mac OS the tags are

play09:51

Global the tags aren't crossplatform at

play09:53

all and the tags can be lost if you're

play09:55

not careful the give and take of Linux

play09:58

okay what about programs just for photos

play10:00

then Apple photos and iCloud Pros it's

play10:04

crossplatform it has albums and it has

play10:07

folders but for some reason you can't

play10:09

add existing albums to folders on iOS I

play10:12

don't understand why they made it like

play10:13

this at all I'll mention this now but

play10:16

depending on the program albums can

play10:17

behave strictly like folders or sort of

play10:20

tag- likee categories allowing for the

play10:22

same photo to be in multiple albums at

play10:23

once for the purposes of comparing these

play10:26

in my own sanity I'm going to assume

play10:28

that you can add the same photo photo to

play10:29

multiple albums in all of these cons

play10:31

include it only works with photos and

play10:33

videos gee didn't see that coming no

play10:36

tags crossplatform functionality

play10:38

requires their Cloud doesn't work great

play10:41

on Windows or Linux can't put existing

play10:43

albums into folders and these days AI

play10:46

scanning could be applied to your

play10:47

library at any time without your consent

play10:50

Google photos Pros include crossplatform

play10:55

is it's web based it has albums which is

play10:59

honestly more than I remember it having

play11:01

cons include pretty much requires a

play11:03

subscription it used to be free in that

play11:05

regard Cloud only AI search only no tags

play11:11

no folders no focus on user organization

play11:14

whatsoever I used to use Google photos

play11:16

but then it got me so frustrated that I

play11:18

started this project in the first place

play11:20

all right reeling it back in Samsung

play11:23

gallery Pros include it actually has

play11:26

tags but not in the secure folder it

play11:29

used to have this and then they kind of

play11:30

took it away out of nowhere I feel like

play11:32

I'm one of three people in the world who

play11:33

noticed this anyway it has albums it has

play11:37

album groups or folders cons include

play11:40

well it's a not crossplatform pretty

play11:43

much uh just Samsung phones really not a

play11:46

uh desktop app oh and I hope you don't

play11:49

lose all your tags in an update that

play11:51

would just be tragic wouldn't it Adobe

play11:54

Lightroom turns out there's a whole

play11:56

organization side of this program that I

play11:57

didn't even know about Pros include it

play12:00

has folders it has albums it has tags it

play12:04

has tag groups it has custom metadata

play12:08

and it's crossplatform and cross desktop

play12:10

cons include it's photo focused

play12:13

understandably it's a paid

play12:16

subscription and it's Adobe thanks

play12:20

Adobe here's an interesting one that

play12:22

came up early in my research tag spaces

play12:25

Pro I'm also realizing now that I may

play12:27

have come up with a similar name for my

play12:29

program Pros include it has folders it

play12:32

has tags I mean it better with a name

play12:34

like that works with all files it's

play12:37

crossplatform on desktop has an open

play12:40

source tagging format allows for custom

play12:42

metadata and it has a freaking Web

play12:45

Clipper how cool is that the cons

play12:47

include it is paid either a subscription

play12:50

or a one-time purchase and uh well the

play12:53

tagging system is literally just putting

play12:55

the text of the tag in the file names

play12:58

themselves and if you weren't aware file

play13:01

names on operating systems usually have

play13:03

a pretty small character limit although

play13:05

to be fair they do have an alternative

play13:07

system to this that uses sidecar files

play13:09

instead although you know how I feel

play13:11

about sidecar files at this point oh

play13:14

wait where the other half of the graphic

play13:15

go did it get lost in the transition

play13:17

dang it while some of the previous

play13:19

options seemed decent nothing I could

play13:21

find out there completely checked off

play13:23

everything from my list and if I was

play13:25

going to put all this time and effort

play13:26

into switching to a new program or

play13:28

service to essentially organized my life

play13:30

I didn't want it to be suddenly shut

play13:32

down one day or start charging me a

play13:34

subscription or do anything nefarious

play13:36

with my personal data now as a

play13:38

programmer myself this is when I began

play13:40

to have my Thanos moment and started

play13:42

just doing things myself thus began the

play13:45

construction of my dream solution it all

play13:48

began as a humble python script I knew

play13:51

from the very beginning that I wanted a

play13:52

central database that held all the tags

play13:54

and additional metadata for files inside

play13:56

it no sidecar files and no trying to

play13:59

embed the metadata into files that could

play14:00

even support it this would allow me to

play14:02

have greater flexibility when moving

play14:04

files around outside of the program as

play14:06

well as gaining the ability to have

play14:07

multiple vaults or libraries that

play14:09

contain different sets of tags for

play14:11

different purposes up to this point I've

play14:13

been using python along with tiinder to

play14:15

create a simple GUI I chose these

play14:18

because I wanted something that was

play14:19

crossplatform and JavaScript plus

play14:21

electron was giving me some headaches

play14:22

when it came to Native file access I've

play14:24

already used tkinter as a front end for

play14:26

some small projects in the past so I

play14:28

just went ahead using it for this as

play14:29

well it was during this time I developed

play14:31

my attribute value tag system this is

play14:34

when I gave the app a new name to better

play14:35

reflect its Growing Power and potential

play14:38

tag studio also tagbox was pretty

play14:40

generic and apparently taken by

play14:42

something similar around the time I

play14:44

started implementing the custom tags

play14:45

though things started to get sluggish

play14:48

tkinter went from being a tool to an

play14:51

obstacle the draw times were just

play14:53

becoming too slow for a photo library

play14:55

with a dynamic interface and the

play14:57

consensus online yeah that's just teer

play15:00

use something else instead so I did what

play15:03

every programmer dreams of doing

play15:05

refactoring and starting over from

play15:07

scratch oh the joy I just went to work

play15:11

building a proper GUI using QT this time

play15:13

around now I developed the metadata

play15:15

system into something unlike I'd ever

play15:17

seen before let me show you exactly what

play15:19

it's like now besides seeing some

play15:21

relevant metadata built into the file

play15:23

itself you can add pretty much any kind

play15:25

of userdefined metadata you want to the

play15:27

entry you want a title for the image

play15:29

sure you want to add a description of it

play15:31

of course some additional notes oh yeah

play15:34

an artist how about two might be a

play15:36

collaboration and this hasn't even

play15:38

gotten to the tags yet tags themselves

play15:40

are made up of a full name a shorthand

play15:42

name a list of aliases a list of subtags

play15:46

and a color for style usually the names

play15:48

of the tags are displayed as their full

play15:50

name followed by the first parent tag

play15:52

shorthand in parenthesis for

play15:53

clarification against other tags with

play15:55

the same name both names as well as

play15:57

everything in the Alias list are used to

play15:59

help you find the tag without needing to

play16:00

remember the exact name or spelling of

play16:02

it this is in my opinion a GameChanger

play16:06

when it comes to being able to search

play16:07

through your media you may have also

play16:09

noticed that instead of directly tagging

play16:10

the entry I've decided to create these

play16:12

groups or categories the tags can then

play16:15

be applied to by default I had groups

play16:17

for metat tags and content tags which in

play16:19

my experience helps separate the

play16:21

different circumstances of tagging for

play16:23

Clear organization actually let me show

play16:25

you an example of a metatag you're

play16:27

probably familiar with some sort of

play16:28

favoriting or liking system from

play16:30

different programs and websites and tag

play16:32

studio is no different instead of making

play16:34

a favorite act as another bit of

play16:36

information though marking an entry as a

play16:38

favorite actually adds the favor tag

play16:40

Under The Meta tag group so why the heck

play16:43

would I do it this way what's the point

play16:44

of adding this extra layer when thinking

play16:46

about what a favorite is really it's

play16:48

just a category that you're applying to

play16:50

a piece of content just like a tag and

play16:52

if a favor is just a tag then why not

play16:54

give it full access to the power of our

play16:56

tagging system now you can have other

play16:58

tags and inherent from the favorite tag

play17:00

or apply whatever aliases you want to it

play17:02

the same goes for the archive tag both

play17:04

of which I've given special easy access

play17:06

badges on every

play17:08

thumbnail as I've alluded to or tried to

play17:10

brush over this whole thing isn't

play17:13

exactly finished yet I've been working

play17:16

at a slow pace on purpose for it but

play17:18

also feature creep has slowly set in

play17:20

causing me to keep pushing off a final

play17:22

release there's a few little things left

play17:23

that need to be in here for a public

play17:25

release and then some big features that

play17:27

will make the program much more usable

play17:29

probably the biggest feature I've yet to

play17:31

implement that I know I want in the

play17:33

initial release is a cleaned up and

play17:35

Powerful way to add tags in bulk right

play17:37

now I'm planning on adding a series of

play17:39

tag focused side panels that can always

play17:41

be open or out of your way if you wish

play17:43

these include a tag search panel a

play17:46

recent tags panel a top tags panel and a

play17:49

pin tags or tag pallet panel tag pal

play17:52

yeah no way I'm calling it that combined

play17:54

with a good multi- selection system I

play17:56

want you to be able to bulk add tags

play17:58

based on any or all of these common

play17:59

metrics you'll also be able to copy and

play18:01

paste data from one entry to another or

play18:03

multiple others all that is probably

play18:06

going to take the longest to implement

play18:07

though and I came up with the ideas

play18:09

before switching to the whole tag groups

play18:11

concept so I'll need to Workshop some of

play18:12

the finer details over

play18:15

time all right while doing my research

play18:18

for this video I came across something

play18:20

new something that as a programmer or a

play18:23

YouTuber you never want to see that is

play18:27

the exact Pro that you've been working

play18:29

on already done by someone else how did

play18:33

I not find this program before Color Me

play18:37

surprised when among some YouTube

play18:39

results for tax spaces Pro I found a

play18:42

video for something called Eagle app or

play18:44

just Eagle eagle. cool I'll just call it

play18:47

Eagle here at first glance it's

play18:50

extremely similar to this tag studio app

play18:53

I've been developing in the background

play18:54

it's got the grid of images and files in

play18:56

the center it's got the right SI panel

play18:59

with all the metadata fields and worst

play19:01

yet it's kind of just better than mine

play19:04

in a lot of ways it's got this Web

play19:06

Clipper plug-in that you can use to

play19:08

instantly import posts and files into

play19:10

your library it has native support for

play19:12

audio files and waveform previews it's

play19:15

got this fancy flow layout option in the

play19:17

middle that I'll be honest I wanted in

play19:19

tag Studio from the beginning but it's

play19:21

pretty difficult to do that in a

play19:23

performant way in QT and python so

play19:26

that's when I realized I needed to stop

play19:28

take a step back and think over my

play19:30

options was this just the endgame of

play19:32

everything that I have been planning

play19:34

should I just throw my program aside

play19:36

toss over the $29.95 onetime purchase

play19:39

it's not even a subscription and embrace

play19:42

my new Eagle life honestly I could Heck

play19:45

if you're someone who's looking for what

play19:47

seems like a great file organization

play19:49

solution I'd even recommend giving this

play19:51

thing a look somehow there's only what

play19:53

less than like a dozen videos on YouTube

play19:55

covering it no wonder I wasn't able to

play19:57

find out about this thing earlier

play19:59

however as I started thinking over it

play20:01

more while eagle has most of what I was

play20:03

working on for tag Studio it doesn't

play20:05

have everything from what I can tell

play20:08

it's using plain old traditional tags

play20:10

without any of the subtags or aliases

play20:12

that I've come to embrace in tag Studio

play20:14

sure it's not a deal breaker but it's a

play20:16

big difference nonetheless not only that

play20:19

but I was curious just how Eagle is

play20:21

handling storing all this metadata well

play20:23

I was pleased to see it was in an open

play20:25

format it's all in sidecar files under a

play20:27

specific directory structure meaning

play20:31

whenever you add a file to your Eco

play20:32

Library it actually duplicates your file

play20:35

and puts it under a new directory to

play20:37

keep track of and plop a sidecar file

play20:39

next to this is kind of bizarre to me as

play20:43

someone who's had no trouble managing

play20:44

libraries of files located on different

play20:46

parts of my hard drive one great reason

play20:48

to not move your files around is to

play20:50

provide compatibility with other

play20:52

software such as

play20:55

obsidian you thought this wasn't an

play20:57

obsidian video gotcha I mean it probably

play21:00

would have helped my SEO if I put that

play21:01

in the title but

play21:04

gotcha with my vault-like approach to

play21:06

creating libraries in tag Studio Plus

play21:08

the fact that it doesn't move your files

play21:10

you can effectively create a tag Studio

play21:12

library right on top of your obsidian

play21:14

Vault allowing some supercharged photo

play21:16

and file management there's actually a

play21:19

lot of untapped potential here huh I

play21:21

could easily create a way to import taxs

play21:23

from obsidian heck I wonder if I could

play21:25

create some sort of plugin that would

play21:26

integrate the two even better all right

play21:28

right uh maybe in another video okay so

play21:31

there's more differences than meet the

play21:32

eye but what about use cases Eagle

play21:35

advertises itself as being a way to

play21:37

organize reference images although

play21:39

clearly it's useful for a whole lot more

play21:40

than that while managing reference

play21:42

images is also one of the fundamental

play21:44

reasons why I started developing tag

play21:46

Studio I didn't want to generalize it

play21:48

just that even though Eagle can handle

play21:50

images and videos and icon files and

play21:54

audio files and dang they can even do

play21:56

PSD previews h even though it can do all

play21:59

that due to focusing on references for

play22:01

designers they probably don't have the

play22:03

incentive to add additional support for

play22:05

any file types outside of that space

play22:07

wait they're working on a plug-in system

play22:10

oh come

play22:11

on if there's one sure thing that my

play22:14

program has over Eagle is that it's my

play22:16

program there's nothing more

play22:18

customizable than your own app and to me

play22:20

there's enough I want to do Beyond

play22:22

Eagle's capabilities to where I'll

play22:23

continue working on TX studio for the

play22:25

time being if anything eagle has been an

play22:27

inspiration for additional capability in

play22:29

my own program and maybe as a cautionary

play22:32

tale for things to avoid I don't know

play22:34

though they seem to be on a pretty

play22:36

similar wavelength is me a lot similar

play22:38

of a wavelength in that tag space Pro

play22:40

app oh wait they updated their logo oh

play22:43

come

play22:44

on thanks for watching this unusual

play22:47

project video while I'll continue to

play22:49

work on tag Studio I'm real curious if

play22:51

there's any other features that you guys

play22:52

might want to see added to it or if

play22:54

maybe you're considering taking a look

play22:56

at Eagle and seeing if it's a good fit

play22:57

for you but if you've enjoyed coming

play23:00

with me on this organizational Journey

play23:02

or if you just like seeing me delve into

play23:03

random technical projects then consider

play23:06

subscribing I been Travis and I'll see

play23:08

you in the next

play23:09

one what the hell is this it's your dogs

play23:13

covered in all that

play23:15

sauce Travis that was three years ago

play23:23

[Music]

Rate This

5.0 / 5 (0 votes)

Related Tags
ファイル管理プログラミングタグシステムメタデータEagleアプリPythonGUIカスタムタグクロスプラットフォームデータ組織
Do you need a summary in English?