Tag Archives: iphone

Yummy: Prepare for Launch

Yummy in iTunes Connect

Today is a big day for me. A few minutes ago I uploaded my iPhone application up to Apple’s servers, the first step in making it available to users in iTunes and its App Store.

You possibly have two questions. First: what does it do? Secondly: when will it be available?

I know, I have been deliberately vague when talking about it online. This is partly because I didn’t want my thunder stealing by pre-announcing, but mainly because it’s only been in the last week or so that I’ve been sure that I was going to publish.

You’ll note that I’ve still not described what it does. All I’ll say is take a look at the icon ((Not sure what’s wrong with the colours. It looks great on the phone itself, which, presumably, is not colour managed.)) and think of the name. And, more importantly, keep an eye on Yummy’s website. I’ll be publishing a series of blogs to tell you what it does and some of the decisions I took to make it.

The second question — when — is pretty much out of my hands. Apple will now, as the screenshot above tells you, review it and, unless I’ve made any mistakes in the rather complex process, make it available for download. The length of the queue is not public, so it could be tomorrow or the end of September or, more likely, somewhere in between. Fingers crossed that it’s soon!

It’s taken a lot of effort to get to this point, and I’m keen to get it in the hands of users. Many thanks to B for putting up with me during this process and for making the great Yummy icon; my gratitude to A for trying to get beta versions installed (damn that 0xE800001 error); and to everyone else who has offered advice and feedback.

Update (2023): The link to Yummy’s website has been updated to point to Wandle Software, which didn’t exist at the time of launch.

What Price?

This originally started as a question on Apple’s support boards:

With the current AppStore model (which seems to be a money machine for developers) I do not understand why anyone would give away their applications. At least charge $0.99 and get something back for your hard work.

So, why do you give away your apps?

With the caveat that I have not actually submitted anything yet…

My motivation in writing an application was entirely for the pleasure of doing it. If I never do anything with it once it’s “finished” my goals have been achieved. So my only objective in pushing it to the AppStore is for other people to get some benefit from using it too. There is little incremental cost in doing so and zero cost means that it gets the widest possible distribution.

There are also disadvantages to charging for it. Firstly, by paying something for software users expect more. They want support and bug fixes and enhancements. Maybe they want those same things with free software but there’s less obligation. Also as a non-US citizen there are complications in getting paid the full amount due.

That’s not to say that I won’t charge for it. At the very least I would like to be able to cover my costs. By which I mean the iPhone Developer Program fee, the $99 they charge you for the privilege of deploying your own software on your own phone.

But there are complications in pricing any iPhone program.

The first obstacle is that pricing has not stabilised yet. Disregarding the loss-leaders such as the NYT reader and the Facebook program, there is still a wide variation in cost. Consider something as trivial as a tip calculator. I only had a quick look, but I found half a dozen and they ranged from free to £1.19 with most at the 59p level. I found significant variations in costs for pretty much every category I looked in.

Now the app that I’m writing is a good deal more sophisticated than a tip calculator. My initial assumption was that people would be loathe to pay for it but if others can sell a tip calculator — something you can do using the built-in calculator program — for £1.19 and still garner good reviews then surely I am undercutting myself?

But it’s also easy to price too high. As Daniel Jalkut said, “We hope to hit ‘pretty much on target’ from the start, to avoid embarrassment and second-guessing. If you price too low, you?ll have a hard time imposing a major increase.”

Another popular option is to have a paid-for version and a more limited, free version. The problem I have with that is you have to decide which features would be worth paying for without making the free version so limited that people just bin straight away. I’m not sure that there is an obvious dividing line with my application. Plus I like the simplicity of having a single version. I think it makes the “message” easier to explain — think the single version Mac OS X versus the half-dozen versions of Windows Vista — and, as an added bonus, is much easier for me to administer. I don’t have an economics background, but Joel Spolsky tells me that this is called segmentation.

There also seem to be a few cases where people are offering advert supported free versions. This is not a solution that I am entertaining. As a user I object to precious screen real-estate being taken up by an advert. As a developer I object to the extra work, uncertain income stream and the likelihood of introducing new bugs in a non-critical area of code.

In summary: the more I think about this, the more I get confused.

Just for Fun

I’ve not done much programming in the last few years. When I first started working my job was mainly to “cut code” but I’ve done less and less as time has gone by. I now tend to concentrate on high level modelling and writing small utility scripts. I have not been doing much at home either, just minor tweaks to pre-existing software to “scratch an itch” or programs to automate tedious tasks.

For something that I claim to enjoy, why have I been doing so little of it? In short, it’s hard. Writing something useful that does not already exist is an increasingly challenging task. Even if the act is fun, what’s the point of making an inferior version of a pre-existing product? ((I know that for many developers the challenge is enough. I’m awkward in that I also want to be useful.))

It hasn’t always been like that.

In the olden days it was possible for one person to write a whole, useful application alone. Steve Wozniak wrote the original Apple Basic before they licenced Microsoft’s version. Matthew Smith single-handedly wrote the classic game Jet Set Willy. Even I managed to write a database application for my GCSE in Computer Studies and a graphical adventure game on my Sinclair Spectrum that at least one friend was quite impressed with.

But by the end of the eighties, software was getting more sophisticated and typically required a team. Programmers, designers and “architects” were required to make commercial quality programs. The lone, enthusiast programmer was effectively squeezed out of the market.

