iPhone SDK tutorial videos???

I thought the NDA was still in force? Still – iphoneDevelopmentCentral is just great. I’ve copied these links to the XCake.org web site. Related posts: Can’t say NDAnything Developing for iPhone? iPhone stuff Og tutorial (part one)

I thought the NDA was still in force?

Still – iphoneDevelopmentCentral is just great.

I’ve copied these links to the XCake.org web site.

Work in progress

Apple released beta5 of the iPhone SDK and quietly opened iPhone Developer registration to the public so that everyone can load their code onto their iPhones and give them a go. The updates SDK is winging it’s way to me at 1495K/sec right now which means I’ll be able to have a play with it … Continue reading “Work in progress”

Apple released beta5 of the iPhone SDK and quietly opened iPhone Developer registration to the public so that everyone can load their code onto their iPhones and give them a go. The updates SDK is winging it’s way to me at 1495K/sec right now which means I’ll be able to have a play with it at lunchtime when I’m away from the oppression at $BIG_COMPANY (where music players have now been banned because they’re ‘not professional’ – it’s fun working through a problem when there are people talking loudly in every direction – really aids the concentration.)

Anyway, the SDK release.

This is, to be honest, much sooner than I expected and I think there must be quite a few happy people around who are loading apps onto their phones and enjoying the novelty. I’ve been fighting for some time at lunch just to try Interface Builder but something has always come up for the last 7 days. It’s frustrating and when I mention the frustration, the helpful response is ‘Well, if it mattered to you, you’d find time.” Brilliant.

I don’t know what sample code will work on the iPhone with the latest beta and I don’t know whether or not it’s safe to load my iPhone with the beta firmware and still want to use it as a phone. And there’s no way to check because Apple still have an NDA on all discussion on the technical aspects of the SDK and firmware.

As this is very much still a learning experience for me, it’s slow and boring. I’ve kinda decided to strike out and work on something else in order to maybe build some momentum. I would like a cashflow-type application for the iPhone.

As you can see, it’s a work in progress.

Cocoaing with the JesusPhone

My copy of “iPhone Open Application Development” arrived in my hands today after spending a couple of weeks in the Mac-Sys office. It’s a slim tome compared to the other Cocoa books I have but I understand where it fits in and it’s a nice little addition to the collection. Why is this book relevant … Continue reading “Cocoaing with the JesusPhone”

My copy of “iPhone Open Application Development” arrived in my hands today after spending a couple of weeks in the Mac-Sys office. It’s a slim tome compared to the other Cocoa books I have but I understand where it fits in and it’s a nice little addition to the collection.

Why is this book relevant when we have a proper (beta) SDK available from Apple’s Developer Site. Because, gentle reader, it looks at the system from a different angle and I think it will help me better understand how things fit together. It goes into a lot of detail in the construction of an application and the bits and pieces that are needed. This reinforces that there’s no ‘magic’ here. It’s a system with components.

I’ve only got a couple more chapters to go through in the Cocoa book I’m working on. Then I’ll attack the iPhone book as well as the BigNerdRanch Cocoa book.

Code Signing. And me.

‘Perry’ wrote (on the RogueAmoeba blog post “Code Signing and You”): “…the case for Code Signing on a Mac – in the service of its administrator/owner – is very compelling. In a sense, the Mac is living on borrowed time – viruses and worms and other nasty bit-critters will surely come our way, and going … Continue reading “Code Signing. And me.”

‘Perry’ wrote (on the RogueAmoeba blog post “Code Signing and You”):

“…the case for Code Signing on a Mac – in the service of its administrator/owner – is very compelling. In a sense, the Mac is living on borrowed time – viruses and worms and other nasty bit-critters will surely come our way, and going to an all-signed environment is one the most potent weapons we have to keep your systems from being overrun. I realize this capability *could* eventually be abused in various ways, and I trust you’ll all keep Apple honest about it. But it can also be a powerful force *for* you.

Oh, and to put that to rest: I do work for Apple, and I designed and implemented Code Signing in Leopard. If you think it’s going to usher in a black wave of OS fascism, you have every right to blame me – it was, pretty much, my idea.”

Like some, I see code-signing as a necessary neutral. It’s neither good nor evil but it could be used for evil purposes (where evil is really just a shade of ‘not good’).

It’s all about trust again. When we first heard of Intel’s Palladium, there was an uproar. When we heard about processor serial numbers on the Intel platform, there was an uproar (despite the fact they had been quietly present for years on PowerPC).

The other commenters on the blog put forward scenarios where corporations will use this facility for evil and point to Apple’s DRM’ed music (using FairPlay) and also Apple’s odd restrictions within DVD Player.app on Mac OS X as an example of how the company is ‘evil’.

Of course it’s bollocks.

It took FairPlay to get the media owners (record labels) to start to play ball. Now we have DRM-free music available from multiple sources. Similar Apple’s DVD Player is compliant with the law because they want to avoid litigation. You can get round it by using other DVD-playing applications but Apple plays it safe. They’re not interfering with other third party apps.

It may be blind and stupid faith but I know enough people within Apple and I’ve read enough accounts of people working there that I trust them to do the right thing. Individual end users do need help in discovering which applications are bad and which are good and Apple, in order to reduce the amount of legwork required, is bound to have a review process where they solicit information from users of iPhone applications. This will have the dual effect of speeding up the eventual distribution of applications and also making sure there’s a peer review process.

I’d like to hear more from Perry on this debate as individual security on computing devices is important to me from the point of view of working in the IT business. There’s always a considerable difference in working with Macs and PCs – the latter is always slower in my experience (considering that my day job gives me a Core Duo machine running XP and my home machine is a Core Duo machine running Leopard) due to the need to perpetually run AV and firewall software and if not running them, due to the amount of malware that has been picked up.

Not enough people hear the reasons for design decisions and this is an Apple fault. They don’t make individuals publicly known. Every time there has been an outcry, I’ve always managed to speak to someone within Apple and they’ve given me the reasons for this and that. And yeah, in the wake of their spin doctoring I’ve always agreed.

For the average end user there needs to be a helping hand, an additional way to reduce the contact they have with malware. It’s something that will piss off some people who for political reasons want to have 100% access to their devices but I’m confident that the jailbreaking crowd will cater for them adequately.

Dicing with the iPhone

In an odd combination of non-day-job-work and play, I found this: “I started working with the audio toolbox on the iPhone today. This morning, I added sounds to the little dice rolling application I’ve been writing. I recorded a total of fifteen sounds, five of a single die being rolled, five of two dice being … Continue reading “Dicing with the iPhone”

In an odd combination of non-day-job-work and play, I found this:

“I started working with the audio toolbox on the iPhone today. This morning, I added sounds to the little dice rolling application I’ve been writing. I recorded a total of fifteen sounds, five of a single die being rolled, five of two dice being rolled, and five of four dice being rolled. I let my kids roll the dice while I recorded the sounds, which they thought was cool, although they can’t understand why I can’t put the program on my iPhone.”

I’ve never really used computers in my gaming. Recently it was useful because Google Maps helped us visualise the countryside in Arizona where we were travelling through.

  Jeff LaMarche is developing an iPhone Dice Roller for us gaming geeks and I, for one, think it just the tip of the iceberg for the iPhone/iPod touch-carrying gamer geek.

Okay, Jeff, get this app out and we’ll see what we can do about Apple giving us a Certificate to install. I’d like to see “dice sets” myself. I will need all sorts of dice for Runequest, only d10s (but a lot of them) for Godlike and everything in between. Get to work (because it looks gorgeous).

In planning to play Godlike, we’re going to be using a lot more than one pair of d10s which means that the possibility of using a DiceRoller application has great interest to me. I don’t know if Jeff LaMarche will develop it but it’s inspired me that I’ll need it. Do I need it to just roll a number of d10 or do we need to provide matches? What about dynamic rolls? That would rock 🙂

My battery will need to be replaced however – to help make sure it lasts a game session and also gets my email. I’ll get in touch with my local AASP and get that sorted.

A light went on somewhere…

After each section of the name, there is a colon, which is actually considered part of the name itself and then a parameter. The type of the parameter is given in parentheses, followed by the parameter name. After reading this short section, seriously I felt a light switch on in my brain. I’ve seriously started … Continue reading “A light went on somewhere…”

After each section of the name, there is a colon, which is actually considered part of the name itself and then a parameter. The type of the parameter is given in parentheses, followed by the parameter name.

After reading this short section, seriously I felt a light switch on in my brain.

I’ve seriously started reading about programming on the Mac and like in previous centuries I’ve had issues with trying to jump in and do things because I don’t know head from tail.

