プログラミング

プログラミング

PR

メッセージアプリを作成する際に検討すべき点 ユーザ認証やメッセージングプロトコルの解決策を検証しておく

UX Planet

UX Planet is a one-stop resource for everything related to user experience.

本記事は、Key Points of Creating a Messaging App
翻訳・再構成したものです。
配信元または著者の許可を得て配信しています。

2,288 views

読了時間 : 約11分25秒

実施段階におけるソフトウェアエンジニアの大きなミスのひとつが、直面している特定の問題に関する理解不足、または正しい解決策を見つける意欲の欠如です。そのうえ、そこには狭い知識しかありません。したがって、何らかの問題が発生した時に選択する回避策は、通常、全ての問題を解決するわけではありません。

 

 

 

いくつかの応用を始める前に、ゴールを設定することといくつかの質問に答えることが重要です。

 

 

・なぜクライアントはこのアプリが必要なのか?

 

・それにはどのような価値があるのか?

 

 

混乱したままにせず、ターゲットとなるオーディエンスや将来のスケーリングなど、全ての重要なことは最初から定義する必要があります。

 

 

あなた自身に問いかけてみてください。プロジェクトを始める時に、なぜプロトコルを定義することが重要なのでしょうか?

 

 

 

 

選ばれたプロトコルはアプリに影響を与えるので、あなたがアプリを構築するための答えはすぐに見つかります。

 

 

・ハイスピードでデータを交換するキャパシティ

 

・セキュリティと暗号化

 

・解決策の構築

 

・ボイスコール&ビデオコールサポート
(はじめと終わりで違うプロトコルにできる)

 

・プロトコルを通してデータ量を送信
(例えば、100人のユーザーがいるメッセージングアプリのグループは、音声通話以上のデバイスをロードできます)

 

・3人以上のメンバーとチャットをすることは不可能

 

 

これらは、メッセージングアプリをつくるためのいくつかのプロトコルです。これらは、XMPP,MTProtoです。

 

 

それぞれの長所と短所があります。特定のテクノロジーが、他のテクノロジーよりも優れているか、いないかを判断するのは非常に難しいことです。あなたが選ぶものは、常にあなたのビジネスモデルに依存しなければなりません。最も頻繁に発生する問題は、初期要件を満たさない選択されたシステムから始まります。

 

 

ケース

 

 

・開発当初、実装したアンドロイドのクライアントは、アカウントで考慮されませんでした。したがって、選択されたライブラリはアンドロイドではサポートされず、その結果、将来的には、クライアントは既存のクライアントを他のプラットフォーム用に書き換えることなしに、そのアプリケーションを新しいオーディエンスに拡張することができませんでした。3人以上のチャットを作ることもできませんでした。さらに、サーバーはモニターで監視するためには調整されず、検閲を追加したり、単にボットを作成することさえ不可能でした。したがって、スケーラビリティに関する重大な問題につながる可能性があるため、最初はソリューションを賢く選択することが不可欠であることを常に覚えておいてください。

 

 

・もうひとつのケースでは、複数のデータを提供することを不可能にする既製のプロトコルと関連しており、将来的に増大する要求に対応することはできません。プロトコルを変えることは、アプリ全体を再開発することを意味します。それは、UIを変えることと繋がりますが、見た目は同じです。内部構造に必要なものは、置き換えられ、再開発されます。

 

 

・有料システムを選択すると、痛みがでることがあります。意思決定において、メッセージ配信を考慮しないか、特定のアプリ内で他のやりとりをすると、著しい経済的損失が生じる可能性があります。

 

 

おすすめ

 

 

初めに賢く選択された解決策は、後で時間とお金を節約します。プロトコルを選ぶ時には、本質的なアイディアをいつも覚えていてください。

 

 

選んだものは全てを解決することはできませんが、アプリに置いて重要なところはカバーします。いくつかのケースでは、プロトコルのカスタマイズや、自身で開発する方法もあります。

 

 

 

 

スケーラビリティとは、トラフィックとユーザーアクティビティ・サーバーへのリクエスト数を増やすことです。アプリの中で明らかにユーザー数が増えている時には、サーバーは対処するために停止し、シャットダウンします。はじめからスケーラビリティを検討する時には、成長の基盤を築き、行き止まりになって需要を遅らせるという落とし穴を避けます。

 

 

