SlideShare a Scribd company logo
1 of 26
UI Designing concepts…
@Mohammed Fazuluddin
UI Overview
UI Architecture and Designing Concepts
UI Design patterns
 Before starting of the design lets understand the UI concepts as it is required to
understand the designing concepts.
 User Interface (UI) mainly performs two functions −
 Accepting the user’s input.
 Displaying the output.
 Graphical user interface is also know as WIMP interface
 Windows − A rectangular area on the screen where the commonly used
applications run.
 Icons − A picture or symbol which is used to represent a software application or
hardware device.
 Menus − A list of options from which the user can choose what they require.
 Pointers − A symbol such as an arrow which moves around the screen as user
moves the mouse. It helps user to select objects.
 A good user interface must attract the user to use the software system without
mistakes.
 It should help the user to understand the software system easily without misleading
information.
 A bad UI may cause market failure against the competition of software system.
 The syntax comprises component types such as textual, icon, button etc. and usability
summarizes the semantics of UI.
 The quality of UI is characterized by its look and feel (syntax) and its usability
(semantics).
 There are basically two major kinds of user interface…
 Textual
 Graphical.
 Users will initially see the architecture of software system’s external user interface
without considering its internal architecture.
 The UI design works from the user’s capabilities and limitations.
 While designing the UI, knowledge on the nature of user's work and environment is
also critical.
 Before starting of the UI design we need to do some analysis on the following
elements…
 Which type of users will interact with the system through the interface.
 What kind of tasks that end users will perform to do their work.
 What type of content will be presented as part of the interface.
 The work environment in which these tasks will be conducted.
Levels of UI Design:
The design of a user interface is divided into four different levels…
 The conceptual level − It describes the basic entities considering the user's view
of the system and the actions possible upon them.
 The semantic level − It describes the functions performed by the system i.e.
description of the functional requirements of the system, but does not address
how the user will invoke the functions.
 The syntactic level − It describes the sequences of inputs and outputs required to
invoke the functions described.
 The lexical level − It determines how the inputs and outputs are actually formed
from primitive hardware operations.
Steps of UI Design:
User interface design is an iterative process, where all the iteration explains and refines
the information developed in the preceding steps.
General steps for user interface design…
 Defines user interface objects and actions (operations).
 Defines events (user actions) that will cause the state of the user interface to
change.
 Indicates how the user interprets the state of the system from information
provided through the interface.
 Describe each interface state as it will actually look to the end user.
User Interface designing models:
There are four user interface designing models, find the details…
 User profile model:
 Created by a user or software engineer, which establishes the profile of the end-
users of the system based on age, gender, physical abilities, education,
goals, and personality.
 Considers syntactic and semantic knowledge of the user and classifies users as
novices, knowledgeable intermittent, and knowledgeable frequent users.
 Design model:
 Created by a software engineer which incorporates data, architectural, interface,
and procedural representations of the software.
 Implementation model:
 Created by the software implementers who work on look and feel of the
combined with all supporting information (books, videos, help files) that
system syntax and semantics.
 User's mental model:
 Created by the user when interacting with the application. It contains the image
the system that users carry in their heads.
 Often called the user's system perception and correctness of the description
depends upon the user’s profile and overall familiarity with the software in the
application domain.
User interface design concepts:
 User centered:
 A user interface must be a user-centered product which involves users
a product’s development lifecycle.
 The prototype of a user interface should be available to users and feedback from
users, should be incorporated into the final product.
 Simple and Intuitive:
 UI provides simplicity and intuitiveness so that it can be used quickly and
effectively without instructions.
 GUI are better than textual UI, as GUI consists of menus, windows, and buttons
and is operated by simply using mouse.
 Place Users in Control:
 Do not force users to complete predefined sequences. Give them options—to
cancel or to save and return to where they left off.
 Use terms throughout the interface that users can understand, rather than
or developer terms.
 Provide users with some indication that an action has been performed, either by
showing them the results of the action, or acknowledging that the action has
taken place successfully.
 Transparency:
 UI must be transparent that helps users to feel like they are reaching right
