My First iOS App

October 28, 2012

I had quite a downer after I finished the first version of an iPad application.

I talk me into thinking that this is quite normal if you work for months towards a single goal (to submit the application to Apple in that case), and then get somewhat depleted.

Sadly, I feel nothing yet. I am not proud of it and I don't really identify myself with this application (why should I anyway). May be because it was not my idea or may be just because it is actually a very simple application for what I think I have taken too much time to develop.

Sure, iOS was completely new to me and by using MonoTouch and a cross development solution that lets me use Visual Studio (most importantly Resharper), I've added another layer on top of what I've actually had to learn.

And, honestly, from a developer's perspective, iOS is a piece of crap. Everything besides the animation system is not worth of a positive note.

Some APIs are so desasterous, that you need over 300 lines of code to call 5 methods reliably. In this extreme example, Apple uses continuation passing style methods that invoke callbacks from an undefined thread, and in addition, the objects passed to the callbacks may get invalid at any time, even within a session in the current thread. To resolve that, I needed help from Xamarin (thanks guys), and after I understood the underlying madness of the implementation, it took me days to find a reliable way to handle all the corner cases. This is not how APIs should be designed!

And I fear Android will be no different.

API usability is going downhill at a rate I've never seen before, and the average quality of the Applications seem to reflect this.

That said, there are not many operating systems or user interface APIs that I really do like, but now, after programming OS X and iOS for a while, I am beginning to appreciate Microsoft APIs, even though they hard to use and sometimes expose a quite unexpected behavior.

Compared to the creativity that Apple puts into their APIs to kill developer productivity, Microsoft is a choir boy.