スケーラビリティは、バックエンドに影響を与えることができます。もしアプリケーションがスケーラブルでなかったら、新しい機能を追加することは、グリッドロックを引き起こす原因になります。コードは複雑になり、新しい機能は組み込むための悪夢になるでしょう。

 

 

 

おすすめ

 

 

1.スケーラビリティの問題を検出するための、バックエンド監視、及びヘルスチェックシステムを実装しましょう。

 

 

2.何千ものユーザーがネガティブなレビューを書く前に、どの期間のパフォーマンスが悪化の原因かを理解し、悪化のポイントを修正するため、リリース前に負荷テストを実施しましょう。

 

 

 

ローカライゼーション

 

 

ローカライゼーションとは、デフォルト以外を他の言語でカスタマイズするプロセスです。ローカライゼーションはローカルなものを参照するので、同じ単語の方言や、様々な音声表現を含むことができます。ローカライゼーションに関する本質的な部分です。

 

 

 

1.正しい翻訳

 

 

 

ケース

 

 

・ノンネイティブスピーカーによる間違ったスラングや、インフォーマルな言葉も理解されます。

 

・翻訳された言葉のテキストは、原文より長いか短くなるため、レイアウトの見た目がおかしくなります。または、翻訳の最後が視覚的に認識されません。

 

・異なる書かれ方や方向(右から左、または左から右)の言葉のローカライゼーションは、ユーザーに異なる印象を与えたり、混乱させます。

 

・最も小さいフォントサイズは、ソース言語に受け入れられます。(アプリケーションを作った時のオリジナルバージョン)しかし、他の言葉の翻訳テキストは読めません。

 

 

 

 

2.翻訳ポジションの正しいディスプレイ

 

 

 

 

ケース

 

 

・言葉や言葉のコンビネーションは、部分的に翻訳されます。しかし、ローカライゼーションは、OSのセッティングによります。

 

・ジオロケーションの翻訳トラブルによって、ユーザーは、求めている目的地への行き方を理解できません。

 

 

 

 

おすすめ

 

 

アプリコンテンツのローカライゼーションは、ビジネスがよりマーケットに到達し、個別にものを顧客まで届けるのを助けます。それは、透明性と移植性を維持するのに役立ちます。また、戦略のための援助は、高い利益と高度なROIを生産するのを助けます。ほとんどの企業家がしている努力は、ビジネスを世界の異なるところに届け、顧客を楽しませます。マルチリンガルメッセージアプリはトレンドです。アプリを新しいロケールにローカライジングするには、時間とお金の面でコストがかかります。投資した中で最もリターンが多くなるよう、正しい方向性を見極めなければなりません。

 

 

1.マーケットは地域や国をリサーチし、見なければなりません。それを土台にして、アプリは言葉やローカルなものをカバーします。

 

2.他の言葉と同じ意味の言葉が連結ストリングを使うのを防ぐことは、英語より他の言葉で埋め尽くすことを可能にします。そのようなシナリオでは、テキストプログラムの拡大のため、いくつかの追加スペースを残すべきです。

 

3.もっと少ないエラーから素早く、UTF-8エンコーディングのストリングを適用します。

 

4.全ての言語のためのローカライズアプリケーションテストは、理解されていないテキストであることは確かです。誤った解釈は、文脈外翻訳または攻撃的なコンテンツです。

 

 

 

 

クラウドストレージの良い解決方法は、ドキュメントや画像、ビデオのバックアップをとることや、全てのデバイスを同期することです。それは、デスクトップやラップトップ、タブレットや携帯が、デジタルコンテンツにインスタントアクセスするための最も良い方法です。クラウドストレージは、もし受信側のユーザーがオフラインでも、ファイルの送信を有効にします。また、ウェブブラウザからのアクセスや編集を可能にし、他の人とファイルとフォルダを共有することを可能にします。

 

 

 

 

ケース

 

 

・クラウドストレージは、セキュリティの問題に直面します。

 

・インターネット環境がなければ、ファイルにアクセスできません。

 

