Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Design of Interfaces

Design of Interfaces

Christian Schlensker

March 20, 2013
Tweet

More Decks by Christian Schlensker

Other Decks in Technology

Transcript

  1. 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
  2. Git

  3. > 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.
  4. > 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.
  5. > 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?
  6. When I first saw this command I had to squint

    really hard to try and figure out why it worked this way.
  7. > 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?
  8. Torvalds!!!! When I first saw this command I had to

    squint really hard to try and figure out why it worked this way.
  9. > 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.
  10. Mental Model Implementation Model How we think something works How

    it actually works Hide the implementation
  11. Mental Model Implementation Model How we think something works How

    it actually works > git push origin --delete make_it_suck_less Hide the implementation
  12. 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
  13. 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