Return to The DoDWAN platform

Overview of DoDWAN Apps


The DoDWAN platform


DoDWAN Apps for netbooks

Starting DoDWAN Apps
DoDWAN Apps Overview

DoDWAN Apps for smartphones

Hints and tips


Running DoDWAN programs
Using the DoDWAN API
Reference Java API

Additional documentation

Network configuration
Configuration properties
Launching environment

PresWAN: neighborhood visualization with DoDWAN


With DoDWAN Apps, each user is identified by a pseudo, and he/she can be a member of one or several groups of users.

PresWAN is an application that makes it possible to visualize which are the “neighbor” users and groups at any time (two devices running DoDWAN are considered as being neighbors when they are in radio contact with each other). In the presence window, your current neighbors are displayed with colored icons, and “former neighbors” (that are now out of radio range) with grey icons.


An icon representing a user appears in color when this user is in your neighborhood, and it turns grey when this user moves away (or switches his/her device off).

An icon representing a group of users appears in color when at least one member of this group is your neighborhood, and it turns grey when no member of this group is left in the neighborhood.


The icons representing former neighbors can be masked temporarily by selecting the option “Hide absent neighbors” in the View menu. These icons can also be removed by selecting option “Forget absent neighbors” in the same menu. Hidden neighbors can be displayed again with option ”Show absent neighbors”.


You can join or leave a group at any time by selecting option “Show my groups” in the Settings menu. Simply select in the proposed list the groups you want to be a member of. You can also create a new group, specifying the name of the group you want to create.

Right-clicking on a user or group icon allows you to send a message (i.e. either a text message, a voice message, or a file) to that destination. If the icon represents a single user, then DoDWAN will attempt to deliver the message to that user only. If the icon represents a group, the DoDWAN will attempt to deliver the message to each member of the group.

Accuracy of the presence display

Because of the communication mode implemented by the DoDWAN system, the display of neighbor devices is submitted to specific constraints. When a neighbor host is shut down or put in suspend mode, this event is advertised on the radio channel so it is usually displayed almost immediately on the local host’s presence window. On the other hand, when an active neighbor moves away and gets out of radio range it may take some time for the local host to detect this event and update the presence window accordingly.

Setting advanced parameters

The Settings menu in application PresWAN allows you to adjust the behavior of DoDWAN Apps:

  • Change your pseudo: your pseudo is the name by which other users will perceive your presence in the ad hoc network. This pseudo is normally set the first time you start DoDWAN Apps, but it can be modified at any time using this option.
  • Change the default lifetime: any message or file you send to another user (or group of users) must be assigned a lifetime, so it does not propagate forever from mobile host to mobile host in the ad hoc network. The default lifetime value can be adjusted using this option.
  • Change the maximum size: this option allows you to adjust the maximum size for messages and files sent with DoDWAN Apps.
  • Show your groups: as explained in the former section this option allows you to create, join or leave groups of users.
TextWAN/VoiceWAN: text/voice messaging with DoDWAN


TextWAN (Text messaging with DoDWAN) and VoiceWAN (Voice messaging with DoDWAN) are two parts of an application that allows users of mobile devices to exchange short text/voice messages. A message is addressed to a user or a group of users identified by his/her pseudo. Since TextWAN and VoiceWAN rely on the communication mechanisms provided by the DoDWAN middleware system, a message may go through multiple mobile hosts serving as relays before reaching its destination. Any DoDWAN-enabled device may serve as a relay for a TextWAN message.


How to use TextWAN/VoiceWAN

Two lists are accessible in the application’s window by clicking on the matching tabs: the received messages and the sent messages. Each list contains a short description of the messages received (resp. sent) by the user: the sender’s (resp. recipient’s) pseudo, the emission’s date and the first line of the message for text messages or the duration for voice messages. A right-click on a message opens a popup menu allowing to delete or to reply to the message.

A double-click on a message in the list opens a dialog window displaying the whole message. For voice messages, the play button starts a player.


