CS257 Software Design Wednesday, 28 May 2025 + Coming up - May 30: user testing - How it will be structured - How it feels - How to be helpful, not harmful - How best to receive feedback - June 2: code reviews - How it will be structured - How it feels - How to be helpful, not harmful - How best to receive feedback - June 4: wrap-up thoughts + AMA - June 9, 5:00PM: final project due + Grading - Apology - API design, DB design - End-to-end assignment, specifications, etc. - why specs? - responsibility distribution - in a homework assignment...is exact adherence relevant? - bad specs as a people problem + Questions + Interactions between API design, database design, and UI - What API questions do your mockups imply? - "give me a list of all the continents" - "give me all the countries where + git stuff - check out a different commit (not just the most recent) git checkout COMMIT_ID (like 4003bbd96867d0e4d56b3c9079fd9778b42f310e) go back to the most recent git checkout main - create a tag git tag firstdraft - move a tag google it! + Readings - User goals? - sure, stuff to do with your app (find info about animals) - more: don't look stupid don't get annoyed or enraged impress your boss get home early ... - Excise? - steps that are required to complete a task but aren't really advancing you towards the goal (opening the garage door vs. driving down the road in the direction of the store) - unnecessary excise? - click submit, then a popup says "you submitted" and you have to click OK to make it go away - during 2-factor authentication bunch of steps and places to go - hub took you to a page asking if you're a student, parent, alum,... (single option to move forward) - ... - Courteous applications? - UX developer goal - aim for intermediate users (most of the time) ---- + Accessibility + Time? Some games with git === From Krug's Ch 11 === Things that diminish goodwill - Hiding information that I want. - Punishing me for not doing things your way. - Asking me for information you don’t really need. - Shucking and jiving me. - Putting sizzle in my way. - Your site looks amateurish. Things that increase goodwill - Know the main things that people want to do on your site and make them obvious and easy. - Tell me what I want to know. - Save me steps wherever you can. - Put effort into it. - Know what questions I’m likely to have, and answer them. - Provide me with creature comforts like printer-friendly pages. - Make it easy to recover from errors. - When in doubt, apologize.