People know me as a bit of a mac freak. Specifically I am addicted to apps that make my life easier and more efficient. I am especially drawn to good-looking apps that are powerful and fast. I am always amazed when I talk to my friends and family that they don't know about a certain application that would make their life easier, so I have put together a list of the 61 apps that I am currently running and little summary of what they do and why they are so great.
If you know of any great mac apps that are not on my list, please leave a comment below and i'll check them out!
The first application I install on any mac is Alfred. Alfred is simply the best launcher application for the Mac. In the days of yore, we all installed QuickSilver, but that app slowly died off, and Alfred has stepped into it's shoes to be the fastest and most powerful way to launch applications and also do a multitude of other tasks with a minimum of key strokes. Alfred itself is free, but the optional PowerPack adds some great features like a powerful clipboard manager and iTunes control. Just get it! NOTE: Due to Apps Store rules, the App Store version will not support the PowerPack, so just install it direct from AlfredApp.com if you wish to upgrade to the PowerPack.
In this modern world of online services and internet-enabled accounts, managing your username and passwords is a must. 1Password is a great application that integrates with Firefox, Chrome, and Safari to ease the pain. Also, it makes a great secure place to store your application serial numbers and credit card information. 1Password also supports DropBox which means that you can easily sync your data between multiple computers and even your mobile devices. There's also great new companion iOS app that means you can take your passwords and accounts with you when your on the move.
Extracting a ZIP file is a built-in feature on the Mac, but sometimes you want to quickly create, modify, or view a ZIP file. The easiest way to do this is with BetterZip, which functions similar to WinZip on the PC. You may not need it every day, but when you do have a need, it is a no-brainer to have in your toolbox.
Ever wondered where your drive space went? An easy way to visualize and identify how your data is being stored is to use DaisyDisk. I love this utility, it's so simple to use, it's wicked fast, and it looks gorgeous!
It's really handy to be able to create text notes, web-clips, and other sorts of data, and then just file that away for later reference. Also the ability to share these documents to multiple devices, all wrapped up in a pretty UI would be great right? That's where Evernote comes in. At it's heart it's a note storing app, but it can basically store, organize, and share about any kind of data on your mac. The application itself is free, and they offer a free account that will satisfy most people, but to enable larger uploads, offline support, not history and other features, you will need to sign up for a professional account. Evernote is a central part of my workflow, and the $45/year subscription is definitely worth it for me.
One thing that drives me a little crazy in OS X is the lack of window management. If your a person who prefers to work full-screen this may not be an issue, but I have multiple displays and like lots of smaller windows open. To ease the burden of resizing and dragging windows constantly a multitude of window management apps exist for the Mac. My personal favorite is called Divvy, and it lets you quickly and easily align any window to a customizable grid. Divvy focuses on making this process as simple as possible with a simple and clean UI.
Another weak point in OS X is the Finder. The Finder is used for managing your files and is something you will use intimately on a daily basis. Unfortunately this application gets only minor improvements with each release of OS X so third party developers have stepped in to fill the void. There are some major applications that replace Finder such as Path Finder, ForkLift, and Raskin, however there are also apps that modify the existing finder adding key functionality such as Tabs, dual panes, global hotkeys, and extra contextual functionality. TotalFinder is a well sorted application, but I found the free XtraFinder to be faster and more stable. XtraFinder is a must install, and after using it a while you'll wonder how you ever used Finder without it.
Skitch has long been an essential part of any developer's kit since it's years in perpetual free beta status. In August 2011, Evernote purchased Skitch and began working on a major rewrite to transform the once universally useful application in to an Evernote companion product. Unfortunately the release of Skitch 2.0 was a disaster and basically ruined this once proud product. In the backlash that ensued Evernote made the last stable 1.0 version available for free download. There is simply nothing on the market that can replace Skitch at this time, so Skitch 1.0.12 is the best version to get.
With the introduction of Notification Center in OS X 10.8, Growl's role has diminished a little. Growl has long provided a consistent API for Mac applications to display notifications and notices in a customizable manner. In the new Growl 2.0 release, they even created a new "roll up" view for seeing the history of notifications for each application. Many apps still only support Growl, so installing it still essential, and Growl 2.0 also supports forwarding notifications to Notification Center. However, Growl's implementation is a bit buggy and often uses a default icon rather than the application's proper icon, so I recommend installing Bark for Growl to provide better Notification Support.
Many apps for the Mac use the Menu Bar for status or easy access to functionality. Unfortunately this can mean that this space fills up quickly and starts getting cluttered. This is not a huge issue on a 27" or 30" display, but on a smaller 13" MacBook, this is something to consider. Bartender is a useful app that lets you control which menu bar items you wish to display in the menu bar, and which you would rather have in the fully functional secondary menu bar that bar tender provides. This is a "must have" for laptop users.
While the built-in iCal app handles calenders pretty well (albeit with an ugly faux-leather look), Fantastical provides a much nicer and more concise view that sits directly in your Menu Bar. Another great feature is that it accepts real-language when creating an appointment. For example just type "Lunch with John at 123 Main Street on Thursday" and the event is created correctly with location and date set correctly.
If you have lots of headphones and other audio devices then managing their relative volumes is a chore with the built-in audio functionality in OS X. AudioSwitcher is a relatively simple Menu Bar application that simply lets you control the volumes of each input and output device from one simple panel. Very handy!
Do you work with servers and sometimes need to access them directly without having DNS information? Usually you would manipulate your /etc/hosts file to make this happen. GasMask makes this process a doddle by providing a nice UI to create custom host files and easily switch between them as needed. It's another one of those apps that you might not need every day, but when you have a need for it, it's a life saver.
The Terminal app in OS X is pretty good, but there's a faster, more powerful alternative called iTerm2. As it's free and has a vast array of added functionality, it's really a worthwhile install and you'll be happier for it.
This app performs a very simple but essential task: it automatically ejects external disks when your computer sleeps, and remounts them on waking. Without Jettison, your make would not sleep properly if you have an external drive attached. This is going to be essential for people who have pre-ordered the Nifty MiniDrive that fits seamlessly in your MacBook's SDXC slot.
WiFi Explorer is a useful application that lets you scan for wireless networks in your vicinity and show their details as well as being able to track their relative signal strengths. I have found this very useful in configuring my own WiFi networks to ensure that channels are not overlapping and signal strength is maximized.
There are times when you are reading a site, or an RSS reader and want to quickly save the information for later reading. There are many products and services that fulfill this need, but ReadItLater was my go-to solution for quite a while. This past year, they had a major re-brand and rebirth with the new name "Pocket". Along with the new re-branding effort, they released a set of very attractive applications for the Mac, and mobile devices. I find Pocket to be an essential part of my work-flow and it allows me to digest information on my mobile devices and easily save important information for later without having to resort to email or text messaging myself the details.
Removing apps from a mac is usually a very simple affair, just drag the offending app from your Applications folder into the trash. Well not so fast, often a mac application creates multiple files in a variety of locations throughout your file system. AppCleaner is a handy application that locates all these files and let's you safely delete them all in one shot. Oh it's free too!
Yoink is another one of those apps that is very useful when dealing with smaller screens. One of the benefits of larger displays is that you can arrange your windows (easily via Divvy) and then drag and drop between applications as needed. However on smaller laptop screens, this is not possible and you often times find yourself having trouble dragging between applications. This is compounded if you use multiple 'spaces' for your desktop. Yoink is a useful little panel that automatically shows up when you start dragging something. You simply drop your item onto the Yoink panel, and then when you want to drag it off again, it's there for you to easily find.
If your the kind of person who likes to know what's going on with your computer at all times, then iStatMenu is the app for you. In a nutshell this is the most comprehensive and configurable monitoring system you can get. There is a small caveat with apps that monitor your performance, they basically have to impact your performance slightly in order to determine what's going on. For that reason I don't run this on my laptops where I cherish every minute of battery life, but it's a standard install on my desktops. iStatMenu runs in the menu bar (another reason for not running on a laptop) and you can get a little visual graph displaying the pertinent information with full details in a drop-down display when you click the graph.
There are really two options when it comes to backing up your mac. The first is the built-in Time Machine functionality that transparently backs up your mac and then keeps backing up changes so you can recover any file back in time for as long as Time Machine has been running. After some initial hiccups in early versions, Time Machine is pretty well sorted, and works as advertised. The other approach, is to use a 3rd-party product that backs up your entire drive on a scheduled basis. I personally prefer this approach as it means at any given time I have a fully bootable backup of my drive. In an emergency I could grab that drive and be confident that I could boot the drive on another mac and basically have a copy of my main desktop computer. The best tool for this has long been SuperDuper. It's simple to use, and is smart enough only to copy files that have changed, so it's fast too.
Have you ever been sharing your desktop with Skype or GotoMeeting and wanted to outline or show something to the other attendees? This is not an option with the current generation of these apps for the Mac, so I have always kept my eye out for a standalone product that performs this task. Recently I discovered ScreenInk which performs this exact duty. It provides a very 'Photoshop-like' panel that gives you access to draw and also capture annotations right on your display. Another handy one to have in your toolbox.
Organizing your thoughts is an important part of any development process, and a common way to achieve this is to use what is known as a mind map. A mind map diagram is really a visual representation of an idea or concept that uses nodes and branches. MindNode Pro is a very simple but effective application built expressly to easily create these kinds of mind map diagrams. There are a lot of apps available that perform this task, but I have found that the simplicity and ease of use of MindNode Pro, makes it the best choice for my purposes.
This technically is not an application. Delivery Status by JuneCloud is a Dashboard Widget that tracks anything with a tracking number. The great thing about this widget is that there is a companion iOS application for your iPhone or iPad and the widget has a syncing capability. You can Sync multiple macs running this widget with your mobile devices to manage and read the latest delivery statuses of all your packages. If your addicted to Amazon Prime like I am, this is a must have.
When it comes to sharing files among team members, there are lots of options. DropBox was one of the first but now there's alternative solutions including Google Drive, Cubby, Box, and many others. I personally still prefer DropBox as it has support in many mac and iOS apps, has easy public and private sharing, and is just so popular in the web development community. The free version comes with 2GB of storage, and 100GB of online storage costs $99/year. You can also earn more storage by getting your friends and coworkers to join DropBox.
Servus is a great companion for DropBox. Basically it is an app that sits in your menu bar, and when you drop a file onto the icon it automatically uploads the file plus a nice landing page into a new DropBox folder and copies the resulting public URL onto your clipboard. Then you can easily paste this URL via email/chat and make that file available. As you can imagine this is makes sharing files dead simple. You can even create your own custom landing page if you want to brand it for your company or business. Currently there is a free trial available on their website. There will be a 'full' version available on the App Store soon but pricing is currently unknown.
As mentioned above, Google Drive is an alternative to DropBox and I do use it occasionally as we use Google Apps for Business for our email and business documents. Google Drive enables accessing those documents directly from your Finder. You can also store other files and documents in your Google Drive in a similar way to DropBox.
With the demise of iDisk which has long been the cloud drive solution that Apple provided, we were left with a bit of a hole that was only partially filled with iCloud. iCloud allows you to save documents to the cloud that are created in iCloud compatible applications such as Pages, Numbers, etc, but there is no ability to access those files directly. iClouDrive is a simple application that creates a link to your iCloud folder from Finder.
In the distant past we here at RocketTheme used a combination of IRC and Skype for our intra-team communication needs. IRC for large team chatting, and Skype for smaller project or one-on-one chats. Unfortunately neither really fit our needs perfectly and having 2 platforms was a pain. Enter HipChat, a chat service built specifically for teams with the ability to have public chats, invite-only chats, and one-on-one chats. Also it keeps history of all chats as well as supporting uploading of files and links that are available via the many client options. As our team is so geographically dispersed, we rely on HipChat to bring us all together and communicate effectively. Since we started using HipChat in 2010 we've sent nearly 1 million messages via the service! Other solutions come close, but none provide the raft of features of HipChat for the price, I can't recommend it enough!
To be honest Twitter has gone down hill lately. The restrictions on the API have caused most of the best clients to fall by the wayside and only a few viable options remain. The free Twitter client from Twitter themselves is even rumored to be not long for this world. Tweetbot for Mac is a great port of the iOS app but there is a price to pay, literally. To cover the costs and restrict the usage to new Twitter API requirements, they charge $19.99 for the client. If you use Twitter, then Tweetbot is your best client option for the Mac.
My preferred way to ingest news to to subscribe to RSS feeds from a multitude of sites and read them in an RSS client. The easiest way to do this is to use a Google Reader powered client that basically relies on Google Reader for the management and syncing of feed data. There are many great clients available fro the Mac but my personal favorite is Caffeinated because it's fast and reliable and quite pretty too!
This is another one of those services that happens to have a Mac app. We rely on GotoMeeting to do audio conferencing and desktop sharing within our team. The great thing about GotoMeeting is that there is one fixed monthly fee of $49 and that let's you do unlimited conferencing. We often just leave a 'Goto' running and our team connects or just mutes themselves when they are not about. Being able to communicate via VOIP clearly and reliably is a huge advantage for a team that is distributed over multiple timezones. Another great feature is the ability to share a desktop so that we can review code, designs, and in general troubleshoot issues. The mac client is pretty solid and makes GotoMeeting the most mac-friendly online meeting product on the market.
We often have the need to quickly create a short video to show something to other team members. QuickTime for mac now has this functionality built-in but I still prefer this handy tool to streamline the video creating process a little. It has very simple an easy to understand controls and also tracks mouse clicks as an added bonus.
When you need to create screencasts or more involved videos, ScreenFlow is the tool you want to use. This is a fantastic product that really filled a much needed gap in the market for screencast creation. It works similar to iMovie or Final Cut Pro, but specifically for screen captures. It has a full time-line functionality that lets you slice and dice your video, add effects and transitions as well as audio tracks. This is an essential product if you have any plans to create videos or demos.
When creating video, especially for web consumption, you often need to convert it into a variety of formats so that it can display properly on a variety of browsers and devices. The Free Miro Video Converter has limited options, but it just does what it says with a minimum amount of fuss. Simple drag a video file onto the window, pick the platform or output format, and hit the convert button, simple and effective.
Stomp is another video converter but it is much more powerful than Miro. The plus side is that you can control a lot more of the conversion process such as the output size, bit-rate, etc. The downside is that it's more complex to set up and sometimes it takes more fiddling and messing with settings to get good results. That said, Stomp is still a useful tool to have around.
As music is an essential part of any web developers day, no app list would be complete without some essential music apps. Pandora has long been a favorite for its simplicity in finding and playing music that you like in a radio style format. You can skip a song you don't like or just leave it to play similar music to the song, artist, or genre that you originally selected. In this way you create virtual radio stations that you can reference later. Pandora One is a $36/year subscription that basically removes the ads, lets you stream in higher quality and lets you use a desktop application rather than the web interface.
A great companion for Pandora is PandaBar that as you probably guessed runs Pandora in the Menu Bar. It has a nice clean and concise URL that is far superior to the default Pandora One that is powered by Adobe Air.
One of those great online music services that was available in Europe for a while made its move to the US this year. Spotify is a service that for a monthly fee lets you basically play any music you like. It has nice sharing features that lets you create and share playlists with friends via Facebook. It also has the ability to play similar music in a radio style format. With its great web UI, large music repertoire, and also great clients for both mobile and desktop, it's a great solution for people who love music.
Before the advent of these audio streaming services, there was Internet radio. These are independently run online radio stations that stream out music. iTunes has long has support for these streams but it's a clunky process and it doesn't even have a search capability. Radium is a nice simplistic app that provides a clean search and play interface for Internet radio.
When it comes to development, your most useful weapon in your arsenal is a solid text editor. For years the 'de facto' editor on the mac was TextMate. This was a solid solution and spawned a tonne of 3rd party extensions to increase the functionality of this powerful editor. Unfortunately development of the vapor-ware 2.0 stalled and became a running joke in the mac community. During the years of waiting, many mac users found alternatives in Espresso, Coda, and Sublime Text 2. I personally liked Espresso, but after discovering Sublime Text 2, my search was over. Sublime Text 2 is everything you could want in an editor: it's cross platform, it's fast, it's configurable, it has tonnes of great built in features, and most importantly its fully extensible and already has a huge collection of 3rd party plugins to fill the need of any developer. Check out my in depth article about Using Sublime Text 2 for Development for more details.
Sometimes a solid text editor is not enough, and you need to really debug a web application and step through your PHP code to see what's going on. Traditionally you would use an IDE at this point with built in debugging. While often that is the best choice, there is another alternative. Codebug is a standalone application that works as an Xdebug client and front end. It provides a debugging interface and even sports a nice color-coded editor so you can see the code clearly as you step through and debug it. It sports the usual debugger capabilities like code stacks and variable inspector. It's a good option for those that need to debug only occasionally.
If you spend a lot of time coding and debugging PHP the best way to develop is with an IDE. The best PHP IDE on the market today is PhpStorm which was developed by the same guys behind the best Java IDE, IntelliJ. As IDEs go, PhpStorm is pretty lightweight even though it's still Java under the hood. It has an unprecedented number of coding features such as code completion, PHP refactoring, Zen coding, UML, and a zero-configuration debugger with support for breakpoints in PHP, JS and HTML! It really is a fantastic tool for any serious coder.
Web development usually means having to move files to and from servers or even editing a file remotely. Transmit is simply the most powerful and well-rounded FTP/SFTP client on the block. Transmit has been around for ages but was getting a bit long-in-the-tooth before version 4.0 was released. Version 4.0 is just so good that there is literally nothing that compares. It's the fastest, more intuitive, feature-packed, and best looking FTP client for the Mac out there. Also as a bonus it has a MacFuse style finder integration that works similar to ExpanDrive. It cost $33.99 for a regular license, but it's so worth it.
When working with web applications your undoubtedly going to need to work with MySQL. While most LAMP stacks including MAMP provide a PhpMySQL which is a very capable web interface to interact with MySQL, as a mac user, a native application is much preferred. A great option here is SequelPro because it's free, fast and packed full of useful features. One of the great features I find particularly useful, is the ability to SSH tunnel the MySQL connections. This lets you easily and securely connect to the MySQL instances on your remote servers. You can have multiple connections open in multiple tabs, and you can perform about any kind of database operation you like, and on top of all that it's really fast! Because it's free, this is a no brainer installation.
MAMP is a great solution for getting your machine up and running with Apache/MySQL/PHP in one step. For completely control with a nice UI, use this rather than the built-in web-server options that come with OS X. MAMP makes it trivial to quickly get a local development site up and running. It just 'works' and is easily configured and tweaked to suit your needs. For example there's a simple toggle to switch between versions of PHP4 and PHP5 as well as a simple UI to create virtual hosts which can be very helpful during development.
CodeRunner is an application that does exactly what's on the box: it runs code. It has a nice clean UI that lets you write code in a variety of languages including PHP, Lua, AppleScript, Phython, Ruby, etc. After you write some code you can just run it against the appropriate interpreters and compilers and get the output in a console window. You can do the same kind of things in a text editor like Sublime Text 2, but it's often more cumbersome to setup and it's nice to quickly test some code in a unified application such as this.
Another one of those not strictly required but nice to have tools, is Dash. Simply put, it's a API documentation browser that provides a nice interface for you language documentation such as for PHP and Java. Another feature that dash provides is as code snippet manager although I don't really use it for this. One quirk about Dash that has caused many negative reviews is the app is free to download, but has a $9.99 in-app purchase to unlock the languages.
When your developing web applications on your mac, you inevitably need to test your code on windows, and more specifically in IE. The easiest way to achieve this is simply to run windows on your mac. There are a few choices in this area including Fusion, VirtualBox and Parallels. I have tried them all and personally I find that Parallels is consistently the quickest and also the most stable option. With the multi-core processors available today it's possible to run windows at practically native speeds on your mac, so there's no reason to resort to purchasing an actual windows PC for your testing needs.
When it comes to hard-core development you will soon run into the need for source control. Basically having a source control system is essential for working in a team environment to ensure your code changes are not lost, and you are able to fork, merge, and rollback code as needed. SVN is a reliable open source source control system and the best client for SVN on the mac is Cornerstone. It has every feature you could wish for in an SVN client and even has the ability to show remote changes as well as the ability to show a graph of all changes and quickly display the diff views of any two versions. Really a great tool.
The new source control system on the block is called Git. It works a little differently from SVN and is great for open source project development where you have lots of commiters. We don't use it too much ourselves yet as SVN is a better fit for most of our internal projects, but many open source projects we use have their source code in Git, so a solid Git client is a must have. There are many great options such as Tower, and GitHub's own client, but I have found myself using Gitbox lately. Mainly because it's cheaper than Tower, and is just a simple clean application that does what it needs to do, and does it well.
Web development deals with lots of colors and if your like me, you often find yourself needing to grab a color and paste it into some code somewhere. There are lots of options here but I find Hues is the ideal companion for this task. It's specifically designed for web developers and can even auto-copy your selected color to the clipboard in web-friendly hex or rgba formats.
XScope takes the web toolkit even further by providing a large selection of handy web developer tools. You can measure dimensions, use rules, screens that mimic the size of browsers and mobile devices, there's on screen draggable guides, and also a loupe that allows you to see a zoomed in view of anywhere on your screen. You can even pick and copy colors from the loop view. It's really a super-handy all-around tool that you will cherish. There's now a new iOS companion app that lets you view things directly on your mobile device to really speed up mobile testing.
When working with web images you should always try to compress those images as much as possible. ImageOptim provides a simple drag-and-drop interface so you simply drop a bunch of files in either PNG, JPEG, or GIF format onto the window, and application compresses them as best it can. You can often save 10%-30% on resulting file sizes with no discernible quality loss. I personally use ImageOptim for all my web-based PNG file compression.
When I want to compress JPEG files JPEGmini comes out on top. Originally you had to use the cumbersome web interface to process images smaller than 2mb, however, the lovely looking native mac application now seems to have removed the 2mb limitation and it will gladly compress any JPEG up to 28 mega-pixels! The amazing thing about this program is that most JPEG optimization algorithms will cause more compression and therefore a loss in image quality, but somehow, probably via voodoo magic, JPEGmini produces incredible savings with no apparent losses!
A solid diff and merge tool is an essential part of any developers kit, and this has always been a bit of a shortcoming on the mac. Until recently I used and recommended DeltaWalker for this task as it is very full featured and works very reliably. Unfortunately the downside is under the covers this is a Java application so its UI is a bit clunky and its not the fastest to load. Araxis Merge is another solid contender but the stratospheric pricing makes it impractical for most users. Kaleidoscope made a big splash when it arrived with a swanky icon and fancy new website a couple of years ago. However although it looked fantastic it only provided "Diff" capabilities and no "Merge" functionality at all. So although you could see what was different you couldn't fix it from the program, you had to go back into your editor and sort it out yourself, making it all but useless. In the ensuing years, about every twitter comment about Kaleidoscope berated the developers for a lack of merge support. After a long development cycle, Kaleidoscope 2 was released recently, and low and behold you can now merge! It still lacks 3 way merging but this is not needed 90% of the time so I have switched to Kaleidoscope for the majority of my merging chores, leaving DetlaWalker for the most complex 3-way merging tasks.
If you have ever worked with JSON you know that it's pretty easy to make an error and end up with some data that is invalid and won't be consumed properly. While there are plug-ins for editors such as Sumblime Text 2, an alternative is JSON Accelerator that consumes and validates JSON and can also output data in a variety of languages. It can also pull JSON data directly in from URLs which is handy when you want to test a web service.
There are many apps out there that are intended to help you write regular expressions. This is a common need because frankly REGEX is ugly and confusing even to people that have been working with it for years. Patterns is a little app that provides a nice syntax highlighted user interface and supports both match and replace. It as has a nice built-in REGEX cheat sheet that I find invaluable when working out an appropriate pattern. A couple of other promising apps are: RegExRX and iRegEx, available from the App Store.
Sometimes when working with web applications you need to debug an HTTP request. This is most often done with a browser and web developer tools, but this can be a bit limiting. HTTP Client is a useful little application that focuses specifically on this problem and uses a simple but sufficiently powerful UI to achieve it. It has support for the majority of HTTP methods such as POST, GET, PUT, etc and supports basic authentication. You can also send custom HTTP headers, and it can even follow redirects. Quite useful!
In the past, if you wanted to have fancy animated or interactive content on your page, you used Flash. In these days of mobile devices and web standards, HTML5 is the preferred solution. Unfortunately HTML5 is just a set of APIs and it's hard to turn your visual concept into reality without hours of hacking at code. Enter Hype, a simple to use app for writing this somewhat complex HTML5 code with a very simple and WYSIWYG interface. It works in a similar manner to flash in that you drag your images onto the canvas, add text and then you can set the animations and effects via a time-line. When your satisfied you can just export the code for use in your application.
Sauce is a new cloud-based developer tool for testing mobile applications on a wide variety of platforms and browsers. There are currently over 95 combinations that cover everything from IE testing on Windows to iOS and Android testing on various devices. Having a cloud based service such as SauceLabs means you don't need to have VMs or even actual hardware for every combination of platforms and devices that you need to test on. Cloud-based-virtualization is definitely not as fast as native hardware or even local virtualization, but it does the job for those hard to recreate testing scenarios. The free account provides 30 minutes of manual and 100 minutes of Win, Linux, and Android automated tests, as well as 40 minutes of Mac and iOS automated tests. The "Mild" account costs only $12/month and provides unlimited manual testing and double the amount of automated tests as well as up to 4 VMs running at any one time.