I ran by the Apple Store again. It’s incredible still. 5 hour wait time estimate still and out of 16gb black versions. It’s straight up madness. I’ve never seen so much excitement over a product in my life. Not even the XBOX, PS3, and Wii lines ever compared to this type of crazy excitement (but maybe that’s because they ran out of stock where Apple keeps just enough coming to meet the demand).

I’m writing two applications for the iPhone at the same time (two track mind :-) but I have a good reason).

The first is a MetablogAPI based application so you can you quickly blog, edit, and delete your posts if you blogging software supports the MetablogAPI (other blog apis I’m to lazy to support). It’s a simple app but on the back end I’m using Mono to handle the XML-RPC calls (more as a proof of concept for mono so the application is not a high end app with tons of features like HTML input, geo tracking, and image uploading but maybe later). I’m using this as more of a test application rather the one I want to work on (unless people like it). I’ve got it working in the simulator and linking correctly there, but that is X86 and far easier. I’ve got lots of work to do on my build setup to deploy it to the device with having to build Mono. Before I release and production quality version I’ve got to get the size down as well so my go down the path of what Moonlight is doing with Cecil to trim down all the assemblies to a limited set. There is plenty of space for a full blow Mono install but not much memory.

The second thing I’m working on a Tomboy like notes app. Wiki-text like input on the iPhone interface is weird so I’m creating new concepts to help out with that, that I’m experimenting with now (all new ball game of user interface rules and expected norms in this world). I’m working the use interface at the moment. I’m designing my own custom text view to render the data, handle links, and handle in input events. My text view has to support handles my input and supports highlighting (which is really difficult it turns out). The text view in CocoaTouch is ok and may work (but with a lot of fighting) so rather then overloading and extending it, I’m designing my own from scratch and doing it in C. My hope is to create something more portable to other devices later. I’m abstracting all the paint calls and input event handling out to an abstraction so that when I get my OpenMoko setup going, I can reuse the same input system and rendering between the two by implementing another backend for the rendering code against whatever graphics system I use there and fit it in to whatever control/widget system I use there (hopefully it pays off because i would love to do a release for both).

Right now, I’m handling basic input and font geometry (to wrap and format the text). Since I’m only doing this for the text view area leaving everything else native and properly abstracted from my core it should be maintainable and easy to port and maintain my ability to be act like a properly native citizen on any platform I port it too.

When I get Mono working on the first application and evaluate it, I’ll decide if I want to do the backend in Mono on this second one (I would love to share code from Tomboy if I can so that maybe I can do some syncing between the two but with the differences in how I can display, it may turn into a converter rather then a syncing system).

Tags: ,