IMPLEMENTATION
SUPPORT
Group 4
GROUP PARTICIPANTS
• Hassan M. Botha ICT/01/18/22
• Mckenzie Kapangalika CEN/01/40/23
• Alice Mailos ICT/01/07/22
• Christopher Ng’oma CEN/01/41/23
INTRODUCTION
• Implementation support refers to the essential tools and resources to help
programmers build and maintain interactive systems and applications.
• These resources and tools include;
windowing systems.
programming tools.
Interaction toolkits.
User interface management systems.
• These resources are crucial for creating functional, user-friendly
applications that meet the requirements and expectations of users.
WINDOWING SYSTEMS
• Windowing systems are also known as window managers.
• This refers to software components that manage the placement and
appearance of windows on a graphical user interface (GUI).
• They provide a framework for organizing and displaying multiple windows
on a computer screen simultaneously.
• This allows users to interact with multiple applications at the same time.
CONT…
• A given windowing system will have a fixed generic language for the
abstract terminal which is called imaging model.
• Imaging models can describe a wide range of images, but for efficiency in
handling specific types of images, such as text, specialized primitives are
often used.
• These primitives can handle text images as pixel-based images or as
generic font definitions.
• Examples of imaging models include;
Pixels
Graphical kernel system (GKS)
Programmer’s hierarchical interface to graphics (PHIGS)
CONT…
• Windowing systems manage how applications interact with input devices
and display outputs.
• They abstract away hardware specifics, enabling developers to create
applications that work seamlessly across various platforms.
• Examples of Windowing Systems
Microsoft Windows – Windows 10/11 GUI.
X Window System (X11, Wayland) – Used in Linux/Unix.
macOS Window Server (Quartz) – Handles macOS graphical UI.
ELEMENTS OF WINDOWING
SYSTEMS
Device independence
• refers to the ability of a windowing system to abstract away the
differences between various input and output devices.
• E.g. monitors and printers
• This abstraction allows application developers to create software without
worrying about the specific characteristics of the hardware being used.
Resource sharing
• refers to managing limited hardware resources among multiple
applications running simultaneously without conflicts.
• E.g. keyboards, screens, and mice.
PROGRAMMING TOOLS
• Programming tools are essential for facilitating the development of
interactive systems.
• These tools help bridge the gap between design and coding, allowing
developers to create user-friendly interfaces while managing complex
interactions efficiently.
• Examples include Integrated Development Environments (IDEs) such as
code editors, compilers, debuggers, and profiling tools, to assist in
writing, testing, and debugging programs
• Integrated Programming Environments (IPEs) such as Qt Creator, which
can create graphical user interfaces, import external libraries, and
manage source code control.
INTERACTION TOOLKITS
• Interaction toolkits are software libraries that provide a collection of
reusable user interface components called widgets.
• They are designed to be used in graphical applications
• It also provides common user interface elements.
• E.g.
Buttons
menus
text boxes etc.
CONTI…
• Interaction toolkits simplify the process of creating user interfaces.
• This can be done by providing pre-built components with common
functionality and design standards.
• This can save time and effort.
• Examples of interaction toolkits include;
• Microsoft Foundation Classes (MFC)
• Java Swing.
USER INTERFACE MANAGEMENT SYSTEMS
• Refers to software frameworks that help developers create and manage user
interfaces (UI) efficiently.
• This facilitates the separation between application logic and user interface
design, allowing developers to create more flexible interactive systems.
• It also offers a collection of reusable and configurable components, which can
be customized to meet the specific needs of a particular application.
• Examples of components include;
buttons
menus
text fields
• Examples of UIMS:
X Window System (Linux/Unix)
Windows Presentation Foundation (WPF)
Java Swing and JavaFX
React.js (for web UIs)
Qt (for cross-platform UIs)
CONT…
They consist of three functions:
• Presentation Component
Manages how information is displayed to users.
• Dialog Control Component
Regulates communication between the presentation layer and application
logic.
• Application Interface Component
Defines how application semantics are exposed to users.
IMPORTANCE OF USER
INTERFACE MANAGEMENT
SYSTEMS
By separating these concerns;
• It enhances portability.
• It enhances reusability.
• It enhances customization options for interactive systems.
Although less common today due to advancements in IDEs, UIMS principles
remain relevant in modern software development practices.
THE END