Book
  • Introduction
  • Welcome !!
  • Chapter 1: The mobile ecosystem
    • Fragmentation is the devil
    • There is more than one type of mobile app
    • ... more than one type of app
    • ... one type of app
    • Under pressure (ee da de da de) !!
    • Further reading!!
  • Chapter 2: Let's start with design thinking
    • A taste of design thinking
    • The five steps
    • Design for everybody
    • Accessibility in mobile apps
  • Chapter 3: Give me a context and I will give you an app
    • Users
    • Personas? Users ? What is the difference?
    • Please, help me to model the context
    • The context canvas
  • Chapter 4: Powerful models
    • Data architecture is the foundation of analytics
    • From data to information and knowledge
    • Information/Knowledge in our mobile ecosystem
    • Questions to ask yourselves when building and classifying questions
    • The visualization-data map
    • On the scene: describing how personas interact with your app
  • Chapter 5: A GUI is better than two thousand words
    • 'Good to Go:' Let's explore the Design Systems
    • Designing GUI Mocks
    • No prototype... no deal
  • Chapter 6: About mobile operating systems ... and other deamons
    • The Android OS ... son of LINUX
    • iOS son of Darwin? or is it iOS son of UNIX?
    • Kernels
  • Chapter 7: Yes, software architecture matters !!
    • Self-test time
    • About design and design constraints
    • Architects' mojo: styles and patterns
    • What you need is a tactic !!
    • Self-test time 2 (for real)
    • Further reading
  • Chapter 8: Finally... coding
    • MVC, MVVM, MV*, MV...What?
    • Programming models: the Android side
    • Hello Jetpack, my new friend... An Android Jetpack Introduction
    • Programming models: the iOS side
    • Controllers and more controllers
    • Flutter son of... simplicity
    • Programming models: Flutter?
    • Flutter: State matters... Let´s start simple
    • Flutter: State matters... Complex stuff ahead
    • Micro-optimizations
  • Chapter 9: Data pipeline
    • Generalities data pipelines
    • Data storage types
    • Types of data pipelines
  • Chapter 10: Error Retrieving Chapter 10
    • Eventual Connectivity on Mobile Apps
    • How to handle it on Android
  • Chapter 11: The jewel in the crown: Performance
    • As fast as a nail
    • Memory bloats
    • Energy leaks
    • Final thoughts
  • Chapter 12. Become a performance bugs exterminator
    • Weak or strong?
    • Micro-optimizations
    • The single thread game !!
    • Using multi-threading like a boss !!
    • Caching
    • Avoiding memory bloats
    • Further readings
Powered by GitBook
On this page
  1. Chapter 4: Powerful models

Data architecture is the foundation of analytics

PreviousChapter 4: Powerful modelsNextFrom data to information and knowledge

Last updated 1 year ago


The context canvas is one of tools we have for designing a software solution that involves mobile devices and applications. But have in mind that one of the design constraints in the course is to include (in your solution) a back-end analytics/machine-learning engine. While the context canvas focuses on the app and the devices, it does not cover the design of the domain model and analytics engine. There are several methods and processes that have been proposed to design analytics and data science projects such as , and the ; however, before defining a process to follow, we need to design the data architecture that will support the analytics engine.

"Data architecture is composed of models, policies, rules or standards that govern which data is collected, and how it is stored, arranged, integrated, and put to use in data systems and in organizations"[^1] [^2]

In our context, the analytics engine is a back-end service that will provide personas with insights, patterns, knowledge, and information extracted from the data collected within the whole system. Therefore, the mobile devices and the apps running on them become a "data collection system" from the point of view of the analytics engine. While the app has their own purpose and it is to provide features to a set of personas, the analytics engine takes advantage of all the data collected through the app usages and also provides features to another set of personas interested on the information and knowledge derived from the raw data. In conclusion, designing the analytics engine requires to design the data architecture that integrates (i) the data collected with the device/app, (ii) data that can be extracted from any other source (e.g., a government open data service, a private web service), and (iii) the knowledge/information expected to be extracted from the data.

[^1] John Parkinson. What is Data Architecture? Linkedin, Mark 3rd, 2017. https://www.linkedin.com/pulse/what-data-architecture-john-parkinson [^2] Wikipedia. Data Architecture. August 28th, 2017. https://en.wikipedia.org/wiki/Data_architecture

CRISP-DM,
guerilla analytics
Team Data Science Process Lifecycle