自称:最強のメモ管理/ナレッジ蓄積補助アプリケーションを自作しました

はじめに

どーも不定期更新のガジェットぺろぺろです

今日紹介するのはこちら!!

私が自作したWindowsアプリケーション

ナナナナレッジ

サンデープログラマーです

私の職業はネットワークエンジニア、俗に言うSEです。

あまり詳しいことは言えませんが、大手企業とか公共機関のインフラに携わっています

ということで、職業プログラマーではないのですが、自己研鑽だったり、趣味のためにプログラミングに勤しんでいます。俗に言うサンデープログラマーです。

本業はプログラマーではないものの、仕事においては、ネットワーク機器のコンフィグやマクロ作成を補助するツールを自分で作ったり、仮想環境にNW検証用の仮想ラボを構築したり、スタンドアロンで動作する音声認識モデルを活用した議事録自動作成ツールを作ったりしています。

また自分の趣味の時間でも、資格の勉強を補助するツールを作ったり、簡単なゲームを作ったりしています。

あまり出来が良いとは言えませんが過去には当ブログで某カードゲームのシミュレーターを作った様子を紹介しました

メモやナレッジを管理するソフトが欲しい

私は業務内容が多岐にわたるので、メモや資料の整理が必須です。複数の案件を並行して仕事しています。

また、プライベートでは資格取得が趣味で、しかも130個以上の資格を取得しているのでナレッジを整理して、蓄積するのが日常生活となっています。

従来はフォルダを作って階層に分けてメモ帳や資料を整理してたんですが、もう少し良い方法・効率的な手段はないのかな?っと疑問に思ったので、今回自分でソフトウェアを作ってみることにしました。ファイルエクスプローラーだと不便ですし、窓の外で見かけたメモ管理アプリもあまり自分のニーズにはマッチしていませんでした。

一番良いのはWEBでアプリを作ることなんですけど、セキュリティ的にWEBアプリケーションは難しいと判断。

とうことで必然的にWindowsでスタンドアローンで動作する、しかもインストール不可な環境でも動作するアプリケーションを作ることにしました。

要件定義〜基本設計はおいといて

当然、要件定義や基本設計を実施してから作っていったんですが、ブログでいちいち全部説明するのは冗長的なので省略します。でも設計書はちゃんと作っています。

ざっくり説明すると、ソフトウェアの目的や機能は以下の通り

目的
・メモや資料を効率的に管理することで、ナレッジの蓄積を補助し、業務や資格取得、趣味のアプリケーション開発の効率を向上させる

機能要件
①ナレッジやメモの蓄積補助
・テキストの編集機能
・テキストの保存機能(自動保存含)
・テキストと一緒に資料や、フォルダパスの保存機能
・テキストの装飾機能
・分類による整理機能
②ナレッジやメモへのアクセス
・テキストのタイトル、全文検索機能
・検索結果の並び替え機能(保存日時等)
・恒常的に使うメモは上位表示機能
・直近で使用したファイルは一発で判別
③利用シーンに応じたGUI
・メモ、検索画面のフレキシブルなGUI切り替え機能
・常に画面の最前面に表示させる機能
・画面のカスタマイズ機能

非機能要件
・インストールなしで利用可能
・Windowsでスタンドアロンで動作

ざっくりこんな感じです。もっと詳しく整理してますが、あくまでブログなのでざっくり紹介です。

ご紹介

そんなこんなでアプリケーションを作成したのが実は2020年。そこからちょくちょく改善を繰り返して現在の姿こちら!!

ナナナナレッジ

画面説明

画面レイアウトを説明すると主に4つのセクションに別れています。

検索セクション

タイトルや説明文を検索ワードや分類で検索可能です。特徴は検索ボタンを押すことなく、テキストを入力すると瞬時に検索結果を表示すること

動作している様子は下記の動画からどうぞ

検索結果セクション

検索セクションで指定した条件にマッチする項目を表示します。デフォルトで全件表示します。(ただし上位500件)

詳細表示ボタンを押すと、更新日時や優先度(詳しくは後述)が表示されて、カラムヘッダーをクリックすると並び替えることが可能です

動作している様子は下記からどうぞ

メモ/ナレッジセクション

メモ/ナレッジのタイトルと本文を入力することが可能です。

また分類で仕分けしたい場合はコンボボックスで分類を指定することも可能

テキストは装飾することが可能で、文字色や揃えを変更することが可能です。また画像を埋め込んだり、ドラッグドロップでファイルを埋め込むことも可能

定型文の入力も可能です。入力した内容を保存する場合は右下の上書き保存ボタンを押します

動作している様子は下記からどうぞ

リンクセクション

メモ/ナレッジにリンクを割り当てることが可能です。

URLだったり、ファイルパス、フォルダパスを割り当てることが可能です。

たとえば、仕事で使う共有フォルダのパスを指定しておけば、すぐに共有フォルダにアクセスして作業することが可能です。また、調べ物をした際に参考にしたURLなどをリンクさせておけば、すぐに情報へアクセスが可能

メモセクションにリンクを貼れるので、使わない人は使わないと思いますが、リンクが一箇所に固まってたほうが色々都合がいい場合もあるかな。。。と思ってリンクセクションを作りました。

動作している様子は下記からどうぞ

フレキシブルなUI

上記で説明した4つのセクションを主に操作することになるんですが、GUIをフレキシブルに変更することが可能です。

たとえば、リンクセクションは確かに便利なのは便利ですが、リンクを使わない際には不要なセクションとなります。リンクセクションがあるおかげで、テキストセクションの縦幅が狭くなってしまい、入力欄が窮屈に感じることもあるかと思います。

そこでワンボタン(ショートカット)でリンクセクションの表示ON/OFFが切り替え可能となっています。

また、左右の横幅もフレキシブルに動作します。

当然、フォーム全体のサイズ変更も可能です。最大化、最小化もできます。

フォームサイズの変更に合わせて、GUIの大きさもフレキシブルに動作します。

メニュー

画面上部のメニューで様々な操作が可能

メモ/ナレッジの新規追加や削除はメニューから操作可能。以下は新規追加時のスクショです

分類や画面表示、設定画面、ファイルのエクスポート、インポートなどもメニューから実施します。

設定画面

画面や動作をカスタマイズするための設定変更が可能です

画面カラー

画面カラーも変更が可能

最後に

まだまだ紹介しきれていない機能が沢山あるんですけど、かなり長文になるので割愛します。自分のこだわりを詰め込んだソフトなのでかなり気に入っています。

こんなの欲しかった」を実現したソフトウェアなので満足していますし、仕事でもプライベートでも使用しています。

・すべてのナレッジが一箇所に集まる

・メモ、リンク、画像が一箇所に集まる

・検索が簡単、並び替えOK、フィルタリングOK

久しぶりにこういうソフトウェアを作りましたが、なんやかんやアイディアを考えながら、コードを書いて実現していく様子はレゴブロックみたいで楽しいですね。

実は他にも色々と構想があるので、空いた時間を作って色々なソフトウェアを作りたいと思っています。WEBアプリを作る予定です。学生の頃はPHPとかJavaScriptとか大好物だったんですが、ブランクが15年あるので勉強のやり直しのために参考書をいくつか買い揃えました

以上、簡単ですが最強のメモ管理/ナレッジ蓄積補助アプリケーションを自作したお話でした〜