computer and directly manipulating the objects they are working with. The
interface can be made transparent by giving users work objects rather than
objects.
 Use progressive disclosure:
 Always provide easy access to common features and frequently used actions.
less common features and actions and allow users to navigate them.
 Do not try to put every piece of information in one main window. Use secondary
window for information that is not key information.
 Consistency:
 UI maintains the consistency within and across product, keep interaction results
the same, UI commands and menus should have the same format, command
punctuations should be similar and parameters should be passed to all
in the same way.
 UI should not have behavior’s that can surprise the users and should include the
mechanisms that allows users to recover from their mistakes.
 Integration:
 The software system should integrate smoothly with other applications such as
notepad and MS-Office.
 It can use Clipboard commands directly to perform data interchange.
 Component Oriented:
 UI design must be modular and incorporate component oriented architecture so
that the design of UI will have the same requirements as the design of the main
body of the software system.
 The modules can easily be modified and replaced without affecting of other
of the system.
 Customizable:
 The architecture of whole software system incorporates plug-in modules, which
allow many different people independently extend the software.
 It allows individual users to select from various available forms in order to suit
personal preferences and needs.
 Reduce Users’ Memory Load:
 Do not force users to have to remember and repeat what the computer should
doing for them.
 For example, when filling in online forms, customer names, addresses, and
telephone numbers should be remembered by the system once a user has
them, or once a customer record has been opened.
 User interfaces support long-term memory retrieval by providing users with
for them to recognize rather than having to recall information.
 There are 3 main design patterns which we talk while designing the GUI.
 MVC(Model view controller)
 MVP(Model view presenter)
 MVVM(Model view view model)
 In traditional UI development - developer used to create a View using window or user
control or page and then write all logical code (Event handling, initialization and data
model, etc.) in code behind and hence they were basically making code as a part of
view definition class itself.
 This approach increased the size of my view class and created a very strong
dependency between my UI and data binding logic and business operations.
 In this situation, no two developers can work simultaneously on the same view and
also one developer's changes might break the other code.
Presentation Design Patterns
 So everything is in one place is always a bad idea for maintainability, extendibility and
testability prospective.
 If you look at the big picture, you can feel that all these problems exist because there
is a very tight coupling between the following items.
 View (UI)
 Model (Data displayed in UI)
 Glue code (Event handling, binding, business logic).
 In case of MVC it is controller. In case of MVP it is presenter. In case of MVVM it is
view model.
 MVC (model view controller), MVP (model view presenter) and MVVM (model view
view model) patterns allow us to develop applications with loose coupling and
separation of concern which in turn improve testability, maintainability and
extendibility with minimum effort.
 MVVM pattern is a one of the best solutions to handle such problems for WPF and
Silverlight application.
 MVP & MVC:
 MVP (model view presenter) pattern is one of the very popular patterns among
other design patterns available in the market.
 MVP is a variation of MVC pattern which is being used for so many decades.
 Simple definition of MVP is that it contains three components: Model, View and
presenter.
 So view is nothing but a UI which displays on the screen for user, the data it
displays is the model, and the Presenter hooks the two together (View and model).
MVC
 MVP & MVC:
 In the MVC, the Controller is responsible for determining which View is displayed
in response to any action including when the application loads.
 This differs from MVP where actions route through the View to the Presenter.
 In MVC, every action in the View basically calls to a Controller along with an
action.
 In web application, each action is a call to a URL and for each such call there is a
controller available in the application who respond to such call.
 Once that Controller has completed its processing, it will return the correct View.
 In case of MVP, view binds to the Model directly through data binding. In this
case, it's the Presenter's job to pass off the Model to the View so that it can bind
to it.
MVVM Model
 MVVM (Model View ViewModel):
 The MVVM pattern includes three key parts:
 Model (Business rule, data access, model classes)
 View (User interface (XAML))
 ViewModel (Agent or middle man between view and model).
 In MVVM, ViewModel does not need a reference to a view.
 The view binds its control value to properties on a ViewModel, which, in turn, exposes
