Monthly Archives: March 2016

Adobe’s Efforts

In 2014, Adobe purchased the photo editing platform Aviary and integrated it into is Adobe Creative SDK. Aviary was known to be an easy-to-integrate photo editing tool, which is why so may 3rd party developers embraced the platform and integrated it into their own apps.

A year and a half later, developers are told:

  • the old Api Key won’t work anymore
  • they need to bloat their apps and include more of the CreativeSDK
  • they need to create a new App ID on the My Apps page on CreativeSDK.com
  • they must write down the secret token information since they won’t be able to retrieve it after registering their apps

This would be easier to come to terms with, had it not been for the insincere opening statement on the developer site:

We’ve made great efforts to ensure that migrating from the Aviary SDK to the Adobe Creative SDK is as seamless as possible.

Did I mention that end-users may end up needing Creative Cloud accounts before they can use the tools? The Getting Started guide is a herald of the future change: “Authentication is part of every Creative SDK workflow and every action performed requires a logged-in user”.

I do hope to see this change for the better, but I’m not holding my breath.

Interview Questions – One of my Favourites

Being a part of an interview can be a daunting task. For some people it’s a painful experience, for others it’s a thrill. I remember being in interviews that I didn’t want to end, and in others where I felt like banging my head against the desk. Assuming the interview is going well, there’s this one question that I always like to bring up.

If I’m being interviewed I like to ask:

If I do everything right by you, and I am a top performer, where can I be in two years’ time?

I need to know what the strategic plan is for the company. I want to know what the growth opportunities are. Depending on the passion and the clarity of the response I can also draw other conclusions or come up with follow up questions.

The reverse is also true. When I conduct interviews (and I’ve done hundreds in my career so far) I like to ask:

If we do everything right by you, and we support your growth, where do you see yourself in two years’ time?

I have heard some amazing answers, ranging from: “I’ve left the country“, “I’m running my own company“, “I’m the best mobile developer in New Zealand“, all the way to “I have taken your job“.

If you decide to start asking this question in your interviews (whichever side of the table you’ll find yourself), I encourage you to follow up during your first and second performance reviews…

So why don’t you take a moment and ask yourself: if you are honest with yourself, where do you want to be in two years’ time? If you’re feeling brave, tweet me your response.

p.s. this is a good opportunity for me to recommend this book: The Manager’s Book of Questions by John Kador. It’s a fairly old book, but because it doesn’t focus on one particular technology, it asks various categories of questions (from icebreakers to competency), and it doesn’t seek provide the answers, I still find it very relevant.

Clean Code – Mandatory Reading for Developers

All developers should need to read Clean Code: A Handbook of Agile Software Craftsmanship by Robert C. Martin.

If time prevents you from reading an entire book, then at least read this chapter: “17. Smells and Heuristics”.

One of my favourite bits of advice (that actually comes up a lot in discussions with the developers around me) is captured in this paragraph:

There is hardly anything more abominable than a dangling false argument at the end of a function call. What does it mean? What would it change if it were true? Not only is the purpose of a selector argument difficult to remember, each selector argument combines many functions into one. Selector arguments are just a lazy way to avoid splitting a large function into several smaller functions.

The book is filled with code examples, describes concepts rather than programming language idiosyncrasies, and is useful even for seasoned programmers.

Whatever language you code in (today), this book is likely to become a fixture on your desk for a very long time after you’ve finished reading it. Get the paperback version, and fill it with colourful post it notes.

TV Wishlist

I’ve owned an Apple TV for a few months now (I have a Dev Kit unit). I’ve coded for it and I’ve been enjoying it a lot more than I had anticipated. Here are some of the things I’d like to see in the upcoming iterations of the software / hardware.

Accessories for the USB-C Port

Camera

I’d buy a camera compatible with the this new Apple TV in an instant. I’d mostly use it for video chat (FaceTime, Skype, etc) but I can see how some other types of apps could use it too (Snapchat, Livestreaming a video podcast, etc).

Playroom / Kinect style games could also benefit from being able to plug in a video capture device.

Bluetooth is not an option because the camera would needs its own power source.

Game Accessories

This port could also be used for a number of game accessories. From Dance Dance Revolution mats, to Steering Wheels for your favourite driving game.

Web Browser

My reason may be different from yours. If you ever tried setting up an Apple TV in a hotel room, you probably know how annoying the whole log-in via a browser window situation can be.

Search APIs

Apps could be so much more powerful if they could tap into the Siri Remote search capabilities. Search is available to some video streaming services, but I think many more apps could benefit from such a feature. Here’s an example: “Siri, play a 10 minute summary of the new on Reuters”.

Picture-in-Picture

I’d love to be able to watch a film and then launch a Wikipedia or IMDB type app and interact with that app while the movie is still playing.

