Platform Roadmap highlights and priorities
Easily publish for web, iOS, Android, and Windows with automated building and publishing of apps and web-pages. Add custom logos, branding and manage the Appstore entry to maintain the presence of your organization.
Data model separation enables creating applications which have a data model separate from their backend system. This allows for a flexible data structure as well as a combination of data entry points in one app.
Stronger Rules (Business logic)
All features and details
The result of the development process is an application, and it often needs to be a branded application with custom icon, splash screen and name. To allow creating such applications automatically and remotely, we are going to introduce a self-service portal where these actions can be made. Custom branding images can be imported and an application for target mobile platforms generated, all without the involvement of Resco developers and manual building of such apps.
Grid design for forms
To effectively use different screen sizes and form factors – especially the large ones – Resco will introduce a grid design for forms. With this layout, fields can be structured in a table/grid on the screen (instead of the linear form layout available now), so that multiple fields can be displayed in one row. Flexible spanning allows for one field to occupy multiple rows or columns if necessary. Form grid designer – similar to the mobile reports designer will be added for this purpose in Woodford.
Stronger Rules – open record lookup, send action, start call
Other additions to the rule engine will be the following actions:
- Select a Record. This rule opens a lookup form asking the user to choose a record. Additional filtering for a lookup view can be provided as a parameter.
- Send Email/Chat/SMS. Result of the business process sometimes requires an external action such as composing an email, sending a chat or an SMS message.
- Start Call. Rule action can conditionally initiate Skype, Skype for Business, Facetime or other types of calls.
The logical next step in relaxing the user interface constraints is to provide the ability of free-form design. Placing elements such as buttons, inputs or windows anywhere on the screen would open the possibilities of creating even the most ambitious of designs and satisfying even the most graphically demanding customers.
Project Inheritance improvements
Project Hierarchy & Inheritance allow sharing parts of a mobile project with other projects. Once a project is derived from a parent project, it automatically inherits all the parent project’s items (entities, forms, views…) and all future changes to the parent are automatically reflected in the child. This process can be improved by:
- Merging styles – each style will be treated separately, so adding a style or modifying a style in the child will not affect the inheritance of all remaining parent styles
- Merging Home – an item can be added or removed from Home in the child project, while preserving the parent project’s Home (changes in the child are stored as a difference to the parent, rather than overwriting the parent)
- Deriving a view, form – similarly to deriving the whole project, also a single view/form can be derived within a project, so that additional details can be provided. Changes to the core ‘parent’ view will be automatically reflected in the derived view/form.
- Merge derived projects – when a project hierarchy has been created, but is no longer necessary, it will be possible to ‘flatten’ the hierarchy into one final project
Custom Project structure in Woodford
The project structure in Woodford currently reflects the data structure – all the views, forms and other elements are stored under corresponding entities/objects. With the decoupling of the application data layer and backend system metadata, this structure might no longer be the best representation. To provide more flexibility, we’ll introduce:
- Custom folder and file organization, so forms, views and other elements can be structured based on their logic, role or any other arbitrary criteria
- Tree structure visualization & control – with multiple levels
- Single “New…” dialog for a new element – entity, view, form, dashboard, etc.
Data layer decoupling and management
Data model separation allows creating applications which have a separate or partially separate (extended) data model from their backend system. An application can have a data structure that corresponds to its logical flow rather than the way in which data is modelled on one or more of its data sources. First actions supporting the decoupling process will be:
- Create entity (via Woodford) – create a new entity/object on the backend system
- Create offline entity (exists in the DB, never synced)
- Create virtual entity (never stored)
- Create offline/virtual fields for an existing entity
Free data design
Taking the data layer decoupling even further, we’ll provide custom data mapping to server(s) via plugins. This will allow to create a completely independent data structure for the project, providing the ability to consolidate data from multiple different sources (such as CRMs) and utilizte flexible ways to store data, and even send forms as emails (e.g. for inspections) or save as files to GoogleDocs, SharePoint, SAP, etc.
Data driven app navigation (Entity – View – Form) can be complemented with a process driven UI. Modal dialogs that guide the user step by step will be incorporated into Resco’s app navigation, securing data from an existing entity/object or created as a completely independent HTML. Rules will define if a modal dialog can be closed, if a process has been completed and provide possible branching.
Partners providing solutions and services to customers will benefit from improved tools and actions on projects:
- Locked (encrypted) projects offer an option to block access and changes to a project without a password. This can be used to protect intellectual property contained within the project or to prevent unauthorized modifications by 3rd parties.
- Upgrade wizard – once a project is deployed in an organization, its further versions can be prepared on the development instance or as part of the vertical solution provided by a partner. To be able to automatically upgrade an already deployed project to a newer version, a wizard tool will be created instead of the manual upgrade process available now. The tool will display added/modified/deleted elements and provide merging where necessary.
Many mobile scenarios could benefit from voice control of the application, as the user’s hands might be occupied. The application will read out loud the content of a data entry form and if necessary, provide available options. Then, it will wait for the voice input – for the user to dictate the value.
The voice control mode will be enabled by a gesture, command or an activation keyword. Additional keywords will be available for e.g. repeating the text, repeating the value of an answer or for skipping to the next item. Finally, it should be possible to enable the text to speech and speech to text options of voice control separately, based on the requested use case.
There are many different scenarios where the mobile user’s hands are not free, and many of them would benefit from displaying information in the user’s field of vision. Augmented reality devices, such as Microsoft HoloLens and others, could prove useful. User’s forms – or items on forms – could be visualized one by one, schemas or manuals could be displayed as the work is being performed, and a video chat could be initiated right from the interface. User’s head movement can indicate input values (yes, no) or could launch the voice recognition.
Images represent a valuable data set, especially when combined with advances in the field of artificial intelligence. The already existing database of pictures of products, assets, or machines can be used in conjunction with image recognition to identify the object captured in the photo. This can be then used in a lookup field to select the corresponding record (product, asset, etc.) by taking a picture and/or to start the whole process by it. Utilizing Azure Machine Learning (Azure Custom Vision) should provide a convenient technological basis to build this feature.
VCS systems like TFS or GIT allow developers to keep version history, maintain parallel branches, share source code and compare changes between versions. Resco will integrate GitHub – a popular choice of many developers – directly into the Woodford customization tool. This will allow users to keep a history of changes, revert to a point in time, but also allow multiple users to cooperate and store their progress in a single repository, without data-loss. Moreover, multiple organizations can connect to the same backing repository, allowing to move projects around easily and safely. For every mobile project it will be possible to:
- Push to GitHub, with all project files as a commit
- Restore from GitHub, by downloading files from a specific commit
Stronger Rules – save a record, open a form, display a message box
Resco’s rule engine is already quite powerful, but we’ve identified three common missing steps:
- Save a record. Creating a record or modifying an existing one via rules (currently only possible with JavaSciprt).
- Open a form. Business processes sometimes need to display a form as the result of the process.
- Display a message box. Display a text message to the user, along with buttons. Wait for the user’s selection and react to it via rules.
Resco’s Roadmap might be subject to change. The outlined features may be modified or updated before commercial release. Resco makes no warranties with respect to the information provided.
The work on this feature has already started. The expected delivery date in next release (usually March, June, September or December), but if the feature is more complex it might require two release cycles to be completed.
The feature has been implemented and will be released in Resco’s forthcoming release (next: June 2019).
This feature is on Resco’s roadmap and is waiting to be picked up by the development pipeline to get implemented.
The feature has been released in last Resco’s release (Version 12.0 – March 2019).