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.
Post on 15-Dec-2015
215 Views
Preview:
Transcript
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. 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 !
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.
TECHNOLOGIES …
P2P: תקשורת על שמבוססת ברשת משתמשים חיבור ארכיטקטורת
. המשתמשים בין ישירה.Net:
, ממשק מספקת הפלטפורמה תוכנה של לפיתוח פלטפורמה היא אתרי לפיתוח הן אחיד .WEBפיתוח לתוכנות והן
WPF (ל מ .Windows Formsהמחליף (Net3חלק , מאגרי עם עבודה מחשבים בין תקשורת וניהול לגישה פונקציות
כגון( , Access,SQLנתונים ) חיצוניים כלים עם אינטגרציהExpression Blend ) בהמשך) הסבר
מודרניים גרפיים מנשקים ליצור מאפשרת אשר גרפית מערכתמבוססות של Windowsבמערכות הספריות על DirectXבנויה
תלת גרפיקה יצוג לאפשר מנת על חומרה האצת שמאפשר דברואנימציה . מימדית
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.
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
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
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
CLASS DIAGRAM - SERVER
CLASS DIAGRAM - CLIENT
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.
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.
TEST DRIVE !
Animations are best seen in action ! Hold on to a showcase of the application !
top related