data contained in model objects.
 In simple words, TextBox text property is bound with name property in ViewModel.
 Model and View work just like MVC and “ViewModel” is the model of the View.
MVVM Flow Diagram
If you feel it is helpful and worthy to share with other people, please share the same

More Related Content

What's hot

SWE-401 - 2. Software Development life cycle (SDLC)
SWE-401 - 2. Software Development life cycle (SDLC)SWE-401 - 2. Software Development life cycle (SDLC)
SWE-401 - 2. Software Development life cycle (SDLC)ghayour abbas
 
DevOps Overview
DevOps OverviewDevOps Overview
DevOps OverviewSagar Mody
 
Mobile to Mainframe - the Challenges of Enterprise DevOps Adoption
Mobile to Mainframe - the Challenges of Enterprise DevOps AdoptionMobile to Mainframe - the Challenges of Enterprise DevOps Adoption
Mobile to Mainframe - the Challenges of Enterprise DevOps AdoptionSanjeev Sharma
 
Pulse 2013: DevOps Review and Roadmap
Pulse 2013: DevOps Review and RoadmapPulse 2013: DevOps Review and Roadmap
Pulse 2013: DevOps Review and RoadmapDaniel Berg
 
Application release-automation-with-zero-touch-deployment
Application release-automation-with-zero-touch-deploymentApplication release-automation-with-zero-touch-deployment
Application release-automation-with-zero-touch-deploymentPraveen John kumar
 
Integrated ALM using Microsoft 2012 Solutions
Integrated ALM using Microsoft 2012 SolutionsIntegrated ALM using Microsoft 2012 Solutions
Integrated ALM using Microsoft 2012 SolutionsAnup Hariharan Nair
 
DevOps 101 - IBM Impact 2014
DevOps 101 - IBM Impact 2014 DevOps 101 - IBM Impact 2014
DevOps 101 - IBM Impact 2014 Sanjeev Sharma
 
Redefining cloud computing again linthicum with bonus
Redefining cloud computing again linthicum with bonusRedefining cloud computing again linthicum with bonus
Redefining cloud computing again linthicum with bonusDavid Linthicum
 
Periodic Table of Agile Principles and Practices
Periodic Table of Agile Principles and PracticesPeriodic Table of Agile Principles and Practices
Periodic Table of Agile Principles and PracticesJérôme Kehrli
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software EngineeringSibel Kuzgun AKIN
 
Introduction to dev ops
Introduction to dev opsIntroduction to dev ops
Introduction to dev opsAbdul Rahim
 
Building a DevOps Team that isn't Evil
Building a DevOps Team that isn't EvilBuilding a DevOps Team that isn't Evil
Building a DevOps Team that isn't EvilIBM UrbanCode Products
 
DevOps and the Case for ROI to Executives
DevOps and the Case for ROI to ExecutivesDevOps and the Case for ROI to Executives
DevOps and the Case for ROI to ExecutivesIBM UrbanCode Products
 
Scaling continuous delivery @ GeeCon 2014
Scaling continuous delivery @ GeeCon 2014Scaling continuous delivery @ GeeCon 2014
Scaling continuous delivery @ GeeCon 2014Tomas Riha
 
DevOps concepts, tools, and technologies v1.0
DevOps concepts, tools, and technologies v1.0DevOps concepts, tools, and technologies v1.0
DevOps concepts, tools, and technologies v1.0Mohamed Taman
 
DevOps evolution architecting the modern software factory - cloud expo east 2017
DevOps evolution architecting the modern software factory - cloud expo east 2017DevOps evolution architecting the modern software factory - cloud expo east 2017
DevOps evolution architecting the modern software factory - cloud expo east 2017Anand Akela
 

What's hot (20)

SWE-401 - 2. Software Development life cycle (SDLC)
SWE-401 - 2. Software Development life cycle (SDLC)SWE-401 - 2. Software Development life cycle (SDLC)
SWE-401 - 2. Software Development life cycle (SDLC)
 
