読者です 読者をやめる 読者になる 読者になる

ぶるーすくりーん

ぽんこつプログラマ日記

結婚式で写真共有サービスを公開した話

先日、結婚式を挙げてきました。
その際公開した写真共有サービスについての制作記録です。

サービスをつくろうと思ったきっかけ

最近の式場というのは

「お2人らしい結婚式にするために、何かテーマを決めるといいですよ?」

「お2人の共通点とか」

「ディズニーとかジブリとかテーマにしては?」

みたいなことを薦めてきます。
「2人らしい」って言われても…そもそも「2人らしい」って言っておきながらディズニーとかジブリとか薦めるのはどうなの??


また、披露宴会場に複数のモニタがあって、そこで好きなものを流してよいと言われていました。
ここでも「お2人らしい」何か動画を流されては?みたいなことを言われます。


そんな難しい質問の数々に頭を悩ませるマリッジブルーな日々を送っていました。

カメラマンについても、プロを雇うのか、誰かにお願いするのか…と思っていたその時です。

せっかくみんな自分の携帯で写真とったりするのだから、その写真をその場でモニタに映して共有できたら楽しいかも!
さらに、その写真をあとからダウンロードできるようにすれば、プロのカメラマン雇わなくても、誰か個人にお願いしなくてもステキな写真が手に入る!?


そういうサービス無いかなーと探してみたけど、当時はそのようなサービスはありませんでした。
これは、 当然つくるしかない と!
オリジナリティもばっちりと!

リアルタイム写真共有サービス「ぱふぉしぇ」

前置きが長くなりましたが、そんなわけでリアルタイムに写真を共有するサービスをつくりました。
名前は、覚えにくいとのつっこみも一部からいただきましたが「ぱふぉしぇ」です。

ソースはこちら: https://bitbucket.org/mid0111/party-photo-share

アプリをダウンロードして…とかだといちいちめんどくさいだろうなと思い、今回はブラウザ経由で操作するサービスにしました。
そして当日は、サービスのURLをQRコード形式で配布して使ってもらいました。

機能としては、

  • ユーザ用
    • 写真アップロード画面
    • みんなの写真一覧画面
    • お気に入り機能
  • スクリーン用
    • 写真がアップロードされたらその写真を表示
    • アップロード写真が無いときは過去に登録された写真をスライドショー表示

細かいシステム構成みたいのは、下記のスライドにまとめてあります。

苦労した点

デザイン

もともと、クライアントは趣味でちょろっとかじってますレベルだったので、デザインしたりそれを表現したりってところがとても難しかったです。

画面が思ったようにつくれなくて、ほとんどの時間をそこに使いました。

CSSの書き方も恥ずかしすぎる感じなのですが、それでもなんとか形になったのはよかったです。

最近「CSSの教科書」読んで、CSSの設計についてお勉強中です。

性能

利用者数は50人程度。
個人でつくったアプリであることを知らせつつ、結婚式に来てくれた心優しいゲストの皆様に使ってもらう。

という設定上、性能はそんなに気にしなくて大丈夫かな〜とか思ってました。

ところがいざつくってみたら、アップロード中に写真一覧しようとすると10秒かかる!!

原因はスライドにもちょこっとのせたけど、ざっくり言うと node (express) に関する知識不足でした。

1人で遊びのサービスならいくつか書いてきたけど、実際に運用を目標にすると全然知識ないなぁと痛感する出来事でした。

公開前日にFacebookログインできない問題発覚

結婚式の前日、前日入りしていた母にサービスを使わせてと頼まれてURLを教えてあげました。
ところが、彼女はFacebookでログインできないと言います。

どうせパスワード間違えでしょと思いながら画面をみせてもらうと

「このアプリは development モードだから author 以外は使えないよ」

というような内容のエラーメッセージが!!!!!

あわてて本番公開用の設定をしようにも、なんだかたくさんのサイズの画像を登録しないとダメだとか。。。

あきらめよう…

ということで、泣く泣くFacebookログインボタンは前日に消去しました。
でも、前日に気づけて良かったです。

感想

今までのんびりとはいえ、node.jsとかクライアントサイドとか勉強しているつもりだったけど、いざ人に使ってもらうサービスを書くには知識が足りなすぎることに正直驚きました。

趣味でコードを書いていると、サンプル実装真似てみたり、ちょっと面倒な実装はそのうち…と思ってて一生書かなかったりと、妥協し放題でつい妥協に走ってしまう。
趣味なんだし、妥協がダメとは思わないけど、自分が何を身につけたいのかを忘れちゃいけないと思いました。

また、サービスを公開してもいいかな?レベルまで作り上げるためには、どこにどうやってデプロイして公開するかとか、どの程度の多重度に耐えられればいいかとか、想像以上に色々なことを考えなくてはいけなくて、

でもそういう風な運用設計的なフェーズって実際のサービス運用には欠かせないことで、リリースを前提にしないと妥協しがちなことなので、これからもサービスをリリースすることは続けていきたいと思いました。


それから、当日はたくさんの人に自分のつくったサービスを利用してもらえてとても嬉しかったです。
これからも人に使ってもらえるサービスをつくっていきたいなぁと思いました。

そして、結婚式でオリジナルサービスを公開するという無謀な野望を支えてくれた旦那様、サービス作成中に色々とアドバイスをくれた兄、当日心よくサービスを利用してステキな写真をたくさん投稿してくださったゲストの皆様に感謝の気持ちでいっぱいです。


これから結婚式を挙げる方がいらしたら、オリジナルサービスの公開オススメです。
こんな善意でサービスを使ってもらえるチャンスは逃せません(笑)