It’s like being instructed how to extract DNA
from a tissue sample by being told:
“Here’s a tissue sample, extract the DNA”

My experience with writing code started in about 1982 when I got a Sinclair ZX Spectrum for Christmas. I didn’t know anyone else with a computer and struggled along with Sinclair BASIC in isolation for about a year until I decided (at the tender age of 11 or so) that computers were crap and it would be a few years until they got “good”. (Even then I was prescient). The Spectrums had issues with dust or heat or something and the recommendation we got from Sinclair was to blow a hairdryer on ‘cool’ in the port at the back to prevent the . It didn’t help that half of the sample code examples were printed incorrectly (in manuals and magazines) and I had insufficient understanding of what was going on to even guess what might be wrong with the code I’d painstakingly typed in (and with no persistent storage, turning off the machine meant starting again). It brought many tears to my eyes at the time and even playing The Hobbit ‘adventure’ game didn’t help because I’d not read the book and had no idea what to do when I met the trolls other than get eaten. I let computers pass me by for a few years, dallying only with playing a few head-to-head games of Falcon at a friends house (two friends, one had an Amiga, the other an Atari ST and using a cable you could hook them up for dogfights). I knew then that multiplayer games were a hundred times more fun than playing solo and a million times better than being constantly eaten by trolls. But there wasn’t a medium for ‘playing’ over at the time and I was soon working towards my A-levels planning for a career in Biology and, for the most part, forgetting all about computers.

Back when CD-ROM was an acronym used
with “inverted commas” when speaking.

Mac Plus SE from the Psychology Department. We would sit up playing with stuff like fonts, games and clip-art until dawn broke, fueled by coffee and we’d grab a couple of hours sleep before I had to go to grueling 9 am – 5 pm lectures and lab practicals. Throughout university I had no exposure to Windows – just UNIX and Macintosh. And I didn’t think for a second about writing any code to take better advantage of them. I was more interested in talking using a computer, even just sending text between machines.

After graduation, the market for genetic engineers was pretty poor and though I had a placement guaranteed in the City Hospital labs (I’m not just a pretty face), I gave it up for a lesser job which paid better and would give me time to go back to college to study something about computers.

What the hell is this crap?


At the University of Ulster, we were introduced to Modula-2 and, to be honest, I foundered. I couldn’t see anything exciting about it and we were interacting with it using Windows, which interfaced with the VAX using some sort of terminal application. I am not kidding that when presented with Windows and VAX/VMS after coming from UNIX and Macintosh, I was less than enthralled. I did my best with Modula-2 and even stayed up all night one evening i the labs trying to get the main assignment to compile. I’d have gone mad if the guy next to me hadn’t left a copy of Lemmings running. I passed that course but I hated it. And because I didn’t seem to be a star in Modula-2, I didn’t get onto the C-course in the second semester and instead had to learn all about COBOL. Needless to say, code didn’t seem very attractive. Mainly because I was apparently shit at it.

Code is sexy. So are boobs


It did help cement my interest in networked environments and through a series of trials and tribulations I managed to wangle myself onto another course (AVTIT), which allowed me to piss about with ethernet and TCP/IP. This actual ‘practical’ knowledge of TCP/IP served me well, as did my Mac background, in getting me a placement with Nortel which really served as my introduction to I.T. as a career. My job was mostly looking after the Mac people there so I devoured a copy of the Mac Bible and learned quickly (and eventually didn’t need to call my girlfriend as often to Mac advice). From there I went on to just networking as a career and to be honest have not looked back. I did have to touch C code once while there – and that was because we used an in-house ‘clocking’ system called flexi which had been hardcoded with s 250 person limit. As NITEC grew, we hit 250 and the system fell over. Changing the limit to 499 worked but required me trawling through the code, figuring out what needed changed and then getting a student to help me compile it and get it running. I developed a little crush on her it has to be said (well, she was smart, good-looking and had a great rack…)

Liars, thieves and businessmen


After that it was more networking work, then headhunted to run the technical side of Macinni by their Commercial Director (Gerry) and when that failed due to horrendous mismanagement of the sales/retail side. A startup losing half a million pounds in six months is something unheard of these days – but what can I say – Caveat Emptor. It was a humbling experience being made redundant by a couple of crooks but I came out of the experience with some new friends, my savings and a lot of righteous anger about how a Apple Authorised Service Provider should be run. And decided to do it myself, pulling in every favour I could ever have made and dragging the technical guys from Macinni with me (I kinda figured the Admin and Sales guys could fend for themselves). We applied to Apple and it took a long phone call to the UK MD to get them to give us a chance as an AASP considering the disaster that was Macinni.

