Top Banner
THE PROBLEM …. Chat clients are mostly based on servers : Server crash will affect all users. High server overload. Speed of the server is a bottleneck. Old architectures = happy hackers. Outdated and basic interfaces .
13

The problem ….

Feb 20, 2016

Download

Documents

VAUGHAN

The problem …. Chat clients are mostly based on servers : Server crash will affect all users. High server overload. Speed of the server is a bottleneck. Old architectures = happy hackers. Outdated and basic interfaces . The solution …. Peer to peer (p2p) Less work for the server. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: The problem ….

THE PROBLEM …. Chat clients are mostly based on servers :

Server crash will affect all users. High server overload. Speed of the server is a bottleneck. Old architectures = happy hackers. Outdated and basic interfaces .

Page 2: The problem ….

THE SOLUTION …. Peer to peer (p2p)

Less work for the server. Communication between two computers is

bound by their own bandwidth performance. Once a couple is paired, they’re Independent.

WPF (Windows Presentation Foundation) More powerful GUI, supports hardware

Acceleration. User Friendly interfaces. Series Graphics – 3d Animation . Happier user !

Page 3: The problem ….

PREVIOUS TRIALS …. Naturally, there has been various trials to

implement peer-to-peer chat. although, problems were always related : Bound to illegal programs, e.g. file sharing

clients. Developed by high profile users for high profile

users. Limited purposes. Complicated interfaces.

Developed with older tools Have compatibility issues with newer systems. Security and privacy vulnerability. Lack of usage of newer technology and tools.

Page 4: The problem ….

TECHNOLOGIES …P2P:

ישירה תקשורת על שמבוססת ברשת משתמשים חיבור ארכיטקטורת. המשתמשים בין

.Net: ,   ממשק מספקת הפלטפורמה תוכנה של לפיתוח פלטפורמה היא

  אתרי לפיתוח הן אחיד לתוכנות WEB פיתוח . והן

WPF (ל מ .Windows Formsהמחליף (Net3חלק , מאגרי עם עבודה מחשבים בין תקשורת וניהול לגישה פונקציות

כגון( , Access,SQLנתונים ) חיצוניים כלים עם אינטגרציהExpression Blend ) בהמשך) הסבר

מודרניים גרפיים מנשקים ליצור מאפשרת אשר גרפית מערכתמבוססות של Windowsבמערכות הספריות על דבר DirectXבנויה

מימדית תלת גרפיקה יצוג לאפשר מנת על חומרה האצת שמאפשרואנימציה .

Page 5: The problem ….

TOOLS …. Microsoft Expression blend :

Editor for Windows Presentation Foundation (WPF)

Benefits from the hardware to accelerate better graphical user interfaces, e.g. animations !

Integrates in the .NET framework, very smoothly integrates with programming languages like C# and visual basic.

Easy to use, with expression blend it’s relatively easy to pull off complex animations.

Page 6: The problem ….

TOOLS …. Microsoft visual studio :

Well known !!!

Integrates C# projects with Microsoft Expression Blend for more control.

The best editor for C# there is.

Powerful development tools, e.g. debugging

Page 7: The problem ….

THE ARCHITECTURE

Peer to peer The server manages user requests:

Getting users list Pairing with another user Getting users information

All else is direct All communication between paired users is directly

handled between them independently from the server

Page 8: The problem ….

LOGIC FLOW

Password(Hashed String) User Name

UsersDB Classs

Friends ListLocal for each client

Authenticator (Protocol Class)

-Creates&Compares Hashed Strings, using SH1 algorithm

Manage Users Class

- Show UsersDB- Add/Remove Users

Main Class

Server UI

(frmMain Form)

Client UI

-Login Window

-Main Windows

-Chat Window

Server

Side

Client

Side

Communication

Collection of Methods

User Info-Personal Notes

Page 9: The problem ….

CLASS DIAGRAM - SERVER

Page 10: The problem ….

CLASS DIAGRAM - CLIENT

Page 11: The problem ….

WHAT WE LEARNED …. We studied different communication protocols

including peer to peer.

We learned and practiced how to integrate working on different tools into one product (i.e. Blend for UI and Visual studio for logic)

We learned and experienced the process of designing and implementing a software from scratch.

We learned how to create optimal design of user interfaces that helps make the product as easy as possible for the users.

Page 12: The problem ….

WHAT COULD WE HAVE DONE BETTER ? Better video conferencing

Opening video with more than two friends. Integrate video into the chat window of the user. Multiple Camera’s support/Give User More

Controll Allow Conference Recording

Automate the registration process.

Make chat more expressive (i.e. add emoticons)

Add more themes for the user to choose from.

Page 13: The problem ….

TEST DRIVE ! Animations are best seen in action ! Hold on

to a showcase of the application !