====== Group 4: Video Streamer ===== * Pyy Mikko * Bhetuwal Pashupati * Babur Zahir U D ====== Idea ====== Offer a service where users can play videos from different channels through a common portal. Available channels are shown for users in a list. Selecting a channel from list shows a list of videos available from that channel. Selecting an item from video list will show it with an embedded player. The initial idea of remote jukebox service had to be scrapped as there was no feasible way to create a jukebox service that could be used remotely during the course. ====== Services and functionalities====== Priorities: 1 highest, .. , 3 lowest; Finished functionality, //Non-finished functionality// ^ Service ^ Priority ^ |List available channels | 1 | |List available content from selected channel | 1 | |Display selected video content| 1 | |//Obtain channel list from site// | 1 | |//Obtain channel's video list from site// | 1 | ||| ====== Software ====== ====Package==== {{:vaadin2009:grp4:videostreamer.zip}} {{:vaadin2009:grp4:video_streamer.ppt}} ====Implementation==== Implementation consists of four classes: * //TestprojectApplication// that contains the application start code and is initially created by **Vaadin** tools * //ChannelController// class that controls the loading of content for channel and video list containers. * //ChannelView// class consists of //Embedded// video player and //Table// view for available channels. Implements //PlaylistChangeListener// from //ChannelController// to change playing video according to selection. * //PlaylistView// class consists of //Table// that shows available list of videos for selected channel. Implements //ChannelChangeListener// from //ChannelController// to change playlist according to selected channel. Current implementation uses prelisted content instead of dynamic content loaded from video sites. This could possibly be improved as an automated listing through a channel, for example, loaded from youtube.com. ====Screenshot==== {{:vaadin2009:grp4:video_streamer.png?300}} ====Vaadin review==== ==Component summary== * VerticalLayout * Label * SplitPanel * GridLayout * Embedded * Table Main window is VerticalLayout that contains a caption Label and vertical SplitPanel. Top part of SplitPanel contains a GridLayout where Embedded component (flash video player) is on the left side and channel list Table is on right side. Bottom part of SplitPanel holds VerticalLayout holding a Table where available video list is loaded when an item is selected. ==Impressive!== Lots of different components. ==Problems== Positioning items on the screen is somewhat hard at times. Especially relative width/height requiring some absolute width/height from higher level element seemed somewhat confusing. ====Acknowledgments===== Special thanks for the group 6 for helping us with jukebox software installations and deployment even though it didn't realize as a software during this course.