1 / 13

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 . The solution …. Peer to peer (p2p) Less work for the server.

vaughan
Download Presentation

The problem ….

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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 !

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

  4. Technologies … • P2P: • ארכיטקטורת חיבור משתמשים ברשת שמבוססת על תקשורת ישירה בין המשתמשים. .Net: היא פלטפורמה לפיתוח של תוכנה , הפלטפורמה מספקת ממשק פיתוח אחיד הן לפיתוח אתרי WEB והן לתוכנות . • WPF(המחליף ל Windows Forms חלק מ .Net3) • פונקציות לגישה וניהול תקשורת בין מחשבים , עבודה עם מאגרי נתונים (Access,SQL) , אינטגרציה עם כלים חיצוניים כגון Expression Blend(הסבר בהמשך) • מערכת גרפית אשר מאפשרת ליצור מנשקים גרפיים מודרניים במערכות מבוססות Windows בנויה על הספריות של DirectX דבר שמאפשר האצת חומרה על מנת לאפשר יצוג גרפיקה תלת מימדית ואנימציה .

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

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

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

  8. Logic Flow Server Side Communication Collection of Methods Client Side Server UI (frmMain Form) Client UI -Login Window -Main Windows -Chat Window Manage Users Class • - Show UsersDB • - Add/Remove Users Authenticator (Protocol Class) -Creates&Compares Hashed Strings, using SH1 algorithm Main Class UsersDB Classs Friends List Local for each client User Info -Personal Notes

  9. Class Diagram - Server

  10. Class Diagram - Client

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

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

  13. Test drive ! • Animations are best seen in action ! Hold on to a showcase of the application !

More Related