Portfolio 0.9.13

After  a few months of slow but steady progress, a new release of Portfolio is out 📱🤓. This new release comes with the ability to fully manage external devices, better feedback and responsiveness when copying big files to slow devices and many bugs fixes.

By popular demand, the main addition to Portfolio is the ability to fully manage external devices, this means; detecting external devices, unlocking encrypted devices, mounting and ejecting. For this release, I focused on getting the udisks2 integration right, but there’s still room for improvement on the UX department. A shout out to @ahoneybun for testing my two previous (and unsuccessful 😅) attempts to implement this.

Another noticeable improvement is that now copying operations display progress feedback on individual files. Previously, there wasn’t any, which led to the impression of “no feedback at all” when copying big files.

A related improvement is that copying operations now do a better job displaying the real progress, specially when copying files to slow external devices. No more suspiciously fast copying operations, which later turn into several minutes of undetermined wait time when ejecting these devices.

On the bug fixing department, hidden Trash folders are no longer created on external devices until they’re really needed, send to Trash button won’t show on devices with no Trash folder, Portfolio no longer crashes on the Sway tiling compositor, broken symlinks are now handled properly and the same file size unit is used consistently through all the application.

Moving forward, for the short term, I want to improve the external devices management UX and give these beautiful GNOME 42 folder icons a try 🤩. For the long term, I would love to port this application to GTK4 and Libadwaita.

Last but not least, special thanks to @lqs01, @AsciiWolf, @Vistaus, @eson57, @cho2, @rffontenelle and @carlosgonz0 for keeping their translations up to date, and to @craftyguy for helping me with  general testing.

Portfolio 0.9.10

Almost 3 months, and 15 releases later, Portfolio development has been moving pretty fast. Well, for a weekend project 😅. So much so, it’s worth of another blog post. With today’s release, it provides a much smoother file management experience for mobile users. These are the highlights:

This new release introduces a new home page, which serves as the starting point for the navigation experience. Besides its utility as “quick access”, it also provides a better interface for managing external devices. Kudos to @nahuelwexd for designing it.

Moving places and devices to the home page solved one of the biggest issues preventing Portfolio to run in portrait mode. Even though is not perfect, it feels pretty good already, like holding a handheld game console.

Another missing piece, now set in place, is the properties viewer. For now, the viewer displays the most basic properties but, I can keep adding more on demand. Thanks to @bertob for the design hints.

With the properties viewer in place, I was finally able to finish the org.freedesktop.FileManager1 interface implementation. In case you’re wondering, this is what other applications invoke to display files, e.g. Chromium’s “Show in folder” button on it’s downloads page.

Like these, many other things improved and changed since the original release. Portfolio is, and feels, generally faster, e.g. the loading progress bar doesn’t show up anymore unnecessarily, cancelling paste operations is now instant, and is available in 6 different languages. But, if you’re curious, here’s the full CHANGELOG.

Of course, all of these improvements would not have been possible without the feedback from the community. Big thanks to everyone who has contributed so far. Now roll the credits!

Kudos to @eson57, @Vistaus, @henry-nicolas, @AsciiWolf, @cho2, @rffontenelle, @srevinsaju, @GNUuser, @aVolpe, @philipzae, @MobianLinux, @linmobblog and @DanctNIX.

Portfolio: manage files in your phone

On mobile phones with GNOME

Ever since I met @Kekun in Barcelona, during LAS 2019, I got intrigued by this wave of “running GNOME on phones”. It took several months until I could get my teeth into it though. Between my Sugar applications project, Flatseal, a new job and, mostly, due to how hard it is to get a proper Linux-capable phone in Paraguay, I had no time or choice really.

My first mobile-related project started in August, after many failed attempts to buy a proper Linux-capable phone, I decided that my only way forward was to get a refurbished Moto G4 Play, which has acceptable support thanks to PostmarketOS. The project goal was to provide more clarity on how far we are from a Flathub-powered GNOME community-driven OS for phones. The results were better than I expected, but still far from a daily driver. If you’re curious about this research you can find it here.

To my surprise, one of the biggest missing pieces was the file manager. I tried all the options that fell into my selection criteria, but none provided a good experience for me. The major issue I found is that the available options seem to land on a “designed for the desktop, but will fit in a small screen with a few tweaks to improve the UI” category.

Since then, I started to think about how would a simple file manager for phones would look like. By simple I mean two things. First, that it provides that ninety percent of things that people need to manage their files and, second, a UI/UX that is specifically crafted for phones and small touch screens.

A couple of weeks ago I finally got the weekend slots I needed to hack on these ideas.

Introducing Portfolio

A minimalist file manager for those who want to use Linux mobile devices.

That was the best description I could come up with, hah, it’s funny because it’s true. Portfolio is my first application that is one hundred percent designed for mobile devices. Supports the most simple, yet most common, tasks like browsing, opening, moving, copying, deleting and renaming files.

A whole weekend went into just getting the interaction model right, but I believe it paid off. The UI is clean. The relevant actions are always visible and just one tap away. The application assumes it’s running on a resource limited device and, therefore, sacrifices some speed for improved responsiveness. As seen above, it even provides an About “dialog” fit for small screens.

Of course, this application is far from perfect and, actually, it’s just a few days old. It urgently needs lazy loading, an explicit way to get out of selection mode, tests, tests, tests, among other things but, I believe getting the interaction model was the right priority for these limited weekend slots.

Portfolio is now available on Flathub. If you have a Linux-capable phone, please give it a try!

Last but not least, thanks to @eddsalkield and @bertob for their amazing early feedback.