Contact Us
Software Architect

Sergey Sverchkov
Software Architect
sergey.svaltoros.com
(650) 395-7002

Headquarters
830 Stewart Dr., Suite 119
Sunnyvale, CA 94085

Implementation Partner
Android Application for a Wireless Media Device
Technologies: Java, Android
Industries: Social Networking / Media

Project type: Mobile
Services: Development, Testing

Project Description:

The Customer’s wireless media device (WMD) application streams videos, music, photos, or PowerPoint presentations from an Android. The streaming is conducted via the Wi-Fi connection to a WMD plugged into the USB port of a media player. The WMD Android application controls folders and files shared through the Server Message Block (SMB) protocol.


Customer's Need:

The device streams media files from any computer connected to a wireless network to any media player with a USB port. The WMD recognizes shared media files in the network and presents them to the media player’s USB port as if the files were stored locally. Files are not copied or moved from the original location.

The WMD streams files from any PC, Mac, notebook, or NAS device. The customer decided to enable the WMD to work with Android devices, thus the company turned to Altoros to develop an application that will allow users to share files and folders on their Android-based devices to stream them through the WMD.

The WMD Android application had to support the following functionality:

  • Serve files as an SMB server to share them on the Android device and transfer their configuration to the WMD.
  • Allow for the authentication process between the Android device and the WMD.
  • Enable to add/remove folders on the WMD via the Android device.
  • Detect the version of the WMD and check for updates.

Main challenges:

The team faced a number of challenges when developing this application.

  • We decided to use the open-source Alfresco-Jlan library, so that we didn’t have to write the protocol from scratch. The problem was that the current version of the Alfresco-Jlan library is incompatible with the Java NIO implementation on the Android platform.
  • The team faced difficulties when testing the environment set-up. The application client was a non-standard device. The WMD has to be managed through the existing interface of its protocol that was provided to the team by the customer. The WMD protocol did not support Android at that time—that is why we could not test the application for quite a while.
  • SMB servers use ports lower than 1024 for sharing and streaming files. On Android devices, these ports are closed for security reasons. The team had to enable the application to use non-standard ports.

Technology Stack
Client Platform/Application Server Android 2.2
Technologies Android SDK,SMB, NetBIOS
Programming Language Java
Database SQLite
Development Environment Eclipse and ADT plugin

The Solution:

Altoros Android developers offered several solutions to resolve the development challenges.

  • To solve the incompatibility issue, the team modified Jlan-library to suite the Java NIO implementation on the Android platform by changing the open-source code.
  • To create the testing environment, we used Unix Virtual Machine as a client device. The VM was used to emulate commands sent by the WMD to the Android device. The team also required that the customer released the new version of WMD that would provide for connection with Android devices.
  • To enable the SMB connection, the team modified the communication protocols. We added ports with non-standard numbers (such as 1000146 instead of 146) and asked the customer to add these ports to the new version of the device.

The Outcome:

The team developed an easy to use and reliable Android application that provides file sharing functionality. The application allows streaming any media from the Android device to the TV, PC or any media-reading device via the WMD. This Android app was rated among Top Five Android Devices at the International Consumer Electronics Show in 2011.