You know what we need? Another conference.

October 6th, 2008 - One Response

Matt made a suggestion the other day by Twitter that maybe we should do something along the lines of Copenhagen iPhoneDevCamp, held last weekend. I don’t know if he was serious, but it got me thinking. It looks like great fun, getting together with a crowd of developers, sharing ideas, and hacking real applications. At the end of the night (yes, it’s an all-nighter) each group demonstrates what they’ve built to the rest of the crowd. Kudos.

Now, I know we must have enough developers in Ireland to have an Irish iPhoneDevCamp. Maybe we don’t want to limit it to the iPhone. Maybe you’d prefer to hack up a web app, or a desktop app. Maybe you’d prefer a more conferencey feel, with speakers and sessions. I don’t know, but if you have any ideas, suggestions, wouldn’t-it-be-great-ifs, head over to the xcake.org site and see what we can pull together, together.

You snooze, you lose

September 22nd, 2008 - One Response

It’s happened again. Sigh. While I’ve been thinking, hacking, restarting, rethinking and generally faffing about, this crowd have come out with a version of an application that’s been sitting in my ‘get this thing finished’ box for a few weeks now.

The app is simply a kind of alarm clock that wakes you up at a specified place rather than a specified time. It uses the location services provided by the iPhone to allow the user to set an alarm to go off when they get within a certain radius of some place. I hate the name, but it’s a cool idea.

I had that idea a couple of weeks ago.

The idea came to me when I fell asleep on the train and almost missed my station. I rushed home (I woke up pretty quickly !!) and started coding. I had something kinda working that evening. It certainly wasn’t pretty, but you could add new alarms, enable and disable them. I had integrated this MapView component allowing you to tap on a map to choose your location. I was planning to add search as well.

Why, then, am I writing about iNap instead of my own app? Because I simply got lazy. Or bored. Probably both. And there was just a little doubt in my mind about whether it was good enough to release to anyone. The upshot being, I missed the boat (or the station). Again.

There was an article a while ago about the value of ideas. And when I say value, the article basically said that ideas are worthless. An idea has no value until it is realised. This is no Platonic ideal we’re living in. Only the concrete has value. There is no need for me to reiterate, but this is a blog, what else is it for? If you have an idea, get your head down and realise it. If you can’t do it, find someone who can. Just get the idea from you head and into a code editor window. Then get it out there. Don’t write about it. Don’t spend time thinking too much about it. Don’t ever think you’re the only person who has thought of it.

In the words of Nike, goddess of victory, Just Do It.

How’s it going?

August 29th, 2008 - No Responses

I thought I’d post a bit of an update on how things are going. I mean, I have the space on the server, and the time between feeds, so why not?

At home, everything is fantastic. Noah, now 8 weeks old, is feeding and sleeping well. He goes for his first round of vaccinations on Tuesday. No doubt, Diane will find that all very traumatic, and Noah will sit calmly, wondering what all the fuss is about. It’s amazing, and a little scary, how fast the last 8 weeks have gone, and how fast Noah has grown in that time. He’s bright and alert, almost ready for his first laptop. The big decision, of course, will be which language to teach him coding with.

As some will know, I started working for ATG round about the time Noah was born. More specifically, I work on the eStara team. It’s been a few weeks of trawling through a *lot* of quite horrible PHP, Java and C++, fixing bugs, and releasing code. The work has potential, and the pay is good, so, I won’t complain.

I have at least one iPhone project “on the go” which I actually think is a good idea. It has, of course, followed the old pattern of quick-out-of-the-blocks enthusiasm, with a huge code splurge into a fresh Subversion repository, followed by the loss of interest and direction. I had planned to submit the project by the start of September. That’s not going to happen now. I really want to get this one finished. If nothing else, it’s been a great learning experience, so far.

Apart from all that, I’m starting to feel a little disconnected. I haven’t really been out of the house for the last couple of months, besides commuting to the office. That means I’ve missed connecting with the peeps at Open Coffee and the like. Twitter maintains a thread of communication, but, it doesn’t quite do the job fully.

Perhaps the wee fella would enjoy an evening of nerdy chat at Charlies. I doubt that his mother would be just as enthusiastic about the visit though.

