Page 3: Adding Points

Boolean Point Screenshot

The Boolean Point is a useful facility for quick recording, providing a virtually unlimited choice of results recording, either text or numeric, see design dialogue box below. While the default choices in the drop down lists are Yes, Yes/No, True/False, Safe/Unsafe, 1/0/99 and NA/ N/A, amend for any choice. The 1, 0, 99 style is useful for collection of observations which may then be subject to statistical analysis. The standard selections can be amended to sentences and paragraphs, which can be selected and loaded into reports.


Selection Point Screenshot

The Selection Point is particularly useful where a number of choices are presented and multiple selections may be necessary. The design dialogue box below shows potential for many Items to be presented with either Multiple or Single selection. The Items can be added, edited, deleted and moved up and down. Code-based provides the opportunity to collect numerical data or codes 'behind the scenes', eg 1;Normal, 2;Excited and so on, use the number/code first then a semi-colon (;) to separate from the text. The code value is not visible on the project page. The code-based values can be used as inputs for Math points, see below. When numeric data is used in the Selection point in Multiple selection mode the values are added when used as input to a Math point.


The Import tool facilitates the importing of content for the Selection Point, content must be sourced from a tab-delimited txt text file to import. To set a value as default in Design mode, select value and point in page view and right click mouse to 'Save Default Value'.

Right-click of a Selection point in the Design window, presents the Convert to Drop Point option to create an equivalent Drop List point (see below), with the same characteristics. Similarly, a Drop List point can be converted to a Selection Point.

Edit Point Screenshot Screenshot

The Edit Point is used for entering text and/or numbers in the field. Standard Cut / Copy / Paste commands can be used, and Bar Code and RFID (radio-frequency identification) are accepted. The design dialog box below shows the Style options for text and numeric input and controls for Numeric Behaviour and Default Value for both text and numeric data. If numbers only should be entered by users and then may be inputs for Math and Logic points, the style Numbers only should be selected. Style also includes an option for Masked entry of either text or numbers, for use of passwords to control visibility of pages and points (in combination with Logic point). The size of the entry field is controlled by Physical Size, from many compact inline box options to 16 lines for entry of large amounts of text. Note, in Android to scroll in multi-line Edit points, tap to show cursor and then drag the cursor to scroll.

Up and down arrows, or 'spin buttons' can be used for quick entry of numbers. A Range can be set for numeric input; however, a default value within the range must be set otherwise the out of range warning would show. In Android, to enforce the range, set 'Required' in point General Style. The Limit control enables a limit to the number of characters entered in the Edit point, this can be useful when outputting to databases and forms.

Screenshot Screenshot

Default Value can also reference the current value of other points, evaluated at session creation time. Thus the Default Value for a point can be <%OtherPointID%> ; for example, in drill hole sampling to enable 'from' and 'to' data; the referenced point should be set to 'Retain Session Value'. To record the device UnitID at session creation time the Default Value can be set to <%_UnitID%>. To record the session GUID in a data point at session creation time the Default Value can be set to <%_GUID%>.

The 'Read only value (on mobile client)' option presents data that is included at session creation on the Mobile Data Studio server, either via the Data Pathway (see Data Management, page 12) or a Local session (see page 2). This control cannot be overridden on the mobile client.

To load data from Bar Code Scanners, tap the Edit point box for cursor activation before loading scan/s. The cursor will automatically be placed in any Edit point at the top of a page in Windows Mobile. Scanners are available to capture bar code using Edit point in Android, Apple iOS, Windows 10 and Windows Mobile; eg the Socket Bluetooth Series 7 Scanner. Bar code data input can be used to filter large data sets in the UltraDrop point (page 5). Similarly, the Edit point can be used to capture RFID data from RFID scanners to filter large data sets; for example when identifying assets for maintenance.

