InfoMessengerリリース後の改修履歴を見て思うこと

・リリース後に大量の追加開発が発生

リリース後の1ヵ月で概算で合計50項目の機能追加、機能変更、バグ対応が発生した。

かなりの開発ボリュームだが、どれも必要な対応だったと思っている。

本当はリリース前にその必要性を認識できていればよかったのだが・・・。

実際にリリースされて自分が使ってみることで、初めて色々と見えてくるものがある。

これだけの開発ボリュームが必要になったのは、SNS型サービスという理由が大きいだろう。

SNS型サービスという観点から見ると、最低限必要な機能が大きくなるのだ。

実際の開発では、それぞれの項目の開発に対してサブタスクが発生するので、細かい開発項目数はこの5倍程度に膨らむ。

・SNS型サービスの開発は大変

やはりユーザー登録性のSNS型のサービスはどうしても開発規模が大きくなる。

完全匿名性や、メディア型の発信オンリー系ならば確実に開発量は小さくなる。

ユーザー登録型のシステムの場合、完全匿名型やメディア型と比べて以下の開発が発生する。

1.ユーザー管理機能
2.ユーザー登録機能
3.ユーザー退会機能
4.データの公開範囲制御機能
5.ユーザーの操作履歴機能
6.ユーザーの不正操作防止機能
7.ユーザーの権限管理機能
8.ユーザーへの通知機能

これらの開発量の多さと設計の難易度の高さは厄介だ。

完全匿名型、メディア型では上記の開発は丸々不要となるのは大きい。

しかも、上記の機能の設計パターンの情報は全く流通していない。

だから設計段階から手探りでの開発になるのも痛い。

・ユーザー管理の設計情報は公開されるのか?

今回実際に開発してみてわかったが、これらのユーザー管理系の設計論は一冊の本になるくらいのボリュームがある。

本来は10年前には経験者が本にまとめて出版してくれればよかったのだが、それらのWEBサービスは大抵は企業の所有物なので設計情報も企業機密になっている。

だからユーザー管理系の設計論は今後も一般に公開されることはないと予想する。

無論、残念ながら、私にはそのための時間的余裕も技術的な蓄積もない。

・まとめ

SNS型の開発は大変。

ユーザー登録型のWEBサービスを開発している個人開発者は複数いるが、皆ユーザー情報管理の設計については何も語っていないのも不気味だ。

 

■機能追加

1.ルーム内のメッセージの編集履歴情報の表示機能

2.メッセージ単位の編集回数制限の制限機能の追加

3.ルーム画面に「テキストエリアの高さを拡張する」機能を追加

4.非公開ルームからの退会機能

5.ユーザープロフィール画面から対話ルームへの遷移機能

6.ユーザープロフィール画面に参加中の非公開ルームを表示する機能

7.ユーザーブロック機能

8.通知機能の追加

9.ルーム入室時のルーム内ユーザー表示機能

10.管理用機能として空フォルダ削除機能を追加

11.非公開ルームへのメンバー参加拒否機能

12.ルーム画面の通知音機能

13.メールアドレス非登録でのユーザー登録機能

14.ユーザーアカウントの登録制限機能

15.システム管理者によるユーザーアカウント削除機能

16.入室中ユーザーありのアイコン表示機能

17.OGPタグの追加

■機能変更

1.ユーザー登録画面のレイアウト変更

2.メールアドレス変更画面の改修

3.ユーザープロフィール画面の改修

4.メッセージ内のURLのクリックの可否を権限によって制御するように変更

5.メッセージ編集履歴の表記の簡略化

6.メッセージ編集履歴に実行者を追加

7.ルーム画面内でメッセージ編集を実行後に編集ダイアログを自動的に閉じるように変更

8.ルーム管理者のメッセージの機能強化

9.メール設定画面の改修

10.ブックマークユーザー一覧ダイアログの改修

11.ホーム画面内のアイコンへのリンク追加

12.ルーム画面のメニューへのリンク追加

13.ログ出力のWARNレベルを専用のログファイルに出力するように変更

14.ルーム画面のメッセージブロック内の仕様を変更

15.ユーザー登録画面のパスワードのフィールドをパスワード属性に変更

16.パスワード更新画面のパスワードのフィールドをパスワード属性に変更

17.ユーザー登録画面のレイアウト変更

18.ユーザー登録画面のワンタイムパスワードの仕様変更

19.パスワード更新画面のワンタイムパスワードの仕様変更

20.ユーザー一覧テーブル部品の改修

21.ユーザー選択画面の改修

22.送信データ全削除処理の改修(排他制御化)

23.ユーザーアカウント削除処理の改修(排他制御化)

24.ルーム削除処理の改修(排他制御化)

25.ルーム画面内のURLリンクの遷移方式の変更

 

■バグ対応

1.ルームのWebSocket接続が切れてしまう問題に対応。

2.お知らせ画面で、詳細の列のルームIDが2重に表示されるバグを修正。

3.通知機能の不要な通知の削除

4.システム内部の処理を色々と改修(トランザクション設計バグの改修など)

5.ユーザーアカウント削除処理が失敗するバグの改修

6.メール通知機能でメールアドレス変更前のアドレスに送信するバグの改修

7.特権関係の権限があるときに検索画面のバグチェックを回避するように修正(システム内部バグ)

8.使用不可のユーザー、ルームのプロフィール画面の表示バグの修正

■修正対応

1.全CSSファイルの先頭に、[@charset “utf-8”;] というエンコード定義を追加。

2.スマホ版のルームテーマのデザインの変更(文字サイズ拡大)