My approach is to find ways to optimize my workspace, including tools, windows, and shortcuts to make the workflow smoother. My definition of "workflow" is the common and repetitive tasks of switching back and forth from one program to another, or to perform a certain set of steps. I really aim to reduce the windows switching, mouse movements, and maximize using shortcuts.
I have a dual screen setup with a Dell 24" connected to my 13.3" MacBook. I use the 24" as the main screen with TextMate and other windows opened, and the Mac to open the browser for quick Cmd R previews. Since TextMate does not support split-screen, I open up different files as new windows (see screenshot: http://alexle.net/screenshots/dw/nuia8w3eo0c8k.png) so that I can switch to them quickly. Usually I have the the main file opened in the TextMate main project, then frequently updated files in their own windows. (I tried Vi/MacVim with NerdTree but never quite get it to work smoothly so I still remain a TextMate user, and a VI-wannabe)
To manage the different windows, I use Divvy to help me quickly organize the opening windows, including TextMate files and Terminals. Here's the screenshot of TextMate and 3 different Terminals windows (organized with Divvy and shortcuts): http://alexle.net/screenshots/9o/g6ugj2fps8wks.png. With Divvy, I started to notice that I reduced my usage of Cmd ` quite a bit. I no longer have to switch between windows of the same application (e.g. Terminals), since I can quickly organize all of the views. Everything is just there. I don't even need to use Spaces or Exposé. In my opinion, Divvy with a large screen is a killer-combo for huge productivity boost.
Also, I increasingly find screenshot utilities indispensable. Literally these utilities change the way I communicate since I can quickly share a screenshot with friends and co-workers. I used TinyGrab, almost bought a license, but then found out Scrup (http://github.com/rsms/scrup). I already have a 1and1 $10/month hosting plan that hosts my personal blog with 100GB of storage. So now I have an ad-free, unlimited, and awesome screenshot-sharing tool. Cmd Shift 4 has never been so sweet!
I also use PTHPasteboard for clipboard management. It's not free, however I didn't have to pay for it. But I know there are free alternatives. The only downside is PTHPasteboard doesn't allow fuzzy search within the clipboards.
Shortcut-wise I remap a certain set of keys to make it more consistent between TextMate and Terminals (e.g. switching tabs), and turn on Full Keyboard Access: http://alexle.net/screenshots/cc/ttawsf788c8ww.png
Coming from 10+ years of using Windows, I have to use USB Overdrive to fix the mouse acceleration curve. I have a Logitech gaming mouse and it was almost unusable with the default settings on the Mac. With USB Overdrive, the curve is fixed and my mouse runs as smooth as babyskin. http://alexle.net/screenshots/9d/6grmom180scwg.png (I had to add a custom mapping to Button 4 to support "Back" button)
So how do you organize your workspace? What's your philosophy? What works for you so far? I'm really interested to hear from you guys.
This is the first time I post a question to HN, so bear with me :)
Cheers!
Alex
(I also have a similar workflow setup on my Windows laptop, but I don't have Divvy to nicely manage the windows layouts. However, the same principle applied: multiple split windows to present all the data and reduce windows switching with Alt Tab. I also use a bunch of other utilities like Launchy, x2 explorer for file management, Notepad++ for light-weight editing, E TextEditor for Rails -- e is the best editor on Windows, even better than TextMate since it supports split-screen beautifully!, Cygwin, BeyondCompare, Ditto for clipboard, etc.)