・チャージクラウドのフリーアップロードでは、画像とビデオが低クオリティに圧縮されます。このデータはきっと、受け入れられないでしょう。

 

 

 

おすすめ

 

 

1.もし意味のある、または機密データを持っていたら、データを暗号化するのが良いでしょう。

 

2.もし圧縮せずにデータをアップロードできたとしても、そのデータは保存容量の多くを埋めるでしょう。また、クラウドのフリースペースには制限があるため、料金を支払わなくてはならなくなるでしょう。

 

3.メッセンジャーの機能は、ロードバランスと共に、それらの問題を予測すべきでしょう。

 

・もしオーバーロードをしたら、サーバーは落ちるでしょう。

 

・もしロードスピードが遅ければ、パフォーマンスも下がるでしょう。

 

 

ロードバランスは、サーバーのバックエンドグループ中に、受信ネットワークトラフィックを効率的に配ります。それは、サーバーファーム、またはサーバープールとして知られています。ローディングが増えている時には、追加のサーバースイッチは、全てのリクエストを共有します。通常のサーバーロードが上手くいった時には、他のサーバーが落ちます。(自動スケーリング)ロードバランスは、サーバーとウェブになれます。メッセンジャーによって、アカウントチャンネルの幅で行わなければなりません。

 

 

 

 

おすすめ

 

 

1.いくつかのステップが既に進んでいると、いつも思っています。はじめからアカウントで、有効なスケーリングができない時には、未来のスケーリングは首のリアルな痛みかもしれません。

 

2.ウェブサーバーとそれを使用しているクライアントの間にロードバランスを配置すると、Webサーバーインフラストラクチャの設計、配信、及び管理が簡単になります。

 

 

 

 

ユーザー認証、身分証明、コンプライアンス手続きは、アカウントセキュリティにおいて大切です。多くのアプリケーションには、人の認証や身分証明は重要であり、この手続きは、既にフィンテクで必要となっています。同様に、暗号の分野でのユーザー認証にも注目が集まっています。このプロセスは重要なステップになるでしょう。これは、本物のフィアットマネーを暗号化して送信し、カードに出金することを可能にしました。本物のお金に関するいくつかのアクションには、身分確認が必要でしょう。しかし、どこででも認証は必要とされているでしょう。

 

 

以下は、ユーザー認証の例です。

 

 

 

 

Ⅰ.ケース

 

 

完全な手動操作における、ユーザー認証のミステイクが起こります。(ドキュメントや入力データを確認するためには、リアルパーソンが必要です)このミステイクは、未来のスカラビリティ問題につながるでしょう。

 

 

・ユーザーのナンバー確認の後、増えるナンバーリクエストに対応しきれなくなるでしょう。

 

・要因。(チェック忘れ、何かを間違えたり答えが適切ではない)

 

 

 

 

Ⅱ.ケース

 

 

モバイルデートアプリケーションが開発され「PRO」という特別なカテゴリーのユーザーは、認証が必要になります。手動認証による問題がまた起こり、当日中では解決できず、何時間もの作業を必要になるでしょう。

 

 

 

 

おすすめ

 

 

