Training Webinar: Create your Offline App

Preview:

Citation preview

Create your Offline App

Replace This image in master

Presentation

Ricardo FerreiraLead Software Engineer @ OutSystems R&D

2

https://www.linkedin.com/in/ricardomartinsferreira

ricardo.ferreira@outsystems.com

https://medium.com/@ricardo.ferreira_31137

Introduction

• We are not constantly connected to the network.

• Offline ready apps give your users the best experiences.

○ Consumer apps.

○ Field Worker apps.

• But offline ready apps are hard to build!

• In this webinar, we will give you tips on how to design offline apps and create an

offline app with OutSystems.

5

Design offline-firstHow would your app work without any connection?

6

Design offline-first

1. What features or capabilities should be available offline?

a. Clearly identify the offline use cases.

b. When is a connection to the backend necessary?

2. How will you handle data?

a. You will need to store data in the device database.

i. In a field service app this database would store tasks for workers.

b. Do your users need to browse data?

c. Do they need to modify data?

d. Will there be data synchronizations to the backend?

7

8

Data SynchronizationThe downside of having device databases...

Data Synchronization

9

Data Synchronization

10

...

Data Synchronization - most common patterns

1. Read-only data

a. To read data offline (e.g. a catalog of products).

2. Read/write last write wins

a. To read and modify data offline. (e.g. a field service app).

b. Synchronization in a last write wins fashion in case the same record is modified

in more than one device.

3. Read/write with conflict detection

a. To read and modify data offline, but with detection of conflicting changes in

synchronization if the same record is modified in more than one device.

b. Useful for collaborative apps (e.g. sales field app).

11

Offline in OutSystems 10

12

Offline in OutSystems 10

• App logic and assets bundled with your native app, so these can be used offline.

• Local Storage to store data in the device.

○ Easy and powerful data manipulation.

○ Secure Local Storage plugin enables you to encrypt your data if you need it.

• Data Synchronization.

○ Out of the box generation of custom logic to the most common patterns.

○ Samples and extensive documentation on data synchronization patterns.

13

DEMO

Tow Services App

Our Tow Truck company with the following business process:

1. We receive work orders by phone.

2. A tow truck driver is assigned to that work order.

3. The driver needs to gather notes and take pictures of the car (for insurance and

legal matters).

4. The customer needs to sign a form once the car is delivered.

5. We charge the customer / insurance company for the work.

15

Summary

• Mobile apps need offline support to deliver the best experience.

• Design offline-first:

○ What features or capabilities should be available offline?

○ What data do you need to store in the device database?

○ How will you handle data in the device?

• Data Synchronization is a challenge.

• OutSystems 10 eases building offline apps.

○ Easy offline data manipulation.

○ Out of the box data synchronization patterns.

17

Further reading

Further reading

19

https://goo.gl/40Qc3I

Further reading

20

https://goo.gl/ovqUAX

Thank you!

www.outsystems.com22