Home

Archive for the tag 'ios'

Evolution of an iOS app – Part 1

Back in 2008, in the middle of a 4 month trip overseas, I purchased an iPod Touch. It was awesome and opened my eyes up to the new wave of hand-held smart phone devices which were being released. My mobile phone at the time was a trusty but severely outdated Sony Ericsson. Time to immerse myself in the latest technology! So when I arrived back home after my travels, I quickly bought my first iPhone – an iPhone 3G. And so started my interest in all things mac and all things iOS.

By the end of 2008 I had also completed my mac transition by purchasing a macbook. During 2009, at work I became heavily involved with mobile application development and iPhone app development (although not from the programming side).

On a personal level, although I had the tools available (mac + iPhone) and a knowledge of programming, I didn’t feel capable of developing my own iPhone app. Prior to this, I was well versed in web development. It is what I felt comfortable doing and had had a fair bit of success doing. Application development & dealing with things such as memory management just seemed like another world which I was a complete novice at.

First Idea

So sometime in 2009, I wrote a blog post with an idea for an iPhone app. It would allow someone to post to various social networking websites at the same time – twitter , facebook, myspace, yammer etc. It seems like a very obvious thing to do now and their are now companies who make a lot of money from widgets and apps that do this – but back then, there was only one other iPhone app which did this – and it required you to sign up to their service and was all around not user friendly. So my blog post put the idea out there and it was picked up be a UK developer who worked with me to develop the app. In the process of the app being made, I started thinking “hey.. I could have done this myself”. So after the app we did together launched and failed to get any traction I set my sights on thinking of another idea I could do completely on my own.

Second Idea

10 months later…

It was the end of 2009, Christmas time. I tend to buy a lot of my Christmas gifts online as I really hate shopping centres at that time of the year.

So there I was getting many presents delivered by various companies. Having to login to all the tracking sites, copy/paste my tracking numbers each time. Annoying. So an idea for an app was born. Of course, the first thing to do is track for apps that already do this! After a search, there was only one app which had a great design – but it only supported ~10 U.S. based providers. Great! Still a huge market left and a great opportunity to make my app even better with more features. I initially would focus purely on Australian delivery companies. In fact, at this stage expanding beyond Australia was not even on the cards..

It Begins

I signed up for the iPhone Developer Program, downloaded XCode and in early January 2010, opened up Photoshop to come up with some initial designs.

You can see the initial name for the app was “Postee”. I had forgotten about this haha. I quite like it. I wish I could remember why I changed it 🙂 (update – ahh chat transcripts are great for nostalgia – here’s why). Another name which a friend suggested was “Keep Me Posted”. I liked this, but I decided against it because it wouldn’t neatly fit in the space available under the app icon on the device home screen.

So design is the (kinda) easy part of this whole experience and you can see that even today, the current app still looks pretty darn similar. How about the coding?! Well with zero knowledge of Objective-C and little application programming knowledge (despite dabbling in some .NET apps) I sure had a lot of learning to do.

Next?

Part 2 (and more?) will cover how I managed to learn Objective-C and the iPhone SDK and make the app a reality. I will also cover more on the business side such as contacting a whole bunch of shipping providers, GST obligations, earnings, marketing, support methods and how the app and feature set has evolved. Stay tuned.

iOS Development – Gotcha #1

I do some iOS development (both personally and for work). It’s great. But. It’s also very painful at times.

One reason it is painful is the provisioning profiles & certificates setup. I dread the next time my provisioning profiles or worse, certificates expire. It’s just annoying. And always involves way too much clicking and anxious holding of my breath when I click the magical “build” button.. just waiting for those terribly unhelpful codesign errors.

Certificates expire every 12 months.
Development provisioning profile expire every 3 months.
Push notifications certificate expire every 12 months.

Anyway, I experienced a terrible gotcha today. I had to shake my head in wonderment. I was helping a colleague do a distribution build for a new app for work. As I am team agent (i.e. super admin) for our work’s iOS Dev Portal I was assisting in setting up their macbook with the distribution certificates, creating app ID’s and all sort of other annoying stuff.

The gotcha came as I was creating the distribution provisioning profile. My process was:

  1. Login to iOS Provisioning Portal as Team Admin
  2. Create Distribution Provisioning Profile
  3. Download to my mac
  4. Email to colleague
  5. Have him double click it to install into his XCode

Sounds simple right?

Well, the last step refused to work. No matter what. We tried everything we could think of. Extensive googling and an all around waste of 20 minutes of our frustrating afternoon.

So for giggles, I asked him to let me login to the iOS Provisioning Profle on his macbook. Thinking I was asking to do something which was a complete waste of time.

So I logged in, downloaded the provisioning profile & double-clicked to install. Voila. It worked. I couldn’t believe my eyes.

It was the SAME user logging in. Downloading the SAME provisioning profile.

The moral of the story for anyone experiencing a similar issue and who googles “provisioning profile won’t install”: DONT EMAIL PROVISIONING PROFILES. They obviously dont like to be emailed.

* Compressing the provisioning profile prior to emailing may have worked. But I didn’t want to waste any more time on the ridiculous process, so I didn’t try. I was emailed through exchange, but exchange didn’t complain about the file type or anything like that.

More iOS related posts to come. Both positive (i.e. making money!!) and probably more gotcha’s.