Quick update
I’ve been working solidly for the last 7 days, developing, designing and of course learning. I have now finished, save for usability and performance testing, 4 apps.
I’ve already mentioned one of them, the translator. This one had a lot of memory leaks and despite being multi-threaded was not thread safe. However, I practiced and I learned, and this has all been fixed now (AFAIK anyways).
The second app I made is a mood light. The point of this was to do some custom 2D drawing with Quartz and custom views. Very simple app, but good exercise in quite a few disciplines.
Third… slightly more interesting, it is a Wake on Lan app, it lets you start your computer remotely from the iPhone (both locally and over the internet). This was an interesting app to make because it combines a lot of aspects of developing for iOS. It taught me a lot about delegation, the notification center, modal content views, loose coupling between objects, the view hierarchy, C, BSD sockets, Interface Builder , gdb, Instruments, UI design and much much more. It showed me the big picture so to speak.
The fourth app is a network scanner. It scans your local network for other machines on it, for some simple network surveillance. It also includes a ping utility so you can check the latency between all the hosts on the network. It uses ICMP to detect hosts. I spoke to the creator of nmap about incorporating its technology for OS fingerprinting and more robust host detection (not just ICMP but clever things like SYN ACK packets and so much more that I don’t even understand), however it turned out this was not possible on the iOS because the OS doesn’t provide access to raw sockets which is what nmap needs. Apart from the lack of root priviledges under which the app would need to but cannot run, everything in terms of licensing and copyright was in order. Shame.
That’s it for now in terms of actual development, now I am trying to come up with a brand name under which to…well brand, these apps. I need a name, logo and web presence. That will be a whole new learning experience but it will empower me to make all kinds of interesting apps that rely on a centralised data storage and processing for “community” stuff, which should be cool. Especially with the advent of HTML5 and CSS3 and cool things like OAuth and OpenID.
It’s been an interesting 7 days. I don’t think I have worked so hard in my life. I’ve literally spent 14 hours working solidly every day. The upcoming part will be a slight hurdle because I need to start learning again; I need to create a good web presence for the brand (and if things go to plan, future company). Once the web development learning phase is over, it should be nothing but fun. I’m looking forward to that!
It’s 6:16 am, I should really go to sleep.













