Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Design of Interfaces
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Christian Schlensker
March 20, 2013
Technology
1
110
Design of Interfaces
Christian Schlensker
March 20, 2013
Tweet
Share
More Decks by Christian Schlensker
See All by Christian Schlensker
React Native and VR
wordofchristian
0
170
Other Decks in Technology
See All in Technology
登壇駆動学習のすすめ — CfPのネタの見つけ方と書くときに意識していること
bicstone
3
120
仕様書駆動AI開発の実践: Issue→Skill→PRテンプレで 再現性を作る
knishioka
2
680
Bill One 開発エンジニア 紹介資料
sansan33
PRO
5
17k
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
13k
インフラエンジニア必見!Kubernetesを用いたクラウドネイティブ設計ポイント大全
daitak
1
380
今日から始めるAmazon Bedrock AgentCore
har1101
4
420
What happened to RubyGems and what can we learn?
mikemcquaid
0
310
プロダクト成長を支える開発基盤とスケールに伴う課題
yuu26
4
1.4k
~Everything as Codeを諦めない~ 後からCDK
mu7889yoon
3
460
Red Hat OpenStack Services on OpenShift
tamemiya
0
130
外部キー制約の知っておいて欲しいこと - RDBMSを正しく使うために必要なこと / FOREIGN KEY Night
soudai
PRO
12
5.6k
プロポーザルに込める段取り八分
shoheimitani
1
590
Featured
See All Featured
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
0
440
Typedesign – Prime Four
hannesfritz
42
2.9k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
7.9k
Fireside Chat
paigeccino
41
3.8k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.3k
The SEO identity crisis: Don't let AI make you average
varn
0
330
Google's AI Overviews - The New Search
badams
0
910
Context Engineering - Making Every Token Count
addyosmani
9
660
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
140
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
0
210
Optimising Largest Contentful Paint
csswizardry
37
3.6k
Transcript
Design of Interfaces
http://xkcd.com/1168/ TAR It seams there’s a XKCD any example you
need to make. > There’s a command line program that I use much more often than TAR and that’s GIT
Git
> git branch make_it_suck_less A lot of the appeal of
git, really it’s showcase feature was this concept of easy branching. It’s really easy to do.
> git branch make_it_suck_less > git branch make_it_suck_less --delete A
lot of the appeal of git, really it’s showcase feature was this concept of easy branching. It’s really easy to do.
> git push origin :make_it_suck_less What does this command do?
If you didn’t already know... could you tell just by looking at it?
When I first saw this command I had to squint
really hard to try and figure out why it worked this way.
> git push origin :make_it_suck_less What does this command do?
If you didn’t already know... could you tell just by looking at it?
WHAT ARE YOU PUSHING?
> git push origin :lemming
push
> git push origin :make_it_suck_less WHY THE COLON
Torvalds!!!! When I first saw this command I had to
squint really hard to try and figure out why it worked this way.
> git push origin local_branch:make_it_suck_less It makes more sense after
you’ve seen this. This is me pushing my local branch to update the remote branch.
> git push origin <null>:make_it_suck_less
> git push origin --delete make_it_suck_less Why is this better?
Mental Models vs Implementation Models
Mental Model Implementation Model Hide the implementation
Mental Model Implementation Model How we think something works Hide
the implementation
Mental Model Implementation Model How we think something works How
it actually works Hide the implementation
Mental Model Implementation Model How we think something works How
it actually works > git push origin --delete make_it_suck_less Hide the implementation
Mental Model Implementation Model > git push origin <null>:make_it_suck_less How
we think something works How it actually works > git push origin --delete make_it_suck_less Hide the implementation
None
Delete
OO Design and BDD
Information hiding is the principle that users of a software
component (such as a class) need to know only the essential details of how to initialize and access the component and do not need to know the know the details of the implementation. — Timothy Budd, 1991
NOT THE CODE YOU THINK YOU NEED WRITE THE CODE
YOU WISH YOU HAD
None
None
Closing Thoughts