Project on the Linux Java Platform for a Mobile Communication Technology Provider

Client Overview
Our client is a global leading mobile communication technology provider. Its technology focuses on broadband, embedded system and wireless networks.

Background
USE has established a long term relationship with the client for 3 years. Our 50 engineers working onsite provide software development services.

Project Overview
The purpose of this project is to design, develop and deploy both applications and services on the Linux Java Platform (LJP). LJP is based on the open operating system EzX architecture which uses Monta Vista's Linux Operating System. In this project, we get involved in both server end and client end which employs embedded technology.

This project strictly follows the uniform software lifecycle established by the Client to guarantee that the software developed meets requirements.

The software lifecycle is divided into 5 phases: Feature Requirement Allocation, Feature Commitment and Planning, SW Implementation, Feature Integration and Verification, Platform Integration and Verification. Each phase has specific objectives, responsibilities, activities and input/output criteria to ensure development implementation.

Firstly, developers and testers analyze and review requirements with technical Market(TM) and Customer eXperience Design (CXD) to identify the scope of a feature and define the requirements.

If the feature requirements get acceptance; as a second step, we make a development plan which includes resource and schedule estimates for implementing the features and integrating them in a drumbeat (platform release).

Software implementation and coding is the third step. Code, unit tests and other corresponding documents must comply with the existing criteria. Developers write code to fulfill software design, create unit test cases, and verify potential issues by relevant tools. In this phase, we finish all the coding and testing jobs.

Then, feature integration and verification is done. Developers cooperating with testers to perform and finish the feature tests to ensure criteria compliancy.

At last, components are integrated into platform label and platform testing is carried out to ensure that we meet the ultimate goal.

Points of the project:

Browser
For development, we made use of Open Source components such as WebCore and JavaScriptCore from Apple to render HTML and JavaScript. Also we used Netscape's Plug-in APIs to provide a framework for extending the browser functionality. In addition to the Browser application, the features included the WebAccess application, Download agent, HTPP and WAP stacks, and necessary APIs for various applications to invoke the Browser function.
Technology
Linux 2.6.X, C++, eclipse, Clearcase, CPPUnit, Klocwork, etc.

Addressbook
Address Book application is used to store and manage contact information. The contact information includes contact's name, number, email, IM ID, address, birthday, anniversary, etc. User can assign a picture or call alert to the contact in order to distinguish each contact, make a call, send a message, an email or contact information to other mobile phones.
Technology
Linux 2.6.X, C++, eclipse, Clearcase, CPPUnit, Klocwork, etc.

Idle
Idle component is responsible for developing and maintaining a software framework and a series of useful plug-ins for embedded device's screen. This framework not only supports the client's own plug-ins (such as clock, date, navi-key shortcut, status bar, status test, etc.), but also supports many third party components or carrier's integration requirements. As all the main screen of the embedded devices, Idle framework has been specially designed and it also uses a very flexible architecture. However, at the same time it can also meet the extremely strict performance requirement.
Technology
Linux 2.6.X, C++, eclipse, Clearcase, CPPUnit, Klocwork, etc.

Fota
FOTA is used for updating or repairing the software on the device remotely.
Technology
Linux 2.6.X, C++, eclipse, Clearcase, CPPUnit, Klocwork, etc.

Setting
Settings applications allow the user to view and change phone configuration parameters such as ring tone volume, theme/skinning, phone/PIN lock enable/disable, etc. The important stand alone setting applications are Phone setting/connectivity, Profile, Theme and Security settings.
Technology
Linux 2.6.X, C++, eclipse, Clearcase, CPPUnit, Klocwork, etc.

Sync
Data synchronization (DS) is a service that establishes equivalence between two data collections, where each data element in one collection maps to a data item in the other.
Technology
Linux 2.6.X, C++, eclipse, Clearcase, CPPUnit, Klocwork, etc.

Camera
We rewrote the old camera application which is in source code to a new application framework which is designed by the client.
Technology
Linux 2.6.X, C++, eclipse, Clearcase, CPPUnit, Klocwork, etc.

Multimedia
Generalize the Interface of Mobile phone supported multimedia features.
Technology
Linux 2.6.X, C++, eclipse, Clearcase, CPPUnit, Klocwork, etc.

Calling
The calling application runs on system service applications. Calling needs to interact with APIs which provide services related to network and SIM. The Sound/Audio Manager manages system audio resource and device and it also hides PCAP hardware details.  Qt is GUI framework and windows management of system. Database provides service to store structured data, record search and data operation transaction.
Technology
Linux 2.6.X, C++, eclipse, Clearcase, CPPUnit, Klocwork, etc.

Media Player
We rewrote the old Media Player application which is in source code to a new application framework which is designed by the client.
Technology
Linux 2.6.X, C++, eclipse, Clearcase,  CPPUnit, Klocwork, etc.

Current Status
Through 3 year’s cooperation, more and more important developing tasks which involve the client's core technology are taken by USE. Our excellent performance is always highly praised by the Client.

Return