We are looking for an Android software developer to join our engineering deparment to continue researching about different technologies that could work on new products in the near future.
You will have a role in one of our projects. We will start with a basic design, so according to the results and personal efficiency, we will continue with more work and advance features.
Your first objective, by which your performance will be evaluated, will be, as a summary:
1. Adapt a Bluetooth Chat app located on Android SDK to run 'manual' Ad Hoc network. Initially this app just let the user to chat with one device with a point to point RFCOMM link. Thanks that Bluetooth supports scatternet network, the idea will be let the device (master) the possibility of selecting more than one destination device (another slave; up to 7). Like this way, it is possible to create a piconet. For scatternet formation, slaves should be able to be selected from more than one master, so like this way, we can link piconets between each other and create an andhoc network.
2. Once the Chat App and its AdHoc network is ready (a master device can send messages to all its slaves located on the same piconet), we can continue with the second layer, that is the routing protocol, so a user can send a chat message to another user located on another piconet.
We are thinking about two stages, to make thinks easier.
A. On the first stage, we propose developing a very simple routing protocol named "FLOODING" protocol to test the application. It just broadcast the chat message to all neighbors, so neighbors are doing the same until a device matched the destination device listed on the header information packet. This protocol is very simple, and just includes a couple of characteristics to avoid receving the same packet from different links (Sequence Number), and a timer (TTL) to avoid a packet being broadcasted without limit.
B. On the second stage, we propose to adapt an already programmed code based on AODV routing protocol designed for Android. So the job would be to understand and reorganized the code of an already developed AODV Routing Protocol Library as a second routing protocol. The Library is very small but functional. We want to reorganize it, deleting the maximum possible to obtain the minimum functionality.
As you can see, almost everything is already done (AODV and Bluetooth Chat apps), so we think that this assigment can be done in less than two weeks perfectly (if something is not going on well and more days are needed, it could be negotiated).
Obviously, the candidate will need to own a minimum of 3 android phones with a minimum installed version of 2.2, so that the application can be tested by the developer.
The project is quite small, but important to start testing candidates for near future developments. More detail information about the implementation will be provided once the assigment is done
Android skills programming, Bluetooth knowledge and capabilities for technical implementation (Ad-Hoc Bluetoot networking for Android) and capabilities to study different aproaches to achieve the results requiered.
Past work samples or references so we can evaluate your capabilities.
The payments will be done according to 3 phase fixed price, so this is the best option for us, so we can have a controlled revision of the job, and the candidate can obtain a guarantee of payment and reward. We need the job done before second payment. We accept an upfront as a signed of serious relationship. The 3 stages could be creating the adhoc bluetooth network, designing flooding routing protocol, and AODV.
We will demand from the candidate being in touch with us every two days for exchanging news about the project. Also, we want offers from proffesionals that already worked on this area or have expertise with Bluetooth