DevOps Overview
DevOps OverviewDevOps Overview
DevOps Overview
 
DevOps101 (version 2)
DevOps101 (version 2)DevOps101 (version 2)
DevOps101 (version 2)
 
Mobile to Mainframe - the Challenges of Enterprise DevOps Adoption
Mobile to Mainframe - the Challenges of Enterprise DevOps AdoptionMobile to Mainframe - the Challenges of Enterprise DevOps Adoption
Mobile to Mainframe - the Challenges of Enterprise DevOps Adoption
 
Pulse 2013: DevOps Review and Roadmap
Pulse 2013: DevOps Review and RoadmapPulse 2013: DevOps Review and Roadmap
Pulse 2013: DevOps Review and Roadmap
 
Application release-automation-with-zero-touch-deployment
Application release-automation-with-zero-touch-deploymentApplication release-automation-with-zero-touch-deployment
Application release-automation-with-zero-touch-deployment
 
software
softwaresoftware
software
 
Integrated ALM using Microsoft 2012 Solutions
Integrated ALM using Microsoft 2012 SolutionsIntegrated ALM using Microsoft 2012 Solutions
Integrated ALM using Microsoft 2012 Solutions
 
DevOps 101 - IBM Impact 2014
DevOps 101 - IBM Impact 2014 DevOps 101 - IBM Impact 2014
DevOps 101 - IBM Impact 2014
 
Redefining cloud computing again linthicum with bonus
Redefining cloud computing again linthicum with bonusRedefining cloud computing again linthicum with bonus
Redefining cloud computing again linthicum with bonus
 
Periodic Table of Agile Principles and Practices
Periodic Table of Agile Principles and PracticesPeriodic Table of Agile Principles and Practices
Periodic Table of Agile Principles and Practices
 
Devops
DevopsDevops
Devops
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Introduction to dev ops
Introduction to dev opsIntroduction to dev ops
Introduction to dev ops
 
Continuous Integration & the Release Maturity Model
Continuous Integration & the Release Maturity Model Continuous Integration & the Release Maturity Model
Continuous Integration & the Release Maturity Model
 
Building a DevOps Team that isn't Evil
Building a DevOps Team that isn't EvilBuilding a DevOps Team that isn't Evil
Building a DevOps Team that isn't Evil
 
DevOps and the Case for ROI to Executives
DevOps and the Case for ROI to ExecutivesDevOps and the Case for ROI to Executives
DevOps and the Case for ROI to Executives
 
Scaling continuous delivery @ GeeCon 2014
Scaling continuous delivery @ GeeCon 2014Scaling continuous delivery @ GeeCon 2014
Scaling continuous delivery @ GeeCon 2014
 
DevOps concepts, tools, and technologies v1.0
DevOps concepts, tools, and technologies v1.0DevOps concepts, tools, and technologies v1.0
DevOps concepts, tools, and technologies v1.0
 
DevOps evolution architecting the modern software factory - cloud expo east 2017
DevOps evolution architecting the modern software factory - cloud expo east 2017DevOps evolution architecting the modern software factory - cloud expo east 2017
DevOps evolution architecting the modern software factory - cloud expo east 2017
 

Similar to UI architecture & designing

User Interface Analysis and Design
User Interface Analysis and DesignUser Interface Analysis and Design
User Interface Analysis and Design Saqib Raza
 
Software engineering
Software engineeringSoftware engineering
Software engineeringIshucs
 
Introduction To Usability
Introduction To UsabilityIntroduction To Usability
Introduction To UsabilityOvidiu Von M
 
Design Model & User Interface Design in Software Engineering
Design Model & User Interface Design in Software EngineeringDesign Model & User Interface Design in Software Engineering
Design Model & User Interface Design in Software EngineeringMeghaj Mallick
 
SWE-401 - 8. Software User Interface Design
SWE-401 - 8. Software User Interface DesignSWE-401 - 8. Software User Interface Design
SWE-401 - 8. Software User Interface Designghayour abbas
 
Usability principles 1
Usability principles 1Usability principles 1
Usability principles 1Sameer Chavan
 
Modelling Feature Interaction Patterns in Nokia Mobile Phones.
Modelling Feature Interaction Patterns in Nokia Mobile Phones.Modelling Feature Interaction Patterns in Nokia Mobile Phones.
Modelling Feature Interaction Patterns in Nokia Mobile Phones.pradeepmondal
 
User interface model
User interface modelUser interface model
User interface modelazhaar345
 
User interface webpage
User interface webpageUser interface webpage
User interface webpagedhaval_tare
 
CSE 5930 Assignment 2 Documentation
CSE 5930 Assignment 2 DocumentationCSE 5930 Assignment 2 Documentation
CSE 5930 Assignment 2 DocumentationSalocin Dot TEN
 
User Interface Design_Csc2204_lecture 1_-_introduction
User Interface Design_Csc2204_lecture 1_-_introduction User Interface Design_Csc2204_lecture 1_-_introduction
User Interface Design_Csc2204_lecture 1_-_introduction ENGWAU TONNY
 
Task 2 - Educational Article – Model View Controller (MVC)
Task 2 - Educational Article – Model View Controller (MVC)Task 2 - Educational Article – Model View Controller (MVC)
Task 2 - Educational Article – Model View Controller (MVC)Shubham Goenka
 
Publication Non Visual Components
Publication Non Visual ComponentsPublication Non Visual Components
Publication Non Visual Componentssatyres
 

Similar to UI architecture & designing (20)

User Interface Analysis and Design
User Interface Analysis and DesignUser Interface Analysis and Design
User Interface Analysis and Design
 
UI/UX Design
UI/UX DesignUI/UX Design
UI/UX Design
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
Introduction To Usability
Introduction To UsabilityIntroduction To Usability
Introduction To Usability
 
Unit v
Unit vUnit v
Unit v
 
Design Model & User Interface Design in Software Engineering
Design Model & User Interface Design in Software EngineeringDesign Model & User Interface Design in Software Engineering
Design Model & User Interface Design in Software Engineering
 
SWE-401 - 8. Software User Interface Design
SWE-401 - 8. Software User Interface DesignSWE-401 - 8. Software User Interface Design
SWE-401 - 8. Software User Interface Design
 
Usability principles 1
Usability principles 1Usability principles 1
Usability principles 1
 
Slides chapter 12
Slides chapter 12Slides chapter 12
Slides chapter 12
 
Modelling Feature Interaction Patterns in Nokia Mobile Phones.
Modelling Feature Interaction Patterns in Nokia Mobile Phones.Modelling Feature Interaction Patterns in Nokia Mobile Phones.
Modelling Feature Interaction Patterns in Nokia Mobile Phones.
 
Chapter five HCI
Chapter five HCIChapter five HCI
Chapter five HCI
 
Ux design-fundamentals
Ux design-fundamentalsUx design-fundamentals
Ux design-fundamentals
 
User interface model
User interface modelUser interface model
User interface model
 
Design Techniques
Design TechniquesDesign Techniques
Design Techniques
 
hema ppt (2).pptx
hema ppt (2).pptxhema ppt (2).pptx
hema ppt (2).pptx
 
User interface webpage
User interface webpageUser interface webpage
User interface webpage
 
CSE 5930 Assignment 2 Documentation
CSE 5930 Assignment 2 DocumentationCSE 5930 Assignment 2 Documentation
CSE 5930 Assignment 2 Documentation
 
User Interface Design_Csc2204_lecture 1_-_introduction
User Interface Design_Csc2204_lecture 1_-_introduction User Interface Design_Csc2204_lecture 1_-_introduction
User Interface Design_Csc2204_lecture 1_-_introduction
 
Task 2 - Educational Article – Model View Controller (MVC)
Task 2 - Educational Article – Model View Controller (MVC)Task 2 - Educational Article – Model View Controller (MVC)
Task 2 - Educational Article – Model View Controller (MVC)
 
Publication Non Visual Components
Publication Non Visual ComponentsPublication Non Visual Components
Publication Non Visual Components
 

