What Version of Xcode Are You Using?

As a library developer for iOS Apps, it is always important to be aware what version of Xcode my users (other iOS devs) are using. This allows us to take advantage of new IDE features, but also support those who are lagging behind.

To assist with this, yesterday I did a quick poll on Twitter and asked — what version of Xcode are you using?

The Results

[embed]https://twitter.com/samjarman/status/686297486265192448[/embed]

Thanks to those 65 people who responded! :D

A total of 65 developers responded with 95% of people saying they use Xcode 7 or higher. This is by no means a large sample size, but it’s its certainly a good indication of where people are heading.

What this means

In Xcode 6.3, Nullability annotations were added to Objective-C. This allows you to decare whether properties, return types or arguments can be nil or not. This gives you more power when declaring your objects and their methods and properties. If you’re using Objective-C code from Swift, this converts nicely into optionals. That is to say, using nonnull or nullable will directly influence the appearance of ! and ?. Read more.

In Xcode 7, Objective-C gained support for both Generics and Kind Of annotations. This means you can both express and restrict the type that arguments can be and once again, this helps out Swift users too! No more [AnyObject]. Read more.

So, if you know which version of Xcode your users are on, you can roll out these features to them and improve their experience because as a library developer, your goal should always be a delightful developer experience.

So with this knowledge, go forth and make your library even more awesome!

Developers, let’s talk about 3D Touch

So at their September Event, Apple announced 3D Touch — a feature whereby if you push hard enough on your iPhone 6S or 6S Plus, you’ll get a new interaction style. Cool!

New Interaction Styles

There are two new styles that Apple has by default on some built in apps.

Home Screen Quick Actions

These allow for quick shortcuts into certain parts of your app — for example, jump to Beats 1 in  Music, or straight to the forward facing camera in the Camera App (Take a “Selfie”) by 3d touching the application icon.

Peek and Pop

Peek and Pop lets you “peek or “preview some content, whether it be an email or a message or something else. Once you decide you want to keep looking at it, or start interacting with it, you can “pop” it, making it open like normal for interaction.

3D Touch for Developers

You Can Use It

Apple has opened up their API for developers to add 3D Touch features to their apps. They can support Peek and Pop, Home Screen Quick Actions, and more! This is pretty exciting. In fact, a friend and The Next Web writer Owen Williams wrote an article about how he thinks it could be end the of the “hamburger” menu. While I don’t disagree with that, I think it’s time to slow down for a second and talk about 3D Touch to make some things clear.

Consider Apple’s Plan

If you think about the user experience Apple is providing with 3D touch, it’s clear to see they’ve laid out a roadmap for onboarding users to 3D Touch. The features above, Peek and Pop and Home Screen Quick Actions can be thought of as features that enhance the experience of iPhone 3D touchusers but doesn’t take away from the experience of other users. These are new ways to access already existing features, like composing a message or taking a selfie — they are not the only way to access a feature. It’s subtle, beautiful and useful.

Don’t Be Exclusive

If you make a feature exclusively or only accessible by 3D touch, it actually harms the experience to users not using that model of phone. Access to menus, features or screens via 3D Touch only is a big no no, as your users without 3D touch won’t be able to access it. Apple recommends at least one other way to access the feature — it could be as simple as treating tap and hold the same as a 3D touch.

Another thing to note is that 3D touch can be disabled via the accessibility settings (which makes sense) — so don’t assume that since they have one of the phones, that they’ll have the feature. Check for it properly.

Help With Discoverability

3D Touch is notoriously hard to discover, and it’s fair to say that some users will need to be explicitly taught that it’s there. Use an Onboarding systemfor 3D touch users so they learn how to interact with your app. The thing here is, that if you do this, it’ll train users to expect this functionality in other apps as well as stock apps — making them even more productive on their device. And they learned that from you. They’ll appreciate that.

Promote the New Paradigm

3D touch is a user interface paradigm now, like hamburger buttons, back buttons, or compose items — they’re something users will learn, recognize and expect consistent behaviour from. It’ll take a while to catch on. Be a good citizen and do what you can to help. By the way, this doesn’t have to be in code, show your friends they can do that on their phone too.

Conclusion

Developers, take advantage of these new features if you can. Make sure Peek and Pop work for your app, and use your analytics or common sense to determine what most common features you should put on your Home Screen Quick Actions list. Add new features to enhance the experience anddelight the users of 3D touch, but don’t assume all users have 3D touch for a few years at least. Lastly, help onboard your users into 3D touch to help with it’s discoverability as a system and app paradigm. Together, we can continue to delight our users. Good luck.

The Top Must Read iOS Newsletters

Lately I’ve taken to subscribing to newsletters to get my fix of news. The emails are usually full of well curated content and I prefer it over RSS and even Twitter, sometimes. With this, I’ve found a few relating to iOS that you might find useful too.

iOS Dev Weekly

iOS Dev Weekly is a curated feed of iOS Development news by Dave Verwer. I love getting this in my inbox and it’s full of Dave’s commentary, jobs listings, new tools and usually a funny tweet or two. It’s also worth mentioning that Dave built Curated, the platform that powers these emails. Worth a look if you’re thinking of starting your own.

This Week in Swift

This Week in Swift is a curated feed of Swift news by @NatashaTheRobot. It features Swift stories relating to Apple Watch, iOS, Mac, Videos, Conferences and more!

NSHipster

NSHipster is a delightful journal of the overlooked bits in Objective-C, Swift, and Cocoa. It’s updated weekly by @mattt and a few others. They also publish books, quizzes and have merchandise.

objc.io

Objc.io is a book and newsletter from Chris Eidhof, Daniel Eggert, and Florian Kugler. While they’ve stopped writing new issues for now, they have created some long form books. The old issues are solid reading though on a variety of topics, usually tackling one issue at a time.

The iOS Times

The iOS Times is another newsletter I found just today. It’s written by Giovanni Lodi. It is a weekly publication with news and trending projects in the open source iOS ecosystem.

Reader Suggestion: State of the Union

State of the Union is produced by Konstantin Gonikman. I’m a new subscriber to this one, too. However, it looks like a solid newsletter, with emphasis on not repeating other links and brief commentary. Thanks to Konstantin for the suggestion.

Reader Suggestion: iOS Goodies

iOS Goodies is a weekly iOS newsletter curated by Rui Peres and Tiago Almeida. It has articles, tools and controls, stories about business and even tips for UI and UX. It of course, has some “goodies” also. Thanks to Rui Barbosa for the suggestion.

Reader Suggestion: Indie iOS Focus Weekly

Indie iOS Focus Weekly is a collection of iOS tools, tricks, ideas and marketing tips aimed at independent developers. It’s created by Chris Beshore and thanks to him for suggesting it.

Reader Suggestion: iOS Dev Nuggets

iOS Dev Nuggets is a weekly email with just a single, short and easy to read tip on iOS. Formerly iOS Dev Tips Weekly, it’s now rebranded with a back-catalog of over 150 issues! Thanks to the author, Hwee-Boon Yar for the suggestion.

Go Subscribe!

Go ahead and subscribe to these newsletters! More often than not, these are people volunteering their time to put these together. Subscribers are a great motivation for them to keep up the good work!

Did I miss something? Let me know and I’ll check it out and add it!

Notable mentions

These ones came in from comments or tweet replies that are worth checking out, even if they’re not strictly newsletters.