Tools Of The Trade

By: Conor 25. September 2011 15:39
New iMacs jpg large

Yesterday I tweeted a total of 12 tweets (excluding retweets). One of them was this


  • Xcode
  • BetaBuilder
  • Base
  • Navicat for SQL Server
  • Pixelmator
  • Versions
  • Transmit
  • TextWrangler (reluctantly)
That's how I get shit done.


Followed up a few minutes later by


  • Twitter
That's how I don't get shit done.


So, as I sit down this morning to work on Project Kraven The Hunter and find myself considering all the other things I could do instead this subject seems like it is probably worth a blog post. The hardware and software that I use the most in terms of my working life.


WARNING: This is extremely long (That's what she said) and there are no pictures.


It's no secret that I like shiny Apple hardware and software and so I'm lucky in that my job necessitates* that I always have the latest and greatest toys to come out of Cupertino.


*I may be overstating the necessity of having the latest and greatest toys to come out of Cupertino.


Hardware


When I wrote my first iOS app Movie Challenge it was on a fairly new (in 2008) MacBook Air. I had never written a line of Objective-C and scarcely used a Mac before. That MacBook Air was overpriced and underpowered (and ridiculously overheated). One of my main reasons for buying the machine in the first place was that I wanted a nice small computer that I could sit on the couch and play World of Warcraft on. That use case last about 4 minutes before it was all too obvious that even with all the WoW settings at their lowest, the MacBook Air was never going to be capable enough.


Building Movie Challenge and a few subsequent apps on that laptop was not exactly a walk in the park but we got there in the end. A few months back I did a fresh install of Snow Leopard on the MacBook Air and it is now back in commission with my wife driving it. It actually runs pretty well these days as long as you aren't doing anything too taxing with it.


Luckily the whole "iPhone Apps" thing turned out to be a nice little business to be in and soon enough I was upgrading my tools to beat the band.


Puters

Nowadays my workstation (in the Redwind office) is a year old 27-inch iMac with an over the top 16GB RAM. There's more RAM there than I've ever used or will ever use I presume, but I like to max things out. Add to that a 27-inch Cinema Display to give me a fairly large screen real estate of 54 inches or (2560*1440)*2 pixels. Unfortunately my iMac and Cinema Display are pre-Thunderbolt so I'm stuck with just the two for now.


My home office machine is a few year old 15-inch MacBook Pro that is screaming out to be replaced with a shiny new 11-inch MacBook Air. I connect the MacBook Pro to a 27-inch Cinema Display in my home office for days like today when I need to do/avoid some serious work.


If I need to do something quickly and I'm not arsed booting up my MacBook Pro I have a Mac mini running as a media server that is on 24/7 anyway and fully synced with my development machines. For it's day-to-day purpose of hosting and serving my media I have a Drobo S hooked up to it that holds my 4137.82 GB of media. Obviously more than I will ever watch or listen to, but I'm a hoarder of digital media it seems. I don't own a single DVD any more, maybe a total of 3 CDs and a handful of HD-DVDs that I couldn't get anybody to take off my hands.


It's rare these days that I never need to take a laptop with me when I'm out and about, but an 11-inch MacBook Air would be a lot sweeter in those situations. Almost all of the time I take my iPad with me to meetings though it has to be said I'm not great at taking notes anyway, I usually rely on David and his trusty pen and paper to jot down anything of importance. If I do take notes, I almost exclusively use Evernote which is also running on all of my Macs.



Devices

  • iPad 2
  • iPad (1st gen)
  • iPhone 4
  • iPhone 3GS
  • iPhone (1st gen)
  • iPod touch 4
  • iPod touch (1st gen)
  • HTC Desire

My iPad 2 and my iPhone 4 only see development builds on rare occasions and they never see Beta releases of iOS, they are my day to day devices.


My iPod touch 4 would generally be my go-to test device except for the last month or so. Why? Because I installed a beta of iOS 5 on it without the corresponding Xcode and can no longer target it until I update Xcode which I have no intention of doing. The amount of times I have done this over the last couple of years leads me to the conclusion that I am in fact an idiot.


So it falls at the moment to my iPhone 3GS and my 1st gen iPad to be my test devices for most things. Whilst I've always been an advocate of testing on older hardware anyway, the shitty screen on the 3GS just makes it an unpleasant experience. Oh how naive we were back in those pre-retina days, before The Steve showed us that our iPhone screens were in fact crap all along.


My original iPhone and iPod touch are in my drawer and only come out on the most desperate of occasions. I don't recall the last time I needed to write software that would run well on these devices and I have no intention of doing so in the future either. At some stage I will probably frame them and put them beside my original iPod. A story for another day but that iPod, bought in 2002 is probably the most important device I've ever bought. My story is not unlike that of so many other Apple fans (and developers?). Dermot Daly of Tapadoo has a nice post here about how it happens!


Which leaves the HTC Desire running some version of Android. I actually don't know or care what version or how to update it. Well the less said about that piece of shit the better. It's junk. Sometimes I need to test something on it and those sometimes are the worst sometimes of my day, every time.


Of course there is the usual smattering of other bits and pieces, TVs, an iPod nano watch/name-tag, Magic Trackpads, Mouses, Keyboards, about 40 iPod docks and cables, Apple Battery Chargers and so on and so forth.


Software


These days, pretty much all the software I download for my Mac I download through the Mac App Store. I'm actually reluctant to buy or download anything that I can't get there. Probably at least once a week I'm on the Mac App Store browsing to see if there is anything there to buy. That's not me going looking for something to perform a specific purpose, I'm actually looking for something that I don't know I want. I (and evidently millions of people the world over) now browse for software like we used to browse for music or books. Be it the Mac App Store or the iTunes App Store (or any of the many many copycat marketplaces), you can say what you like about Apple's approach to this stuff but Apple created this new attitude to software that has changed the industry forever and for the better.


There's a lot of these so I'll try to keep them brief and somewhat relevant!


Desktop

Xcode

Everything I do, I do through you. Coming from a Visual Studio background, Xcode has never been my number one IDE. Though, as the last bit of meaningful work I've done in Visual Studio is probably a couple of years ago at this stage I may just have romantic notions that are not necessarily the reality anymore. Xcode feels clean, simple and lightweight compared to any other IDE I've used in anger. Also, it's free. And well, my business is creating iOS Apps so I am Xcode's bitch whether I like it or not!


Oh and one more thing… Xcode is no Eclipse, thank fuck for that.


BetaBuilder

I'm obviously not as hip and happening as I like to think. I don't use TestFlight, I don't like it and I never have. BetaBuilder is more than adequate for me, especially since they added the ability to change the default HTML template. Select an ipa file, enter the address you want to host it and boom. It doesn't get much simpler than that. We use an iOS Enterprise Account for Beta and Client distributions so none of that nonsense collecting UDIDs for us.


Base

I heart databases, always have. Yes that makes me an almightily nerd and a geek. CoreData and all those poncy SQLite wrappers that developers use can go and suck it if you ask me. I prefer to get deep down and dirty with real databases and SQL. Recommended to me by @Padraig I bought Base before it was a Mac App Store app and then again when it hit the Mac App Store, that's how much I like it. I've tried a few other alternatives but the only thing I would use instead of Base at this stage is Terminal.


Navicat for SQL Server

Hmm, I got this from the Mac App Store but it seems like it is no longer there for some reason… Anyways, a lot of our web services are built around and driven by SQL Server databases and so I have a very regular need to update them. Navicat is obviously not as good as SQL Server Management Studio but it runs under OS X and that means I don't need to boot up my Windows 7 Virtual Machine. This makes me happy. Having tried a whole load of different options over the last few years Navicat is by a mile the best.


Calculator

Is there a better calculator than the default one in OS X? I don't necessarily dislike it, but considering I use it a LOT (all day, every day) I should probably look for something better.


Pixelmator

I'm a developer. I am shit at design. Guess what, if you are a developer, chances are you are also shit at design whether you admit it or not. I leave the real design work to the pros but every now and then if I need to do something simple and I mean really simple - I use Pixelmator. I did try using Acorn for a while but I never found it as easy to use or as attractive an app as Pixelmator.


Versions

Ssshhhhh, don't tell the cool kids but we host our source in SVN repositories, not GIT. I know, I know, this makes us backwards and other unspeakable things. But it's like this: SVN works for me, it works for Redwind. From a few collaborative projects with other developers and clients, we have had far fewer issues with SVN than with GIT so stick that in your pipe and smoke it. Versions is a great SVN client and I much prefer having it as a separate app rather than using Xcode's built in SVN support.


Transmit

Up until a few months ago I had been using FileZilla for FTP on all my Macs. Anything else I tried had been fairly crap. Then, after asking on twitter what I should be using, the overwhelming majority suggested Transmit. If you aren't using Transmit as your FTP client you are almost certainly using something that is not as good.


TextWrangler

I hate TextWrangler. But I've yet to find anything better. Sometimes I will switch to Smultron for a day or two but generally I use TextWrangler for basic text editing. As I hit up the Mac App Store to get the link for Smultron I see that Smultron 4 is out. So I just bought it and I'll give it a run out. Though at this stage I don't hold out much hope that it will be much/any better than TextWrangler. Can someone please just go and build an exact copy of EditPlus for Mac? Please?


MarsEdit

There is a serious dearth of Mac apps out there than can connect and publish to BlogEngine.NET blogs. MarsEdit does and it does it reasonably well. It certainly beats using the default BlogEngine web tool.


Coda

I used to update the entire Redwind site using TextWrangler + FTP. That was a giant pain in ass, make no mistake. It's fair to say that not ever integrating a CMS was probably the biggest flaw considering the amount of pages and content on the site but these days updating isn't even close to the issue it used to be now that I've started using Coda instead. I do very little web development if I'm being honest, but Coda is a really great environment for it when the situation arises.


Sparrow

I haven't yet used the default Mail app in Lion as I switched to Sparrow in the Snow Leopard era. I almost never go near the Gmail or the Redwind mail (Google Apps) websites anymore and for my work productivity I think that's been a really good thing*.

*I say despite the whole reason for writing this post being to avoid working…


I find the amount of time I spend each day browsing the internet has drastically reduced since I stopped spending my entire email life in the browser. As a side note, I moved all my chat services into iChat. Maybe I should try Adium but it just looks really fugly to me, and iChat works perfectly for me.


Google Apps

Besides the obvious email and document facilities there are some other really useful tools as part of the Google Apps suite. For example, we use Google Sites as a base for most projects and jobs. It definitely lacks some of the slickness of things like Basecamp but having used both I much prefer Google Sites.


Skype

I fucking detest Skype. I wish people would stop using it. The following Godfather quote sums up my Skype usage. Just when I thought I was out... they pull me back in.


Desktop & Mobile


Evernote

Available via Mac App Store | iOS App Store (Universal)


I use Evernote for note taking (duh!) but also as a general to-do list. It's not got the prettiest interface in the world but it works perfectly. I've never had any issues at all functionality wise. Syncing notes and to-do items across all my Macs and all my iOS devices is something that I would never have thought would be as useful as it is. My use of post-it notes has gone way way down since adding Evernote to my workflow. Even general nonsense ideas or far fetched notions all get added and are archived and searchable if I ever need to in the future.


Dropbox

Available via Dropbox.com | iOS App Store (Universal)


For years I refused to use Dropbox. Instead I was happy to carry on living in the hell that was Apple's iDisk. I think I just believed that iDisk, despite how crap it was must be the best option out there and people using Dropbox were really just the "too cool for school" gang. How wrong I was. Everything I have file wise (excluding my media collection) is now in Dropbox. When I get home from work in the evening my development folder on my Mac mini and my MacBook Pro is perfectly in sync with how I left it on my iMac in the office. No need to check in dodgy or broken code just so I could work on it at home. And likewise anything I do at home, like this weekend for example, will be ready and waiting on my iMac as soon as I arrive Monday morning.


And that's just the code and development side of things. All my other documents are in sync on all my machines… and my iOS devices. It is incredibly useful to be able to access my entire on my iPad and iPhone regardless of where I am, without the need to use a desktop or laptop. Or sharing files and folders with anybody anywhere, fantastic. Sure this is stuff that iDisk could do, but iDisk was crap at it - a joke compared to Dropbox.


It seems of late that Dropbox is maybe not as cool as it once was. I hear plenty of people talking up other services and giving out about some of the Dropbox T+Cs and of course some of their lax security measures. But really, at the moment I see absolutely no reason for me to change.


Pages

Available via Mac App Store | iOS App Store (Universal)


Of course the vast majority of the world is still using MS Word and I do too on occasion. But if the document is in any way business related and meant for external eyes I wouldn't even entertain the notion of using anything but Pages. It can be a bit cumbersome and slow to use but it makes better looking documents than any of the alternatives in my opinion.


Keynote

Available via Mac App Store | iOS App Store (Universal)


What Pages is to Word, Keynote is to Powerpoint. But I always hated Powerpoint and never really used it. More to the point I suppose I never really had much cause to use it. From time to time I give talks on iOS development and I also deliver training courses for Big Wave Media Training in Dublin, both of which require presentations. The majority of the time I am connecting my iPad to a projector over HDMI or VGA and running my presentation right off there (no laptop or desktop in sight). The icing on the cake is of course controlling said iPad presentation from my iPhone with the Keynote Remote. In a few weeks when iOS 5 ships that capability gets even slicker with an Apple TV in the mix. That's a level of integration that no one but Apple can get so right.


Mobile


In terms of my actual working day there's actually not that much software that I use exclusively on mobile devices. By mobile devices I mean iPhone and iPad by the way, as if that was in any doubt!


SQL Server Mobile Database Client

Far from fully featured but the best option on iPhone and iPad (it's universal) for accessing SQL Server databases. As above, this is something I do a lot of and being able to make quick changes and run queries on the go without needing to touch a laptop or desktop is really awesome.


Calcbot - The Intelligent Calculator

The iPad makes a great desk calculator and I tend to use mine a fair bit in that role. The biggest issue is not being able to copy and paste between the iPad and the Desktop but even with that limitation Calcbot is a great tool to have. It's also a universal app and a million times better than the stock calculator built into the iPhone / iPod touch version of iOS.


Keynote Remote

If you are using a Mac you are probably using Keynote for presentations, if you ever give presentations of course. Once you use the Keynote Remote app once you will never ever go back to the old way.


Conclusion


Well that took a fair whack longer than I expected it to.


I've deliberately not included the price of most of the software here. In my opinion I don't care whether something costs me €100 or €1 as long as it is the right/best tool for the job. The Age of the App Stores has really skewed a lot of people's perception as to what constitutes good value in software.


Maybe next week I will write a post about some of the non-work related apps I use, though that would likely take even longer… I'll just wait and see how much work I'm trying to avoid.



TweetMe created by sexyselect.net/blog

TAGS:

blog comments powered by Disqus

History