I posted recently about my disappointment in the available iPad-compatible blogging solutions. This has hampered my own blogging in two significant ways:
- Since the iPad is still the shiny fun toy I want to play with, I haven't wanted to pull out my laptop in order to blog.
- I've been spending a good deal of time and attention trying to rectify the problem by building a native client of my own.
This isn't anything official, and I might not even finish it, but for now it's been a fun way to develop Cocoa Touch skills and get some experience in engineering a client app in something other than JavaScript or GWT.
Things I like:
- I can make apps that run on the iPad, which is, as previously noted, shiny.
- The challenge of figuring out a new system and getting it to work.
Things I miss:
- Java, Eclipse, and static analysis. The tools available for Java just seem to be able to do more: easier (in some cases real-time) refactoring, auto-filling of methods (e.g. to satisfy an interface), and syntax highlighting of uses and errors come to mind.
- Open source everywhere. When a library is behaving curiously, I'm used to being able to Control-click in and poke around to see how it's doing things. Not so with Cocoa, and I've already been bitten by two bugs in the frameworks that have required trial-and-error workarounds.
Things that are annoying:
- Indentation to line up colons. Really? The aesthetic value of this escapes me, especially when coupled with the maintenance hassle.
- Xcode groups not matching the filesystem. More maintenance. If decoupling these is even ever desirable it should be an option, not the default.
- Categories. I haven't seen how these are particularly useful in practice, and currently seem to do little more than fill up the auto-complete menu with random, out-of-context methods.
- The thesaurus. Maybe I'm just not used to the terminology, but the API authors like to use verbs that are a bit on the flowery side, which keeps me from ever remembering them. Modal views are not "shown" or "hidden," but "presented" and "dismissed." Okay, it has more character, but at a not-insignificant learning cost.
Things I couldn't live without: