iPad First Impressions

I’ve had an iPad now for 24 hours and these are my initial impressions of the device and its software. Hardware It’s heavier than I expected, but feels nice and solid. I do seem to get tired holding it, but I guess my hands and arms will get used to it. The plasticky power switch, orientation lock and home button click sound and feel cheap. The screen is awesome. Bright, colorful, wide viewing angle and totally smudged by my fingerprints.

Read on →

Replacing the Address Book Picker

In the first release of Emergency List, I used the default ABPeoplePickerNavigationController to allow users to add emergency contacts from their iPhone Address Book. Real users found it confusing, so I wrote my own. What’s wrong with the Apple implementation? The requirement is for the user to pick a phone number for a contact. The implementation requires you to launch an address book picker which displays a list of contact names - just the names and nothing else.

Read on →

How to deal with an iPhone crash report

Kudos to the app review team at Apple, they found a crasher in the update to Emergency List that I recently submitted. They even took the time to step through and document what they did exactly to reproduce the error. From their email: 1. Launch app connected to a network 2. Tap Emergency List 3. Tap the Add button 4. Tap Add from Address Book 5. App crashes Please refer to the attached crash logs.

Read on →

Emergency List - Finishing Touches

Part 6 in the continuing the story of my first iPhone application as an Indie Developer, starting with the requirements, the design, first iteration, updated UI and last week’s internals and bells. In short, I am documenting all the successes and failures in developing my first iPhone app. The Web I added the following pages to noverse.com: Created a Products Page. All it does is list my (currently one and only) iPhone app.

Read on →

Emergency Numbers - Internals and Bells

Part 5 in the continuing the story of my first iPhone application as an Indie Developer, starting with the requirements, the design, first iteration and last week’s updated UI. In short, I am documenting all the successes and failures in developing my first iPhone app. Internals I spent one day rejigging the data model for the app, without changing the data file format. The original model had methods for each and every attribute of an emergency contact, such as currentContactName, currentContactIcon and setCurrentContactNumber.

Read on →

Emergency Numbers - Updated UI

Part 4 in the continuing the story of my first iPhone application as an Indie Developer, starting with the requirements, the design and last week’s first iteration. In short, I am documenting all the successes and failures in developing my first iPhone app. UI Updates The best way to read this article is to open the previous article in another window so you can see the UI changes. Favorites I was very unhappy with the look and feel of the favorites page.

Read on →

Emergency Numbers - Core Functionality in One Week

Continuing the story of my first iPhone application as an Indie Developer, starting with why in Becoming Better, the requirements in First Application - Emergency List and last week’s First Draft Application Design - Emergency List. In short, I am documenting all the successes and failures in developing my first iPhone app. After One Week’s Coding After a week of coding, the following functionality has been developed. All screenshots are taken from my development iPod Touch, they are not mockups.

Read on →

Use Source Code Control, even when working on your own

I use a source code control system (SCCS) from day one on all my projects, even when I am working alone. Here are some of the reasons why. Backup I run a SCCS server on a separate computer, not my development box, so that all my brilliant code is stored safely on a second computer. If anything happens to my primary development box, no dramas, I can get the code back from the server.

Read on →

What is a Software Designer?

I call myself a Software Designer. So should you. Here’s why. If we ignore the dictionary and follow colloquial use, we could be called a: Programmer - someone who writes software code. Unfortunately, it is implied that programmers do not design the software, nor do they decide what to do next or how things will work, they merely translate a limited set of requirements or a small part of the design into code.

Read on →

First Draft Application Design - Emergency List

We know what I want to develop, see The First Application - Emergency List. As its an iPhone app, the first step is to draw up the user interface. In this post we’ll look at a mockup of the interface and some of the thinking behind it. The Interface - Favorites The first requirement is that it should take only two taps to call an emergency number, tap once to launch the app, tap again to call the emergency number.

Read on →