T HE PROBLEM …. Chat clients are mostly based on servers : Server crash will affect all users....

13
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 .

Transcript of T HE PROBLEM …. Chat clients are mostly based on servers : Server crash will affect all users....

Page 1: T HE PROBLEM …. Chat clients are mostly based on servers : Server crash will affect all users. High server overload. Speed of the server is a bottleneck.

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: T HE PROBLEM …. Chat clients are mostly based on servers : Server crash will affect all users. High server overload. Speed of the server is a bottleneck.

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: T HE PROBLEM …. Chat clients are mostly based on servers : Server crash will affect all users. High server overload. Speed of the server is a bottleneck.

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: T HE PROBLEM …. Chat clients are mostly based on servers : Server crash will affect all users. High server overload. Speed of the server is a bottleneck.

TECHNOLOGIES …

P2P: תקשורת על שמבוססת ברשת משתמשים חיבור ארכיטקטורת

. המשתמשים בין ישירה.Net:

,   ממשק מספקת הפלטפורמה תוכנה של לפיתוח פלטפורמה היא   אתרי לפיתוח הן אחיד  .WEBפיתוח לתוכנות והן

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

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

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

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

Page 5: T HE PROBLEM …. Chat clients are mostly based on servers : Server crash will affect all users. High server overload. Speed of the server is a bottleneck.

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: T HE PROBLEM …. Chat clients are mostly based on servers : Server crash will affect all users. High server overload. Speed of the server is a bottleneck.

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: T HE PROBLEM …. Chat clients are mostly based on servers : Server crash will affect all users. High server overload. Speed of the server is a bottleneck.

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: T HE PROBLEM …. Chat clients are mostly based on servers : Server crash will affect all users. High server overload. Speed of the server is a bottleneck.

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: T HE PROBLEM …. Chat clients are mostly based on servers : Server crash will affect all users. High server overload. Speed of the server is a bottleneck.

CLASS DIAGRAM - SERVER

Page 10: T HE PROBLEM …. Chat clients are mostly based on servers : Server crash will affect all users. High server overload. Speed of the server is a bottleneck.

CLASS DIAGRAM - CLIENT

Page 11: T HE PROBLEM …. Chat clients are mostly based on servers : Server crash will affect all users. High server overload. Speed of the server is a bottleneck.

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: T HE PROBLEM …. Chat clients are mostly based on servers : Server crash will affect all users. High server overload. Speed of the server is a bottleneck.

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: T HE PROBLEM …. Chat clients are mostly based on servers : Server crash will affect all users. High server overload. Speed of the server is a bottleneck.

TEST DRIVE !

Animations are best seen in action ! Hold on to a showcase of the application !