Voice Mail for social networks

  • View

  • Download

Embed Size (px)


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

Text of Voice Mail for social networks

  • Voice Mail for social networksMaxim KoganRoey Ben HaimSupervisor Assaf Solomovitch Lab Chief Eng. Ilana David Software Systems LabDepartment of Electrical Engineering Technion - Israel Institute of Technology

  • Social Software IntroductionSocial 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

  • Open SocialOpenSocial 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

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

  • Google Gadgets(2)These are some extensions to the core gadgets API, to provide additional functionalityOpenSocial- 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 )

  • Pass It OnThe 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.

  • Voice Mail ApplicationThe 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.

  • New Idea Voice Mail Application

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

  • Project Overviewt2 Hosts the initial xml fileOrkut (OpenSocial Container)The Server (Tomcat)DataBase (MySQL)Java AppletOpenning an IFrameinitializationsConstant communicationSends FriendsSends Friends

  • The XML file>iframe src=
  • Technologies(1)Java sound/JMFJMF wraps Java Sound functionalityNo need to install Java Sound Java EEJava 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 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.

  • Technologies(2)Servlets/JSPServlet - 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 servletMySQL+JDBCan API for the java programming language that defines how a client may access a database. Signed java appletthe applet's code is executed by the browser's JVMSigned jar file

    Web serverWeb browserServlet

  • 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 transactionLocks are held until the transaction endsThe second updating transaction is blocked until the lock is released (first one commits or rolls back)

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

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

  • Design Issues 3 tier (2)Thin/thick 3 tier modelsThin www.amazon.com.Thick Desktop applet, RealPlayer.ExamplesOracle DBMS, C++ middle, and C++/MFC clientMySQL DBMS, JSP middle, and Java applet clientMySQL DBMS, PHP middle, and web browser client

  • Design Issues 3 tier (3)AdvantagesScalabilityapplication 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 integrityThe middle tier ensures validity of data to DB.Good security .Hidden DB structure from the clientImproved availability (recovering from network crash)Use of redundant servers and DBsDisadvantagesIncreased complexity (twice more communication )

  • Use Cases(1)Saving the Voice mail collaboration diagram

  • Use Cases(2)Showing users records collaboration diagram

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

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

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

  • 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

  • EndMany 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).