[3834] CA1

Summary of Progress

For the first half of the semester, leading up to and including the recess week, most of the effort was spent on consolidating the project structure and getting used to the development environments required for the project. I also did some reading on related works, such as the NICT project and BlogWall, Russell Dimensions. A technology survey was carried out to compare the attractiveness of competing technologies for each component of the system.

As I use Ubuntu Linux on a daily basis, I have selected an open source IDE - Eclipse - as the environment of choice for developing applications in Java. The application frontend would be written in Java 2, Microedition (J2ME) to make it portable across different platforms. The backend database engine would be mySQL, and PHP would be used to handle the interfacing with the raw data because of its ease of use. An expert system was suggested to handle the queries and process the output from the database, but which system should be used has not been determined.

In addition to familiarization work with J2ME, as I have never programmed in Java before, I have also explored the LWUIT and some sample programs involving SVG and location data handling in J2ME. Familiarization work is still in progress.

I have also been able to discuss some ideas with a colleague in Sri Lanka, Asanka Abeykoon, who has worked with Dr. Newton on a similar project before, the NICT i.plot system. Having more experience in developing such systems, he has helped me to refine the components of the system and proposed a few additions to it, such as the expert system mentioned above.

Structure of the system

The Java interface presented to the user on a mobile phone will query the user for data. This data, consisting of the user's current location (GPS data), search terms and an optional destination keyword, will be passed to the expert system, which evaluates the emotional weight and the suitability of the terms in the query. The system, when in Learning mode, will pose a few questions to the user relating to lifestyle and preferences, and this will be used to train the system to meet the particular user's requirements. Coupling the training with the query input, the expert system will extract the relevant data from the database and present it in an XML format. This was decided upon to enable the frontend to customise its appearance easily. The mobile app will then generate an interface based on certain rules and the XML data it receives. The basic flow chart of the system is provided on the right, a product of the discussion between Asanka and myself.

A few screens have been designed for the mobile frontend, and I have been trying to implement them in J2ME. Sketches of the screens as well as a basic flow chart of the display have been generated, and are being added to at this point in time. Clicking on the image to the left will reveal the full-size sketches. I designed them on an assumption of a 240x320 display, as is common to many phones these days.

Work in Progress

As of now, the database format, the XML format and the user interface is being worked on. OpenCellID is also being looked into as an alternative to pure GPS data, but the assumption is that the platform we will be developing for is equipped with a GPS receiver and capable of supporting MIDlets using SVG graphics, LWUIT (most handsets) and XML (at least MIDP 2.0 and CLDC 1.1). Most phones meet the latter requirements, but more often than not it is the hgh end Nokia phones which have GPS antennas inbuilt.

Future Direction

If the implementation is a success, the next step would be to develop a desktop application which works in tandem with the mobile one, in order to allow users from commercial locations, eg hotels or restaurants to input data about their respective properties. The database is already intended to be a product of the general population, that is, any logged-in user will be able to contribute photos and opinions/reviews of certain places. These may only be removed by the admins, to allow for a true opinion as collated from the travellers who have used the facilities.

Also, it is intended that future users may be able to upload photos of places they have never seen before as queries to the database, and retrieve in return a summary of the place that they are currently at, or the feature they have noticed. For example, if a picture of a HDB flat is taken, the system need not mention whether it is from Hougang or Ang Mo Kio, though this is possible with the location data also being sent; but it should be able to mention some brief facts about the history of HDB flats.