Wireless Media Stick Android Application
An Android application for the Wireless Media StickTM that enables streaming videos, music, photos, and PowerPoint presentations from Android devices to any media player with a USB port. The device uses the Server Message Block protocol and Wi-Fi to share files or folders selected by the user.
The Wireless Media StickTM is a patented technology and a product of HSTI. It can stream media files from any computer connected to a wireless network to any media player with a USB port. The device recognizes shared media files within the network and presents them to the media player’s USB port as if they were stored locally without copying or moving them.
The Media Stick could stream files from any PC, Mac, or NAS but didn’t work on Android. This is why HSTI turned to Altoros to develop an application that would enable the WMS to stream media stored on Android-based devices.
The new application had to offer the following functionality:
- Serve as an SMB server and share files stored on an Android device by transferring their configuration to the Wireless Media Stick.
- Enable authentication between Android devices and the WMS.
- Enable adding/removing folders on the WMS via Android devices.
- Recognize the version of the WMS and check for updates.
When developing this application the team faced a number of challenges.
- We decided to use the open-source Alfresco-Jlan library to avoid writing the whole protocol from scratch but the current version of the Alfresco-Jlan library did not support Java NIO implementation on the Android platform.
- The team also faced difficulties when testing the environment setup. The WMS protocol did not support Android, so we could not test the application for quite a while. The device had to be managed through the existing interface of its protocol provided to the team by the customer.
- SMB server uses ports lower than 1024 for sharing and streaming files. For security reasons these ports are closed on Android devices, so the team had to enable the application to use non-standard ports.
Altoros Android developers offered several solutions to resolve the development challenges.
- The incompatibility issue was solved by modifying the open-source code of Jlan-library to support Java NIO implementation on the Android platform.
- We used Unix Virtual Machine as a client device for the testing environment. The VM emulated commands sent by the WMS to an Android device. The team also asked the customer to release a new version of the WMS that would support connection to Android.
- The team introduced changes to the communication protocols in order to enable SMB connection. We added ports with non-standard numbers (e.g., 1000146 instead of 146) and asked the customer to add these ports to the new version of the WMS.
The team developed a reliable and easy to use Android application that extends the file sharing capabilities of the Wireless Media StickTM. The software allows streaming any media from an Android device to a TV, PC, or any media player with a USB playback port.
Thanks to its new Android app, WMS was rated among Top Five Android Devices on CES (the International Consumer Electronics Show) in 2011.
Client Platform/Application Server
Android SDK,SMB, NetBIOS
Eclipse and ADT plugin