創作の墓場の中でも、最も重要な機能のひとつがファイルアップロードです。
このサービスは「創作物を埋葬する」という体験が軸になっているため、
アップロード機能は単なる技術的な処理ではなく、サービスの入口そのものになります。
今回は、このアップロード機能を設計・実装する際に意識したことを、実体験ベースでまとめます。
なぜアップロード機能が重要なのか
創作の墓場では、ユーザーは「使わなくなった創作物」を登録します。
つまり、
- 最初に触る機能がアップロード
- ここでストレスがあると離脱する
という構造になっています。
実際に試作段階で、操作が分かりづらいUIにしていたときは、
アップロード前に離脱してしまうケースがありました。
この経験から、「迷わず完了できること」を最優先に設計しています。
設計で意識した3つのポイント
① 迷わず使えるシンプルな導線
操作の流れは極限までシンプルにしています。
- ファイルを選択
- アップロード
- 完了
この3ステップで完結するように設計しました。
特にスマートフォン利用を前提にしているため、
- 入力項目を最小限にする
- 画面遷移を減らす
といった点を強く意識しています。

② 個人開発でも破綻しない運用設計
アップロード機能は便利ですが、運用面のリスクが非常に大きい部分でもあります。
実際に検討したリスクは以下のようなものです。
- 大容量ファイルによるサーバー圧迫
- 短時間での大量投稿
- 想定外のファイル形式のアップロード
これらに対して、以下のような制御を入れています。
また、対応範囲を広げすぎると初期段階の運用負荷が読みづらくなるため、最初から何でも扱える形にはせず、まずは管理しやすい範囲から始めることを意識しました。個人開発では機能の多さよりも、継続して改善できる状態を保つことのほうが重要だと感じています。
- ファイルサイズの上限設定
- 一定期間内のアップロード回数制限
- 対応ファイル形式の限定
ここはかなり試行錯誤した部分で、
制限を強くしすぎると使いづらくなり、緩すぎると運用が破綻します。
実際にシミュレーションを行いながら、「現実的に回るライン」を探っています。
③ オリジナルデータと表示用データの分離
もうひとつ重要なのが、データの扱い方です。
ファイルは用途によって役割が異なるため、
- ダウンロード用元データ(オリジナル)
- 表示・プレビュー用データ
を分けて管理する設計にしています。
この設計により、
- 表示速度の向上
- サーバー負荷の軽減
- ユーザー体験の改善
といったメリットが得られます。
特にプレビューについては、必要以上に重いデータを扱わないようにすることで、
スマートフォンでもストレスなく閲覧できるようにしています。
実際にぶつかった課題
実装を進める中で、いくつか想定外の課題にも直面しました。
大きなファイルがアップロードできない問題
ローカル環境では問題なく動いていた処理が、
実際のサーバー環境では制限に引っかかるケースがありました。
このときは、
- サーバー設定の見直し
- アップロードサイズの現実的な上限設定
を行うことで対応しました。
スマホでの操作性の問題
PCでは問題なくても、スマホだと操作が分かりづらいことがありました。
具体的には、
- ファイル選択後の状態が分かりにくい
- アップロード中かどうかが不明
といった点です。
課題に対して行った改善
上記の問題に対して、以下のような対応を行いました。
状態が分かるUIにする
- ファイル選択後に視覚的に表示
- アップロード中の状態を明示
これにより、「今何が起きているか」が分かるようになりました。
ローディング演出の導入
アップロード中の待ち時間についても、ただ待たせるのではなく、
- 画面全体でのローディング表示
- メッセージ表示
を入れることで、体験として違和感がないようにしています。
↓ローディングサンプル(選択された葬送方法により変化する画面)
ユーザー体験で意識していること
アップロード機能は技術的な側面だけでなく、「体験」としての設計も重要です。
創作の墓場では、
- 操作が直感的であること
- ストレスなく完了できること
- 完了までの流れが自然であること
を重視しています。
特に「待ち時間の見せ方」は、体験に大きく影響する部分だと感じています。
今後の改善予定
現時点でも基本的な機能は動作していますが、まだ改善したい点は多くあります。
- より直感的なUIへの改善
- エラー時の案内の分かりやすさ向上
- プレビュー体験の強化
実際の利用状況を見ながら、継続的に改善していく予定です。
まとめ
ファイルアップロード機能は一見シンプルに見えますが、
実際には多くの設計判断と調整が必要になる部分です。
創作の墓場では、
- 使いやすさ
- 運用の現実性
- 体験としての一貫性
のバランスを取りながら設計しています。
今後も改善を重ねながら、より良い体験を提供できるようにしていきたいと思います。
※本記事は、実際にレンタルサーバー環境で運用しながら得た知見をもとにまとめています。状況を見ながら、使いやすさと安全性のバランスを調整していきたいと思っています。
↓葬送したファイルのサンプル



