"Simon Basic Edition", my first MonoTouch application has been published on the AppStore today.
It's a modest application, but I learned a bunch of things. It was interesting to go all the way through, from downloading MonoTouch five weeks ago, to receiving the notification today. There is lots of room for improvements and I thought about many other features. But I wanted to ship it and at least, I can now take it from there.
As a friend of mine often tells me (check http://www.clearoffice.com to see what he's doing with .NET and WPF): "it's easy when you haven't done it; it's hard when you do it; it's easy when you've done it".
Many thanks to the MonoTouch team, for providing a great platform, and especially Geoff Norton for his patience and support. The Apple folks have been great too - they've always responded promptly to my queries.


2 comments posted.
#1
https://me.yahoo.com/a/UNwjBfk5lsFRyO69Oz.grPjhXwKblw--#56748
925 days, 12 hours ago said:
Hi,
Great to hear that you made it through the appStore. Would be even more interested in what kinds of tools you were able to use to check for memory leaks and make sure the app behaved well.
Debug in XCode appears to have gone from the current release of MonoDevelop and without that I don't think you can use Inspector if you ever could.
What did you use?
Bruce Mcleod
#2
bengrine
923 days, 11 hours, 8 minutes ago said:
Hi Bruce,
Checking the memory leaks was definitely not a priority for me. I am sure it's valid concern in general, and especially when you don't have any automated memory management. The built-in GC does most of the heavy lifting for you, so I didn't consider that as an issue at all. That being said, I will double check if I can get the GC stats for the next version :)
Debugging came with lots of "Console.Writeline". I know it seems retarded, but that wasn't as bad as it sounds.
As simple as the application might look, I faced many challenges, including:
coming up with four sounds of good quality that all last for 1s exactly. It's much harder than it seems...
cutting some features to get V1.0 out of the door. It's very tempting to add just another small feature...
programming the underlying asynchronous engine. I rewrote the application half a dozen times before getting it right. I now realize that I could have used XnaTouch for similar purposes, but in the mean time, I know exactly why and how it works. After the fact, I realize that V1.0 pretty lame but I wanted to test the concept (.NET app on the store) and the engine wasn't tuned but design was right; I made some simple enhancements in the code and settings in V1.1 (which was definitely easy). I think V1.1 is much better than 1.0. Also, I have now stepped into OpenGL games development which is much easier than starting from crash.
the admin tasks take time too. You have to prepare a website, e.g. find some hosting, write the pages. Same thing for setting up an email for support on that domain. You need to prepare the contracts, media for submission etc. At some point I had problems with signing the application as well
It's all about productivity and what I can do in my spare time, after a full day in the office. I like the MonoTouch environment, it's a marvel of technology IMHO.