Tutorials

Labels
AJAX(112) App Studio(9) Apple(1) Application Builder(245) Application Factory(207) ASP.NET(95) ASP.NET 3.5(45) ASP.NET Code Generator(72) ASP.NET Membership(28) Azure(18) Barcode(2) Barcodes(3) BLOB(18) Business Rules(1) Business Rules/Logic(140) BYOD(13) Caching(2) Calendar(5) Charts(29) Cloud(14) Cloud On Time(2) Cloud On Time for Windows 7(2) Code Generator(54) Collaboration(11) command line(1) Conflict Detection(1) Content Management System(12) COT Tools for Excel(26) CRUD(1) Custom Actions(1) Data Aquarium Framework(122) Data Sheet(9) Data Sources(22) Database Lookups(50) Deployment(22) Designer(178) Device(1) DotNetNuke(12) EASE(20) Email(6) Features(101) Firebird(1) Form Builder(14) Globalization and Localization(6) How To(1) Hypermedia(2) Inline Editing(1) Installation(5) JavaScript(20) Kiosk(1) Low Code(3) Mac(1) Many-To-Many(4) Maps(6) Master/Detail(36) Microservices(4) Mobile(63) Mode Builder(3) Model Builder(3) MySQL(10) Native Apps(5) News(18) OAuth(9) OAuth Scopes(1) OAuth2(13) Offline(20) Offline Apps(4) Offline Sync(5) Oracle(11) PKCE(2) Postgre SQL(1) PostgreSQL(2) PWA(2) QR codes(2) Rapid Application Development(5) Reading Pane(2) Release Notes(184) Reports(48) REST(29) RESTful(29) RESTful Workshop(15) RFID tags(1) SaaS(7) Security(81) SharePoint(12) SPA(6) SQL Anywhere(3) SQL Server(26) SSO(1) Stored Procedure(4) Teamwork(15) Tips and Tricks(87) Tools for Excel(3) Touch UI(93) Transactions(5) Tutorials(183) Universal Windows Platform(3) User Interface(338) Video Tutorial(37) Web 2.0(100) Web App Generator(101) Web Application Generator(607) Web Form Builder(40) Web.Config(9) Workflow(28)
Archive
Blog
Tutorials
Wednesday, May 7, 2014PrintSubscribe
Configuring a “List” Presentation Style in Apps With Touch UI

Compare the design and presentation style of a supplier list in an app with Touch UI.

The grid view grid1 contains ten data fields.

Configuratoin of 'grid1' view in data controller 'Suppliers' displayed in Project Designer.

The grid view is presented in ‘List’ style on iPhone  with only first three fields fully visible.

Only three fields of grid view of suppliers are fully visible on iPhone 5.

The same supplier list shows first five fields defined in grid1 when displayed on iPad Air. Field names  and values of a selected supplier record are displayed in the summary on the sidebar.

The default presentation of Suppliers list on iPad Air.

The iPhone version of the list seems to display more than it can fit, while the iPad version does not display enough fields in the empty space.

In fact, both devices display only the data fields marked to be shown in the summary. Application generator configures the first five fields of the grid view grid1 as “Show In Summary” in all data controller, when the baseline application is constructed.

First five fields of all data controllers in the baseline app constructed by Code On Time are marked to be displayed in the summary.

Therefore only first five fields are rendered in the views with “List” style by Touch UI.

Touch UI also offers a precise method of controlling presentation of data in lists through data field tags. The tags may include numerical suffixes to create a responsive presentation on any device. It is important to know the logical display width of list item cards when configuring such tags.

Tag Purpose
item-heading Specifies that the field must be displayed as a heading in a list item.
item-aside Makes the field displayed on the right side of a list item opposite to the heading.
item-count Turns item value into a bubble displayed on the the right side of a list item.
item-desc Item is displayed below the heading with the value on top and the field label below the value.
item-descNN Performs the same function as “item-desc”. The numeric suffix must be divisible by five to indicate the minimal list item width expressed in logical display elements. If the current display width of the list item matches or exceeds the suffix, then the field is visible.
item-para Causes the flow of data fields marked as “item-desc” to restart in the next row. Must be used along with “item-desc” tag.
item-labelNN Allows controlling if the field label is displayed next to the field value. Must include a numeric suffix divisible by five to indicate the minimal list item width expressed in logical display elements. If the current display width of the list item matches or exceeds the suffix value, then the field label is visible.
item-thumb Forces the field to be displayed as a thumbnail of a list item. Must be used with On Demand fields only.

Tagging any data field in a grid view with an “item-“ tag will disable the default list construction based on “Show In Summary” property of data fields.

The following reference uses Suppliers controller from Northwind sample as an example.

item-heading

If an explicit item-heading tag is not specified, then the first visible field of a grid view will be configured as list item heading.

