Thursday, April 11, 2013

The Situation (Day 31)

Tonight I got my first little iOS application running. It's just a standard piece of demo code, but it's something. There is a fairly complicated process you have to go through to, basically, give yourself the right to compile and execute code using the computer you bought, the device you bought, and the compiler tools you downloaded. You have to set up a key, and to do that you have to have an active developer program membership, which you have to pay for. It's $99. I had purchased a membership a few years ago but never actually got around to using it, what with the new baby at the time and all. So I had to buy another year. And a new iPod Touch, since my first-generation device was just hopelessly out of date (they're currently on generation five, and much has changed).

So I'm an iOS developer now. Well, sort of. I don't really know how to do very much, yet. I've got some books to study. There's an iTunes University class. I don't have anything you can download from the App store yet. If you want me to develop something for you, get in touch; maybe we can work something out. I'm going to attempt a puzzle game. Although I'm a very experienced developer in general, and on Apple platforms in specific, I'm new to both iOS and Objective-C, so keep that in mind.

Distribution of iOS applications has a few complications as well. If I were consulting with you and you wanted to pay me to develop an app that you planned to eventually distribute through the App Store, you could bring me your iOS device and I could set it up ("provision" it) so that I could install a build of the application in progress for you to try out. But I don't think I could, say, e-mail it to you in a form such that you could easily install it yourself. But that isn't really for developing "in-house" apps -- say, something you want to write just for people in your own company to use. There's a different program for that -- the $299 Enterprise version, that gives you the means to distribute an app within your organization. I'm still coming up to speed on how this all works. I'm really not very happy with this code-signed, digital-rights model where I can't just send you a program I wrote, but I guess that's how it is with iOS development. It seems I'll have to accept that model, at least long enough to learn more.

Learning iOS development seemed like a natural thing, given that I've been, at various points, a developer for MacOS, MacOS X, and Newton. The question is whether this might actually open up any more useful opportunities. Will it pay for its own (small) cost in money, and (potentially large) cost in time? Maybe. In 1993, it did, but I was able to spend my evenings and weekends teaching myself Newton programming. That's a lot harder in 2013, with a wife and kids, even while unemployed, since I'm finding that even a fairly inept job search is extremely time-consuming. But let's assume I can get good at it. Maybe what I want to do is be an in-house iOS developer. The question then becomes "where?" and "how much will they pay me?"


Adipic Acid said...

If ObjC is giving you trouble, I do believe that there is a way to do most of the actual coding in Python, but you will have to translate all of the sample code yourself.

Although I rarely program in it, I don't find it that hard to slide back into ObjC myself. Must be all that SmallTalk I wrote back in the early 90s.

Paul Potts said...

I don't think it will give me too much trouble. I have studied SmallTalk a bit and I have some books on it. What is odd is the weirdness of the "hybrid" syntax. But I expect that if I get into it much I'll stop noticing it.