Stuff and Nonsense. 2015/16 Development and Tech Edition.

"Been a while since I wrote anything here" which is sort of how a lot of posts start. No exception here.

But, being it's one of the few times in the year where I get to sit down and have time to write something, here goes.


In the past 12 (or 24) months, I've jumped into mobile dev with both feet - both iOS and Android. Work's been interesting (in all meanings of that word), and a constant learning experience. I finally feel I'm at the point where I can make changes to almost any part of the apps comfortably, tho I'm way more comfortable with the iOS app than the Android one.

We moved the Android app from AsyncTasks over to RxJava and Retrofit, mostly without incident, and we are continuing to move it to a more MVP/MVVM model.

The iOS app is pretty much as it was, tho I'm getting itchy feet to get more MVVM/MVP in there too. Lots of automation - both in testing and app deployment. Still a load of work to do - there always will be - but its in better shape than it was before, I think.

And Swift. With 2.0 out, it's no longer a half-functional toy language. The little I've written (which will be in production shortly) I've found to be expressive and generally nice to work with. The tooling is a little immature, but it's getting there. I can't see why anyone would start a new project, or a large rewrite/refactor, without using it.

Objective-C isn't dead, but it'll be a 2nd tier language very shortly, on iOS anyway. It's hard enough finding interesting samples and libraries which aren't in Swift already.

I'm still planning on writing more about this - both about what we are doing at work, and the learning of Swift. There is a lot of good content out there, and most of the rest is boring "tutorial" style, so the lack of writing is as much about not finding a niche I want to write in, than not having anything to say.


Apple has been both predictably exciting, and for me, predictably disappointing.

The Macs were a bit boring: the Macbook is not a machine for me, tho it's a pretty impressive mobile device. And... thats kind of it. My 2012-era retina Macbook Pro is still going strong, tho it could do with a bit more battery life, I've got used to 4-6 hours of dev use, and its getting a bit short (2-3). Not bad after 3 years tho.

This year, and the Skylake CPU's, should change that this year tho.

iPad: the iPad Pro is also interesting, but also not for me. I'll stick with my iPad Air, which is not feeling long in the tooth at all, and is pretty much the computer I use the most (outside of dev work). An iPad Air 3 later this year might be interesting, but I'd have to see a big drop in performance with iOS 10 to really have to get one.

iPhone: same same. It did make it quite a cheap year on the hardware front, as Leonie REALLY doesn't like the larger phones and it was her year to upgrade. Lets see what they do with iPhone 7.

Apple Watch: I SO SO SO wanted to love this device, but I just couldn't. It's a nice watch, with some nice function (esp with watchOS 2), but.... it's a watch, and I don't wear watches, or anything else on my hands.

AppleTV: I managed to get one of the dev devices, and I LOVE it, both as a user, and a developer. It's not perfect, yet, but all the issues are fixable (eg the on-screen keyboard). Writing apps is fun, as it's really just UIKit. Not sure I have a use-case for an app for it yet, but it was fun making changes to Auntie Player to fix a few issues I had with it. Kind of pointless now, with the official iPlayer app being out[1].

iOS and WWDC: I loved the content this year, and iOS (and OSX) is a nice, stable release this year. The content coming out of WWDC was super timely and really good to watch. Hope they do that again this year.


I've written nearly no C# this year. I rewrote Nearest Bus using Xamarin, but really, that was the only Xamarin/C# stuff I did all year.

Not sure how I feel about this - I've been doing C# for over 10 years. Time for a change tho. The Microsoft space is moving a bit, especially with .NET being open source and cross platform now, but really: I have zero desire to use Windows, so most of the .NET space is now out for me. Plus the overhead (plumbing) on .NET is more than I want to deal with outside of the Xamarin stack.

However, it's also no surprise I'm no longer a Xamarin MVP. Thanks to everyone at Xamarin for the honour over the past few years - the whole point is that it's for people who are active in the community, and I'm not.

Speaking of which, if anyone wants to take over BTProgressHUD, drop me an email.


Shocking myself, I've even done a bit of Node, thanks to Phil. I still don't grok JS enough, really, and I find the dynamic nature of the language removes a few too many crutches, but so far, it's working nicely on the server - at least until Swift on the server happens in a big way.

Phil's doing some interesting stuff, and it's fun to be part of, even in a "let do brunch and talk about it" kind of way, as it's SO far outside of the day job.

Funny, when I left the UK, I was doing web/api as the day job, and mobile as the side job. Now it's 100% the other way around.

So yeah: Happy 2016 and all that.


  1. And Unblock-us. ↩︎