training webinar: create your offline app
TRANSCRIPT
Create your Offline App
Replace This image in master
Presentation
Ricardo FerreiraLead Software Engineer @ OutSystems R&D
2
https://www.linkedin.com/in/ricardomartinsferreira
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
Thank you!
www.outsystems.com22