Breaking the Silence

Posted by Tom on 2007-03-11

January 26th? 6 weeks ago!?! Is it really that long since I last posted? Wow. I do apologise for keeping you all hanging for so long. Really.

The funny thing is I guess it hadn’t really sunk in that anyone would be that bothered. I mean, I do see the stats – we’re getting a fairly steady 600ish visits per day – but what does that mean? It’s just a number. Maybe a moderately large number on the scale of all the blogs out there, but there’s nothing that powerful about a number, not compared to, say, the human voice. And then suddenly you have a voice – the previous post now has some fairly heart-felt comments that carry more weight than web stats ever could.

To be honest it’s a little bit overwhelming for me. I’m just some guy with zero prior standing in the Ruby community who wrote a Rails plugin. I stop blogging and someone actually gives a hoot? Really? People are annoyed that I stopped?! Woah!

But OK - if that’s how things are, I guess I better step up. A change is definitely needed. We need to solve a problem nicely articulated by Michiel:

Currently, Hobo feels like a closed tower. Updates are announced without a timetable or a feature list. So no-one can guess what’s coming next or when it will arrive. This is obviously frustrating because none of us can really work or play with Hobo like this.

I would advise the Hobo team to blog a bit more about various features and use-cases instead of putting the focus on documentation and new releases with new features.

A good way to come down from the tower would be to tell you a little about the “Hobo team”. Um. There isn’t one. It’s just me. Well, there’s one other guy deeply involved - my good friend Nigel Powell. He’s chief evangelist, cheerleader and fellow Hobo visionary. Nigel has contributed a lot to the vision for Hobo (Oh, and he came up with the name BTW). Nigel shows up on the blog as Red, which is his nickname from his blog The Red Ferret Journal (which is a fun read if you’re into tech trivia). So when I say there is no team, I don’t mean to disregard all that Nigel has done for the project, but Nigel is not a coder. So the stuff you guys are really interested in – Hobo itself, documentation – there is no team for all that. Just me, and of course – you!

OK, that’s who we are, now a bit about what we’re doing with Hobo. Hobo was ‘extracted’ from an app I was building, much as Rails was extracted from Basecamp. I was just doing what programmers do - trying to keep the abstraction level in my app very high so I didn’t have to repeat myself, and could take a very agile approach to evolving the app. OK DRYML was a bit of an indulgence, but I’d built something similar before a couple of times (in Perl, circa 1994, and later in Python), and I was able to knock up a working prototype in a couple of days. When DRYML was working I looked at what I had, and thought hey, this is cool, I could release this. I showed what I had to Nigel, and he pounced on it.

Things started to move pretty quickly from there, and as our enthusiasm grew we decided to form HoboTech Ltd. A web-development / consulting firm that uses Hobo as its not-so-secret weapon. We’re just nearing the completion of our first major project and are very happy about the fact that the use of Hobo has been an enormous success.

So that’s what we’re doing - commercial Rails development projects, taking advantage of Hobo, and effectively funding the development of Hobo at the same time. It’s kind of fascinating how this approach is so much better than seeking venture funding. Having to deal with the idiosyncrasies of clients’ projects sometimes feels like a pain, but it keeps Hobo real.

Of course it can be frustrating that I don’t have all the time I’d like to throw into pure Hobo, and it’s inevitable that doesn’t-pay-the-bills work like documenting Hobo is the first to suffer. But overall, this real-world work is making Hobo way better than it otherwise would be. Agreed, good code with bad docs is frustrating, but good docs for bad code is just plain useless.

That’s all well and good, but what about Hobo? What’s going on with the 0.5 release, I hear you ask? The reason for the hold-up is that we’ve decided to do a kind of a second launch. We launched Hobo with a screencast that gave just a glimpse of what Hobo does, a fairly buggy codebase, and a web-site that was broken in the world’s dominant browser. And then, to our total amazement, we had 20,000 visits in January. We’d like to do it again properly. Hobo has now been used in a production quality app other than the app it was spun out of, which is a hugely important milestone. We have two new screencasts, and together the three do a vastly better job of showing what Hobo is about. We have a “mini manual” nearing completion, which though compact should be very useful. And we’ve nearly finished the shiny new web-site. To be honest, in terms of the codebase, Hobo 0.5 won’t be that far from Hobo 0.4.3, but there is one new feature in there that I’m really excited about (which I’ll tell you all about in a post soon).

We honestly thought all this would be done weeks ago, but we got busy with HoboTech work, and some easy things turned out not to be (gasp!).

But enough is enough - all these things will land on the Interwebs no later than this Wednesday 14th (that’s GMT BTW - just in case it goes to the wire!)

Hopefully this post has set the tone for a more open and conversational future. I have some very interesting ideas that I haven’t even begun to implement yet, and I think now I’ll blog about them first, to see what people think. And I promise to post more often!

Oh and one last thing - can I just state the obvious and remind everyone that if you are trying to use Hobo, you are trying to use an early beta. If that’s what you want to do, I am stupendously grateful to you, but please expect the documentation to be lamentable! Please expect the ride to be bumpy! I will try very hard to make things smoother for you. It will take a little time! Hopefully we’ll do it together.