I am having a strange issue with UIImagePickerController which is really bugging me. I’ve also found someone else with the same problem so I know it’s not just me!

When using UIImagePickerController, and the imagePickerController:didFinishPickingImage:editingInfo: delegate method gets called, I find that sometimes the returned image is nil, which depending on what you do with the image will cause a crash or at least not do what you expected. It seems to be a memory issue because when you reboot the iPhone and try again, it works and returns the image correctly. Also, I’ve not have the problem on iPhone 3G S which has more RAM, indicating again to a memory issue.

I’m wondering it the new imagePickerController:didFinishPickingMediaWithInfo: delegate method will work – as the other has been deprecated in 3.0 anyway.

But has anyone else had, and fixed, this problem?

I have a theory about Twitter and the iPhone in that once Apple’s push service is released (presumably with 3.0) it will pave the way for things like a Twitter client which informs you of new tweets in much the same way that the iPhone itself does with SMS messages. Therefore I can see the future being that iPhone users will increase their tweeting even more, thus not having to use SMS which has 2 advantages. One is that Twitter is free, and two is that if you happen to be on your PC rather than have your phone in front of you then you can receive messages or send messages using your favourite desktop Twitter client.

The problem comes of course that you still have to have polling in there somewhere because Twitter don’t have a push notification themselves, but perhaps Twitter will try to cash in and create their own iPhone app and add Apple’s push service to their own backend service.

Who knows…

This weekend has been surprising for me. Firstly, it has seen the start of some contract iPhone application work which I managed to pick up. Secondly, I have been contacted about joining with a couple of people to start looking into the market potential for mobile applications. And thirdly, I have been contacted asking if I’d like to apply for a job developing mobile applications.

All of these points have made me realise just how big the market is for mobile applications, and just how much of a growth area it is likely to be over the coming months / years. It’s very exciting and I am looking forward to being part of such an exciting industry. I’ll try to keep blogging about things I find out and hopefully others can learn from my thoughts or just enjoy reading what I am finding out.

When I released Subnet Calc Pro, I worked out how many hours work I did on it and therefore how much money I would like to get back from it. Then I decided a price based upon how many sales I thought that I would get. I managed to achieve my money goal after just under 3 months of selling which I thought was extremely quick as I had imagined it would take more like a year to do that!

That is one thing that shocked me, but the other thing which shocked me is that my sales have been steady throughout the whole time I have been selling Subnet Calc Pro, with no sign of stopping yet. There was a spike around the time I released an update to Subnet Calc (the free version) which now has an up-sell page on it to encourage users to upgrade to the paid version. If there is a trend at all with my sales then it’s an increasing trend as well, which I am obviously very pleased with!

Here is the graph of my sales from 1st February 2009 until today, 16th May 2009.

Subnet Calc Pro Sales

The bottom line is that this has proved to me, and I hope others who read this, that the iPhone platform is a great platform to work with because you can go from never written a line of Objective-C to a full paid application, earning £££/$$$ a month. OK my app won’t support me fully, but it certainly is some very handy pocket money which will enable me to continue in my iPhone efforts and hopefully produce even more apps.

2.x apps on 3.0

May 5th, 2009

Since the release of the first beta of the 3.0 SDK I’ve been checking if apps built for 2.x can run on it. Clearly this is something which Apple really should do, but a hint in the latest (beta4) release notes says this:

FIXED: Previously, the compiler incorrectly allowed synthesis of ivars belonging to a superclass. This caused crashes or other undefined behavior when the size of the superclass changed (such as running an application compiled against an older OS on iPhone OS 3.0.) The fixed compiler now generates an error when it encounters this condition. If you have shipped an application to customers, Apple recommends compiling against the 3.0 SDK and updating your existing application if the problem exists.

Now, does that mean that you’re going to have to release an update for apps which exhibit this problem for people on 3.0 to be able to use the app? Surely that cuts out people who upgrade, and if you update your app then it cuts out people who don’t upgrade? Lose-lost situation?

I started using the lovely json-framework for the iPhone but then suddenly found that if I compiled for anything greater than 2.1 for a device, that it would pop up with:

Codesign error: “object file format invalid or unsuitable”

