Hosting trials and tribulations

I'll be hosting Curry Finder 5.0 with Digital Ocean. Previous versions used the free GoDaddy hosting that came with my domain registration, but I decided this was the time to get serious and start paying for a proper solution.

Digital Ocean is an all SSD setup, and their basic package is only $5/month, which seems crazily cheap, but perfect for development. I even scored $10 coupon on Twitter so it's been free for the first 2 months. $5 gets me a virtual private server with 512MB RAM, 20 GB SSD Disk and  1TB bandwidth.

I started with Ubuntu 12.04 and the default LAMP stack (installation instructions here) which includes PHP 5.3.10. However, I've been using MAMP 3 locally which includes PHP 5.5.10 - and some of the code I'd written wasn't backwards compatible (PHP 5.4 added array dereferencing), so I needed to upgrade the server version of PHP. Now, there seems to be a thriving Digital Ocean community, and each support article has plenty of comments attached, but these seem to be from people with a significantly greater understanding of the Linux world than I have, so finding a definitive solution was tricky. But, after a bit of searching I found this article which walks through the process. So a quick "snapshot of my droplet", half a dozen commands, and now I'm rocking' PHP 5.5.9. Easy!

Toolbox

Here's a list of the tools I'm using to build Curry Finder. I'm not claiming any of these to be the latest or greatest, but they're suiting me pretty well for now.

Xcode

Xcode 5.1 beta as I type. I'm building the app with storyboards - because every line of code I don't have to write is one I can't get wrong! And Curry Finder seems to be a good fit for storyboards.

MAMP

Mac / Apache / MYSQL /  PHP - really simple solution for setting up local MYSQL and Apache servers. One click and they're up and running, delete a folder and it's gone.

Espresso

I originally got this as part of a MacHeist bundle, and hadn't really touched it, but it turns out it makes a pretty good PHP editor. It's got code auto complete and auto publishing, but I'd like it to include more complete syntax checking (php -l).

Evernote

I originally used this to gather my thoughts, but it's transformed into a semi-project-management tool. Using the "notebooks within notebooks" feature, I have a notebook for apps, and within that a notebook for each individual app. Each app then has notes per version (one for design, one for development, …), the development one containing to-dos for my feature "backlog", tech debt, bugs etc. It's a sweet little setup for a solo developer, and I can update it from any device I have to hand. If you have a pro account, then you can share notes for other (non-pro) Evernote users to update.

Bitbucket

Git repo by Atlasian. It's free - what else can I say? Oh, and it integrates seamlessly with…

Tower

Git client. I've been using Tower since it was released, although if  I was picking one now I may have gone for another free Atlasian product, SourceTree. The apps are very similar in scope, although Tower has the better looking UI.

Acorn

Image editor. A polished, Mac native app, with the vast majority of Photoshop features I'll ever need, at the same price as 1 month of CC.

Charles

An HTTP proxy that easily allows you to monitor web traffic. Great for testing out those web service calls. You can see the request and response in various formats, blacklist urls, add breakpoints. Very useful.

Updating Curry Finder

The last release of Curry Finder (4.0) was is April 2012 - nearly 2 years ago. With the release of iOS 7, my apps look pretty dated, so I’m “refreshing the line-up”, starting with Curry Finder.

The app originally hit the store in back in May 2009 and much the code reflects that. Although parts were updated as it went along, I’ve decided it’s now time for a complete rewrite. I had a stab at updating the code a few months ago, but that was looking like a bigger job that starting again from scratch.

I’m (currently) building with Xcode 5.1 and the app will support iOS 7.0 and up, as there doesn’t seem to be anything in the betas to force me to 7.1 just yet.

Along with a refreshed app, there have been a few other major changes recently. I change my domain registrar from Godaddy to Hover.com (easy), moved my hosting from Godaddy.com to Digital-Ocean (I know very little about this but the process was reasonably painless), and I have this new Squarespace site, all of which I’m rather pleased with.