2画面ファイラー「ShellFiler」のオープンソース化
明けましておめでとうございます。
2022年が始まったところで、このたび、長年にわたって開発してきた2画面ファイラーをオープンソース化しました。WindowsとLinux(SSH)のファイルを迅速に操作することを目指したアプリケーションです。
今回の記事では、私が開発を始めて、オープンソース化に至るまでの過程についてまとめてみました。
ファイラーとの出会い
私が初めてファイラーに出会ったのは大学1年生の頃でした。
当時はWindows 95発表の3年前で、まだMS-DOSなどのコマンドライン環境が主流でした。
コマンドライン環境でのファイル操作は大変です。
ファイルのコピー1つにしても、ファイル名や転送先フォルダ名を一字一句間違えずに文字列で打ち込む必要があります。転送後にはファイル一覧コマンドで確認したりと、ストレスの連続でした。
ちなみに、現在のLinuxの操作も基本的にこの形式ですが、正直、私にはきついです。
そのような中、学生プログラマーとしてアルバイトしていた職場で、ファイラーというアプリがあることを教えてもらいました。現代のエクスプローラーと同様、一覧表示されたファイルを選んで操作できるアプリです。
プライベートではアルバイト先と別の機種(シャープのX68000)を使っていたため、類似のソフトを色々と探し回ったところ、最終的に「2画面ファイラー」にたどり着きました。
2画面ファイラーに浸る
このときに出会った2画面ファイラーの基本デザインは、今回オープンソース化したShellFilerにも引き継がれています。
2画面ファイラーは、上のようにファイル一覧が左右2つに分かれており、それぞれ別のフォルダを表示できるのが特徴です。
コピーや移動などの操作は、右側から左側(またはその逆)に実行できます。転送結果も反対側の一覧ですぐに確認できます。
これだけだと、Windowsでエクスプローラを左右に2つ並べた状態と変わりませんが、2画面ファイラーの良さはその軽快さにあります。
キーボードの上下左右キーで見た目の通りにカーソルを動かせることをはじめ、ビューアですぐに内容を確認できたり、一覧中のファイルをインクリメンタルサーチできたりと、ファイル操作のストレスを軽減する工夫が随所に見られました。
また、私が使っていたファイラーはカスタマイズ性も高かったため、その魅力にどっぷりと浸かってしまい、もはやこの種のアプリなしにはPCの操作が成り立たないような状況に陥っていくのでした。
Windowsを使い始めるも…
大学4年生になって研究室に所属した頃、Windows 95がリリースされました。
プライベートで使っていたX68000に比べ、Windowsでは開発環境、ワープロ、プレゼンテーションなど、どのソフトも洗練されていましたが、ファイル操作だけは納得できませんでした。
その頃にはWindowsプログラミングも勉強し始めていたため、せっかくだから自分でファイラーを作ってしまおうと思い始めました。
こうしてできあがったWindows用の2画面ファイラーが「2画面ファイラーKF」です。その後、7~8年に渡って開発を続けることになりました。
KFの開発と限界
KFはある程度できたところでシェアウェアとしてリリースしました。
ソフトウェアエンジニアとして社会人になった後も、会社の許可をもらって開発を続けていました。
ただ、本業が忙しくなるにつれ、限界を感じ始めました。
シェアウェアとしての収益はそれなりにあったものの、時給換算では本業と比較にならないような額……。苦情対応さながら、趣味の世界でバグ修正や細かな要望対応をこなすのは、さすがに厳しく、更新が止まってしまいました。
Linuxでも2画面ファイラーを
開発から遠ざかっても、ユーザーとしては2画面ファイラーを使う毎日でした。
そんな中、転職した会社で新しい問題が発生しました。
新しい仕事ではサーバーソフトの開発でLinuxを扱う機会が増えましたが、Windowsのときと同じく、2画面ファイラーがない問題に直面しました。
何とかならないかと調べていると、SSHを使うとLiunx上のファイルを操作できることや、それを比較的容易に実現するライブラリがあることが分かってきました。
こうして、Windowsに加え、Linuxの操作まで視野に入れた2画面ファイラーとして開発したのが、今回のShellFilerです。
オープンソース化へ
ShellFilerの積極的な開発は2016年頃まで行っていましたが、ここ数年は停滞してしまいました。それでも、プライベートと本業を問わず、毎日のようにShellFilerを使って作業をしています。
特定のアプリを毎日使っていると、やはり不足している機能が目についてきます。
業務での利用ではGitへの対応や画像の自動連結、プライベートの利用ではダークテーマや高解像度画面への対応など、追加したい機能は山積みです。
ShellFilerはシェアウェアとしてリリースしましたが、最近は登録実績もほとんどない状態でしたので、この機会にオープンソース化して、追加したい機能を実現したいと思うようになりました。
オープンソース化しても、状況の大きな変化はないと思っていますが、せっかく作った2画面ファイラー……これからも、その価値を維持するために、細々と開発を続けていければと思っています。
Windowsを使っている方は、無料で利用できるようになりましたので、ぜひお試しください。
https://github.com/hideakiksm/shellfiler/