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
110
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Design of Interfaces
Christian Schlensker
March 20, 2013
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
ぼっちではじめた登壇が「51名」「241件」の発信に化けた
subroh0508
1
290
AIが自律的に回る開発ループを設計してチーム開発に組み込む
nekorush14
0
110
AI時代のコスト管理を考えよう〜明日から使える実践AWSノウハウ~
yoshimi0227
0
720
ACE-Step-1.5で見る 音楽生成AIのしくみと“破綻だけ直す”Retake機能の開発【zennfes spring 2026 登壇資料】
personabb
1
550
AIはどのように 組織のアジリティを変えるのか?
junki
4
1.1k
ロボティクスの技術 / Robotics Technology
ks91
PRO
0
120
Kiro Ambassador を目指す話
k_adachi_01
0
110
AIチャットの改善から見えた、良いAI体験とは / What Constitutes a Good AI Experience: Insights from Improving AI Chat
kubode
0
110
Flow 不死:AI 時代 DevOps 的不變本質
cheng_wei_chen
2
450
Bucharest Tech Week 2026 - Guardians of the Cloud-Native Galaxy
edeandrea
PRO
0
130
GitHub Copilot app最速の発信の裏側
tomokusaba
1
230
作る力から、見極める力へ — AI時代に広がるエンジニアの価値と役割
rince
0
260
Featured
See All Featured
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.5k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
540
Speed Design
sergeychernyshev
33
1.9k
Music & Morning Musume
bryan
47
7.2k
Odyssey Design
rkendrick25
PRO
2
700
The Pragmatic Product Professional
lauravandoore
37
7.3k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.8k
The Language of Interfaces
destraynor
162
27k
Optimizing for Happiness
mojombo
378
71k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.2k
sira's awesome portfolio website redesign presentation
elsirapls
0
280
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