This iPod thing is a riot

July 22nd, 2008 - No Responses

I’ve just installed the new Wordpress client on my iPod from the AppStore. What can I say? It works.

Update: how meta is this? I’m posting this from the iphone simulator on my MBP, running the latest WordPress code from their subversion repository.

Bloke scheduling

July 17th, 2008 - No Responses

When my wife asks me to do something round the house, my usual reply is “I’ll do it”. Now, look at that for a second. What have I committed myself to there? As far as I can see, I’ve simply committed to doing something. There’s no ‘how’ or, more importantly, no ‘when’, either implied or otherwise. How then does my wife hear this as “I’ll do it now“?

It’s not just my wife that hears an implied schedule in this either. As you may know, when a baby arrives things can get a little hectic around the house. Dishes can pile up, vacuuming tends to go undone for a day or two, and there’s always washing to be done. We have a lot of people wanting to help us, which is great. Our mothers have been the first in line when it comes to offering help around the house. When they see the things that need to be done, they instinctively ask if we want them to do it. And my instinctive response? “I’ll do it”.

The same rules apply here as above. I have not committed to a schedule. I see not immediate need to clear up the dishes, or brush the floor. However, if these things are not down by the time the original samaritan returns it’s assumed that I can’t cope. In fact, there is a general assumption that the father will not be able to cope with the house work. I find this just a little annoying. Sure, I’ve been up through the night. Sure, the wee fella cried a bit. Yes, there’s a pile of ironing to be done. And yes, I’ve been at work all day. So? I do appreciate help round the house, don’t get me wrong. But I can cope with ironing.
I can put on a bite of dinner. I can even work the washing machine.

This post turned into a bit of a rant. Apologies. Maybe the lack of sleep has had an affect :)

The bairn

July 13th, 2008 - No Responses

It’s been a just over a week now since I became a dad for the first time.

Noah was born on Friday 4th July at 12.02pm, by elective caesarian (he remained stubbornly breech). He was a very reasonable 7lb 12oz. The only slight problem was that Diane needed a general anaesthetic after the spinal didn’t work for some reason. That meant, of course, that I wasn’t allowed in the room for the birth. I didn’t even get to cut the cord. I was actually more disappointed for Diane, as she wasn’t even conscious when the wee fella was delivered. But we can’t complain. That was the closest we came to a complication.

Diane and Noah came home the following Monday. I found Diane’s recovery pretty remarkable. She was on her feet the day after surgery. She’s not one for letting things keep her down.

And the result of all this? A very content little boy, who would probably sleep through most of the night already if we weren’t waking him for a feed. In spite of that, both Diane and myself are pretty tired. That’s probably down to a lot of nervous energy, apart from everything else.

IMG_0096 IMG_0095

Now, both Diane and Noah are sleeping, it’s maybe a good time to get my head down.

A common purpose

June 19th, 2008 - 2 Responses

Ian Robinson posted a callout to any Cocoa developers in Northern Ireland (and wannabees, I presume). He wants to form a group to get together in order to dicuss Mac and iPhone development. Great stuff.

However, there’s another fledgling group of misfits meeting under the banner of Xcake.

Let’s get together, and code ! (You kinda have to sing that so it doesn’t sound *too* silly)

So many books, so little … attention

June 18th, 2008 - 2 Responses

I’m a geek and a coder. It’s inevitable, then, that I’ll collect a huge number of books about every geeky, coding subject going. I have countless books on Java, Python, C, testing, framework-this, framework-the-other. A new batch is adding another layer of veneer on my desk at home: the Mac development books.

The issue is, though, that I seem incapable of picking up one book and working through it to the end. I’m time-slicing my scant resources over countless books. This leads to an unfortunate outcome: I learn nothing from any of them (another side effect being the sizable amount of money that I’ve basically wasted over the years).

Reading has become a wholly mechanical activity. I open the book, scan it for all the pictures (being turned off immediately if the word/picture ratio is too high … I like to think of myself as a visual learner, rather than shallow), and then follow the steps in all the programming examples. I end up with lots of example applications, but ask me how they work, or ask me to build one of them from scratch without the aid of the book, and I’d probably struggle.