Specify item-heading tag for Suppliers / Views / grid1 / CompanyName data field on Controllers tab of Project Designer.

The item data card is now reduced to a single field value.

Data card with a field tagged as 'item-heading' in an app with Touch UI.

List with a field tagged as 'item-heading' in an app with Touch UI.

item-aside

Specify item-aside tag for Suppliers / Views / grid1 / Phone data field on Controllers tab of Project Designer to display the phone number on the opposite side of the heading in a data card.

Data card with the fields tagged as 'item-heading' and 'item-aside' in an app with Touch UI.

List with the fields tagged as 'item-heading' and 'item-aside' in an app with Touch UI.

item-count

As an alternative to item-heading consider using item-count. This will display the data field in  bubble on the right side of the data card.

Specify item-count tag for Suppliers / Views / grid1 / Phone data field on Controllers tab of Project Designer to display the phone number as a bubble in a data card.

Note that bubble is centered vertically in a list item.

Data card with the fields tagged as 'item-heading' and 'item-count' in an app with Touch UI.

List with the fields tagged as 'item-heading' and 'item-count' in an app with Touch UI.

item-desc

Specify item-desc tag for Suppliers / Views / grid1 / ContactName and Suppliers / Views / grid1 / ContactTitle data fields on Controllers tab of Project Designer to display both fields in a row under the heading of list item.

A field label is displayed under the value of the field.

Data card with the fields tagged as 'item-heading', 'item-desc', and 'item-aside' in an app with Touch UI.

List with the fields tagged as 'item-heading', 'item-desc', and 'item-aside' in an app with Touch UI.

If you do not wish a label to be visible, then also specify responsive tag item-label with a large value a suffix. For example, if you enter item-desc, item-label100 as tags then both description fields will be rendered without a label on most devices. Labels will be visible only if the width of a list item is at 100 logical elements or wider. Remember that the suffix value must be divisible by five.

Data card with the fields tagged as 'item-heading', 'item-desc', and 'item-aside' in an app with Touch UI. Responsive tag 'item-label100' hides the label on screens with width less than 100 logical elements.

item-para

Additional descriptive fields can be started in the next row of the list item data card.

Enter a combined value item-para,item-desc as a tag of data field Suppliers / Views / grid1 / Address. Enter item-desc as tags for the data fields City, Region, PostalCode, Country and Fax of the grid view grid1.

Data card with the fields tagged as 'item-heading', 'item-desc', 'item-para', and 'item-aside' in an app with Touch UI.

List with the fields tagged as 'item-heading', 'item-desc', 'item-para', and 'item-aside' in an app with Touch UI.

Responsive Descriptions and Labels

Application will display all data fields configured to be a part of list item data card. If the field value does not fit, then it will be visible either partially or hidden completely. End users can change device orientation or browser window size to reveal or hide data fields in lists.

A list of suppliers displayed on iPhone 5 in landscape orientation has all field values visible in an app with Touch UI. The app has been produced with Code On Time app generator.

If you prefer to minimize partial display of field values and labels, then consider applying numeric tag suffixes representing the minimal item width that allows a field and/or its label to be visible. The display width is expressed in logical elements divisible by five. Press Ctrl+Shift and double click a data card to find the list item width in a desktop browser.

For example, the following screen shot of iPhone has City, Region, PostalCode, Country, and Fax data fields partially visible or not visible at all when the device has a portrait orientation.

An example of partially visible data fields displayed in a grid view with 'List' style in an app with Touch UI.

Specify item-desc30 tag for these fields to ensure their visibility only on a wider screen. This will result in a cleaner presentation in portrait orientation.

Grid view has an improved presentation in 'List' style on iPhone 5 after apply responsive 'item-desc30' tag to several fields in a web app with Touch UI.

Consider using various suffixes to ensure a better presentation in desktop web browsers where width may vary significantly.

item-thumb

If an on-demand field is storing images, then consider configuring the field in a grid view to be displayed as a thumbnail in the list item data card. Simply enter item-thumb in Tag property to indicate the purpose of the data  field in the list.

For example, the sample at http://northwind.cloudapp.net is configured to display the photo of an employee when a grid view is presented in “List” style.

An example of a data field tagged as 'item-thumb' in an app with Touch UI.

An example of 'List' style presentation that contains a thumbnail in an app with Touch UI.

Forcing List Presentation by Default

Grid views of apps with Touch UI automatically switch to “List” presentation style on mobile devices and present as “Grid” on desktop devices. The exception from this rule is a grid view with a data field tagged as item-thumb. The default presentation style of a grid view is “List” in that case.

Here is the same grid view Suppliers  / Views / grid1 that was configured in the previous steps. This screen shot shows Google Chrome browser with a responsive “Grid” presentation style of data.

