0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

思考整理用に「誤操作しない」フローチャートツールを作った話

Posted at

初めに

思考整理や仕様検討をする際、これまではノートに手書きで
フローチャートを書いていました。

しかし、

  • 書くのが純粋に面倒
  • 過去のフローを確認するためにノートをパラパラめくるのが面倒
  • 修正が入るたびに書き直しになる

という問題がありました。

「これ、アプリにしたら全部楽になるのでは?」
と思ったのが、本アプリ作成のきっかけです。

アプリ概要

本アプリは、
思考整理や仕様作成前のラフ設計に特化した
軽量フローチャート作成ツールです。
• ノードの作成・移動
• ノード間の接続
• 線のリアルタイム追従
• JSON による保存/読み込み
• 企画(規格)単位での管理
といった基本機能を備えています。
(※ 実際の操作感はスクリーンショットをご覧ください)
FlowChart.png

一番こだわった点:

「黒ポチ」からしか線を引けない設計
このアプリで最もこだわったのが、
「ノードの接続点を明示し、そこからしか線を引けない」仕様です。
多くのツールではノード全体や近傍から自由に線を引けますが、
今回はあえて制限を設けました。
なぜ制限したのか?
理由は単純で、

• 意図しない線の発生を防ぎたい
• 「どこからどこへ接続されているか」を一目で分かるようにしたい

と考えたからです。
自由度が高い=使いやすい、とは限らず、
制限を設けることで視覚的な情報処理が楽になる
という考えで設計しました。

情報理解を壊さないための工夫

ノード移動時のリアルタイム追従
ノードをドラッグして移動すると、
接続されている線もリアルタイムで追従します。
これは単なる「気持ちよさ」ではなく、

• 移動後に線が意図しない位置から伸びてしまう
• 接続関係が一瞬分からなくなる

といった 情報理解の破綻を防ぐため の仕様です。

接続時の仮ライン表示

黒ポチから線を引く際、
確定前の 仮ライン(点線) を表示しています。
これにより、

• 線がどのような軌跡でつながるのか
• どこに接続されようとしているのか

を事前に視覚的に把握できます。

進行度によるノードの色分け

各ノードは進行度に応じて色を変更できます。
例として、
• 進行中:黄色
• 中止:灰色
• 完了:緑
といった形で、
状態を色で即座に判断できる ようにしました。
フローチャートを「構造」だけでなく
「現在の状態管理」にも使えるよう意識しています。

データ管理の考え方

フローチャートの内容は JSON で管理しています。
• ノードID
• 位置(X / Y)
• 接続情報
• 規格(企画単位)
などを保存し、
アプリを閉じてもレイアウトを再現できます。
また、
コンボボックスで企画(規格)を切り替えることで、
別のフローチャートを管理・閲覧できる設計にしています。

開発を通して学んだこと

今回の開発で特に感じたのは、

  • UIの自由度を上げすぎると、かえって情報理解を妨げる
  • 「何でもできる」よりも「誤操作しない」設計の方が重要な場面がある
  • シンプルに見えるUIほど、内部では座標管理・描画・データ構造が密接に絡む
  • UXは見た目ではなく、操作中の迷いを減らす設計で決まる
    という点でした。

おわりに

本アプリは、「高機能なフローチャートツール」を目指したものではありません。

作成目的は、

  • 使用感の良いアプリを作ること
  • ユーザーの思考を邪魔しないこと

この2点に集約されています。

思考整理のためのツールは、使い方を考えさせてしまった時点で
本来の役割を果たせなくなると考えました。

そのため本アプリでは、

  • 操作を限定する
  • 接続点を明示する
  • 状態を色で即座に判断できる

といった設計を意識しています。

もし同じように、「考えることに集中できるツールが欲しい」と感じている方の参考になれば嬉しいです。
興味を持っていただけた方がいれば、
GitHub にソースコードを公開しています。

GitHub: https://github.com/neo557/FlowChartApp
バグ報告や改善案などがあれば、
お気軽にコメントいただけると嬉しいです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?