Roadmap 2017/2018

See what's coming next.

Roadmap 2017/2018 | 2016 | 2015

1. Touch UI (October)

We have made an enormous investment in creating a mobile- and desktop-friendly user interface called Touch UI. The purpose is to enable RAD implementation of apps that are friendly to both mouse and touch-enabled devices. We have spent close to 2 years working on perfecting this exciting technology. A few remaining features are being finalized as we speak. This is a summary of features that are expected to be fully completed in October/November of 2016.

Keyboard Shortcuts for Actions Completed in Release 8.6.0.0

Developers will be able to define keyboard shortcuts for each action. For example, configure Ctrl+S to trigger the Update action on a form, or Esc to trigger the Cancel action to close the form.

Advanced Search and User Defined Filters Scheduled for Release 8.6.3.0 (April)

The new Advanced Search will utilize survey controllers to allow the use of our suite of powerful field inputs. Type-specific field filters will integrate with the new Advanced Search and permit the user to rapidly add and customize search operations via shortcuts in the user interface.

Quick Find Enhancements Scheduled for Release 8.6.3.0 (April)

The developer can limit the scope of Quick Find queries by adding “$quickfind” to the Search Options of a field. Users will be able to interactively select fields defining the scope of Quick Find. Presently, Quick Find includes all fields in the query.

Quick Find will show a panel below that displays suggestions based on known values from the currently displayed rows, as well as previous searches. Quick Find will also support operations (for example, UnitPrice>=10). The panel will also defining the search scope to limit the query to a specific set of fields from the main data view or relevant child data views.

Rich Text Scheduled for Release 8.6.4.0 (April)

Enable the editing of HTML content across all devices in an easy-to-use fashion.

Inline Editing Scheduled for Release 8.8.0.0 (May-June)

The ends users will be able to edit data directly in the grid, list, or cards, exactly in the same fashion as editing is done in forms. Complex data fields such as radio button lists or checkbox lists will be displayed in popups in order to preserve the layout of the view.

Drawers in List/Card/Grid Scheduled for Release 8.8.0.0 (May-June)

An optional form layout can be defined for list, card, and grid items. The end users can expand any number of rows/items at runtime if a drawer form is defined for the “grid” view. Drawer forms may contain tabs, categories, and fields of any type including “data view”.  The data view fields in drawer forms may also have their own drawer layouts, which enables infinite master-detail relationships and hierarchies. This type of presentation is frequently called “grid-in-grid”.

Data view fields configured to display charts or maps can be placed in the drawer layout in order to provide complex dashboards for each row/item presented to the user.

If a memo, image, or data view field is present in “grid1” and no custom layout is defined, then the field will not be displayed as column. Instead, a drawer form will be created to display all such fields.

List and Cards view styles will have automatically created “drawer” layouts for data view fields.

These presentation styles will also support custom templates to define the layout of list item or card. If a custom definition is not provided, then an automatic item/card layout will be created.

Hyper-scrolling Scheduled for Release 8.8.0.0 (May-June)

The grid, list, and card view styles will offer a vertical scrollbar with the ability to scroll to an exact location in the data. A floating tooltip will be displayed showing the row numbers that will be loaded when the user releases the scrollbar. When “Search By First Letter” is enabled for the data view, the scrollbar will represent letters in the alphabet. The tooltip will show the first letter at the current position.

Client-side Manipulation of Grid Scheduled for Release 8.8.0.0 (May-June)

The user will be able to rearrange, resize, and hide columns in the grid view. These customizations will be saved in the cache of the user’s browser.

Group Aggregates Scheduled for Release 8.8.0.0 (May-June)

Groups defined by the developer or user will display counts, sums, and any other aggregates configured in the Project Designer. Groups will also be collapsible.

Promoted and Swipe Actions

Promoted actions that will be displayed under the floating “promo” button displayed in the bottom left or right of the screen. Swipe actions will be triggered or displayed when a user swipes left or right in grid, list, or card view. Swiping gestures will enable navigation between data rows displayed in forms.