Camera based Bar Code Scanner output can also be captured in the Edit point; both standard and QR codes. CNS Barcode app for Apple iOS and the Barcode Scanner+ app for Android both 'Copy' scanned code to the mobile device clipboard, from which a simple 'Paste' to the Edit point is done. The Link point URL link function can be used to launch the bar code scanner app; for CNS Barcode use cnsbarcode://scan and for Barcode Scanner+ use .

Screenshot Screenshot Screenshot

Dictation can be used for large blocks of text: in Android, iPhone and Windows 10, transcribe direct from keyboard microphone input to Edit point when connected to the Internet.

Drop List Point Screenshot

The Drop List Point is useful for long text records for both single and multiple selections. The Drop List is also a compact way of managing possible selections, with many entry box size options. The design dialog box below shows important Style options for the listing of items: Editable/edit enables additions to the Drop List on the mobile device by entry into blank areas; Save will store the new items for future use on the particular mobile device on which they were entered. This facility allows additional design specificity, and flexibility, beyond the project/application down to the level of particular users of the project. If a particular cached response needs to be removed on the mobile device, simply select it twice in a row in Android, Windows 10 and Windows Mobile, and swipe left in Apple iOS, and a prompt will appear to confirm the removal.


To generate Code-based output, place a semicolon (;) between the code and the text visible in the Drop List point. For example "150;Consulting Rate", would record 150 and make the number available for math operations.

The Multiple selection drop list enables multiple selections (including Code-based), choices are marked with a tick. Selections are recorded in data management separated by a semi-colon. Multiple selection Drop Lists cannot be edited on the mobile device.

The Import tool facilitates the importing of content for the Drop List, content must be sourced from a tab-delimited .txt text file to import. A list of hundreds of Items can be imported and scrolled for selection of choice on the mobile device. To set a value as default, select in on-page view in Design and right click mouse to 'Save Default Value'.

Where long statements are included in Drop Lists, it may assist to reproduce these in point Guidance to assist the user, or to display the selection using a Layout point (page 4).

(For more advanced drop list functions, see UltraDrop point on page 5.)

Date/Time Point Screenshot

The Date/Time Point is used to record the date (and time if selected) of a particular action or observation. The Date/Time point complements the timing functions of Mobile Data Studio which always record the time and date a new session is started and finished with a project/application. The time and date recording are a reflection of the settings on the host mobile device or desktop PC. Date Format options are available for regional preferences. Date/Time point accesses the calendar functions on the mobile device and desktop PC, and can record current and other times.

On-screen, Date/Time points appear as a caption followed by a check box and date and/or time string. Tapping the check box will record the current date and/or time; controls enable alteration to date and times, either by launching a calendar or first selecting the value and using controls to make changes.

A variety of date and time formats are available, including YYYY-MM-DD, DD-MM-YYYY and MM-DD-YYYY, with day and month text, and 12 and 24-hour time with and without seconds. Both Display and Output formats can be set; for example the popular DD-MM-YYYY format might be displayed but the universal YYYY-MM-DD be output.

There are three options for control of the Date/Time point, a simple box enabling  tap to set the current date and time, the 'Native' Windows control and a Touch-friendly control displaying a large calendar which is useful for devices without a stylus. Download a Date Time Test project to try out various settings to suit Android, Apple, Windows 10 and Windows Mobile devices.


The Date/Time point can be used in combination with the Math point (see below) to record time elapsed for time-based charges and other purposes. If a Date/Time point is included in a Math point's expression, the time and/or date will first be converted into a number. Where a date is included, this number will be the number of minutes since January 1st, 1970. If there is only a time, the number will be the number of minutes since midnight. When the Date/Time point includes seconds, they appear as a decimal portion of a minute in math operations (30 seconds is 0.5 minutes). Note, that when using date Maths and exporting to databases and spreadsheets, it is best to use the universal YYYY-MM-DD date format. Dates presented in other formats may not be interpreted correctly. Download a Days Calculator demonstration project to see how the Math point interrelationship can be used; in this example to calculate the number of days between two dates.

