How to design mobile applications so to make them encapsulating best practices?
Check out the MobML approach and framework.
An introductory paper has been published at MobileSoft 2014, http://dl.acm.org/citation.cfm?doid=2593902.2593917
Designing Data-Intensive Mobile Applications: the MobML approach
1. Università degli Studi dell’Aquila
Collaborative
Design and Development Data-
Intensive Mobile Applications
Mirco Franzago, Ivano Malavolta, Henry Muccini
DISIM, University of L’Aquila
henry.muccini@univaq.it, @muccinihenry, www.henrymuccini.com
@MobileSoft 2014, Hyderabad – June 2014
App
Developer
Content Manager
Navigation
ML
Data
UI ML
UI Designer
Business Logic
Server Side Developer
forforforfor
2. The problem we want to deal with
2
Recurring issues and challenges in app development
Technical (fragmentation, code reuse, frequent
changes, monitoring analysis and testing, etc.)
Design issues
Limited reasoning in the context
Limited information architecture
engineering
Stakeholder diversity
Best practices for app design and development are available, but mobile
applications are still developed with ad-hoc development processes, and
best practices are still not automated.
3. Goals of our proposal
To codify best design practices into a Model-
Driven Engineering language and framework
3
An
aly
sis
r
App
Developer
Anal
ysis r
Analysis
results
1
A
1 2
A
2 n
A
n
Content Manager
Plugin developers
Navigation
ML
Data
UI ML
UI Designer
MobML
Analysis
MobL
Code
The MobML Framework
Business Logic
An
aly
ACode
Modeling environment for
Mobile Applications
Server Side
Developer
MobML
Testing
Analysis and
Code
Generation
5. A. Participatory Design
“Participatory design … is an approach to design
attempting to actively involve all
stakeholders (e.g. employees, partners, customers,
citizens, end users) in the design process to help ensure
the result meets their needs and is usable” [Wikipedia]
5
Stakeholder diversity
7. C. Multi-view Modeling Language
7
Separation of concerns
Platform independence
Models Reuse
Extensibility
8. D. Hiding MDE complexities
8
Sliding: go to page 2
Click: go to the
category page
9. Collaborative Framework
Goals of our proposal
To codify best design practices into a Model-
Driven Engineering language and framework
9
An
aly
sis
r
App
Developer
Anal
ysis r
Analysis
results
1
A
1 2
A
2 n
A
n
Content Manager
Plugin developers
Navigation
ML
Data
UI ML
UI Designer
MobML
Analysis
MobL
Code
Business Logic
An
aly
ACode
Modeling environment
Server Side
Developer
MobML
Testing
Analysis and
Code
Generation
10. The MobML Design Decisions
10
Web-based Framework
UI, Navigation, Data, Business Logic views
Only Data-Intensive Mobile apps
Synchronous, Semi-synch, Asynchronous, …
Targeting Apache Cordova (so far)
11. Related Work
11
MobML Quill MD2 IFML WAE
Mobile-specific
Multiple stakeholders
Code generation
Cross-platform code
Analysis (yet)
On-demand deployment
Collaborative
Real-time support
Graphical notation
13. Future Work
Formal definition of the proposed languages
Pre-deployment analysis for enforcing design best practices
and guidelines
Generic framework for managing real-time collaborative
modeling
Empirical evidence about the effectiveness of the approach
and about the quality of hybrid apps w.r.t. native apps
13
14. Contacts
If you are interested in the proposed approach:
14
Stop by after the presentation
Contact me at henry.muccini@univaq.it
Tweet @muccinihenry
Skype me at henry.muccini
Call me ☺☺☺☺
Franzago, Malavolta, Muccini “Towards a Collaborative Framework for the Design
and Development of Data-Intensive Mobile Applications” @MobileSoft2014