designing data-intensive mobile applications: the mobml approach
DESCRIPTION
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.2593917TRANSCRIPT
Università degli Studi dell’Aquila
Collaborative
Design and Development Data-
Intensive Mobile ApplicationsMirco Franzago, Ivano Malavolta, Henry Muccini
DISIM, University of L’Aquila
[email protected], @muccinihenry, www.henrymuccini.com
@MobileSoft 2014, Hyderabad – June 2014
App
Developer
Content Manager
Navigation
MLData
UI ML
UI Designer
Business Logic
Server Side Developer
forforforfor
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.
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 ManagerPlugin developers
Navigation
MLData
UI ML
UI Designer
MobML
Analysis
MobL
Code
The MobML Framework
Business Logic
An
alyACode
Modeling environment for
Mobile Applications
Server Side
Developer
MobML
Testing
Analysis and
Code
Generation
Principles4
Participatory design
Collaborative Design
Multi-view Modeling Languages
Hiding MDE complexities
A
B
C
D
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
B. Collaborative Design6
Integration with source codeReal-time collaboration
Tangibility
C. Multi-view Modeling Language7
Separation of concerns
Platform independence
Models Reuse
Extensibility
D. Hiding MDE complexities8
Sliding: go to page 2
Click: go to the
category page
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 ManagerPlugin developers
Navigation
MLData
UI ML
UI Designer
MobML
Analysis
MobL
Code
Business Logic
An
alyACode
Modeling environment
Server Side
Developer
MobML
Testing
Analysis and
Code
Generation
The MobML Design Decisions10
Web-based Framework
UI, Navigation, Data, Business Logic views
Only Data-Intensive Mobile apps
Synchronous, Semi-synch, Asynchronous, …
Targeting Apache Cordova (so far)
Related Work11
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
User-oriented
Technology agnostic
Multiple stakeholders
Domain-specific
Tool: Web-based
Enterprise-oriented
Technology agnostic
Single stakeholder: engineer
Based on UML
Tool: Eclipse-based
12
Future Work
� Formal definition of the proposed languages
� Pre-deployment analysis for enforcing design best practicesand guidelines
� Generic framework for managing real-time collaborative modeling
� Empirical evidence about the effectiveness of the approachand about the quality of hybrid apps w.r.t. native apps
13
Contacts
If you are interested in the proposed approach:
14
Stop by after the presentation
Contact me at [email protected]
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