The move towards the cloud and towards low powered mobile devices has led to a decline of rich clients, i.e. most apps today are heavily dependent on their home server and thus a stable Internet connection. There are some approaches for local caching of data, however the concrete synchronization mechanism is often intransparent or difficult to control for users. Developers usually need to use different data structures on mobile devices and their cloud servers, thus leading to a multiplication of the code base involved. Meanwhile mobile chip architectures have caught up in performance such that the heavy reliance on the server has become more and more questionable. As an answer to this discrepancy, the Cloud Innovation Team of ATEGRA AG has been developing a fully distributed PaaS called Protogrid. It is based on CouchDB Servers located in the cloud, on premise and even running directly on mobile devices. The Protogrid development environment supports Rapid Application Development, such that a workflow application can be created and deployed offhandedly in a few minutes. Since all client logic is completely independent of the database schema, adaption to new requirements during operation is no issue. All Protogrid Apps can be deployed on various platforms without any additional effort and they are usable offline with no loss of functionality. In particular, this talk will cover experiences and earned knowledge during the implementation of Couchbase Lite and CouchDB replication on mobile clients as well as our innovative approach regarding the database schema in a NoSQL context.
2. p r o t o g r i d . c o m
p r o t o g r i d @ a t e g r a . c h
@ p r o t o g r i d a p p
Alice and Bob
3. p r o t o g r i d . c o m
p r o t o g r i d @ a t e g r a . c h
@ p r o t o g r i d a p p
Basic Human Needs
4. p r o t o g r i d . c o m
p r o t o g r i d @ a t e g r a . c h
@ p r o t o g r i d a p p
Basic Human Needs
5. p r o t o g r i d . c o m
p r o t o g r i d @ a t e g r a . c h
@ p r o t o g r i d a p p
Meanwhile on the Hardware Side
6. p r o t o g r i d . c o m
p r o t o g r i d @ a t e g r a . c h
@ p r o t o g r i d a p p
What our Customers Want
Distributed data / client logic
Platform independency
Rapid application development / deployment
Client logic independent of database schema
Scalable database and backend
Easy-to-learn development environment
7. p r o t o g r i d . c o m
p r o t o g r i d @ a t e g r a . c h
@ p r o t o g r i d a p p
Existing Solutions
HTML 5: IndexedDB, FileSystem, WebStorage
AngularJS / Sencha / …
PhoneGap / Appcelerator / React
PouchDB / WebSqlSync / RhoConnect
Parse / Core Data / Firebase / …
Browser plugins
Individual solution on SQLite
8. p r o t o g r i d . c o m
p r o t o g r i d @ a t e g r a . c h
@ p r o t o g r i d a p p
Our Answer: Protogrid
Multi language support
Optimization for touchscreens
In the cloud
Integrated application project /
lifecycle / portfolio management
JSON interface
9. p r o t o g r i d . c o m
p r o t o g r i d @ a t e g r a . c h
@ p r o t o g r i d a p p
Implementation
15. p r o t o g r i d . c o m
p r o t o g r i d @ a t e g r a . c h
@ p r o t o g r i d a p p
Problem 1: Selective Replication
Aspects:
Crucial cards for operation
Security
Storage on mobile devices still limited
Sometimes high cost for mobile data
Solution:
Server side replication filter
Control of permissions
Prioritization of Cards
16. p r o t o g r i d . c o m
p r o t o g r i d @ a t e g r a . c h
@ p r o t o g r i d a p p
Problem 2: Automated Rollout
Aspects:
Simple and fast deployment for mobile devices
Possibility for tests and modifications
Pre-filled local database
Solution:
Download of project file
Tests, modifications possible in common IDE
Initial replication of local database with simulator
Individual rollout
17. 21.11.2015
Dominik Rüttimann
Mobile Product Developer
dominik.protogrid@ategra.ch
Cloud Apps
Running Fully Distributed
on Mobile Devices
Questions about Protogrid
and Couchbase Lite
18. 21.11.2015
Dominik Rüttimann
Mobile Product Developer
dominik.protogrid@ategra.ch
Cloud Apps
Running Fully Distributed
on Mobile Devices
Will innovative development
environments soon make
discussions about Agile
obsolete?
19. 21.11.2015
Dominik Rüttimann
Mobile Product Developer
dominik.protogrid@ategra.ch
Cloud Apps
Running Fully Distributed
on Mobile Devices
How do you think will
software development look
like in 10 years?