Action Notifications

Brief, non-modal messages will be shown in response to user actions or triggered by business rules, confirming the completion of actions such as “Saved record”, “Created record”, etc.

Google reCAPTCHA Integration for Public-Facing Forms

A single tag will enable Google reCAPTCHA in public-facing forms to ensure that only humans are entering data.

Re-Authorization for Sensitive Data

A single tag will require the user to re-confirm their identity before they can edit or submit a form, even if the user has already logged in.

One-to-One Relationship

Three new lookup item styles will be introduced: "OneToOne", "OneToOneLookup", and "OneToOneAutoComplete".

These lookups will behave like their counterparts, "Lookup" and "Complete", with one exception:

When the entered text is not matched to an equivalent lookup value, the value will remain as-is. The user interface will not display the "Create New" option. Instead, the lookup value will be processed on the server. The generic server-side handler will insert or update to the lookup controller as necessary. "Borrowed" fields specified in the Copy property will be included in the update or insert expression. The "Upsert" will execute in the context of a database transaction.

Benefits

With the above features completed, Touch UI becomes a world-class framework that works across all browsers and devices, and covers a vast number of use cases when creating line-of-business web applications of any complexity. Our unparalleled data input user interface allows your users to get their jobs done easier and faster.
Back to Top

2. SaaS  (March)

SharePoint Online, Google, Facebook, Windows Live Completed in Release 8.6.0.0

Code On Time and Cloud On Time apps will offer the ability to run in Software-as-a-Service (SaaS) mode, allowing developers to bring their web apps into other popular portals and products such as Office 365, SharePoint, Google Apps, and DotNetNuke.

SaaS feature will have to be enabled on the application level. We will provide themes to match several hosting environments. The server components of apps will respond to requests from authorized hosts in SaaS mode.

Native connector components (web parts, modules, etc.) will be provided for popular portals. Native component will require a registration key from the SaaS-enabled application for configuration. The live portal page of the hosting environment will connect to the SaaS-enabled app running on your server.

A connector instance on the portal page will perform requests to an externally hosted Code Time or Cloud On Time application. The connector will communicate the user identity, roles, and registration key to the app. The app will validate the registration key, perform single sign-on, and display the application content in the portal page.

https://codeontime.com/learn/sharepoint/add-in/configuration

DotNetNuke Scheduled for Release 8.6.4.0 (April)

A native DNN module will be provided to perform server-to-server user authentication. This will make integrating Web Site Factory and Web App Factory projects with DotNetNuke possible.

A tutorial explaining how to build a custom connector will also be provided. It will make integration with any 3rd party solution possible.

Benefits

Developers will be able to integrate their applications into 3rd party products and popular portals.
Back to Top

3. Native Apps  (April)

Release 8.6.0.0 came out March 3, 2017.

The release introduces new Touch UI 2017 and provided the foundation for future Native Online/Offline Apps. The foundation is provided by the following features:

The next release 8.7.0.0 is expected to go out last week of April. This release will introduce generation of native apps for iOS, Android, and Windows 10.

Here is how you will build a native app with the release 8.7.0.0:

  1. Create an application with SPA page model for a "real" database engine such SQL Server, Oracle, MySql, etc.
  2. Indicate platforms required for native deployment. This will enable CORs support in the app.
  3. Publish an app.
  4. App generator will make special versions of all pages in "Native" deployment folders. All scripts and CSS stylesheets will be copied there as well. Native platform code will be also created.
  5. Deploy the server code of the app to the web server.
  6. Deploy the native code to the app stores.
  7. Install the app and run it on native device.The native code will create a native WebView instance and load local instances of the pages, JavaScript, and CSS. Pages will make remote requests to the server side components. User login and session state is managed through the feature called Identity Manager.
Back to Top

4. Offline  (May)

Native Offline Apps

Release 8.8.0.0 is expected to be ready in May of 2017.

The new "Offline" property will be available for application pages.

