Monthly Archives: October 2010

App-a-Day Challenge, Day Screw It

Yeah, so, you know that app-a-day challenge thing? So, about that….

It’s like this, folks: I thought I was putting my mad skillz on the line; it turned out I was putting my madness on display.

I got my butt handed to me by this challenge in two equal portions. First, real life interrupted in a big way. One of my clients called me to tell me his airport software was being audited by the FAA in 24 hours–and there was a bug in my product that needed fixing. It sounded like a reasonably small tweak, so I agreed to handle it, thinking I’d even have time to ship my app afterwards. Turns out it was a redesign of the entire access control system which took me about 20 hours. I delivered it around 9am the next day and then went to bed and slept through a SECOND day of not shipping an app.

Fair humility where it is due, however, the other equal part of me getting served was that there really are just so many moving parts to an Android application that it’s insane. I’ll blame the tools and documentation here, hopefully convincingly, but the argument will stand that lack of experience is why I could not quickly overcome tool and documentation issues. But here’s the argument anyway: The Android development environment is epic shit. Not epic THE shit, just epic SHIT. Like somebody’s been feeding their mastodon too much fiber.

High-ceremony languages require high-tooling support. Low-ceremony languages require high-documentation support. For example, C# is the highest-ceremony language I’ve ever worked with–followed closely by Java. C#, however, is supported by Developer Studio, which is the best freaking IDE ever made. Seriously, I don’t like Microsoft on principle, and I don’t care for any of their languages professionally anymore. But I used their tools for over a decade and I’ve never seen their match. Don’t even bother posting a knee-jerk comment in response about this unless you know what you’re talking about, because you don’t, so just shut up. Oh, and if your knee-jerk comment was to say that Eclipse is pretty good, you also need to fuck off. And then get help. It’s called Stockholm Syndrome. Look it up (after you fuck off).

Ahem. Moving on.

Low-ceremony languages need high-documentation support. All you really need there is a good text editor (which means emacs, since I’m still in a mood to start shit) and off you go. You have the freedom to write expressive code that is readable enough that you don’t NEED all the tooling support. (Detractors of languages like Lisp and Ruby will say that you also have the freedom to write awful code. When you’re older, and learn big words like economics and sustainability, you’ll understand. For now, just understand that there are a lot of freedoms which one learns quickly to not exercise if one wants to keep one’s job.)

So anyway, yeah. Didn’t mean for this to turn into a rant, but Java is very high-ceremony, Android’s documentation is still rather in its infancy, and the tool support is Eclipse, of which my opinion has not changed in 4 years.

Will I still code in Android? Yes. The documentation will get better, and my experience with knowing how to fix Eclipse’s brain damage (syntax errors that are fixed but won’t go away until you clean the project or restart eclipse, etc) will get better. I’ll probably even stop complaining about it at some point.

But yeah. For now… let’s just say that the experiment ended with “findings” rather than “results”.

App-a-Day Challenge

Well, it’s been an interesting month since Public Engines maximized my occupational opportunities. I’ve been head-down learning the Android platform, with the goal of being able to write and sell apps in the Android Market to create a little passive income. I released Big Digital Clock, a free clock application, about a week ago, and on Saturday the Schlock Mercenary comic reader app (a straight-up port of the iPhone app) went into private beta.

I have about a week left of paid-for time until I have to go create some active revenue (by the way, I am available for contract or consulting work, please contact me if you have Ruby or Android development needs). What to do with that time?

In 2009 my New Year’s Resolution was to ship code every single day. I learned some dangerous and useful skills, and I’ve decided to put them on the line. So here begins the

App-a-Day Challenge

I am going to write and ship a paid app into the Android Market every single day for a week. They’ll be small in scope (kids’ games, map and timer utilities, etc), and they’ll probably all be $0.99 apps when I’m done.

Today is already half gone, and I have to go do an Android tutoring session in an hour, but I think there’s still time to ship today. Watch this space for an announcement: Balloon Pop! is coming soon!