Professional Documents
Culture Documents
HCI - Chapter 7
HCI - Chapter 7
HCI - Chapter 7
INTERACTIVE SYSTEM
DEVELOPMENT
FRAMEWORK
Chapter 7
DEVELOPMENT FRAMEWORK
Refers to a modular approach for interactive program development where
the core computational and interface parts are developed in a modularized
fashion and combined in a flexible manner.
The framework allows the concept of plugging in different interfaces for the
same model computation and easier maintenance of the overall program. In
addition, such a practice also promotes the productivity as well as easier and
less costly post maintenance.
MVC
The MVC approach was first proposed as a computational architecture
for interactive programs (rather than a methodology) by the designers
of the programming language called SmallTalk, which is one of the
first object-oriented and modular languages.
For instance, views might be windows and widgets that display the list of
transactions and the balance of a given account in a banking application, or
they might play a background audio clip depending on the score level for a
game.
As a whole, there may be multiple views for a single application (or model). For
instance, there could be different view implementations for different display
VIEW platforms or user groups (e.g., 17-in. monitor, 10-in. LCD, HD resolution display,
display with vibrotactile output device, young users, elderly users). Note that the
output display does not necessarily have to be visual.
Anytime the model is changed, the view of that model must be notified so that it
can change the visual representation of the model on the output display. The
region/portion of the screen/display that is no longer consistent with the model is
said to be damaged. Oftentimes, it is too tedious to update just the damaged part
of the display upon change of information in the model. The practical approach is
to redraw the entire content of the smallest widget that encompasses the
damaged region or redraw the entire window.
The controller part of the application corresponds to the implementation
for manipulating the view (in order to ultimately manipulate the internal
CONTROLLER model).
It takes external inputs from the user and then interprets and relays them to
the model. The controller thus practically takes care of the input part of the
interaction.
AANN A L
NOAGLYO G Y
It’s kind of like how you make Thanksgiving dinner. You have a
fridge full of food, which is like the Model. The fridge (Model)
contains the raw materials we will use to make dinner.
For instance, let’s imagine you’re creating a To-do list app. This
app will let users create tasks and organize them into lists.
The Model in a todo app might define what a “task” is and that a
“list” is a collection of tasks.
The View code will define what the todos and lists looks like,
visually. The tasks could have large font, or be a certain color.
In this chapter, we have studied one interactive application development methodology called the MVC, which is
based on the principle of the separation between the UI and core computational functionalities of a given
application. Such a separation of concerns allows for the two to be mixed and matched (for exploring different
combinations of a proper set of functions and corresponding UIs) and lends itself to easier code maintenance.
MVC gives you a starting place to translate your ideas into code, and it also makes coming back to your code
easier, since you will be able to identify which code does what.
In addition, the organizational standard MVC promotes makes it easy for other developers to understand your
code. Thinking about how code interacts with other code is a significant part of programming, and learning to
collaborate with other developers is an important skill. Taking the time to think about how your app fits into
the MVC framework will level-up your skills as a developer by teaching you both. It’ll also make your apps
better!
THANK YOU!
UNIVERSITY OF
SCIENCE AND
TECHNOLOGY
OF SOUTHERN
PHILIPPINES