Academic Year 2022-2023



Stefano Burigat
Unit Credits
Teaching Period
First Period
Course Type
Prerequisites. Knowledge of the basic notions of usability, of the software development cycle, and of object-oriented programming are needed to profitably attend the course.
Teaching Methods. The course includes:

– Lectures

– Assignments that involve the autonomous solutions of exercises and the analysis of case studies provided by the instructor.

– A final project that involves the application of the knowledge acquired during the course to the design and development of a mobile application/service.

Verification of Learning. The exam consists in carrying out the assignments provided by the instructor during the course and a final project involving the design and development of an application/service for mobile devices. The assignments and final project will be instrumental in evaluating students’ knowledge and understanding of the concepts learned in the course and the ability to apply them.
More Information. Instructor-provided materials, slides and videos of the lessons will be available through the E-learning system of the University of Udine. Access to this material is reserved to the students of the course.
The course aims to provide the necessary skills to design and develop applications and services for mobile devices (smartphones/tablets), with a specific focus on interaction design. We will explore the unique features of mobile devices, we will analyze the most important mobile platforms, we will study techniques used to design the interaction with applications and services for mobile devices, we will explore the development of mobile applications for the main mobile platforms.


Smartphones/tablets and apps: market, peculiarities, statistical data. Physical characteristics and limitations of mobile devices. Major mobile platforms and their features: Apple iOS, Google Android. Native vs. web-based vs. hybrid mobile applications: features and technologies.


Development cycle of an interactive system. Interaction design, user experience (usability, usefulness, emotional impact), the UX lifecycle process, UX roles. The diagram of complexity, domain and interaction complexity, low complexity systems. Complete process of development of an interactive system: examples of necessary activities. Light approach to the design of mobile applications: the envision-prototype-evaluate cycle. System concept statement. Envisioning through storyboarding: process and guidelines for the creation of a storyboard, examples. Personas and other complementary envisioning techniques: definition, creation, use, examples. Requirements documentation. Prototyping: definition, types. Sketching: objectives, guidelines, examples. Wireframing: definition, examples. Other complementary prototyping techniques: task flows, design collage, hi-fidelity prototyping. Evaluation of low-fidelity prototypes: choice of users, alternative designs, evaluation process. Alternative evaluation techniques: five seconds test, black hat session. Design patterns for the design of mobile applications and services: navigation features, onboarding, forms, tools, common anti-pattern, other patterns.


Mobile application development in Flutter: introduction to the platform, using Android Studio features, widgets with and without state, structure of an application, basic aspects of the Dart language, layout widgets, input widgets, other widgets, state management.

Instructor-provided materials are the main source of study for the exam.

Optionally, students can refer to the following books (or more up-to-date sources that may become available during the course):

1) Mobile application design:

– Jakob Nielsen, Raluca Budiu, Mobile Usability, New Riders, 2013

– Theresa Neil, Mobile Design Pattern Gallery, O’Reilly Media, 2014

– Greg Nudelman, The $1 Prototype: Lean Mobile UX Design and Rapid Innovation, DesignCaffeine Press, 2014

2) Mobile application development:

– Flutter Documentation:

– Android Developer’s Documentation:

– Apple Developer Documentation: