Skip to content

Commit

Permalink
Added Week-3 L-1,2,3
Browse files Browse the repository at this point in the history
  • Loading branch information
Harsh-0986 authored Feb 15, 2024
1 parent a00b2c2 commit eeaf826
Show file tree
Hide file tree
Showing 2 changed files with 61 additions and 1 deletion.
60 changes: 59 additions & 1 deletion docs/12 MVC.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,63 @@
# MVC
# More about Views in MVC

> Read more about [MVC](05%20Architectures%20of%20Software.md/#mvc-paradigm)
## Views and User Interfaces

A **View** consists of two components:

- User Interfaces
- User Interaction

### User Interfaces

#### Overview

User Interfaces are the design for interactions with the users. The goals of a good **user interface** are:

- The interface should be simple, i.e., easy for user to handle and understand.
- The interface should be efficient.
- The interface should be accessible to most of the users, i.e., it has some features for users with visual impairments, hearing impairments and so on.
- (**Optional**) The interface should be **asthetically pleasing**. The interface should not be filles with many colours or fonts. It should be simple and elegant.

!!! tip Extra

A great article on guidelines for design: [Ten Usabilty Heuristics](https://nngroup.com/articles/ten-usability-heuristics/)

#### Creating a **good** UI

To create a good **user interface**, the following approach can be used:

- **Step 1**: Understand what are the needs for the potential client that will use the interface.
- **Step 2**: Create a **prototype** interface and present them to your clients.
- **Step 3**: After the approval of **prototype**, the interface should be given out to a small set of **potential users** for testing, that return feedback.

#### Examples

User Interfaces can be of many kinds. A few of them may be:

- Screen
- Audio
- Haptic feedback
- and so on....

### User Interactions

The devices through which a user can interact with the application are called user interaction devices.

They can be of many types. Some examples are:

- Keyboard/Mouse
- Audio Inputs
- Motor Inputs
- Custom Buttons

The user interactions are largely determined by **hardware constraints**. For e.g., you cannot access a desktop game that requires a mouse or keyboard on your mobile phone. To overcome this, **User-Agent** information can be used.

### Types of Views

There are many kinds of views:

- **Fully Static Web Pages**: These pages are completely static and do not require any computations on the client side. For example, the **about us** page on any website.
- **Partially Dynamic Web Pages**: These pages are partially dynamic and require some computations on the client side. For example, **a blog** which needs to fetch the posts but the headers and footers are static.
- **Mostly Dynamic Web Pages**: These pages are mostly dynamic and require a lot of computations on the client side. For example, **an ecommerce app**.
2 changes: 2 additions & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@ theme:
- navigation.footer
- navigation.path
markdown_extensions:
- attr_list
- md_in_html
- admonition
- pymdownx.details
- pymdownx.highlight:
Expand Down

0 comments on commit eeaf826

Please sign in to comment.