Responsive 'Grid' presentation style in a desktop browser in an app with Touch UI created with Code On Time.

Application users can switch data presentation style from “Grid” to “List” by selecting the corresponding option on the sidebar. This selection will remain permanent until the user decides to have a different presentation style.

Developers can request the “List” presentation of a grid view on all devices by default. Specify display-style-list in the Tag property of data view Region / Suppliers / container1 / view1. This will force suppliers to be displayed as a “List” on all types of devices by default.

A two column list of items in a web app with Touch UI.

Presentation style “List” may display items in one, two, or three columns. The number of columns depends on the screen width and device orientation.

A grid view can also be configured to present as a list with one column, which may work well with a large number of fields. Specify display-style-listonecolumn in the Tag property of the data view to enable this presentation style on all devices by default.

A single column list of items in a web app with Touch UI.

Configuring Lists with “Tools for Excel”

Code On Time comes with a free productivity feature called Tools for Excel. If you need to change tags on a large number of fields, than consider taking advantage of this feature as an alternative to Project Designer.

Here is the screen shot of tags that were configured for this tutorial.

Code On Time Tools for Excel allows rapid configuration of apps with Touch UI.

Tuesday, May 6, 2014PrintSubscribe
Finding Display Width of a List Item

Data lists are composed of items that are rendered as cards. Developers specify the contents of a card by configuring the data field tags of a controller grid view.

Sample item card in a list of an app with Touch UI created with Code On Time app generator.

Apps with Touch UI can be displayed on desktop and mobile devices with various screen sizes. For example, the card sample shown above was taken from this screenshot of a supplier list on iPad Air.

A three-column list of suppliers in an app with Touch UI displayed on iPad Air. The app has been created with Code On Time generator.

Here is another sample that shows a card of a product category in Task Assistant displayed on iPhone.

Task Assistant shows available actions in an app with Touch UI produced with Code On Time.

Developers can test and fine-tune the responsiveness of a data card presentation while browsing an app in a desktop browser.

Resize the browser window as needed, press Ctrl+Shift keys on the keyboard and double click any item card in a list. A hint with the logical width of a list item will be displayed.

Display width of a list item displayed when user performs Ctrl+Shift+DblClick in an app with Touch UI displayed in a desktop web browser.

Display width of  a list item depends on the available screen width in apps with Touch UI created with Code On Time generator.

Take a note of the fields that do not fully fit on screen and apply tag item-descNN, where NN is replaced with the item width that works with your data and labels. The field and its label will be visible only if the width of a list is equal or greater than the numerical suffix. 

Friday, January 31, 2014PrintSubscribe
User Guide for Mobile Forms

Mobile apps created with Code On Time will display a form view in response to many user actions. A form will present data for a single database table record as a list of fields.

Navigating in a Form

Here is an example of a form displayed in response to a tap on an item in a list of products.

Tap on an item in a list will transition to a form view in a mobile app created with Code On Time mobile app generator.  A form view with portrait orientation displayed by iPhone 5s in a mobile app created with Code On Time mobile app generator.

A field label is displayed above the field value on devices with smaller screens. If orientation of a mobile device is changed, then a label will be displayed on the left side of the field value.

A form view of a mobile created with Code On Time mobile/desktop application generator is presented in landscape orientation.

Note that a change in orientation will also reveal additional user interface elements. Actions “Edit”, “Delete” and “New” are visible on the application toolbar in the top right corner of the screen.  Action “Edit” is the only available choice available on the mobile phone with a portrait orientation. Mobile apps created with Code On Time have a responsive design that ensures optimal viewing on a device with any screen size.

If a field label is too long, then it may become partially hidden. Tap and hold a field label for three quarters of a second to see a hint with the full label text.

Tap and hold a label in a form view for about a second to see the full text in a popup in mobile apps created with Code On Time mobile app generator.

Fields of a form are grouped in one or more categories defined by the application. Tap a category to collapse a list of fields. Tap the same category again to have it expanded.

Tap a field category in a form view to have it collapsed in mobile apps created with Code On Time mobile app generator.   A collapsed field category in a form of a mobile app created with Code On Time mobile app generator.

An item card with a summary of a data record will be displayed at the bottom of a form view when on a master-detail page. Links to related detail lists are displayed below the card.

Tap a link under the card and the form will transition to a list with corresponding items.

A summary card with links to details of the selected master record is dislayed in master-detail pages of mobile apps created with Code On Time mobile app generator.   Tap on the detail link below the summary card to see a list of details in a mobile created with Code On Time mobile database app generator.

Actions in Forms

The context menu provides access to all actions available in a form view. Tap the context menu icon on the right side of the toolbar to see the menu of actions.

