Observation and User Accounts and Socket.IO No screens Say your - - PowerPoint PPT Presentation

observation and user accounts and socket io
SMART_READER_LITE
LIVE PREVIEW

Observation and User Accounts and Socket.IO No screens Say your - - PowerPoint PPT Presentation

Observation and User Accounts and Socket.IO No screens Say your name Prof. Lydia Chilton Adv Web Design Studio 4 October 2019 Primary Objective: Make software that impacts people Not a portfolio project an imp mpact project You cannot


slide-1
SLIDE 1
  • Prof. Lydia Chilton

Adv Web Design Studio 4 October 2019 No screens

Say your name

Observation and User Accounts and Socket.IO

slide-2
SLIDE 2

Make software that impacts people

Primary Objective:

slide-3
SLIDE 3

Not a portfolio project… an imp mpact project

slide-4
SLIDE 4

You cannot make impact with technology alone. You have to meet people, learn their needs, and help them ach chieve their goals.

slide-5
SLIDE 5

Example of an impact project from Adv Web Design Studio Fall 2018

slide-6
SLIDE 6
slide-7
SLIDE 7
slide-8
SLIDE 8

You just completed a full first iteration of an impact project

slide-9
SLIDE 9
slide-10
SLIDE 10

Full Iteration:

  • Brainstorming user groups on campus
  • Technical Prototype
  • Graphic Design
  • User testing
  • Implementation
  • Impact
  • Pitch

But that was just a warm-up

slide-11
SLIDE 11

Now, we’re going to find re

real user needs

through ob

  • bse

servati tion

  • n and in

inter ervie iews.

Rather than assuming we know what the problems are, We are going to look closer at situations before deciding what is needed.

slide-12
SLIDE 12

Find a group on campus to observe

  • You already brainstormed 10 groups.
  • Pick one that might have interesting technology needs.
  • Hopefully, you already have insight into this group.
  • Observe them (two sessions) doing their work.
  • And be able to list 5 examples of:
  • activities—goal-directed actions, activities, and processes
  • environments—personal or shared workspaces or common areas
  • interactions—between people and objects
  • objects—things people have in their environment and use in their activities
  • users—the people you’re observing
slide-13
SLIDE 13

Let’s do it now for this class. For each category, what are 5 things we do that involve technology:

  • activities—goal-directed actions, activities, and processes
  • environments—personal or shared workspaces or common areas
  • interactions—between people and objects
  • objects—things people have in their environment and use in their activities
  • users—the people you’re observing

Does anything stick out as a critical incident?

slide-14
SLIDE 14

4 Typical problem technology solves

  • Marketplaces
  • OkCupid
  • ?
  • Communication
  • Slack
  • ?
  • Databases
  • IMDB
  • ?
  • Workflows
  • Turbo Tax
  • ?
slide-15
SLIDE 15

What might be some of the technology needs for Advanced Web Design Studio?

slide-16
SLIDE 16

Assignment Part 1: Do Observation in Pairs

  • Read article about observation
  • Find a partner.
  • You will both identify a group to observe
  • And both go observer the group and write up your observations
  • Read the article on Observation
  • Do this process for both observations
  • Work as a team, write it up separately.
  • Take pictures
  • Be prepared to present interesting findings (in PPT) in small groups.
slide-17
SLIDE 17

Assignment Part 2: A Chat App

  • Technical Prototype of a chat application
  • Must have user login with WTForms and Flask_login
  • Must have real time message broadcasting with Socket.IO
  • There is example code.
  • Get the code to run locally
  • You have to make up some random use case for it.
  • Add ONE feature for this use case.
  • Put a tiny bit of UI work into it.
  • Submit a video of you using it in two browsers side-by-side
slide-18
SLIDE 18

User Accounts

slide-19
SLIDE 19
slide-20
SLIDE 20

Basic elements of Login

Register New Users Login Logout Database of users Password hashing Correct Incorrect Where to send the user next Front end: User actions needed Back end: Stuff needed to support user actions Bad: User already exists Good: created. Now what? Using app Know they are signed in

slide-21
SLIDE 21

What to implement:

Register New Users Login Logout A form Validation feedback A form feedback Validation A button nothing Using app Front end: User interface Back end: Database interaction Reminder you are logged in nothing

slide-22
SLIDE 22

What to implement:

Register New Users Login Logout A form Validation feedback A form feedback Validation A button nothing Using app Front end: User interface Back end: Database interaction Reminder you are logged in nothing

Flask_login WTForms

slide-23
SLIDE 23

Flask_login:

log users in, log users out, know who they are Add flask_login: Use flask_login:

slide-24
SLIDE 24

WTForms

Define forms and their validation

Back-end: Define Form class Front end: render form

slide-25
SLIDE 25

Socket.IO

slide-26
SLIDE 26

Getting new data: Pu Pull model vs. Pu Push model

Pull model – Driven by a timer on the client side Push model – Driven by updates on the server Pull model – driven by user clicks How do users get new data from the IMDB server? How do users get new data from the GMail server? How do users get new data from the Twitter server? For the server to push data, we need more than HTTP. We need WebSockets. SocketIO implements WebSockets

slide-27
SLIDE 27

Client Pu Pull Info from the server (by asking)

Clients Server Post this T-shirt I want to sell Post this T-shirt I want to sell Serina Priya ?????? NOTHING.

slide-28
SLIDE 28

Client Pu Pull Info from the server (by asking)

Clients Server Post this T-shirt I want to sell Post this T-shirt I want to sell Serina: Grant: Any new t-shirts? (refresh the page) “BUY IT!!!”

slide-29
SLIDE 29

Can we simplify this?

Clients Server Post this T-shirt I want to sell Post this T-shirt I want to sell Serina: Grant: Any new t-shirts? (refresh the page) “BUY IT!!!”

slide-30
SLIDE 30

Can we simplify this?

Clients Server Post this T-shirt I want to sell Post this T-shirt I want to sell Serina: Grant: “BUY IT!!!” Chris: “BUY IT!!!” Julia: “BUY IT!!!”

slide-31
SLIDE 31

Socket.IO uses pus ushes hes new info to users

Clients Server Post this T-shirt I want to sell Post this T-shirt I want to sell Serina: Grant: “BUY IT!!!” Chris: “BUY IT!!!” Julia: “BUY IT!!!”

slide-32
SLIDE 32

SocketIO is a framework to send and receive messages

Clients Server Serina Grant Chris: Serina: Grant: Chris: Serina:

slide-33
SLIDE 33

Step 0.

  • Download the example code with User Accounts and Socket.IO
  • Get it to run on your machine ASAP.
  • You will have to pip install libraries, and do some config stuff.
  • No Digital Ocean (yet!)
slide-34
SLIDE 34

If you feel like your brain is split in half…

That’s okay!

Engineering! Yay! Humanity! Double yay!

slide-35
SLIDE 35

RIGHT NOW

  • Identify you teammate, and talk about what groups you each want to
  • bserve
  • Reply to the piazza post called “My Observation group is”
  • Your names
  • What group each of you would like to observe this week.
  • Only one of you needs to reply to the post. (this is how we record

participation for today)