Search This Blog

Saturday, April 14, 2007

Google Summer of Code Proposal

Introduction:
We set up an ad-hoc network in which we provide IP Addresses to the various nodes using zeroconf. Zeroconf is used to provide network addresses for the various nodes, without the need of a DHCP Server. I am planning to use Avahi service for implementation of Zeroconf. The numeric addresses are already chosen randomly by the IPV4 and IPV 6.
The coding will be done using C and C++. The project will involve developing a basic infrastructure for ad hoc communication using Bluetooth and then extending it to provide various types of functionality.

Use Cases

1. I want to share a file with my neighbor: Phone starts detecting for phones which want to share around me. After the establishment of connection, I am given an option to send file. I click OK. File is sent over the newly established network.
2. Chatting:
a) Join an existing chat going on.
b) Start a new chat network
3. Surfing internet: If I have a laptop or computer nearby; I can connect to it using BlueZ D-Bus API and start accessing internet. Need to provide a GUI for doing this painlessly.
4. Audio Chatting: I want to chat with a person with whom a connection has been established through voice and not just text.

Deliverables

Required
1. Make a GUI application to facilitate the following:
a) Searching nodes
b) Getting information about neighbors.
c) Sharing files
d) Connecting to internet through an internet connected nearby node such as laptop
2. Make a chat application which allows text chat.

Optional
To Allow Audio Bluetooth communication by porting ALSA-Bluetooth to openMoko . (2)

Schedule:

1. Analysis: This phase involves interaction with the mentor to estimate the exact requirements. The exact project modules will be determined in this phase. Project infrastructure such as code repository and website may also be setup.
2. Development I: This phase will involve integrating BlueZ D-Bus API and Avahi to set up an ad-hoc network through bluetooth. This network can discover the nodes and files etc on the nodes.
3. Development II: This phase will involve the development of GUI for the easy application of all these things. The aim would be to integrate this with the native chat functionality provided with openMoko.
4. Development III: Integrating audio and other refinements.
5. Testing: This would be the final stage of the development. In this stage the final testing and bug finding will be done. The objective of this phase would be to ensure smooth functioning of the project.

5 comments:

  1. this sounds like a wicked idea and am very interested in seeing how it all works out. the details of it seem to be way beyond my understanding. but if you can blog about it as you work on it, i think it can be really cool.

    also sounds like security can/will be an interesting issue for you to work with!

    ReplyDelete
  2. I do not see any point in audio chatting since the range is so less, except of course, the its-cool-thing-i-made factor.

    What do u think ?

    ReplyDelete
  3. Anonymous12:02 pm

    Hi all,

    I am working for a software integrator company. My projects includes working on Java and Ruby on Rails and Ajax. I think Web Services is really cool. We also recently have to now work on REST and they are talking about mashups and Struts. Can anyone tell me if there are some good training or conferences so that me and my team members can get to speed with these technologies. Learning from books is not my cup of tea, even not when I was doing engineering ;)

    All the help that group members can provide in this regard is much appreciated.

    Thanks,
    Vaibhavi

    ReplyDelete
  4. Hi vaibhavi and Anaz,

    I do not think you are discussing at the right place...

    ReplyDelete
  5. Anonymous9:57 am

    May be, I wanted to get the info so thought owner of this blog might solve my prob. anyways thanks.

    ReplyDelete