12 June, 2010

Introducing MeshApp - A Mobile Application for Ad-Hoc Mesh Networking

The design for MeshApp has been worked out, and we are currently in the process of creating Milestones and opening tickets for MeshApp 1.0.

We have spent quite a while working out the design, but I think it will be worth it - since we have now a very clear picture of how MeshApp will look and what will be happening underneath.

The first week or so was spent brainstorming and doing research. I spent a lot of time thinking about possible features that could be implemented, but many of these ideas were quickly discarded since they would be more difficult to implement than they would be useful. After coming up with a number of ideas which were unclear (or just bad), it became a bit easier to focus on what is really necessary and useful.

There were a couple of things in particular which helped enormously with coming up with the current design of MeshApp.

 First, viewing the source code and documentation for existing plugins to olsrd made life a lot easier. Especially the plugins txtinfo (sends along useful olsrd output) and nameservice (DNS service for mesh nodes). One of the problems I was having at first was attempting to "reinvent the wheel" and think about how MeshApp will interact directly with olsrd. Thankfully, the plugins make this a non-issue.

Second, Mitar suggested we think of the possible kinds of people who will be using MeshApp, what will they be using it for, and what should MeshApp have that makes them think it is "cool". We divided up users into three categories: Non-Technical/Novice User, User instructed to use MeshApp, Technical/Expert User. This idea was helpful in coming up with a concrete design and thinking about how will MeshApp play into "bringing the mesh to the masses".

There are still some open problems that we have to deal with, and inevitably there will be problems that arise which we cannot anticipate. Some issues we are still dealing with:


  1. Should MeshApp 1.0 be relatively "raw" (lacking certain functionality and usability features), or should the first release be polished and have more advanced (and time-consuming) technical features? That is, should MeshApp 1.0 be a basic prototype of the application and exclude the more complex features like GPS/Location data, temporary mesh network creator, auto-configuration wizard, etc? 
  2. How to get olsrd fully ported to Android - regardless of the particular hardware or firmware version? This is a particular challenge, since olsrd has to run as root, yet more recent versions of Android (namely 2.1) have not yet been rooted. 
  3. Getting the Ad-Hoc Routing Protocol (AHCP) to work without IPv6 support, or patching earlier versions of Android with support for IPv6.
  4. A telnet command needs to be added to nameservice plugin so we can easily retrieve location data about other mobile nodes on the mesh.
  5. How can we add in a metric for accuracy of location data? GPS location is often unreliable and inaccurate, while location via WiFi signal strength tends to give better results. There is functionality built in to Android for this - but how should we include this into our design?
Anyway, now that we are in a good place with the design of MeshApp - there will slightly more regular updates on its development. The progress can also be tracked more closely by checking out our wiki page and subscribing to the wlan-lj mailing lists

To anyone reading this blog - your thoughts and input are really valuable to the development of MeshApp. If you have any thoughts, leave a comment here. If you have any feature requests, send them along to the wlan-lj mailing list. If you would like to contribute to the project, send an e-mail to me personally or contact us through wlan-lj.

9 comments:

  1. It is a very good work we want to do project like this as a graduation project so kindly can you tell us some good reference and good start point to start our work.

    ReplyDelete
  2. The most important feature is VOiP functionality
    if the average joe with a smartphone and mesh capabilities is caught in a situation where the cell infrastructure is damaged or nonexistant the first thing they will do is attempt establishment of voice communications as its the fastest way for us to relay accurate data to one another

    this could save lives in the future you guys be damn proud of the work youre doing

    ReplyDelete
  3. Hi... I wish to know how this MeshApp thing is to be install on android phone... Any Idea?

    ReplyDelete
  4. Hey, I was just thinking how great a global mesh would be and I wondered what the state of this app is. The refenced wiki seems down?

    ReplyDelete
  5. Imagine some of the more interesting uses for this. Personally I would love to go skating w/ a friend listening to the same stored playlist in winamp on BOTH our phones while maintaining an adhoc wireless connection for voip. kinda like those expensive motorcycle helmets w/ built in walkie talkies except way cooler CUZ IT'S YOUR PHONE. It's already in your pocket, It already has GPS. imagine a voip chat app w/ google maps API and open mic chat. Makes my nerd sense tingle A LOT

    ReplyDelete
  6. Hi, I just recently started to work with olsr, which involved also to port and control it on windows mobile. Now (too late) I came across MeshApp, which looks very promising. But there are no major changes since 2010, so what are the real Milestones and future plans. I also deployed and build the Meshapp successfully from the code in the repo, but it was quite difficult, since some build preconditions are not documented. I could contribute to the project, by at leased provide a script to setup the necessary preconditions. And I would like to start implementing the basic features to the android gui, since we might need that for an own testbed. Could you give me some hints where to start, and what is done so far?

    ReplyDelete
  7. Hi I have the same question as Simon, do you have and response. BTW, fool question, how to download and install meshapp, any documentations?

    ReplyDelete
  8. This is one of the genius and easy understanding post.I like your blog application.
    Android app developers

    ReplyDelete
  9. I'm starting to work on an OLSR app for Android, so I was very happy to find MeshApp, the source, and this blog. It seems that development on it has stopped for over a year. You can track our progress and find out how to get involved here:

    https://github.com/guardianproject/olsrd

    @Simon, also, I'd be very interested to hear about your Windows mobile port.

    ReplyDelete