1.金融業界は更に進みました。「KYC(https://medium.com/swlh/know-how-to-know-your-customers-825047c79b7)」ステップは自動です。ふたつのリクエストの後、ユーザーに関する全ての情報を確認することができます。KYCは決定プロセスを加速し、アプリによって機能を提供された人は、有効になります。

 

2.「Two-Factor Authentication (2FA) 」または「multi-factor authentication (MFA)」は、ビジネスのための追加セキュリティレイヤーです。通常パスワードからのアプローチによる脆弱性を、解決する手助けをします。アカウント登録の際にユーザーが電話番号を入力する時、または、新しいアプリケーションをダウンロードする時、モバイルデバイスと電話番号が繋がり、アプリを使用する前に有効になります。確認済みの電話番号をエンドユーザーに関連付けたら、アカウントのライフサイクルを通して安全にアクセスできるように、ユーザーのモバイルデバイスをグローバルトラストアンカーとして確立します。

 

3.ソーシャルネットワークとグーグルアカウントの「OAuth2 Authentication」と「Login Integration」
Oauth2は、APIの認証アクセス方法として好まれています。ユーザーメールアドレスとパスワードで、追加アプリなしで認可します。代わりに、追加アプリはユーザーアカウントの認可トークンを受信します。

 

4.「Real-time security intelligence」と「reputation scoring」は、電話番号認証の時に詐欺と戦うためのサービスを提供します。電話番号の解析中に、有効なデータ属性とリスクアセスメントを得ることができます。アカウント登録を確認することは可能で、それはボットやスパマーの一括登録、何千もの偽アカウントではありません。電話認証のシンプル化は、アカウントの登録プロセスです。最後のユーザーが電話番号を提供し、一度確認すると、ユーザーはWebサイトやモバイルアプリケーションを管理しはじめることが可能です。

 

 

 

 

コンテンツモデレーションは、コミュニケーションが取れる場合や取れない場合においての、モニタリングとルールの予備設定申し込み、ユーザーの投稿作成のガイドラインの最も良い定義です。アプリのターゲットオーディエンスは、コンテンツモデレーションを決定します。「プレモデレーション」「ポストモデレーション」「レアクティブモデレーション」「ユーザーモデレーション」の4つのモデレーションがあります。

 

 

プレモデレーション オンラインで今まで作られたことがなく、適切なものではありません。いくつかの攻撃や、ブランドの評判にダメージを受けることを、防ぐためのものです。モデレーションのこの方法の欠点は、コメントが返ってくるまでにユーザーをイライラさせることです。彼らが気付いたり気付いたりしていないのは、仮想モデレーションキューに移動しているということです。

 

 

ポストモデレーション 今までのものとは違うUGC(User-Generated Content) で、すぐにオンライン上に表示され、同じ時間にモデレート用の仮想キューに参加し、ユーザーがリアルタイムでディスカッションに参加できるようにします。会話のフローは、妥協していません。不適切なコンテンツは関連チームでパスされ、それがルール違反だとみなされた後に置き換えられます。しかし、それは早く正確な返信をするためには重要です。

 

 

リアクティブモデレーション は、不適切なコンテンツに関するリポートに依存します。クリックすると、モデレーターの内部チームはレビューをチェックするか、必要であれば問題のある投稿を置き換えます。リアクティブモデレーションは、暴力的なものや違法なコンテンツを、サイトオーナーからシフトさせます。無数の誤検知による結果については、ユーザーはリポートを出すことができます。オンラインコミュニティで、作業量とコストを増やさずに、スケーラボーと便利さを拡大させます。しかし、この方法の全てが良いという訳ではありません。リポートがあった後に記事を置き換えるのでは、最新ニュースへの対応としては遅すぎるかもしれません。

 

 

ユーザーモデレーション は、全てのユーザーがUGCをどう有用に、適切にするかを決められると思っています。もし有用ではない、適切ではないものが一定数あった場合、自動的に隠れます。リアクティブモデレーションのように、チェックの種類はオンラインコミュニティの中で、コストや作業の追加なしに測ることができます。しかし、ユーザーモデレーションは、リアクティブモデレーションと比べてリスクがあります。アクションを起こす前に、不適切なコンテンツやネガティブなものが見られてしまうからです。不適切なものが、長時間オンラインのままになります。

 

 

 

 

おすすめ

 

 

ノーモデレーションはオプションではないと理解しました。

 

 

このように、

 

 

1.常に最初のゴールと優先ポイントを見直しましょう。

 

2.コンテンツの管理には、バックエンドとモバイルアプリケーションの内部でAIとMLを使用します。

 

 

 

 

全てのプロセスのクリアなビジョンは、どのように移動するかを理解すること、可能性のあるミスの予測、正しい解決方法でミスを防ぐことです。全てのものは、突然言われ始めたものではありません。しかし、経験を積んでいます。また、知識や全ての方法、良い練習、特定のアプローチを身に着けました。DashDevsは、コンピューターサイエンスの力について、強く語れることを誇っています。AIと機械の勉強は、ゲームを変え、価値のあるブランドの声を広め、私たち自身を科学技術クルーと思わせるでしょう。

 

 

渇望しましょう!次の記事で、実際に使われている特定の異なるプロトコルについて、ディスカッションしましょう。

おすすめ新着記事

おすすめタグ