Tuesday, May 11

Not blogging on account of iPad

I posted recently about my disappointment in the available iPad-compatible blogging solutions. This has hampered my own blogging in two significant ways:
  1. 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.
  2. 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: