Andrew Little

Team Lead of Mobile and Web Apps 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

 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 Extension...

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 →


Apple TV, evolved

Apple TV

From a product development perspective, it’s been incredibly fun to watch the slow, but steady, evolution of the Apple TV. Reworking the UI, adding bluetooth keyboard support, content additions, and AirPlay among other enhancements. Although still considered a “hobby” according to Tim Cook, I have found his language in support of the product has been getting stronger in recent quarters (I listen to every earnings call). I think Apple knows there is something there, thanks to the millions of units flying off the shelves, but I’m betting the content access continues to be the uncontrolled dependency that blocks the Apple TV from becoming a more central product. While we wait for the next iteration, hoping for something big, I hear nothing but love from the people who choose to drop $120 on this little black box. Probably the most value for dollar you can extract from the...

Continue reading →


Add to my Home Screen?

If you you don’t follow the reference in the title of this post, you’re probably not alone. In fact, I would bet big money that very few people make it a practice to add web sites to their iPhone’s homescreen.

This is one of those rather esoteric iOS features that are often cited by those who adamantly defend web apps as being on equal footing to native apps, but rarely used by those customers that we’re all trying to please, equally. The idea is that a web site can “easily” be added to the Home Screen, just like any native app.

All you have to do is:

  1. Open Safari on an iOS device
  2. Navigate to mobile-friendly website
  3. Click the Share Action button in Safari, and select “Add to Home Screen”.

Easy. Right?

I think it’s easy to say the words “add to home screen”. It’s also easy to say that users will love doing this, and will thank you for not forcing them to download an app from the...

Continue reading →