Presentation is loading. Please wait.

Presentation is loading. Please wait.

Voice Mail for social networks Maxim Kogan Roey Ben Haim Supervisor Assaf Solomovitch Lab Chief Eng. Ilana David Software Systems Lab Department of Electrical.

Similar presentations


Presentation on theme: "Voice Mail for social networks Maxim Kogan Roey Ben Haim Supervisor Assaf Solomovitch Lab Chief Eng. Ilana David Software Systems Lab Department of Electrical."— Presentation transcript:

1 Voice Mail for social networks Maxim Kogan Roey Ben Haim Supervisor Assaf Solomovitch Lab Chief Eng. Ilana David Software Systems Lab Department of Electrical Engineering Technion - Israel Institute of Technology

2 Social Software – Introduction Social software allows users to interact and share data with other users. This has become very popular with social sites like MySpace and Facebook. Many of these applications share characteristics like open APIs, service oriented design, and the ability to upload data and media. FOR MORE INFO... Visit our website

3 Open Social A set of APIs for building social applications. OpenSocial's goal is to make more apps available to more users, by providing a common API. Developers can create applications, using standard JavaScript and HTML, that run on social websites that have implemented the OpenSocial APIs. OpenSocial container

4 Google gadgets(1) Gadgets are mini-applications that can be added to the personalized version of the Google homepage (iGoogle), Google Desktop and any page on the web. The gadgets API consists of a few simple building blocks: XML, HTML, and JavaScript. The XML file that specifies a gadget contains instructions on how to process and render the gadget.

5 Google Gadgets(2) These are some extensions to the core gadgets API, to provide additional functionality  OpenSocial- Utilize functions for creating social gadgets (containers)  Maps (Google Maps )  Finance API - Retrieve and display stock information from Google Finance. (iGoogle)  Ads (Google AdSense )  Calendar - (Google Calendar )

6 Pass It On The main idea of our social application was to create a useful free-items-exchange system based on the social network and its friends-based connections. Got it ! No, sorry.. ? ? ? ? -extended network distance, while part of the OpenSocial v0.8 spec, will not be supported in orkut.

7 Voice Mail Application The main idea is creating an email of audio recordings. It allows different users to record themselves via microphone and transfer the recordings to their friends. We combined this idea with a social network, granting each user his own account. We chose this idea in order to keep the scope of social network, and combine it with the ever-growing field of media streaming.

8 New Idea – Voice Mail Application

9

10 The previous page showed a user invoking his inbox, which contains 2 messages. The user can record an audio message, send his audio message to his friends, peek on the messages sent to him, and delete them from his inbox. New Idea – Voice Mail Application (cont.)

11 Project Overview t2 – Hosts the initial xml file Orkut (OpenSocial Container) The Server (Tomcat) DataBase (MySQL) Java Applet Openning an IFrame initializations Constant communication Sends Friends

12 The XML file >iframe src=http://89.138.71.144:8080/WebAppTest/HelloServlet <</iframe<http://89.138.71.144:8080/WebAppTest/HelloServlet opensocial.newDataRequest(); gadgets.io.makeRequest

13 Technologies(1) Java sound/JMF Java sound/JMF  JMF wraps Java Sound functionality  No need to install Java Sound Java EE Java EE  Java platform that adds libraries which provide functionality to deploy, distributed, multi-tier Java software, based largely on modular components running on an application server. Tomcat Tomcat – Apache Tomcat is a servlet container. Tomcat implements the Java Servlet and the JSPs specifications, and provides a java HTTP web server environment for Java code to run.

14 Technologies(2) Servlets/JSP Servlets/JSP  Servlet - A Java application that is being run by a Web server. Can receive parameters in an HTTP request,Generates an HTTP response.  JSP - write Servlet code directly in the HTML page. The server automatically translates a JSP page to a Servlet class and invokes this servlet MySQL+JDBC MySQL+JDBC  an API for the java programming language that defines how a client may access a database. Signed java applet Signed java applet  the applet's code is executed by the browser's JVM  Signed jar file Web server Web browser request response Servl et

15 MySQL (in details) JDBC technology is an API (included in J2EE) that provides cross-DBMS connectivity to a wide range of SQL databases. most popular open source database software. MySQL controls concurrent access by deploying locks. Each operation on the database (select, update, insert, create, drop, etc.) requires some lock to be obtained by the running transaction  Locks are held until the transaction ends  The second updating transaction is blocked until the lock is released (first one commits or rolls back)

16 Java Applet (more detailed) An applet is a software component that runs in the context of another program, in our case a web browser. In order to approach user’s computer device, we had to use a client side program. Applets are used to provide interactive features to web applications that cannot be provided by HTML. Our application records the user through the microphone. In order to do so we are using Java Sound API in the client side.

17 Design Issues – 3 tier(1) the presentation, the application processing (logic tier) and the data management are logically separate processes. Evolution to the 3 tier architecture:  Single tier – single computer, all resources & processing attached to it. Access via terminals. simple but expensive central machine.  Dual tier – client layer, DB layer only. Client/server model is born. Only limited # of users to DB server, expensive connections.  3 tier – the client only displays the GUI, has no part in producing results.

18 Design Issues – 3 tier (2) Thin/thick 3 tier models  Thin – “www.amazon.com”.  Thick – Desktop applet, RealPlayer. Examples Examples  Oracle DBMS, C++ middle, and C++/MFC client  MySQL DBMS, JSP middle, and Java applet client  MySQL DBMS, PHP middle, and web browser client

19 Design Issues – 3 tier (3) Advantages  Scalability application servers on different machines. No need to connect each client to a DB (reduce load on clients and DB servers)  Better re-use (e.g. change only DB, client stays same)  Improve data integrity The middle tier ensures validity of data to DB.  Good security.Hidden DB structure from the client  Improved availability (recovering from network crash) Use of redundant servers and DBs Disadvantages  Increased complexity (twice more communication )

20 Use Cases(1) Saving the Voice mail – collaboration diagram

21 Use Cases(2) Showing user’s records – collaboration diagram

22 Classes overview(1) The applet classes (client tier)  App requests friends from the server loads the main class  AudioCapture – the main applet class. Displays GUI and records. The servlets classes (logic tier)  HelloServlet – loads the applet  IncomingAudioServlet – recieves incoming record, renders it and saves in the DB.  PresentURLServlet – retrieves the record URLs from the DB, and presents on screen.

23 Classes overview(2)  DeleteURLServlet – deletes the chosen URLs.  FromOrkutServlet – accepts the list of friends from Orkut.  SendFriendToAppletServlet – the servlet sends the friends from Orkut to the applet upon applet load. DB class (database tier)  SQL_DB – the database management class.

24 Summary The project contained a vast variety of material, from OpenSocial API, through Java Applet and Java Servlets, to Databases and MySQL.  A LOT of new stuff to learn. The idea of combining the field of social network with media streaming is new and can open a vast market.

25 Future expansions Expand through a variety of social networks that are using OpenSocial API. Create a Facebook version. Advance to the video field, making a video mail, and creating a video/audio chat. Add a Flash/Silverlight version, and edit the applet

26 End Many thanks to our dedicated supervisor, Assaf Solomovitch for his great help and support. Thanks to the software lab staff for his support (Ilana David and Victor Kulik).


Download ppt "Voice Mail for social networks Maxim Kogan Roey Ben Haim Supervisor Assaf Solomovitch Lab Chief Eng. Ilana David Software Systems Lab Department of Electrical."

Similar presentations


Ads by Google