In December, 2007, I was watching the History Channel, like I often did at the time. I’m not sure what show was on, but the episode was, I think, about ancient instruments and early music.
This sparked a wikipedia session, where I looked up the origins of my own favorite instrument, the guitar. I found out about one of the guitar’s cousins, the Lute. I wondered if people still played it, and looked it up on…
I haven’t posted in forever. I have a bunch of things I want to post about, though, and I will continuing forward.
Thing is, a lot of these things I want to write about having absolutely nothing to do with the tech world, and I didn’t feel that it was appropriate to post non-techy things on “vimtips.org“.
It’s been a while since I posted anything; but not to worry. I’m still alive. I’ve been super busy in my free time, with a top-secret Android project. It’s getting closer to being done, so hopefully I’ll be able to post more details about it soon.
Meanwhile, I found a new way to waste my time on the internet (we all need those, right?). During my latest project, I had a question, and someone recommended I ask it on http://stackoverflow.com.
I had heard of stackoverflow, and I’m not sure why I had never used it prior to this (perhaps it was that it kind of looked like a forum, or a mailing list), but I’m pretty sure I’m addicted at this point. It’s better than a mailing list when it comes to asking questions.
The idea is that you can post questions about programming (any language, any topic that has to do with the process of programming), and other members using the site will answer your questions. The thing is, your question will be answered, correctly, usually, faster than any other method I’ve seen (forums, mailing lists). The answer will be high quality and will usually include some code or links to places you can find more information. It’s all free, it’s got an intuitive interface, and it’s very fast.
What motivates your peers on stackoverflow to answer your questions quickly and for free? An achievement (ala xbox 360) style reward system. The more questions you answer correctly, the more karma you get. You get certain “badges” for different things you do on the site. If you answer a question incorrectly, you lost karma. That’s basically it.
Why does it work? This karma doesn’t produce money. These badges aren’t worth anything outside stackoverflow. Bragging rights? I don’t know, but it’s just the type of thing that attracts computer nerds. Users are motivated by receiving these superficial rewards, hell… it motivates me to answer questions on there. It’s a civilized pissing match. It’s actually quite fun.
stackoverflow.com is for programming questions, but they also have serverfault.com for questions relating to server administration, and superuser.com for questions related to every day desktop computer use.
SupaCount 0.1.0 published to the Android Market. I don’t suspect that it’ll be a highly successful app, being that it’s a utility that most people won’t need. However, being my first app on any of the mobile markets, it’ll be interesting to see what happens. There are, at the very least, hundreds of thousands of people (200,000+ people bought a Motorola Droid the first week it was released) with access to the market.
My first impressions of the Android SDK were just from using the platform itself. It seemed great then, just because of the results I could see by installing other applications (the open nature of it, the ability to replace system components, etc), but now that I’ve actually taken a further look at the internals, I like it even more. It encourages you (if not requires you) to create highly modular applications.
Along the way, I found a great book that I’d like to recommend if you’re thinking about getting in on Android development. “The Busy Coder’s Guide to Android Development”. If you buy it at it’s very reasonable price, you get free updates to the book when there are new releases of the SDK. They also have kind of a community editing thing going on, you can join the mailing list and add “patches” to the book if you feel so inclined. You also get “The Busy Coders Guide to Advanced Android Development”.
Edit (12-22-2009 @ 11:11pm): After one day, the market reports 120 active installs.
Edit (12-29-2009 @ 7:20am): After eight days, the market reports 272 total installs, and 172 active installs for a 63% retention rate. The average rating is 4 1/2 stars. So, even though not many people kept it installed, those that did rated it highly. This is about what I thought would happen, just because a multi-countdown timer isn’t an app that many people would really need. I think I’ll get more success if I implement a one off timer that doesn’t require you to save it before you run it. This will give it the same feature set as any other countdown timer, plus more.
So, I got a Droid, which for me, meant that I had to start learning the Android SDK. In my opinion, the best way to learn something like this is to write an application. It's how Exaile and JBother came to be, and now, it's how SupaCount came to be.
I've always wanted a countdown application that would allow you to run more than one countdown at a time, and save them for later use, so that's exactly what SupaCount does. You can save multiple countdowns, and run any number of them at the same time. When a countdown is done, you can have it alert you, optionally by blinking the LED, vibrating, and playing a notification ringtone. You can specify how long the alarm will last before it stops on it's own (to save your battery).
Some Screenshots (click on an image to view the full size):
I decided to publish it here before I publish it to the market. It uses the Apache 2.0 OpenSource License. Here are download options, should you be interested:
- SupaCount.apk Installable apk. This is now on the Android Market. You can pick it up from there.
- http://github.com/synic/SupaCount - the sourcecode.