In order to send a message, select Send text message from the Message menu in the TextWAN’s window or right-click on a user icon in PresWAN’s window. A window will appear so that you can enter and send your message. There is currently no way to send voice messages using DoDWAN Apps for Linux or Windows. This functionality is only available using the Android version of DoDWAN Apps. You can however send files of any type (including audio messages) to users or groups of users using the Send file option from the Message menu in the TextWAN’s window or right-click on a user icon in PresWAN’s window. The files you receive that have been sent that way by other users will be stored in the DoDWAN-Files directory.

Configuration of TextWAN/VoiceWAN

Each message sent with TextWAN is assigned a set lifetime, which can be adjusted using the Settings menu in the PresWAN’s window. When a message is sent it starts disseminating opportunistically from mobile host to mobile host in the network, and this dissemination stops automatically when the message’s lifetime expires.

The embedded audio player used to play voice messages relies on VLC 2.0 and VLCJ 2.0. VLCJ is already embedded in the distribution of VoiceWAN. Consequently, you must install only VLC 2.0 (or a greater version) on your device. If you do not want to install VLC on your device, or if you want to use another player to play voice messages, select Settings from the File menu in the TextWAN’s window and give the absolute path to your audio player.

FiShWAN: filesharing with DoDWAN


FiShWAN (File Sharing in Wireless Ad hoc Networks) is a P2P filesharing application that shares many characteristics with popular P2P filesharing applications that run over the Internet, such as Emule or Kaaza. With FiShWAN a user can publish files in order to put these files at the disposal of a community of users and, conversely, the user can subscribe for specific kinds of files in order to receive such files from other users of the community. File sharing is performed asynchronously: the user who wants to acquire a file asks for it beforehand and waits for the file to be automatically retrieved. This process may take a long time, so the user is notified when the file is actually received.

Two major characteristics make FiShWAN different from traditional file sharing software such as Emule or Kaaza:

  • FiShWAN exploits a disconnected mobile ad hoc network. Consequently, the size of the files is limited. Do not think of sharing files of several hundreds of MB. The order of magnitude for the maximum file size is rather around 1 MB. It should also be understood that fetching a file –even if it is a small one– is a process that can take a very long time (several hours or even several days) because this can typically depend on human movements.
  • FiShWAN leverages on content-based communications. Hence, it presents to the user sophisticated means for describing the content of the files he/she wants to publish or obtain. From this standpoint, the graphical interface is richer than that of traditional file sharing software, which often restricts a file description to its name and type. This richness may be seen as a constraint by the users. But it is worth making use of it to achieve a more efficient sharing.

Structure of the application

FiShWAN is composed of two parts :

  • FiShWAN Core is a daemon, ie a program running permanently in the background. It is autmatically launched at the beginning of the session. Its function is to continuously transmit the published files to the computers passing in the neighborhood and to download from these computers the files for which the user has put a subscription. One can verify that FiShWAN Core is active thanks to the green icon fishwan-started located in the status bar at the top of the screen. Normally, this icon should never turn red, stating that the daemon has stopped.
  • FiShWAN GUI is a graphical application that enables publication, subscription, and the management of the descriptions associated with the files. It is accessible in the DoDWAN application menu (icon fishwangui).

Main functions of FiShWAN GUI

The main window of FiShWAN GUI gives access to the usual functions of the application. These functions can be classified into two large categories: publication and reception. Other functions are accessible via the menus of the window.


Publication of a file

Publication consists in a first time in selecting one or several files. Note that the size of the files and the number of files that can be published at once are limited.

A file to be published must be associated with a tag, ie a description that will allow its reception. A tag is a set of fields. A field is couple (key, value). Keys are typed (string, number or date). To build a tag, a set of fields is chosen that best characterize the content of the file. The window shown below gives an example of a tag composed of five fields that describes a holiday picture.


Management of tags

Building tags may turn out to be a rather tedious task. Hence, FiShWAN GUI allows the user to save a tag, and to add the fields of a previously saved tag when editing the current tag. Window “Tag Management” is a window dedicated to the creation, the classification and the naming of the set of saved tags, independently of the publication.