This is not the fault of the books themselves (although, there are some decidedly sub-par tech books on the market, and most of those have red covers), it’s just that I have an awful lack of attention and focus. So, I’ve decided to take the bull by the horns, and force myself to abide by these rules from now:

  1. Only one tech book on the go at once
  2. Start a project in parallel with the examples in the book (the best books, I find, are those that build a single application incrementally as you progress)
  3. Find others reading the same book and discuss it with them

The book at the top of the stack is Aaron Hillegass’ Cocoa Programming for MacOSX, 3rd edition. The author builds a little application throughout the book, and my plan is to write another little application in parallel, only referring to the book as reference where necessary. That’s rules 1 & 2 covered. For rule 3, if anyone is also reading through this book, get in touch.

Cover me, I’m going in

June 11th, 2008 - 3 Responses

One of the deciding factors on whether I go for the new iPhone 3G (only one of them, mind you) is, of course, what coverage is like where I live. So I followed Matt’s lead and checked the O2 HSDPA coverage maps.

Not good news.

There’s currently no HSDPA coverage in Ballymena.

Of course, I spend 5 days a week in Belfast, and coverage is bound to improve. Isn’t it?

Push it.

June 11th, 2008 - No Responses

So, Monday saw the official announcement of the iPhone 3G. We all knew it was coming, and most of us had started budgeting in anticipation. It turned out that the budgeting may have been unnecessary, as Apple have tried to address the affordability of the device. They also announced MobileMe, the replacement for the aging .Mac service (I say aging when I really mean decrepit). That, again, had been widely predicted.

There was one announcement that was made that I didn’t hear anyone predicting; the push notification service. This is Apple’s proposed fix to the background applications problem (at least, Apple see it as a problem).

As you probably know, appplications written using the official iPhone SDK cannot be run in the background. You cannot write background tasks, servers or daemons that run concurrently on the device. Apple have continually cited battery life and dropped calls as the reasons why they would not support background tasks. That hasn’t stopped developers asking (nay, demanding) it though. So, Apple have listened, thought about it, and come up with a cool (read, over-engineered) approach, that is scalable (read, controllable) and goes most of the way (read, half-way) to meeting the requirements of developers.

The Push Notification Service (or whatever they eventually call it) is, essentially, an proxy service that accepts notifications from developers’ servers that are pushed to iPhones that have installed the developers’ applications. The developer can push badges (those cure little number thingies that tell you how many mails and texts you have waiting), notification sounds and dialogs (I guess that’s actually the ‘description’ of a dialog, along with buttons to be displayed etc.).

A couple of things to note:

  1. The notifications are tied to users.  By necessity, the notifications must be linked to users as they will only be sent if you need to receive them, i.e. you have installed an application from a developer that requires notifications. That’s going to give Apple the opportunity to collect a lot of data about users and the applications they are using. If you trust Apple, that’s not a problem.
  2. The system is only one way. OK, so full details haven’t been released yet, and I may have misunderstood what little is known, but there’s no way for the device to reply to any notifications.

The first one may not be a problem. Apple could use the data collected to simply track the most successful applications and developers. No bad thing. The second point, I see as more of an issue.

I have an idea for an application on the iPhone that requires the device to report it’s location every now and then (”Yea, you and everyone else mate”). Now, I could simply ask the user to click a button on a dialog pushed from a notification, which, at least, gives the user the option *not* to update their location if they choose. But, from a usability point of view, it blows. I’d much rather give the user a preference to turn off automatic location updates when they want some privacy, rather than bother them with periodic notifications flashing up every now and again. And I can’t have anything running to respond to notifications that come from the server, because that’s just a background task, and I’m not allowed those.

(I could, of course, just develop my app with the unoffical toolchain.)

What about a small service, running on the iPhone as a client side addition to the push notification system,  with which developers could register bundles to respond to notifications from their servers? That way, developers would effectively delegate the handling of notifications on the client side to an Apple process, keeping Apple in control, yet giving developers some of the flexibility of developing their own background services.

The full details of the service have not been disclosed, and I’m not at WWDC to hear if any further details are given. I’ll be interested to see how they deliver this one.