スプレッドシート+Google Apps Scriptでプロトタイプを作る(Flaskで簡単なWebサービスを作ってみる[第1回])
はじめに
PythonのWebアプリケーションフレームワークFlaskを使って、簡単なWebサービスを作ってみます。
→ 前回 : Flaskで簡単なWebサービスを作ってみる[第0回]
今回作るのは「消耗品買い物リスト」。
具体的に開発を始める前に、プロトタイプを作って使い勝手を実際のユーザー(妻)にヒアリングします。
注意: まだFlaskは触りません。
プロトタイプ
プロトタイプといっても相当に簡易なものです。
- ふせんに画面イメージを書く
- ユーザから意見をもらう
- スプレッドシート+Google Apps Scriptで簡単に実装
- ユーザから意見をもらい、自分でも使ってみる
ふせんに画面イメージを書く
まずは画面イメージを書いてみます。
ふせんをiPhoneの画面に貼り付けながら、どんな操作感になりそうかイメージしながら書いてみます。
一画面で、そこまで凝ったこともしないので5分もかからず作成。
ユーザから意見をもらう
作ってみたふせんをiPhoneの画面に貼り付けた状態でユーザーに見せて意見を聞いてみます。
「ステータスがいつの情報か知りたい」というフィードバックをもらいました。
確かに…。採用。
こんな感じになりました。
スプレッドシート+Goole Apps Scriptで簡単に実装
フィードバックをもらって調整を加え、今度は実際に動くものを作ってみます。
Google SpreadsheetとGoogle Apps Scriptでサクッと作ります。
機能は以下:
– 品目、ステータスを管理できる
– ステータスを更新すると最終更新時刻が更新される
1. 品目、ステータスを管理できる
スプレッドシートでメイン画面を作成。
ここでステータス名を言葉から記号(◯,△,×)に変更します。
ステータス名はIDで管理した方が良さそうです。
2. ステータスを更新すると最終更新時刻が更新される
ここの実現にはGoogle Apps Scriptが必要でした。
「セルの更新を検知→更新セルがステータス列なら、その隣のセル(最終更新日時)に現在時刻を入力」
という流れです。ググりながら実装。
- セル更新の検知 :
Google Apps Scriptで値の変更をトリガーにしつつ変更されたセルの行番号と列番号を知る - 隣のセルの取得 : Google Apps Scriptで隣のセルを取得、選択、アクティブセルを隣に移動する:Googleスプレッドシートの使い方
- 日時を取得して更新 : 【Google Apps Script入門】セルの取得・変更をする | UX MILK
これでメインの機能ができました。
PC
スマホ(スプレッドシートApp使用)
使ってみる
実際に触ってみたり、フィードバックをもらったりしながら、使い勝手や課題が解決できそうか?という点を検証します。
結果、以下のような課題が出ました。
- 機能面の課題
- ステータスを更新したらソートしたい。(×→△→◯の順)
- 品目が増えると探すのが面倒になりそう
- 品目で何を買うべきか知りたい
- 商品画像やURLがあると良い?
- スプレッドシートの課題 : レイアウトや使い心地はそんなによくない
- スマホからの見栄えが悪く、水平スクロールやピンチイン・ピンチアウトなどの情報が見渡せない
- スマホで操作するにはもっさりしている
- 特にステータスを変更するときのセルをタップ→ステータスリストを表示→ステータスの選択という流れは出先で忙しいときにやってられない
- 実運用の上ではサクサク動くことが重要
- 品目の追加はスマホからだと面倒くさそう
- etc
機能面で詰める必要があるものの、
開発のきっかけである「消耗品の買い忘れが多い」課題は解決できそうなので、この方向性で進めていきます。
ちなみに、この段階で「Webサービスじゃなくてスプレッドシート+GASでいいんでは?」という気持ちが出てきました。
実際、上記のスプレッドシートの課題もスプレッドシートの工夫でどうにかなるかもしれません。
とはいえ、今後の手の入れやすさを考えると、スプレッドシートでなんとかするのに労力を割くよりは、Webサービスとして作った方が良いと判断しました。当初の予定通りFlaskで構築していきます。
終わりに
今回、プロトタイプを作って使ってみる、まで進みました。
次はUI設計とデザイン。
現状のスプレッドシートやふせんからもう少し踏み込んで、
スマホのWeb画面としてイメージができるぐらいには作り込んでいきます。
ディスカッション
コメント一覧
まだ、コメントがありません