Each tag includes a special compulsory field: the lifetime. It indicates how long FiShWAN must go on publishing a file. One can specify explicetely the lifetime in days, hours and minutes, or alternatively specify a limit date, in which case the lifetime is computed as the time interval between the date of publication (ie the time at which the button “Publish” is clicked) and this limit date. After this limit date, the file no longer disseminates in the network. The limit date must be seen to be chosen as carefully as possible, namely by avoiding to choose too long a lifetime: all the computers of the network will strive to disseminate a file as long as its lifetime is not reached, even if all the users who wanted to fetch it have actually received a copy. This dissemination consumes resources (memory, disk, network bandwidth…) that may lack to the dissemination of other files.

History of publications

The list of the publications previously performed is accessible via the menu “Publication” of the main window. In this window can namely be verified the limit dates of the performed publications. A search area allows the users to visualize only the publications of the files whose names include a given string.

Management of filters

In order to obtain files published by other users, one must first perform a subscription by which is defined the set of the characteristics of the files that are expected to be received. This is achieved through the creation of filters. The window below is an example of a filter management window. It mainly allows filters to be created and saved. The left part of the window presents the already saved filers. the right part of the windows is dedicated to the edition of a filter.


A filter is a description of the characteristcs of a file that the user wishes to receive. It is very similar to a tag: it consists in a set of couples key/value. A filter serves FiShWAN to determine if a file that is made accessible to it should be saved locally. It is the case if there exists an active filter that matches the tag associated with this file.

In addition, a target directory is defined for each filter. Every file that will be received because a filter matches the file’s tag will be stored in the target directory attached to the filter. Note that as several active filter may exists, a file may be copied in more than one target directory.

Reception profile

FiShWAN GUI makes it possible to keep filters even if they are not intended to be used (temporarily in a normal case) for file reception. Indeed each filter is either active or non active. The set of the active filters forms the reception profile and it is this reception profile that enables the actual reception of the files. The following window of reception profile management shows the two lists of profiles. The content of these lists can be modified with the buttons in the center.



The reception of the files is automatic. Once the reception profile is in place, the files will automatically be put in the target directories cited in the filters. The main window offers the possibility to list these reception directories (button “Reception directories”).

In order to inform the user of the actual completion of the reception of a file, a pop-up window appears temporarily at the bottom of the screen. In addition, one can visualize the progress of all the receptions (button “Visualize receptions” of the main window). An example of a window displaying the progress of receptions is shown below. The dissemination of files is performed by fragments of files. For each file, a progress bar is displayed. The file is available locally when all its fragments have been received. One can also choose the columns to be displayed and the sorting order (left click on the column title bar).

The number of received files can be large. So it is possible to display only the completed receptions or those that are still in progress. Furthermore, a search area makes it possible to enter a string that must appear in the displayed file names.


Questions and answers

  • Can I publish several files at once?When publishing a file, you can select several files in the file selector (CTRL-click ou SHIFT-click). In this case the user is asked if she wants to use the same tag for all the files or specify a distinct one for each file. The rest of the publication process is similar to the one of a single file. Note that the number of files that can be published at the same time is limited.
  • What can I specify in the target field of filter?The target field of a filter can be specified in three ways:
    • In the simplest case, the target field is the name of a directory. The received files (ie whose tags match the filter) will be deposited in this target directory.
    • Another possibility is to specify a file as a target. This file must contain a programm (ie it must be an executable file). In this case the specified program will be launched after the reception of a file whose tag matches the filter. Two file names are passed as paramaters to the program: the name of the XML descriptor of the received file (in which you can find the tag), and the name of the file itself. Note that the reception can occur at any time. Therefore, it is not desirable to use interactive programs as targets.
    • A third possibility is to leave the target field empty. This tells FiShWAN that you want to participate in the dissemination of some files (those whose tags match the filter) even if you don’t want to have explicitely access to these files. Indeed, the files will be kept by DoDWAN and retransmitted to the neigbhors who are interested in their content. It is desirable, to some extent, to exploit this possibility and therefore to have an altruistic behavior. Collectively, this is likely to speed up the file dissemination.
  • What is the syntax of the String fields in a filter?The key is necessarily a simple string. As for the value of the field, regular expressions can be used. The syntax is the one of regular expressions in Java (eg .* for a potentially empty sequence of any characters).