Add new blog post, some minor changes

This commit is contained in:
speedie 2023-07-03 17:00:32 +02:00
parent 37e98b3835
commit df91e20d7b
8 changed files with 208 additions and 4 deletions

View file

@ -0,0 +1,95 @@
# File pickers suck
2023-07-03
Now, I would never go as far as to say Windows is better than GNU/Linux, but it
still has the edge sometimes. Today I want to talk about one such case.
## The problem
File pickers on GNU/Linux are the absolute worst. We've been able to write a new
display protocol, Wayland but we somehow still can't have a file picker that doesn't
lack basic features or even works for that matter.
This is not a minimalist nitpick. In fact what I'm really complaining about
is the *lack* of basic features that people need. Okay, so let's say you
have a Chromium tab open and a website you're on requires you to upload
an image. Fine right? Now what if you don't know what the filename is?
On Windows, what you would probably do is click on a bunch of them,
look at the image and see if it's the correct image in the preview pane.
On GNU/Linux you cannot do this, because our file pickers are so crap and don't allow
you to preview images. In fact, the only file picker I know of that supports
this feature is Gimp, and that has a custom file picker that only Gimp uses.
And it's clear why it has a custom file picker, it's because all the
other file pickers are useless.
## GTK file picker
![GTK file picker](/articles/img/gtk-picker.png)
This is what the GTK file picker looks like. GNOME and GTK has always had a
minimalist design philosophy, not in terms of code or anything, but they've
had simple UIs, just like Apple software. It's the Apple of the GNU/Linux
space. There are multiple issues with this file picker, here are just a few:
- The aforementioned problem: Images don't have thumbnails, so you have
no idea what you're uploading unless you know the filename.
- You cannot enter a path to a file. You can only see the parent directories.
- The pinned folders on the left are useless, and cannot be unpinned if
those folders do not exist.
- You can't pin symlinks. This is massive problem for me at least, because
I have ~/Screenshots, ~/Music, ~/Recordings and ~/Downloads symlinked
to another drive.
Oh wait, you *can* enter a path to a file. You have to press `/` for it
to display. But when you press `/` the path to the current directory
will be removed. That is some awesome design right there.
## QT file picker
![QT file picker](/articles/img/qt-picker.png)
Now, on the KDE side of things we have the QT picker. It looks a lot better.
For one, it actually has a field for entering a path, which also shows the
current directory. It has buttons for navigation and a "Filter" option.
It also allows you to resize each pane, which is a basic feature that
the GTK picker is lacking for some reason. A massive step in the right direction.
Only one small problem. Programs that use GTK, which are a lot of programs
these days, including your web browser where you NEED a file picker that
doesn't suck will still use the GTK file picker, which we've established
sucks and is basically useless as a file picker.
This means you pretty much CAN'T escape the GTK file picker, because it's
so tightly integrated with the whole GTK toolkit.
## Windows was right
![Windows file picker](/articles/img/windows-picker.png)
As you're surely aware of at this point, I use free software and I don't
support nonfree software. However regardless,
Windows does file pickers right. Everything positive I said about the QT
file picker Windows has done for decades. It may be absolutely
proprietary, but it is functional, something the GTK
picker cannot say about itself.
You may notice some similarities between the Windows file picker and the
QT file picker. Regardless, they're both functional and get the job done.
You get a list of your files with image previews, both in the form of icons
if you increase the icon size and in the form of the preview pane you can
open up. The Windows file picker is actually even better though, because
it actually displays EVERYTHING, rather than a few folders that you manually
go out of your way to pin. It also works with shortcuts (basically symlinks)
and handles drives too.
## Conclusion
GTK and GNOME is about as useful as a painting. Cool to look at, but when
you actually want to get stuff done, you're SOL. GNOME and GTK should
take notes, quit designing a painting and instead think about what people
ACTUALLY need out of their file pickers.
In the meantime, If you have a solution to this problem, please send me
an email. In any case, that's it for me. Have a good day!

View file

@ -0,0 +1 @@
2023-07-03

View file

@ -1,6 +1,6 @@
# My workflow
2023-07-03
2023-07-02
Woah, is that an upgraded blog? **Yes.**

View file

@ -1 +1 @@
2023-07-03
2023-07-02

BIN
articles/img/gtk-picker.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

BIN
articles/img/qt-picker.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

112
rss.xml
View file

