Archive for the 'ios' Category

WWDC 2010 – An Aussie’s Experience

In 2010, I was fortunate and lucky enough to be awarded an Apple University Consortium (AUC) staff scholarship. One of the advantages of working at University! At the time, I had been heavily involved in mobile web apps and iOS apps – both professionally and personally and was also well and truly an Apple convert. So to say I was over the moon was an under statement.

With WWDC 2011 only a few days away, I thought I would share my experiences and a few tips.

Tip #1 – Stay up until night time on the day you arrive

Coming from Australia, jet lag can be an absolute nightmare. The first time I visited the USA, I made the mistake of crashing at the hotel as soon as I arrived (about 2pm). The next 4-5 days were a whitewash of hazy memories, waking up at 3pm and wasting entire days.

For WWDC2010, I made an effort to stay up to 9pm on that first day – and was completely fine the next day. A world of difference and a great start to your trip.

Tip # 2 – Seek out your core group

Being part of the AUC group made a huge difference to my experiences and I still keep in contact with some of the AUC group I travelled with to this day, a year on. Having fellow Aussies (and a few NZ’ers) to talk to made me feel relaxed and feel as though as I was amongst friends straight away. Travelling by yourself can be difficult, and without this core group, I probably would have stayed in my hotel room a fair bit more than I did. It was great to hear about people’s experiences around the AUC community – some very interesting projects and initiatives – particularly from some PhD students.

Tip #3 – Go to sessions which you don’t necessarily know anything about rather than ones you are familiar with

In the first few days of the conference I stuck to the sessions which I was already somewhat familiar with. Of course, I still learned a lot and I would recommend you continue to go to these sessions. But! Make an effort to go to at least a couple of sessions where you really don’t know the first thing about the topic. That’s when you really start challenging your own approach to development.

Tip #4 – Go to the Design Awards & Stump the Experts

The Design Awards are a great homage to the cream of the crop of app developers. It a fun and light hearted award ceremony where the Apple execs really do place an emphasis on what the talented developers have made for the Apple platforms. It’s also a good chance to gain an insight into what apps the Apple team members themselves use.

I admittedly skipped the Stump the Experts session because I was simply too tired that night. But if you can have a red bull or two, I hear its well worth attending – particularly for your inner geek.

Tip #5 – Go to the WWDC Bash

The band is generally OK, but its more a chance to have a few drinks and get to know your group of friends a bit more. The food is also pretty nice too.

Tip #6 – Sign up for app appraisal session as soon as you arrive

I was too late for this sadly. Apple was offering a limited number of spots for a developer to sit down with some Apple employees and talk about their app. From design suggestions to suggested functionality improvements, it sounds incredibly useful. Unfortunately the limited number of spots per day were booked out very very early on. So if this sounds like something you would want, make sure you make it your first task when you arrive at the Moscone Center. I think its worth checking each day if there had been any cancellations too…

Tip #7 – Eat lunch with a different table of people every day

It can be pretty daunting walking into the absolutely huge lunch area, being funnelled through the lunch stations and then looking at the mass of tables everywhere and trying to figure out where to sit. For the most part, if you haven’t gone into the lunch room with someone you know, you will have no chance of “bumping’ into someone you know. So don’t look like an idiot trying to find your buddy, just find the nearest free spot on a table and ask if its free. Done! Remember, a lot of people are in the same position as you. So asking a simple question like “What session did you just attend?” can be a good ice breaker. It can also be really interesting to find out what they do for a living and more often that not, people are keen to show off their apps.

Tip #8 – Line up early for the keynote… but not crazily early

The keynote is one of the bigger aspects to the WWDC experience. There are always going to be the hardcore people that start lining up the night before or at some ungodly hour in the morning.

For me, I work up at 6 and was in the line just before 7am, with my breakfast burrito and and hot drink. I spent about 90 minutes being funnelled through a spiral of rooms inside the Moscone Center. But I easily got into the main room well before the Stevenote. I obviously wasn’t up the front but there are plenty of big screens around to give you  close up view of the man himself.

The keynote is definitely worth going to, for the announcements ofcourse. But also for the buzz and atmosphere.

Tip #9 – Afternoon/Morning Tea’s – Watch your sugar

The food and drink provided in between sessions is just what a geek ordered. But it usually consists of sugar sprinkled with more sugar. So go easy if you are on a diet.

Tip #10 – Take your macbook and use subthaedit

I never used subthaedit but from what I could see, it was heavily used at the sessions as a collaborative notetaking initiative. Also great if there are two sessions on at the same time (which aren’t repeated later on in the week) which you are interested in. Ofcourse, the video’s of the sessions will be available after WWDC anyway..

Tip #11 – Remember the NDA

Remember not to tweet about new stuff announced at WWDC (the only exception being the keynote announcements). You are under NDA not to disclose things. Don’t tempt fate by being a loud mouth.

Tip #12 – Be nice to security & organisational staff

They do a great job – it can’t be easy to have to deal with thousands of geeks lining up and occasionally whinging about the stupidest things. Take a moment to say thanks to them as you go into a session.

Tip #13 – Wireless

In 2010, the wireless situations was pretty terrible. I ended up staying in the session rooms which had a decent wireless signal. Hopefully this year they have sorted it out – but definitely do not MiFi up the area.. that would just be terrible.

Tip #14 – Take time for yourself

After back to back sessions, day after day, you will get tired. You can’t concentrate anymore. So if you are starting to feel it, take some time for yourself. Get away from Moscone, do some tourist stuff. Whatever. Just recharge your batteries so you can ensure you are fully engaged for the sessions you really really want to go to.

I would love to go to a future WWDC, it was a great experience. The biggest thing I took away from the conference was the networking with fellow AUC’ers and the amount of motivation it gave me  to continue with mobile and iOS related projects. It really did inspire me to keep going and improve on my personal app too.

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.


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.