TimTim 1.3

Remember TimTim? I haven’t worked on it for a while but I noticed some issues on the Galaxy Nexus I got earlier this month.

While I was at it, I ended up fixing a couple of other issues, here’s the change log:

  • Improved rotation algorithm.
  • Fixed alarm/vibration issues on Android 4.0 and 4.1.
  • Added xhdpi assets to support WXGA.
  • The dial now moves continuously during countdown.
  • Selecting a preset now works when the timer is already active.
  • The soft keyboard is shown when adding/editing a preset.

I’m especially happy with the new rotation algorithm. It finally feels just right: smooth and usable.

I still haven’t added an indication that the timer is ticking. That’s probably the number one complain I get, but I’m not happy with the solutions I’ve come up with so far, so I’ll brood some more on that one.

The next thing I’ll do with TimTim is port it to iOS, now that my wife has an iPhone.

If you’ve got an Android, check out TimTim and TimTim Free on Google Play. Otherwise, stay tuned.

Why we used Clojure and ClojureScript for Flurfunk

Why have you decided to use Clojure and are you still happy with your choice?

This question has been asked more than once now, and although I answered it in a Google+ comment, it seems you can’t link to those, so here’s a blog post.

I wouldn’t call myself an “old Lisper” (as Thomas did), but I had some experience with Clojure and other Lisps and thought it might be a good choice. We went with Clojure in particular because it runs on the JVM, and we wanted to integrate well with our company’s Java environment.

Clojure code tends to be succinct, readable and easy to change, which was useful since we didn’t have a very clear picture of where Flurfunk should go when we started, nor did we have much time.

ClojureScript, which was only a month old when we began to work on Flurfunk, is a different matter. Wasn’t exactly hassle-free. I think we might have been faster if we had used JavaScript, plus I wouldn’t have been the only one working on it. But I’ve seen ClojureScript get better every month, and was pretty productive after the initial problems were solved. A rewrite wouldn’t have paid off so far.

So to answer the question: Yes, we’re happy with our choices. I don’t think that we couldn’t have done it without Clojure, but it certainly played its part. If nothing else, it kept me motivated. On the other hand, I think we would have seen more collaboration (both in our team and now that it’s open source) if we had picked (J)Ruby and JavaScript.

Those decisions are way too hard and I don’t think there are really right and wrong choices. We both like Clojure, it probably comes down to that.

New job

So this is it, my last week at Viaboxx.

I’ll really miss them, more than any other company I’ve worked for. I had a great time, a great team and learned a whole lot.

If you’re looking for a fine company to work for in the Cologne/Bonn area: they’re hiring to replace me. You can drop me a line if you have any questions.

But all good things must come to an end, and I got an interesting offer from Eyeo, where I’ll mostly be working on Adblock Plus, its various ports and the infrastructure supporting it.

I don’t hate ads – I’m earning some money with ads myself. What I don’t like are overly obtrusive ads, so I’m finding Eyeo’s new acceptable ads concept very promising. I’m excited to work on something that helps millions of people experience a better web and enables website owners to avoid ad-blocking by using non-obtrusive ads at the same time.

Another exciting aspect is that I’ll be working from home full-time, something I’ve been longing to do for a while now. Viaboxx was awesome and allowed me to work from home one day per week, but more than that wouldn’t have worked out. Their core product is software for large, expensive machines – not something you can reasonably work with from home. Anyway, I’m very happy to spend more time with my lovely kids soon – they’ll only grow up this once.