More from Mohammed Fazuluddin

Rest API Security - A quick understanding of Rest API Security
Rest API Security - A quick understanding of Rest API SecurityRest API Security - A quick understanding of Rest API Security
Rest API Security - A quick understanding of Rest API SecurityMohammed Fazuluddin
 
Software architectural patterns - A Quick Understanding Guide
Software architectural patterns - A Quick Understanding GuideSoftware architectural patterns - A Quick Understanding Guide
Software architectural patterns - A Quick Understanding GuideMohammed Fazuluddin
 
Docker - A Quick Introduction Guide
Docker - A Quick Introduction GuideDocker - A Quick Introduction Guide
Docker - A Quick Introduction GuideMohammed Fazuluddin
 
Cassandra - A Basic Introduction Guide
Cassandra - A Basic Introduction GuideCassandra - A Basic Introduction Guide
Cassandra - A Basic Introduction GuideMohammed Fazuluddin
 
React JS - A quick introduction tutorial
React JS - A quick introduction tutorialReact JS - A quick introduction tutorial
React JS - A quick introduction tutorialMohammed Fazuluddin
 
Selecting the right cache framework
Selecting the right cache frameworkSelecting the right cache framework
Selecting the right cache frameworkMohammed Fazuluddin
 
Cloud computing and data security
Cloud computing and data securityCloud computing and data security
Cloud computing and data securityMohammed Fazuluddin
 

More from Mohammed Fazuluddin (20)

DOMAIN DRIVER DESIGN
DOMAIN DRIVER DESIGNDOMAIN DRIVER DESIGN
DOMAIN DRIVER DESIGN
 
New Relic Basics
New Relic BasicsNew Relic Basics
New Relic Basics
 
Terraform Basics
Terraform BasicsTerraform Basics
Terraform Basics
 
Rest API Security - A quick understanding of Rest API Security
Rest API Security - A quick understanding of Rest API SecurityRest API Security - A quick understanding of Rest API Security
Rest API Security - A quick understanding of Rest API Security
 
Software architectural patterns - A Quick Understanding Guide
Software architectural patterns - A Quick Understanding GuideSoftware architectural patterns - A Quick Understanding Guide
Software architectural patterns - A Quick Understanding Guide
 
Docker - A Quick Introduction Guide
Docker - A Quick Introduction GuideDocker - A Quick Introduction Guide
Docker - A Quick Introduction Guide
 
Cassandra - A Basic Introduction Guide
Cassandra - A Basic Introduction GuideCassandra - A Basic Introduction Guide
Cassandra - A Basic Introduction Guide
 
React JS - A quick introduction tutorial
React JS - A quick introduction tutorialReact JS - A quick introduction tutorial
React JS - A quick introduction tutorial
 
Rest API Design Rules
Rest API Design RulesRest API Design Rules
Rest API Design Rules
 
Scrum process framework
Scrum process frameworkScrum process framework
Scrum process framework
 
Data streaming fundamentals
Data streaming fundamentalsData streaming fundamentals
Data streaming fundamentals
 
Java performance tuning
Java performance tuningJava performance tuning
Java performance tuning
 
Java workflow engines
Java workflow enginesJava workflow engines
Java workflow engines
 
Selecting the right cache framework
Selecting the right cache frameworkSelecting the right cache framework
Selecting the right cache framework
 
Cloud computing and data security
Cloud computing and data securityCloud computing and data security
Cloud computing and data security
 
Java Security Framework's
Java Security Framework'sJava Security Framework's
Java Security Framework's
 
Security Design Concepts
Security Design ConceptsSecurity Design Concepts
Security Design Concepts
 
Software Design Concepts
Software Design ConceptsSoftware Design Concepts
Software Design Concepts
 
Choosing The Right ESB
Choosing The Right ESBChoosing The Right ESB
Choosing The Right ESB
 
Kafka presentation
Kafka presentationKafka presentation
Kafka presentation
 

Recently uploaded

SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsAndrey Dotsenko
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 

