使うのは誰かで変わるサービスの実装!

Silicon Valley Super Ware

2020年7月22日


使うのは誰かで変わるサービスの実装!

前回から、今回作成したSendGridのサービスを利用してメッセージを送るサービスの 「チューニング」についてお届けしています。
前回は、「使い心地」を良くする工夫について考えてみました。

最初に必要な情報を読み取っておく事で、実際にサービスを使っている時の 待ち時間を最小限にする工夫について解説しました。

ちょっとした工夫ですが、実際に使ってみると結構大きな違いになります。
今回は、他の機能、つまり、宛先の登録、削除、更新や、 同様に、登録送信者や、配布リストを管理する機能を含めた完全なサービスにした場合を 考えてみます。

宛先を登録すると、事情が変わる!

最初に、宛先を登録した倍を考えてみます。当たり前ですが、宛先を新たに登録すると 当然、最初に読みこんんだ宛先とは変わってきます。
今回のサービスはメッセージを送る際にフォームから、登録宛先を選んで送るというサービスです。

宛先を追加したら、登録されている宛先の情報を更新しないと、新たに登録した宛先には送れません。

つまり、フォームで表示される宛先のリストを更新する必要があります。
この場合、最初に読み込みだけではダメという事になります。 一つの方法は、オリジナルの仕様通りにフォームを立ち上げる度に情報を読み込んで更新するという方法です。
この場合、毎回メッセージを送る度に読み込むため、利用者は毎回待つ必要があります。
この待ち時間を何とか改善できないかというのが今日考える事です。
読者の皆さんならどのように作りますか?
一つの方法は、新規に登録した直後に、新たな情報を取得して常に最新の情報を保つというのが シンプルで作りやすい方法です。他には良い方法はないでしょうか?

この時に大切な事は、Webサービスが「どのように使われるか」です。

使いかたが分かるといろいろな方法が見えてきます!

「どのように」と同時に「誰が」も考えるのが大切です。
例えば、このWebサービスをある特定の個人が使うのか、それとも複数のユーザーが使うのか によっても事情が変わってきます。
宛先などの情報が利用者一人一人に対応する場合は、意外に話は簡単です。
理由は簡単で宛先や登録送信者といった情報を使うのは「一人だけ」だからです。
ところが、同じ宛先を複数の人が共有して使う場合になると話が変わってきます。

例えば、会社などでこのサービスを営業メールの発送に使う場合などです。

この場合は宛先は「顧客」や「見込み客」などといった、会社内で共有されている情報を 利用する事になります。

情報の同期

会社などで、情報を共有する場合は、誰かがデータを更新したら、他の人も更新されたデータが 見たい場合が殆どです。
当然ですが、このような場合は、複数の人が同時に別の端末(PC)でサービスを使う事は 普通に起こります。
一方で、各個人で固有の情報を使う場合、同時に別の端末からサービスを使うケースは限れれてきます。 まあ、最近ではスマホとPCを同時に使う事は結構あるかもしれませんが、会社のような携帯とは 明らかに使いかたが違ってきます。
今日はシンプルな例として、個人で利用する場合で、あまり複数の端末を同時に使うことが無い場合に ついて考えてみます。
この場合は比較的シンプルです。当然更新する情報はSendGridのサーバーに送って大元のデータを 最新の状態にします。そのうえで、現在保持している情報を直接更新してしまうというのが一つの方法です。
この方法を使うと、改めてSendGridから情報を取得しなくても、VUEXなどで管理している 情報を更新するだけですから、殆ど待ち時間は必要ありません。 情報を更新する人も基本的に「情報の所有者」に限られる場合が殆どですから、 同時にサービスを利用している人を考慮する必要もありません。
SendGridの情報更新は別にリクエストしているので、次回にサービスを立ち上げた時に SendGridから最新の情報を取れば良いので実装もシンプルです。
所が、複数の人が、異なる端末で同時にサービスを利用する場合は話が変わってきます。 この場合は、ある程度利用する情報を更新して「情報の同期」という処理が入ってきます。 同期が難しい場合は、使うたびにその情報を取得するという事になります。 次回はこのケースについて考えてみます。
シリコンバレースーパーウエアでは、バックエンドを含めた本格的なWebサービスを短期間で 作れるようになる講座を提供しています。 単純に、Webサービスを作るだけではなく、どのように作って、どのようにビジネスにつなげて 行くかを提供します。また、フリーランスの方だけではなく、就職を考えている方にも 「実践力」を養うことで「即戦力」のエンジニアとしてのスキルを身に着ける事ができます!

興味のある方は今すぐお問合せください!



またよろしければ、ニュースレターの登録をお願いします!大体週一回お届けしています。ブログよりは一歩踏み込んだもっと濃い内容を発信しています。


Copyright(c) 2020 by Silicon Valley Super Ware, all rights reserved.

コメント

このブログの人気の投稿

ユーザーインターフェースの設計

足し算以外もできるようにする

改良版足し算プログラム