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
Christian Schlensker
March 20, 2013
Technology
1
100
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
ClaudeCode_vs_GeminiCLI_Terraformで比較してみた
tkikuchi
1
1k
ソフトウェアQAがハードウェアの人になったの
mineo_matsuya
3
200
毎晩の 負荷試験自動実行による効果
recruitengineers
PRO
5
180
ソフトウェアテストのAI活用_ver1.25
fumisuke
1
610
AIでテストプロセス自動化に挑戦する
sakatakazunori
1
530
Delegating the chores of authenticating users to Keycloak
ahus1
0
190
無理しない AI 活用サービス / #jazug
koudaiii
0
100
Data Engineering Study#30 LT資料
tetsuroito
1
180
CDK Toolkit Libraryにおけるテストの考え方
smt7174
1
550
クラウド開発の舞台裏とSRE文化の醸成 / SRE NEXT 2025 Lunch Session
kazeburo
1
580
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
3
18k
american aa airlines®️ USA Contact Numbers: Complete 2025 Support Guide
aaguide
0
500
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Visualization
eitanlees
146
16k
Java REST API Framework Comparison - PWX 2021
mraible
31
8.7k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
750
GraphQLとの向き合い方2022年版
quramy
49
14k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.8k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
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