introduction to ux for mesiniaga academy

67
Introduction to UX Zainul Zain Senior Software Developer, Custom Codes 1

Upload: zainul-zain

Post on 16-Apr-2017

222 views

Category:

Education


1 download

TRANSCRIPT

Page 1: Introduction to UX for Mesiniaga Academy

Introduction to UX

Zainul ZainSenior Software Developer, Custom Codes

1

Page 2: Introduction to UX for Mesiniaga Academy

Syllabus

1. UI vs UX

2. UX in detail

3. Design Process

4. Development Process

5. Sharing Session & Tutorial

2

Page 3: Introduction to UX for Mesiniaga Academy

<STATEMENT>

<STATEMENT>

UX is NOT (just) UI

3

Page 4: Introduction to UX for Mesiniaga Academy

UIUser Interface

What is?

“ Screen design for users to interface with a system or (web) application ”

- Specifically, we are purely talking about combinations of UI elements such menus, tables, forms, buttons, etc to make up an interface.

4

Page 5: Introduction to UX for Mesiniaga Academy

If we have concept of UI, why create UX?

5

Page 6: Introduction to UX for Mesiniaga Academy

Problems of UI Design● The created design is based on what you think they need.

○ even worst, based on your ego as an artist.

● The created process is based on your assumptions and cognitions, not

theirs.

● The biggest problem is when all your assumptions are wrong.

There is a gap between UI and UX6

Page 7: Introduction to UX for Mesiniaga Academy

<STATEMENT>

<STATEMENT>

UI is missing EXACT user inputs/requirements

7

Page 8: Introduction to UX for Mesiniaga Academy

UXUser

Experience

What is

“ Derived from a design philosophy where UI is developed based entirely on end-user’s needs, wants and limitations, applied throughout the design processes and development lifecycle. ”

- This design philosophy is called UCD or User-Centered Design.

8

Page 9: Introduction to UX for Mesiniaga Academy

UXUser

Experience

9

Page 10: Introduction to UX for Mesiniaga Academy

UXUser

Experience

Embodies:-

● User Research with Psychology

● Prototyping

● Design

● Development

10

Page 11: Introduction to UX for Mesiniaga Academy

<STATEMENT>

<STATEMENT>

UI makes applications usable, UX makes applications effective.

11

Page 12: Introduction to UX for Mesiniaga Academy

Ultimate Goals of UX is Intuitive DesignAn application made through UX Processes requires:

- A minimum cognitive abstractions (a.k.a thinking),- and, a minimum experimentation if necessary,- Resulting in an understanding which contains the

maximum correctness with maximum confidence- Applicable to the the maximum diversity of user.

12

Page 13: Introduction to UX for Mesiniaga Academy

What is most important to UX?

13

Page 14: Introduction to UX for Mesiniaga Academy

User ResearchGetting/Defining user requirements thoroughly

14

Page 15: Introduction to UX for Mesiniaga Academy

Why is it the utmost important in UX?● It is the first pillar of UX

○ Because if this is done INCORRECTLY:

■ Your design will just be UI Design.

■ It will resulted in scope creep.

○ Because if this is done CORRECTLY:

■ It will provide additional income.15

Page 16: Introduction to UX for Mesiniaga Academy

Project Scope “ A defined and documented list of specific

project goals, deliverables, tasks, costs and deadlines. It establish boundaries of the project and provide the base for verifying completed work. ”

16

Page 17: Introduction to UX for Mesiniaga Academy

Scope Creep

“ Uncontrollable changes, resulting in continuous growth in a project's scope. ”

17

Page 18: Introduction to UX for Mesiniaga Academy

Why scope creep is scary?1. Causes more work with no additional income.

2. Delays project completion.

3. Causes reputation loss and lower client satisfaction.

4. Causes less employee satisfaction due to overtime and (in

many companies), no compensation.

18

Page 19: Introduction to UX for Mesiniaga Academy

TechTarget:

“ It is natural for parts of a project to change along the way, so the better the project has been "scoped" at the beginning, the better the project team will be able to manage change. When documenting a project's scope, stakeholders should be as specific as possible in order to avoid scope creep, a situation in which one or more parts of a project ends up requiring more work, time or effort because of poor planning or miscommunication. ”

19

Page 20: Introduction to UX for Mesiniaga Academy

How does it provide additional income?● If everything is scoped properly, and, since there is always gonna be

changes in project scope, then all changes requested can be CR(change request)’ed

20

Page 21: Introduction to UX for Mesiniaga Academy

CR “ A formal proposal for an alteration to an aspect of the app. Because change requests are beyond the project scope (hopefully), generally the client will have to pay for the extra resources required to satisfy them. ”

Change Request

21

Page 22: Introduction to UX for Mesiniaga Academy

<STATEMENT>

<STATEMENT>

if you want your developer life to get easier, get/define user requirements thoroughly

22

Page 23: Introduction to UX for Mesiniaga Academy

23

Page 24: Introduction to UX for Mesiniaga Academy

CAUTION

Because of the time frame, the following lecture will

not cover all of the things that should be done by a UX

Developer. Do look back at the contents of this lecture

and google keywords that you want to study more.

24

Page 25: Introduction to UX for Mesiniaga Academy

25

Page 26: Introduction to UX for Mesiniaga Academy

Define Project ParametersThe first items to ask in any project:-

1. Minimum browser requirement.

2. Which devices end-users will use the web/app on.

3. Production environment scenario.

26

Page 27: Introduction to UX for Mesiniaga Academy

Minimum browser requirementExample: IE 10 and above (should be a standard requirement)

Why?

- Because this will determine front-end technologies used e.g. whether we can use Jquery 2.0 or not, whether can use CSS3 or not, etc., etc.

27

Page 28: Introduction to UX for Mesiniaga Academy

Which devices user will use the web/app onExample: Desktop only, or mobile, tab and desktop.

Why?

- This will determine front-end design approach, whether it will be responsive, mobile-first or "regular" desktop design.

28

Page 29: Introduction to UX for Mesiniaga Academy

Production environment scenarioExample: 3-tier Service-Oriented Architecture (SOA) so there must be a physical separation between presentation and business logic, with or without load balancing, etc., etc.

Why?

- This will determine front-end architecture design, whether it is going to be a Single Page Application approach (SPA), AJAX web application or the "regular" webforms application.

29

Page 30: Introduction to UX for Mesiniaga Academy

CAUTION

Although there are many other methods that should be

used for getting thorough and correct user requirements in

UX Design stage such as User Interviews, Prepare Mental

Model, Storyboarding, Card Sorting, etc. etc. but we are

going to focus only on one process, WIREFRAMING

30

Page 31: Introduction to UX for Mesiniaga Academy

“ In the nutshell, it is a skeleton of a page. It reflects designer's ideas on the placements of UI elements on the page and how users to interact with the site. It should ignore the visual style of page because its purpose is to show content placements and behaviour of the page. ”

Wireframe

31

Page 32: Introduction to UX for Mesiniaga Academy

Minimum prerequisite for Wireframe processThe following should have been done by Business Analyst / System Analyst:-

1. All workflow processes are captured in a form of flowchart / swim-

lane diagram.

2. Content Inventory and site-mapping process completed.

32

Page 33: Introduction to UX for Mesiniaga Academy

Checklist for Wireframe ProcessWhen doing wireframe, the following questions have to fulfilled:

1. What are the contents of this page.

2. How are these contents to be organized

3. Each content’s level of importance (content highlighting)

4. Where users can go from here

5. Where is this page on the whole frame of site.

6. Are there any specific behaviour to showcase e.g. dropdowns, popup, hover

events, etc.

33

Page 34: Introduction to UX for Mesiniaga Academy

Wireframe 1. Sketch on paper or drawing board and brainstorm.

2. Wireframe with software and mock interactions for each process and subprocess.

3. Add Visual Mockup on main items.

Process

34

Page 35: Introduction to UX for Mesiniaga Academy

Sketching

35

Page 36: Introduction to UX for Mesiniaga Academy

Wireframe Step 1: Sketching1. draw all elements needed for that interface, down to the last

detail, explore different ideas of layout, be open and creative

about it and decide on one.

2. Re-sketch as needed and repeat the process.

3. Document final decision of all processes brainstormed. The

easiest is to capture with phone camera and email to everyone.

36

Page 37: Introduction to UX for Mesiniaga Academy

Wireframe Step 2: Wireframe with software1. Use grid template.

2. Draw final sketch layout with respects to grids.

3. Define Information Hierarchy with typography.

4. Fine tune with grayscale.

5. Decide on what UI elements to use, simulate behaviour and

document the decisions.

37

Page 38: Introduction to UX for Mesiniaga Academy

Sample Wireframe With Grid38

Page 39: Introduction to UX for Mesiniaga Academy

Note: This is not really considered part of wireframing but because at this point we should have the page layout, content organization and UI elements in place, we might as well fine-tune and beautify.

1. Add in static contents such header design, footer design, logo

and other actual or sample images.

2. Add in Color Scheme to the wireframe.

3. Add in Typography.

4. Set actual borders, paddings and spacings for all elements.

Wireframe Step 3: Visual Mockup (High Fidelity)

39

Page 40: Introduction to UX for Mesiniaga Academy

Sample High Fidelity Wireframe40

Page 41: Introduction to UX for Mesiniaga Academy

41

Page 42: Introduction to UX for Mesiniaga Academy

Now that we know exactly what the client wants, LET’S CODE!!

42

Page 43: Introduction to UX for Mesiniaga Academy

NOT SO FAST my friend..

Let’s start with the basics

BEST PRACTICES

43

Page 44: Introduction to UX for Mesiniaga Academy

Why follow best practices?1. Foster code consistency across projects.

2. Facilitate ease of maintenance.

3. Ensure creation of professional quality (web)

applications.

44

Page 45: Introduction to UX for Mesiniaga Academy

Now chant after me!● Semantic HTML for structure

● CSS for presentation

● JavaScript for behavior and interaction

- By the way, these are the three pillars of front-end development.

- Always, always follow these rules.

45

Page 46: Introduction to UX for Mesiniaga Academy

HOMEWORKRead through the Isobar Front-end Code Standards at

http://isobar-idev.github.io/code-standards/

It is a work-in-progress but it has all the best practices

you will need to follow already.

46

Page 47: Introduction to UX for Mesiniaga Academy

Use Visual Studio Code

● It is built for front-end developers

● It can open (solutions) format from other

Visual Studio versions.

● It has a kick-ass HTML/CSS/JS Intellisense

engine.

● It’s Free! Download at https://code.

visualstudio.com/

Dev Tool

47

Page 48: Introduction to UX for Mesiniaga Academy

<STATEMENT>

<STATEMENT>There's a good and recommended way to

get started, but you must understand why they use what they use.

48

Page 49: Introduction to UX for Mesiniaga Academy

Get started quick and safeFor all projects:-

1. Use front-end template

2. Use front-end framework

49

Page 50: Introduction to UX for Mesiniaga Academy

Why front-end template?1. Because they have implemented almost all best practices

to start and complete any front-end development project.2. A correct setup will make your pages looks good even with

default setup. Provide a good baseline setup.3. Prevent your page to break horribly on certain (version) of

a browser.

50

Page 51: Introduction to UX for Mesiniaga Academy

Why front-end framework?1. Tested and deployed in millions of web application. Trusted.2. We will be adhering to best practices since coding using this tool require

specific code standards or it will not work.3. Because of the built-in UI elements that they provide, we do not need to

create them from scratch. One keyword Rapid Application Development (RAD)!

4. A correct setup will make your page even better even with default configuration.

5. Because it support responsive web design and mobile-first approach by default. Will not have to to create different viewport screen design for each viewport size manually.

51

Page 52: Introduction to UX for Mesiniaga Academy

Sample starting template. Download at https://drive.google.com/folderview?id=0B9ZMQ__JVBh6WDBhOFVXQU9XbnM&usp=sharing

52

Page 53: Introduction to UX for Mesiniaga Academy

HOMEWORKGo through these sites’ contents and documentation:-

https://html5boilerplate.com/ - Front-end Template

http://getbootstrap.com/ - Front-end Framework No 1

http://foundation.zurb.com/ - Front-end Framework No 2

53

Page 54: Introduction to UX for Mesiniaga Academy

1. You have to be good in HTML

2. You have to be good in CSS

3. You have to be good in Javascript, specifically JQuery.

Surprising, right?

- But those are already the standard requirements to be a good UX developer anyway, right?

Standard Requirements for using Front-end Tools

54

Page 55: Introduction to UX for Mesiniaga Academy

What are UI Elements?

55

Page 56: Introduction to UX for Mesiniaga Academy

UI

56

Elements

“ UI Elements are code combinations of HTML, CSS and JS that makes up a usable components of an web app. ”

Category of components are (not comprehensive):

1. Navigation

2. Form

3. Content View (Item)

4. Helper

Page 57: Introduction to UX for Mesiniaga Academy

UI ElementNavigation

57

MENU

Page 58: Introduction to UX for Mesiniaga Academy

UI ElementNavigation

58

TABS

Page 59: Introduction to UX for Mesiniaga Academy

UI ElementNavigation

59

BREADCRUMB

Page 60: Introduction to UX for Mesiniaga Academy

UI ElementForm

60

INPUT, SELECT, BUTTON, ETC.

Page 61: Introduction to UX for Mesiniaga Academy

UI ElementContent View

61

CARD

Page 62: Introduction to UX for Mesiniaga Academy

UI ElementContent View

62

TABLE

Page 63: Introduction to UX for Mesiniaga Academy

UI ElementHelper

63

MODAL (POPUP)

Page 64: Introduction to UX for Mesiniaga Academy

UI ElementHelper

64

TOOLTIP

Page 65: Introduction to UX for Mesiniaga Academy

Sharing session - My Personal Arsenal

65

● HTML - refer HTML cheat sheet (inside zipped file)

● CSS - refer CSS cheat sheet (inside zipped file)

● Javascript - refer basic javascript reference guide (inside zipped file)

● Online Jquery API Cheat Sheet - https://oscarotero.com/jquery/

● Online (Twitter) Bootstrap Documentation - already shared

- Find zipped file at https://drive.google.com/folderview?

id=0B9ZMQ__JVBh6WDBhOFVXQU9XbnM&usp=sharing

Page 66: Introduction to UX for Mesiniaga Academy

Tutorial Session - Wiring up HTML+CSS+Javascript

66

● Menu

● Site Container

● Grid

● Div

● Tables

● Form

Page 67: Introduction to UX for Mesiniaga Academy

67