Academic Year 2019-2020

MOBILE APPLICATION DESIGN

Teachers

Stefano Burigat
Unit Credits
6
Teaching Period
First Period
Course Type
Caratterizzante
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.
Objectives
At the end of the course, students will:

– know the available technologies for the development of applications and services for mobile devices

– know the key phases in the design of interaction with mobile applications

– know the most common interface solutions for interaction with applications and services for mobile devices

– know the core implementation details of Android applications and services

– be able to identify the most appropriate technologies for the development of applications and services for mobile devices

– be able to design the interaction with applications and services for mobile devices, using the most appropriate interface solutions

– be able to develop usable applications and services for the Android platform

Discipline-related skills:

– Knowledge and understanding

During the Mobile Application Design course, students will acquire: specific knowledge of the available technologies for the development of applications and services for mobile devices; knowledge of the the key phases in the design of interaction with mobile applications, with special reference to the envision-prototype-evaluate cycle; knowledge of the most common interface pattern for interaction with applications and services for mobile devices; knowledge of the core implementation details for the development of Android applications and services.

– Applying knowledge and understanding

During the Mobile Application Design course, students will acquire: the ability to identify the most appropriate technologies for the development of applications and services for mobile devices in the considered market scenario; the ability to design the interaction with applications and services for mobile devices using the envision-prototype-evaluate cycle; the ability to choose the most appropriate interface patterns for the considered mobile application/service, avoiding common antipatterns; the ability to develop interactive mobile applications/services for the Android platform.

Soft skills:

– Making judgements

By attending the Mobile Application Design course, students will acquire the ability to autonomously and critically evaluate the appropriateness of specific interface solutions for the interaction with mobile applications and services. Moreover, they will acquire the ability to evaluate the appropriateness of the specific design and development techniques learned in the course to different mobile applications/services.

– Communication skills

During the Mobile Application Design course, students will acquire the ability to communicate their vision of interaction with mobile applications/services through graphical design on paper, in addition to being able to present such vision through technical reports on the course assignments and final project.

– Learning skills

Students will also acquire the ability to identify interaction issues with mobile interfaces through user evaluation in the field of the solutions proposed during the assignments and final project.

Contents
The course aims to provide the necessary skills to design and develop applications and services for mobile devices such as smartphones and 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 Android platform.

MOBILE DEVICES AND PLATFORMS

Overview of the different types of mobile device. Smartphones, feature phones, tablets and apps: market, peculiarities, statistical data. Characteristics and limitations of mobile devices: CPU, GPU, display, memory, input, energy supply, connectivity. Major mobile platforms and their features: Apple iOS, Google Android. Native vs. web-based vs. hybrid mobile applications: features and technologies.

MOBILE APPLICATION DESIGN

Development cycle of an interactive system. Designing the interaction, user experience (usability, usefulness, emotional impact), the UX lifecycle process, UX roles. The complexity diagram, domain and interaction complexity, low-complexity systems. A lightweight approach to the design of mobile applications: the envision, prototype, evaluate cycle. Envision through storyboarding: process and guidelines for creating a storyboard, examples. Personas and other complementary envision techniques: definition, creation, use, examples. Low-fidelity prototyping: description, sketching, examples. Complementary prototyping techniques: task flows, design collage, digital wireframes, hi-fidelity prototyping. Evaluation of low-fidelity prototypes: user choice, design alternatives, evaluation process. Complementary evaluation techniques: five seconds test, black hat session. Design patterns for mobile applications and services: navigation, tutorials, common anti-patterns, other patterns.

MOBILE APPLICATION DEVELOPMENT

Android application development: development tools (Android Studio, Android SDK, emulator), life cycle of Android applications, components of an Android application (activity, service, content provider, broadcast receiver), user interfaces (XML layouts, base widgets, resources, menus, advanced interface elements), intents, data storage and retrieval, location services, multi-threading.

Texts
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) Android:

– Reto Meier, Professional Android 4 Application Development, John Wiley & Sons, 2012

– Mark Murphy, The Busy Coder’s Guide to Android Development, CommonsWare, 2015

– Android Developer’s Documentation: http://developer.android.com/develop/index.html