– 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.
– 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
– 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.
– 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.
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.
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
– 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