こんにちは、サイオステクノロジーの馬場です。
私は、アプリなどの UI 設計が好きで、それを仕事にしています。
まず、中心となる状況または概念を思い浮かべながら、
お気に入りのスケッチブックに、お気に入りのペンで落書きします。
この落書きによって、自分の脳内イメージが、自分の視覚を通じて、自分にフィードバックされます。
ぐるぐるフィードバックしているうちに、まとまってきた気がしたら、
チームにシェアしてフィードバックを得ます。
チーム内で共通イメージが見えてきた気がしたら、そのイメージを起点として、
今度は、純粋にロジカルに、UI (情報) のフローを展開・整理し始めます。
この記事では、この「フローの展開・整理」の際に、私が使っているツールを紹介します。
整理法 UI flows
まず、 UI flows と呼ばれる整理法があります。
A shorthand for designing UI flows:
https://signalvnoise.com/posts/1926-a-shorthand-for-designing-ui-flows
( RoR の DHH を擁した 37signals の Signal v. Noise という有名ブログより )
上記ブログ記事を読めば、すぐ分かるほど簡単な話で、
「見るもの」と、それに対して「すること」のフロー、
まさにそれだけを書き出すためのシンプルな整理法です。
ランチ中に思いついたら、ナプキンに描けるくらいシンプルです。
ツール uiflow / guiflow
ランチ中ならナプキンに描いても良いのですが、自分のデスクに戻ったら、
そこからは、書きながら、考えながら、書きながら、考えながら … をやりたいですよね。
偉い人がそのためのツールを作ってくれています。
もう保守されない画面遷移図は嫌なので、
UI Flow図を簡単にマークダウンぽく書くエディタ作った:
https://qiita.com/hirokidaichi/items/ff54a968bdd7bcc50d42
- uiflow (コマンド) :
- https://github.com/hirokidaichi/uiflow
- 「マークダウンぽい」記法で書いたテキストファイルを、
UI flows の画像ファイルに変換するコマンドです。
- guiflow (その GUI 版) :
- https://github.com/hirokidaichi/guiflow
- 「マークダウンぽい」記法で書いている隣に、
UI flows がリアルタイムに プレビューされるエディタです。
例えば、遷移の矢印の付け替えは、以下で済みます:
ユーザーがすること ==> 次のページ
↓
ユーザーがすること ==> 別のページ
おすすめポイント
まず、整理法としての UI flows がシンプルであること。
その上で、ツール uiflow / guiflow のおすすめポイントは、以下です:
- 絶妙に意味の通る「マークダウンぽい」記法のおかげで、
テキストをパターンとして整理する作業 = リファクタリング がしやすい。 - 当然バージョン管理できるし、差分をみれば変更の意味も分かる。
- お気に入りのテキストエディタで書ける!!
- 個人的には emacs + uiflow がベストなので、 guiflow は一切使ってません。
興味のある方は、ぜひ、試してみてください!!
蛇足
私の emacs の設定は以下です。
▼ ~/.emacs.d/init.el (に追記)
(autoload 'uiflow-mode "uiflow-mode.el" nil t) (add-to-list 'auto-mode-alist '("\\.uiflow$" . uiflow-mode)) (add-hook 'uiflow-mode-hook '(lambda () (add-hook 'after-save-hook 'uiflow-compile nil 'make-it-local) ))
▼ uiflow-mode.el
(defun uiflow-mode () "uiflow Mode " (interactive) (kill-all-local-variables) (setq mode-name "uiflow") (setq major-mode 'uiflow-mode) (run-hooks 'uiflow-mode-hook) ) (defun uiflow-compile () (let ((in buffer-file-name) (out (replace-regexp-in-string "\\.uiflow$" ".uiflow.png" buffer-file-name))) (shell-command (concat "uiflow -f png -i " in " -o " out)) ) ) (provide 'uiflow-mode)
この uiflow-mode.el は出典を見つけられなかったので、私が見よう見まねで書いたものかもしれません。
次回予告
また、そのうち、
お気に入りのツールを、誰も聞いてないし、誰もついて来なくても、マニアックに紹介する
というフォーマットで書こうと思います。(=「◯◯の紹介」シリーズ)
2020年6月8日メモ
VisualStudio Code のプラグインもあるようです (私自身は試してもいませんが…):
https://github.com/kexi/vscode-uiflow