The data controllers will be generated in ".json" format instead of ".xml". We also need that for both new CoT v.9 and Cloud On Time. The new format of controllers is used by built-in Project Designer.

If at least one page is marked as "Offline", then the following will happen when a native app is running:

  1. Native application will download controllers and data in JSON format from the server.
  2. Only offline pages will be visible/selectable in navigation system of the app if there is no connection.
  3. Any requests for offline data will be executed by the local JavaScript library. Data updates will be executed against the offline copy of the data. The log of requests to update data will be maintained and persisted. There is no need for additional software such as SQLite. We are providing a JavaScript equivalent of the server-side code that will use JSON data controllers on the client to work with data.
  4. "Cloud" icon will be displayed on the application toolbar. There will be several states for the icon:
    • Offline
    • Online + No Local Data Changes
    • Online + Local Changes Require Sync
  5. If the app is "online" then "Cloud" button will be in "Online+" state. If the button is pushed then the following will happen:
    1. The log of updates will be send to the server via the Batch Import API introduced in 8.5.12.0 if data synchronization is required.
    2. Conflict errors will be reconciled by the user when needed
    3. Fresh copies of controllers and data in JSON format will be retrieved from the server replacing the previous offline data set.

Transactional Data Input

Native Online and Web apps will benefit from this new "offline" capability as well. Starting with the release 8.6.3.0, forms will work in "offline" mode. It will be possible to enter child records when a new record is created. The data will be posted to the server only when the master record is posted. This capability will be available in all product editions.

Benefits

These days, more people are using mobile devices than traditional desktop computers. Every business intent on staying modern needs to have a foothold into mobile apps. Code On Time native apps offer the ability to instantly take that step into the future. Native apps offer the ability to provide a consistent and integrated experience to end users on their mobile devices, and allow your app to always be in your user’s pocket. Integration with device notifications enable a persistent connection with your data. The web browser is always there as an alternative option.

Back to Top

5. Code On Time v9  (August)

Code On Time developers use the Project Designer to customize the application configuration, regenerate the app, and preview the result in the web browser. This requires frequent switching between a live app and the design environment.

We decided to integrate design capabilities directly into live apps and improve your rapid application development experience. For example, if the text of a label in the form needs to be changed, then you will do it on the spot in the live app. If the position of a field in a form or the column of a grid requires adjustment, then we want you to drag the user interface element to the desired location. Missing a field in the form? Drag the field from the Project Explorer, drop it in the live form, and instantly see the result.

To make this possible, the Designer will be integrated into the live app, and will appear alongside the application pages when activated.

Code On Time v9 has a brand new mode of operation on top of the original foundation.

  • New projects are created as empty web applications containing a single Welcome page. Only the name of the project, and programming language need to be specified.
  • An instance of IIS Express will be started pointing to the generated app.
  • Code On Time will load the web address of the application in the integrated web browser. Alternatively, Code On Time may launch a custom Universal Windows App with a hosted browser pointing to the address of your application. Also, you can have the default system web browser to be launched for that address. One of these three options is selected when the project is created.
  • The end user will see a dedicated “Design” menu option in the application user interface. This option is only displayed by the application if Code On Time is installed on the same computer where the app is running.
  • The Project Explorer tree will be displayed within the application page content. It is implemented as an HTML-based tree. The hierarchy of project configuration elements is similar to the counterpart of the original Code On Time. It does display some additional nodes. User can continue interacting with the application., The Project Explorer will track the current selection when the mouse is moved over user interface elements.
  • Selecting project configuration elements will activate property pages on top of the application content. When changes are made, the user interface of the application will be frozen while the code of the application is rebuilt behind the scene. The application page is refreshed when the code generation is complete.
  • The user will change layouts of live pages in WYSIWYG mode or manipulate them in the Project Explorer.
  • All the current features including in Model Builder are present in COT v9.

