blogシタテルの技術やエンジニアの取り組みを紹介するテックブログです。投稿を表示しています。投稿を表示しています。2018こんにちは、デザイナーの藤村です。SPECという受注生産のためのサービス開発に今年の2月頃から関わっています。SPECの説明はこちらでSPECではサービスの一環として、受注販売用Webサイトを作成するためのCMSを提供しています。私は仕様検討と共にCMSの画面デザインをしています。今回は最近のなかで一番リテイクの多かった、サイトの公開/非公開機能のUIができるまでをご紹介します。実装が決まるまで当初SPECのCMSには「サイトを非公開にする」という機能がありませんでした。必要になるけれど、優先すべき開発が他にあるという判断で実装待ちになっていました。クライアントさんには、要望があればシタテルに直接ご連絡をいただくようお願いしていました。言っても間違えて公開してしまう、ということは十分に考えられます。開発チームでも議論を重ね、いよいよ実装することが決定しました。▼当初のCMS画面まだ公開していないサイト。公開ボタンがあります。ステータス表示として「公開中」はあるけれど、非公開にできるUIはない。デザイン第一弾:とにかくシンプルに。こんな風に作りました。画面の要素を最小限に、操作に迷わないように操作ポイントの要素もできるだけ少なく、という方針で作りました。「非公開」と書いてあるところをクリックすると選択肢が出てきます。どの状態に変更したいか選ぶと、ダイアログで本当に公開するのか聞いてきます。OKすると公開されます。ダイアログは「うっかり公開」を防ぐために付けました。▼こんな感じちなみにSPECチームでは、デザインを作ったらすぐにチームメンバーに見てもらいます。エンジニアもプロダクトオーナーもみんな見ます。気になった人がコメントを入れます。今回は画面遷移の変更というほどではなかったので、一気にデザインを起こしzeplinにアップしました。表示と状態の微妙な関係エンジニアから早速ツッコミが入りました。「表示と状態にズレができる瞬間があるため、作りが複雑になり今のスケジュールでは工数が足りない。最初は理解ができず「??」となっていました。1のときは、表示上は「非公開」になりますが、まだ本当にサイトが非公開になったわけではありません。ダイアログで「非公開にする!」とした時点で、実際にサイトが非公開になるのです。1〜2〜ダイアログのあいだは、公開状態と表示にズレが出ているわけです。実際にサイトが公開しているのか、非公開なのかこれがなぜ複雑なのか?プログラム上、やらなければいけない制御が増えるから、です。「非公開にしたい!」って言ったけど、やっぱりもうちょっと公開しておこうとなった場合、表示は「非公開」に戻っていなければいけません。「やっぱり非公開するのやめた」と言ったはずなのに表示が公開のままだったら、使っている人は混乱してしまいますね。使う人は気づかない部分ですが、こういう処理をきちんとしておくことはとても大事なことです。実装の複雑さ、ユーザーへのケア、デザインするときに考えておくべきポイントはたくさんあります。フィードバックをもらったことで気づくことができました。いうことで、チームメンバーのアドバイスをもとにデザインを修正しました。意外とサクッといきました。▼こんな感じ「変更」というボタンを追加しただけです。第一弾のデザインが複雑だったのは、最初の画面で表示の切り替え「だけ」を行ったことが原因でした。あれば、表示と状態を「同時に」行えるUIにすればいいのです。最初の画面ではダイアログを呼び出すだけにし、ダイアログ上で操作するように変更しました。ダイアログでの操作ひとつで、状態と表示を同時に切り替えられるようになりました。ステップ数も、最大4つあったのが3つに減りました。さあ、実装だ!、と思っていた矢先、仕様追加の依頼が入ってきました。usシタテルのミッションはテクノロジーとイマジネーションで「ひと」と「衣服」の新しい未来をつくること。クラウドシステムを使うように服作りのリソースを誰でも好きなときに好きだだけ使えるプラットフォームを目指しています。(1)どうも朝野です。Storage移行記:バリデーション編こんにちはあさのです。Storageに移行したときの話を書こうと思います。Paperclipはファイルアップロード用のGemです。https://...SQLite3でWindow関数を試してみた!はじめまして、DevOpsチームの甲斐です。何かブログのネタはないかなーと思っていたところ、たまたま以下のニュースを発見しました。ECSに自動デプロイする(おまけで環境面の切り替えも)こんにちは、シタテルの茨木です。ECR/ECSにデプロイする為の設定例を紹介します。Nuxt.jsアプリ用に作ったものですが、言語やAPサーバが違っても共通の部分がほとんどです。