Technical implementation

Figure 7 Technology involved in application overview
  1. Database

1     Database

Doubtless, database is necessary for our applications to store all system related data such as comments, user profiles and ratings, etc. Records can be selected, inserted, updated or deleted whenever needed. For example, once user makes a new comment towards a venue, it will be inserted into a comment table, and the ranking system (such as the ranking for “most welcomed venue”) will request this new data from database to generate updated results. Therefore, adequate database technologies such as indexing, storage procedure and recovery are determinant factors to achieve high efficiency in data manipulation.

2.  Mobile phone tracking

In our Campus Scout application, the location-based service is critical. It enables the system to identify a location of the user or venue, such as using current location, discovering the nearest canteens, study rooms and friends. To acquire the coordinates accurately, the mobile should have Hybrid Positioning systems, i.e. a combination of network-based and handset-based technologies for coordinating determination. For example, Assisted GPS use both GPS and network information to compute the location. Both types of data are used by the phone to make the location more accurate (i.e. A-GPS).Alternatively tracking with both systems can also occur by having the phone attaining ones GPS-location directly from the satellites, and then having the information sent via the network to the person.

3.  Rating and ranking system

Rating and ranking system require an algorithm to calculate participants’ self-reported rating score on a specific term, with the result coming from, for example, the average of all scores and ranking according to the data results. This system is implemented in all of our application so that we can check “the best study room”, “most welcomed lecturer”, “most enthusiastic helper”, etc.

4.  Recommendation system

Recommendation system is a data mining system that predicts the user’s preference in items or social elements (e.g. people or groups). It enables a website to preset its unique appearance to each customer. Two main approaches are used widely among recommendation systems, systems with the collaborative filtering approach study user’s previous behavior and consult decisions performed by other users. While those with content-based filtering approach collect the characteristics of an item to recommend similar ones, the later one exists in our campus scout and course Advisor application. To give suggestion to idealess fresher, they can collects related data using statistics and data mining from user’s daily actions such as what words he always searches on web, post on blogs or text with friends, etc. After acquiring enough information, the program can analyze user’s browsing and typing history to generate several factors for class and venue selection, and fetch suitable items from database based on these factors.

5.  User Interface (UI)

A UI is indispensable for the interaction between the user and the system. It allows the users to manipulate the system effectively, and in return, allows the system to indicate the effects of the users’ manipulation. Since our applications focus more on the contents than on the interface, we can directly use the mobile Software Development Kit (SDK) of Apple which is more familiar to most users.

6.  Mashup

Our three applications are all mashup applications, due to the fact that we use and combine data, presentation or functionality from other sources to create our new services. It frequently uses open APIs and data sources to produce enriched results. In detail, the needed APIs are listed as fellow:

1)Google Maps API

In the Campus Scout application, we need maps to provide location information in the university so we call Google API to achieve this aim. Firstly, we ask for an API key from Google API console website by our Google account to create the NTU map. Secondly, we set default controls so that user can zoom and pan the map.

To display friends’ pictures and new comment icons on the map, overlay markers are added. Moreover, we implement our own custom overlays to show every floor plan.

If user wants to check current location or search for a place, the Geocoding would help to achieve the purpose by converting geographic coordinates (acquired from mobile tracking) into the name of a place or in reverse from the name of a place to geographic coordinates shown on the map.

2)    Facebook andTwitter API

We call upon Facebook and Twitter API mainly for user login and information sharing. With these two API, user can login our applications via either of their account and the profile will automatically be imported into the systems. When user makes a new comment, it can also be posted on Twitter or Facebook’s updated status. For Facebook only, the activities participated by the user in our applications will be publish to his/her news feed and profile pages.

Both Facebook and Twitter’s API use RESTful protocol and responses are localized and in XML format.

3)    University API

Since our applications are constructed for the university, most information (i.e. building floor plan, lecturer and student profiles) should be provided by the university database. Also, the Campus Scout and Course Advisor allow user to login via school account, which means that the university has to open this interface to these two applications.

4)    Yahoo mail and Gmail API

In the Course Advisor, in case one user wants to contact lecturers or senior students, they can click the mail address and send an email to them via Yahoo or Gmail account directly as we call these two APIs in the application. Both The Yahoo Mail and Gmail API use OAuth for authentication to access mailbox contents and send e-mail messages.