Have your documents fully working when the device is offline

July 3, 2014
Product Evangelist

The number of shipped mobile devices today is stunning. Traditional PC shipments declined 10.6 percent in 2013, while tablet & smartphone shipments increase 67.9 percent. The increased availability of lower priced basic devices, plus the value add shifting to software rather than hardware will result in the lifetimes of premium tablets extending as they remain active for longer. Companies are aware of this trend. The Accenture mobility survey shows that 79% of the interviewed CIO’s believe that they need to invest in their mobile strategy, because it will provide a significant source of new revenue. They state it will impact their business as much as or more so than the web did.

Today creating mobile apps requires a lot of programming. XForms can help you to dramatically reduce your time to market, creating rich mobile apps that fully function even when the device is unable to connect to the Internet. Lack of connectivity is and will always be the most important annoyance for any media consumer. Although a lot of devices are online most of the time, there always are moments connectivity is lost.

For business users, smart synchronization solves most of connectivity issue. Most devices have adequate storage to hold enough work for a decade (Nobody works that hard, right?), so one or two synchronization moments each day might prove enough to simply upload the data you gathered during the day and have it processed in the cloud.

Mobile users are almost always and anywhere online, but users want to be able always interact with their documents. Therefore it is important that the documents fully work when the device is offline. Through smart syncing and the fact that the XForms engine can fully function when the device is offline we can meet the users’ expectation.

The name XForms lets you expect that the language is designed to design forms, but the language has evolved over the last decade to become a platform-independent markup language for online interactive applications. Over the last years we are seeing that documents are becoming more and more interactive, and are starting to converge into interactive applications. Due to its declarative nature and powerful calculation and dependency engine XForms is a natural fit for being the markup-language for interactive documents.

Since the publication of the First Public Working Draft of XForms 2.0 and its accompanying XPath expression module, it became a powerful framework for creating powerful web applications. The most exciting new features are XPath 2.0, Attribute Value Templates and support for defining custom function inside the form.
XPath 2.0 adds a much richer type system, greatly expanded set of function and operators, and additional language constructs like 'for' and 'if' expressions. These new features make it much easier to create powerful web applications using XForms 2.0.

Attribute Value Templates allow us the use dynamic expressions virtually everywhere in the markup. They are not limited to the XForms elements, but are also supported on most host language attributes. Attribute Value Templates enable even more powerful styling of your form based on the data. A form author can now for example easily highlight rows in a table based on certain data conditions (overdue, negative values, or complex conditions). In HTML5, this feature enables the form author, to declaratively specify when a certain CSS-classes applies to an element.

The support for defining custom functions inside a form, contributes to the promise of being able to run the same form on multiple implementations, even with todays forms/web applications that are solving their ever-growing complex needs.
Other interesting features are:

  • The ability to natively consume JSON data, as more and more services on the web are starting to deliver JSON today.
  • Variables eliminate the need to define the same XPath expression multiple times and allow you to make your form even more readable.
  • Model based switching/repeats allow you to capture the state of the switch/repeat in the model, which makes it possible to save and restore the actual runtime state of the form.
  • The iterate attribute makes it much easier to execute actions for all nodes matching a certain condition.

Inventive Designers will keep on contributing to XForms by providing a specification editor to the XForms W3C WG, actively contributing to open source XForms implementations, and further developing its Scriptura Engage eForms solution.

Add new comment