Fast-forward ten years and a new generation of developers were given their opportunity. Early web applications could be quickly slung together using a few lines of Perl, a rudimentary understanding of HTML and a commodity PC running Linux. I guess if I’d attended Stanford I would have been a dotcom millionaire by now ((I do have a t-shirt that says, “I got £80 million for my dot com idea but now all I have left is this lousy t-shirt.”)) but here in the UK I missed the boat. Just like programs on home computers had done before, useful applications quickly got far too complex for one person to build alone.

And now here we are in 2008. A few months ago Apple released the SDK for the iPhone and the possibilities are there again. If you go to the App Store you’ll see that many of the available programs play Sudoku or are thin front-ends to web-apps like Twitter or Facebook. The more sophisticated games — such as Super Monkey Ball — have tended to be ports from other platforms and so while originally written by many people were ported by a much smaller number. Sure, many applications are tiny and frivolous or just plain poor, but the barrier to entry is much lower than it has been for quite some time.

Undoubtedly the complexity level will rise over time — probably fairly quickly — but until then programming is actually fun again. I am, indeed, writing an application for my iPhone and, who knows, I might actually have something to announce in a few weeks. Watch this space.

WordPress for iPhone

When they first announced the App Store and the iPhone SDK I thought that a blogging tool might be something worth downloading. On the first day TypePad had their application but we had to wait until this week for the WordPress equivalent. On the plus side, WordPress for iPhone is both free and Open Source.

First impressions: it’s nice. Setting up a new blog is simple. Writing a new post is straightforward too, just press the “new” button, fill in the fields much as you would in the web interface and get typing. You can also add photos — either directly from the camera or from your photo library — but only to the end of your post.

So far so good.

I’ve found four real problems so far, mostly things outside the control of Automattic, the authors.

First is that I have not found a way to view drafts that have already been saved on the server. iPhone side drafts are visible — making it possible to work without cell tower reception — but I often have a dozen unfinished articles sitting on the server. I don’t want to write everything on the phone.

Secondly, if you use anything other than the standard picture uploader, you’re on your own. I usually use Photopress.

Next, I found that the “Preview” — useful feature incidentally — and “Photos” buttons at the bottom the screen occasionally go missing.

Finally, well, best to to by example. Go back to the start of this post and count the number of links.

Back? Presumably you found no links, not even to WordPress for iPhone itself. And that’s because there’s no way to get a URL from Safari into WordPress other than by remembering it or writing it down.

Of course, Apple failing to include cut and paste in their operating system is hardly Automattics fault.

Overall I like it. It’s failings are not great enough to put me off, especially considering the types of post I am most likely to write on the move. It’s certainly earnt a spot on my home screen.

Byline Bypass?

Earlier today daringfireball pointed me to Byline by Phantom Fish, a Google Reader client-side application for the iPhone.

Since I recently abandoned Safari’s built-in RSS reader for Google, this is just the kind of application that I have been looking for. Unlike a lot of programs I’ve found on the AppStore, Byline seems to be very well put together. The author appears to have included a thoughtful set of features. Not everything, just those elements you use every day; either a good starting point for later versions or an Apple-like approach depending on your perspective.

However, one thing worries me: Google have not released a publicly available API for Reader. Unless Phantom Fish have reached some deal with Google — and there’s nothing on their website to say that they have — then the only way that this application can work is if they reverse engineered the protocol ((My first thought was that it was just a specialised RSS feed. However, the video shows support for the “Star” functionality and they say that it synchronises read status, etc.)).

I’m confident that the interface works now, but what about tomorrow? The popular opinion is that Google are not happy with parts of the API and will publish the full version soon, but until the API is publicly available and stable there are no guarantees and it could change at any time.

Do you want to spend ?5.99 on an application that could be disabled at any time by a third party? As useful as it looks to be, I don’t want to start relying on an application with foundations as shaky as this.

Error Mishandling

A common refrain is that computers are too complicated for ordinary people to use. Yet mostly when I see people sat with a notebook on their lap I don’t see frustration. The confusion tends to come when something doesn’t work as expected. Naturally bad design plays a big part in this but the biggest stumbling block comes when a dialog box like this pops up:

Mac Application Unexpectedly Quit

What is an average user to do when confronted with this? Everything after the first line is utter gobbledygook. Even to a software developer much of this is unintelligible — you’d need the source code to get much a clue about what’s going on and most vendors do not share.

So, if almost no-one has a chance of understanding this, why are users asked to make a choice? It’s bad enough that the application crashed but why force the user to make a decision about something they don’t understand?

Angels on a pin?

Worse, let’s remember that this is actually an improvement over what has come before. Remember the “Unrecoverable Application Error” in early versions of Windows?

I was therefore fascinated when I realised what my iPhone was doing. Initially I thought that the software was just very reliable, which was pretty naïve of me.

When an iPhone application crashes you just get returned to the home screen. No nasty error message with impenetrable text and confusing options; often you’re not even aware that anything bad has happened. Behind the scenes the crash is recorded and is reported back to Apple next to you sync with your computer.

iPhone Crash

It would be easy to conclude that “no error message” is the way to go, however the iPhone has a couple of other qualities that makes it work. Firstly the applications seem to save their state regularly, which means that even if there is a crash you rarely lose anything of significance. Contrast this with most PC application which tend to crash only when you have an hour of unsaved work. Secondly, while not automatic, relaunching the crashed application is almost instant.

The result of these three elements together is that users are not punished for finding defects in the software. Isn’t that the way it should be?