Andrew Little

Director of Mobile Applications over at salesforce.com. In 2009, I bought my first Mac, grabbed an iOS Developer license and took a weeklong vacation. That week changed everything. This is a personal collection of articles.

Read this first

AirPods. Delightful innovation.

The AirPods seem to be the one recent product release from Apple which isn’t receiving a slew of negative attention. Though I’m not as bearish on Apple’s recent releases, I would agree that the AirPods are the strongest, and most exciting, of the 2016 lineup.

Pairing perfection. The pairing of these bluetooth buds is a smile inducing experience. So simple, it’s the way you’ve always wished bluetooth could be. But never is.

Sound is ??. I mean, not for an audiophile, but it’s great sound for the rest of us. Better bluetooth sound than I get from my bluetooth Bose over-the-ear setup. I’d even call it a touch better than EarPods.

Siri simplified. Double tapping a bud makes Siri more accessible than ever. Works very well - might even find it more accurate than ever. Better mic placement?

Weird. “They look weird”. Thanks, Mom ?. I actually agree with her… they have an unusual appearance...

Continue reading →


Shipping with Swift

Being a developer tied to a platform run by one company, I listen carefully to the messaging around new tools which support that platform. Swift was delivered with strong messaging and that messaging has continued in the months since its announcement at WWDC ‘15. I believe strongly that Swift is the future of iOS. You can read my initial thoughts on Swift, here.

With growing support from within Apple (including Tim Cook on multiple occasions), I decided in September to take a serious look at Swift. Since it wouldn’t be prudent to start working Swift into our flagship social product that I develop (along with a great team) at Salesforce.com, I decided instead to build a personal project that I’ve wanted for some time. That project became Wealth+, a personal net worth tracking tool. A simple app, but one which would allow me to work towards shipping a Swift app to the App Store. Several...

Continue reading →


 Watch App and Core Data

This post will be a little more technical than most on this site. I wanted to explore how to create a Watch App which shares data with its companion Phone App via Core Data. Though this seems reasonably straight forward to achieve, I didn’t see a lot of info on the developer forums. Furthermore, there were a few tricks to getting it to work that I felt were worth sharing.

Below, I cover Core Data integration with a Watch App at a high level and in the linked video and Github repository I cover the approach in full detail. I put this together in an evening, so design may be a little basic, but should provide a good jumping off point.

High Level Steps

  1. Create a Core Data app using the Master/Detail iOS template
  2. Add a Watch App Target
  3. Add a shared App Group container in the Capabilities area of the project. Add the same container for each of the following
    • iPhone App
    • WatchKit...

Continue reading →


WatchKit has Landed

WatchKit is the new development kit provided by Apple and is ready for us to start building Apple Watch powered Apps, Glances and Notifications. The Apple docs are awesome, so dig in there for more, but I’ll give a high level look.

So how does it work? Essentially, an Apple Watch app is installed on the customer’s watch when they install a watch-enabled app on their phone. You could think of a Watch App as a little satellite app which relies on the phone app counterpart for lots of stuff, like data. They’ll be asked if they’d like to add the Watch App and with the magic of bluetooth, it’ll be there on their wrist. After that, there’s three ways they could interact:

  1. Watch App: this is meant as a trimmed down version of the phone app and should surface wearable-friendly use cases. More on that later.
  2. Glances. Each watch app can provide a glance which is a way to swipe between apps on...

Continue reading →


 Watch. It’s personal.

2014 has been one of the strongest for Apple’s product line in many years. In the first 9 months of the year, the following updates were announced, each of which may eventually move the needle for Apple’s business:

  • HealthKit: central spot for all of our health tracking apps and devices
  • HomeKit: central spot for all of your home automation apps and devices
  • Swift: new language to woo more devs. More devs == more apps == more $
  • iPhone 6/6+: you know these will sell
  • CloudKit: devs can build/host their own services with minimal effort and $
  • CloudDrive: sync files between iOS and Mac. Means they’ll sell more Macs
  • Handoff: move tasks between iOS and Mac. Means they’ll sell more Macs
  • Payments: sounds like they’ll take a cut of each payment processed