Recently uploaded (20)

SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 

UI architecture & designing

  • 2. UI Overview UI Architecture and Designing Concepts UI Design patterns
  • 3.  Before starting of the design lets understand the UI concepts as it is required to understand the designing concepts.  User Interface (UI) mainly performs two functions −  Accepting the user’s input.  Displaying the output.  Graphical user interface is also know as WIMP interface  Windows − A rectangular area on the screen where the commonly used applications run.  Icons − A picture or symbol which is used to represent a software application or hardware device.  Menus − A list of options from which the user can choose what they require.  Pointers − A symbol such as an arrow which moves around the screen as user moves the mouse. It helps user to select objects.
  • 4.  A good user interface must attract the user to use the software system without mistakes.  It should help the user to understand the software system easily without misleading information.  A bad UI may cause market failure against the competition of software system.  The syntax comprises component types such as textual, icon, button etc. and usability summarizes the semantics of UI.  The quality of UI is characterized by its look and feel (syntax) and its usability (semantics).  There are basically two major kinds of user interface…  Textual  Graphical.
  • 5.  Users will initially see the architecture of software system’s external user interface without considering its internal architecture.  The UI design works from the user’s capabilities and limitations.  While designing the UI, knowledge on the nature of user's work and environment is also critical.  Before starting of the UI design we need to do some analysis on the following elements…  Which type of users will interact with the system through the interface.  What kind of tasks that end users will perform to do their work.  What type of content will be presented as part of the interface.  The work environment in which these tasks will be conducted.
  • 6.
  • 7. Levels of UI Design: The design of a user interface is divided into four different levels…  The conceptual level − It describes the basic entities considering the user's view of the system and the actions possible upon them.  The semantic level − It describes the functions performed by the system i.e. description of the functional requirements of the system, but does not address how the user will invoke the functions.  The syntactic level − It describes the sequences of inputs and outputs required to invoke the functions described.  The lexical level − It determines how the inputs and outputs are actually formed from primitive hardware operations.
  • 8. Steps of UI Design: User interface design is an iterative process, where all the iteration explains and refines the information developed in the preceding steps. General steps for user interface design…  Defines user interface objects and actions (operations).  Defines events (user actions) that will cause the state of the user interface to change.  Indicates how the user interprets the state of the system from information provided through the interface.  Describe each interface state as it will actually look to the end user.
  • 9. User Interface designing models: There are four user interface designing models, find the details…  User profile model:  Created by a user or software engineer, which establishes the profile of the end- users of the system based on age, gender, physical abilities, education, goals, and personality.  Considers syntactic and semantic knowledge of the user and classifies users as novices, knowledgeable intermittent, and knowledgeable frequent users.
  • 10.  Design model:  Created by a software engineer which incorporates data, architectural, interface, and procedural representations of the software.  Implementation model:  Created by the software implementers who work on look and feel of the combined with all supporting information (books, videos, help files) that system syntax and semantics.  User's mental model:  Created by the user when interacting with the application. It contains the image the system that users carry in their heads.  Often called the user's system perception and correctness of the description depends upon the user’s profile and overall familiarity with the software in the application domain.
  • 11.
  • 12. User interface design concepts:  User centered:  A user interface must be a user-centered product which involves users a product’s development lifecycle.  The prototype of a user interface should be available to users and feedback from users, should be incorporated into the final product.  Simple and Intuitive:  UI provides simplicity and intuitiveness so that it can be used quickly and effectively without instructions.  GUI are better than textual UI, as GUI consists of menus, windows, and buttons and is operated by simply using mouse.
  • 13.  Place Users in Control:  Do not force users to complete predefined sequences. Give them options—to cancel or to save and return to where they left off.  Use terms throughout the interface that users can understand, rather than or developer terms.  Provide users with some indication that an action has been performed, either by showing them the results of the action, or acknowledging that the action has taken place successfully.  Transparency:  UI must be transparent that helps users to feel like they are reaching right computer and directly manipulating the objects they are working with. The interface can be made transparent by giving users work objects rather than objects.
  • 14.  Use progressive disclosure:  Always provide easy access to common features and frequently used actions. less common features and actions and allow users to navigate them.  Do not try to put every piece of information in one main window. Use secondary window for information that is not key information.  Consistency:  UI maintains the consistency within and across product, keep interaction results the same, UI commands and menus should have the same format, command punctuations should be similar and parameters should be passed to all in the same way.  UI should not have behavior’s that can surprise the users and should include the mechanisms that allows users to recover from their mistakes.
  • 15.  Integration:  The software system should integrate smoothly with other applications such as notepad and MS-Office.  It can use Clipboard commands directly to perform data interchange.  Component Oriented:  UI design must be modular and incorporate component oriented architecture so that the design of UI will have the same requirements as the design of the main body of the software system.  The modules can easily be modified and replaced without affecting of other of the system.
  • 16.  Customizable:  The architecture of whole software system incorporates plug-in modules, which allow many different people independently extend the software.  It allows individual users to select from various available forms in order to suit personal preferences and needs.  Reduce Users’ Memory Load:  Do not force users to have to remember and repeat what the computer should doing for them.  For example, when filling in online forms, customer names, addresses, and telephone numbers should be remembered by the system once a user has them, or once a customer record has been opened.  User interfaces support long-term memory retrieval by providing users with for them to recognize rather than having to recall information.
  • 17.  There are 3 main design patterns which we talk while designing the GUI.  MVC(Model view controller)  MVP(Model view presenter)  MVVM(Model view view model)  In traditional UI development - developer used to create a View using window or user control or page and then write all logical code (Event handling, initialization and data model, etc.) in code behind and hence they were basically making code as a part of view definition class itself.  This approach increased the size of my view class and created a very strong dependency between my UI and data binding logic and business operations.  In this situation, no two developers can work simultaneously on the same view and also one developer's changes might break the other code.
  • 19.  So everything is in one place is always a bad idea for maintainability, extendibility and testability prospective.  If you look at the big picture, you can feel that all these problems exist because there is a very tight coupling between the following items.  View (UI)  Model (Data displayed in UI)  Glue code (Event handling, binding, business logic).  In case of MVC it is controller. In case of MVP it is presenter. In case of MVVM it is view model.  MVC (model view controller), MVP (model view presenter) and MVVM (model view view model) patterns allow us to develop applications with loose coupling and separation of concern which in turn improve testability, maintainability and extendibility with minimum effort.
  • 20.  MVVM pattern is a one of the best solutions to handle such problems for WPF and Silverlight application.  MVP & MVC:  MVP (model view presenter) pattern is one of the very popular patterns among other design patterns available in the market.  MVP is a variation of MVC pattern which is being used for so many decades.  Simple definition of MVP is that it contains three components: Model, View and presenter.  So view is nothing but a UI which displays on the screen for user, the data it displays is the model, and the Presenter hooks the two together (View and model).
  • 21. MVC
  • 22.  MVP & MVC:  In the MVC, the Controller is responsible for determining which View is displayed in response to any action including when the application loads.  This differs from MVP where actions route through the View to the Presenter.  In MVC, every action in the View basically calls to a Controller along with an action.  In web application, each action is a call to a URL and for each such call there is a controller available in the application who respond to such call.  Once that Controller has completed its processing, it will return the correct View.  In case of MVP, view binds to the Model directly through data binding. In this case, it's the Presenter's job to pass off the Model to the View so that it can bind to it.
  • 24.  MVVM (Model View ViewModel):  The MVVM pattern includes three key parts:  Model (Business rule, data access, model classes)  View (User interface (XAML))  ViewModel (Agent or middle man between view and model).  In MVVM, ViewModel does not need a reference to a view.  The view binds its control value to properties on a ViewModel, which, in turn, exposes data contained in model objects.  In simple words, TextBox text property is bound with name property in ViewModel.  Model and View work just like MVC and “ViewModel” is the model of the View.
  • 26. If you feel it is helpful and worthy to share with other people, please share the same