I will learn to code.
If it kills me


This year Mac-Sys is five years old (it seems like ten) and it has had ups and downs to be honest. People come and people go. And I still can’t write more than a few lines of code because, frankly, it was never the day job. I’m trying to change that and maybe at the same start to bring some value other than my boyish good looks (which have long faded) and charm (which I never had). Writing Cocoa code is hard but realistically no harder than PHP or any other code I’ve touched and not been able to get the hang of.

To this end I’ve started working though a book of code which is getting me started. Philip and Aidan have pledged some time to help me through some examples and I’m trying to get some guys in $BIG_COMPANY who are interested in Mac/iPhone development to come out at lunchtime to NISP and talk Cocoa for a bit. We also mooted the idea of reviving Cocoaheads but I’m not sure how this would pan out considering I’m out in the evenings a lot as it is (with gaming once a week and OpenCoffee and NiMUG once a month. Add in Cocoaheads….)

I’ll keep y’all informed.

XCode is hurting my patience

So how am I meant to deal with the light blue blobs. I can’t ‘edit’ that text in any sensible fashion when what I really want to do is remove the space just after the * character. I end up just typing the whole thing which removes the point of autocomplete. Related posts: iPad All … Continue reading “XCode is hurting my patience”

So how am I meant to deal with the light blue blobs. I can’t ‘edit’ that text in any sensible fashion when what I really want to do is remove the space just after the * character. I end up just typing the whole thing which removes the point of autocomplete.

Apple makes it clear…

For the hard of thinking…. According to iLounge, Apple today sent out a mass e-mail with helpful development links and a more detailed message regarding their status. “We have many more requests than we can serve during this initial beta period,” explains the follow-up e-mail, “so we must limit the Program at this time. We … Continue reading “Apple makes it clear…”

For the hard of thinking….

According to iLounge, Apple today sent out a mass e-mail with helpful development links and a more detailed message regarding their status.

“We have many more requests than we can serve during this initial beta period,” explains the follow-up e-mail, “so we must limit the Program at this time. We plan to expand it during the beta period, and we will contact you regarding your enrollment status at the appropriate time. We appreciate your patience.”

Okay? We done crying about it?

Re: iPhone Developer Access

I love being right. 🙂 Like I was here Apple says (emphasis mine) Dear Registered iPhone Developer, Thank you for expressing interest in the iPhone Developer Program. We have received your enrollment request. As this time, the iPhone Developer Program is available to a limited number of developers and we plan to expand during the … Continue reading “Re: iPhone Developer Access”

I love being right. 🙂

Like I was here

Apple says (emphasis mine)

Dear Registered iPhone Developer,

Thank you for expressing interest in the iPhone Developer Program. We have received your enrollment request. As this time, the iPhone Developer Program is available to a limited number of developers and we plan to expand during the beta period. We will contact you again regarding your enrollment status at the appropriate time.

Thank you for applying.

Best regards,

iPhone Developer Program

I find entitlement tears to be even more annoying than crocodile tears.

Distribution of iPhone apps

So, there’s three categories of applications which can be installed onto the iPhone without Jailbreak. Payfer Apps – you write your application, sign it, give it to Apple and they host it on the App Store and you get 70% of all proceeds. Free Apps – you write the application, sign it, give it to … Continue reading “Distribution of iPhone apps”

So, there’s three categories of applications which can be installed onto the iPhone without Jailbreak.

  1. Payfer Apps – you write your application, sign it, give it to Apple and they host it on the App Store and you get 70% of all proceeds.
  2. Free Apps – you write the application, sign it, give it to Apple and they host it on the App Store for free.
  3. Source – you write the application, give the code to someone else, they sign it themselves and then they can install on their own iPhone via XCode

The last method changes things. It’s no longer just a case of just releasing source code, there’s the signing too. You’re attaching your identity to the code. A bit more than just running ports or apt.

But it does mean that for the select few who can install apps (been accepted into the Beta program, paid their $99, uploaded their CSR, downloaded their certificate), there’s a method of swapping test code and with a bit of luck a community will build.

For my part, I’d like to play with Kalimba on my iPhone!