Matt Galloway

My home on the 'net.

iOS 7 by Tutorials

The RayWenderlich.com team has been hard at work after WWDC, once again, to bring this year’s “by tutorials” book. This year it’s, of course, iOS 7 by Tutorials. And today I can announce that we have finally been able to release it now that Apple’s iOS 7 NDA has been released!

iOS 7 by Tutorials

Book review – Learning iOS Design: A Hands-On Guide for Programmers and Designers

Design is something that most developers have to do these days. If you’re an indie developer then you’re likely going to need to do the full UX/UI dance yourself. Even if you’re working for a company with a UX/UI team, then you will probably find yourself talking about UX/UI from time to time.

Understanding UX/UI is therefore extremely important.

I had the fortune to be able to review a great book about iOS design. It’s called “Learning iOS Design: A Hands-On Guide for Programmers and Designers”.

A look inside blocks: Episode 3 (Block_copy)

This post has been a long time coming. It’s been a draft for many months, but I’ve been busy writing my book and didn’t have time to finish it off. But now I’ve finished it and here it is!

Following on from episode 1 and episode 2 of my look inside blocks, this post takes a deeper look at what happens when a block is copied. You’ve likely heard the terminology that “blocks start off on the stack” and “you must copy them if you want to save them for later use”. But, why? And what actually happens during a copy? I’ve long wondered exactly what the mechanism is for copying a block. For example, what happens to the values captured by the block? In this post I take a look.

Effective Objective-C 2.0

Well, I’ve been extremely quiet on here recently! That’s because I’ve not only been hard at work over at RayWenderlich.com where I am now an editor as well as a tutorial contributor, but I’ve been finishing off my book, Effective Objective-C 2.0! I can now reveal that it is finally in print and I even have the picture to prove it:

Effective Objective-C 2.0 unboxing

Why I’ve been quiet recently

If you follow my blog then you’ll notice that I’ve been quiet over the past couple of months. Well, I have been quiet on here, but I have been writing. In fact, I’ve been writing more than I ever have. That’s because I’m authoring a book! I have had the incredible fortune to be able to work with Pearson publishers to produce a book in the “Effective” series that was started with Scott Meyers’ “Effective C++”. I am honoured to be able to write a book in this series.

The title of mine is going to be “Effective Objective-C 2.0”. It aims to be a book that teaches how to use Objective-C properly. It is split into over 50 short “Items” that each explain why you should write code in a certain way, or how to use a certain feature. It will help developers who have already read a beginner text and want to learn more.

The writing is going well and I am very close to finishing the first draft now. Then will come the editing phase, which is slightly daunting but I’m very much looking forward to seeing it turn into a real book!

There’s nothing I can show right now, but it will but on Safari “Rough Cuts” soon (I’ll post a link when it is) so if you want to take a sneak peek you will be able to on there. For now, here are a few links to other books in the series that are also excellent:

A look inside blocks: Episode 1

Today I have been taking a look at the internals of how blocks work from a compiler perspective. By blocks, I mean the closure that Apple added to the C language and is now well and truly established as part of the language from a clang/LLVM perspective. I had been wondering just what a “block” was and how it magically seems to appear as an Objective-C object (you can copy, retain, release them for instance). This blog post delves into blocks a little.

Character encoding for iOS developers. Or UTF-8 what now?

Character encoding is a really tricky thing to get your head around. You think in terms of characters usually and as a programmer, that serves you well since everything you type will almost certainly from the standard latin alphabet (i.e. a-z, A-z, 0-9 with punctuation marks). It is this set of characters which was first available for use in computers back in the day, but now that computing is worldwide, we needed a means to display characters from all the world’s many languages.

You will no doubt end up dealing with characters (or more likely strings of characters) if you interface with public services where people themselves create the content such as Twitter or Facebook. In this post I aim to explain all you need to know about character encoding from the perspective of an iOS (or Mac) developer.

Sales increased since iOS 6

A lot of people have been complaining about the new App Store layout in iOS 6. Some developers have particularly been complaining about the fact that their sales are going to drop because it makes it harder for people to find their apps. However, I’ve seen completely the opposite. My sales are steadily increasing.

The main app that I’ve seen this in is my iOS app called Subnet Calc. I’ve seen an increase in sales of around 25-30 per day to 55 per day, in a steadily increasing fashion. This increase started the day iOS 6 came out.