Developing for the Apple Watch
The Apple Watch is going to affect us all. Whether we believe the hype or not; more and more wearables are coming at full force and us developers are given two choices; ignore them and hope they’ll eventually go away or embrace them and try to be a part of their future.
When you make the choice of being a part of something — especially from an early stage — you get the unique opportunity to become an influencer and help shape its future. If there’s things you don’t like now, or want to see different, you get the ability to change those things. This is a process that will take years, so you will have to commit. But it might be worth it, or you might be wrong.
When it comes to wearables, we recently chose to follow the hype and become influencers. We have no clue where these nifty little devices are going exactly, or whatever shape and form they will take in the future. We’re just going to experiment with them and hope something will eventually stick. With that in mind, we started working on our first Apple Watch app a few weeks ago and felt like we had some pre-launch development experiences to share…
Back to basic
We’ll get straight to the point and tell you that we think the development kit is… pretty damn basic.
And for good reason, don’t get us wrong. We shouldn’t forget that we’re not actually building apps; we’re building extensions. Extensions are supposed to be little widgets that are a smaller version, or part, of a parent application running on the iPhone. They’re not stand alone apps and the API available to developers reflects that.
The point is though, as developers, we want to build apps. We’re not comfortable building just widgets, we want more functionality and lots of it. Especially because we’ve always been doing that on the iPhone and iPad. We’re pretty sure this chance will be given during and after this year’s WWDC, where we will learn how to properly make use of the existing and coming WatchKit APIs.
Animations, Animations, Animations.
The biggest challenge we faced were animations. Apple must have forgotten to provide developers with the necessary tools to create iOS-worthy animations. What seemed like such an important part of iOS has been completely absent on the Apple Watch. Animations are simply not possible the way developers are used to. The only way to get animations on the watch is to put a lot of images together — sort of like an old fashioned flip book — and play those in order.
We’re pretty sure there is a good reason for Apple to leave run-time animation support out of WatchKit, however, that doesn’t automatically mean we have to like it. Or accept it.
Because now, not only is it very time-consuming to create primitive animations, it’s also nearly impossible to produce animations of a certain quality that iOS users are expecting. Apple has put a considerable amount of time and effort into figuring out how to create the best and most lively animations, why should we have to re-invent that wheel?
We wanted to provide a real iOS-like experience, with iOS-like animations. So we thought long and hard about how to solve this problem and eventually came up with a handsome solution; we built a framework with which we could easily define animations, play them, record them into a stack of images and drag-and-drop those into our Apple Watch projects.
Building that framework saved us copious amounts of time researching how to build frame-by-frame animations — this is not something us developers can just pick up and run with without months of practice — and in the end gave us the incredible power to create beautiful animations for our Apple Watch apps so that they may look and feel like they’re supposed to.
When the Apple Watch got announced, we were pretty excited. Another gadget to play around with! But, as it turned out, we will have to wait as The Netherlands isn’t one of the first countries where the watch will premiere. That turned out to be more than just a bummer; even when pre-ordering started, it was made impossible for us to order one or simply pick one up in a foreign Apple Store (we’d gladly make that drive or buy a plane ticket to get there!).
When Apple asked developers to submit their Apple Watch apps quite some time ago, we were put in a tough spot. As professionals, we wouldn’t even consider releasing an app that was never tested on a real device but Apple made it so impossible for us to get a real device that we were left with little choice.
So, when the Apple Watch eventually ships to those first lucky countries, like Germany, France or the USA, we are left wondering if our app even works. Apple remains silent when it comes to a release date for the Netherlands and we can only hope it will be very soon. It would sure be fun playing around with the app that we’ve built ourselves.
Time to wrap it up
While we’re very excited for the Apple Watch to come our way, we’ve found the whole pre-launch development experience crippling and can’t help feeling a little left out of all the fun. Our app is being reviewed as we speak, and we can only hold our breath and hope it will pass the test. When it eventually does, we’ll be holding our breaths again, hoping the app will work on launch time (unfortunately, passing a review doesn’t mean your app actually works).
We think it’s a good thing that Apple only allows developers to build widgets before they’re getting to build actual apps. You have to learn to build a solid foundation before you get to build a house. However, most of us have been building Villas for quite some time now.
The development kit turned out to be too basic, the lack of animation support was a bit of a bummer and getting your app tested on a real device seemed down right impossible.
However, we’re pretty confident that all of this will be forgotten when we finally get to wear one on our wrists. Time will tell.