It would be great to be able to watch some live sports while shopping on Gilt, or browsing my next holiday destination on AirBnB. Anyone can get distracted during a game of cricket, surely.

New Remote

I’m one of those people who watch TV in the dark. Because of this I find myself holding the Siri remote “wrong”. I’m wishing for a less symmetrical remote that I can pick up an instantly know which way I’m holding. I also want a trackpad that is either less sensitive or is a bit smarter and doesn’t activate until I’m holding the remote with a tight grip or is able to detect accidental touches.

I’m hopeful

The reality is, that until the things above are implemented, the Apple TV will have to be shared with some other device. In my case, the couch device of choice is my iPad.

It’s likely that Apple prefers this, but they are also the one company that would be very happy to cannibalize its own product rather than wait for someone else to do it. Come on Apple TV, kick my iPad off the couch and turn it into my bed-side device.

AirPlay Speakers. A SONOS Alternative for iOS Users

I have been jealous of my friends sporting SONOS setups for a while now. My reasons for not jumping on the SONOS bandwagon are not limited to just the steep prices that the SONOS speakers come with. The reality is that I prefer to use my own music / sound playing apps and because I listen to podcasts for a considerable amount of time. In this blog post I will describe a cheaper and more flexible alternative for achieving the multi-room setup that SONOS is praised for, using AirPlay enabled speakers.

Scenario

In this article, I’ll describe my actual home setup. I need at least three speakers: two for my lounge area and one for my office. I wish to be able to play music and podcasts (via my Overcast, my preferred Podcast app) to either speaker independently or to all speakers simultaneously.

The SONOS Ecosystem

Pros

play1-blk-front

SONOS PLAY:1

Part of the SONOS promise is that you can easily and painlessly play the same music in multiple locations (rooms), using speakers that “play nice” and “just work” with each other. I believe that SONOS does deliver on this promise.

Scaling the SONOS setup is trivial, all that’s required is buying another speaker and adding it to the setup.

Cons

I have three main reasons to hold back from buying into the SONOS ecosystem:

  • SONOS speakers are quite expensive (arguably they do have very good sound)
  • They require the use of the SONOS app
  • Integration limitations

Now that Apple Music is available for SONOS my third reason is all but gone, but I have to acknowledge that this may not be your case if you prefer streaming apps that are not available in the SONOS app.

Cost

The cheapest speaker is the SONOS PLAY:1. It costs for $199. A high-er end SONOS PLAY:5 speaker costs $499. The SONOS SUB Wireless Subwoofer and the SONOS PLAYBAR TV cost just under $700 each.

The AirPlay Solution

Pros

iW3S_F.jpg.450x400_q85

iHome iW3

My needs are quite specific, therefore some of these pros may not apply to everyone.

  • AirPlay is available to any app (it’s a global iOS setting). It’s also easily accessible from the iOS Control Center
  • Big choice of speakers (most are budget friendly)
  • Old Airport Express units can turn any speaker with Line-In into an Airplay Speaker
  • Very easy to use as external speakers for Apple TV
  • Can stream the sound from any of my Macs (iTunes even has support for multiple speakers)
  • Most speakers have Bluetooth too, thus making them really good travel companions (to locations where WiFi is not available)

Scaling the AirPlay setup is not too difficult, after adding another speaker to the setup, there’s an option AirFoil configuration step.

Cons

The initial setup is more complex than with SONOS. Usually it requires joining an adhoc WiFi network provided by the speaker, followed by entering the local WiFi settings which enable to speaker to join the local network and become a wireless speaker for any AirPlay device.

SONOS speakers can easily turn into a 5.1 setup when enough speakers are added to the setup. AirPlay speakers haven’t really solved this, yet.

Cost

One the the most affordable options is the iHome iW3 AirPlay Rechargeable Wireless which retails for $49.95!

The audio aficionados can splash out on a Bowers & Wilkins Zeppelin Air Wireless AirPlay Speaker Dock. Amazon sells it for $420 at the moment.

I happen to have a Mac that is always on at home, so I decided to also purchase AirFoil. This has enabled me to group my speakers into “rooms”.  The Mac version costs $29.

Alternatives

Bluetooth

Most people will probably just use Bluetooth, and that’s ok. Not everyone needs the lossless audio that SONOS and AirPlay offer.

AirPort Express

As I mentioned above, an old Airport Express can turn an existing speaker into an AirPlay enabled speaker. Check out Apple’s refurbished store for a deal on AirPort Express units or buy from Amazon for $29. You don’t need the current generation one.

Android

There are apps out there that allow Android to tap into AirPlay. I am not familiar enough with them, and I suspect the new Chromecast Audio may actually be a more suitable solution. Chomecast Audio sells for $35.

Conclusion

I implemented the AirPlay solution for myself and I’m happy with it. I’d love to hear your thoughts, especially if you prefer an alternate setup.