Jamoa: Java Mobile Application

This application was developed as a full term project for bachelor students implying 6 ECTS Credits under the supervision of the DOP lab, Information Systems Institute, HEC Lausanne.

Primary Goals

The main objectives of this project are to create a mobile ad hoc application, running on mobile phones, using Java Micro Edition (ME) and the Pervaho Middleware. The requirements are to create an application that allows users to get in touch with each other and meet based on a shared interest and on their physical proximity as well as including elements for managing an urban tribe (trusted interaction) and public (anonymous) interactions.

Mobile Device

The primary requirement of the application is to run on mobile phones. With the majority of manufacturers integrating Java mobile technology into their devices as well as the growing use of such devices, the power available for more complex applications and their adoption by the public make it a good platform for deploying next generation software solutions.

Peer Proximity

Hence the structure of the Pervaho middleware, the application must have different behaviour related to peer proximity. In our case, Pervaho specializes on providing location based publications/subscriptions that follow the user’s position.

Peer To Peer Interaction

The application must also offer support for users to get in touch with each other directly as well in a virtual context as in the real world.


The application must support trusted interaction, i.e. allowing the user to network with chosen partners; and anonymous interaction, where interactions happen with anybody.

Secondary Goals

By using the Pervaho framework (HEC DOP lab), determine its strengths and weaknesses. Implement and test its actual possibilities and identify missing key features.



The application provides support for the search of sports partners in a relative short time horizon and in a given proximity area. The application contains a predefined list of sports and it is possible to record friends and organise them in groups. The user is notified of their presence when they are connected and he/she can monitor their position using the map function. He can also define his personal profile, including his name, phone number and the sports that he practices and his corresponding level.

When he publishes an advertisement the user chooses the sport, start and end time, area and anonymous/trusted criterion, i.e. a partner in the public network (anonymous) or in his friends network (trusted). The latter allowing the user to select a group of friends to which the ad will be visible.

When a match between two ads occurs, both partners get notified, receiving each other’s contact information. They can get in touch with each other and discuss the terms of the meeting.


The application aims at fulfilling the following needs:

  • Meet a partner with an adequate level to do sport quite immediately in a given proximity range.
  • Do any sport, but the identity of the partner is the most relevant criterion.

First Version Limitations

The location API (JSR-179) is not implemented in the majority of today’s phones. Also in Switzerland, the providers block the communication ports. Therefore, testing was only possible in an emulated environment.

We decided to use a self created address-book because the access to the phone’s contact list is supported yet by another API (JSR-75) which is presently scarcely available on today’s phones. Also the fields which can be accessed vary on each phone.

The text message contact function could have been implemented using J2ME i/o functions. This would have implied recreating a sms application. Unfortunately, direct access to the phone’s communication features is not available because no generic API exists for such purpose.

As the intended usage of the application is short time search, the start and stop times do not include a date but only hours. This makes it impossible to create an ad for the following day. As it is a prototype, error handling is limited to the most necessary cases. And also we did not test all the combinations of possible errors.

The sport being hard coded in the application, it is not possible for the user define his own sports. This is done in order to ensure that matches occur, but it is a limitation for users who want to practice sports which are not predefined.


Application flow

application flow

Flash Demo

Add Friend

Size: 3.3 MB

Add Friend

AD Match

Size: 7.1 MB

AD Match

Edit Profile

Size: 1 MB

Alice Profile


jamoa.txt · Dernière modification: d-m-Y H:i de boris
chimeric.de = chi`s home Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0 Fristcher.ch