1 / 14

Application for Internet Radio Directory

Application for Internet Radio Directory. 19/06/2012 Industrial Project (234313 ) Kickoff Meeting. Supervisors : Oren Somekh , Nadav Golbandi Students : Moran Dringer , Tal Netanyahu. Goals:. Create an effective and convenient application for listening to internet radio stations.

vaughan
Download Presentation

Application for Internet Radio Directory

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. Application forInternet Radio Directory 19/06/2012 Industrial Project (234313) Kickoff Meeting Supervisors : Oren Somekh, NadavGolbandiStudents : Moran Dringer, Tal Netanyahu

  2. Goals: • Create an effective and convenient application for listening to internet radio stations. • Provide easy navigation through stations, and various search options. • Process real-time information sent from all stations in parallel. • Provide adjustments for a mobile platform. • Create a web application with a nice clean look.

  3. Methodology & Achievements

  4. DataBase Creation: • Station Retriever: • Uses a list of xml links (used online) to read nodes from SHOUTCast’s depository • Builds a file of stations and their urls as an input source for the main program (around 10,000 stations) • Provides multiple urls for each station (in case of bad connectivity) • Creates an easily parsed file for creating the station database

  5. DataBase Creation: • DataBase Initialization: • Uses the stations file created by the retriever to create a local database (a specialized Queue) of stations. • Creates an empty MySQL DB online, with an empty entry for each station in the queue. • Runs sample threads that work in parallel to update the entries in the online DB. • Each thread tries to connect to a url, and retrieve the station header and metadata.

  6. DataBase Creation: • DataBase maintenance: • The sample threads keep working infinitely, providing different updates: • Updates the station entry online in case the station’s header has changed • Every fixed number of samples, updates a station score (explained later) • Updates metadata recorded from the station (explained later) • This assures that the DB is always up-to-date.

  7. DataBase Creation: • Local “Playing Now” DataBase: • The metadata recorded from the stations (usually info on the song/program streaming at the moment) is inserted into a special DataBase, saved locally on the server • There is a fixed number of metadata entries collected and saved for each station • The clientservlet has access to the DB using a socket to the server’s registry, and can send information to the client

  8. Registry stub from servlet RDPlayingNowDb titleDb artistDb RDPlayingNowItemDb MainDB – Map: Keys = Integers, Values = RDPlayingNowNodes db – Map: Keys = Strings, Values = Maps(Ints,Ints) RDPlayingNowNode Maps for Nodes • Name • Artists[num] • Titles[num] Map: Station Id  counter Station Id  counter … Station Id Item (artist/title) Station Id Item (artist/title) Station Id • Name • Artists[num] • Titles[num] Item (artist/title) Map: Station Id  counter Station Id  counter …

  9. Client Communication: • Communication with server: • There are two HTTP Servlets to process client queries • ClientHandler: performs the proper searches in the databases (MySQL or PlayingNow), and updates the results in HTML • PlayerHandler: generates the station player and presents metadata in real time

  10. Client Communication: • Client Interface: • The client can request searches based on:station name, station genre, artist or title played recently, station country, and stations near the client’s location • Capable of searching also for partial matches • Designed to make results appear as quickly as possible, without reloading the page • Results are ordered by station scores – dynamically updated according to connectivity, header reliability and metadata relevance

  11. Internet Stations Station Streams MetaData and Station Header Retriever Threads Updated Data Updated Data Clients RD Server Web Server Info for Clients Streams and information Updated Data Info for Clients Requests For Streams and information Requests For Streams and information MySQL Server

  12. Live Demonstration

  13. Tools and Platforms: • On the server end: • Eclipse IDE, with Java as the programming language. • Tomcat will run for web application development. • Data will be stored by relational DB (using MySQL) • On the client end: • HTML5 generic implementation using CSS3, javascript (using ajax to communicate with servlet). • supports PC/Mobile platforms.

  14. Where can we go from here? • Add features to the application • About, Contact (not functional right now) • Additional tabs that may be useful • Add more information to be displayed • Station’s icon, schedule • Artist/genre images • Improve navigation • Provide auto completion • Multi-parameter searches • Improve design • Improve folding (limit results with “more” option) • Add more css features

More Related