For the last three and a half years, I've used a Windows-based PC for my work, but now that I'm starting a new gig, I'm switching to a brand spanking new MacBook Pro. The thing is that I haven't used OS X regularly since 2010 so I'm going to need some recommendations and help to get my new computer setup for web development.
I have a bit of an idea of some of the software I'll use, but I know that I'll be missing some cool and modern stuff and thought it would be a great idea to ask the Tuts+ audience for some help.
Specifically, I'll list out the stuff I'll be working on and what I will likely use for said task, and I'm hoping you guys can help me fill in the blanks.
What I'll Work On
Like many of you, I focus on building for the web. I live in my text editor and need to stay on top of the latest and greatest tools. My primary focus is client-side development, especially single-page app development using frameworks like Ember.js. But I've recently set a new goal to shift back to the server-side and will be taking a serious look at both Ruby on Rails and Node.js as my goto server technologies. I'll also be working on mobile web development as well as Cordova-based hybrid mobile apps.
I'll also be doing a lot of outbound communication in my role as a developer advocate. That means using social media, speaking at conferences, writing blog posts, and talking extensively with developers both online and offline. Twitter, IM, IRC and other communication mediums are a top priority on my list of tools.
And of course, I'll be here at Tuts+ writing tutorials, helping the community, working and communicating with authors, and trying to set the tone for the site. So tools that help my writing workflow and help make writing in Markdown easier are essential.
Note that I'm okay with spending money on software that will make things easier, and that will increase my productivity, so please feel free to recommend premium applications just as much as paid applications.
Tools I Know I'll Use
Thankfully, there are a lot of cross-platform tools out there and in chatting with some buddies, I've got a short list of things I know I'll be using from day one:
Editor: Sublime Text Editor
When I used to own a MacBook, TextMate ruled the roost but since then Sublime has taken the throne. It's been my goto editor on Windows so I'm pretty excited that I can carry that over to OS X.
HTTP Sniffer: Charles Debugging Proxy
This is a really tough one for me because I absolutely love Fiddler by Eric Lawrence. It's not a knock at Charles (which I think is a great app) but Fiddler just had more features to it. Unfortunately, Fiddler is Windows-only for the moment. Charles is an excellent alternative.
Virtualization: VMWare Fusion
I've advocated for cross-browser development so just because I'll be using a Mac doesn't mean I get to neglect Internet Explorer. I've previously used VMWare Fusion with success and, looking at the comparative reviews, it seems it's still the top dog on OS X. Let me know if I'm wrong.
Command-Line: iTerm 2
Since I'll be living on the command-line now, I figured I should get a feature-rich terminal client that I can tweak to my liking. iTerm 2 seems to be the best option for this.
Package Manager: Homebrew
I'm still floored that something like this doesn't come standard on Windows and OS X. Seriously, I used it for a little bit on a borrowed MacBook and it's great. I couldn't believe how easy it made installing and managing third-party packages.
Fournova Software was having a great sale on Tower recently and since I knew I was shifting to OS X, I picked up a license. It's supposed to be one of the best visual Git interfaces around. Yeah, I can do Git via the command-line, but old habits die hard.
I still use FTP and Transmit is still the best client I've found. Plus, Panic still have such a great eye for user interfaces, so the app is gorgeous to boot.
Web Server: MAMP Pro
I know OS X comes with Apache built-in but I really do love the isolated nature of MAMP and the pro version's ability to let me define virtual hosts. I won't be doing any PHP development but having a easily-accessible web server is incredibly useful.
Office Suite: Office for Mac 2011
Microsoft's Office suite is ubiquitous and the company I'm heading to uses it extensively so I'll definitely need this.
General Productivity: Alfred
Looks like when QuickSilver met its end, it left a pretty big hole which Alfred seems to fill nicely. Having seen it in action, I can see where it would be incredibly useful. We happen to have an extensive tutorial on how web developers can leverage it for their productivity.
Instant Messaging: Adium
I'm really glad to see that Adium is alive and well. I remember using it and it was a solid instant messaging app with support for a variety of chat protocols.
Again, an old favorite. I've looked at other IRC clients like LimeChat and can't seem to get into the flow of it. Colloquy just feels right and it's probably because the UI reminds me a tad of HexChat.
Video Chat: Skype
This is a must-have nowadays since everyone uses it for video chat.
I used TechSmith's Camtasia extensively on Windows but ScreenFlow offers equally great screencasting features at a lower price. Plus they've been focused on OS X forever.
Dropbox is an obvious choice. Everyone I know uses it because it works very well. I've also become a fan of Box and use it as much as Dropbox. Plus I got 50GB of storage available so it's great to have multiple options.
Video Playback: VLC
I really haven't found a better open-source media player than VLC. Cross-platform, easy to setup and supports a ton of codecs. It's near perfect in my opinion.
Password Management: LastPass
I've been pretty happy with LastPass but their recent 3.0 release has left me a little underwhelmed. I'll stick with them for now but will definitely check out 1Password now that I'm back on OS X. What is your experience with the former and the latter?
Window Management: Divvy
One thing I love about Windows is the ability to tile equally-sized open windows side-by-side by pressing Window key + left or right arrow. OS X doesn't offer that but Divvy does.
Tools Under Consideration
Now that you've seen some of the tools I'll be using, let me list some of the ones that I'm still considering:
Seems like it automates a lot of the tedious tasks of your development workflow and it gets mentioned a ton by developers.
I see the benefit of it but it seems that if I got CodeKit, I get the same functionality and then some.
When I had my previous MacBook, I remember that Finder sucked and I purchased Path Finder to replace it. TotalFinder also came up as a good alternative. Should I replace Finder or has Apple improved it enough to make it usable?
I read somewhere that removed Spaces from Mountain Lion and a lot of people felt it was a negative impact on their productivity. Seems like TotalSpaces2 aims to fill that void. Is it worth it?
Quick access to common code snippets seems like a good idea.
I may be off but I see overlap between CodeKit and Hammer.
Alright, I could scour the Internet for days but I'm hoping you guys will save me some time. Here are some of the things I need recommendations for:
- A good screen capture program
- A markdown editor
- Something with which to create mockups
- Some type of task management software (is Things still awesome?)
- Something for managing databases
- Apps that make using social media easier
Thanks in Advance!
As you can see, I'll be a bit of an OS X newbie for awhile so every bit of advice helps. What I plan on doing is using your feedback to get myself setup, and then follow this post up with a comprehensive roundup of the tools you've recommended and I've begun to use.
Hopefully, this will help make this type of transition easier for developers as they shift between platforms.