That’s 2014. And I probably missed stuff. Not sure I’d agree with Eddie Cue that it’s the best “product pipeline in 25 years”, but I suppose...

Continue reading →


Thoughts on Adopting Swift

A new programming language was by far the biggest conference surprise. Although an interesting development, I think that applying Swift in practice has people asking a lot of interesting questions. Things like, did I just lose my job security? Should I adopt Swift in my project now? Questions that I’m not sure Apple will have direct answers for as I think each team will need to assess their skill and needs when answering the question of timing. Let’s look at the pros and cons of Swift adoption.

Pro: Performant. Granted I’m taking this from the few benchmarks shared during the keynote, it does seem that part of the story behind Swift is that it performs better than Objective-C. Could be a bit early to call this a meaningful benefit, but it probably shouldn’t be discounted - especially since performance can mean so much on a mobile device.

Pro: Accessible. I think this is the truly...

Continue reading →


WWDC 2014

Best ever?

Quite possibly. This year’s WWDC put the Developer back at the centre of the conference. I think most developers would agree that there was a strong lineup of both customer and developer announcements. Ultimately, Apple’s customers will win twice thanks to Apple being strong on both fronts. Apple once again showed that it gets the fact that apps power the platform; both their own and 3rd party.

If you like audio, then check out this short clip covering my thoughts. If not, then please read on as I’ll cover some of my initial thoughts.

Developer focused. No time spent on the retail store updates, or hardware updates; this was 100% developer focused. Only what we need to know to get excited about the platforms all over again.

Disconnect from hardware. Interesting that hardware wasn’t touched on at all. After announcing a new Mac Pro last year, this was quite a change in...

Continue reading →


Another damn iPhone app?!

There are over a million of these things, we know. And yeah, 70% of them are list apps of one type or another. So why did we endeavour to build yet another iPhone list app?

We wanted to learn.

iOS 7 Only. We wanted to see what we could build if there were no legacy strings attached. How fast could we could we put together a polished app that’s not beholden to previous operating system releases. Turns out, you can build one pretty damn fast. As exposed in our first post on the MediaBox Blog (coming soon), the elapsed time of our build was many months, but this is with coding for an hour here, and an afternoon there… not a ton of dedicated build time. iOS 7 provides an incredibly powerful set of APIs that allow you to do things such as add real world physics to the app with just a few beautiful lines of code (which we did, by the way).

New Roles. Building and launching your own...

Continue reading →


iOS 7: tale of two developments

Turns out developing for iOS 7 takes on a rather different feel, depending on your app’s legacy. It goes something like this. If you’re building a brand new iOS 7-only app, then it’s absolute dream to develop. Super simple. However, if you’re adding iOS 7 support to an existing app, then you’ve got some work ahead; not all of it fun.

New app, iOS 7-Only. For those apps which will come into being explicitly for iOS 7, the development cycle has never been smoother. For your shiny new version 1, you no longer feel compelled to add custom drop shadows, custom buttons, and fancy table styles to set your app apart. Why? Because the users of iOS 7 (most of them) are going to enjoy your app even if it’s composed of simple, clean looking, iOS 7 controls. Furthermore, fancy adornments, like drop shadows, feel decidedly out of place in iOS 7. Instead, you’ll be building clean, light, user...

Continue reading →


Mobile @ Scale: my experience

Facebook recently hosted its first-ever Mobile @ Scale conference at its hacker headquarters. The conference assembled senior engineers and directors from Twitter, Facebook, Pinterest, Dropbox and LinkedIn into a rather small room to discuss common issues faced by mobile engineering teams. Access to information was impressive and the transparency was refreshing. I was very excited to be a part the crew invited to attend.

Below, I’ll cover what I felt were the high level themes, and some of the more interesting bits, from the jam packed day of talks. I’ll later publish a podcast I recorded which covers the content in more detail!

Silo Problem Solving.
The Facebook VP of Engineering, Cory Ondrejka, was first to point out that we’re all facing and solving similar problems in mobile, it being such a fresh, and fast changing area of tech. The issue is that we’re problem-solving in...

Continue reading →