application for internet radio directory

14
Application for Internet Radio Directory 19/06/2012 Industrial Project (234313) Kickoff Meeting Supervisors : Oren Somekh, Nadav Golbandi Students : Moran Dringer, Tal Netanyahu 1

Upload: vaughan

Post on 22-Feb-2016

55 views

Category:

Documents


0 download

DESCRIPTION

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. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Application for Internet Radio Directory

Application forInternet Radio Directory

19/06/2012Industrial Project (234313)Kickoff Meeting

Supervisors : Oren Somekh, Nadav GolbandiStudents : Moran Dringer, Tal Netanyahu

Page 2: Application for Internet Radio Directory

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.

Page 3: Application for Internet Radio Directory

3

Methodology &Achievements

Page 4: Application for Internet Radio Directory

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

Page 5: Application for Internet Radio Directory

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.

Page 6: Application for Internet Radio Directory

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.

Page 7: Application for Internet Radio Directory

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 client servlet has access to the DB using a socket to the server’s registry, and can send information to the client

Page 8: Application for Internet Radio Directory

8

RDPlayingNowDb

MainDB – Map:Keys = Integers,

Values = RDPlayingNowNodes

Station IdStation IdStation Id

• Name• Artists[num]• Titles[num]

• Name• Artists[num]• Titles[num]

RDPlayingNowNode

artistDb

titleDbRDPlayingNowItemDb

db – Map:Keys = Strings,

Values = Maps(Ints,Ints)

Item (artist/title)

Map:Station Id counterStation Id counter

…Map:

Station Id counterStation Id counter

Maps for Nodes

Item (artist/title)Item (artist/title)

Registry stub from servlet

Page 9: Application for Internet Radio Directory

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

Page 10: Application for Internet Radio Directory

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

Page 11: Application for Internet Radio Directory

11

Internet Stations

MetaData and Station HeaderRetriever Threads

Web Server

MySQL Server

Station Streams

Updated DataInfo for

Clients

Info for Clients

Requests For Streams and information

Clients

Streams and informationRequests For

Streams and information

RD Server

Updated Data

Updated Data

Page 12: Application for Internet Radio Directory

12

Live Demonstration

Page 13: Application for Internet Radio Directory

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.

Page 14: Application for Internet Radio Directory

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