Tap a context menu button on the toolbar to see a complete list of actions available in a mobile app created with Code On Time mobile database app generator.   A context menu panel with a list of actions available in a form view on a mobile app created with Code On Time mobile/desktop application generator.

A context menu sidebar will be docked to the right side of mobile devices with a larger screen. Context menu button is not visible if the sidebar is docked.

Form view actions listed in the docked sidebar on iPad Air in a mobile app created with Code On Time mobile/desktop app generator.

A subset of available actions is presented on the application toolbar as icons. The number of visible icons depends on the screen size.

Tap an icon to activate the corresponding action.

Tap a toolbar icon to activate a corresponding action available in a form view of an app created with Code On Time mobile app generator.

Form view may also display action buttons at the top and bottom of the view if the sidebar is undocked. The number of visible action buttons depends on the screen size. Tapping on a button will execute an action, which may result in a different set of buttons becoming available.

Editing of a data record in a form is activated when 'Edit' button is tapped in a mobile app created with Code On Time database mobile app generator.   A form view is displayed in edit mode in response to 'Edit' action in a mobile app created with Code On Time mobile database app generator.

Entering Data in Forms

Application form view will display input controls in response to “Edit” and “New” actions. Ability to create or edit data is controlled by the application and may not be available to all users.

Tap and hold a field value in a form view to quickly execute “Edit” action. The form will switch to “Edit” mode in response to tap and hold.  The form will set a focus on the field input control if you continue holding a finger on the screen of your mobile device.

Tap and hold a field value in the form view to activate 'Edit' mode in a mobile apps created with Code On Time mobile app generator.  Extended 'tap and hold' on a field value will set focus on the field input control in a mobile app created with Code On Time mobile database app generator.

Form view will activate a standard text input keyboard on mobile devices when a text field is focused.

A numeric native keyboard is activated if the field has a numeric data type.

A numeric keyboard is displayed when a numeric field is focused in a form view of a mobile app created with Code On Time mobile app generator.

Fields configured to capture phone numbers will also have a dedicated input keyboard.

A 'phone number' keyboard is displayed when a 'phone' field is focused in a form view of a mobile app created with Code On Time mobile app generator.

Specialized native keyboards will also display if the focused text field is configured as URL or Email.

Lookup fields with lists of values will be displayed as native input controls.

A native 'select' input control is displayed for lookup fields with lists of values in mobile apps created with Code On Time mobile database app generator.

Focused date fields will cause a native date input control to display. The type of control depends on the operating system of a mobile device.

Date input control on iPhone 5 is shown next.

A native date input control of iOS 7 is shown in a form view of a mobile app created with Code On Time application generator.

Date input control on Nexus 7 is shown in this screenshot.

A native Android date input control is visible in a form view of a mobile app created with Code On Time mobile database app generator.

A specialized native date-time input control is displayed for fields that  allow capturing both date and time.

Database applications frequently require complex search criteria when selecting lookup values. It is possible that lookup tables contain many thousands of possible choices. Code On Time mobile apps are automatically configured to display a custom lookup input control for database lookup fields.

A lookup input control is shown before and after a tap on the field value.

A database lookup input is displayed in a form view of a mobile app created with Code On Time mobile app generator.   A list of lookup values with support for endless scrolling, search, filtering, and sorting is displayed in a mobile app created with Code On Time mobile database application generator.

A list of lookup values behaves in exactly the same fashion as standalone lists with support for endless scrolling, search, filtering,  and sorting. Existing lookup items can be modified and new ones can be created if allowed by application business logic.

Advanced Form View Features

Application may define a status bar explaining a workflow status of a data item selected in a form view. The status bar is displayed at the top of the form. The contents of the status bar can be scrolled with horizontal swiping motions.

Status bars help users to understand the workflow status of items selected in a form view in mobile apps created with Code On Time mobile/desktop application generator.

Fields of complex forms are frequently organized in multiple categories. Categories can be independently collapsed and expanded. The screenshot shows a form with multiple categories displayed in iPad Air.

Collapsible field categories makes easier to work with large number of fields in mobile apps created with Code On Time mobile app generator.

Categories can be further organized with tabs. Tabs are displayed at the bottom of a form view. This screenshot shows a tabbed form with multiple categories displayed in Nexus 7 tablet.

A form view with multiple categories and tabs in a mobile app created with Code On Time app generator.

If a form view is scrolled down, then a heading with the value of an identifiable data field may be displayed below the toolbar. This will happen if an identifiable field is not visible on the screen. The identifiable field is displayed as the first data element in lists.

A heading with the value of identifiable field is dispalyed when a user scrolls down a form view in mobile apps created with Code OnTime mobile app generator.

The heading will disappear if a user starts editing data or scrolls the identifiable field back into view. Tap on the heading to have it hidden.