Previous releases of the application generator rely on a WebBrowser component embedded in a native Windows Forms application. Locally stored HTML pages are loaded in the browser. The pages provide configuration screens implemented with Desktop UI allowing design-time configuration of project elements. A native tree component provides the foundation of the Project Explorer. When the application is generated, the app generator performs steps defined by the project configuration to create the web app. An instance of IIS Express is started pointing to the generated application. The default browser is launched with the local web address of the application. Browser requests are served by the IIS Express instance.

Benefits

Code On Time v9 will greatly enhance the productivity of Code On Time developers and shorten the development cycle when building line-of-business apps. Instant visual tracking of user interface elements allows quickly finding configuration properties. Task-oriented wizards will be available throughout the Project Explorer hierarchy. They will provide a quick and convenient shortcuts for common multi-step tasks, such as adding connection strings, defining project logos, configuring many-to-many fields, adding data view fields, and etc. Even expert users will benefit from rapid execution of various tasks through wizards.
Back to Top

6. Cloud On Time  (August)

Code On Time v9 will be enhanced to run in the cloud. We will be calling it Cloud On Time.

Public Cloud

It will...

  • Provide each customer with a dedicated private database in the cloud.
  • Use built-in CMS to store generated data controllers, pages, and view layouts in the database. The same CMS can be integrated in your apps today.
  • Include an integrated database designer.
  • Automatically create table columns for the fields placed on the form layouts when needed.
  • Have almost every feature of applications created with Unlimited edition.
  • Be possible to extend application behavior with SQL, JavaScript, and Email business rules.
  • Provide instant application availability across all devices.
  • Allow app development on all kinds of devices including phones and tablets, such as iPad Pro.
  • Have a low monthly subscription fee with free trial period. Multi-developer subscriptions will be available. Subscriptions can be canceled at any time.
  • Serve as a flagship demonstration of Code On Time capabilities and features.

Updates of COT v9 and it’s cloud counterpart will go hand-in-hand. It, in fact, is exactly the same product.

Private Cloud

Cloud On Time offers a vastly superior RAD environment to life-of-business application developers with any skill level. The hosted environment eliminates the need to maintain servers and software releases. A low monthly subscription fee makes it affordable to most budget constrained organizations and individuals.

However, privacy- and security- conscious customers may require complete control over their database and application. In order to offer the terrific features of Cloud On Time in a private and secure fashion, the software will be provided as the pre-compiled and ready to run Private Cloud option.

A perpetual license will allow customers to install the software on their own private infrastructure. Maintenance updates will be included with the purchase. Renewal maintenance licences will also be available.

Benefits

The unified application development experience across both private and cloud environment will allow Code On Time customers to leverage their expertise and comfortably selecting the right environment for a given project.

Users will have access to all of the latest features from the palm of their hand. Gone are the days of experimenting and installing different versions of .NET frameworks, connector components, databases, and Visual Studio. Cloud On Time gives a new definition to “Rapid Application Development”.

Back to Top

7. Data Driven Surveys (October)

Survey data controllers offer a lightweight method to capture arbitrary data from the user. One can think of survey data controllers as “smart forms”. These smart forms can be designed visually using COT v9 or Cloud On Time.

The JavaScript definition of the survey data controller can be stored in the rows of a database table. A dedicated feature will be offered for our customers to allow capturing survey responses at runtime. Developers will be able to set up catalogues of smart forms. Dedicated tables of smart form assignments will capture user responses.

One can envision the following use cases for data driven surveys within the custom application:

  • Integrated survey capabilities.
  • Medical form management
  • Student enrollment forms.
  • Audit systems.
  • Scientific data collection.

Any time it is necessary to collect data with a structure not known at design time, the data driven survey will prove to be an invaluable tool.

