何が良くなったのかさっぱり分からない。
Cortanaってのが
「何でも聞いてください」
と言ってくるけど、まともに対応してくれた試しがない。
一体マイクロソフトは、何がしたいの?
3. SAO的な「ゲームオーバーになると死ぬコンピュータゲーム」
年齢や恋人がほしい理由、街コンやペアーズでの惨敗歴など、俺とマッチング率98%なので、
PC向けの業務アプリを作っていると、マスタメンテナンスの一環として、登録データのCSVアップロードとダウンロード、もしくはそれらに準ずる機能を要求される場合が多い。依頼者曰く、膨大なレコードを1件ずつチマチマ修正する場合に面倒なので、CSVでババーッと修正してドドーッとアップロードできれば一括反映できて簡単でお手軽で便利で定時退社で5時から男だ、という事らしい。
そんな感じで、当初はあくまで一括処理のため、みたいな感じで要求されるのだが、作った後に実際の運用を調べてみるとほぼCSVアップロードだけしか使ってません、みたいな事になりがちだったりする。別にCSVアップロードを実装したところで1件ずつ登録したり修正したりする画面が無くなるワケではないし、どっちもあった方が良いのに越したことはない、というのは理解できるのだけど。
CSVアップロードとダウンロードによる一括作業のあるあるとしては、
・ユーザがCSVを編集するためだけにMicrosoft Excelを準備しなければならない(場合が多い)。折角Webベースの業務アプリにしようとなっているのに、Webとは別にCSV編集用のソフトウェアが必要というのは本末転倒な感じがする。「大体のパソコンにはWordとExcelが入ってますから」が常套句。
・CSVフォーマット自体がバリデーションを持たないため、アップロード後、サーバ側でチマチマとバリデーションを書く必要があり、それらをアップロード時のエラーとして丁寧に表示してやる必要がある。これがすこぶるウザい。リレーションなどが絡むと余計ウザい。ユーザも修正後2度3度4度とCSVをアップロードしなければならず、面倒である。
・データとして一括処理する前の作業が分業になっていて、CSVの行単位で分けたものを最終的にCSVとしてマージするというやり方にしたいという要求がある場合。社員1名が10000行のCSVをダウンロードし、それを手作業で100行ずつぐらいにしたものを、100人のパートタイマーに修正させる、等。そういうふうにCSVを分割してくれと言われたこともある。
・CSVファイルと画像ファイルをアップロードして画像も登録できるようにしろ、などと言われる。この場合、CSVのカラムに画像名を記載し、同階層にその画像名の画像を配置し、それらをZIPなどで固めてアップロードするなどの方法があるが、手順からして正気の沙汰とは思えない。画像のバリデーションなどもウザい。
・そんなふうにしてCSVアップロードを実装すると、処理が複雑すぎるせいで、最終的に属人的な業務になりがちだったりする。ZIP圧縮するときはこのアーカイバを使えとか、画像はjpgだけにしろとか、こちらが特に指定しておらず本来そうしなくてもいいような部分がヘンにローカライズされて面倒なことになっていたりする。
といったものが挙げられるかと思う。
・CSVの取扱をやめる。
・一括処理が必要なカラム等をヒアリングし、それを可能とする画面を作る。バリデーション等も考慮。
・編集時には行(ないしはページ)単位でロックをかけ、複数人での編集で衝突が発生しないよう考慮する。
・一括編集&バリデーションチェック⇢保存で反映、という流れだけなのでシンプル。属人的にならない。
といったようなものが考えつくが、これらを提案しても「いやいやいやいやいやいやいやいや、ここはCSVで」とか言われる事が多かったりして嫌になる。なんで皆そんなにCSVが好きなんだろう。
上記以外に、何か良い代替案とかあったら、是非教えてください。
「VRMMORPG系のデスゲーム」という限定があると、それはSAOみたいな「ログアウト不能」で「ゲームオーバー=死」という設定の作品のことになるんだよなあ。
最近流行のラノベにデスゲーム系が増えてきたって感じですかね。
漫画の「BTOOOM!」とかそうだけれど、あの手の作品は何らかにすぐれた人物が主人公となる、「魔法科高校の劣等生」的なものだよね。
でも、デスゲームが「魔法科高校の劣等生」などと違うのは、俺Tueee的展開をしない点で(すると作品テーマの否定だからね)、推理小説的ニーズなんじゃなかろか。