相変わらず発起人の友人を含む3人でQnQの開発を続けている。
友人が今細かな使い勝手のブラッシュアップをしてくれているので、僕はチーム制導入にあたって、管理者用のコマンドラインツールを作成している。本当は管理者用の画面を作ろうと思っていたんだけれど、セキュリティルールが面倒臭いことに気づいた。
このWebサービスはFirebaseを使っている。Firebaseは何かと便利ではあるものの、メンテナンスを考えた時にちょいちょい引っかかる。前にも「一時メンテナンスとかどうやるんだろう」と思ったが、調べてみると「意図的にしばらく落とす」みたいなのはなさそうで、強引なリダイレクト処理を入れている人なんかが引っかかった。
今回は管理者用の画面いい加減必要だね、という話をしていて、それ用の画面を作ろうかなと思っていたんだが、そうするとけっこうセキュリティルールが面倒臭い、ということに気づいた。
多分、一部のユーザを「管理者」として、セキュリティルールで都度管理者用の穴を開ける、ということになるだろう。別にやってできないことはないが。
とはいえ、ただでさえうんざりするようなセキュリティルールの記述がさらにややこしくなるのか、とか、管理者特権持っちゃうと、デバッグを兼ねて触っているのに、エラーに気づけなくなりそうだな、とか、色々思うところがあって、うーん、どうしようかなぁと考えた末に、例によってコマンドラインの管理者ツールをシコシコ作ったのだった。
コマンドラインならばAdmin SDKで気にせず書けるし、node.jsじゃなくてPythonでも書ける。入出力を整えてやれば、パイプを使ってそれなりに複雑な操作もできるし。結局こうなるのか。
後は友人が細かな使い勝手の向上に繋がるところをやってくれているようだ。たとえば通知欄で、スレッドAの#20番とあったとして、これを開くとスレッドAの#20番まで飛ぶんだけれど、これまでスレッドAを開いていると#20番に飛んでくれないという謎の状態になっていた。
致命的ではないという感じで放っていたんだけれど、やっぱり不便だった、ということでなおしてくれたんだが、なおってみるとだいぶありがたく思えた。
やはりUXはこういう泥臭い改善の積み重ねなんだなぁと思う次第。全体最適を見失った局所最適は問題だけれど、全体ばかり見て細部を疎かにするのもやはりよくない。
最近「サービスが終わるソシャゲ」をあえていじったりしてみたが、共通して「ゲームのシステム部分がまどろっこしい」というのがあった。同じ作業を嫌がらせのように繰り返させられる、みたいな。できないことはないけど、面倒、という感じ。
今のこのサービスもそういう状態だよなぁ、と反省する。僕は過去「そもそも方向性おかしい」問題に振り回され続けた苦い経験があって、全体最適の重要性については身に沁みているのだが、一方で局所最適の重要性を過小に評価しているのかもしれない。
全体最適と局所最適のバランスは難しく、きっと永遠の課題なのだろうけれど、自分なりの距離感を見つけていきたいものだ。
第2回 | QnQ開発日誌 開発したWebサービスは俺の日記帳になった |
第3回 | QnQ開発日誌 単体テストなしで大丈夫か? |
第4回 | QnQ開発日誌 チームで使う作業メモの共有的な使い方を考える |
第5回 | QnQ開発日誌 SNSからSlack寄りのツールへの移行を模索中 |
第6回 | QnQ開発日誌 Firebaseで管理者用画面はみんなどうしているのかな |
IoT関係で技術者としてお仕事しています。 趣味のブログは9年目に突入しました。 16性格診断はINFP-T。どんな心理テストでも高い内向性を叩き出せます。 友人とWebサービス開発してます。https://qnqtree.com
Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。
また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!
こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?
コメント