Math Point Screenshot

Math Points allow a project to evaluate equations, drawing input from other data input points including Boolean, Selection, Edit, Drop List, UltraDrop, Logic, Date/Time, and Math points themselves.

On-screen, Math points appear identical to Edit points, but are read-only. The value will be computed automatically. The result calculated and displayed in a Math point is recorded in session data.

Each Math point has a fixed expression associated with it that it will evaluate to produce a result. These expressions can include 30 mathematical Operators and Functions, some of which are shown in the dialogue box image below.


Mathematical operators, in order of precedence:

Conditional operators, in order of precedence:

Logical operators, in order of precedence:

Functions take the form fn(x), where fn is the function name and x is an expression. Functions are:

Values from other points on the page (or indeed any other page in the project) can be used in the expression by including the ID Name of the point. Note that referenced points must contain numeric data; however, this can be in code-based format.  Points that are blank (ie points that have not been filled in) will be treated as numeric zeros. 

For example, an expression to add the values entered into two other points named A and B would simply be "A+B". While this is a simple case, more complex expressions can easily be constructed, involving fixed constants and brackets. For example, to take the average of three points named Alpha, Beta and Gamma: "(Alpha+Beta+Gamma)/3".  The dialogue box below shows another example, and the drop down selection facility to import points into a math equation. Practice the Math point to experiment with it's power and versatility, confidence will soon develop to apply it to many valuable projects. The Field Service Report and Sales Force projects included in the Examples folder of Mobile Data Studio software (C:\Program Files (x86)\Mobile Data Studio\Examples) make use of the Math point in preparing invoices for services and products. The screen shot below is of the Cleaning QA example project where Math expressions adjust for scoring where some scoring items are not used; necessary for scoring 'checklist' type projects.


The syntax for the If/Else logical operator is (conditional expression) ? (true expression) : (false expression). The brackets are not necessary, and any of the three expressions could be constants or variables or more complex compound expressions.  The If/Else operator group has the lowest precedence. For example if there is a point 'INPUT', and the objective is to create an expression that is equal to INPUT squared if INPUT/2 is greater than 5, or INPUT cubed if INPUT/2 is less than or equal to 5, write:  ((INPUT/2)>5) ? (INPUT^2) : (INPUT^3).

Random function irnd(x) generates a random integer between 0 and x-1 (meaning that there are x possible values); frnd(x) generates a random decimal between 0 and x inclusive (it could be, eg 2.456).

A full range of Decimal and Hexidecimal Accuracy control is available. There is support for non-English locales, as determined by hardware system settings (Settings > System > Regional Settings on mobile device and Control Panel > Regional Settings on desktop PC). Thus if Regional Settings specify "," as the decimal character and "." as the digit grouping character (which is opposite to the English system), then these settings will be reflected in Mobile Data Studio.

The Link point URL Schemes function can transfer Math point data between multiple sessions, for example cumulative costs or other measurements. Download an example URL Math Sessions project which opens a new session and transfers previous total to next session, per mds:///new/session?project=Math_Sessions.ppc&values={"OldData":"<%Math2%>"}.

Numpad Point Screenshot

The Numpad numeric keypad enables rapid entry of numbers using fingers rather than stylus. Numpad points are convenient inputs for Math points. Tap pad icon to launch Numpad. To support international use, in Design the Numpad has an option for Decimal character, based on either Auto (device settings), period/full stop, or comma. The Numpad point has a control in Design mode to set the range within which data can be collected, and to limit the digits in the number. Note that a  period/full stop, or comma, is regarded as a digit; thus five digits could be 45.76.

Screenshot Screenshot

If the recording of data within a range is imperative and users are likely to enter data direct to the point display box, enforcement of the range can be done by making use of the point 'Required' control.

Previous Page Jump to page:   Next Page