記事

Web UXを作れるサーバサイド人材が少ない?!問題

昨今、ネイティブアプリ全盛が故に、WebサービスのUXを作れるエンジニアが少なくなってるんじゃないか説がある。

また、受託からWebサービスが主流になったことで、一つのソースコードをこねくり回す機会が増え、新規にWeb UIを作り込む頻度が低くなり、そもそも鍛えられていないんじゃないか説もある。

例えば、商品登録画面のような何かのテキスト情報と一緒に登録する画像アップロードを考えてみる。
その際に、「入力確認画面」が必要だと仮定する。また、それなりに秘匿性を意識すべき企業用途のサービスだとする。

書きながら2002年の案件を思い出してるので、なんか古い話だったらゴメンよ。

1.いつどこに画像を保存するのか? post or ajax ?

2.Webサーバに置くのか?S3に上げてしまうのか?今時ないかもしれないがObject Databaseに登録する?Webサーバに置いたらロードバランサーとの関係は?

3.いずれにせよ、いきなりpublic領域にあげてしまって良いものなのか?

4.商品IDはその段階で決まっている?、その場合の画像ファイルの仕様は?

5.確認画面の段階ではまだ画像は外には見えてはいけないかもしれないのでパーミッションは?

6.やっぱやーめたって確認画面でブラウザを閉じられた時に残るテンポラリファイルの処遇は?

7.確認画面では仮にアクセス管理されたテンポラリ領域に登録しておいて、じゃぁ、本番にアップロードされた時にどうやって公開する?

8.確認画面から戻って画像を入れ替えたり、削除された時のテンポラリファイルの削除は?

9.確認画面から「戻る」ボタンで戻された時に画像を残すことはできますか?

などなど、画像アップロード一つとっても案外考えることがあって、こういうのをしっかり作り上げた先に、良いコンテンツ登録画面のUXというものがついて回ることがあるのだが、案外、世の中もっと適当かもしれないですね、と。

どこまでのパーミッションで、どこまでの画像を残すのか?テンポラリファイルの処遇などは、アップロードするファイルの特性によって変わるだろう。企業用途Webにおける個人情報ともなれば、最新の注意を払うところとも言える。

うっかり登録画面でキャンセルした情報が、実はpublicに公開されていました、なんてのは絶対に避けないといけない。

ファイル名にハッシュを使ってURLが予測できないのは「偶然」なんですよね。論理的には許されないわけで。

また、これ以外に、アップロードしているファイルサイズが大きい場合の途中経過表示とかもありますね。ドラッグアンドドロップだとか、ファイル情報の並べ替えへの考慮だとか、まぁいろいろ考えることはありますよね。きっと。

またセキュリティだけではなく、戻るボタンを押した時の挙動をできる限りポジティブに守るというのは、ユーザに迷いを与えないユーザエクスペリエンスに影響しているポイントである。

あと確定ボタン押下後に、「戻る」「戻る」された時にどうあるべきか?とか。ここまで来るとWeb Appplication Frameworkのところでコントロールされているから、「どうあるべきか?」なんて考えたことない人もいるでしょうしね。

書いてて思ったけど、ステートレスなWebブラウザにステートを持たせるの、くっそ面倒くさいですねw

更に、テンポラリファイルの削除やどこに保存して、どうやって本番公開するのか?などは、システムのスケーラビリティに影響する。例えば、この辺を一番簡単にする方法として、データベースの中にバイナリで入れてしまうという技が昔は見たことあるが、当然、Max connectionsの影響を受けるDBに重いデータのやり取りを任せるのはご法度である。完全イントラならありうるかもしれないが、スケールするWebサイトでやることではない。(書いてて思ったが、今時ならCDNに任せるって手もあるのか)

まぁwordpressあたりは割り切っているので、企業向けサービスでも、その辺を真似すればいいという話でもあるのかもしれないです。

何かを真似するにせよ、ちゃんと技術要件に照らし合わせて、思想を持ち、画面遷移やデータの持ち方を考えることも「エンジニアリング=技術力」の範疇だと思うのだが、あまりこの辺のことをスキルとして形容する言葉がないような気がしていて心配している。

プロフィールにSPAがどうのこうの、とか、◯◯というフレームワークを使ってきました、などということが書いてあっても判断がつかないのだ。

こういうスキルは、

・フロントエンドエンジニア

ではなく、

・サーバサイドエンジニア

なんだろうか?!

冒頭に書いた通り、最近のサーバサイドエンジニアはAPI主体だったりもして、実はこの領域はフロントエンドと言われる会社もあるんじゃないかと思う。

ちなみに、ネイティブアプリならアプリ内で画像プレビューを作り込むから、ネイティブアプリエンジニアのところで完結してしまう。

あと、最近はこういうのが面倒くさいからプレビューなどは一切ないサービスも少なくはない。でも画像は、どこかしらにアップロードされていたりするから、その処遇が謎である。

いずれにぜよ、

・スケーラビリティ
・セキュリティ
・機能=ユーザエクスペリエンス

この3つの要素にしっかり気を使ってくれて、「良いWebサービス」を作りたいWebのエンジニアを採用できたらいいなと思っております。

あわせて読みたい

「エンジニア」の記事一覧へ

トピックス

ランキング

  1. 1

    埼玉県でマスク30万枚が野ざらし

    SmartFLASH

  2. 2

    ひろゆき氏 五輪の開催は難しい

    西村博之/ひろゆき

  3. 3

    マラソン決行 主催の説明に呆れ

    WEDGE Infinity

  4. 4

    権限ない休校要請 保護者は困惑

    BLOGOS しらべる部

  5. 5

    在宅勤務に賛成して休校否定の謎

    やまもといちろう

  6. 6

    カリフォルニアで8400人感染疑い

    ロイター

  7. 7

    中韓が日本産盗む?対立煽る報道

    松岡久蔵

  8. 8

    政府の休校要請は極めて無責任

    音喜多 駿(参議院議員 / 東京都選挙区)

  9. 9

    安倍首相の暴走許す自民党は末期

    田原総一朗

  10. 10

    USJ・ディズニーが臨時休園発表

    BLOGOS しらべる部

ランキング一覧

ログイン

ログインするアカウントをお選びください。
以下のいずれかのアカウントでBLOGOSにログインすることができます。

コメントを書き込むには FacebookID、TwitterID のいずれかで認証を行う必要があります。

※livedoorIDでログインした場合、ご利用できるのはフォロー機能、マイページ機能、支持するボタンのみとなります。