It took me a long time to figure out what was going on, but thanks to a blog post, the fix is this:

On the project settings, on the build tab, search for “Code Signing Resource Rules Path” and set “$(SDKROOT)/ResourceRules.plist” as its value.

I’m not sure how it works as it looks like that is the path it already has, but hey, it seems to work!

Target Reached!

April 25th, 2009

Today I reached my target for what I had in mind when I created Subnet Calc Pro! I won’t disclose how much this is, but I can say that it’s more than I initially expected, but not enough for a monthly wage! It took me just under 3 months of sales to reach the target which in my opinion is pretty good.

My experience at getting from a non-iPhone developer to successful application selling on iTunes has been an interesting ride which I have enjoyed very much. It’s exciting to be part of what seems to be a great technological revolution.

My current efforts have been focussed on my new app, BeerMap which I am hoping shall be released soon!

WhoseRound: v1.0 Released

April 18th, 2009

Over the weekend my new application, WhoseRound, was released. This is a fun application which allows you to draw straws for deciding quite literally anything. Basically, whoever ends up with the red fingerprint is the person who has been chosen!

iPhone OS 3.0: My Thoughts

March 17th, 2009

Ok, there’ll be plenty of these kind of post floating around, but I wanted to get my thoughts written down anyway.

Before the iPhone event today, my thoughts on iPhone OS 3.0 were that it would be a worthwhile upgrade and I was excited to see what new features Apple had in store (you can ask anyone at my work and they’ll say how excited I was!). But it turned out that Apple went far above and beyond what I had expected…

Read the rest of this entry »

Subnet Calc Pro has now been out for just over a month and I can safely say that it’s had a lot more uptake than I thought it would! It’s not been massive in sales, but the best thing is that it has been steady. It’s not going to mean I can quit my day job, but it has meant I feel rewarded for my hard work of learning a whole new programming language, fighting through Apple’s tax forms and releasing an application.

I hadn’t had any reviews of Subnet Calc Pro, but I was using AppViz today and I noticed a review! I thought, oh it’ll just be a short one, but no, it was a full blown review! Awesome! And better still, it’s a glowing 5-star review which I thank you (whoever you are) very much for :-D .

The funniest bit of the review was where he says:

The only con I can see is “Organizer” is misspelled as “Organiser,” but no big deal. The concept is still there.

And if the only con is that I’m English and therefore, speak English, then woo!

Here is the review in full:

I must admit, I was initially skeptical when I saw this advertised. I immediately thought “oh, another subnet calculator, how novel.” Upon downloading and trying it out, I was amazed at it’s capabilities.

Pros:
1) Organizer – solid understanding of the radix (or binary if you prefer) tree when creating the subnet entry. Also the ability for it to calculate and display the host portion of the ip address so you can add a hostname and a description to each is a very nice touch. The use of the iPhone’s memory is also very efficient.

2) Finder – finally, an application that can aggregate! This excited me the most and it does work and give you an accurate prefix. Now, granted, any network admin is able to create a prefix summary in 2 seconds, but this is actually nice and convenient. In addition, you also get other useful info such as network id, broadcast, usable range, etc.

3) Calculator – handy feature to quickly help you break down any ip address with your cidr selection into the same useful information such as network id, subnet mask, usable range, maximum number of hosts, etc. Even better is you can see the addresses broken down into both binary and hexidecimal addresses which are both handy in their own rights.

4) Email data export – handy when you want to send a summary of what you had added in the organizer section.

The only con I can see is “Organizer” is misspelled as “Organiser,” but no big deal. The concept is still there.

Future suggestions (if the developer is taking any):
-calculate binary and/or hexidecimal to decimal format.
-Add screenshot to show off the Finder selection when advertising within iTunes.
-shorten the application’s name on the iPhone home screen. Currently, it shows as “Subne…cPro.”

Overall, a very nice job!

So, I immediately jumped on the review and I’ve changed the screenshots around to show the finder, which I had previously omitted from the screenshots (you only get chance to put a total of 5 up and I didn’t have room, but now the finder has taken priority over another one). I know I should make the application name shorter, but I didn’t know how I could shorten it really – any ideas? SCPro maybe?