Developer Documentation Library > Mobile SDK > Implementing a mobile application
 
Implementing a mobile application
These sections explain the process of designing the various implementation strategies.
Implementing a Connected or Partially Connected application
Conceptually, the Connected or Partially Connected application requires an interviewing shell that interacts with the Interview Web Service and a rendering component that renders the Player XML. The Connected or Partially Connected example is fully functional and can be used as an example of interactions between the Interview Web Service and Player XML.
For more information, see Connected mobile application example reference.
Implementing an Disconnected application
The Disconnected example includes a REST based web service (MobileSyncWebService) that interacts with the SyncWebServiceV2 when synchronizing files. The web service transforms UNICOM Intelligence files into simplified XML.
Unlike the Connected example, the Disconnected example does not include a fully functional example. You need to construct a mobile application to interact with the MobileSyncWebService, and to allow interviewers to manage projects and conduct interviews.
The mobile application requires the following conceptual components. The components can be built separately, as shown in the following diagram, or combined.
This graphic is described in the surrounding text.
For information about the MobileSyncWebService, and each of the mobile application components, see Disconnected mobile application reference.
Interviewer shell
The Interviewer Shell is not dependent on any UNICOM Intelligence files or components. The shell interacts solely with the synchronization controller, the synchronized files, and the interviewing application. It is expected that the interviewer shell will gather login information and control synchronization (the exact design is at the developer's discretion).
Synchronization controller
The synchronization controller interacts with the MobileSyncWebService to download project files and upload respondent data (as required).
Interviewing application
The interviewing application processes the Routing XML to decide the next question to ask, processes the Question XML, renders the Question XML to the respondent, receives respondent input, and stores respondent input. An expression evaluation component is available to help process the routing XML.
All UNICOM Intelligence projects contain system variables. These variables are described in the metadata (Question XML), but are not present in the routing script (Routing XML). The interviewing application must write the system variables because they are used heavily by other UNICOM Intelligence activities. In particular, the following system variables need to be set correctly:
The Respondent.ID must be unique across all devices, and is most cases the sample identifier that is received from the server when sample is in use. A GUID is often used for this purpose.
The Respondent.Serial must be unique on the device. When uploaded, the data is merged into a single analysis database, along with respondent data from other devices. The Respondent.Serial is updated by the server to be unique among all respondents in the merged analysis database.
The application must attempt to write all system variables that are described in System variables.
The interviewing application must also handle text substitution and formatting substituted text. For information about text substitution and how to format the substitutions, see Text substitution. For information about label text insertion, see Label text insertion.
Renderer
The renderer transforms pages from the interviewing application into the format that is chosen for the interview. The renderer accepts pages, including data and transforms, that are formatted for use in the interviewing application. The component is called out separately because there can be different renderers for different device types.
See also
UNICOM Intelligence Mobile SDK