- YouTube is a web application (web site) enables to user to upload and share their videos. YouTube was founded by employees of PayPal in 2005. Later Google Inc acquired YouTube in 2006. YouTube uses Adobe flash technology for playing user uploaded videos.
Mobile device requires a latest version of standalone flash player to play the flash based applications.
Inspired by streaming technology and committed to implement a mobile application to enabling users to search, browse and play YouTube videos from their mobiles. The application provides user friendly navigation, performance and quality output. Explore the Adobe flash platform to make use of best of it. The application provides rich user interface and graphics.
- Technology assessment is the study of new technologies and also evaluation of new technologies. It is based on the conviction that discoveries by the scientists are relevant in this world at large rather than just for the experts themselves, and that new development progress in technology can never be free of ethical implications. Technology assessment recognizes that scientists are not trained ethicists and moreover ought to be careful when giving judgment for others and also making judgment for themselves, new inventions, projects and work in progress.
Technology assessment is the study and evaluation of new technologies. It is based on the conviction that new developments within, and discoveries by, the scientific community are relevant for the world at large rather than just for the scientific experts themselves, and that technological progress can never be free of ethical implications. Also, technology assessment recognizes the fact that scientists normally are not trained ethicists themselves and accordingly ought to be very careful when passing ethical judgment on their own, or their colleagues, new findings, projects, or work in progress.
Mobile Application Developmenthttp://en.wikipedia.org/wiki/Mobile_application_development …
Mobile application development is the process of developing the applications which can be used on the handheld devices. These applications can be used on the devices such as personal digital assistants, enterprise digital assistants and also for mobile phones. Many of these applications are pre-installed by the manufacturers during the manufacturing the devices
Mobile application development is the process by which applications are developed for handheld devices such as personal digital assistants, enterprise digital assistants or mobile phones. These applications are either pre-installed on phones during manufacture, or downloaded by customers from app stores and other mobile software distribution platforms.
Mobile Application Development PlatformsThere are many platforms that a developer can choose for their applications. Each of these are mostly mutually incompatible (that is, an application developed on one platform will not run on another) and furthermore each handheld device only supports one particular platform.
Since the first handheld computers of the 1980s, the popularity of these platforms has risen considerably. Many cellphone models of the late 2000s include the ability to run user-installed software.
Supported Platforms from multiple manufacturersFlash Lite - http://en.wikipedia.org/wiki/Macromedia_Flash_Lite …
Flash Lite is a development technology implemented at the client-side, or user interface layer. Recent changes to ActionScript allow Flash Lite to better integrate with and even compete with device-layer technologies like Java ME and BREW. Flash Lite should not be considered a mobile operating system like Symbian OS, Windows Mobile, iPhone OS, or Android: it is a technology for developing applications that run on a mobile operating system..
This platform generally produces portable applications, although sometimes device-specific libraries exist (commonly used for games), making them non-portable. Applications (including their data) cannot be larger than around 1 MB if they are to run on most phones. They must also be cryptographically signed in order to use APIs such as the filesystem access API.
Designed from the start for mobile devices, the Symbian platform is a real time, multi-tasking OS specifically architected to run well on resource-constrained systems, maximising performance and battery life whilst minimising memory usage.
Android is a Linux-based platform from the Open Handset Alliance, whose 34 members include Google, HTC, Motorola, Qualcomm, and T-Mobile. It is supported by over 34 major software, hardware and telecoms companies. The Linux kernel is used as a hardware abstraction layer (HAL). Application programming is exclusively done in Java. The Android specific Java SDK is required for development although any Java IDE may be used.
.NET Compact Framework
Used primarily for applications on Pocket PC/Windows Mobile devices, although it is now being extended to Android devices.
Used for deploying applications on CDMA devices (but also supports GPRS/GSM models). Distributed via a Brew Content Platform. Little penetration in Europe.
Windows MobilePalm OS - Strong enterprise following in the important US market.
Platform Choice:Adobe FlashLite is selected for the application development.
Advantages of using Adobe FlashLite:http://www.adobe.com/products/flashlite/ …
FLV support — including H.264, On2 VP6, and Sorenson video codecs
A more complete web experience on mobile devices by providing access to content and video created with Adobe Flash
Delivery of high-definition video content and rich applications to Internet‐connected TVs and TV‐connected consumer electronic devices in the digital living room
Optimized performance for mobile and digital home devices
Object-based extension mechanism for accelerated UI and application design
Integrated authoring environment for mobile devices
Rapid development due to the Adobe Flash IDE makes iterative software prototyping and software testing relatively easy.
Better support for the Write once, run anywhere (WORA) methodology that does not depend on specific APIs being available. This results in little or no porting, which is a major cost in Java ME development.
Graphics are vector based (bitmap support is also included) which allows for scaling, rotation and other transformations without loss of graphic quality.
Ability to pack more animation and graphics into the same file size provided by the use of vector graphics.
Disadvantages:Relatively poor graphical performance (due to the more complex processing required for vector graphics). Poor handling of sound compared to other programs
Technology researchThe application features playing videos from YouTube. The videos are played while they are downloading. Research on streaming technology as follows:
Streaming Mediahttp://en.wikipedia.org/wiki/Streaming_media …
Streaming media are multimedia that are constantly received by, and normally presented to, an end-user while being delivered by a streaming provider (the term "presented" is used in this article in a general sense that includes audio or video playback). The name refers to the delivery method of the medium rather than to the medium itself. The distinction is usually applied to media that are distributed over telecommunications networks, as most other delivery systems are either inherently streaming (e.g., radio, television) or inherently non-streaming (e.g., books, video cassettes, audio CDs). The verb 'to stream' is also derived from this term, meaning to deliver media in this manner. Internet television is a commonly streamed medium.
Streaming Media Protocolshttp://all-streaming-media.com/faq/streaming-media/faq-streaming-media-protocols.htm …
Popular streaming media protocols: HTTP, RTMP, PNM, RTSP, MMS
HTTP StreamingHTTP streaming is a mechanism for sending data from a Web server to a Web browser in response to an event. HTTP Streaming is achieved through several common mechanisms. In one such mechanism the web server does not terminate the response to the client after data has been served. This differs from the typical HTTP cycle in which the response is closed immediately following data
HTTP protocol usually uses port 80 or 8080.
MMS - Microsoft Media ServicesMicrosoft's streaming server uses the Microsoft Media Services (MMS) protocol (also called NetShow Services) to transfer unicast data. MMS can be transported via UDP or TCP (MMSU and MMST protocols). If the Windows Media Player client cannot negotiate a good connection using MMS over UDP, it will resort to MMS over TCP. If that fails, the connection can be made using a modified version of HTTP (always over TCP). This is not as ideal for streaming as MMS over UDP, but ensures connectivity nonetheless. The default protocol for streaming Windows Media is not MMS, but RTSP. The default port for MMS is 1755.
RTSP - Real Time Streaming ProtocolThe Real Time Streaming Protocol (RTSP), developed by the IETF and published in 1998 as RFC 2326, is a protocol for use in streaming media systems which allows a client to remotely control a streaming media server, issuing VCR-like commands such as "play" and "pause", and allowing time-based access to files on a server. Some RTSP servers use RTP as the transport protocol for the actual audio/video data. Many RTSP servers use RealNetworks's proprietary RDT as the transport protocol. RTSP can be transported via UDP or TCP (RTSPU and RTSPT protocols).
The default port for RTSP is 554.
PNM/PNAThe first version of RealAudio used a proprietary protocol called PNA or PNM to send streaming audio data. RealNetworks later switched to the IETF standardized Real Time Streaming Protocol (RTSP), but they use RTSP only to manage the connection.
The default port for PNM is 7070.
RTMP - Real Time Messaging ProtocolReal Time Messaging Protocol (RTMP) Is a proprietary protocol developed by Adobe Systems (formerly developed by Macromedia) that is primarily used with Macromedia Flash Media Server to stream audio and video over the internet to the Adobe Flash Player client.
The default connection port for RTMP is 1935.
Streaming Protocol Conclusion:HTTP protocol is used for my application as Flash Lite supports HTTP streaming for playing FLV(Flash Video) files over the internet.
Requirement AnalysisRequirement analysis is the first phase of the software lifecycle process. Requirement analysis is very important as the software lifecycle is dependent on this.
The application requirements as follows:
User interface:User interface analysis is to planning the interactivity between the user and application. Planning user interface elements as follows: