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

Developer Workflow Efficiency

Developer Workflow Efficiency

How to get the most out of your computer.

chendo

May 30, 2012
Tweet

More Decks by chendo

Other Decks in Programming

Transcript

  1. Developer Workflow Efficiency How to get the most of your

    computer. @chendo http://github.com/chendo
  2. Command/Alt-Tab • Works okay when you only deal with two

    apps. • Cognitive effort: • Need to figure out how many tabs to get to the app you want.
  3. Solution • Global keyboard shortcuts for each app you frequently

    use. • Text editor/IDE, browser, terminal, Skype, Twitter, iTunes, Messages/iChat, Adium, Sparrow/Mail, etc. • Ideally accessible with left hand so right hand can mouse if needed. • Pick a prefix: Cmd+Shift, Cmd+Ctrl (via Caps Lock), etc. • Apps that do it: Alfred, Quicksilver. • Bonus: Launch apps with keyboard shortcuts.
  4. Arrow Keys • Long way from home row • Commonly

    used • Except maybe for vim users • Can’t avoid it in the OS... or so you may think.
  5. Solution • Rebind them everywhere! • People bind Caps Lock

    to be Control already. • Two options: • KeyBindingsEditor • KeyRemap4Macbook
  6. Keyremap4Macbook • http://pqrs.org/macosx/ keyremap4macbook/ • Apps still sees arrow keys

    when you rebind (most of the time) • Installs its own keyboard driver (potentially risky).
  7. Backtraces in Terminal • Usual workflow: • Get a backtrace

    either from spec or whatever • Either copy the path or manually type into editor. • Pain in the ass.
  8. Solution • iTerm2’s Semantic History • Cmd+Click on backtrace to

    open it in editor. • Bonus: Cmd+Drag to get a file handle • Video: http://vimeo.com/21872771
  9. Get a file path into the terminal • e.g., get

    current open file in editor into terminal to run a test/commit/whatever. • Most people type path in with lots of <Tab> mashing • Some people drag file handle from titlebar.
  10. Solution • filepath • small CLI utility that simply prints

    the path of the most recently active document (title bar icon thing). • http://github.com/chendo/filepath • Alias to ‘fp’ for bonus points. • Example usage: rspec `fp`
  11. Solution • BetterTouchTool • http://blog.boastr.net/?page_id=1722 • Bind gestures to keyboard

    shortcuts, window actions, system actions. • Adds a shitload more gestures to use.
  12. Key repeat speed • Mostly used for arrow keys and

    backspace. • Or in anger. • Should be at max.
  13. The problem with shortcuts • Remembering them is hard •

    Many things don’t have shortcuts • Much easier to use the mouse, even though it means taking hands off the keyboard
  14. Idea • What if you could use the keyboard for

    where you would normally mouse? • Minimise the time between deciding an action and performing the action • Quicksilver/Alfred/LaunchBar for UI elements • Completely keyboard-driven
  15. Shortcat • Quicksilver/Alfred/Launchbar/Spotlight for UI elements • Works everywhere that

    exposes Accessibility API. Including Safari! • The aim is to kill mousing.
  16. Useful for • Keyboard warriors • People unable to/find it

    difficult to use a mouse • Vision-impaired • Mountain Lion Dictation AKA lazy
  17. Halp • Very new to Cocoa • Not sure how

    to test • CoreAnimation • Global keyboard event tapping
  18. Hope it helps! • Let me know how this works

    for you. • @chendo, @shortcatapp • Questions?