Here are instructions for building a hypothetical audit system:

  1. Configure a database with the following schema:

  2. Create an app and use the Project Designer to make the following changes:

    1. Tag "Definition" field in "Surveys" controller as "survey-form".

    2. Tag "Response" field in "Audits" controller as "survey-data".

  3. Run the application and define a few surveys. An example of a survey is shown below:

    A survey is a hierarchy of topics and questions. The questions are equivalent to inputs in Touch UI. In fact, a survey without a topic is a standard form - this technology is used throughout Touch UI. Dynamically created surveys are used to implement batch edit, import, and advanced search screens. It is possible to create complex surveys with hundreds of topics and questions, and have them rendered as wizards and tabs.

  4. When the user starts working with an audit record, the Response field will render as a special round button that displays the completion progress.

  5. Activating the Response field will open the survey form. The user can create a new response or update an existing response.

  6. Saving the form will write the JSON-encoded answers to the Response field.

    {
        "Customer": "abc",
        "Order": "xyz"
        ...
    }
  7. Developers can create business rules to parse the response and write the data to separate tables or external systems when necessary.

  8. Code On Time v9 will have the ability to visually design survey forms. Alternatively, developers can dynamically generate survey forms.

  9. A product called Survey Form Editor will be available. If the Survey Form Editor is installed in the binary folder of the app, then data fields tagged as “survey-form” will display a visual form designer directly in the application at run-time. The Survey Form Editor will have a subset of capabilities in COTv9 Form Designer. It does not require Code On Time to be installed. It will include the ability to map survey question answers to the columns of the application tables. When the survey response is captured, the mapped answers will be distributed to the specified tables automatically. The price of this product will be $99 monthly per survey developer. There are no restrictions on the number of users filling out surveys.

Benefits

Many business applications require custom data collection. Built-in data driven surveys make on-demand data collection possible at a fraction of a cost of typical implementations. The world class data input capabilities of Touch UI will make simple the data gathering on mobile and desktop devices online and offline.
Back to Top

8. ERP Integration  (November)

SharePoint List Data Controllers

Create data controllers directly from SharePoint lists to build high-performance applications on top of your existing enterprise data. These data controllers will have standard Create, Read, Update, and Delete capabilities. Work with enterprise data online and offline!

Blobs Scheduled for May

Upload your BLOB content to SharePoint, Google Drive, and more. Additional blob adapters for SharePoint and Google Drive will be available.

REST API Data Controllers

The last component of the ERP Integration strategy is the ability to create data controllers from any REST API. The Data Model Builder will allow creating data models defined by the output of an API request. The developer will specify methods to Create, Read, Update, and/or Delete. The application generator will make use of the configuration at runtime to perform data operations.

Open Authentication Integration

Integrating with SharePoint relies on Open Authentication. The application captures an OAuth access token when registering SharePoint Single Sign-On as explained here when pressing “Add System Identity”. SharePoint List data controllers and SharePoint Blob Adapter will use this token to read/write from SharePoint REST APIs via the common data model. Easy-to-use methods to access SharePoint REST APIs in business rules will be provided.

Benefits

Online and offline access to ERP data sources.
Back to Top

9. Node.js  (December-January)

Code On Time v9 migrates XML data controllers to JSON format. The development environment of CoTv9 and Cloud On Time is one and the same. The JSON controllers will be modified, and data controller logs will be produced directly in the browser. We will provide an alternative implementation of the server-side framework written/generated completely in JavaScript. There will be no dependences on .NET. The framework will be extended with additional support for MongoDB and DocumentDB as server-side database engines. It will be possible to write server-side business rules completely in JavaScript. We will also provide a mechanism to invoke business rules written in C# or other languages through REST APIs.

Code On Time developers will have a choice to implement their apps using the Microsoft platform with C#/Visual Basic, or Node.js with JavaScript. The objective is to give our customers the option to write universal business applications on a platform of their choice. If your app exclusively uses SQL and JavaScript business rules, then your app can be hosted on either a Linux or Windows server.

Benefits

Provides additional deployment options for Code On Time v9 apps to Linux and Mac OS X platforms.
Back to Top
Disclaimer: This roadmap does not represent a guarantee that the features described in this document will be delivered on the specified dates. The delivery dates may change, and features may be added or removed at any time. It is merely an outline of our thoughts for the future, and is subject to change at our discretion.
Talk to us: Let us know what you want to see in the product. Open a support ticket or share an idea with the community.