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 3: Give me a context and I will give you an app

Please, help me to model the context

PreviousPersonas? Users ? What is the difference?NextThe context canvas

Last updated 1 year ago


You might be familiar with the system context diagram, which is used to define/understand the boundaries between a system under design/analysis and its environment.

(Example of a system context diagram from Wikipedia)

As you see in the figure, the circle in the middle is the system under analysis (SUA) and the boxes are the the entities or external systems that interact with the SUA. The connectors between all the components show the data/information flow.

Think about the potential usage of the context diagram in design thinking and in mobile app development. Write your thoughts in a piece of paper and discuss during 5 minutes with yourself (yes, like in a monologue) about the usefulness of the context diagram.

The context diagram is a useful tool for identifying interactions between components in a system, including external third-parties. However, this is just a part of the context, and in this course, we really care about the context because it has powerful insights about the problem we are analyzing. Thus, the system context diagram is limited for our needs.

What are the main components in the context of a mobile app? You need a device, an app (obviously), personas, and backend services. Anything else? Yes, a mobile app can interact with other apps installed in your device (e.g., contacts, messaging, browser, etc.) and interacts with the environment via sensors and data collection components. Anything else important in the context? Of course, a persona uses an app under specific conditions/situations (e.g., in an elevator or in a place with bad network signal), thus, those conditions are part of the context.

We have designed a specific context diagram, which is tailored for mobile app development. We called it the **"context canvas"*. The context canvas is a graphic template that will help you to identify your app context, in particular, the information needs, information flows, constraints, and actors that interact with the app. Go to the next section and learn more about it.

If you are not knowledgeable of the context diagram, quickly read the wikipedia entry about .

system context diagram