Universal Links – A Few Things to be Prepared for

I recently had the opportunity to work for a client who wanted to develop what they termed “app indexing”. What they meant by this was that they wanted their users to be directed into a specific screen of their iPhone app when they tapped on a particular Google search result. Put differently, they wanted the user to feel as if Google had returned search results specifically for their iPhone app.

They also wanted to be able to send out links via email, SMS or other marketing channels. If the app was installed, opening such a link on their phone would result in the user being taken to the relevant points in the iPhone app. If the app wasn’t installed then they would just be taken to the mobile website.

The way this is achieved is through what Apple refer to as “Universal Links”. In this post I’m going to discuss how we implemented Universal Links at a client of ours, some of the obstacles we faced, and how we overcame those obstacles.

YOW! Connected 2016: The typed-functional future of UI platforms

I just spent a couple of days at the YOW! Connected conference and had a great time, despite nursing a bit of a cold. There were a tonne of great talks at the conference covering a wide range of topics, but in this post I’m going to briefly reflect on one specific trend that interested me at the event: the way in which UI platforms are advancing to adopt modern languages, and are even influencing each other in the process. The end-result: they’re all moving towards languages that are both functional and statically typed.

Full disclosure: This year I was a member of the programme committee for the conference. So in writing this post, there’s a bit of a risk that I’m creating an echo chamber for myself. All I can really say in my defence is that I hadn’t consciously made these connections in advance – it was only afterwards that I saw a trend!

Will Swift be the next king of server side development?

Swift throne

In June 2015, Apple announced at WWDC that they were open-sourcing the Swift language and its runtime libraries. On December 3rd that year they made good on their promise. In this post I’d like to talk about why this is significant, particularly for server-side developers.

Shiner Ben Teese to speak at YOW! Conference 2015

logo(1)

Shine is super proud to announce that senior consultant Ben Teese (@benteese) will be speaking at the YOW! Conference being held in Melbourne on the 3rd and 4th of December 2015.

Ben will actually be co-presenting this one with Sam Ritchie (@FakeSamRitchie), an iOS developer from Perth. Sam will be talking about ReactiveCocoa, while Ben’s topic will be React Native, an innovative new framework that applies the principles of the React web development library to native mobile application development.

The focus of the talk will be on the functional programming techniques that both of these frameworks use (uni-directional dataflow in the case of React Native, functional reactive programming (FRP) in the case of ReactiveCocoa).

If you haven’t purchased a ticket to YOW! Conference yet, be sure to get one whilst they’re still available. And if you’re already coming, be sure to check out Ben’s talk and say hi afterwards – Ben is always keen to chew the fat on all things developer related!

YOW! Connected 2015: Conference Report

yowconnected

Last week I had the privilege of attending the YOW! Connected conference in Melbourne, Australia. YOW! Connected offers a look at all the interesting things that are happening in the mobile and IoT (Internet of Things) space, from the perspective of both software developers and UX designers.

On the mobile front it included a variety of talks relating to both the iOS and Android platforms and yes, even a little bit of Windows.

In general all the talks that I went to were pretty good,  but here I will write about a few that particularly interested me.

Biometric authentication with Touch ID

Touch-ID-640x384

Passwords have become such a pain in the neck. Switching between different apps and websites you will usually find different password security policies. One site will inform you no more than 10 characters, other a 6 digits pin. While some other sites will insist in making you change your password every 15 days, and so on.

Why does this have to be so complicated, and hard to manage? Wouldn’t it be so much easier to use something that you have as a key instead of having to remember so many different passwords across a plethora of different sites!?

Well, there is something that most of us have. Something we were born with. Something we use every single day. That is our fingerprint. Each fingerprint has a unique pattern that can be used as key. In this blog post, I’ll talk about my experience of playing around with Apple’s Touch ID.

Swift from an Objective-C developer’s perspective

After the most recent WWDC, most iOS developers aren’t talking about cool new iOS 8 features or APIs. Instead,  they’re talking about a whole new language: Swift. Yes, you heard right – a whole new programming language. How exciting it is!

Apple has been working on Swift secretly for a few years. It is a modern programming language that takes the strengths of other popular languages (for example, Python) and avoids the bad things about Objective-C (for example, poor manual memory-management and awful block syntax). As Apple declared, it’s Objective-C without the C. Not only this, Swift is also able to access the Apple Cocoa Touch framework and share the same LLVM compiler as Objective-C, so they can be seamlessly mixed in a same project.

Now you might be just like me, wondering why Apple would introduce a new language for iOS and Mac OS programming. Let’s walk through some most exciting parts of Swift to see if we can find a reason.

The Beacon Experiments: Low-Energy Bluetooth Devices in Action

beacons

I was recently lucky enough to get a hold of a couple of sets of Bluetooth low-energy beacons; three Estimote beacons and a set of five Kontakt beacons. Whilst the Estimote beacons sure looked a lot fancier, I was keen to see if it was all just for show, or if they truly were a superior product. So I got to work putting them through their paces by conducting some controlled experiments to test their behaviour. Throughout the rest of this post I’m going to discuss the results of these experiments and conclude with some observations on their real-world usefulness for providing proximity-based services.

Swipe Conference Highlights: Gamification

Swipe Conference

Of the many excellent sessions at this week’s Swipe Conference, the one titled “Build Better Cocoa Apps Using Game Mechanics” by Paris Buttfield-Addison was unique in its topic. In it, Paris outlined how gamification is currently viewed as something that can be quickly slapped onto an existing product in order to increase its appeal, whereas in reality, successful gamification requires carefully thought-out integration, for when done correctly it should form a core part of your app’s user experience.