Presentation is loading. Please wait.

Presentation is loading. Please wait.

Basic concept Technologies we have used The Design Problems, challenges & solutions Educational Gain.

Similar presentations


Presentation on theme: "Basic concept Technologies we have used The Design Problems, challenges & solutions Educational Gain."— Presentation transcript:

1

2 Basic concept Technologies we have used The Design Problems, challenges & solutions Educational Gain

3

4 FaceBook application based on FaceBook’s developers environment Multi-User web chat, where only FaceBook’s users can use. users can chat with their friends / or make new friends – “social networking” GUI looks like a virtual bar

5 Besides chating in a public “Main room” the users can chat in private messaging user can identify another user by exploring his/hers FaceBook’s profile. Each user can play his favorite song, using a built in “Juke Box”.

6

7 FaceBook’s Developer suite – providing a full API to users data All user’s data that was extracted from facebook & all chat logs & management data is being stored and organized by MySQL server. Server-Side processes & functions were programmed with PHP.

8 Client-Side functions were implemented with JAVA Script & HTML Tags. Client-Server communication using AJAX technology, inverting DB to XML data. Multimedia introduction by Adobe FLASH. Full compatibility with MS-IE7 & FireFox Mozilla 2.0.0.14

9

10 studying the FaceBook’s Developers environment. (FBML, canvas, IFrames) and it’s capabilities. Setting up a stand alone web server outside the faculty, connected 24 hr. to the Internet. (studying of PHP & SQL) Determine the application’s features and characteristics.

11 Dividing tasks to files & methods. Setting up SQL tables after ERD design, & decisions about primary keys & performance trade-offs. Implementing a first simple draft, without GUI, only functionality. After first implementation Debug & test, expanding functionality & GUI.

12 so, How do things work ? (in steady sate…) User logging into Facebook’s interface. Running the application from FaceBook applications

13 The relevant user record in the SQL USERS table is getting ONLINE status After watching the intro the user is logged into the application and ready to use it

14 When user typing in a message and press enter The message is being transferred to the server Message: Hello world ! JS Function ChatMsgToDB in functions.php file, preparing AJAX post transaction to the server Transaction is being sent to the server msgToDB.php file connecting to SQL server (using connectToDB.php function) Message is being inserted into CHATLOG table @ SQL

15 In the background an endless loop running JS function named GetMsgFromDB from functions.php file, which generates AJAX request for the message. PHP file – GetMsgFromDB retrieves message data from CHATLOG SQL table, and send it to GetMsgFromDB function. The message is being parsed out of the AJAX transaction, and displayed in the messages window.

16 Of course that in the background many more processes and functions are being executed :  Online users updates  song play / stop play  private chats being opened  users logging in & out  users changing seats

17

18 Solution Implemented Problem Description How to update server / DB without calling a new php / html page ? How to update elements without refreshing the whole page ? Using AJAX - Creating asynchronous transaction AJAX updater transaction + XML DATA Tags. How to identify a situation where user closed the browser and terminated the application ? Creating server-side Process that checks the delta time in which the user is not active & setting the online to be 0

19 Solution Implemented Problem Description Implementing private chats without holding different chat log to each one Showing the user only the latest messages, preventing massive transport of SQL transactions updating a time stamp to each user, every constant cycle, & keeping track of last message seen. Setting id tag to each messeage. Id=0 means main room message. Id≠0 means sender id.

20

21  Experiencing Web software development in WYSIWYG environment  Design & Decision making regarding software implementation

22  work with SQL & DB queries  Programming in PHP  Programming in Java Script  AJAX as “thinking way”  software development as a team  motivation - more than 70 users, and up !

23


Download ppt "Basic concept Technologies we have used The Design Problems, challenges & solutions Educational Gain."

Similar presentations


Ads by Google