@ -3,16 +3,124 @@
<title>speedie's blog</title>
<description>speedie's blog, about stuff I want to talk about.</description>
<atom:link href="https://speedie.site/blog" rel="self" type="application/rss+xml" />
<item>
<title>File pickers suck</title>
<link>/blog.php/File+pickers+suck</link>
<guid>/blog.php/File+pickers+suck</guid>
<pubDate>Mon, 03 Jul 2023 00:00:00 +0000</pubDate>
<description>
<![CDATA[
<h1>File pickers suck</h1>
<p>2023-07-03</p>
<p>Now, I would never go as far as to say Windows is better than GNU/Linux, but it
still has the edge sometimes. Today I want to talk about one such case.</p>
<h2>The problem</h2>
<p>File pickers on GNU/Linux are the absolute worst. We've been able to write a new
display protocol, Wayland but we somehow still can't have a file picker that doesn't
lack basic features or even works for that matter.</p>
<p>This is not a minimalist nitpick. In fact what I'm really complaining about
is the <em>lack</em> of basic features that people need. Okay, so let's say you
have a Chromium tab open and a website you're on requires you to upload
an image. Fine right? Now what if you don't know what the filename is?</p>
<p>On Windows, what you would probably do is click on a bunch of them,
look at the image and see if it's the correct image in the preview pane.
On GNU/Linux you cannot do this, because our file pickers are so crap and don't allow
you to preview images. In fact, the only file picker I know of that supports
this feature is Gimp, and that has a custom file picker that only Gimp uses.
And it's clear why it has a custom file picker, it's because all the
other file pickers are useless.</p>
<h2>GTK file picker</h2>
<p><img src="/articles/img/gtk-picker.png" alt="GTK file picker" /></p>
<p>This is what the GTK file picker looks like. GNOME and GTK has always had a
minimalist design philosophy, not in terms of code or anything, but they've
had simple UIs, just like Apple software. It's the Apple of the GNU/Linux
space. There are multiple issues with this file picker, here are just a few:</p>
<ul>
<li>The aforementioned problem: Images don't have thumbnails, so you have
no idea what you're uploading unless you know the filename.</li>
<li>You cannot enter a path to a file. You can only see the parent directories.</li>
<li>The pinned folders on the left are useless, and cannot be unpinned if
those folders do not exist.</li>
<li>You can't pin symlinks. This is massive problem for me at least, because
I have ~/Screenshots, ~/Music, ~/Recordings and ~/Downloads symlinked
to another drive.</li>
</ul>
<p>Oh wait, you <em>can</em> enter a path to a file. You have to press <code>/</code> for it
to display. But when you press <code>/</code> the path to the current directory
will be removed. That is some awesome design right there.</p>
<h2>QT file picker</h2>
<p><img src="/articles/img/qt-picker.png" alt="QT file picker" /></p>
<p>Now, on the KDE side of things we have the QT picker. It looks a lot better.
For one, it actually has a field for entering a path, which also shows the
current directory. It has buttons for navigation and a "Filter" option.
It also allows you to resize each pane, which is a basic feature that
the GTK picker is lacking for some reason. A massive step in the right direction.</p>
<p>Only one small problem. Programs that use GTK, which are a lot of programs
these days, including your web browser where you NEED a file picker that
doesn't suck will still use the GTK file picker, which we've established
sucks and is basically useless as a file picker.</p>
<p>This means you pretty much CAN'T escape the GTK file picker, because it's
so tightly integrated with the whole GTK toolkit.</p>
<h2>Windows was right</h2>
<p><img src="/articles/img/windows-picker.png" alt="Windows file picker" /></p>
<p>As you're surely aware of at this point, I use free software and I don't
support nonfree software. However regardless,
Windows does file pickers right. Everything positive I said about the QT
file picker Windows has done for decades. It may be absolutely
proprietary, but it is functional, something the GTK
picker cannot say about itself.</p>
<p>You may notice some similarities between the Windows file picker and the
QT file picker. Regardless, they're both functional and get the job done.
You get a list of your files with image previews, both in the form of icons
if you increase the icon size and in the form of the preview pane you can
open up. The Windows file picker is actually even better though, because
it actually displays EVERYTHING, rather than a few folders that you manually
go out of your way to pin. It also works with shortcuts (basically symlinks)
and handles drives too.</p>
<h2>Conclusion</h2>
<p>GTK and GNOME is about as useful as a painting. Cool to look at, but when
you actually want to get stuff done, you're SOL. GNOME and GTK should
take notes, quit designing a painting and instead think about what people
ACTUALLY need out of their file pickers.</p>
<p>In the meantime, If you have a solution to this problem, please send me
an email. In any case, that's it for me. Have a good day!</p>
]]>
</description>
</item>
<item>
<title>My workflow</title>
<link>/blog.php/My+workflow</link>
<guid>/blog.php/My+workflow</guid>
<pubDate>Mon, 03 Jul 2023 00:00:00 +0000</pubDate>
<pubDate>Sun, 02 Jul 2023 00:00:00 +0000</pubDate>
<description>
<![CDATA[
<h1>My workflow</h1>
<p>2023-07-03</p>
<p>2023-07-02</p>
<p>Woah, is that an upgraded blog? <strong>Yes.</strong></p>